TEMA 3 (parte 2).Representacion del Conocimiento
Francisco Jose Ribadas Pena
INTELIGENCIA ARTIFICIAL
5 Informatica
13 de noviembre de 2009
– FJRP ccia [Inteligencia Artificial] –
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
(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
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
(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
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
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
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
(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
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
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
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
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
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
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
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
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
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
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