Sei sulla pagina 1di 202

Inteligencia Artificial

Oscar Bedoya oscarbed@eisc.univalle.edu.co

* Inferencia en lógica de predicados

* Modus ponens generalizado

* Forma canónica

* Resolución generalizada

* Forma normal conjuntiva

Lógica de predicados

Representar “El padre del padre es el abuelo”

Lógica de predicados

En lógica proposicional:

p: Juan es el padre de José

q: José es el padre de Luis

r: Juan es el abuelo de Luis

Lógica de predicados

En lógica proposicional:

p: Juan es el padre de José

q: José es el padre de Luis

r: Juan es el abuelo de Luis

pqr

Lógica de predicados

Se tienen objetos que son parte del dominio del problema

Se pueden modelar relaciones entre los objetos

definidos. Predicados entre objetos

Existen propiedades que distinguen los objetos. Predicados aplicados sobre un solo objeto

Lógica de predicados

Representar “El padre del padre es el abuelo” Objetos:

Predicados:

Propiedades:

Lógica de predicados

Representar “El padre del padre es el abuelo” Objetos: Personas

Predicados:

Lógica de predicados

Representar “El padre del padre es el abuelo”

Objetos: Personas

Predicados: cuáles son las relaciones entre objetos que

se quieren representar?

Lógica de predicados

Representar “El padre del padre es el abuelo”

Objetos: Personas

Predicados: cuáles son las relaciones entre objetos que

se quieren representar?

padre(x,y): x es el padre de y

Lógica de predicados

Representar “El padre del padre es el abuelo”

Objetos: Personas

Predicados: cuáles son las relaciones entre objetos que

se quieren representar?

padre(x,y): x es el padre de y

abuelo(x,y): x es el abuelo de y

Lógica de predicados

Representar “El padre del padre es el abuelo”

Objetos: Personas

Predicados: cuáles son las relaciones entre objetos que

se quieren representar?

padre(x,y): x es el padre de y

abuelo(x,y): x es el abuelo de y

padre(x,y)padre(y,z) abuelo(x,z)

Lógica de predicados

Representar “El padre del padre es el abuelo”

Objetos: Personas

Predicados: cuáles son las relaciones entre objetos que

se quieren representar?

padre(x,y): x es el padre de y

abuelo(x,y): x es el abuelo de y

xyz padre(x,y)padre(y,z) abuelo(x,z)

Lógica de predicados

“El malvado rey Juan gobernó Inglaterra en 1200”

Objetos:

Predicados:

Propiedades:

Lógica de predicados

“El malvado rey Juan gobernó Inglaterra en 1200”

Objetos. personas, países, años

Predicados. gobernó(x,y): x gobernó el país y

Propiedades. malvado(x): x es malvado, rey(x): x es rey

Lógica de predicados

“El malvado rey Juan gobernó Inglaterra en 1200”

Objetos. personas, países, años

Predicados. gobernó(x,y): x gobernó el país y

Propiedades. malvado(x): x es malvado, rey(x): x es rey

gobernó(rey(malvado(Juan)),Inglaterra)

Inferencia en lógica de predicados

Las reglas de inferencia de la lógica proposicional Y-Eliminación, Y-Introducción, O-Introducción y

resolución, son también válidas en la lógica de predicados

Se necesitan otras reglas de inferencia donde se manejan los cuantificadores

Inferencia en lógica de predicados

Las reglas emplean el concepto de sustitución SUST(,), que indica el resultado de aplicar la sustitución a la

sentencia

Inferencia en lógica de predicados

Las reglas emplean el concepto de sustitución SUST(,), que indica el resultado de aplicar la sustitución a la

sentencia

=“P(x): x es una ciudad de Colombia”

={x/Cali}

SUST(,)=P(Cali)

Inferencia en lógica de predicados

=“LeGusta(x,y): x gusta de y” ={x/Andrés, y/Jennifer}

SUST(,)=LeGusta(Andrés, Jennifer)

Inferencia en lógica de predicados

Términos base

Los términos base no contienen variables

Solo pueden ser una constante o un predicado aplicado

sobre valores

x (cuadro(x)adyacente(x,wumpus)H(x))

Término base

Inferencia en lógica de predicados

Términos base

Los términos base no contienen variables

Solo pueden ser una constante o un predicado aplicado

sobre valores

Mortal(Sócrates)

Término base

Inferencia en lógica de predicados

Tres nuevas reglas de inferencia

Eliminación universal

Eliminación existencial

Introducción existencial

Inferencia en lógica de predicados

Tres nuevas reglas de inferencia

Eliminación universal

x

SUST({x/g},)

donde es una sentencia, x es una variable y g es un término base

Inferencia en lógica de predicados

Tres nuevas reglas de inferencia Eliminación universal

x

SUST({x/g},)

: LeGusta(x, ElHelado)

BC:

1. x LeGusta(x, ElHelado)

Inferencia en lógica de predicados

Tres nuevas reglas de inferencia Eliminación universal

x

SUST({x/g},)

BC:

1. x LeGusta(x, ElHelado)

2. LeGusta(Ben,ElHelado)

: LeGusta(x, ElHelado)

Elim-Universal(1), ={x/Ben}

Inferencia en lógica de predicados

Tres nuevas reglas de inferencia Eliminación universal

x

SUST({x/g},)

BC:

1. x LeGusta(x, ElHelado)

2. LeGusta(Ben,ElHelado)

3. LeGusta(Juan,ElHelado)

: LeGusta(x, ElHelado)

Elim-Universal(1), ={x/Ben} Elim-Universal(1), ={x/Juan}

Inferencia en lógica de predicados

Tres nuevas reglas de inferencia

Eliminación existencial

x

SUST({x/k},)

donde es una sentencia, x es una variable y k es un símbolo de constante que no aparece en la base de

conocimientos

Inferencia en lógica de predicados

Tres nuevas reglas de inferencia Eliminación existencial

x

SUST({x/k},)

BC:

1.

x Matar(x,Juan)

2.

Amigo(Luis,Juan)

Inferencia en lógica de predicados

Tres nuevas reglas de inferencia Eliminación existencial

x

SUST({x/k},)

BC:

 

1.

x Matar(x,Juan)

2.

Amigo(Luis,Juan)

3.

Matar(A,Juan)

Elim-Existencial (1), ={x/A}

Inferencia en lógica de predicados

Tres nuevas reglas de inferencia

Eliminación existencial

x

 

SUST({x/k},)

No se puede realizar la

 

sustitución {x/Luis}

   

BC:

 

1.

x Matar(x,Juan)

2.

Amigo(Luis,Juan)

3.

Matar(A,Juan)

Elim-Existencial (1), ={x/A}

Inferencia en lógica de predicados

Tres nuevas reglas de inferencia

Introducción existencial

x SUST({g/x},)

donde es una sentencia, x es una variable que no esté en y g un término que no esté en

Inferencia en lógica de predicados

Tres nuevas reglas de inferencia Introducción existencial

x SUST({g/x},)

BC:

1. LeGusta(Jerry,ElHelado)

Inferencia en lógica de predicados

Tres nuevas reglas de inferencia Introducción existencial

x SUST({g/x},)

BC:

1. LeGusta(Jerry,ElHelado) 2. x LeGusta(x, ElHelado)

Intro-Existencial, ={Jerry/x}

Modus Ponens

 

Y-Eliminación

1  2

i

Y-Introducción

1 2

1  2

 n

n

 n

O-Introducción

1

1 

Resolución unitaria

 

Eliminación universal

x

SUST({x/g},)

Eliminación existencial

x

SUST({x/k},)

Introducción existencial

x SUST({g/x},)

Inferencia en lógica de predicados

Represente las sentencias dadas en el siguiente enunciado:

Todos los hombres son mortales

Sócrates es un hombre

Pruebe que “Sócrates es mortal”

Inferencia en lógica de predicados

Represente las sentencias dadas en el siguiente enunciado:

Todos los hombres son mortales

Sócrates es un hombre

Pruebe que “Sócrates es mortal”

1. x Hombre(x) Mortal(x) 2. Hombre(Sócrates)

Demostrar Mortal(Sócrates)

Inferencia en lógica de predicados

1. x Hombre(x) Mortal(x) 2. Hombre(Sócrates)

Inferencia en lógica de predicados

1. x Hombre(x) Mortal(x)

2. Hombre(Sócrates)

3. Hombre(?) Mortal(?), Elim-Universal (1), ={x/?}

Inferencia en lógica de predicados

1. x Hombre(x) Mortal(x)

2. Hombre(Sócrates)

3. Hombre(Socrates) Mortal(Socrates), Elim-Universal (1), ={x/Socrates}

Inferencia en lógica de predicados

1. x Hombre(x) Mortal(x)

2. Hombre(Sócrates)

3. Hombre(Socrates) Mortal(Socrates), Elim-Universal (1), ={x/Socrates}

4. Mortal(Socrates), MP(2,3)

Modus Ponens

 

Y-Eliminación

1  2

i

Y-Introducción

1 2

1  2

 n

n

 n

O-Introducción

1

1 

Resolución unitaria

 

Eliminación universal

x

SUST({x/g},)

Eliminación existencial

x

SUST({x/k},)

Introducción existencial

x SUST({g/x},)

Inferencia en lógica de predicados

1. x Hombre(x)Mortal(x) 2. Hombre(Sócrates)

Inferencia en lógica de predicados

1. x Hombre(x)Mortal(x) 2. Hombre(Sócrates)

Inferencia en lógica de predicados

1. x Hombre(x)Mortal(x)

2. Hombre(Sócrates)

3. Hombre(Sócrates)Mortal(Sócrates), Elim-Universal (1)

4. Mortal(Sócrates), res(2,3)

={x/Socrates}

1. w P(w)Q(w)

2. x P(x)R(x)

3. y Q(y)S(y)

4. z R(z)S(z)

Demostrar S(A)

1. w P(w)Q(w)

2. x P(x)R(x)

3. y Q(y)S(y)

4. z R(z)S(z)

5. P(A)Q(A), Elim-Universal(1) ={w/A}

6. P(A)R(A), Elim-Universal(2) ={x/A}

7. Q(A)S(A), Elim-Universal(3) ={y/A}

8. R(A)S(A), Elim-Universal(4) ={z/A}

9. P(A)S(A), res(5,7)

10. R(A)S(A), res(6,9)

11. S(A), res(8,10)

1. w R(w)P(w)Q(w)S(w)

2. x Q(x)R(x)

3. y S(y)P(y)

4. z P(z)R(z)

Demostrar R(A)

1. w R(w)P(w)Q(w)S(w)

2. x Q(x)R(x)

3. y S(y)P(y)

4. z P(z)R(z)

5. R(A)P(A)Q(A)S(A), Elim-Universal(1) ={w/A}

6. Q(A)R(A), Elim-Universal(2) ={x/A}

7. S(A)P(A), Elim-Universal(3) ={y/A}

8. P(A)R(A), Elim-Universal(4) ={z/A}

9. R(A)P(A)S(A), res(5,6)

10. P(A)R(A), res(7,9)

11. R(A), res(8,10)

1. x P(x)

2. x P(x)Q(x)

3. x Q(x)R(x)

4. x S(x)T(x)

5. S(a)

Demostrar R(b)T(a)

1. x P(x)

2. x P(x)Q(x)

3. x Q(x)R(x)

4. x S(x)T(x)

5. S(a)

6. P(b), Elim-Existencial(1) ={x/b}

 T(x) 5 . S(a) 6 .  P(b), Elim-Existencial(1)  ={x/b} x se puede reemplazar

x se puede reemplazar por b porque no está

en BC

1. x P(x)

2. x P(x)Q(x)

3. x Q(x)R(x)

4. x S(x)T(x)

5. S(a)

6. P(b), Elim-Existencial(1) ={x/b}

7. P(b)Q(b), Elim-Universal(2) ={x/b}

8. Q(b)R(b), Elim-Universal(3) ={x/b}

9. S(a)T(a), Elim-Universal(4) ={x/a}

10. Q(b), res(6,7)

11. R(b), res(8,10)

12. T(a), res(5,9)

13. R(b)T(a), Y-Intro(11,12)

Inferencia en lógica de predicados

Represente las sentencias dadas en el siguiente enunciado:

Todo el que gane el proyecto1, el parcial1 y el parcial2 aprueba IA

Todo el que aprende búsquedas gana el proyecto1

Todo el que aprende inferencia gana el parcial2 Todo el que estudia aprende búsquedas e inferencia

Todo el que compra el libro gana el parcial1

Se conoce que: Juan compró el libro. Juan estudia. Pruebe que Juan gana IA

Inferencia en lógica de predicados

Gana(x,y): x gana y, donde y es un parcial o proyecto ApruebaIA(x): x gana la materia IA Aprende(x,y): x aprende el tema y Estudia(x): x estudia Compra(x,y): x compra y

Inferencia en lógica de predicados

Todo el que gane el proyecto1, el parcial1 y el parcial2 aprueba IA x Gana(x,Proyecto1)Gana(x,Parcial1)Gana(x,Parcial2)ApruebaIA(x) Todo el que aprende búsquedas gana el proyecto1 x Aprende(x,Busquedas)Gana(x,Proyecto1) Todo el que aprende inferencia gana el parcial2 x Aprende(x,Inferencia)Gana(x,Parcial2) Todo el que estudia aprende búsquedas e inferencia x Estudia(x)(Aprende(x,Busquedas)Aprende(x,Inferencia)) Todo el que compra el libro gana el parcial1 x Compra(x,Libro)Gana(x,Parcial1)

1. x Gana(x,Proyecto1)Gana(x,Parcial1)Gana(x,Parcial2)ApruebaIA(x)

2. x Aprende(x,Busquedas)Gana(x,Proyecto1)

3. x Aprende(x,Inferencia)Gana(x,Parcial2)

4. x Estudia(x)(Aprende(x,Busquedas)Aprende(x,Inferencia))

5. x Compra(x,Libro)Gana(x,Parcial1)

6. Compra(Juan,Libro)

7. Estudia(Juan)

Demostrar ApruebaIA(Juan)

1.

x Gana(x,Proyecto1)Gana(x,Parcial1)Gana(x,Parcial2)ApruebaIA(x)

2.

x Aprende(x,Busquedas)Gana(x,Proyecto1)

3.

x Aprende(x,Inferencia)Gana(x,Parcial2)

4.

x Estudia(x)(Aprende(x,Busquedas)Aprende(x,Inferencia))

5.

x Compra(x,Libro)Gana(x,Parcial1)

6.

Compra(Juan,Libro)

7.

Estudia(Juan)

8.

Gana(Juan,Proyecto1)Gana(Juan,Parcial1)Gana(Juan,Parcial2)ApruebaIA(Juan)

9.

Aprende(Juan,Busquedas)Gana(Juan,Proyecto1) , Elim-Universal(2) ={x/Juan}

10. Aprende(Juan,Inferencia)Gana(Juan,Parcial2) , Elim-Universal(3) ={x/Juan}

12. Compra(Juan,Libro)Gana(Juan,Parcial1)

13. Gana(Juan,Parcial1), MP(6,12)

14. Aprende(Juan,Busquedas)Aprende(Juan,Inferencia), MP(7,11)

15. Aprende(Juan,Busquedas), Y-Elim(14)

16. Aprende(Juan,Inferencia), Y-Elim(14)

, Elim-Universal(5) ={x/Juan}

, Elim-Uni

11. Estudia(Juan)(Aprende(Juan,Busquedas)Aprende(Juan,Inferencia)) , Elim-Universal(4) =

8. Gana(Juan,Proyecto1)Gana(Juan,Parcial1)Gana(Juan,Parcial2)ApruebaIA(Juan)

, Elim-Uni

9. Aprende(Juan,Busquedas)Gana(Juan,Proyecto1) , Elim-Universal(2) ={x/Juan}

10.

Aprende(Juan,Inferencia)Gana(Juan,Parcial2)

, Elim-Universal(3) ={x/Juan}

11.

Estudia(Juan)(Aprende(Juan,Busquedas)Aprende(Juan,Inferencia))

, Elim-Universal(4) =

12.

Compra(Juan,Libro)Gana(Juan,Parcial1) , Elim-Universal(5) ={x/Juan}

13.

Gana(Juan,Parcial1), MP(6,12)

14.

Aprende(Juan,Busquedas)Aprende(Juan,Inferencia), MP(7,11)

15.

Aprende(Juan,Busquedas), Y-Elim(14)

16.

Aprende(Juan,Inferencia), Y-Elim(14)

17.

Gana(Juan,Proyecto1), MP(9,15)

18.

Gana(Juan,Parcial2), MP(10,16)

19.

Gana(Juan,Proyecto1)Gana(Juan,Parcial1)Gana(Juan,Parcial2), Y-Intro(13,17,18)

20.

ApruebaIA(Juan), MP(8,19)

Inferencia en lógica de predicados

Represente las sentencias dadas en el siguiente enunciado:

La ley establece que se considera como delito el que un estadounidense

venda armas a naciones enemigas. El país Nono, enemigo de Estados

Unidos, tiene algunos proyectiles, todos ellos le fueron vendidos por el coronel West, un estadounidense

Inferencia en lógica de predicados

Represente las sentencias dadas en el siguiente enunciado:

La ley establece que se considera como delito el que un estadounidense

venda armas a naciones enemigas. El país Nono, enemigo de Estados

Unidos, tiene algunos proyectiles, todos ellos le fueron vendidos por el coronel West, un estadounidense

Pruebe que West es un criminal

“Es delito el que un estadounidense venda armas a naciones enemigas”

“Es delito el que un estadounidense venda armas a naciones enemigas”

x,y,z Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

(1)

“Es delito el que un estadounidense venda armas a naciones enemigas”

x,y,z Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

“Nono tiene algunos proyectiles”

(1)

“Es delito el que un estadounidense venda armas a naciones enemigas”

x,y,z Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

(1)

“Nono tiene algunos proyectiles”

x Posee(Nono,x) Proyectil(x)

(2)

“Es delito el que un estadounidense venda armas a naciones enemigas”

x,y,z Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

(1)

“Nono tiene algunos proyectiles”

x Posee(Nono,x) Proyectil(x)

(2)

“Todo sus proyectiles se los vendió el coronel West”

 

(3)

“Es delito el que un estadounidense venda armas a naciones enemigas”

x,y,z Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

“Nono tiene algunos proyectiles”

x Posee(Nono,x) Proyectil(x)

“Todo sus proyectiles se los vendió el coronel West”

x Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

(1)

(2)

(3)

“Es delito el que un estadounidense venda armas a naciones enemigas”

x,y,z Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

“Nono tiene algunos proyectiles”

x Posee(Nono,x) Proyectil(x)

“Todo sus proyectiles se los vendió el coronel West”

x Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

Es necesario saber que los proyectiles son armas

x Proyectil(x) Arma(x)

y que los enemigos de Estados Unidos se les considera como hostiles

x Enemigo(x, America) Hostil(x)

(1)

(2)

(3)

(4)

(5)

“West es estadounidense”

EstadoUnidense(West)

“Nono es un país”

Nacion(Nono)

“Nono es enemigo de Estado Unidos”

Enemigo(Nono,America)

Nacion(America)

(6)

(7)

(8)

(9)

1.

x,y,z Estadounidense(x)Arma(y)Nacion(z)Hostil(z)Vende(x,z,y)Criminal(x)

2.

x Posee(Nono,x) Proyectil(x)

3.

x Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

4.

x Proyectil(x) Arma(x)

5.

x Enemigo(x, America) Hostil(x)

6.

EstadoUnidense(West)

7.

Nacion(Nono)

8.

Enemigo(Nono,America)

9.

Nacion(America)

Demostrar Criminal(West)

10.

Posee(Nono, M1)Proyectil(M1), Elim-Existencial(2), ={x/M1}

11.

Posee(Nono, M1), Y-Elim(10)

12.

Proyectil(M1), Y-Elim(10)

13.

Proyectil(M1) Arma(M1), Elim-Universal(4), ={x/M1}

14.

Arma(M1), MP(12,13)

15.

Posee(Nono,M1)Proyectil(M1)Vende(West, Nono,M1), Elim-Universal(3), ={x/M1}

16.

Vende(West, Nono, M1), MP(10,15)

17.

Estadounidense(West)Arma(M1)Nacion(Nono)Hostil(Nono)Vende(West,Nono,M1)

Criminal(West) , Elim-Universal(1), ={x/West, y/M1, z/Nono}

18.

Enemigo(Nono, America) Hostil(Nono) , Elim-Universal(5), ={x/Nono}

19.

Hostil(Nono), MP(8,18)

20.

Estadounidense(West)Arma(M1)Nacion(Nono)Hostil(Nono)Vende(West,Nono,M1),

Y-Intro(6,7,14,16,19)

21.

Criminal(West), MP(17,20)

Inferencia en lógica de predicados

Modus ponens generalizado

Logra en un solo paso lo que se requería al aplicar

Y-Introducción, Eliminación universal y Modus ponens

Inferencia en lógica de predicados

Modus ponens generalizado

Logra en un solo paso lo que se requería al aplicar

Y-Introducción, Eliminación universal y Modus ponens

1. P(a)

2. Q(a)

3. x (P(x)Q(x))R(x)

Demostrar R(a)

Inferencia en lógica de predicados

Modus ponens generalizado

Logra en un solo paso lo que se requería al aplicar

Y-Introducción, Eliminación universal y Modus ponens

1. P(a)

2. Q(a)

3. x (P(x)Q(x))R(x)

4. P(a)Q(a), Y-Intro(1,2)

5. (P(a)Q(a))R(a), Elim-Universal (3) ={x/a}

6. R(a), MP(4,5)

Inferencia en lógica de predicados

Modus ponens generalizado

p 1

p 2

.

.

.

p n

(p 1 p 2

SUST(,q)

p n q)

donde p i ’ son términos base y p i son sentencias

cuantificadas en las que existe una sustitución tal que

p i ’=SUST(,p i ) para toda i

Inferencia en lógica de predicados

Modus ponens generalizado

p 1

p 2

.

p n

(p 1 p 2

SUST(,q)

p n q)

1. Proyectil(M1)

2. Posee(Nono,M1)

3. x Proyectil(x)Posee(Nono,x)Vende(West,Nono,x)

Inferencia en lógica de predicados

Modus ponens generalizado

p 1

p 2

.

p n

(p 1 p 2

SUST(,q)

p n q)

1. Proyectil(M1)

2. Posee(Nono,M1)

3. x Proyectil(x)Posee(Nono,x)Vende(West,Nono,x)

4. Vende(West,Nono,M1), MPG(1,2,3) ={x/M1}

1.

x,y,z Estadounidense(x)Arma(y)Nacion(z)Hostil(z)Vende(x,z,y)Criminal(x)

2.

x Posee(Nono,x) Proyectil(x)

3.

x Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

4.

x Proyectil(x) Arma(x)

5.

x Enemigo(x, America) Hostil(x)

6.

EstadoUnidense(West)

7.

Nacion(Nono)

8.

Enemigo(Nono,America)

9.

Nacion(America)

Demostrar Criminal(West)

1.

x,y,z Estadounidense(x)Arma(y)Nacion(z)Hostil(z)Vende(x,z,y)Criminal(x)

2.

x Posee(Nono,x) Proyectil(x)

3.

x Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

4.

x Proyectil(x) Arma(x)

5.

x Enemigo(x, America) Hostil(x)

6.

EstadoUnidense(West)

7.

Nacion(Nono)

8.

Enemigo(Nono,America)

9.

Nacion(America)

10. Posee(Nono, M1)Proyectil(M1), Elim-Existencial(2), ={x/M1} 11. Posee(Nono, M1), Y-Elim(10)

12. Proyectil(M1), Y-Elim(10)

1.

x,y,z Estadounidense(x)Arma(y)Nacion(z)Hostil(z)Vende(x,z,y)Criminal(x)

2.

x Posee(Nono,x) Proyectil(x)

3.

x Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

4.

x Proyectil(x) Arma(x)

5.

x Enemigo(x, America) Hostil(x)

6.

EstadoUnidense(West)

7.

Nacion(Nono)

8.

Enemigo(Nono,America)

9.

Nacion(America)

10. Posee(Nono, M1)Proyectil(M1), Elim-Existencial(2), ={x/M1}

11. Posee(Nono, M1), Y-Elim(10)

12. Proyectil(M1), Y-Elim(10)

13. Arma(M1), MPG(4,12), ={x/M1}

14. Vende(West, Nono,M1), MPG(3,10), ={x/M1}

15. Hostil(Nono), MPG(5,8) ={x/Nono}

16. Criminal(West), MPG(1,6,7,13,14,15) ={x/West, y/M1, z/Nono}

1.

x,y,z Estadounidense(x)Arma(y)Nacion(z)Hostil(z)Vende(x,z,y)Criminal(x)

2.

x Posee(Nono,x) Proyectil(x)

3.

x Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

4.

x Proyectil(x) Arma(x)

5.

x Enemigo(x, America) Hostil(x)

6.

EstadoUnidense(West)

7.

Nacion(Nono)

8.

Enemigo(Nono,America)

9.

Nacion(America)

10. Posee(Nono, M1)Proyectil(M1), Elim-Existencial(2), ={x/M1}

11. Posee(Nono, M1), Y-Elim(10)

12. Proyectil(M1), Y-Elim(10)

13. Arma(M1), MPG(4,12), ={x/M1}

14. Vende(West, Nono,M1), MPG(3,10), ={x/M1}

15. Hostil(Nono), MPG(5,8) ={x/Nono}

16. Criminal(West), MPG(1,6,7,13,14,15) ={x/West, y/M1, z/Nono}

Inferencia en lógica de predicados

Si se quisiera aplicar modus ponens generalizado, las

sentencias en BC tendrían que ser:

- Una implicación con una conjunción en el lado izquierdo y un solo átomo a la derecha

- Una sentencia atómica

Inferencia en lógica de predicados

Si se quisiera aplicar modus ponens generalizado, las

sentencias en BC tendrían que ser:

- Una implicación con una conjunción en el lado izquierdo y un solo átomo a la derecha. (sentencias Horn)

- Una sentencia atómica

Alfred Horn (1918 - 2001) On sentences which are true of direct unions of algebras

Inferencia en lógica de predicados

Forma canónica

Si se quisiera aplicar modus ponens generalizado, las

sentencias en BC tendrían que ser:

- Una implicación con una conjunción en el lado izquierdo y un solo átomo a la derecha. (sentencias Horn)

- Una sentencia atómica

Cuando la base de conocimientos se forma exclusivamente de sentencias Horn se dice que está en forma canónica

1.

x,y,z Estadounidense(x)Arma(y)Nacion(z)Hostil(z)Vende(x,z,y)Criminal(x)

2.

x Posee(Nono,x) Proyectil(x)

3.

x Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

4.

x Proyectil(x) Arma(x)

5.

x Enemigo(x, America) Hostil(x)

6.

EstadoUnidense(West)

7.

Nacion(Nono)

8.

Enemigo(Nono,America)

9.

Nacion(America)

Para convertir a forma canónica se busca

eliminar los cuantificadores existenciales

Inferencia en lógica de predicados

Forma canónica

Eliminar los cuantificadores existenciales:

- Si la sentencia está cuantificada existencialmente se

utiliza Eliminación existencial y Y-Eliminación

x Posee(Nono,x)Proyectil(x)

se convierte en dos sentencias Posee(Nono,M1) y Proyectil(M1)

- Si las sentencias están relacionadas por una disyunción, solo se aplica Eliminación existencial

Inferencia en lógica de predicados

Forma canónica

Como ahora si hay un cuantificador solo puede ser

universal, no es necesario colocarlo

y Posee(y, M1)

se escribe como Posee(y, M1)

1.

x,y,z Estadounidense(x)Arma(y)Nacion(z)Hostil(z)Vende(x,z,y)Criminal(x)

2.

x Posee(Nono,x) Proyectil(x)

3.

x Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

4.

x Proyectil(x) Arma(x)

5.

x Enemigo(x, America) Hostil(x)

6.

EstadoUnidense(West)

7.

Nacion(Nono)

8.

Enemigo(Nono,America)

9.

Nacion(America)

1.

x,y,z Estadounidense(x)Arma(y)Nacion(z)Hostil(z)Vende(x,z,y)Criminal(x)

2.

Posee(Nono,M1) Proyectil(M1)

3.

x Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

4.

x Proyectil(x) Arma(x)

5.

x Enemigo(x, America) Hostil(x)

6.

EstadoUnidense(West)

7.

Nacion(Nono)

8.

Enemigo(Nono,America)

9.

Nacion(America)

1. x,y,z Estadounidense(x)Arma(y)Nacion(z)Hostil(z)Vende(x,z,y)Criminal(x)

2. Posee(Nono,M1)

3. Proyectil(M1)

4. x Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

5. x Proyectil(x) Arma(x)

6. x Enemigo(x, America) Hostil(x)

7. EstadoUnidense(West)

8. Nacion(Nono)

9. Enemigo(Nono,America)

10. Nacion(America)

1. Estadounidense(x)Arma(y)Nacion(z)Hostil(z)Vende(x,z,y)Criminal(x)

2. Posee(Nono,M1)

3. Proyectil(M1)

4. Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

5. Proyectil(x) Arma(x)

6. Enemigo(x, America) Hostil(x)

7. EstadoUnidense(West)

8. Nacion(Nono)

9. Enemigo(Nono,America)

10. Nacion(America)

1. Estadounidense(x)Arma(y)Nacion(z)Hostil(z)Vende(x,z,y)Criminal(x)

2. Posee(Nono,M1)

3. Proyectil(M1)

4. Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

5. Proyectil(x) Arma(x)

6. Enemigo(x, America) Hostil(x)

7. EstadoUnidense(West)

8. Nacion(Nono)

9. Enemigo(Nono,America)

10. Nacion(America)

Demostrar Criminal(West)

1. Estadounidense(x)Arma(y)Nacion(z)Hostil(z)Vende(x,z,y)Criminal(x)

2. Posee(Nono,M1)

3. Proyectil(M1)

4. Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

5. Proyectil(x) Arma(x)

6. Enemigo(x, America) Hostil(x)

7. EstadoUnidense(West)

8. Nacion(Nono)

9. Enemigo(Nono,America)

10. Nacion(America)

11. Arma(M1), MPG(3,5) ={x/M1}

1. Estadounidense(x)Arma(y)Nacion(z)Hostil(z)Vende(x,z,y)Criminal(x)

2. Posee(Nono,M1)

3. Proyectil(M1)

4. Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

5. Proyectil(x) Arma(x)

6. Enemigo(x, America) Hostil(x)

7. EstadoUnidense(West)

8. Nacion(Nono)

9. Enemigo(Nono,America)

10. Nacion(America)

11. Arma(M1), MPG(3,5) ={x/M1}

12. Hostil(Nono), MPG(6,9) ={x/Nono}

13.Vende(West, Nono, M1), MPG(2,3,4), ={x/M1}

14. Criminal(West), MPG(1,7,8,11,12,13), ={x/West, y/M1, z/Nono}

Inferencia en lógica de predicados

Represente en lógica de predicados y convierta a forma canónica:

Un dragón es feliz si es verde, puede volar y tiene a su madre viva. Un dragón puede volar si es adulto. Todos los dragones verdes tienen a su madre viva. Apofis es un dragón adulto y verde.

- Expresar en forma canónica

- Pruebe que Apofis es feliz

Verde(x): x es verde Vuela(x): x sabe volar MadreViva(x): x tiene la madre viva Feliz(x): x es feliz Adulto(x): x es adulto

1. x Verde(x)Vuela(x)MadreViva(x)Feliz(x)

2. x Adulto(x)Vuela(x)

3. x Verde(x)MadreViva(x)

4. Verde(apofis)Adulto(apofis)

Expresar en forma canónica

1. Verde(x)Vuela(x)MadreViva(x)Feliz(x)

2. Adulto(x)Vuela(x)

3. Verde(x)MadreViva(x)

4. Verde(apofis)Adulto(apofis)

Demostrar Feliz(apofis)

1. Verde(x)Vuela(x)MadreViva(x)Feliz(x)

2. Adulto(x)Vuela(x)

3. Verde(x)MadreViva(x)

4. Verde(apofis)Adulto(apofis)

5. Verde(apofis), Y-Elim(4)

6. Adulto(apofis), Y-Elim(4)

7. Vuela(apofis), MPG(2,6) ={x/apofis}

8. MadreViva(apofis), MPG(3,5) ={x/apofis}

9. Feliz(apofis), MPG(1,5,7,8) ={x/apofis}

Inferencia en lógica de predicados

Represente en lógica de predicados y convierta a forma canónica:

En todos los restaurantes costosos Japoneses sirven Sushi. Todos los restaurantes costosos de Japón residen en Tokio. En todos los restaurantes de Tokio donde sirven Sushi, sirven también Hiyashi.

Unagi es un restaurante Japonés costoso.

- Expresar en forma canónica - Pruebe que en Unagi sirven Hiyashi

Japones(x): x está en Japón Costoso(x): x es costoso Restaurante(x): x es un restaurante Reside(x,y): x reside en y Sirven(x,y): en x sirven el plato y

1. x Restaurante(x)Japones(x)Costoso(x)Sirven(x,Sushi)

2. x Costoso(x)Restaurante(x)Reside(x,Tokio)

3. x Reside(x,Tokio)Restaurante(x)Sirven(x,Sushi)Sirven(x,Hiyashi)

4. Restaurante(Unagi)Japones(Unagi)Costoso(Unagi)

Expresar en forma canónica

1. Restaurante(x)Japones(x)Costoso(x)Sirven(x,Sushi)

2. Costoso(x)Restaurante(x)Reside(x,Tokio)

3. Reside(x,Tokio)Restaurante(x)Sirven(x,Sushi)Sirven(x,Hiyashi)

4. Restaurante(Unagi)Japones(Unagi)Costoso(Unagi)

Demostrar Sirven(Unagi, Hiyashi)

1.

Restaurante(x)Japones(x)Costoso(x)Sirven(x,Sushi)

2.

Costoso(x)Restaurante(x)Reside(x,Tokio)

3.

Reside(x,Tokio)Restaurante(x)Sirven(x,Sushi)Sirven(x,Hiyashi)

4.

Restaurante(Unagi)Japones(Unagi)Costoso(Unagi)

5.

Restaurante(Unagi), Y-Elim(4)

6.

Japones(Unagi), Y-Elim(4)

7.

Costoso(Unagi), Y-Elim(4)

8.

Sirven(Unagi,Sushi), MPG(1,4) ={x/Unagi}

9.

Reside(Unagi,Tokio), MPG(2,5,7) ={x/Unagi}

10. Sirven(Unagi, Hiyashi), MPG(3,5,8,9) ={x/Unagi}

Inferencia en lógica de predicados

Represente en lógica de predicados y convierta a forma canónica:

Todo robot que resuelve problemas lógicos es inteligente. Todos los robots japoneses pueden resolver todos los problemas lógicos. Existe al menos un problema lógico. Ariel es un robot japonés.

- Expresar en forma canónica - Pruebe que Ariel es inteligente

Robot(x): x es un robot Resuelve(x,y): x resuelve y ProblemaLogico(x): x es un problema lógico Inteligente(x): x es inteligente Japones(x): x es Japones

1. xy Robot(x)Resuelve(x,y)ProblemaLogico(y)Inteligente(x)

2. xy Robot(x)Japones(x)ProblemaLogico(y)Resuelve(x,y)

3. x ProblemaLogico(x)

4. Robot(ariel)Japones(ariel)

Expresar en forma canónica

1. Robot(x)Resuelve(x,y)ProblemaLogico(y)Inteligente(x)

2. Robot(x)Japones(x)ProblemaLogico(y)Resuelve(x,y)

3. ProblemaLogico(L1)

4. Robot(ariel)Japones(ariel)

Demostrar Inteligente(ariel)

1. Robot(x)Resuelve(x,y)ProblemaLogico(y)Inteligente(x)

2. Robot(x)Japones(x)ProblemaLogico(y)Resuelve(x,y)

3. ProblemaLogico(L1)

4. Robot(ariel)Japones(ariel)

5. Resuelve(ariel,L1), MPG(2,3,4) ={x/ariel, y/L1}

6. Robot(ariel), Y-Elim(4)

7. Inteligente(ariel), MPG(1,3,5,6), ={x/ariel, y/L1}

Inferencia en lógica de predicados

Programas de razonamiento Enfoque 1: encadenamiento hacia adelante

Enfoque 2: encadenamiento hacia atrás

Inferencia en lógica de predicados

Programas de razonamiento

Enfoque 1: encadenamiento hacia adelante

BC

Aplicar

inferencia

• Enfoque 1 : encadenamiento hacia adelante BC Aplicar inferencia Agregar_a_BC(  ) Sentencia inferida 
• Enfoque 1 : encadenamiento hacia adelante BC Aplicar inferencia Agregar_a_BC(  ) Sentencia inferida 

Agregar_a_BC()

Sentencia inferida

Inferencia en lógica de predicados

Encadenamiento hacia adelante

Suponga que se adiciona p a BC

Se identifican todas las implicaciones cuya premisa sea p

Si se sabe que las demás premisas son válidas, se puede añadir la consecuencia

Luego con esa consecuencia se verifica si se “activan” nuevas implicaciones y se repite el proceso

Inferencia en lógica de predicados

Encadenamiento hacia adelante

Demostrar Criminal(West) utilizando encadenamiento

hacia adelante

Inicialmente BC tiene solo las implicaciones en forma de Horn

Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

Proyectil(x) Arma(x)

Enemigo(x, EUA) Hostil(x)

(1)

(2)

(3)

(4)

Inicialmente BC tiene solo las implicaciones en forma de Horn

Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

Proyectil(x) Arma(x)

Enemigo(x, EUA) Hostil(x)

- EstadoUnidense(West)

- Nacion(Nono)

- Enemigo(Nono,EUA)

- Posee(Nono,M1)

- Proyectil(M1)

- Nacion(EUA)

(1)

(2)

(3)

(4)

Inicialmente BC tiene solo las implicaciones en forma de Horn

Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

Proyectil(x) Arma(x)

Enemigo(x, EUA) Hostil(x)

(1)

(2)

(3)

(4)

Se añaden las sentencias atómicas, una por una, (encadenando hacia adelante)

Inicialmente BC tiene solo las implicaciones en forma de Horn

Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

Proyectil(x) Arma(x)

Enemigo(x, EUA) Hostil(x)

(1)

(2)

(3)

(4)

ENCADENAMIENTO-HACIA-ADELANTE(BC, Estadounidense(West)) no produce ninguna inferencia nueva

Inicialmente BC tiene solo las implicaciones en forma de Horn

Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

Proyectil(x) Arma(x)

Enemigo(x, EUA) Hostil(x)

(1)

(2)

(3)

(4)

ENCADENAMIENTO-HACIA-ADELANTE(BC, Nacion(Nono)) no produce ninguna inferencia nueva

Inicialmente BC tiene solo las implicaciones en forma de Horn

Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

Proyectil(x) Arma(x)

Enemigo(x, EUA) Hostil(x)

(1)

(2)

(3)

(4)

ENCADENAMIENTO-HACIA-ADELANTE(BC, Enemigo(Nono,EUA)) unifica con (4) y produce Hostil(Nono)

Inicialmente BC tiene solo las implicaciones en forma de Horn

Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

Proyectil(x) Arma(x)

Enemigo(x, EUA) Hostil(x)

(1)

(2)

(3)

(4)

ENCADENAMIENTO-HACIA-ADELANTE(BC, Enemigo(Nono,EUA)) unifica con (4) y produce Hostil(Nono)

ENCADENAMIENTO-HACIA-ADELANTE(BC, Hostil(Nono)) no produce ninguna inferencia nueva

Inicialmente BC tiene solo las implicaciones en forma de Horn

Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

Proyectil(x) Arma(x)

Enemigo(x, EUA) Hostil(x)

(1)

(2)

(3)

(4)

ENCADENAMIENTO-HACIA-ADELANTE(BC, Posee(Nono,M1)) no produce ninguna inferencia nueva

Inicialmente BC tiene solo las implicaciones en forma de Horn

Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

Proyectil(x) Arma(x)

Enemigo(x, EUA) Hostil(x)

(1)

(2)

(3)

(4)

ENCADENAMIENTO-HACIA-ADELANTE(BC, Proyectil(M1)) unifica con (2) y (3)

Inicialmente BC tiene solo las implicaciones en forma de Horn

Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

Proyectil(x) Arma(x)

Enemigo(x, EUA) Hostil(x)

(1)

(2)

(3)

(4)

ENCADENAMIENTO-HACIA-ADELANTE(BC, Proyectil(M1)) unifica con (2) y (3) ENCADENAMIENTO-HACIA-ADELANTE(BC, Vende(West,Nono,M1)) no produce ninguna inferencia nueva

Inicialmente BC tiene solo las implicaciones en forma de Horn

Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

Proyectil(x) Arma(x)

Enemigo(x, EUA) Hostil(x)

(1)

(2)

(3)

(4)

ENCADENAMIENTO-HACIA-ADELANTE(BC, Proyectil(M1)) unifica con (2) y (3) ENCADENAMIENTO-HACIA-ADELANTE(BC, Vende(West,Nono,M1)) no produce ninguna inferencia nueva ENCADENAMIENTO-HACIA-ADELANTE(BC, Arma(M1)) unifica con (1).

Inicialmente BC tiene solo las implicaciones en forma de Horn

Estadounidense(x) Arma(y) Nacion(z) Hostil(z) Vende(x,z,y) Criminal(x)

Posee(Nono,x) Proyectil(x) Vende(West, Nono,x)

Proyectil(x) Arma(x)

Enemigo(x, EUA) Hostil(x)

(1)

(2)

(3)

(4)

ENCADENAMIENTO-HACIA-ADELANTE(BC, Proyectil(M1)) unifica con (2) y (3) ENCADENAMIENTO-HACIA-ADELANTE(BC, Vende(West,Nono,M1)) no produce ninguna inferencia nueva ENCADENAMIENTO-HACIA-ADELANTE(BC, Arma(M1)) unifica con (1). ENCADENAMIENTO-HACIA-ADELANTE(BC, Criminal(West))

Inferencia en lógica de predicados

Encadenamiento hacia adelante No se busca necesariamente una meta específica

Inferencia en lógica de predicados

Programas de razonamiento Enfoque 2: encadenamiento hacia atrás

Empezar por la sentencia que se quiere demostrar

Buscar en BC las sentencias que permitan llegar a tal conclusión