Sei sulla pagina 1di 30

Inteligencia Artificial

Conocimiento y razonamiento
3. Lgica de primer orden
Dr. Edgard Ivn Bentez Guerrero

Dr. Edgard I. Bentez G.

Inteligencia Artificial

Lgica de primer orden




La lgica proposicional asume que el mundo tiene


hechos
La lgica de primer orden asume que el mundo
contiene:
 Objetos: personas, casas
 Relaciones: hermano de, mayor que, parte de, entre,
 Funciones: suma, ..

Dr. Edgard I. Bentez G.

Inteligencia Artificial

Sintaxis








Constantes:
John, 2, Inglaterra,...
Predicados:
Hermano, >,...
Funciones:
RazCuadrada, PiernaIzquierdaDe,...
Variables:
x, y, a, b,...
Conectores:
, , , ,
Igualdad:
=
Cuantificadores: ,

Dr. Edgard I. Bentez G.

Inteligencia Artificial

Sentencias atmicas


Sentencia atmica
 predicado(trmino1,...,trminon)
 termino1 = termino2

Trmino
 Funcin (trmino1,...,trminon)
 Constante
 Variable

Por ejemplo:
 Hermano(John, Richard)
 >(Largo(PiernaIzqDe(Richard)),Largo(PiernaIzqDe(John)))
Dr. Edgard I. Bentez G.

Inteligencia Artificial

Sentencias compuestas


Hechas de sentencias atmicas usando conectores


S, S1 S2, S1 S2, S1 S2, S1 S2,

Ejemplos:
 Hermano(John,Richard) Hermano(Richard,John)
 >(1,2) (1,2)
 >(1,2) >(1,2)

Dr. Edgard I. Bentez G.

Inteligencia Artificial

Semntica


Sentencias son verdaderas con respecto a un modelo y a una


interpretacin
Un modelo contiene objetos (elementos del dominio) y
relaciones entre ellos
Una interpretacin define referentes para
 Smbolos constantes
 Smbolos de predicado
 Smbolos de funcin

objetos
relaciones
relaciones funcionales

Una sentencia atmica predicado(trmino1,...,trminon) es


verdadera sii los objetos a los que se refieren
trmino1,...,trminon estn en la relacin a la que se refiere
predicado
Dr. Edgard I. Bentez G.

Inteligencia Artificial

Ejemplo de modelo

Dr. Edgard I. Bentez G.

Inteligencia Artificial

Cuantificacin universal


<variables> <sentencia>
Todas las personas en Inglaterra son listas:
x En(x, Inglaterra) Listo(x)

x P es verdadera en un modelo m sii P es verdadera


con x siendo cada posible objeto del modelo
Vagamente hablando, esto es equivalente a la
conjuncin de todas las posibles instanciaciones de P
En(John, Inglaterra) Listo(John)
En(Richard, Inglaterra ) Listo(Richard)

Dr. Edgard I. Bentez G.

Inteligencia Artificial

Error comn a evitar





Tpicamente, es el conector principal para


Error comn: usar como el conector de :
x En(x, Inglaterra) Listo(x)
significa Todas las personas en Inglaterra y todas las personas
son listas

Dr. Edgard I. Bentez G.

Inteligencia Artificial

Cuantificacin existencial


<variables> <sentencia>
Alguien en Inglaterra es listo:
x En(x, Inglaterra) Listo(x)

x P es verdadera en un modelo m sii P es verdadera


con x siendo algn posible objeto del modelo
Vagamente hablando, equivalente a la disyuncin de
las instanciaciones de P
En(John, Inglaterra) Listo(John)
En(Richard, Inglaterra ) Listo(Richard)
...
Dr. Edgard I. Bentez G.

Inteligencia Artificial

10

Otro error comn a evitar





Tpicamente, es el conector principal con


Error comn: usar como el conectivo principal de :
x En(x, Inglaterra) Listo(x)
es verdadera si hay alguien que no est en Inglaterra !

Dr. Edgard I. Bentez G.

Inteligencia Artificial

11

Propiedades de los cuantificadores




x y es lo mismo que y x

x y es lo mismo que y x

x y no es lo mismo que y x

x y Ama(x,y)
 Hay una persona que ama a todos en el mundo

y x Ama(x,y)
 Todas las personas del mundo son amadas al menos por una persona

Dualidad de los cuantificadores: cada uno puede ser expresado usando el


otro
 x Gusta(x,Helado)
 x Gusta(x,Brocoli)

Dr. Edgard I. Bentez G.

x Gusta(x,Helado)
x Gusta(x,Brocoli)

Inteligencia Artificial

12

Igualdad


trmino1 = trmino2 es verdadera en cualquier


interpretacin sii trmino1 y trmino2 se refieren al
mismo objeto

E.g., definicin
Progenitor:

de

Hermano

en

trminos

de

x,y Hermano (x,y) [(x = y) m,f (m = f)


Progenitor(m,x) Progenitor(f,x) Progenitor(m,y)
Progenitor(f,y)]

Dr. Edgard I. Bentez G.

Inteligencia Artificial

13

Usando lgica de primer orden: el dominio familia




El marido de una persona es un esposo masculino


x,y Marido(x,y) (Masculino(x) Esposo(x,y))

Una madre es el progenitor femenino de una persona


m,c Madre(c) = m (Femenino(m) Progenitor(m,c))

El abuelo es el padre del padre de uno


x,y Abuelo(x,y) z Padre(x,z) Padre(z,y)

Dr. Edgard I. Bentez G.

Inteligencia Artificial

14

Instanciacin universal (IU)




Toda instanciacin de una sentencia


universalmente est implicada por sta
v
Subst({v/g}, )

cuantificada

para cualquier variable v y trmino aterrizado g




E.g., x King(x) Greedy(x) Evil(x) produce:


 King(John) Greedy(John) Evil(John)
 King(Richard) Greedy(Richard) Evil(Richard)
 King(Father(John)) Greedy(Father(John)) Evil(Father(John))

Dr. Edgard I. Bentez G.

Inteligencia Artificial

15

Instanciacin existencial (IE)




Para cualquier sentencia , variable v, y smbolo constante k que no aparece


en ningn otro lado (constante de Skolem) en la base de conocimiento:
v
Subst({v/k}, )

E.g., x Crown(x) OnHead(x,John) produce:


Crown(C1) OnHead(C1,John)
dado que C1 sea un nuevo smbolo constante

Dr. Edgard I. Bentez G.

Inteligencia Artificial

16

Reduccin a inferencia proposicional




Supongamos que la BC contiene lo siguiente


x King(x) Greedy(x) Evil(x)
King(John)
Greedy(John)
Brother(Richard,John)

Instanciando la sentencia cuantificada de todas las formas posibles, se obtiene


King(John) Greedy(John) Evil(John)
King(Richard) Greedy(Richard) Evil(Richard)
King(John)
Greedy(John)
Brother(Richard,John)

La nueva BC es reducida a un conjunto de proposiciones


King(John), Greedy(John), Evil(John), King(Richard), etc.

Dr. Edgard I. Bentez G.

Inteligencia Artificial

17

Problemas con la reduccin a lgica proposicional





La reduccin genera muchas sentencias irrelevantes


Por ejemplo, de:





x King(x) Greedy(x) Evil(x)


King(John)
y Greedy(y)
Brother(Richard,John)

puede verse que Evil(John), pero la reduccin produce


muchos hechos como Greedy(Richard) que son
irrelevantes
Dr. Edgard I. Bentez G.

Inteligencia Artificial

18

Unificacin


Se puede inferir ms rpidamente el hecho si se encuentra una sustitucin


tal que King(x) y Greedy(x) empaten con King(John) and Greedy(y)
= {x/John,y/John}

Unificar(,) = si =

p
Knows(John,x)
Knows(John,x)
Knows(John,x)
Knows(John,x)


q
Knows(John,Jane)
Knows(y,OJ)
Knows(y,Mother(y))
Knows(x,OJ)

{x/Jane}}
{x/OJ,y/John}}
{y/John,x/Mother(John)}}
{fail}

La estandarizacin de variables elimina traslapes, e.g., Knows(z17,OJ)


Dr. Edgard I. Bentez G.

Inteligencia Artificial

19

Unificacin


Para unificar Knows(John,x) y Knows(y,z)


= {y/John, x/z} o bien = {y/John, x/John, z/John}




El primer unificador es ms general que el segundo


Para cada par de expresiones unificable hay un
unificador ms general (UMG) que es nico respecto al
nombramiento de las variables
UMG = { y/John, x/z }
Dr. Edgard I. Bentez G.

Inteligencia Artificial

20

Algoritmo de unificacin

Dr. Edgard I. Bentez G.

Inteligencia Artificial

21

Algoritmo de unificacin

Dr. Edgard I. Bentez G.

Inteligencia Artificial

22

Modus Ponens Generalizado (MPG)


p1', p2', , pn', ( p1 p2 pn q)
q


Ejemplo:





donde pi = pi para todo i

p1' es King(John)
p1 es King(x)
p2' es Greedy(y)
p2 es Greedy(x)
es {x/John,y/John} q es Evil(x)
q es Evil(John)

MPG usado con una base de conocimiento de clausulas determinadas


(aquellas que tienen exactamente una literal positiva)
Se asume que todas las variables estn universalmente cuantificadas

Dr. Edgard I. Bentez G.

Inteligencia Artificial

23

Ejemplo de base de conocimiento




La ley de Estados Unidos dice que es un crimen que un


uno de sus ciudadanos venda armas a naciones
hostiles. El pas Nono, un enemigo de EU, tiene
algunos misiles y todos sus misiles fueron vendidos
por el Coronel West, quien es ciudadano
estadounidense

Probar que el Coronel West es un criminal

Dr. Edgard I. Bentez G.

Inteligencia Artificial

24

Base de conocimiento


... Es un crimen que un ciudadano de EU venda armas a naciones hostiles:


American(x) Weapon(y) Sells(x,y,z) Hostile(z) Criminal(x)

Nono tiene misiles, i.e., x Owns(Nono,x) Missile(x):


Owns(Nono,M1) and Missile(M1)

todos sus misiles fueron vendidos por el coronel West


Missile(x) Owns(Nono,x) Sells(West,x,Nono)

Los misiles son armas:


Missile(x) Weapon(x)

Un enemigo de Eu es hostil:
 Enemy(x,America) Hostile(x)

West, quien es ciudadano de EU


 American(West)

El pas Nono, un enemigo de EU


 Enemy(Nono,America)
Dr. Edgard I. Bentez G.

Inteligencia Artificial

25

Algoritmo de encadenamiento hacia adelante

Dr. Edgard I. Bentez G.

Inteligencia Artificial

26

Encadenamiento hacia adelante

Dr. Edgard I. Bentez G.

Inteligencia Artificial

27

Encadenamiento hacia atrs

Dr. Edgard I. Bentez G.

Inteligencia Artificial

28

Encadenamiento hacia atrs

Dr. Edgard I. Bentez G.

Inteligencia Artificial

29

Programacin lgica: Prolog






Algoritmo = Lgica + Control


Base: encadenamiento hacia atrs con clausulas de Horn
Programa = conjunto de clausulas = cabeza :- literal1, literaln.
criminal(X) :- american(X), weapon(Y), sells(X,Y,Z), hostile(Z).

Encadenamiento hacia atrs en profundidad primero y de izquierda a


derecha
Equipado con
 Predicados aritmticos, e.g., X is Y*Z+3
 Predicados que tienen efectos colaterales (e.g., entrada y salida, assert/retract)

Suposicin del mundo cerrado ("negacin como falla")


 e.g., dado alive(X) :- not dead(X).
 alive(joe) es cierto si dead(joe) falla
Dr. Edgard I. Bentez G.

Inteligencia Artificial

30

Potrebbero piacerti anche