John
s
Pr edi cado Ant es Ti eneCol or
Funci n
Madr e Pi eI zqDe
Ll ov i endo
IA4001 Sistemas de Bsqueda y Razonamiento
Semnt ica CP1
Basada en modelos e int erpret aciones
El dominio de los modelos es el conj unt o de El dominio de los modelos es el conj unt o de
obj et os que cont iene.
El modelo t ambin cont iene relaciones y
funciones.
La int erpret acin especifica a que obj et os,
relaciones y funciones se refieren los smbolos.
El valor de verdad de una oracin est ent onces
det erminado por un modelo y una int erpret acin
del mismo.
Ej emplos de Sint axis
Oraciones at micas: Predicado( t 1, . . . , t n)
),... , ( ), ( callejero fido Raza fido Perro
Oraciones complej as ( uso de conect ivos lgicos)
Oraciones complej as cuant ificadas
v . , , , ,
) , ( ) ( callejero fido Raza fido Perro .
Oraciones complej as cuant ificadas
) (
) (
x xHombre
x xHombre
-
Ninguno Todos
Algunos si
-
No t odos o
algunos no
o no es ciert o
que algunos
si
-
Equivalencias lgicas
Ninguno = Todos no
P x xP -
) ( ) ( ) ( ) ( x Peluda x xRana y Peluda y yRana . -
No t odos = Algunos no
Todos = ninguno no
P x xP -
) ( ) ( ) ( ) ( x Oro x xBrilla x Oro x xBrilla . -
) ( ) ( ) ( ) ( x Peluda x xRana y Peluda y yRana . -
P x xP -
Algunos = No t odos no
P x xP -
) ( ) ( ) ( ) ( x Calva x xRana x Calva x xRana . -
P x xP -
) ( ) ( ) ( ) ( x Oro x xBrilla x Oro x xBrilla . -
IA4001 Sistemas de Bsqueda y Razonamiento
Terminologa
Ax i omas: informacin bsica ( supuest a
verdadera) que no necesit a demost racin y que
se usa para derivar conclusiones. p
Teor emas: oraciones implicadas lgicament e por
los axiomas.
KB = Axiomas + Teoremas
Def i ni ci ones: uso de doble implicacin
) , ( ) , ( , p h Hijo h p Padre h p
Especi f i caci n par ci al : uso de implicacin
) , ( ) , ( , p j p p
... ) (
... ) (
x Alumno x
x Persona x
IA4001 Sistemas de Bsqueda y Razonamiento
I ngeniera de conocimient o
Proceso de const ruccin de una KB.
Et apas: Et apas:
1. I dent ificar la t area
2. Ensamblar el conocimient o relevant e
3. Definir vocabulario ( predicados, const ant es,
funciones)
4. Codificar conocimient o general g
5. Codificar conocimient o de problema part icular
6. Plant ear consult as a la KB
7. Depurar la KB
I ngeniera de conocimient o
El CP1 es un lenguaj e declarat ivo que
sirve para modelar la est ruct ura de una
mquina o proceso mquina o proceso.
Tambin se puede modelar en forma
discret a el funcionamient o de la mquina
o proceso o proceso.
IA4001 Sistemas de Bsqueda y Razonamiento
1. I dent ificar la t area
Model aci n de Ci r cui t os El ect r ni cos
X1
X2
A2
1
2 1
3
C1
And Or Xor
A1
A2
O1
2
2. Ensamblar el conocimient o relevant e
Slo nos int eresa la funcionalidad y la
conect ividad del circuit o.
Desde ese punt o de vist a nos int eresan:
los circuit os,
las t erminales,
las seales, y
las compuert as.
IA4001 Sistemas de Bsqueda y Razonamiento
3. Vocabulario
Const ant es
A1, A2, X1, X2, O1
Funcin para el t ipo Funcin para el t ipo
Tipo( X1) = XOR; Tipo( A1) = AND
Terminales
I n( 1, O1) , Out ( 2, S1) ,
Conect ividad
Conexion( I n( 1, S1) , I n( 1, X1) ) , Conexion( I n( 1, S1) , I n( 1, X1) ) ,
Seales
Valor( x) = 1 o 0 ( x es una t erminal)
4. Codificar conocimient o general
Gener al es
Toda t erminal est On u Off
0 ) ( 1 ) ( V l V l
Dos t erminales conect adas t ienen el mismo
valor
0 1
0 ) ( 1 ) (
=
= v = x Valor x Valor x
) ( ) ( ) ( t Valor t Valor t t Conexion t t = ) ( ) ( ) , ( ,
2 1 2 1 2 1
t Valor t Valor t t Conexion t t =
IA4001 Sistemas de Bsqueda y Razonamiento
4. Codificar conocimient o general
Funci onami ent o
Compuert as And
= AND c Tipo c ) (
Compuert as Or
Compuert as Xor
= AND c Tipo c ) (
0 )) , ( ( 0 )) , 1 ( ( = - = c n In Valor n c Out Valor
= OR c Tipo c ) (
1 )) , ( ( 1 )) , 1 ( ( = - = c n In Valor n c Out Valor
Compuert as Not
= XOR c Tipo c ) (
)) , 2 ( ( )) , 1 ( ( 1 )) , 1 ( ( c In Valor c In Valor c Out Valor = =
)) , 1 ( ( )) , 1 ( ( ) ( c Out Valor c In Valor NOT c Tipo c = =
5. Codificar conocimient o part icular
Codi f i caci n del Sumador
Compuert as
Tipo( A1) AND
X1
X2
A1
A2
O1
1
2
2
1
3
C1
Tipo( A1) = AND,
Tipo( A2) = AND, Tipo( X1) = XOR,
Tipo( X2) = XOR, Tipo( O1) = OR
Conexiones
Conexion( I n( 1 C1) I n( 1 X1) ) Conexion( I n( 1, C1) , I n( 1, X1) )
)) ( ) ( }, / ({ x Muerde x Perro Fido x Subst
) ( ) ( Fido Muerde Fido Perro =
Reglas para cuant ificadores
Eliminacin ( inst anciacin) exist encial
) } / ({
o
k S b
v -
Restriccin: k no debe aparecer en la KB
(k se llama constante de Skolem)
Ej empl o: Algunos perros muerden
) }, / ({ o k v Subst
)) ( ) ( } / ({
) ( ) (
x Muerde x Perro Callejero x Subst
x Muerde x Perro x
.
. -
(k se llama constante de Skolem)
)) ( ) ( }, / ({ x Muerde x Perro Callejero x Subst .
) ( ) ( Callejero Muerde Callejero Perro . =
Restriccin: Callejero no debe aparecer en la KB
IA4001 Sistemas de Bsqueda y Razonamiento
I nferencia de primer orden
Requiere del proceso de uni f i caci n
proceso que t oma dos oraciones at micas y
nos regresa una subst it ucin que las hace
idnt icas.
Ej emplos:
} / { )) , ( ), , ( ( Pilarica x Pilarica Venancio Quiere x Venancio Quiere UNIFICA =
} / { )) ( ) ( ( Venancio x Pilarica Venancio Quiere Pilarica x Quiere UNIFICA =
) , ( ) , ( donde q SUBST p SUBST q) UNIFICA(p, u u u = =
} / { )) , ( ), , ( ( Venancio x Pilarica Venancio Quiere Pilarica x Quiere UNIFICA =
} / , / { )) , ( ), , ( ( Pilarica y Venancio x Pilarica Venancio Quiere y x Quiere UNIFICA =
} / , / { )) , ( ), , ( ( Venancio y Pilarica x Pilarica y Quiere x Venancio Quiere UNIFICA =
I Pilarica Venancio Quiere Pilarica Venancio Quiere UNIFICA = )) , ( ), , ( (
fracaso Pilarica x Quiere x Venancio Quiere UNIFICA
fracaso Pilarica Pedro Quiere x Venancio Quiere UNIFICA
=
=
)) , ( ), , ( (
)) , ( ), , ( (
Unificador ms general
El unificador ms general es el que usa el menor
nmero de ligas de variables con valores.
} / , / { )) , ( ), , ( ( z x Venancio y z y Quiere x Venancio Quiere UNIFICA =
} / , / , / { )) , ( ), , ( ( Pilarica z Pilarica x Venancio y z y Quiere x Venancio Quiere UNIFICA =
mgu:
} / , / , / { )) , ( ), , ( ( Madonna z Madonna x Venancio y z y Quiere x Venancio Quiere UNIFICA =
IA4001 Sistemas de Bsqueda y Razonamiento
Algorit mo de Unificacin
I F L1 o L2 son variables o const ant es ent onces:
I F L1 y L2 son idnt icas THEN regresa NI L
ELSE I F L1 es variable I F L1 ocurre en L2 regresa FAI L, ELSE
regresa { L1 / L2} regresa { L1 / L2}
ELSE I F L2 es variable I F L2 ocurre en L1 regresa FAI L, ELSE
regresa { L2 / L1}
ELSE regresa FAI L
I F los nombres de los predicados en L1 y L2 no son idnt icos regresa
FAI L
I F L1 y L2 t ienen diferent e nmero de argument os regresa FAI L
I nicializa SUBST a NI L
For i= 1 t o nmero de argument os en L1
CALL U ifi i l i i t d L1 l i i CALL Unificacion con el i- simo argument o de L1 y el i- simo
argument o de L2 dej ando el result ado en S.
I F S cont iene FAI L, regresa FAI L
I F S no es igual a NI L THEN
Aplicar S al rest o de L1 y L2
Agregar S a SUBST
Regresa SUBST
Ot ra Regla de inferencia
Modus Ponens Generalizado ( MPG)
Combina varias inferencias en una
) ( ) (
'
p SUBST p SUBST i u u =
Ej empl o:
) , (
) ... ( , ,..., ,
2 1
' '
2
'
1
q SUBST
q p p p p p p
n n
u
. . .
) , ( ) , (
i i
p SUBST p SUBST i u u =
)) ( ) ( ( ) ( x Muerde x Perro x Fido Perro
)) ( , ( )) ( , (
} / {
x Perro SUBST Fido Perro SUBST
Fido x
u u
u
=
=
) (
)) ( ) ( ( ), (
Fido Muerde
x Muerde x Perro x Fido Perro
IA4001 Sistemas de Bsqueda y Razonamiento
Algorit mos de inferencia
Encadenami ent o haci a del ant e
Comenzar de hechos conocidos y disparar
t odas las inferencias posibles hast a responder t odas las inferencias posibles hast a responder
la consult a plant eada o agot ar las inferencias
Encadenami ent o haci a at r s
Comenzar con la consult a plant eada como
met a e ident ificar las inferencias que la pueden
d i T b j i t h t producir. Trabaj ar recursivament e hast a que
las met as coincidan con los hechos iniciales
Conoci mi ent o:
La ley dice que es un crimen para un ciudadano de USA vender armas a naciones
host iles. El pas Nono, enemigo de USA, t iene algunos misiles, t odos los cuales le
fueron vendidos por el Coronel West , quien por ciert o es ciudadano de USA.
Ej emplo de I nferencia
p , q p
Quer y : Es el coronel West un criminal?
Ax i omas:
1.- x,y,z Americano( x) .Ar ma( y) .Nacin( z) .Host il( z) .Vende( x,z,y) Criminal( x)
2.- -x Tiene( Nono, x) .Misil( x)
3.- xTiene( Nono,x) .Misil( x) Vende( West , Nono,x)
4.- xMisil( x) Arma( x)
5.- x Enemigo( x, USA) Host il( x)
6.- Americano( West )
7.- Nacin( Nono)
8.- Enemigo( Nono, USA)
9.- Nacin( USA)
IA4001 Sistemas de Bsqueda y Razonamiento
Ej emplo de I nferencia
Deseamos pr obar que West es un cr i mi nal :
10. - Tiene( Nono, M1) .Misil( M1) Exist encial Eliminat ion 2
11. - Tiene( Nono, M1)
12. - Misil( M1) And- Eliminat ion 10
13. - Misil( M1) Arma( M1) Universal Eliminat ion 4
14. - Arma( M1) Modus Ponens 12 , 13
15. - Tiene( Nono, M1) .Misil( M1) Vende( West , Nono, M1) Universal Eliminat ion 3
16. - Vende( West , Nono, M1) Modus Ponens 10 , 15
17. - Americano( West ) . Arma( M1) . Nacin( Nono) . Host il( Nono) . Vende( West , Nono, M1)
Criminal( West ) Universal Eliminat ion 1
18 - Enemigo( Nono USA) Host il( Nono) Universal Eliminat ion 5 18. Enemigo( Nono, USA) Host il( Nono) Universal Eliminat ion 5
19. - Host il( Nono) Modus Ponens 8, 18
20. - Americano( west ) . Arma( M1) . Nacin( Nono) . Host il( Nono) . Vende( West , Nono, M1)
And- I nt roduct ion 6, 7, 14, 16, 19
21. - Criminal( West ) Modus Ponens 17, 20
Razonamient o mediant e resolucin
Recor dat or i o: regla de resolucin
n j m i
q q q p p p v v v v v v v v ... ... , ... ...
1 1
La resolucin se aplica a disyunciones de lit erales
( clasulas o Forma Normal Conj unt iva)
n j j m i i
q q q q p p p p v v v v v v v v v v v
+ +
... ... ... ...
1 1 1 1 1 1
p
i
y q
j
son literales complementarias
( j )
Exist e un procedimient o para convert ir cualquier
oracin del CP1 a su FNC
IA4001 Sistemas de Bsqueda y Razonamiento
Conversin a Forma Clausal
1. Eliminar
2. Reducir el alcance de la negacin ( )
3 Est andarizar variables de t al Manera que cada 3. Est andarizar variables de t al Manera que cada
cuant ificador se relaciona con una variable nica
4. Mover cuant ificadores a la izquierda
5. Eliminar cuant ificadores exist enciales
( I nt roduccin de funciones skolem)
6. Eliminar los cuant ificadores universales
7. Convert ir t odo a conj uncin de disyunciones
8. Crear clusulas separadas cada una
correspondiendo a unas conj uncin
9. Est andarizar las variables.
Conversin a FNC
1. Eliminar implicaciones
q p q p v
Ningn alumno floj o saca 100 en t odos sus
exmenes
q p q p v
)) , , 100 ( ) ( ( ) ( ) ( y x Saca y Ex y x Fl x Al x . . -
)) , , 100 ( ) ( ( ) ( ) ( y x Saca y Ex y x Fl x Al x v . . -
IA4001 Sistemas de Bsqueda y Razonamiento
Conversin a FNC
2. I nt roducir negaciones
q p q p . v ) (
o o - x x
p p
q p q p
v . ) (
o o
o o
-
-
x x
x x
)) , , 100 ( ) ( ( ) ( ) ( y x Saca y Ex y x Fl x Al x v . . -
))) , , 100 ( ) ( ( )) ( ) ( (( y x Saca y Ex y x Fl x Al x v . . -
))) 100 ( ) ( ( )) ( ) ( (( S E Fl Al ))) , , 100 ( ) ( ( )) ( ) ( (( y x Saca y Ex y x Fl x Al x v . .
)) , , 100 ( ) ( ( )) ( ) ( ( y x Saca y Ex y x Fl x Al x v v .
)) , , 100 ( ) ( ( )) ( ) ( ( y x Saca y Ex y x Fl x Al x v - v v
)) , , 100 ( ) ( ( )) ( ) ( ( y x Saca y Ex y x Fl x Al x . - v v
)) , , 100 ( ) ( ( )) ( ) ( ( y x Saca y Ex y x Fl x Al x . - v v
Conversin a FNC
4. Mover cuant ificadores a la izquierda si no
hay ms de un cuant ificador con la y
misma variable
)) , , 100 ( ) ( ( )) ( ) ( ( y x Saca y Ex y x Fl x Al x . - v v
)) , , 100 ( ) ( ( )) ( ) ( ( y x Saca y Ex x Fl x Al y x . v v -
IA4001 Sistemas de Bsqueda y Razonamiento
Conversin a FNC
5 y 6. Eliminar cuant ificadores exist enciales
( eskolemizar ) y luego universales ( eskolemizar ) y luego universales.
En est e caso la variable ligada al cuant ificador
exist encial es reemplazada por una f( x) :
)) , , 100 ( ) ( ( )) ( ) ( ( y x Saca y Ex x Fl x Al y x . v v -
p p ( )
))) ( , , 100 ( )) ( ( ( )) ( ) ( ( x f x Saca x f Ex x Fl x Al x . v v
))) ( , , 100 ( )) ( ( ( )) ( ) ( ( x f x Saca x f Ex x Fl x Al . v v
Conversin a FNC
7. Dist ribuir la disyuncin sobre la
conj uncin:
) ( ) ( ) (
) ( ) ( ) (
) ( ) ( ) (
p r p q p r q
r p q p r q p
v . v v .
v . v . v
))) ( , , 100 ( )) ( ( ( )) ( ) ( ( x f x Saca x f Ex x Fl x Al . v v
))) ( ( )) ( ) ( (( x f Ex x Fl x Al v v
))) ( , , 100 ( )) ( ) ( (( x f x Saca x Fl x Al v v
.
IA4001 Sistemas de Bsqueda y Razonamiento
Conversin a FNC
Aplanar las disyunciones y conj unciones
))) ( ( )) ( ) ( (( x f Ex x Fl x Al v v
))) ( , , 100 ( )) ( ) ( (( x f x Saca x Fl x Al v v
.
))) ( ( ) ( ) ( ( x f Ex x Fl x Al v v
))) ( , , 100 ( ) ( ) ( ( x f x Saca x Fl x Al v v
.
Conversin a FNC
8 y 9. Separar y est andarizar variables
))) ( ( ) ( ) ( ( x f Ex x Fl x Al v v
))) ( , , 100 ( ) ( ) ( ( x f x Saca x Fl x Al v v
.
)) ( ( ) ( ) ( : C1
1 1 1
x f Ex x Fl x Al v v
)) ( , , 100 ( ) ( ) ( : C2
2 2 2 2
x f x Saca x Fl x Al v v
IA4001 Sistemas de Bsqueda y Razonamiento
Resolucin en CP1
Basada en los procesos de Unificacin y
Sust it ucin
Si exist e un unificador u t al que
UNI FI CA( p
j
, q
k
) = u, ent onces
, ... ...
1 m j
p p p v v v v
)) ... ... ... ... ( , (
... ...
1 1 1 1 1 1
1
n k k m j j
n k
q q q q p p p p SUBST
q q q
v v v v v v v v v v v
v v v v
+ +
u
Ej emplo
) ( ) (
) ( ) (
R P
x Q x P x
KB i i i l:
) ( ) (
) ( ) (
) ( ) (
x S x R x
x S x Q x
x R x P x
KB inicial:
) ( ) ( w Q w P v
) ( ) (
) ( ) (
) ( ) (
z S z R
y S y Q
x R x P
v
v
v
En FNC:
IA4001 Sistemas de Bsqueda y Razonamiento
Ej emplo
KB inicial: ) ( ) (
) ( ) (
) ( ) (
y S y Q
x R x P
w Q w P
v
v
v
) ( ) ( w Q w P v ) ( ) ( y S y Q v
) ( ) ( x R x P v ) ( ) ( w S w P v
} / { w y
} / {
S(A) Demostrar
) ( ) ( z S z R v
) ( ) ( z S z R v ) ( ) ( x R x S v
} / { x w
) ( A S
} / , / { A z A x
Resolucin por Refut acin
Asumir que se t ienen un conj unt o de clusulas F y el est at ut o a
probar P
1. Convert ir t odos los est at ut os de F a Forma clausal
2 Negar p y convert irla a forma clausal Agregar al conj unt o 2. Negar p y convert irla a forma clausal. Agregar al conj unt o
de clusulas obt enidas en el paso ant erior
3. Repet ir hast a que una cont radiccin es alcanzada:
i. Seleccionar dos clusulas y llamarlas clusulas padre
ii. Resolverlas y obt ener la clusula llamada resolvent e.
Si hay en las clusulas padre un par de lit erales T1 y
T2 de t al forma que st as son unificadas y adems
T1 t d l l l d T2 que T1 pert enece a una de las clusulas padre y T2
a la ot ra, la subst it ucin se usa para crear el
resolvent e y post eriorment e se eliminan ambas
lit erales del resolvent e.
iii. Si el resolvent e es la clusula vaca, la cont radiccin
ha sido encont rada. De ot ra Manera el resolvent e se
agrega al conj unt o de clusulas.
IA4001 Sistemas de Bsqueda y Razonamiento
Ej emplo: Probar S( A)
KB inicial:
S R
y S y Q
x R x P
w Q w P
v
v
v
) ( ) (
) ( ) (
) ( ) (
) ( ) (
) ( ) ( w Q w P v ) ( ) ( y S y Q v
) ( ) ( x R x P v
) ( ) ( z S z R v
) ( ) ( w S w P v
} / { w y
) ( ) ( x R x S v
} / { x w
S(A)
z S z R
v ) ( ) (
) ( ) ( z S z R v
) ( A S
) ( ) ( x R x S v
) (x S
} / { x z
} / { A x
Ot ro ej emplo
Enunci ado:
Marcos fue un hombre. Marcos era de Pompeya. Todos los
Pompeyanos eran Romanos. Cesar fue un Dict ador. Todos los
Romanos o eran leales a Cesar o lo odiaban Todos son leales a Romanos o eran leales a Cesar o lo odiaban. Todos son leales a
alguien. La gent e solo t rat a de asesinar a dict adores si no son
leales a ellos. Marcos t rat de asesinar a Cesar.
Probar por refut acin que Mar cos odi a a Cesar .
Ax i omas:
1. - Hombre( Marcos)
2. - Pompeyano( Marcos)
3. - x Pompeyano( x) Romano( x) p y ( ) ( )
4. - Dict ador( Cesar)
5. - x Romano( x) LealA( x, Cesar) v Odia( x, Cesar)
6. - x -y LealA( x, y)
7. - x y Hombre( x) . Dict ador( y) . Trat aDeAsesinar( x, y)
LealA( x, y)
8. - Trat aDeAsesinar( Marcos, Cesar)
IA4001 Sistemas de Bsqueda y Razonamiento
Prueba
Ax i omas en forma clausal:
1.- Hombre( Marcos)
2.- Pompeyano( Mar cos)
3.- Pompeyano( x1) vRomano( x1)
4.- Dict ador( Cesar) 4. Dict ador( Cesar)
5.- Romano( x2) vLealA( x2, Cesar) vOdia( x2,Cesar )
6.- LealA( x3,fl( x3) )
7.- Hombre( x4) vDict ador( y1) vTrat aDeAsesinar ( x4, y1) vLealA( x4, y1)
8.- Trat aDeAsesinar( Mar cos,Cesar )
Pr obar : Odia( Marcos,Cesar )
9. - Negando la proposicin que se quiere probar: Odia( Marcos,Cesar)
10.- De las proposiciones 9 y 5: Romano( Mar cos) vLealA( Mar cos, Cesar )
11.- De la 3 y 10 se obt iene: Pompeyano( Mar cos) vLealA( Mar cos, Cesar)
12. - De la 11 y la 2: LealA( Marcos, Cesar)
13.- De la 12 y 7:
Hombre( Marcos) vDict ador( Cesar ) vTr at aDeAsesinar( Mar cos, Cesar )
14.- De la 1 y 13: Dict ador( Cesar) vTrat aDeAsesinar( Marcos, Cesar)
15. - De la 14 y 4: Trat aDeAsesinar ( Mar cos, Cesar)
16.- De la 15 y 8, se llega a una cont radiccin probando que:
Odi a( Mar cos, Cesar )
Est rat egias de resolucin
Pr ef er enci a por l a uni dad
Dar preferencia a resoluciones donde una de las
clusulas sea unit aria
Conj unt o de apoy o ( o sopor t e)
I nicializar el conj unt o de soport e con la negacin de la
consult a
Las inferencia combinan oraciones del conj unt o de
soport e con ot ras oraciones
Las nuevas oraciones se agregan al conj unt o de soport e
Resol uci n de ent r ada Resol uci n de ent r ada
Toda resolucin combina una de las oraciones de
ent rada ( KB inicial o consult a)
Fi l t r ada por el ancest r o
Variant e de la ant erior que permit e resolver P y Q si P
est en la KB inicial o es un ancest ro de Q en el rbol de
prueba
IA4001 Sistemas de Bsqueda y Razonamiento
Conclusiones
La lgica de predicados de primer orden es un
lenguaj e de represent acin de conocimient o e
inferencia ms poderoso que la lgica p q g
proposicional.
Los procesos de unificacin y subst it ucin
asociados con las variables de las oraciones CP1
son la base de su mecanismo de inferencia.
El precio del poder expresivo de la lgica de
predicados t iene como precio el hacerla
semidecidible.