x - Ceidis

Anuncio
Inteligencia Artificial
Clase #7
Lógica de predicados
Dr. Wladimir Rodríguez
Postgrado en Computación
[email protected]
Lógica General
Las lógicas se caracterizan por lo que
ellas consideran como "primitivas".
W
Lógica
Que existe en el Mundo
Proposicional
hechos
Estados de Conocimiento
hechos, objetos,
relaciones
hechos, objetos,
relaciones, tiempo
verdadero/falso/
desconocido
verdadero/falso/
desconocido
verdadero/falso/
desconocido
Probabilidad
hechos
grado de creencia 0..1
Difusa
grados de verdad
grado de creencia 0..1
Predicados
Temporal
Dr. Wladimir Rodríguez
2
Inteligencia Artificial
Sintaxis Básica de la Lógica
de Predicados
W
Un término es utilizado para denotar un
objeto en el mundo.
W
W
W
constante: LuisPerez, 2, Coro,Verde, ...
variable: x, y, a, b, c, …
función(term1, …, termn):
W
W
W
W
W
e.g. Sqrt(9), Distancia(Coro,Caracas)
mapea uno o mas objetos con otro objeto
se puede referir a un objecto sin nombre: e.g.
PiernaIzquieradDe(Juan)
representa una relación funcional definida por el
usuario
Un término base es un término sin variables.
Dr. Wladimir Rodríguez
3
Inteligencia Artificial
Sintaxis Básica de la Lógica
de Predicados
W
Un átomo es la expresión mas pequeña a la
que se le puede asignar un valor de verdad.
W
predicado(term1, …, termn):
W
W
W
W
Maestro(Luis, Ana),
<=(Sqrt(2),Sqrt(7))
mapea uno o mas objetos a un valor de verdad
representa una relación definida por el usuario
term1 = term2:
W
W
Dr. Wladimir Rodríguez
Ingreso(Juan) = 200K, 1 = 2
representa la relación de igualdad cuando dos
términos se refieren al mismo objeto
4
Inteligencia Artificial
Sintaxis Básica de la Lógica
de Predicados
X
Una sentencia representa un hecho en el
mundo al cual le es asignado un valor de
verdad.
X
X
átomo
sentencias complejas usando los conectores:
¬
X
X
X
Amigo(Luis,Ana) Amigo(Ana,Luis)
>(11,22) <(22,33)
sentencias complejas utilizando variables
cuantificadas:
Dr. Wladimir Rodríguez
5
Inteligencia Artificial
Sintaxis Básica de la Lógica
de Predicados
A las sentencias se les asigna un valor de verdad
con respecto a un modelo y a una interpretación.
X
X
El modelo contiene los objetos y las relaciones
entre ellos.
La interpretación específica que símbolos se
refieren a:
X
X
X
los símbolos constantes se refieren a objetos
los símbolos de predicados se refieren a relaciones.
los símbolos de funciones se refieren a relaciones
funcionales.
Dr. Wladimir Rodríguez
6
Inteligencia Artificial
Semántica de la LPO:
Asignación de Verdad
X
El átomo predicado(term1, …, termn) es verdadero
iff los objetos referidos por term1, …, termn están
en la relación indicada por el predicado.
¿Cual es el valor de verdad para F(A,L)?
X
modelo:
objetos: Ana, Juan, Maria, Luis
X relación: Amigo {<Ana,Maria>,<Maria,Ana>}
interpretación:
X A significa Ana, J significa Juan, M significa Maria, L
significa Luis
X F(term1,term2) significa term1 es amigo de term2
X
X
Dr. Wladimir Rodríguez
7
Inteligencia Artificial
Sintaxis de LPO:
Cuantificadores
Cuantificador Universal: <variables> <sentencia>
La sentencia se mantiene verdadera para todos
los valores de x en el dominio de la variable x.
W
El conector principal es normalmente
formando reglas si-entonces
W
Todos los humanos son mamíferos.
x Humano(x) Mamifero(x)
W
W
significa si x es un humano entonces x es un
mamífero
Dr. Wladimir Rodríguez
8
Inteligencia Artificial
Sintaxis de LPO:
Cuantificadores
l
x Humano(x)
Mamifero(x)
l
X
Equivalente a la conjunción de las
instanciaciones de x:
X
(Humano(Juan) Mamifero(Juan))
(Humano(Ana) Mamifero(Ana))
(Humano(22)
Manifero(22)) …
Dr. Wladimir Rodríguez
9
Inteligencia Artificial
Sintaxis de LPO:
Cuantificadores
X
Es un error común el usar como conector
principal.
X resultando en una sentencia general acerca de
todo.
X
Por ejemplo: x Humano(x) Mamifero(x)
X (Humano(Juan)
Mamifero(Juan))
(Humano(Ana) Mamifero(Ana))
(Humano(22) Mamifero(22) ) …
X significa que todo es humano y mamifero
Dr. Wladimir Rodríguez
10
Inteligencia Artificial
Sintaxis de LPO:
Cuantificadores
X
X
Cuantificador existencial: <variables>
<sentencia>
La sentencia será verdadera para algún
valor de x en el dominio de la variable x.
X
X
Conector principal típico
X
X
Algunos humanos son viejos.
x Humano(x) Viejo(x)
X
Dr. Wladimir Rodríguez
significa que x es un humano y que x es viejo
11
Inteligencia Artificial
Sintaxis de LPO:
Cuantificadores
X
x Humano(x)
Viejo(x)
X
Equivalente a la disyunción de
instanciaciones de x:
X
(Humano(Juan) Viejo(Juan))
(Humano(Ana) Viejo(Ana))
(Humano(22) Viejo(22) ) …
Dr. Wladimir Rodríguez
12
Inteligencia Artificial
Sintaxis de LPO:
Cuantificadores
X
Un error común es el usar
principal.
X
X
como conector
resultando en una sentencia débil
Por ejemplo: x Humano(x) Viejo(x)
X
(Humano(Juan) Viejo(Juan))
(Humano(Ana) Viejo(Ana))
(Humano(22)
Viejo(22) ) …
X
Dr. Wladimir Rodríguez
verdadero si existe cualquier cosa que no es
humano
13
Inteligencia Artificial
Sintaxis de LPO:
Cuantificadores
X
Propiedades de los cuantificadores:
X
x y es lo mismo que y x
X
x y es lo mismo que y x
X
X
¿Por qué?
x y Querer(x,y) es voz activa:
X
Todo el mundo quiere a todo el mundo
y x Querer(x,y) es voz pasiva:
X
X
Dr. Wladimir Rodríguez
Todo el mundo es querido por todo el mundo
14
Inteligencia Artificial
Sintaxis de LPO:
Cuantificadores
X
Propiedades de los cuantificadores:
X
x y no es lo mismo que y x
X
x y no es lo mismo que y x
X
¿Por qué?
x y Querer(x,y) es voz activa:
X
X
Todos quieren a alguien.
y x Querer(x,y) es voz pasiva:
X
X
Dr. Wladimir Rodríguez
Alguien es querido por todos.
15
Inteligencia Artificial
Sintaxis de LPO:
Cuantificadores
X
Propiedades de los cuantificadores:
X
x P(x) es lo mismo que ¬ x ¬P(x)
X
x P(x) es lo mismo que ¬ x ¬P(x)
X
X
¿Por qué?
x Gustar(x,Helado)
X
X
A todos les gusta el helado.
¬ x ¬Gustar(x,Helado) es una doble
negación
X
Dr. Wladimir Rodríguez
No hay nadie que no le guste el helado.
16
Inteligencia Artificial
Sintaxis de LPO:
Cuantificadores
X
Propiedades de los cuantificadores:
X
x P(x) si se niega es x ¬P(x)
X
x P(x) si se niega es x ¬P(x)
X
X
¿Por qué?
x Gustar(x,Helado)
X
A todos les gusta el helado.
x ¬Gustar(x,Helado)
X
X
X
Dr. Wladimir Rodríguez
A alguien no le gusta el helado.
se debe aplicar la Ley de Morgan para instanciar
completamente la sentencia
17
Inteligencia Artificial
Sintaxis de LPO: Bases
X
Una variable libre es una variable que no
esta atada a un cuantificador.
y Gustar(x,y)
X
X
x es libre, y esta atada
X
X
Una formula bien formada es una sentencia
donde todas las variables están cuantificadas.
Dr. Wladimir Rodríguez
18
Inteligencia Artificial
Resumen
X
Constantes: Luis, 2, Coro, …
X
Funciones: Ingreso, Dirección, Sqrt, …
X
Predicados: Hermana, Maestro, <=, …
X
Variables: x, y, a, b, c, …
X
Conectores:
X
Igualdad: =
X
Cuantificadores:
Dr. Wladimir Rodríguez
¬
19
Inteligencia Artificial
Resumen
X
X
Termino: Constante, variable, or Función(term1, …, termn)
X
denota un objeto en el mundo
X
término base no tiene variables atadas
Atomo: Predicado(term1, …, termn), term1 = term2
X
X
Sentencia: átomo, sentencia cuantificada con variables o sentencias
complejas usando conectores
X
X
es la expresión mas pequeña a la que se le puede asignar un valor
de verdad
se le asigna un valor de verdad
Formula Bien Formada (fbf): sentencia con todas las variables
cuantificada
Dr. Wladimir Rodríguez
20
Inteligencia Artificial
Ejemplos
X
Convertir las siguientes sentencias a LPO.
X
Luis es un pescado
X
¿Cuales son las constantes?
X
Luis
X
¿Cuales son las relaciones?
X
es un pescado
X
Respuesta: Pescado(Luis)
X
Ana y María son mujeres
X
Ana y María son amigas
X
Ana o María no son plantas
Dr. Wladimir Rodríguez
21
Inteligencia Artificial
Ejemplos
X
Convertir las siguientes sentencias a LPO:
X
América le compro Alaska a Rusia
X
¿Cuales son las constantes?
X
América, Alaska, Rusia
X
¿Cuales son las relaciones?
X
comprar
X
Respuesta: Comprar(America, Alaska, Rusia)
X
Tibio es entre frío y caliente
X
Ana, Luisa, Juan y José fueron juntos al baile
Dr. Wladimir Rodríguez
22
Inteligencia Artificial
Ejemplos
• Convertir las siguientes sentencias a LPO:
• Juan colecciona de todo
• ¿Cuales son las variables?
• de todo
• ¿Cuales son los cuantificadores?
• todo, universal
• Respuesta: x Colecciona (Juan, x)
•
Colecciona (Juan, Lápiz)
• Juan colecciona algo
• Alguien colecciona a Juan
Dr. Wladimir Rodríguez
23
Colecciona(Juan,Ana)
Inteligencia Artificial
Ejemplos
X
Todos
X
X
cosas: cualquier cosa, todas las cosas, cualquiera
personas: cualquiera, todo el mundo, cada uno,
quienquiera
X
Alguno (al menos uno)
X
X
X
cosas: algo
personas: alguien, alguno
Ninguno
X
X
cosas: nada
personas: nadie, ninguno
Dr. Wladimir Rodríguez
24
Inteligencia Artificial
Ejemplos
X Convertir las siguientes sentencias a LPO:
X Algo colecciona a algo
X
X
X
X
X
¿Cuales son las variables?
algo y algo
¿Cuales son los cuantificadores?
al menos uno, existencia
Respuesta: x,y Colecciona (x, y)
X Todo colecciona algo
X Todo colecciona a todo
X Algo colecciona a todo
Dr. Wladimir Rodríguez
25
Inteligencia Artificial
Ejemplos
X Convertir las siguientes sentencias a LPO:
X Todos los zapatos cerrados están permitidos
X ¿Como están conectadas las ideas?
X ser cerrado y ser zapato implica que es permitido
X Respuesta: x Zapato(x) Cerrado(x)
Permitido(x)
X Ningún zapato cerrado es permitido
X Respuesta: ¬ x Zapato(x)
Permitido(x)
Cerrado(x)
X Los zapatos cerrados no están permitidos
X Respuesta: x Zapato(x)
¬Permitido(x)
Dr. Wladimir Rodríguez
26
Cerrado(x)
Inteligencia Artificial
Ejemplos
X Convertir las siguientes sentencias a LPO:
X Nada colecciona cualquier cosa
X ¿Cuales son las variables y cuantificadores?
X nadie y cualquier cosa
X ninguno (no existencial) y todos (universal)
X Respuesta: ¬ x y Colecciona(x, y)
X Cualquier cosa no coleccionan algo
X Respuesta: x, y ¬Colecciona(x, y)
X Cualquier cosa colecciona nada
Dr. Wladimir Rodríguez
27
Inteligencia Artificial
Ejemplos
X Convertir las siguientes sentencias a LPO:
X Cualquier buen amateur puede vencer a algún
profesional
X
X
x [(x es un buen amateur)
algún profesional)]
(x puede vencer a
x [ (Amateur(x) Bueno(x))
y(Profesional(y) Vencer(x, y))]
X Algunos profesionales pueden vencer a todos
los amateur
Dr. Wladimir Rodríguez
28
Inteligencia Artificial
Ejemplos
X Convertir las siguientes sentencias a LPO:
X Todos los coleccionistas coleccionan todas las cosa
X ¿Como están conectadas las ideas?
X ser un implica coleccionar todas las cosas
X Respuesta: x, y Coleccionista(x) Colecciona(x, y)
X Coleccionistas coleccionan cosas de valor
X Todos los coleccionistas coleccionan todas las cosas de
valor
X Todos los coleccionistas coleccionan algunas cosas de
valor
X Algún coleccionista colecciona todas las cosas de valor
X Algún coleccionista colecciona algunas cosas de valor
Dr. Wladimir Rodríguez
29
Inteligencia Artificial
Ejemplo
Marcos era un hombre
Marcos era un Pompeyano
Todos los Pompeyanos eran Romanos
Cesar era un líder.
Todos los Romanos eran o leales a Cesar o lo
odiaban.
Todo el mundo es leal a alguien.
Hombre solo tratan de asesinar lideres a los
cuales no son leales.
Marcus trato de asesinar a Cesar.
Dr. Wladimir Rodríguez
30
Inteligencia Artificial
Ejemplo
Hombre(Marcos)
Pompeyano(Marcos)
x Pompeyano(x)
Romano(x)
Líder(Cesar)
x Romanos(x)
Leal(x,Cesar)
x
x
y Leal(x,y)
y Hombre(x) Líder(y)
¬Leal(x,y)
Trata_asesinar(Marcos,Cesar)
Dr. Wladimir Rodríguez
31
Odiar(x,Cesar)
Trata_asesinar(x,y)
Inteligencia Artificial
Ejemplo
• ¿Era Marcos un Romano?
• ¿Era Marcos leal a Cesar?
• ¿A quien era Marcos leal?
• ¿Era Marcos un líder?
• ¿Será el examen fácil?
Dr. Wladimir Rodríguez
32
Inteligencia Artificial
Ejercicio
los predicados: Padre(x,y)
• Usando
Madre(x,y) Hermano(x,y) Hermana(x,y)
hechos en lógica de predicados
• Construir
que establezcan las siguientes relaciones:
Abuelos
Abuelo
Abuela
Tío
Primo
Dr. Wladimir Rodríguez
33
Inteligencia Artificial
Procedimiento de Prueba
• La misma idea, pero con algunas
complejidades:
• conversión a FNC es más compleja.
• Apareamiento de literales requiere proveer un
apareamiento de variables, constantes y/o
funciones.
¬Patina(x) GustaHockey(x)
¬GustaHockey(y)
• Podemos resolver esto solo si asumimos que x y y
se refieren al mismo objeto.
Dr. Wladimir Rodríguez
34
Inteligencia Artificial
Lógica de Predicados y FNC
• Convertir a FNC es más difícil - nos tenemos que
preocupar por las variables y los cuantificadores.
1. Eliminar todas las implicaciones
2. Reducir el alcance de todas las ¬ a un solo
término.
3. Hacer todos los nombres de las variable únicos *
4. Mover los Cuantificadores a la Izquierda *
5. Eliminar Cuantificadores Existenciales *
6. Eliminar Cuantificadores Universales *
7. Convertir a conjunción de disyunciones
8. Crea cláusula separadas para cada conjunción.
Dr. Wladimir Rodríguez
35
Inteligencia Artificial
Eliminar Cuantificadores
Existenciales
variable que esta cuantificada
• Cualquier
existencialmente significa que estamos
diciendo que existe algún valor para esa
variable que hará cierta la expresión.
eliminar el cuantificador, podemos
• Par
remplazar la variable con una función.
sabemos cual es la función, solo
• No
sabemos de que existe.
Dr. Wladimir Rodríguez
36
Inteligencia Artificial
Funciones Skolem
•
y Presidente(y)
y con una nueva función
• Reemplazamos
func:
• Presidente(func())
func es llamada una función skolem.
general la función debe tener el mismo
• En
número de argumentos que el número de
cuantificadores universales en el alcance
actual.
Dr. Wladimir Rodríguez
37
Inteligencia Artificial
Ejemplo de Función de
Skolem
•
x y Padre(y,x)
crear una nueva función llamada fun1 y
reemplazar y con la función.
x Padre(fun1(x),x)
Dr. Wladimir Rodríguez
38
Inteligencia Artificial
Resolución en Lógica de
Predicados
que preocuparnos acerca de los
• Tenemos
argumentos de los predicados, de manera
que es más difícil saber cuando 2 literales
se aparean y pueden ser usados por la
resolución.
ejemplo, ¿Se aparean Padre(Luis, Ana)
• Por
y Padre(x,y) ?
respuesta depende de como substituimos
• La
valores por variables.
Dr. Wladimir Rodríguez
39
Inteligencia Artificial
Unificación
proceso de encontrar una substitución
• El
para los parámetros de los predicados es
llamado unificación.
• Necesitamos saber:
• que 2 literales pueden ser apareados.
• la substitución es lo que hace a los literales
idénticos.
un algoritmo sencillo llamado el
• Existe
algoritmo de unificación que lo hace.
Dr. Wladimir Rodríguez
40
Inteligencia Artificial
El Algoritmo Unificación
1. Símbolos de predicados iniciales deben coincidir.
2. Para cada par de argumentos de predicados:
•
•
•
•
constantes diferentes no pueden coincidir.
una variable puede ser reemplazada por una constante.
una variable puede ser reemplazada por otra variable.
una variable puede ser reemplazada por una función
siempre y cuando la función no contenga una instancia
de la variable.
Dr. Wladimir Rodríguez
41
Inteligencia Artificial
El Algoritmo de Unificación
se intente aparear 2 literales, todas
• Cuando
las substituciones deben ser hechas al literal
entero.
haber muchas substituciones que
• Puede
unifican 2 literales, siempre se desea el
unificador más general.
Dr. Wladimir Rodríguez
42
Inteligencia Artificial
Ejemplo de Unificación
• P(x) y P(y): substitución = (x/y)
• P(x,x) y P(y,z): (z/y)(y/x)
• P(x,f(y)) y P(Luis,z): (Luis/x, f(y)/z)
no se puede hacer!
• P(f(x)) y P(x):
Q(Juana) y P(Luis) Q(y):
• P(x)(Luis/x,
Juana/y)
Dr. Wladimir Rodríguez
43
Inteligencia Artificial
Ejemplos de Unificación &
Resolución
•
•
•
Padre(Luis, Ana)
¬Padre(Luis,x)
Hombre(Marcos) ¬Hombre(x)
Ama(padre(a),a)
Dr. Wladimir Rodríguez
¬Ama(x,y)
44
Madre(María,x)
Mortal(x)
Ama(y,x)
Inteligencia Artificial
Algoritmo de Resolución de
la Lógica de Predicados
no exista una cláusula vacía y
• Mientras
haya cláusulas que puedan resolverse:
• seleccione 2 cláusulas que puedan resolverse.
• resuelva las cláusulas (después de la
unificación), aplique la substitución de
unificación al resultado y almacenelo en la
base de conocimiento.
Dr. Wladimir Rodríguez
45
Inteligencia Artificial
Ejemplo
¬Inteligente(x)
• RPI(x)
GustarHockey(x)
• ¬Canadiense(y) GustarHockey(y)
• ¬Patinar(z) GustarHockey(z)
• Inteligente(Juan)
• Patinar(Juan)
Meta es encontrar si RPI(Juan) es cierto.
Dr. Wladimir Rodríguez
46
Inteligencia Artificial
Ejemplo
• Hombre(Marcos)
• Pompeyano(Marcos)
• ¬Pompeyano(x1) Romano(x1)
• Líder(Cesar)
• ¬Romanos(x2) Leal(x2,Cesar)
Odiar(x2,Cesar)
• Leal(x3 , f(x3))
• ¬Hombre(x4)
¬Líder(y1)
¬TrataAsesinar(x4,y1) Leal(x4,y1)
• PROBAR: TrataAsesinar(Marcos,Cesar)
Dr. Wladimir Rodríguez
47
Inteligencia Artificial
Ejercicios
• Los miembros de un club de bridge son Juan,
Luisa, Luis y Elena.
• Juan esta casado con Luisa.
• Luis es el hermano de Elena.
• La pareja de cada persona casada en el club
también esta en el club.
• La última reunión del club fue en la casa de Juan.
• ¿Fue la última reunión en la casa de Luisa?
• ¿Esta casada Elena?
Dr. Wladimir Rodríguez
48
Inteligencia Artificial
Descargar