19
TEMA 3 (parte 2). Representaci´ on del Conocimiento Francisco Jos´ e Ribadas Pena INTELIGENCIA ARTIFICIAL 5 Inform´ atica [email protected] 13 de noviembre de 2009 – FJRP ccia [Inteligencia Artificial] –

Logica de Predicados

Embed Size (px)

DESCRIPTION

logica de predicados

Citation preview

Page 1: Logica de Predicados

TEMA 3 (parte 2).Representacion del Conocimiento

Francisco Jose Ribadas Pena

INTELIGENCIA ARTIFICIAL

5 Informatica

[email protected]

13 de noviembre de 2009

– FJRP ccia [Inteligencia Artificial] –

Page 2: Logica de Predicados

3.2.2 Logica de Predicados

Mayor expresividad que la logica de proposiciones

En logica de proposiciones: hecho = proposicion

Tantas proposiciones como hechos se quieran representar

Proposiciones no tienen estructura interna

No se puede expresar conocimiento sobre conjuntos de hechos

Ejemplo: Mundo de los bloques

B

C

A

sobre C B sobre C B → ¬libre Csobre A C sobre C A→ ¬libre C¬sobre B A sobre B A→ ¬libre B¬sobre B C sobre B C → ¬libre B¬sobre C A ...

¬sobre A B ...

... ...

Solucion: Logica de predicados de 1er orden

Representa un mundo constituido por objetos (=elementos indivi-

duales del dominio)

Esos objetos tienen propiedades

Existen relaciones entre objetos

Se puede generalizar sobre los objetos, sus propiedades y relaciones

– FJRP ccia [Inteligencia Artificial] – 1

Page 3: Logica de Predicados

(a) SINTAXISELEMENTOS

Terminos: Representan objetos del dominio

• Constantes: Representan un objeto individual en concreto

◦ notacion: cadenas de caracteres, comienzan en mayusculas

◦ Ejemplos: Juan,Mi coche, ...

• Funciones: Representan (implıcitamente) un objeto individual que

esta relacionado con los n objetos que participan en la funcion

◦ notacion: sımbolo de funcion (cadena, comienza con Mays.)

con aridad n + n argumentos (terminos) entre parentesis

◦ Ejemplos: Padre de(Juan), Hijo de(Pedro,Ana), Coseno(45)...

• Variables: Representan objetos sin indicar cuales

◦ Uso:

referirse a un objeto especıfico no identificado

referirse a un conjunto de objetos◦ notacion: cadenas de caracteres en minusculas

◦ Ejemplos: x, y, padre, hijo, ...

Predicados: Representan una propiedad de un termino (si aridad 1)

o relaciones entre k terminos (si aridad k > 1)

notacion: cadenas de caracteres +

k terminos (variables, constantes, funciones) entre parente-

sis

• Atomos: formulas bien formadas (f.b.f.) compuestas por un unico

predicado

• Literales: Atomo o negacion de un atomo.

Ejemplos: Asesina(Juan, x), Es alto(Juan),

V ive con(Juan, Padre de(Juan)), ...

– FJRP ccia [Inteligencia Artificial] – 2

Page 4: Logica de Predicados

FORMULAS BIEN DEFINIDAS (oraciones logicas)

Formadas a partir de atomos (=predicados) aplicando conectivas

logicas y cuantificadores

Conectivas: ∧, ∨,→,↔, ¬• IDEM que en logica proposicional• Ejemplos:

Hermano(Juan, Luis)∧Hijo(Luis, Pedro)→ Tio(Juan, Pedro)

Cuantificadores: (∀, ∃) Permiten expresar propiedades sobre grupos

de objetos sin tener que enumerarlos todos

• cuantificador universal (∀): ”para todo”

◦ Afirmaciones sobre un conjunto de objetos

◦ ∀x α: afirma que α es cierto para cualquier valor por el que

sustituya la variable x

◦ ∀x Hermano(Juan, Luis) ∧Hijo(Luis, x)→ Tio(Juan, x)

” Juan es el tio de los hijos de Luis”

• cuantificador existencial (∃): ”existe”

◦ Afirmaciones sobre ”algunos” objetos del dominio

◦ ∃x α: afirma que existe al menos un objeto del dominio para

el cual α es cierto

Alcance del cuantificador: sentencia logica que le sigue

• La variable que sigue al cuantificador esta definida en todo el

alcance del cuantificador

◦ variables cerradas (ligadas): asociadas a sımbolos cuantifica-

dores

◦ variables libres: no cuantificadas

• Una f.b.f. con todas las variables ligadas se dice que es una f.b.f.cerrada, si no es ası se dira f.b.f. abierta

nota: Logica de proposiciones = logica de predicados de orden 0

• los predicados no tienen argumentos (son proposiciones)

• no existen constantes, variables, funciones, cuantificadores

– FJRP ccia [Inteligencia Artificial] – 3

Page 5: Logica de Predicados

(b) SEMANTICARepresentamos un mundo donde hay:

Un no infinito de objetos individuales representados por sımbolos de

constantes y variables

• Pueden ser entidades concretas (personas, cosas) o abstractas

(numeros, eventos)

Un no infinito de objetos definidos en funcion de otros objetos,

representados por sımbolos de funcion

Relaciones entre los objetos del dominio, representadas por sımbolos

de predicado

• Si la aridad es 1, se habla de propiedades de objetos

INTERPRETACIONES:

Una interpretacion establece las relaciones anteriores entre los sımbo-

los de la logica y los elementos del mundo real

• asocia a las constantes objetos del mundo

• asocia a las funciones relaciones funcionales entre objetos

• asocia a los predicados relaciones entre objetos

Mas compleja que en logica de proposiciones

– FJRP ccia [Inteligencia Artificial] – 4

Page 6: Logica de Predicados

dominio de una interpretacion: Conjunto de objetos del mun-

do que se manejan en una interpretacion

• Formalmente: Dada una conceptualizacion formada por:

◦ U : universo de discurso (conj. de individuos/objetos)

◦ R: conj. finito de relaciones entre objetos de U

◦ F : conj. finito de funciones que asocian a 1 objetos de U con

1 o mas objetos de U

Una interpretacion i es una funcion que asocia sımbolos del

lenguaje con elementos del la conceptualizacion verificando:

◦ Si c es un sımbolo de constante, i(c) ∈ U◦ Si P es un sımbolo de predicado de aridad k, i(P ) ⊆ Uk

◦ Si f es un sımbolo de funcion de aridad k, i(f) = Uk −→ U

Conceptualmente se pueden definir estas relaciones sobre U exten-

sionalmente, enumerando en forma de tuplas, los objetos del mundo

real que participan en ellas

Ejemplo:

– FJRP ccia [Inteligencia Artificial] – 5

Page 7: Logica de Predicados

SATISFACTIBILIDAD

Asignacion de variables(A): Funcion que asina a objetos de U con

las variables de una f.b.f.

Los atomos (predicados) pueden tener variables. Solo se pueden

asignar valores de verdad a una formula atomica si todas sus

variables estan asignadas

El valor de verdad de un atomo con todas sus variables asignadas,

es verdadero si y solo si los objetos del dominio cumplen la relacion

que representa ese predicado

→ el valor de verdad de una interpretacion i depende de la asignacion de variables

considerada

Para las f.b.f. no atomicas, su valor de verdad se obtiene combinando

valores de verdad de acuerdo a las tablas de verdad de las conectivas

(idem que log. proposiciones) y al significado de los cuantificadores

∀x α : sera V si α es V en cq. asignacion de la variable x

∃x α : sera V si α es V en al menoa 1 asignacion de la var. x

⇒ La asignacion de verdad es relativa a:

interpretacion (i)

asignac. de variables (A)nota: Una f.b.f. puede ser V o F en una misma conceptualizacion

dependiendo de la interpretacion y la asignacion de variables

Def.:sactisfactibilidadEn una conceptualizacion, una interpretacion i y una asignacion de

variables A, satisfacen una f.b.f. Ψ si hacen V a esa f.b.f.

Notacion: |=iA Ψ (”Ψ se satisface para i y A”)

• Ψ es satisfactible si y solo si ∃ i y ∃ A tales que |=iA Ψ

• Ψ es valida si y solo si ∀ i y ∀ A tales que |=iA Ψ

Una f.b.f. valida sin variables se denomina tautologıa

Extension a conjuntos de f.b.f. Φ = {Ψ1, ...,Ψn}idem que en logica proposicional

– FJRP ccia [Inteligencia Artificial] – 6

Page 8: Logica de Predicados

MODELOS

Una interpretacion i es modelo de Ψ (respectivamente de Φ) si

Ψ se satisface con esa i para todas las posibles asignaciones de

variables

Notacion: |=i Ψ

modelo mınimo: Ningun subconjunto de esa interpretacion es un

modelo

conclusion: Inaplicable tabla de verdad exhaustiva como meca-

nismo de evaluacion

EQUIVALENCIA E IMPLICACION LOGICA

Ψ1 y Ψ2 son logicamente equivalentes si sus valores de verdad son

identicos bajo todas las interpretaciones y asignaciones de variables.

Ψ1 ≡ Ψ2

Implicacion logicaΦ |= Ψ si y solo si ∀ interpretacion i y ∀ asignacion A para las

cuales se satisface Φ, tambien se satisface Ψ

Φ |= Ψ sii Φ |=iA Ψ ∀i ∀A

Equivalencias Logicas (sobre cuantificadores)

Leyes de DeMorgan:

¬(∀x α) ≡ ∃x ¬α¬(∃x α) ≡ ∀x ¬α

∀ ≈ conjuncion infinita, ∃ ≈ disyuncion infinita

Renombrado de variables:

∀x α ≡ ∀y α∃x α ≡ ∃y α

Ordenacion cuantificadores:

∀x∀y α ≡ ∀y∀x α ≡ ∀x, y α∃x∃y α ≡ ∃y∃x α ≡ ∃x, y α

– FJRP ccia [Inteligencia Artificial] – 7

Page 9: Logica de Predicados

(c) REGLAS DE INFERENCIAReglas inferencia de logica proposicional siguen siendo validas

Se deben generalizar para manejar variables

Existen nuevas reglas de inferencia para manejar cuantificadores

SUSTITUCION

sust(Θ, α) representa a la f.b.f. resultado de aplicar la sustitucionΘ a la f.b.f. α• Una sustitucion es un conjunto ordenado de pares de terminos

(termino, termino), donde al menos uno de ellos es un sımbolo

de variable

Ejemplo: Θ = {x/Juan, y/Ana, z/Padre de(Juan), ...}• Una sustitucion reemplaza en α el primer termino de cada par

de la lista por el termino asociado.

• Los reemplazos se realizan iterativamente de forma ordenada

REGLAS INFERENCIA CUANTIFICADORES

eliminacion del universal (generaliza introd. de la conjuncion)

Dada una f.b.f. α, una variable v y un termino g (constante o funcion):

∀v αsust({v/g}, α)

Ejemplo: Usando la sustitucion {x/BillGates}

∀x TieneDinero(x)→ EsRico(x)

TieneDinero(BillGates)→ EsRico(BillGates)

– FJRP ccia [Inteligencia Artificial] – 8

Page 10: Logica de Predicados

introduccion del existencial (generaliza introd. de la disyuncion)

Dada una f.b.f. α, una variable v no presente en α y un termino g

presente en α:α

∃v sust({g/v}, α)

Ejemplo: Usando la sustitucion {Juan/x}

Casados(Juan,Ana)

∃x Casados(x,Ana)” hay alguien casado con Ana”

nota: Ambos son solidos (correctos)

GENERALIZACION MODUS PONENS

Siendo pi, qi y r literales y Θ una sustitucion que asegure

sust(Θ, pi) = sust(Θ, qi) ∀i (todos los pi unifican con los qj)

p1, p2, ..., pnq1 ∧ q2 ∧ ... ∧ qn → r

sust(Θ, r)

Tenemos n literales + 1 implicacion con n antecedentes.

Si hay una sustitucion que unifique los n literales con los n ante-

cedentes, obtenemos el resultado de aplicar la sustitucion sobre el

consecuente.

Ejemplo: Mediante la sustitucion Θ = {x/Juan, y/Ana}

Hombre(Juan),Mujer(Ana), Liados(Juan.Ana)∀x∀y Hombre(x) ∧Mujer(y) ∧ Liados(x, y)→ Casados(x, y)

Casados(Juan,Ana) [= sust(Θ, Casados(x, y))]

– FJRP ccia [Inteligencia Artificial] – 9

Page 11: Logica de Predicados

RESOLUCION EN LOGICA DE PREDICADOS

Unificacion

• Procedimiento sintactico mediante el cual, dadas dos f.b.f. α y β

se encuentra una sustitucion Θ que aplicada sobre ellas, ambas

resultan identicas, esto es

unificador(α, β) = Θ tal que sust(Θ, α) = sust(Θ, β)

• Θ se denomina unificador de las 2 f.b.f. α y β

• En caso de no existir un unificador el algoritmo falla

• Unificador mas general (m.g.u.)◦ El m.g.u. de α y β es aquel unificador Θ tal que cualquier

otro unificador σ podra obtenerse a partir de σ mediante una

sustitucion τ , esto es

σ = sust(τ,Θ)

→ cualquier otro unificador se puede construir a partir del m.g.u.Regla Resolucion en logica de predicados

• Siendo pi y qj dos literales para los cuales existe un unificadorde la forma Θ = unificador(pi,¬qj)

p1 ∨ p2 ∨ ... ∨ pi ∨ ... ∨ pnq1 ∨ q2 ∨ ... ∨ qj ∨ ... ∨ qm

sust(Θ, p1 ∨ ... ∨ pi−1 ∨ pi+1 ∨ ... ∨ pn ∨ q1 ∨ ... ∨ qj−1 ∨ qj+1 ∨ ... ∨ qm)

– FJRP ccia [Inteligencia Artificial] – 10

Page 12: Logica de Predicados

PROCEDIMIENTO DE REFUTACION

Al igual que en log. proposicional, el conocimiento tiene que estar

representado en forma de clausulas (F.N.C.)

• Conjuncion de disyunciones (clausulas)

• Solo hay cuantificadores universales

Paso a Forma Normal Conjuntiva

1. Eliminar implicaciones

• Usar relaciones:

α→ β ≡ ¬α ∨ βα↔ β ≡ (α→ β) ∧ (β → α)

2. Reducir ambito de las negaciones

• Usar DeMorgan + doble neg.:

8<:¬∀xα ≡ ∃x¬α¬∃xα ≡ ∀x¬α¬¬α ≡ α

3. Independizar variables cuantificadas (renombrar variables ligadas)

• Asegurar que cada sımbolo de variable este ligado a un unico

cuantificador

• Ejemplo: ∀xP (x) ∧ ∃xQ(x) ≡ ∀x1P (x1) ∧ ∃x2Q(x2)

4. Eliminar cuantificadores existenciales (skolemizacion)

• Las ocurrencias de variables cuantificadas existencialmente se

sustituyen por:

a) Una constante (Sk) no presente en la f.b.f. si el ∃ aparece

al principio de la expresion

∃xP (x) ∧Q(x) P (Sk) ∧Q(Sk) {x/Sk}

b) Una funcion (Sk(...)) con tantos argumentos como cuanti-

ficadores universales (∀) haya antes del ∃ que cuantifica la

variable

∀x∀y∃zP (x)∧Q(y, z) P (x)∧Q(y, Sk(x, y)) {z/Sk(x, y)}

– FJRP ccia [Inteligencia Artificial] – 11

Page 13: Logica de Predicados

5. Mover cuantificadores universales a la izquierda de la f.b.f.6. Reordenar f.b.f. para obtener FNC

• Distribuir ∨ sobre ∧:

α ∨ (β ∧ γ) = (α ∨ β) ∧ (α ∨ γ)

7. Abandonar cuantificadores universales

8. Renombrar variables (si es necesario) para que ninguna variable

aparezca en mas de una clausula

Ejemplo 1:

Pasar {∀xP (x)} → {∀x∀y∃z[P (x, y, z)→ ∀wR(x, y, z, w)]} a FNC1. {¬∀xP (x)} ∨ {∀x∀y∃z[¬P (x, y, z) ∨ ∀wR(x, y, z, w)]}2. {∃x¬P (x)} ∨ {∀x∀y∃z[¬P (x, y, z) ∨ ∀wR(x, y, z, w)]}3. {∃x1¬P (x1)} ∨ {∀x2∀y∃z[¬P (x2, y, z) ∨ ∀wR(x2, y, z, w)]}4. ¬P (SK1) ∨ {∀x2∀y[¬P (x2, y, SK2(x2, y)) ∨ ∀wR(x2, y, SK2(x2, y), w)]}5. ∀x2, ∀y, ∀w ¬P (SK1) ∨ [¬P (x2, y, SK2(x2, y)) ∨ R(x2, y, SK2(x2, y), w)]6. Nada7. ¬P (SK1) ∨ ¬P (x2, y, SK2(x2, y)) ∨ R(x2, y, SK2(x2, y), w)8. Nada

Ejemplo 2: ∀x[P (x)→ ∃x(Q(x)→ R(x))]

– FJRP ccia [Inteligencia Artificial] – 12

Page 14: Logica de Predicados

REFUTACION MEDIANTE RESOLUCION (como en log. proposicional)

1. Convertir f.b.f. de Φ a FNC

2. Negar f.b.f. Ψ a demostrar y convertir a FNC

3. Unir clausulas resultantes de Φ y ¬Ψ en Π

4. Aplicar de forma exhaustiva la regla de resolucion para logica de

predicados sobre Π.

Seleccionar un par de clausulas con dos atomos p y q tales que

unifiquen con Θ = m.g.u.(p,¬q)Anadir resolvente a Π

Parar si:

• Se generar la clausula vacıa (hay contradiccion)

→ Se verifica: Φ |= Ψ

• No hay resolventes nuevos (no contradiccion)

→ Se verifica: Φ |=/ Ψ

nota: Ademas de comprobar si una f.b.f. Ψ es consecuencia logica de Φ

o no, la refutacion mediante resolucion permite ”responder” preguntas

mediante las sustituciones que dan lugar a la clausula vacıa.

– FJRP ccia [Inteligencia Artificial] – 13

Page 15: Logica de Predicados

Ejemplo: Pasar a FNC la siguiente base de conocimientos

1. Asterix es un galo

2. Los romanos que son amigos de algun galo odian a Cesar

3. Asterix ayudo a Marco

4. Marco es amigo de quien le ayuda

5. Quien odia a algun romano, lucha contra el

6. Marco es romano

Comprobar si a partir de este conocimiento es posible demostrar que

’’Marco odia a Cesar’’ mediante refutacion.

Base de conocimiento (Φ)

1. galo(Asterix) (en FNC)

2. ∀x [romano(x) ∧ (∃y galo(y) ∧ amigo(x, y))→ odia(x,Cesar)]

3. ayuda(Asterix,Marco) (en FNC)

4. ∀x [ayuda(x,Marco)→ amigo(Marco, x)]

5. ∀x∃y [romano(y) ∧ odia(x, y)→ lucha(x, y)]

6. romano(Marco) (en FNC)

Hipotesis (Ψ = odia(Marco, Cesar))

– FJRP ccia [Inteligencia Artificial] – 14

Page 16: Logica de Predicados

PROPIEDADES PROCEDIMIENTO DE REFUTACION

Refutacion mediante resolucion en logica de predicados es solida(correcta)

• Si se llega a la clausula vacıa (Φ `REFUTACION) entonces Φ |= Ψ.

Refutacion mediante resolucion en logica de predicados es completa

• Si Φ |= Ψ, el procedimiento de refutacion por resolucion gene-

rara la clausula vacıa

Refutacion mediante resolucion en logica de predicados no es deci-dible

• Si Φ |=/ Ψ el procedimiento de refutacion mediante resolucion

puede no terminar (”bucle infinito”)

→ Siempre parara si Φ |= Ψ, pero puede no parar si Φ |=/ Ψ

• No existe un metodo que nos pueda decir siempre si Φ |=/ Ψ

• Se dice que la logica de proposiciones es semidecidible◦ Se puede determinar Φ |= Ψ, pero ”a veces” no se puede

probar Φ |=/ Ψ

soluciones:

• Renunciar a la solidez o a la completitud

• Utilizar un lenguaje de representacion menos expresivo →clausulas de Horn

– FJRP ccia [Inteligencia Artificial] – 15

Page 17: Logica de Predicados

CLAUSULAS DE HORN

Todas las variables estan cuantificadas universalmente (∀ implıcito)

Clausulas que tienen como maximo un literal positivo (sin negar)

Todas las variables se suponen cuantificadas universalmente

Clausulas de Horn pueden escribirse como implicaciones

• Consecuente: literal atomico positivo

• Antecedente: conjuncion de literales positivos (DeMorgan)

¬p1 ∨ p2 ∨ ...¬pn ∨ q ≡ p1 ∧ p2 ∧ ... ∧ pn → q

Distinguimos

• reglas: q ← p1 ∧ p2 ∧ ... ∧ pn• hechos: h←• objetivos:← o1 ∧ o2 ∧ ... ∧ okRegla de resolucion para clausulas de Horn

Si b y di unifican mediante Θ = unificador(b, di), inferimos:

b← a1 ∧ a2 ∧ ... ∧ am (≡ b ∨ ¬a1 ∨ ... ∨ ¬am)c← d1 ∧ d2 ∧ ... ∧ dn (≡ c ∨ ¬d1 ∨ ... ∨ ¬dn)

sust(Θ, (c← d1 ∧ ... ∧ di−1 ∧ a1 ∧ ... ∧ am ∧ di+1 ∧ ... ∧ dn))

Clausulas de Horn son la base de los interpretes Prolog

Se anaden simplificaciones para mejorar eficiencia

• Todas las inferencias se realizan por encadenamiento hacia atras

(desde objetivos a hechos) usando busqueda en profundidad

• El orden de las clausulas y de los antecedentes dentro de ellas es

relevante (establece orden de busqueda)

◦ Busqueda en los antecedentes de IZQ a DER

◦ Procesamiento de las clausulas en orden de definicion

• Se omite el test de ocurencia (occur check, test de ciclicidad) en

la rutina de unificacion

◦ Hace unificaciones mas eficientes (menos comprobaciones)

◦ Existe la posibilidad de no terminacion (sustituciones cıclicas)

• Se omite la negacion (si se soporta negacion por fallo)

– FJRP ccia [Inteligencia Artificial] – 16

Page 18: Logica de Predicados

3.2.4 Representacion del conocimiento en logica depredicados

Fases generales en la construccion y utilizacion de una

base de conocimientos

1. Conceptualizacion

Decidir que conceptos son relevantes en el dominio

→ identificar objetos, propiedades y relaciones relevantes

Definir un vocabulario para asignar sımbolos a los conceptos

relevantes

→ vocabulario de predicados, funciones y constantes

Se tratara de construir una ontologıa: conjunto, normalmente

estructurado, de terminos relevantes en un dominio

2. Codificacion

Traduccion, de acuerdo al vocabulario, de todo el conocimiento

considerado de interes a su representacion en logica de predicados

Se construyen los axiomas del dominio (conjunto de f.b.f. Φ)

• Formulas que se consideran ciertas en el dominio actual

(Base de Conocimiento)

• Codificar reglas y propiedades generales

• Codificar conocimiento especıfico de partida

◦ Anadir predicados concretos (hechos iniciales)

◦ Los valores de verdad/falsedad de esos predicados deben de

estar respaldados por algun tipo de percepcion del dominio

real representado (sensores, consulta a BD, preguntas al

usuario, etc,...)

– FJRP ccia [Inteligencia Artificial] – 17

Page 19: Logica de Predicados

3. Actualizacion del conocimiento y consulta

Durante la ejecucion del sistema inteligente

• Se ”consulta”/desencadena el procedimiento de inferencia

(modus ponens, resolucion, ...) para obtener respuestas

◦ Distintas alternativas:

Sistemas que solo usan modus ponens, bien de forma pro-

gresiva (razonamiento hacia adelante) o regresiva (razona-

miento hacia atras)

Sistemas que solo usan resolucion y refutacion

Etc,...

• Se actualiza el conocimiento

→ introducir nuevos hechos

→ modificar hechos existentes

Sus valores de verdad deben estar respaldados por el ”mundo

real”

Pasos comunes a los demas mecanismos de representacion del conoci-

miento

En general es un proceso largo, que se suele hacer de forma iterativa

→ se amplıa y refina de forma iterativa la representacion

Suele necesitar la intervencion de expertos del dominio (entrevistas,

etc...)

– FJRP ccia [Inteligencia Artificial] – 18