\documentclass[pdf,contemporain,slideColor,nocolorBG,contemporain]{prosper}

\usepackage[latin1]{inputenc}
%\usepackage{pstricks,pst-node,pst-text,pst-3d}
\usepackage{pstricks,pst-node,pst-text}
\usepackage{amsmath}
\usepackage{isolatin1}
\newcommand{\fd}{\ensuremath{\mathcal{FD}}}
\newcommand{\clpfd}{CLP(\fd)}


%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


% Formatting names of specific message passing terminology
\newcommand{\ok}{\emph{ok? }}
\newcommand{\nogood}{\emph{nogood }}
\newcommand{\view}{{\em agent view }}
\newcommand{\btrack}{\emph{backtracking }}
\newcommand{\ack}{\emph{ack }}
\newcommand{\marker}{\emph{marker }}
\newcommand{\pended}{\emph{prop\_ended }}
\newcommand{\blab}{\emph{labeling }}
\newcommand{\btk}{\emph{backtrack }}
\newcommand{\rtd}{\emph{reset\_term }}
\newcommand{\harvest}{\emph{harvest }}
\newcommand{\collect}{\emph{collect }}
\newcommand{\flush}{\emph{flush }}

\newcommand{\program}[1]{
  \begin{tt}
    \begin{tabbing}
      12\=1234\=1234\=1234\=1234\=1234\=1234\=1234\=1234\= \kill
      #1
    \end{tabbing}
  \end{tt}
  }

\newcommand{\progcent}[2]{
  \linespread{1.1}
  \begin{center}
%    \fbox{
      \begin{minipage}{#1}
        \tt
        \ 
        \program{
          #2
          }
        \vspace{1ex}
      \end{minipage}
%      }
  \end{center}
  \linespread{1.6}
  }

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% slide 1
%\title{\black New additions to Fuzzy Prolog \\
%              and its semantics}
\title{\blue Fuzzy Prolog}
 \author{Susana Mu\~{n}oz-Hern\'{a}ndez }
%% \\
%%          Claudio Vaucheret \\
%%          Sergio Guadarrama
%%          }

\institution{ 
Facultad de Inform\'{a}tica  \\ 
Universidad Polit\'{e}cnica de  Madrid \\ 
28660 Madrid, Spain \\ \  \ \\
susana@fi.upm.es  
 }

\begin{document}

\maketitle
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Overview}
    \begin{itemize}
       \item[$\bullet$] Basics

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Introduction
           \item[$-$] Description
           \item[$-$] Implementation
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Extensions

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Incompleteness
           \item[$-$] Constructive negative Queries
           \item[$-$] Discrete Fuzzy Sets
           \item[$-$] Collaborative Fuzzy Agents
           \item[$-$] Fuzzy Rules with Credibility: RFuzzy
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Work proposals
    \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Overview}
    \begin{itemize}
       \item[$\bullet$] Basics

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] {\blue\small Introduction}
           \item[$-$] Description
           \item[$-$] Implementation
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Extensions

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Incompleteness
           \item[$-$] Constructive negative Queries
           \item[$-$] Discrete Fuzzy Sets
           \item[$-$] Collaborative Fuzzy Agents
           \item[$-$] Fuzzy Rules with Credibility: RFuzzy
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Work proposals
    \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Modeling Real World}
     \begin{itemize}
        \item[{\blue $\bullet$}] Knowledge:
              \begin{itemize}
                \item[$-$] Uncertainty
                \item[$-$] Probability
                \item[$-$] Fuzziness 
                \item[$-$] Incompleteness
                \item[$-$] Distributed knowledge
              \end{itemize}
        \item[{\blue $\bullet$}] Reasoning:
              \begin{itemize}
                \item[$-$] Logic
              \end{itemize}
     \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Uncertainty-Probability-Fuzziness}
  \begin{figure}
          \begin{center}
                  \includegraphics[totalheight=3cm]{figs/box.eps}
         \end{center}
  \end{figure}    
              \begin{itemize}
                \item[{\blue $\bullet$}] If we through the cube... which value
                will appear at the top?
              \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Uncertainty}
  
  \begin{figure}
          \begin{center}
                  \includegraphics[totalheight=3cm]{figs/box.eps}
                  \hspace{1cm}
                  \includegraphics[totalheight=3cm]{figs/values_box.eps}
         \end{center}
  \end{figure}    

 
$$ X=1 \vee X=2 \vee X=3 \vee X=4 \vee X=5 \vee X=6 $$      
       
 
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Uncertainty-Probability-Fuzziness}
  \begin{figure}
          \begin{center}
                  \includegraphics[totalheight=3cm]{figs/box3?.eps}
         \end{center}
  \end{figure}    
              \begin{itemize}
                \item[{\blue $\bullet$}] If we through the cube... is it
                probable to obtain  3 at the top?
              \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Probability}
\begin{figure}
          \begin{center}
                  \includegraphics[totalheight=3cm]{figs/box3?.eps}
                  \hspace{1cm}
                  \includegraphics[totalheight=3cm]{figs/probability.eps}
         \end{center}
\end{figure}    
$$ Pr(X=3) = 1/6 = 0.16 $$      

\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Uncertainty-Probability-Fuzziness}
  \begin{figure}
          \begin{center}
                  \includegraphics[totalheight=3cm]{figs/box3.eps}
         \end{center}
  \end{figure}    
              \begin{itemize}
              \item[{\blue $\bullet$}] If we obtain 3 at the top... is it a
                small value?
              \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Fuzziness}
\begin{figure} 
          \begin{center}
                  \includegraphics[totalheight=3cm]{figs/box3.eps}
                  \hspace{1cm}
                  \includegraphics[totalheight=3cm]{figs/small_discrete.eps}
         \end{center}
\end{figure}    
$$ small(X=3) = 0.6 $$      
          \begin{center}
 Value 3 is slightly small
         \end{center}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Fuzziness level: Example}
\vspace{2cm}
          \begin{center}
Let's define the concept of youth
         \end{center}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% \begin{slide}{Truth value (Uncertainty level)}
%%  \vspace{-0.4cm}
%%  \begin{figure}
%%          \begin{center}
%%                  \includegraphics[totalheight=3cm]{figs/fig5_young.ps}
%%                  \includegraphics[totalheight=3cm]{figs/fig6_young.ps} 
%%          \end{center}
%%  \end{figure}
%%  \vspace{-0.3cm}
%%  \begin{figure}
%%          \begin{center}
%%                  \includegraphics[totalheight=3cm]{figs/fig7_young.ps} 
%%                  \includegraphics[totalheight=3cm]{figs/fig8_young.ps} 
%%          \end{center}
%%  \end{figure} 
%% \end{slide}

\overlays{4}{%
\begin{slide}{Fuzziness level}
 \vspace{-0.4cm}
 \begin{figure}
         \begin{center}
                 \includegraphics[totalheight=3cm]{figs/fig5_young.ps}
\FromSlide{2}{%
                 \includegraphics[totalheight=3cm]{figs/fig6_young.ps}  }
         \end{center}
 \end{figure}
 \vspace{-0.3cm}
 \begin{figure}
         \begin{center}
\FromSlide{3}{%
                 \includegraphics[totalheight=3cm]{figs/fig7_young.ps}   }
\onlySlide{4}{%
                 \includegraphics[totalheight=3cm]{figs/fig8_young.ps}   }
         \end{center}
 \end{figure} 
\end{slide}
} %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Truth value (Fuzziness level)}
 %\vspace{-0.4cm}
The value of youth of a 42 years-old man 
 \begin{itemize}
   \item[$\bullet$]{\blue $ V = 0$} \\
$ $
   \item[$\bullet$]{\blue $ V = 0.5$} \\
$ $
   \item[$\bullet$]{\blue $ V \in [ 0.2, 0.6 ]$} \\ 
$ $
   \item[$\bullet$]{\blue $ V \in [ 0.2, 0.5 ] \bigcup [ 0.8, 1 ]$} \\ 
$ $

 \end{itemize}
\end{slide} 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\begin{slide}{Truth value (Fuzziness level)}
 %\vspace{-0.4cm}
The value of youth of a 42 years-old man 
 \begin{itemize}
   \item[$\bullet$]{\blue $ V = 0$} \\
$ (V = 0)$
   \item[$\bullet$]{\blue $ V = 0.5$} \\
$ (V = 0.5)$
   \item[$\bullet$]{\blue $ V \in [ 0.2, 0.6 ]$} \\ 
$ (0.2 \leq V  \wedge V \leq 0.6)$
   \item[$\bullet$]{\blue $ V \in [ 0.2, 0.5 ] \bigcup [ 0.8, 1 ]$} \\ 
$ (0.2 \leq V  \wedge V \leq 0.5) \vee (0.8 \leq V \wedge V \leq 1) $

 \end{itemize}
\end{slide} 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\overlays{2}{%%
\begin{slide}{Fuzziness - Uncertainty}
 \begin{small}
\begin{itemize}
                    \item[{\blue $\bullet$}] New Laptop is a branch of computers
          with two laptop models (VZX and VZY). One model is very slow
          and the other one is very fast. 
 
         \begin{minipage}{1.9in}
               \begin{figure}
                 \includegraphics[totalheight=2.5cm]{figs/laptop.eps}
               \end{figure}
         \end{minipage}
         \begin{minipage}{2in}
               \begin{itemize}
                    \item[{$-$}] VZX speed $[0.02, 0.08]$
                    \item[{$-$}] VZY speed $[0.75, 0.90]$
               \end{itemize} 
         \end{minipage} 
\onlySlide{2}{% 
        \item[{\blue $\bullet$}] If a client buys a New
          Laptop computer, the truth value, $V$, of its speed will be     
          {\blue [0.02, 0.08] $\bigcup$ [0.75, 0.90]} 
$ ~~~(0.02 \leq V  \wedge V \leq 0.08) \vee (0.75 \leq V \wedge V \leq 0.90) $
 }%
       \end{itemize}
 \end{small}
\end{slide}
}%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\begin{slide}{Modeling Real World}
     \begin{itemize}
        \item[{\blue $\bullet$}] Knowledge:\\
          {\blue Constraints}  $\leftarrow$  
         $\begin{cases}
          \begin{array}{l}
             
                 Uncertainty \\
                 Probability \\
                 Fuzziness \\
                 Incompleteness \\
                 Distributed~ knowledge \\
             
           \end{array}
           \end{cases}$ 
            
        \item[{\blue $\bullet$}] Reasoning: \\ 
\vspace{0.4cm}
            {\blue Prolog} $~~~~~~~\leftarrow~~~~$ $Logic$

     \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% \begin{slide}{Prolog}
%% \begin{tiny}
%% \begin{minipage}{2in}
%% \begin{verbatim}
%% [A] p(1,2).
%% [B] p(X,Y):- q(X),r(X,Y).

%% [C] q(3).

%% [D] r(Z,Z).
%% [E] r(X,Y):- v(X).

%% [F] v(0).

%% \end{verbatim}
%% \end{minipage}
%% \begin{minipage}{2.3in}
%% \begin{blue}
%% \begin{verbatim}
%% ?- p(X,Y).         ?- p(1,2).
%% X=1, Y=2 ?;        yes
%% X=3, Y=3 ?;
%% no                 ?- p(0,0).
%%                    no

%% \end{verbatim}
%% \end{blue}
%%  \begin{figure}
%%          \begin{center}
%%                  \includegraphics[width=\textwidth]{figs/tree.eps}
%%          \end{center}
%%  \end{figure} 
%% \end{minipage}

%% \end{tiny}
%% \end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Fuzzy Prolog}
%\vspace{0.4cm}
     \begin{itemize}
        \item[{\blue $\bullet$}] Existing Fuzzy Prolog systems:
              \begin{itemize}
                \item[$\bullet$] Prolog-Elf 
                \item[$\bullet$] Fril Prolog
                \item[$\bullet$] f-Prolog 
              \end{itemize}
        \item[{\blue $\bullet$}] Our Fuzzy Prolog approach:
              \begin{itemize}
                \item[$\bullet$] Truth Value (union of sub-intervals) $\mathcal{B}([0,1])$
                \item[$\bullet$] Aggregation operators (min, max, luka, ...)
                \item[$\bullet$] CLP(${\cal R}$) based implementation
  %              \item[$\bullet$] Uses Ciao Prolog extensibility capabilities
              \end{itemize}
     \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Overview}
    \begin{itemize}
       \item[$\bullet$] Basics

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Introduction
           \item[$-$] {\blue\small Description}
           \item[$-$] Implementation
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Extensions

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Incompleteness
           \item[$-$] Constructive negative Queries
           \item[$-$] Discrete Fuzzy Sets
           \item[$-$] Collaborative Fuzzy Agents
           \item[$-$] Fuzzy Rules with Credibility: RFuzzy
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Work proposals
    \end{itemize}
\end{slide}   
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Syntax}

\vspace{-0.3cm}
 \begin{small} 
        \begin{enumerate} 

                \item[{\blue $\bullet$}] If $A$ is an atom, {\blue $A \leftarrow v$} is a
{\blue \emph{fuzzy fact}}, where $v$, a truth value, is an element in
$\mathcal{B}([0,1])$ expressed as constraints over the domain $[0,1]$.

                \item[{\blue $\bullet$}] Let $A,B_1,\ldots,B_n$ be atoms. A {\blue \emph{fuzzy
clause}} is a clause of the form {\blue $A~v \leftarrow_F B_1~v_1,\ldots,B_n~v_n$}
where $F$ is an \emph{aggregation operator} of truth values
represented as constraints over the domain $[0,1]$. The interval-aggregation induces a union-aggregation.

                \item[{\blue $\bullet$}] A {\blue \emph{fuzzy query}} is a tuple {\blue $v \leftarrow A
~?$} where $A$ is an atom, and $v$ is a variable (possibly
instantiated) that represents a truth value in $\mathcal{B}([0,1])$.
        
        \end{enumerate}
 \end{small}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\overlays{2}{%
\begin{slide}{Aggregation Operators}
\vspace{0.5cm} 
\begin{small} 
        \begin{enumerate} 

                \item[{\blue $\bullet$}] A function $f: [0,1]^n
  \to [0,1]$ that verifies $f(0,\ldots,0) = 0$, $f(1,\ldots,1) =
  1$, and in addition it is monotonic and continuous, then it is
  called {\blue \texttt{aggregation operator}}
\onlySlide{2}{%
                \item[{\blue $\bullet$}] Given an aggregation $f: [0,1]^n \rightarrow [0,1]$ an  {\blue \texttt{interval-aggregation}} $F: \mathcal{E}([0,1])^n \rightarrow \mathcal{E}([0,1])$ is defined as follows: \[ F([x^l_1,x^u_1],...,[x^l_n,x^u_n]) =
[f(x^l_1,...,x^l_n),f(x^u_1,...,x^u_n)]\]
}
        \end{enumerate}
 \end{small}
\end{slide}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Union Aggregation}
\vspace{1.5cm} 

 \begin{small} 
        \begin{enumerate} 

 
                \item[{\blue $\bullet$}] Given an interval-aggregation $F:\mathcal{E}([0,1])^n
\rightarrow \mathcal{E}([0,1])$ defined over intervals, a
 {\blue \texttt{union-aggregation}} $\mathcal{F}: \mathcal{B}([0,1])^n
\rightarrow \mathcal{B}([0,1])$ is defined over union of intervals as
follows:
\[ \mathcal{F}(B_1,\ldots,B_n) = \cup \{
F(\mathcal{E}_1,...,\mathcal{E}_n) ~|~ \mathcal{E}_i \in B_i \} \]

        \end{enumerate}
 \end{small}
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Interpretation}
 
\begin{small}

%\begin{definition}[interpretation]
An \emph{\blue interpretation} $I$ consists of the following:
 \begin{enumerate}
        \item a subset {\blue $B_I$} of the \emph{Herbrand Base},
        \item a mapping {\blue $V_I$}, to assign a truth value, in
        $\mathcal{B}([0,1])$, to each element of $B_I$.
 \end{enumerate}
%\end{definition}
 
 The {\blue Borel Algebra} $\mathcal{B}([0,1])$ is a complete lattice
 under {\blue $\subseteq_{BI}$}, that denotes {\blue Borel inclusion},
 and the {\blue Herbrand Base} is a complete lattice under {\blue
   $\subseteq$}, that denotes {\blue set inclusion}, therefore a {\blue set
 of all \emph{interpretations}} forms a complete lattice under the
 relation {\blue $\sqsubseteq$} defined as follows.

 \end{small}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Interval Inclusion}
%\vspace{-0.3cm}

Def:[{\blue interval inclusion} $\subseteq_{II}$]
  Given two intervals $I_1 = [a,b]$, $I_2 = [c,d]$ in
  $\mathcal{E}([0,1])$, {\blue $I_1 \subseteq_{II} I_2$} iff $c
  \leq a$ and $b \leq d$.

\vspace{0.8cm}

 \begin{figure}
         \begin{center}
                 \includegraphics[width=\textwidth]{figs/interval_inclusion.eps}
         \end{center}
 \end{figure} 
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Borel Inclusion}
%\vspace{-0.3cm}

Def:[{\blue Borel inclusion} $\subseteq_{BI}$]
  Given two unions of intervals $U = I_1 \cup \dots \cup I_N$, $U' =
  I_1' \cup \dots \cup I_M'$ in $\mathcal{B}([0,1])$, {\blue $U \subseteq_{BI}
  U'$} if and only if $\forall x \in I_i$,  $i \in {1..N}$,
  $\exists I_j' \in U' ~.~ x \in I_j'$ where $j \in {1..M}$.

  %$\exists I_j' \in U' ~.~ I_i
  %\subseteq_{II} I_j'$ 
  %$\exists I_{i1},...,I_{iL}$ intervals such that $I_{i1} \cup ... \cup I_{iL}
  %= I_i, ~I_{i1} \cap ... \cap I_{iL}=\emptyset$ and for all $k \in {1..L},~
  %\exists I_{jk}' \in U' ~.~ I_{ik} \subseteq_{II} I_{jk}'$ 
  %where $jk \in {1..M}$.
\vspace{0.5cm}
 \begin{figure}
         \begin{center}
                 \includegraphics[width=\textwidth]{figs/union_inclusion.eps}
         \end{center}
 \end{figure} 

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Interpretation Inclusion - Valuation}

\vspace{0.5cm}

%\begin{definition}[interpretation inclusion $\sqsubseteq$]
Def:[{\blue interpretation inclusion} $\sqsubseteq$]
  {\blue $I \sqsubseteq I'$} iff $B_I \subseteq B_{I'}$ and for all
  $B \in B_I$, $V_I(B) \subseteq_{BI} V_{I'}(B)$, where $I = \langle
  B_I,V_I \rangle$, $I' = \langle B_{I'},V_{I'} \rangle$ are
  interpretations.
%\end{definition}

\vspace{1cm}
 
%\begin{definition}[valuation]
Def:[{\blue valuation}]
  A \emph{valuation} {\blue $\sigma$} of an atom $A$ is an assignment of
  elements of $U$ to variables of $A$. So $\sigma(A) \in B$ is a
  ground atom.
%\end{definition}

% \end{small}


\end{slide}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Model}
\vspace{-0.3cm}
\begin{small}

%\begin{definition}[model]
Def: [{\blue model}]
  Given an \emph{\blue interpretation} $I = \langle B_I,V_I \rangle$
  \begin{itemize}
        \item [{\blue $\bullet$}] $I$ is a \emph{model} for a \emph{\blue fuzzy fact} $A
        \leftarrow v$, if for all valuation $\sigma$, $\sigma(A) \in B_I \mbox{ and } v \subseteq_{BI} V_I(\sigma(A))$.
        \item  [{\blue $\bullet$}] I is a \emph{model} for a \emph{\blue clause}  $A \leftarrow_F B_1,\ldots,B_n$ when the
following holds:

for all valuation $\sigma$, if $\sigma(B_i) \in B_I$, $1 \leq i
\leq n$, and $v =
\mathcal{F}(V_I(\sigma(B_1)),\ldots,V_I(\sigma(B_n)))$ then $\sigma(A)
\in B_I$ and $v \subseteq_{BI} V_I(\sigma(A))$, where
$\mathcal{F}$ is the union aggregation obtained from $F$.
\item [{\blue $\bullet$}] $I$ is a \emph{model} of a \emph{\blue fuzzy program}, if it is a
  \emph{model} for the facts and clauses of the program.
  \end{itemize}
%\end{definition}
\end{small}

\end{slide}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Semantics Equivalence}
\vspace{0.8cm}
        Given a program $P$, the three semantics:
        \begin{enumerate} 

                \item {\blue Least model} $lm(P)$, under the
                $\sqsubseteq$ ordering.

                \item {\blue Declarative meaning} $lfp(T_P)$, least
                fixpoint for a consequence operator $T_P(I)$.

                \item {\blue Success set} $SS(P)$ of a transitional
                system.

        \end{enumerate}
        are equivalent: $SS(P) = lfp(T_P) = lm(P)$.
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Operational Semantics}
%\vspace{1 cm}

\begin{itemize}
  
        \item[{\blue $\bullet$}] A sequence of transitions between different
          states of a system
        \item[{\blue $\bullet$}] State: {\blue $\langle Goal,~ Valuation, ~Constraint
        \rangle$ }
        \item[{\blue $\bullet$}] Initial State: $\langle A, \emptyset, true \rangle$
        \item[{\blue $\bullet$}] Final State: $\langle \emptyset, \sigma, S \rangle$

\end{itemize}
Examples: \\
\begin{small}
$\langle p(X,Y), \emptyset, true \rangle$,~ ...~,~$\langle \emptyset,\{ X=3,Y=3 \}, true \rangle$\\
$\langle bachelor(S,M), \emptyset, true \rangle$,~ ...~,~$\langle
\emptyset,\{ S=completed \}, M \geq 5 \rangle$
\end{small}
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Operational Semantics}

\vspace{-0.3 cm}
\begin{small}
A \emph{\blue transition} in the \emph{transition system}
is defined as:
\begin{enumerate}

\item  $\langle A \cup a,\sigma,S \rangle \rightarrow \langle
A\theta,\sigma \cdot \theta,S \wedge \mu_a =  v \rangle$

if {\blue $h \leftarrow v$} is a fact of the program $P$, $\theta$ is the mgu
of $a$ and $h$, and $\mu_a$ is the truth variable for $a$, and
$solvable(S \wedge \mu_a = v )$. ({\tiny $solvable(c)$ $\equiv$ $c$ has solution in $[0,1]$ of ${\cal R}$ })

\item $\langle A \cup a,\sigma,S \rangle \rightarrow \langle
(A \cup B)\theta,\sigma \cdot \theta,S \wedge c \rangle$

if {\blue $h \leftarrow_F B$} is a rule of the program $P$, $\theta$ is the
mgu of $a$ and $h$, $c$ is the constraint that represents the truth
value obtained applying the union-aggregator $F$ on the truth variables of
$B$, and $solvable(S \wedge c)$.

\item $\langle A \cup a,\sigma,S \rangle \rightarrow {\blue fail}$ if
  none of the above are applicable.
\end{enumerate}
\end{small}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Overview}
    \begin{itemize}
       \item[$\bullet$] Basics

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Introduction
           \item[$-$] Description
           \item[$-$] {\blue\small Implementation}
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Extensions

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Incompleteness
           \item[$-$] Constructive negative Queries
           \item[$-$] Discrete Fuzzy Sets
           \item[$-$] Collaborative Fuzzy Agents
           \item[$-$] Fuzzy Rules with Credibility: RFuzzy
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Work proposals
    \end{itemize}
\end{slide}   
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Fuzzy Programs Syntax}
%\vspace{1cm}
\begin{small}
\begin{minipage}{2.5in}
\begin{verbatim} 


tall(john,V):~
   [0.8,0.9].
tall(john,[0.8,0.9]):~.


f_digit :# 
   fuzzy digit/1.
\end{verbatim}
\end{minipage}
\begin{minipage}{1.7in}
\begin{verbatim} 


good_player(X,V):~min 
   tall(X,Vt),
   swift(X,Vs). 


not_small :# 
   fnot  small/2.
\end{verbatim} 
\end{minipage}
\end{small}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Fuzzy $\rightarrow$ CLP(${\cal R}$) Translation}
\vspace{0.5cm}
\begin{small}

\begin{minipage}{2.5in}
\begin{verbatim}
good_player(X,V):~min 
   tall(X,Vt),
   swift(X,Vs). 

\end{verbatim}

{\blue 
\begin{verbatim}
good_player(X,V) :- 
   tall(X,Vt),
   swift(X,Vs),
   minim([Vt,Vs],V),
   V.>=.0, V.=<.1.
\end{verbatim} }
\end{minipage}
\begin{minipage}{1.5in}
\begin{verbatim}
not_small :# 
   fnot  small/2.


\end{verbatim}

{\blue
\begin{verbatim}
not_small(X,V) :-
   small(X,Vs),
   V .=. 1 - Vs.


\end{verbatim}}
\end{minipage}

\end{small}

\end{slide}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Syntactic Sugar}


          \begin{minipage}[t]{1.5in}
 \setlength{\unitlength}{1500sp}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined%
\gdef\SetFigFont#1#2#3#4#5{%
  \reset@font\fontsize{#1}{#1pt}%
  \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
  \selectfont}%
\fi\endgroup%
\begin{picture}(6012,3387)(2101,-3586)
\thinlines
\put(2401,-3286){\vector( 0, 1){3075}}
\put(2401,-3286){\vector( 1, 0){5700}}
\put(2401,-661){\line(-1, 0){ 75}}
\put(3001,-3286){\line( 0,-1){ 75}}
\put(3601,-3286){\line( 0,-1){ 75}}
\put(4201,-3286){\line( 0,-1){ 75}}
\put(4801,-3286){\line( 0,-1){ 75}}
\put(6001,-3286){\line( 0,-1){ 75}}
\put(5401,-3286){\line( 0,-1){ 75}}
\thicklines
{\red \put(2401,-661){\line( 1, 0){2100}}
\put(4501,-661){\line( 1,-4){652.941}}
\put(5101,-3286){\line( 1, 0){2625}} }
\thinlines
\put(2401,-1936){\line(-1, 0){ 75}}
\put(2001,-836){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{\rmdefault}{\mddefault}{\updefault}1}}}
\put(2001,-3386){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{\rmdefault}{\mddefault}{\updefault}0}}}
\put(2826,-3686){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12}{\rmdefault}{\mddefault}{\updefault}10}}}
\put(4026,-3686){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12}{\rmdefault}{\mddefault}{\updefault}30}}}
\put(5226,-3686){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12}{\rmdefault}{\mddefault}{\updefault}50}}}
\end{picture}
          \end{minipage} 
\begin{small}
          \begin{minipage}[b]{2in}
\begin{verbatim}
  young :# 
    fuzzy_predicate([(0,1),
                    (35,1),
                    (45,0),
                    (90,0)]).
\end{verbatim}
          \end{minipage}

\vspace{1cm}

{\blue
      
\begin{minipage}[b]{1.4in}
 \begin{verbatim}
young(X,1):-    
  X .>=. 0,
  X .<. 35.

 \end{verbatim}
\end{minipage}
\begin{minipage}[b]{1.5in}
 \begin{verbatim}
young(X,V):-    
   X .>=. 35,
   X .<. 45,
   10*V.=.45-X.
 \end{verbatim}
\end{minipage}
\begin{minipage}[b]{1.3in}
 \begin{verbatim}
young(X,0):-   
   X .>=. 45,
   X .=<. 120.

 \end{verbatim}
\end{minipage}
} % of \blue
\end{small}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Initial Evaluation}
\vspace{0.5cm}
        \begin{itemize}
                \item[{\blue $\bullet$}] Implementation over CLP(${\cal R}$): {\blue SIMPLICITY}
                \item[{\blue $\bullet$}] Aggregation operator: {\blue GENERALITY}
                \item[{\blue $\bullet$}] Def{in}ition of new operators: {\blue FLEXIBILITY}
                \item[{\blue $\bullet$}] Using Prolog resolution: {\blue EFFICIENCY}
        \end{itemize}
\vspace{0.5cm}
Available implementation:
\begin{center}
{\blue http://clip.dia.fi.upm.es/Software/Ciao/}
\end{center} 
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Overview}
    \begin{itemize}
       \item[$\bullet$] Basics

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Introduction
           \item[$-$] Description
           \item[$-$] Implementation
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Extensions

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] {\blue\small Incompleteness}
           \item[$-$] Constructive negative Queries
           \item[$-$] Discrete Fuzzy Sets
           \item[$-$] Collaborative Fuzzy Agents
           \item[$-$] Fuzzy Rules with Credibility: RFuzzy
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Work proposals
    \end{itemize}
\end{slide} 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Combining Crisp and Fuzzy Logic}
\begin{tiny}
\begin{minipage}{2.5in}
\vspace{-7cm}
\begin{verbatim}
student(john).  
student(peter).

------------------------------------

age_about_15(john,1):~. 
age_about_15(susan,0.7):~.
age_about_15(nick,0):~.

------------------------------------

teenager_student(X,V):~ 
        student(X),        % CRISP
        age_about_15(X,Va).% FUZZY
\end{verbatim}
\end{minipage}
\begin{minipage}[b]{1.4in}
{\blue 
\vspace{-0.4cm}
\begin{verbatim}
?- student(john).
yes
?- student(nick).
\end{verbatim} }
{\red 
\begin{verbatim}
no          FALSE
\end{verbatim}}
{\blue \begin{verbatim}
?- age_about_15(john,V).
V = 1
?- age_about_15(nick,V).
V = 0 
?- age_about_15(peter,V).
\end{verbatim} }
{\red 
\begin{verbatim}
no          UNKNOWN
\end{verbatim}}
{\blue \begin{verbatim}
?- teenager_student(john,V).
V .=. 1
?- teenager_student(susan,V).
V .=. 0
?- teenager_student(peter,V).
\end{verbatim} }
{\red 
\begin{verbatim}
no          UNKNOWN
\end{verbatim}
}
\end{minipage}

\end{tiny}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Solution: Default Knowledge}
\begin{tiny}
\begin{minipage}{2.5in}
\vspace{-7cm}
\begin{verbatim}

student(john).  
student(peter).
\end{verbatim}
{\blue
\begin{verbatim}
:-default(f_student/2,0).
\end{verbatim} }
\begin{verbatim}
f_student(X,1):-
         student(X).
------------------------------------
\end{verbatim}
{\blue
\begin{verbatim}
:-default(age_about_15/2,[0,1]).
\end{verbatim} }
\begin{verbatim}
age_about_15(john,1):~. 
age_about_15(susan,0.7):~.
age_about_15(nick,0):~.
------------------------------------
\end{verbatim}
{\blue
\begin{verbatim}
:-default(teenager_student/2,[0,1]).
\end{verbatim} }
\begin{verbatim}
teenager_student(X,V):~ 
        f_student(X,Vs),     
        age_about_15(X,Va).
\end{verbatim}
\end{minipage}
\begin{minipage}[b]{1.4in}
{\blue 
\vspace{-0.4cm}
\begin{verbatim}
?- f_student(john,V).
V = 1
?- f_student(nick,V).
\end{verbatim} }
{\red 
\begin{verbatim}
V = 0           FALSE
\end{verbatim}}
{\blue \begin{verbatim}
?- age_about_15(john,V).
V = 1
?- age_about_15(nick,V).
V = 0 
?- age_about_15(peter,V).
\end{verbatim} }
{\red 
\begin{verbatim}
V .>=. 0, V .<=. 1    UNKNOWN
\end{verbatim}}
{\blue \begin{verbatim}
?- teenager_student(john,V).
V .=. 1
?- teenager_student(susan,V).
V .=. 0
?- teenager_student(peter,V).
\end{verbatim} }
{\red 
\begin{verbatim}
V .>=. 0, V .<=. 1    UNKNOWN
\end{verbatim}
}
\end{minipage}

\end{tiny}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Default Value}

We assume there is a function \emph{\blue default} which implement the Default
  Knowledge Assumptions. It assigns an element of $\mathcal{B}([0,1])$
  to each element of the Herbrand Base.  


 \begin{itemize}
     \item [{\blue $\bullet$}] If the {\blue Closed World Assumption}
  is used, then $default(A) = [0,0]$ for all $A$ in Herbrand Base.
     \item  [{\blue $\bullet$}]If
  {\blue Open World Assumption} is used instead, $default(A) = [0,1]$ for all
  $A$ in Herbrand Base.
 \end{itemize}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Interpretation}
\vspace{0.5cm}

An \emph{\blue interpretation} $I$ consists of the following:
 \begin{enumerate}
        \item a subset $B_I$ of the \emph{Herbrand Base},
        \item a mapping $V_I$, to assign 
          \begin{enumerate}
             \item a truth value, in
        $\mathcal{B}([0,1])$, to each element of $B_I$, or
             \item $default(A)$, if $A$ does not belong to $B_I$.
          \end{enumerate}
 \end{enumerate}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\overlays{2}{%
\begin{slide}{Operational Semantics}

%\vspace{-0.3 cm}
\begin{small}
A \emph{\blue transition} in the \emph{transition system}
is defined as:
\begin{enumerate}

\item  $\langle A \cup a,\sigma,S \rangle \rightarrow \langle
A\theta,\sigma \cdot \theta,S \wedge \mu_a =  v \rangle$

if {\blue $h \leftarrow v$} is a fact of the program $P$, ...

\item $\langle A \cup a,\sigma,S \rangle \rightarrow \langle
(A \cup B)\theta,\sigma \cdot \theta,S \wedge c \rangle$

if {\blue $h \leftarrow_F B$} is a rule of the program $P$, ...

\item $\langle A \cup a,\sigma,S \rangle \rightarrow {\blue fail}$ if
  none of the above are applicable.
\onlySlide{2}{%
{\red
$\langle A \cup a,\sigma,S \rangle \to \langle A,\sigma,S \land
\mu_a = v\rangle$

if {\blue none} of the above are applicable and $solvable(S \land \mu_a = v )$
where $\mu_a = default(a)$.
}
}%
\end{enumerate}
\end{small}

\end{slide}
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Example (I) - Shifts Compatibility}
 \begin{figure}
         \begin{center}
                 \includegraphics[totalheight=4.7cm]{figs/timetable1c.eps}
                 \includegraphics[totalheight=4.7cm]{figs/timetable2c.eps}
                 \includegraphics[totalheight=4.7cm]{figs/timetable3c.eps}
%                 \includegraphics[totalheight=4.7cm]{figs/timetable4c.eps}
         \end{center}
 \end{figure}
\begin{center}
Timetables of compatible shifts~~~~  \includegraphics[totalheight=0.8cm]{figs/timetablec.eps}
\end{center}
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Example (II) - Crisp and Fuzzy}
\begin{tiny}
\vspace{-0.3cm}
\begin{minipage}[b]{2in}
\begin{verbatim}
compatible(T1,T2,V):~ min  
    correct_shift(T1),
    correct_shift(T2),
    disjoint(T1,T2),
    append(T1,T2,T),
    number_of_days(T,D),
\end{verbatim}
{\blue \begin{verbatim}
    few_days(D,Vf),
\end{verbatim}}
\begin{verbatim}
    number_of_free_hours(T,H),
\end{verbatim}
{\blue \begin{verbatim}
    without_gaps(H,Vw).




\end{verbatim} }
\end{minipage}
\begin{minipage}[b]{2.2in}
        \begin{center}
\begin{figure}[ht]
                \includegraphics[totalheight=1.3in]{figs/few_days.eps}
\end{figure}
\begin{figure}[ht]
                \includegraphics[totalheight=1in]{figs/without_gaps.eps}
\end{figure}
        \end{center}
\end{minipage}
\end{tiny}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Example (III) - Default Values}
\vspace{-0.2cm}
\begin{tiny}
\begin{verbatim}
    f_correct_shift(T,1):- correct_shift(T).
 \end{verbatim}
 {\blue \begin{verbatim}
    :- default(f_correct_shift/2,[0,0]).     % CWA
 \end{verbatim} }
 \begin{verbatim}
    f_disjoint(T1,T2,1):- disjoint(T1,T2).
 \end{verbatim}
 {\blue \begin{verbatim}
    :- default(f_disjoint/3,[0,0]).          % CWA
 \end{verbatim} }
 \begin{verbatim} 
    few_days(D,V):- ...
 \end{verbatim}
 {\blue \begin{verbatim}
    :- default(few_days/2,[0.25,0.75]).      % DEFAULT
 \end{verbatim} } 
 \begin{verbatim}
    without_gaps(H,V):- ...
 \end{verbatim}
 {\blue \begin{verbatim}
    :- default(without_gaps/2,[0,1]).        % OWA
\end{verbatim}}
\end{tiny}
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Example (IV) - Constructive Answers}
\begin{small}
%\vspace{-1cm}
\begin{minipage}[b]{3.2in}
\begin{verbatim}
?- compatible(
 [(mo,9),(tu,10),(we,8),(we,9)], 
 [(mo,8),(we,11),(we,12),(D,H)], 
               V ), V .>. 0.7 .

V = 0.9,  D = we, H = 10 ? ;
V = 0.75, D = mo, H = 10 ? ;
no



\end{verbatim}
\end{minipage}
\begin{minipage}[b]{1in}
 \begin{figure}
         \begin{center}
                 \includegraphics[totalheight=6cm]{figs/timetable4c.eps}
         \end{center}
 \end{figure}

\end{minipage}
\end{small}
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% slide 15

\begin{slide}{Evaluation}
\vspace{-0.3cm}
\begin{small}
        \begin{itemize}
                \item[{\blue $\bullet$}] Representation of real problems: 
                {\blue INCOMPLETENESS}
                \item[{\blue $\bullet$}] Crisp + Fuzzy logic: {\blue
                EXPRESIVITY}
                \item[{\blue $\bullet$}] $[0,1]$ to represent total
                uncertainty ($0 \leq v \wedge v \leq 1$). Lack of information do not stop the evaluation: {\blue ACCURACY}
                \item[{\blue $\bullet$}] Provides answers: {\blue CONSTRUCTIVE}
        \end{itemize}

%\vspace{1cm} 
\end{small}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Evaluation and Further Work}
\vspace{-0.3cm}
\begin{small}
        \begin{itemize}
                \item[{\blue $\bullet$}] Representation of real problems: 
                {\blue INCOMPLETENESS}
                \item[{\blue $\bullet$}] Crisp + Fuzzy logic: {\blue
                EXPRESIVITY}
                \item[{\blue $\bullet$}] $[0,1]$ to represent total
                uncertainty ($0 \leq v \wedge v \leq 1$). Lack of information do not stop the evaluation: {\blue ACCURACY}
                \item[{\blue $\bullet$}] Provides answers: {\blue CONSTRUCTIVE}
        \end{itemize}

%\vspace{1cm} 
\end{small}
{\blue Further Work}:
\begin{small}
       \begin{itemize}
                \item[{\blue $\bullet$}] Constructive negative queries 
                \item[{\blue $\bullet$}] Discrete fuzzy sets
                \item[{\blue $\bullet$}] Applications (collaborative agents)
        \end{itemize}
\end{small}
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Overview}
    \begin{itemize}
       \item[$\bullet$] Basics

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Introduction
           \item[$-$] Description
           \item[$-$] Implementation
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Extensions

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Incompleteness
           \item[$-$] {\blue\small Constructive negative Queries}
           \item[$-$] Discrete Fuzzy Sets
           \item[$-$] Collaborative Fuzzy Agents
           \item[$-$] Fuzzy Rules with Credibility: RFuzzy
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Work proposals
    \end{itemize}
\end{slide} 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Negation in Prolog - As Failure}
\begin{tiny}
\begin{minipage}{2.5in}
\vspace{-5cm}
\begin{verbatim}

student(john).  
student(peter).
\end{verbatim}
{\blue \begin{verbatim}
------------------------------------
POSITIVE QUERIES
------------------------------------
\end{verbatim}
}
\begin{verbatim}
?- student(john).
yes
?- student(rick).
no

------------------------------------
 
?- student(X).
X = john ? ;
X = peter ? ;
no

\end{verbatim}
\end{minipage}
\begin{minipage}[b]{1.4in}
{\blue 
\begin{verbatim}


------------------------------------
NEGATIVE QUERIES
------------------------------------
\end{verbatim}
}
\begin{verbatim}
?- +\ student(john).
no
?- +\ student(rick).
yes

------------------------------------
\end{verbatim}

{\red \begin{verbatim}

?- +\ student(X). 
no
\end{verbatim} }

\end{minipage}

\end{tiny}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Negation in Prolog - Constructive}
\begin{tiny}
\begin{minipage}{2.5in}
\vspace{-6.5cm}
\begin{verbatim}

student(john).  
student(peter).
\end{verbatim}
{\blue \begin{verbatim}
------------------------------------
POSITIVE QUERIES
------------------------------------
\end{verbatim}
}
\begin{verbatim}
?- student(john).
yes
?- student(rick).
no

------------------------------------
 
?- student(X).
X = john ? ;
X = peter ? ;
no

\end{verbatim}
\end{minipage}
\begin{minipage}[b]{1.4in}
{\blue 
\begin{verbatim}


------------------------------------
NEGATIVE QUERIES
------------------------------------
\end{verbatim}
}
\begin{verbatim}
?- +\ student(john).
no
?- +\ student(rick).
yes

------------------------------------
\end{verbatim}

{\red \begin{verbatim}
?- neg(student(X)). 
X = rick ?;
X = anne ?;
X = rose ?;
...
\end{verbatim} }

\end{minipage}

\end{tiny}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Negation in Prolog - Constructive}
\begin{tiny}
\begin{minipage}{2.5in}
\vspace{-6.5cm}
\begin{verbatim}

student(john).  
student(peter).
\end{verbatim}
{\blue \begin{verbatim}
------------------------------------
POSITIVE QUERIES
------------------------------------
\end{verbatim}
}
\begin{verbatim}
?- student(john).
yes
?- student(rick).
no

------------------------------------
 
?- student(X).
X = john ? ;
X = peter ? ;
no

\end{verbatim}
\end{minipage}
\begin{minipage}[b]{1.4in}
{\blue 
\begin{verbatim}


------------------------------------
NEGATIVE QUERIES
------------------------------------
\end{verbatim}
}
\begin{verbatim}
?- +\ student(john).
no
?- +\ student(rick).
yes

------------------------------------
\end{verbatim}

{\red \begin{verbatim}
?- neg(student(X)). 
X =/= john, X =/= peter ?;
no


\end{verbatim} }

\end{minipage}

\end{tiny}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Constructive Negation}

\begin{verbatim}

?- neg(member(X,[1,2])).
\end{verbatim}{\blue
\begin{verbatim}
X =/= 1, X =/= 2 ?;
\end{verbatim} }
\begin{verbatim}
no


?- neg((X =/= 0,member(X,[1,2]))).
\end{verbatim} {\blue
\begin{verbatim}
X = 0 ?;
X =/= 0, X =/= 1, X =/= 2 ?;
\end{verbatim} }
\begin{verbatim}
no
\end{verbatim}

\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Fuzzified Crisp Predicates}
\begin{tiny}
\begin{minipage}{2.5in}
\vspace{-3.5cm}
\begin{verbatim}
student(john).  
student(peter).
------------------------------------
f1_student(X,V):-
        student(X),!,
        V .=. 1.
f1_student(X,0).
------------------------------------
\end{verbatim}
{\red \begin{verbatim}
f2_student(X,V):-
        student(X),
        V .=. 1.
f2_student(X,V):-
        neg(student(X)),
        V .=. 0.
\end{verbatim} }
\end{minipage}
\begin{minipage}[b]{1.4in}
{\blue 
%\vspace{-0.4cm}
\begin{verbatim}
?- f1_student(X,1).
X = john ? ;
X = peter ? ;
no
------------------------------------

?- f1_student(X,0).
no

------------------------------------
?- f2_student(X,0).
X =/= john, X =/= peter ? ;
no

\end{verbatim}
}
\end{minipage}

\end{tiny}

\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Example (V) - Constructive Answers}
\begin{small}
\begin{minipage}[b]{3.2in}
\begin{verbatim}
?- compatible(
    [(mo,9), (tu,10), 
     (we,8), (we,9)], 
    [(mo,8), (we,11), 
     (we,12), (D,10)], V), 
    V .>. 0 .

D =/= tu ? ;
no

\end{verbatim}
\end{minipage}
\begin{minipage}[b]{1in}
 \begin{figure}
         \begin{center}
                 \includegraphics[totalheight=6cm]{figs/timetable4c.eps}
         \end{center}
 \end{figure}

\end{minipage}
\end{small} 
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\begin{slide}{Overview}
    \begin{itemize}
       \item[$\bullet$] Basics

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Introduction
           \item[$-$] Description
           \item[$-$] Implementation
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Extensions

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Incompleteness
           \item[$-$] Constructive negative Queries
           \item[$-$] {\blue\small Discrete Fuzzy Sets}
           \item[$-$] Collaborative Fuzzy Agents
           \item[$-$] Fuzzy Rules with Credibility: RFuzzy
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Work proposals
    \end{itemize}
\end{slide} 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Borel Alg. ~ vs ~ Discrete Borel Alg.}
\vspace{0.5cm}

\begin{minipage}[b]{3in}
          \begin{figure}
            \begin{center}
                 \includegraphics[totalheight=4cm]{figs/borel.eps}
            \end{center}
          \end{figure}
\end{minipage}
\begin{minipage}[b]{1.2in}
{\tiny
  A \emph{\blue discrete-interval}  \\ 
  $[X_1,X_N]_d$ is a set of a finite number
  of values, $\{X_1,X_2,...,X_{N-1},X_N\}$, between $X_1$ and $X_N$,
  $0 \leq X_1 \leq X_N \leq 1$, such that \\ $\exists~ 0 < \epsilon < 1.~
  X_i = X_{i-1} + \epsilon,~ i \in \{2..N\}$.
}
\end{minipage}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Discrete Union Aggregation}
\vspace{1cm} 

 \begin{small} 
        \begin{enumerate} 

  \item[{\blue $\bullet$}] Given a discrete-interval-aggregation $F:\mathcal{E}_d([0,1])^n \rightarrow
\mathcal{E}_d([0,1])$ defined over discrete-intervals, a {\blue
  \texttt{discrete-union-aggregation}} $\mathcal{F}: \mathcal{B}_d([0,1])^n
\rightarrow \mathcal{B}_d([0,1])$ is defined over union of discrete-intervals
as follows: 
$$\mathcal{F}(B_1,\ldots,B_n) = \cup
\{F(\mathcal{E}_{d,1},...,\mathcal{E}_{d,n}) ~|~ \mathcal{E}_{d,i} \in B_i
\}$$

 
        \end{enumerate}
 \end{small}
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Introduction to \clpfd}
%\vspace{1cm}
\begin{small} 
 \begin{itemize}
  \item[$\bullet$] {\blue \clpfd}: (Arithmetical) constraints over Finite Domains  
   \fd: Each variable ranges over a finite set of integers
  \item[{\blue $\bullet$}] \emph{Resolution} is a combination of:
    \begin{itemize}
    \item[$-$] {\blue Propagation}: excludes problem inconsistent values from the
      range of the variables (deterministic)
    \item[$-$] {\blue Labeling}: assigns values to variables (expensive search
      process which fires more propagation)
    \end{itemize}
  \end{itemize}
\end{small}
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Introduction to \clpfd}
\vspace{1.5cm}
\begin{small} 
 \begin{itemize}
  \item[{\blue $\bullet$}]
    \begin{minipage}[t]{0.25\textwidth}
      Example: 
    \end{minipage}
    \begin{minipage}[t]{0.5\textwidth}
      \vspace*{-1.1em}
      \progcent{\textwidth}{ 
        {\tt main(X,Y,Z) :-}\\
        \>\>{\tt [X,Y,Z] in 1..5,} \\
        \>\>{\tt X-Y .=. 2*Z,}       \\
        \>\>{\tt X+Y $.\geq.$ Z,}    \\
        \>\>{\tt labeling([X,Y,Z]).}\\}
    \end{minipage}
    \vspace*{-1em}
%  \item Propagation is deterministic
%  \item Labeling is an expensive search process which fires more
%    propagation
  \end{itemize}
\end{small}
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \begin{slide}{Fuzzy $\rightarrow$ CLP(${\cal FD}$) Translation}
% \vspace{1cm}
 \begin{small}

 \begin{minipage}{2.3in}
 \begin{verbatim}

youth(45,V) ::~ 
  [0.2,0.5] v [0.8,1]    


 \end{verbatim}

 {\blue
 \begin{verbatim}
youth(45,V) :- 
  V in 2..5,
  V in 8..10. 


 \end{verbatim}}
 \end{minipage}
 \begin{minipage}{1.7in}
 \begin{verbatim}
good_player(X,V)::~min 
  tall(X,Vt),
  swift(X,Vs). 

 \end{verbatim}

 {\blue 
 \begin{verbatim}
good_player(X,V) :- 
  tall(X,Vt),
  swift(X,Vs),
  minim([Vt,Vs],V),
  V in 0..100.
 \end{verbatim} }
 \end{minipage}

 \end{small}

 \end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Overview}
    \begin{itemize}
       \item[$\bullet$] Basics

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Introduction
           \item[$-$] Description
           \item[$-$] Implementation
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Extensions

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Incompleteness
           \item[$-$] Constructive negative Queries
           \item[$-$] Discrete Fuzzy Sets
           \item[$-$] {\blue\small Collaborative Fuzzy Agents}
           \item[$-$] Fuzzy Rules with Credibility: RFuzzy
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Work proposals
    \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Constraint Satisfaction Problems (CSP)}


     \begin{figure}
        \centering
        \includegraphics[width=\textwidth]{figs/satisfaction}
      \end{figure}


\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Distributed CSP}
   \begin{figure}
        \centering
        \includegraphics[width=\textwidth]{figs/satisfaction_distributed}
      \end{figure}

\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Distributed CSP (I)}
   \begin{figure}
        \centering
        \includegraphics[width=\textwidth]{figs/distributed1}
      \end{figure}

\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Distributed CSP (II)}
   \begin{figure}
        \centering
        \includegraphics[width=\textwidth]{figs/distributed2}
      \end{figure}

\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Distributed CSP (III)}
   \begin{figure}
        \centering
        \includegraphics[width=\textwidth]{figs/distributed3}
      \end{figure}

\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Asynchronous Backtracking Algorithm (ABT)}
%\vspace{0.5cm}
\begin{small}
  \begin{itemize}
  \item[{\blue $\bullet$}] Each
    agent owns exactly one variable and asynchronously assigns a value to
    its variable and sends it to the other agents (for evaluation)
  \item[{\blue $\bullet$}] Each agent has a partial knowledge of the problem determined
    by the agents connected to it: {\blue \view }
% \item The direction of the links in the graph is determined by an
%   evaluation order previously set by the participating agents
  \item[{\blue $\bullet$}] Messages exchanged: 
    \begin{itemize}
    \item[$-$] {\blue \ok}: assignment made by the agent
    \item[$-$] {\blue \nogood}: \view which detects an inconsistency
    \item[$-$] {\blue \ack}: acknowledgement ($\equiv$ consistency)
    \end{itemize}
  \end{itemize}
\end{small}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Extended ABT (I)}
%\vspace{0.5cm}
\begin{small}
  \begin{itemize}
  \item[{\blue $\bullet$}] \clpfd ~ resolution simplifies having {\blue
      multiple variables} in each agent
  \item[{\blue $\bullet$}]  Coordination between distributed propagation and
    labeling
  \item[{\blue $\bullet$}] We use the {\blue Chandy-Lamport} algorithm for
    detecting when an agent is stable if:
      \begin{itemize}
      \item[$-$] It has no queued message
      \item[$-$] Its \view is complete (there are no messages in transit)
      \end{itemize}
 
  \end{itemize}
\end{small}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Extended ABT (II)}
\vspace{1cm}
\begin{small}
  \begin{itemize}
   \item[{\blue $\bullet$}] Distributed propagation ends when termination is
      detected (all agents are in a stable state) $\rightarrow$ obtains a
      {\blue global fixpoint} without inconsistent values
  \item[{\blue $\bullet$}] We use {\blue Dijkstra-Scholten} algorithm that
    provide a {\blue reduction} of the {\blue search} space $\rightarrow$
    minimal exchange of propagation messages: minimal spanning tree
  \end{itemize}
\end{small}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Collaborative Fuzzy Problems}
%\vspace{2cm}
  \begin{itemize}
  \item[{\blue $\bullet$}] Collaborative Fuzzy Problems can be modelled using a {\blue
      combination} of:
      \begin{itemize}
      \item[$-$] Discrete Fuzzy Prolog
      \item[$-$] An implementation of Extended ABT (for distributed reasoning)
      \end{itemize}
    \item[{\blue $\bullet$}] {\blue \clpfd} is the link between these components
    \item[{\blue $\bullet$}] This work has been implemented in {\blue Ciao} Prolog 
  \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Example (I)}
\vspace{-0.3cm}
\begin{small}
  \begin{itemize}
  \item[{\blue $\bullet$}]  Criminal identification of suspects
  \item[{\blue $\bullet$}]  Distributed knowledge about:
    \begin{tiny}
    \begin{itemize}
    \item[$-$] physical aspects ($Vp$) 
    \item[$-$] psychical aspects ($Vs$) 
    \item[$-$] evidences ($Ve$)
    \end{itemize}
    \end{tiny}
   \end{itemize}
\vspace{-0.5cm}
     \begin{figure}
        \centering
        \includegraphics[width=0.53\textwidth]{figs/cfa}
      \end{figure}
\end{small}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{slide}{Example (II)}
%\vspace{1cm}
\begin{itemize}
 \item[{\blue $\bullet$}]
   \begin{minipage}[t]{0.5\textwidth}
      {\small Discrete {\blue fuzzy} program: }
    \end{minipage}
    \begin{minipage}[t]{0.5\textwidth}
      \vspace*{-1em}
      \begin{tiny}
        \progcent{\textwidth}{ 
          {\tt suspect(Person, V) $::\sim$ inter\_m}\\
          \>\>\>{\tt allocate\_vars([Vp, Vs, Ve]),} \\
          \>\>\>{\tt physically\_suspect(Person, Vp, Vs),}       \\
          \>\>\>{\tt psychically\_suspect(Person, Vs, Vp),}    \\
          \>\>\>{\tt evidences(Person, Ve, Vp, Vs).}}
        \end{tiny}
      \end{minipage}  
  \item[{\blue $\bullet$}]
    \begin{minipage}[t]{0.8\textwidth}
      {\small Transformed {\blue \clpfd}~program: }
    \end{minipage}
    \begin{minipage}[t]{0.5\textwidth}
      \vspace*{-1em}
        \begin{tiny}
        \progcent{\textwidth}{ 
          {\tt suspect(Person, V) :-}\\
          \>\>\>{\tt allocate\_vars([Vp, Vs, Ve]),} \\
          \>\>\>{\tt V in 0..10,} \\
          \>\>\>{\tt physically\_suspect(Person, Vp, Vs),}       \\
          \>\>\>{\tt psychically\_suspect(Person, Vs, Vp),}    \\
          \>\>\>{\tt evidences(Person, Ve, Vp, Vs),} \\
          \>\>\>{\tt inter\_m([Vp, Vs, Ve], V).}}
        \end{tiny}
      \end{minipage}  
\end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\overlays{2}{
\begin{slide}{Distributed Knowledge}
%\vspace{0.3cm}
  \begin{itemize}
  \item[{$\bullet$}] {\small {\blue Partial knowledge} stored in each agent is
      formulated in terms of {\blue constraint expressions}}
    \begin{tiny} 
\begin{verbatim}
Cp:   physically_suspect(Person, Vp, Vs) :-
             scan_portrait_database(Person, Vp),
             Vp * Vs .>=. 50 @ a1.
Cs:   psychically_suspect(Person, Vs, Vp) :-
             psicologist_diagnostic(Person, Vs),
             Vs .<. Vp @ a2.
Ce:   evidences(Person, Ve, Vp, Vs) :-
             police_database(Person, Ve),
             (Ve .>=. Vp,
              Ve .>=. Vs) @ a3.

scan_portrait_database(peter, Vp) :- Vp in 4..10.
psicologist_diagnostic(peter, Vs) :- Vs in 3..10.
police_database(peter, Ve) :- Ve in 7..10.
\end{verbatim}
  \end{tiny}
%  \FromSlide{2} {
\end{itemize}
%  }
\end{slide} 
%}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Agent Interaction (I)}
%\vspace{0.5cm}
  \begin{small}  
    \begin{itemize}
    \item[{\blue $\bullet$}] Collaborative fuzzy agents interaction for
      {\tt \blue  suspect(peter,V)}:
      \begin{figure}
        \centering
        \includegraphics[width=1\textwidth]{figs/cfa-peter}
      \end{figure}
    \end{itemize}
  \end{small}
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Agent Interaction (II)}
%\vspace{0.5cm}
  \begin{small}  
    \begin{itemize}
    \item[{\blue $\bullet$}] Collaborative fuzzy agents interaction for
      {\tt \blue  suspect(jane,V)}:
      \begin{figure}
        \centering
        \includegraphics[width=1\textwidth]{figs/cfa-jane}
      \end{figure}
    \end{itemize}
  \end{small}
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Overview}
    \begin{itemize}
       \item[$\bullet$] Basics

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Introduction
           \item[$-$] Description
           \item[$-$] Implementation
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Extensions

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Incompleteness
           \item[$-$] Constructive negative Queries
           \item[$-$] Discrete Fuzzy Sets
           \item[$-$] Collaborative Fuzzy Agents
           \item[$-$] {\blue\small Fuzzy Rules with Credibility: RFuzzy}
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Work proposals
    \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Multi-adjoint logic}
    \begin{itemize}
    \item[$\bullet$] Rules with a truth degree of {\blue credibility}
      $$<\mathcal{R};\alpha>$$
    \item[$\bullet$] Fuzzy Prolog rule syntax \  
      {\small
	$fpred(args) ~\mathbf{cred} ~{\blue (aggrC,\alpha)} ~ :\sim ~aggrO$
	$$ ~fpred1(args1), ~\ldots, ~fpredN(argsN).$$  
      }
    \item[$\bullet$] Example  
      {\small
      \begin{verbatim}
	good_player(J) cred (prod, 0.8) :~ prod
	           swift(J), tall(J), experience(J).
      \end{verbatim}
      }
      
    \end{itemize}
 
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Multi-adjoint logic}
    \begin{itemize}
    \item[$\bullet$] Fuzzy Prolog fact syntax \  
      {\small
	$$fpred(args) ~\mathbf{value} ~ truth\_value.$$
      }
    \item[$\bullet$] Example  
      {\small
      \begin{verbatim}
	experience(john) value 0.9 .
	experience(karl) value 0.9 .
	experience(mike) value 0.9 .
	experience(lebron) value 0.4 .
	experience(deron) value 0.3 .
      \end{verbatim}
      }
      
    \end{itemize}
 
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Default values}
    \begin{itemize}
    \item[$\bullet$] Represent incomplete information
    \item[$\bullet$] Fuzzy Prolog default value syntax \  
     {\small
	$$:-~ \mathbf{default}~ (fpred / arity,~ default\_value).$$
      }
    \item[$\bullet$] Example  
      {\small
      \begin{verbatim}
	:- default (experience/1, 0.9).
	experience(lebron) value 0.4 .
	experience(deron) value 0.3 .
      \end{verbatim}
      }
      
    \end{itemize}
 
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Type Properties}
    \begin{itemize}
    \item[$\bullet$] Fuzzy Prolog type properties syntax \  
     {\small
	$$:-~ \mathbf{prop}~ type\_name / arity.$$
	$$:-~ \mathbf{set\_prop}~ fpred(args) => type\_name(args).$$
      }
    \item[$\bullet$] Example  
      {\small
      \begin{verbatim}
	:- prop typePlayer/1.
	typePlayer(john).
	    ...
	typePlayer(deron).
	:- set_prop experience(J) => typePlayer(J).
      \end{verbatim}
      }
      
    \end{itemize}
 
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Complete Example I}
{\small
    \begin{verbatim}
  :- module(good_player,_,[rfuzzy]).
  :- prop typePlayer/1.

  (good_player(J) cred (prop,0.8)) :~ prop
            swift(J), tall(J), experience(J).

  typePlayer(john).
       ...
  typePlayer(deron).

  :- set_prop experience(J) >= typePlayer(J).
    \end{verbatim}
}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Complete Example II}
{\small
    \begin{verbatim}
  :- default (experience/1, 0.9).
  experience(lebron) value 0.4 .
  experience(deron) value 0.3 .

  :- default (tall/1, 0.6).
  tall(john) value 0.4 .
  tall(karl) value 0.8 .

  :- default (swift/1, 0.7).
  swift(john) value 1 .
    \end{verbatim}
}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Fuzzy Queries}
    \begin{itemize}
    \item[$\bullet$] Fuzzy Prolog queries syntax \  
     {\small
	$$?-~ fpred(args,V).$$
      }
    \item[$\bullet$] Example  
      {\small
      \begin{verbatim}
	?- good_player(john,V).
	
	V= 0.288 ?;

	no
      \end{verbatim}
      }
      
    \end{itemize}
 
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
\begin{slide}{Overview}
    \begin{itemize}
       \item[$\bullet$] Basics

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Introduction
           \item[$-$] Description
           \item[$-$] Implementation
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Extensions

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Incompleteness
           \item[$-$] Constructive negative Queries
           \item[$-$] Discrete Fuzzy Sets
           \item[$-$] Collaborative Fuzzy Agents
           \item[$-$] Fuzzy Rules with Credibility: RFuzzy
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] {\blue Work proposals}
    \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Work proposals}
    \begin{itemize}
       \item[$\bullet$] ``Models of Inexact Reasoning'' work

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Modeling a Problem with Fuzzy/RFuzzy Prolog
           \item[$-$] Semantics for Fuzzy queries language
           \item[$-$] ...
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Practical Project / Master thesis

	 \begin{tiny}
	   \begin{itemize}
	   \item[$-$] Implementation of credibility with intervalsl 
	   \item[$-$] Fuzzy web interface 
           \item[$-$] New Fuzzy Prolog version with credibility
           \item[$-$] Comparison with other Fuzzy Prolog (tool \& semantics)
           \item[$-$] Credibility with intervals
           \item[$-$] ...
	   \end{itemize}
	 \end{tiny}
    \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Work ``Models of Inexact Reasoning''}
    \begin{itemize}
       \item[$\bullet$] Choose a topic (with the acknowledge of the professor)
       \item[$\bullet$] Send {\bf Feb 20th} by e-mail to {\blue $susana@fi.upm.es$}
	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Source files of the report (better .tex, otherwise .doc)
           \item[$-$] Report with tests, explanations, etc. (.pdf)
           \item[$-$] Source files of the developed code (.pl)
           \item[$-$] Examples files (.pl)
	   \end{itemize} 
	 \end{tiny}
    \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}{Overview}
    \begin{itemize}
       \item[$\bullet$] Basics 

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Introduction
           \item[$-$] Description
           \item[$-$] Implementation
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Extensions

	 \begin{tiny}
	   \begin{itemize}
           \item[$-$] Incompleteness
           \item[$-$] Constructive negative Queries
           \item[$-$] Discrete Fuzzy Sets
           \item[$-$] Collaborative Fuzzy Agents
           \item[$-$] Fuzzy Rules with Credibility: RFuzzy
	   \end{itemize}
	 \end{tiny}

       \item[$\bullet$] Work proposals
    \end{itemize}
\end{slide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% \begin{slide}{References}
%%     \begin{itemize}
%%     \item[$\bullet$] Sergio Guadarrama, Susana Mu\~{n}oz Hern\'{a}ndez and
%%       Claudio Vaucheret,{\blue ``Fuzzy Prolog: A New Approach Using Soft
%%       Constraints Propagation''}, Fuzzy Sets and Systems (FSS) 144, GS-1, pages
%%       127-151. ELSEVIER 2004.
      
%%     \item[$\bullet$] Susana Mu\~{n}oz Hern\'{a}ndez and Jose Manuel G\'{o}mez
%%       P\'{e}rez, {\blue ``Solving Collaborative Fuzzy Agents Problems with
%%         CLP(FD)''}, Proceedings of CLIMA'04 (LNCS).
%%       Springer Verlag 2004.
%%     \end{itemize}
%% \end{slide} 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\maketitle


\end{document}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


 
