Professional Documents
Culture Documents
DEDUCCIN
Todos los hombres son mortales
Scrates es un hombre
Scrates es mortal
Diciembre
2001
INDUCCIN
Scrates es mortal
Scrates es un hombre
Todos los hombres son mortales
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Fundamentos Lgicos de la
Ingeniera del Software
(p(True) = 1)
(p(False) = 0)
(p(PQ) = p(P) . p(Q))
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Fundamentos Lgicos de la
Ingeniera del Software
Restringir la bsqueda
lenguaje: reducir el espacio de hiptesis
bsqueda: reducir la bsqueda en el espacio de las hiptesis
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Cmo movernos
una hiptesis a otra?
+ desde
+
+
+
muy especfico
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Ms
especfic
o
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
e- cubierto
e- no cubierto
Ms
especfic
o
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
flies(X)
flies(X)bird(X)
flies(X)bird(X),
normal(X)
Ms
especfic
o
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
flies(X)
flies(X)bird(X)
flies(X)bird(X),
normal(X)
flies(oliver) bird(oliver)
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Ms
especfic
o
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
g(f(X),X)
g(f(f(a)),X)
g(f(f(a)),f(a))
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
m([X|Y],Z)
m(X,[Y|Z])
m(X,[X|Z])
m(X,Y):-m(Y,X)
m(X,[Y|Z]):-m(X,Z)
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Fundamentos Lgicos de la
Ingeniera del Software
Ejercicio:
C1 = C2 ( ={ })
C1 = C3 ( ={X/Z,Y/Z})
C1 = C4 ( ={X/a,Y/a})
C3 = C4 ( ={Z/a})
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
p(X)
D: p(f(f(X))) p(X)
C: p(f(X))
c1c2siic1=<c2yc2=<c1
Sic[C]yd[D]c=<dd=<c(c=/<dyd=/<c)
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
p(X,Y):m(X,Y),r(X)
p(X,Y):m(X,Y),m(X,Z),r(X)
...
p(X,Y):m(X,Y),s(X)
p(X,Y):m(X,Y),m(X,Z),s(X)
...
glb
Diciembre
2001
p(X,Y):m(X,Y),s(X),r(X)
p(X,Y):m(X,Y),m(X,Z),s(X),r(X)
...
Fundamentos Lgicos de la
Ingeniera del Software
Computacin de lgg
Cuando nos restringimos a tomos con el mismo signo y
el mismo smbolo de predicado (compatibles) la lgg es el
dual de la unificacin
lgg(f1(l1,...,ln),f2(m1,...,mn)
= v si f1 f2
= f1 (lgg(l1,m1),...,lgg(ln,mn)) si f1= f2
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
l = member(3,cons(2,cons(3,nil)))
l = member(3,cons(4,cons(5,cons(6,nil))))
m = member(3,cons(v2,4,cons(v3,5,vnil,cons(6,nil))))
m = member(3,cons(x,cons(y,z)))
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
l: p(f(5,3),g(2,3))
l: p(f(1,2),g(3,2))
l: p(f(1,4),g(5,4))
lgg = p(f(X,W),g(Y,Z))
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Fundamentos Lgicos de la
Ingeniera del Software
rev([2,1],[3],[1,2,3]) rev([1],[2,3],[1,2,3])
AB C D E
B AC D E
a([1,2],[3,4],[1,2,3,4]) a([2],[3,4],[2,3,4])
a([a],[ ],[a]) a([ ],[ ],[ ])
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Ejemplo:
C1: uncle(X,Y):-brother(X,father(Y)).
C2: uncle(X,Y):-brother(X,mother(Y)).
B: parent(father(X),X).
parent(mother(X),X).
lgg(C1,C2) = uncle(X,Y):-brother(X,Z).
rlgg(C1,C2) = uncle(X,Y):-brother(X,U),parent(U,Y).
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
C =P D
Si asumimos que una clusula C es ms general que
otra D si cualquier interpretacin de C permite obtener las
mismas conclusiones que con D.
En el ejemplo anterior C no es ms general que D.
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
generalizada
versus
generalizacin
C =B D sii C = D
Subsuncin generalizada versus generalizacin menos
general relativa.
C =BP D sii C aparece en la raz de una refutacin en
la demostracin de P (C D)
=BP un caso especial de rlgg
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
de
C2
2
C
RESOLUCIN: C = C1 C2
l1 C1 l2 C2 | C1 y C2 variables disjuntas
= mgu(l1, l2) s.t. l1 = l2, = 1 2 l1 1 = l2 2
C=(C1-l1) 1 (C2-l2) 2
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Fundamentos Lgicos de la
Ingeniera del Software
C2
2
C
OPERADOR V: Produce C2 a partir de C y C1
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Identificacin
desde pq,B y p A,B
inferir q A
pq,B
q A
pA,B
pq,B
q A
pA,B
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
C2:pajaro(tweety):-vuela(tweety), tiene_pico(tweety).
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
animal(tiburon)
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
tiene_alas(tweety),tiene_pico(tweety).
C2: pajaro(tweety):- vuela(tweety),tiene_pico(tweety).
l: vuela(tweety)
C-C2: { tiene_plumas(tweety), tiene_alas(tweety)}
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
C1
B1
A,1
C2
A,2
C2
B2
OPERADOR W
Dadas dos clusulas B1,B2} encontrar C1,A,C2} tal que B1 es una instancia
de un resolvente de C1 y A, y B2 es una instancia de un resolvente de A y
C2 .
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Inter-construccin
desde pA,B y q A,C
inferir p r,B y rA,q y qr,C
Diciembre
2001
qB
p A,q
pA,B
pr,B
Fundamentos Lgicos de la
Ingeniera del Software
pA,C
r A
pA,B
q C
q r,C
qA,C
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software
Diciembre
2001
Fundamentos Lgicos de la
Ingeniera del Software