Representación del ConocimientoLógica de Primer Orden
Dr. Alejandro Guerra-Hernández
Universidad VeracruzanaCentro de Investigación en Inteligencia Artificial
Sebastián Camancho No. 5, Xalapa, Ver., México 91000mailto:[email protected]
http://www.uv.mx/personal/aguerra/rc
Maestría en Inteligencia Artificial 2019
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 1 / 111
Lógica de Primer Orden Introducción
Objetivo
I El uso de la lógica de primer orden para representar y resolverproblemas, nos es familiar por su uso en Prolog:
https://www.uv.mx/personal/aguerra/piaI Recuerden que usamos una lógica de primer orden restringida a
cláusulas de Horn y resolución-SLD [3].I Revisaremos los conceptos básicos de la lógica de primer orden en
este contexto.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 2 / 111
Lógica de Primer Orden Introducción
Representación
I Cuando describimos situaciones de nuestro interés, solemos hacer usode enunciados declarativos.
I Se trata de expresiones del lenguaje natural que son o bien verdaderas,o bien falsas (a diferencia de interrogativas, imperativas, etc.).
I Las proposiciones representan hechos que se dan o no en la realidad.I La lógica de primer orden tienen un compromiso ontólogico más
fuerte [4], donde la realidad implica además, objetos y relacionesentre ellos.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 3 / 111
Lógica de Primer Orden Introducción
Razonamiento
I Consideren los siguientes enunciados declarativos:1. Julia es madre y Luis es hijo de Julia.2. Toda madre ama a sus hijos.
I Conociéndolas es posible inferir:3. Julia ama a Luis.
I Para ello definimos un conjunto de reglas de inferencia, análogas a lasde la deducción natural.
I Ejemplo:φ, φ → ψ
ψ(→ e)
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 4 / 111
Lógica de Primer Orden Introducción
Componentes de un Sistema Formal
Sistema Formal
Sintáxis
Semantica
Alfabeto
Reglas sintácticas
Teoría del Modelo
Teoría de PruebaAxiomas
Reglas de Inferencia
Universo de Discurso
Intepretación
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 5 / 111
Lógica de Primer Orden Lenguaje (informal)
El mundo de los bloques [2]
Mesa
B
A
C
D
E
Brazo robótico
I Necesitaremos símbolospara:I ObjetosI RelacionesI FuncionesI Variables
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 6 / 111
Lógica de Primer Orden Lenguaje (informal)
Universo de discurso
Mesa
B
A
C
D
E
Brazo robótico
I Se denota como U y es elconjunto de todos objetos sobrelos cuales queremos expresarnos.
I Para el mundo de los bloques:
U = {a, b, c, d , e, brazo,mesa}
I Seguiré la notación usada porProlog, las constantes soncadenas que inician conminúscula.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 7 / 111
Lógica de Primer Orden Lenguaje (informal)
Funciones
Mesa
B
A
C
D
E
Brazo robótico
I Son relaciones especiales entrelos miembros de U . Mapean unconjunto de objetos de entradaa un objeto único de salida.
I La función parcial sombrero ={(b, a), (c, d), (d , e)}:
sombrero(b) 7→ a
I Base funcional es el conjuntode todas las funcionesconsideradas.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 8 / 111
Lógica de Primer Orden Lenguaje (informal)
Predicados
I Denotan relaciones entre losmiembros de U . Mapean a falso overdadero.
I El predicadosobre = {(a, b), (d , c), (e, d)}:
sobre(a, b) 7→ true
I El predicado libre = {a, e}:
libre(d) 7→ false
I Base relacional es el conjunto detodos los predicados considerados.
Mesa
B
A
C
D
E
Brazo robótico
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 9 / 111
Lógica de Primer Orden Lenguaje (informal)
Predicados y Funciones
Mesa
B
A
C
D
E
Brazo robótico
I sobre = base = {(a, b), . . . }I Los predicados pueden verse
como funciones booleanas:
sobre(a, b) 7→ true
I Las funciones en este contexto,tienen su codomino en algúnsubconjunto de U :
base(a) 7→ b
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 10 / 111
Lógica de Primer Orden Lenguaje (informal)
Extensión de un predicado
I Para universos de discurso finitos, existe un límite superior en elnúmero posible de predicados n-arios.
I Para un universo de discurso de cardinalidad b , existen bn distintasn-tuplas.
I Cualquier predicado n-ario es un subconjunto de estas bn tuplas.I Por lo tanto, un predicado n-ario debe corresponder a uno de máximo
2(bn) conjuntos posibles.I Caso aplicación: en programación lógica inductiva está relacionado
con el tamaño de mi espacio debúsqueda!
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 11 / 111
Lógica de Primer Orden Lenguaje (informal)
Variables y cuantificadores
I Toman valores de U .I El cuantificador “para todo” (∀)
expresa hechos acerca de todoslos objetos en U , sin necesidadde enumerarlos:
∀X libre(X )⇐ . . .
I El cuantificador “existe” (∃)expresa la existencia de unobjeto en U con ciertapropiedad en partícular:
∀X ∃Y ocupado(X )⇐ sobre(Y ,X )
Mesa
B
A
C
D
E
Brazo robótico
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 12 / 111
Lógica de Primer Orden Sintaxis
Alfabeto de la Lógica de Primer Orden
Const El conjunto de símbolos de constantes;Var El conjunto de símbolos de variables;Pred El conjunto de símbolos de predicados;Func El conjunto de símbolos funcionales (Const ⊂ Func);¬ El operador monario de negación;∨ El operador binario de disyunción;∀ El símbolo de cuantificación universal;() Los paréntesis.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 13 / 111
Lógica de Primer Orden Sintaxis
Reglas sintácticas (términos)
1. Si φ ∈ Const entonces φ ∈ Term;2. Si φ ∈ Var , entonces φ ∈ Term;3. Si φ/n ∈ Func, entonces φ(φ1, . . . , φn) ∈ Term si y sólo siφ1≤i≤n ∈ Term.
4. Ninguna otra expresión es un término.I Ejemplos:
1. a, b, c,mesa, . . .2. X ,Y ,Z ,Cubo1,Cubo2, . . .3. base(b), sombrero(X ), . . .
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 14 / 111
Lógica de Primer Orden Sintaxis
Reglas sintácticas (fórmulas bien formadas)
1. Si φ/n ∈ Pred , entonces φ(φ0, . . . , φn) ∈ LFOL si y sólo siφi ∈ Term, i = 0 . . . n;
2. Si φ ∈ LFOL, entonces ¬φ ∈ LFOL;3. Si φ ∈ LFOL y ψ ∈ LFOL, entonces (φ ∨ ψ) ∈ LFOL
4. Si φ ∈ LFOL y X ∈ Vars es una variable que ocurreen φ, entonces ∀X φ ∈ LFOL
5. Nada más es una fórmula bien formada (fbf).I Ejemplos:
1. sobre(a, b), libre(X ), ama(X , hijo(X )), . . .2. ¬libre(a),¬libre(Y ), . . .3. sobre(X ,Y ) ∧ ¬libre(X ), . . .4. ∀X ama(X , hijo(X )), . . .
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 15 / 111
Lógica de Primer Orden Sintaxis
Definiciones auxiliares
Conjunción. (φ ∧ ψ) =def ¬(¬φ ∨ ¬ψ);Implicación material. (φ→ ψ) =def (¬φ ∨ ψ);Equivalencia material. (φ ≡ ψ) =def ((φ→ ψ) ∧ (ψ → φ));
Falso. f =def ¬φ ∧ φ;Verdadero. t =def ¬f
Cuantificador existencial. ∃X φ =def ¬(∀X ¬φ)
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 16 / 111
Lógica de Primer Orden Sintaxis
Términos BNF
I Un término se define como:
t ::= x | c | f (t, . . . , t)
donde x ∈ Var ; c ∈ Func tal que |c| = 0; y f ∈ Func tal que |f | > 0.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 17 / 111
Lógica de Primer Orden Sintaxis
Fórmulas bien formadas BNF
I Las fbf del lenguaje de la Lógica de Primer Orden se construyen comosigue:
φ ::= P(t1, . . . , tn) | ¬(φ) | (φ ∧ φ) | (φ ∨ φ) | (φ → φ) | (∀x φ) | (∃x φ)
donde P ∈ Pred es un símbolo de predicado de aridad n ≥ 1; tidenota términos; y x ∈ Var .
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 18 / 111
Lógica de Primer Orden Sintaxis
Notación extra
I En una fbf de la forma ∀X φ, se dice que la fbf φ está bajo el alcancedel cuantificador ∀X .
I En tal caso, se dice que la ocurrencia de X en φ está acotada, en casocontrario se dice que la ocurrencia de la variable es libre.
I Ejemplo. En ∃X sobre(X ,Y ) la variable X está acotada, mientras queY está libre.
I Un término sin variables se conoce como término de base.I Ejemplo. sobre(a, b).
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 19 / 111
Lógica de Primer Orden Interpretaciones y Modelos
Interpretación
I Para expresar que al menos hay un bloque que no tiene nada encima,escribimos: ∃X bloque(X ) ∧ libre(X ).
I Cuando usamos cuantificadores siempre tenemos en mente al U , eneste caso {a, b, c, d , e, brazo,mesa}.
I Una interpretación de esta expresión es un subconjunto de U tal quelos miembros de ese subconjunto satisfacen el significado esperado dela expresión.
I Ejemplo. En este caso {a, e}.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 20 / 111
Lógica de Primer Orden Interpretaciones y Modelos
Teoría del modelo
I Para obtener un modelo para el lenguaje LFOL formamos el parM = 〈D,V 〉, donde D es el universo de discurso y la interpretación Ves una función, tal que:I Para cualquier predicado φ de aridad n ≥ 1, V (φ) regresa las n-tuplas
que corresponden a la interpretación esperada del predicado.I Para una constante, la función V regresa la misma constante, ej.
V (c) = c.I Algunas veces la expresión V (φ) se abrevia φV .
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 21 / 111
Lógica de Primer Orden Interpretaciones y Modelos
Interpretación para el mundo de bloques
aV = abV = bcV = cdV = deV = e
sobreV = {(a, b), (e, d), (d , c)}enLaMesaV = {b, c}
libreV = {a, e}porEncimaV = {(a, b), (e, d), (e, c), (d , c)}
Mesa
B
A
C
D
E
Brazo robótico
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 22 / 111
Lógica de Primer Orden Semántica
Interpretación y asignación de variables
I Una interpretación V , con respecto a un dominio de discurso D, esuna función que satisface las siguientes propiedades:I Si φ ∈ Const, entonces V (φ) = φ;I Si φ/n ∈ Pred , tal que n ≥ 1, entonces V (φ) ⊆ Dn.
I Ejemplo. libreV ⊂ {a, b, c, d , e,mesa,mano}.I Ejemplo. sobreV ⊂ D × D.I Decimos que U es una asignación de variables basada en el modelo
M = 〈D,V 〉 si para todo φ ∈ Var , U(φ) ∈ D.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 23 / 111
Lógica de Primer Orden Semántica
Asignación de términos
I La asignación de términos T , dadas la interpretación V y laasignación de variables U, es un mapeo de términos a objetos deluniverso de discurso que se define como sigue:1. Si φ ∈ Const, entonces TVU(φ) = V (φ).2. Si φ ∈ Var , entonces TVU(φ) = U(φ).3. Si φ ∈ Term es de la forma ψ(φ1, . . . , φn); y V (ψ) = g ; y
TVU(φi) = xi , entonces TVU(ψ(φ1, . . . , φn)) = g(x1, . . . , xn).
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 24 / 111
Lógica de Primer Orden Semántica
Satisfacción
I El hecho de que el enunciado φ se satisfaga bajo una interpretación Vy una asignación U, se escribe:
|=V φ[U]
I Entonces podemos escribir M |= VU(φ) para expresar que φ esverdadera en el modelo M = 〈D,V 〉 cuando las variables en φ tomanvalores de acuerdo a la asignación U.
I Ejemplo. M |= VU(sobre(X , b)) si X\a ∈ U.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 25 / 111
Lógica de Primer Orden Semántica
Satisfacción:
I Dado un modelo M = 〈D,V 〉 y una asignación de términos TVU :1. |=V (φ = ψ)[U] ssi TVU(φ) = TVU(ψ).2. |=V φ(τ1, . . . , τn)[U] ssi (TVU(τ1), . . . ,TVU(τn)) ∈ φV .3. |=V (¬φ)[U] ssi 6|=V φ[U].4. |=V (φ ∧ ψ)[U] ssi |=V φ[U] y |=V ψ[U].5. |=V (φ ∨ ψ)[U] ssi |=V φ[U] o |=V ψ[U].6. |=V (φ→ ψ)[U] ssi 6|=V φ[U] o |=V ψ[U].7. |=V (∀ν φ)[U] ssi para todo d ∈ D es el caso que |=V φ[W ], donde
νW = d y µW = µU para µ 6= ν.8. |=V (∃ν φ)[U] ssi para algún d ∈ D es el caso que |=V φ[W ], donde
νW = d y µW = µU para µ 6= ν.I A las asignaciones de variables como W , se les conoce comoν-alternativas.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 26 / 111
Lógica de Primer Orden Semántica
Definiciones complementarias
I Si una interpretación V safisface a un enunciado φ para todaasignación de variables, se dice que V es un modelo de φ.
I Un enunciado se dice satisfacible si existe alguna interpretación yasignación de variables que lo satisfaga.
I Se dice que una fbf φ es válida, si y sólo si se satisface en todaintepretación y asignación de variables.
I Las fbf válidas lo son en virtud de su estructura lógica, por lo que noproveen información acerca del dominio descrito.
I Ejemplo. Por ejemplo p(X ) ∨ ¬p(X ) es una fbf válida.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 27 / 111
Lógica de Primer Orden Inferencia
Mi mamá me ama
I Retomemos el ejemplo de la introducción:1. Toda madre ama a sus hijos.2. Julia es madre y Luis es hijo de Julia.3. Julia ama a Luis.
I Se puede formalizar como:1. ∀X ∀Y madre(X ) ∧ hijo_de(Y ,X )→ ama(X ,Y )2. madre(julia) ∧ hijo_de(luis, julia)3. ama(julia, luis)
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 28 / 111
Lógica de Primer Orden Inferencia
Reglas de inferencia
I La inferencia puede verse como un proceso de manipulación de fbf,donde a partir las premisas, se producen las conclusiones.I Modus Ponens. O eliminación de la implicación:
φ φ → ψ
ψ(→ e)
I Eliminación de cuantificador universal.:
∀X φ(X )φ(t) (∀e)
I Introducción de conjunción.:
φ ψ
φ ∧ ψ(∧ i)
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 29 / 111
Lógica de Primer Orden Inferencia
Ejemplo de derivación
I Inicio:1. ∀X∀Ymadre(X ) ∧ hijo_de(Y ,X ) → ama(X ,Y )2. madre(julia) ∧ hijo_de(luis, julia)
I Al aplicar la eliminación de cuantificador universal (∀E ) a (1)obtenemos:3. ∀Y (madre(julia) ∧ hijo_de(Y , julia) → ama(julia,Y )
I Al aplicar nuevamente (∀E ) a (3) obtenemos:4. madre(julia) ∧ hijo_de(luis, julia) → ama(julia, luis)
I Finalmente, al aplicar Modus Ponens a (2) y (4):5. ama(julia, luis)
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 30 / 111
Lógica de Primer Orden Inferencia
Solidez y robustez
I Un conjunto de reglas de inferencia se dice sólido, si para todoconjunto de fbf cerradas (sin ocurrencia de variables libres) ∆ y cadafbf cerrada φ, siempre que ∆ ` φ se tiene que ∆ |= φ.
I Las reglas de inferencia se dicen completas si ∆ ` φ siempre que∆ |= φ.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 31 / 111
Programas definitivos Sintaxis
Enunciados declarativos
I Describen relaciones positivas entre elementos de U : Incondicionadas(hechos) y Condicionadas (reglas).
1. Antonio es hijo de Juan.
2. Ana es hija de Antonio.
3. Juan es hijo de Marcos.
4. Alicia es hija de Juan.
5. El nieto de una persona es elhijo del hijo de esa persona.
1. hijo_de(antonio, juan)
2. hijo_de(ana, antonio)
3. hijo_de(juan,marcos)
4. hijo_de(alicia, juan)
5. ∀X∀Y (nieto_de(X ,Y )←∃Z (hijo_de(Z ,Y ) ∧hijo_de(X ,Z )))
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 32 / 111
Programas definitivos Sintaxis
Formas alternativas para una regla
I La fórmula:
∀X∀Y (nieto_de(X ,Y )← ∃Z (hijo_de(Z ,Y ) ∧ hijo_de(X ,Z )))
I Se puede escribir como:I ∀X∀Y (nieto_de(X ,Y ) ∨ ¬∃Z (hijo_de(Z ,Y ) ∧ hijo_de(X ,Z )))I ∀X∀Y (nieto_de(X ,Y ) ∨ ∀Z¬(hijo_de(Z ,Y ) ∧ hijo_de(X ,Z )))I ∀X∀Y ∀Z (nieto_de(X ,Y ) ∨ ¬(hijo_de(Z ,Y ) ∧ hijo_de(X ,Z )))I ∀X∀Y ∀Z (nieto_de(X ,Y )← (hijo_de(Z ,Y ) ∧ hijo_de(X ,Z )))
I Con equivalencias como:I φ→ ψ ≡ ¬φ ∨ ψ óI ∀Xφ ≡ ¬∃X¬φ.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 33 / 111
Programas definitivos Sintaxis
Literales
I Una literal es un átomo o la negación de un átomo.I Una literal positiva es un átomo.I Una literal negativa es la negación de un átomo.I Ejemplos:
I hijo_de(juan,marcos).I ¬hijo_de(juan, alicia).
I Son los bloques de construcción φi en:
φ0 ← φ1 ∧ . . . ∧ φn (n ≥ 0)
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 34 / 111
Programas definitivos Sintaxis
Cláusulas
I Una cláusula es una disyunción finita de cero o más literales.I Una cláusula se dice definitiva, si tiene exactamente una literal
positiva.φ0 ∨ ¬φ1 ∨ . . . ∨ ¬φn (n ≥ 0)
I Lo cual es equivalente a la forma general de fbf que nos interesaba:
φ0 ← φ1 ∧ . . . ∧ φn (n ≥ 0)
I La cláusula vacía (sin literales) se denota como � y es equivalente a�← � (en nuestra notación previa ⊥ ← >).
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 35 / 111
Programas definitivos Sintaxis
Hechos y reglas revisitados
I En φ0 ← φ1 ∧ . . . ∧ φn (n ≥ 0), tenemos que:I Si n = 0, la literal φ0 será positiva, por lo que la cláusula definitiva será
un hecho.I Si n > 0 la cláusula definitiva toma la forma de una regla, donde φ0 es
la cabeza de la regla; y la conjunción φ1 ∧ . . . ∧ φn su cuerpo.I Una forma restringida de cuantificación:
∀X∀Y (nieto_de(X ,Y ) ∨ ¬∃Z (hijo_de(Z ,Y ) ∧ hijo_de(X ,Z ))).
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 36 / 111
Programas definitivos Sintaxis
Programa y Meta Definitivos
I Un programa definitivo es un conjunto finito de cláusulas definitivas.I Una cláusula sin literales positivas es una meta definitiva.
← φ1 ∧ . . . ∧ φn (n ≥ 1)
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 37 / 111
Programas definitivos Sintaxis
Ejemplos
I Considere las siguientes consultas:Consulta Meta definitiva¿Es Ana hija de Antonio? ← hijo(ana, antonio)¿Quién es nieto de Ana? ← nieto(X , ana)¿De quién es nieto Antonio? ← nieto(antonio,X )¿Quién es nieto de quién? ← nieto(X ,Y )
I ¿Cuales serían las respuestas computadas?
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 38 / 111
Programas definitivos Sintaxis
Respuestas obtenidas
I Puesto que la meta no contiene variables, la respuesta es true.I Puesto que el programa no contiene información sobre los nietos de
Ana, la respueta es false.I Puesto que Antonio es nieto de Marcos, la respuesta obtenida sería
X = marcos.I La consulta final obtiene tres respuestas: X = antonio Y = alicia,
X = alicia Y = marcos, X = ana Y = juan.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 39 / 111
Programas definitivos Sintaxis
Cláusulas de Horn
I Una cláusula de Horn es una cláusula ó una meta definitivas.I La cláusula vacía � es una meta definitiva y, por lo tanto, una
cláusula de Horn.I Las cláusulas de Horn implican restricciones expresivas. Por ejemplo,
no podemos expresar p(a) ∨ p(b)I Debido a su estructura restringida, las cláusulas de Horn son más
fáciles de manipular que las cláusulas generales.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 40 / 111
Programas definitivos Sintaxis
Significado lógico de las metas
I El significado lógico de las metas puede explicarse haciendo referenciaa la fbf equivalente cuantificada universalmente:
∀X1 . . .Xm ¬(φ1 ∧ . . . ∧ φn)
donde todas las Xi ocurren en la meta.I Equivale a:
¬∃X1 . . .Xm (φ1 ∧ . . . ∧ φn)
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 41 / 111
Programas definitivos Semántica
Conocimiento positivo
I Los programas definitivos solo pueden expresar conocimiento positivo,tanto los hechos, como las reglas, nos dicen que elementos de unaestructura están en una relación, pero no nos dicen cuales no.
I Por lo tanto, al usar el lenguaje de los programas definitivos, no esposible construir descripciones contradictorias, i.e., conjuntos de fbfno satisfacibles.
I Todo programa definitivo tiene un modelo.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 42 / 111
Programas definitivos Semántica
Modelos e interpretaciones (recordatorio)
I Sea φ una fbf y V una intepretación. V es un modelo de φ si |=V φ.I Sea ∆ un conjunto finito de fbf y V una interpretación. V es un
modelo de ∆ si |=V φ para toda φ ∈ ∆.I Una clase interesante de modelos para los programas definitivos se
conoce como interpretaciones de Herbrand.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 43 / 111
Programas definitivos Semántica
Universo y Base de Herbrand
I Sea L un alfabeto extraído de un programa definitivo ∆, donde|Const| ≥ 1.
I El Universo de Herbrand (U∆) es el conjunto de todos los términosformados con las constantes y functores de L.
I La Base de Herbrand (B∆) es el conjunto de todos los átomos quepueden formarse con los predicados y los términos en UL.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 44 / 111
Programas definitivos Semántica
Ejemplo: impar
I Sea ∆ = {impar(s(0)), impar(s(s(X )))← impar(X )}.I U∆ = {0, s(0), s(s(0)), s(s(s(0))), . . . }I B∆ = {impar(0), impar(s(0)), impar(s(s(0))), . . . }
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 45 / 111
Programas definitivos Semántica
Otro ejemplo
I Sea ∆ = {p(a), q(a, f (b)), q(X ,X )← p(X )}I U∆ = {a, b, f (a), f (b), f (f (a)), f (f (b)), . . . }I B∆ = {p(a), p(b), p(f (a)), p(f (b)), . . . }
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 46 / 111
Programas definitivos Semántica
Interpretación de Herbrand
I Sea ∆ un programa definitivo y L el alfabeto compuesto por lossímbolos de ∆.
I V es una interpretación de Herbrand de ∆, si y sólo si:I El dominio de V es U∆.I Para cada constante c ∈ L, cV = c.I Para cada functor f /n ∈ L, f V : Un
∆ 7→ U∆.I Para cada predicado p/n ∈ L, pV ⊆ Un
∆.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 47 / 111
Programas definitivos Semántica
Modelo de Herbrand
I Sea ∆ un programa definitivo;I L el alfabeto compuesto por los símbolos en ∆;I y V una interpretación de Herbrand de ∆.I Si V es un modelo de toda fbf en ∆, se dice que es un modelo de
Herbrand de ∆.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 48 / 111
Programas definitivos Semántica
Ejemplo: impar
I Consideren el programa ∆ en el ejemplo impar/1.I Una posible interpretación de este programa es
imparV = {s(0), s(s(s(0)))}
I Una intepretación de Herbrand se puede especificar mediante unafamilia de tales relaciones (una por cada símbolo de predicado).
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 49 / 111
Programas definitivos Semántica
Otro ejemplo
I Consideren ahora algunas interpretaciones de Herbrand de∆ = {p(a), q(a, f (b)), q(X ,X )← p(X )}:
V1 = {p(a), p(b), q(a, b), q(b, b)}V2 = {p(a), q(a, a), q(a, f (b))}V3 = {p(f (f (a))), p(b), q(a, a), q(a, f (b))}V4 = {p(a), p(b), q(a, a), q(b, b), q(a, f (b))}
I V2 y V4 son modelos de Herbrand de ∆I V1 y V3 no lo son.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 50 / 111
Programas definitivos Propiedades
Resultados de interés
I Para poder determinar si una interpretación de Herbrand V es unmodelo de una fbf cuantificada universalmente ∀φ, es suficienteverificar si φ es verdadera en V , para todas las asignaciones posiblesde las variables de φ.
I Para el lenguaje restringido de cláusulas definitivas, si queremosverificar que una fbf atómica φ es consecuencia de un programadefinitivo ∆ basta con verificar que todo modelo de Herbrand de ∆ estambién un modelo de Herbrand de φ.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 51 / 111
Programas definitivos Propiedades
Programa definitivo extendido con meta definitiva
I Sea ∆ un programa definitivo y γ una meta definitiva.I Sea L un alfabeto compuesto por los símbolos en el programa y la
meta definitivos.I Si V ′ es un modelo de ∆ ∪ {γ}, entonces V = {φ ∈ B∆ | |=V ′ φ} es
un modelo de Herbrand de ∆ ∪ {γ}.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 52 / 111
Programas definitivos Propiedades
Consistencia
I Sea ∆ un programa definitivo y φ una cláusula definitiva.I Sea ∆′ = ∆ ∪ {¬φ}.I Entonces ∆ |= φ si y sólo si ∆′ no tiene modelo de Herbrand.I Esto es, si ∆′ es no satisfacible, lo cual es cierto sólo si ∆′ no tiene
modelos y por lo tanto, no tiene modelo de Herbrand.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 53 / 111
Programas definitivos Propiedades
Intersección de modelos de Herbrand
I Sea M una familia no vacía de modelos de Herbrand de un programadefinitivo ∆.
I Entonces la intersección V =⋂M es un modelo de Herbrand de ∆.
I Al tomar la intersección de los modelos de Herbrand de un programadefinitivo (todos tienen al menos un modelo, e.g., B∆), obtenemos elmodelo mínimo de Herbrand.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 54 / 111
Programas definitivos Propiedades
Ejemplo
I Sea ∆ el programa definitivo {masculino(adan), femenino(eva)} consu interpretación obvia.
I ∆ tiene los siguientes modelos de Herbrand:1. {masculino(adan), femenino(eva)}2. {masculino(adan),masculino(eva), femenino(eva)}3. {masculino(adan),masculino(eva), femenino(adan)}4. {masculino(adan),masculino(eva), femenino(eva), femenino(adan)}
I La intersección de los modelos nos lleva a un modelo de Herbrand.I El modelo mínimo es el único que corresponde con el modelo
pretendido del programa.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 55 / 111
Programas definitivos Propiedades
Consecuencia Lógica
I El modelo mínimo de Herbrand de un programa definitivo ∆, M∆, esel conjunto de todas las consecuencias lógicas atómicas de base delprograma:
M∆ = {φ ∈ B∆ | ∆ |= φ}
I La prueba de este teorema pasa por demostrar queM∆ ⊇ {φ ∈ B∆ | ∆ |= φ} y que M∆ ⊆ {φ ∈ B∆ | ∆ |= φ}.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 56 / 111
Programas definitivos Modelo mínimo de Herbrand
Operador de consecuencia inmediata
I Sea base(∆) el conjunto de todas las cláusulas de base en ∆.I T∆ es una función sobre las interpretaciones de Herbrand de ∆
definida como sigue:
T∆(V ) = {φ0 | φ0 ← φ1, . . . , φn ∈ base(∆) ∧ {φ1, . . . , φn} ⊆ V }
I Se puede demostrar que existe una interpretación mínima V , t.q.T∆(V ) = V y que V es idéntica al modelo mínimo de Herbrand de∆, M∆.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 57 / 111
Programas definitivos Modelo mínimo de Herbrand
Notación
I Existe una notación estándar para denotar a los miembros de estasecuencia de interpretaciones construídas a partir de ∆:
T∆ ↑ 0 = ∅T∆ ↑ (i + 1) = T∆(T∆ ↑ i)
T∆ ↑ n =∞⋃i=0
T∆ ↑ i
I El conjunto construído de esta manera es idéntico al modelo mínimode Herbrand de ∆.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 58 / 111
Programas definitivos Modelo mínimo de Herbrand
Ejemplo
I Tomando ∆ como el programa de impar/1 tenemos:
T∆ ↑ 0 = ∅T∆ ↑ 1 = {impar(s(0))}T∆ ↑ 2 = {impar(s(0)), impar(s(s(s(0))))}
...T∆ ↑ ω = {impar(sn(0)) | n ∈ {1, 3, 5, . . . }}
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 59 / 111
Programas definitivos Modelo mínimo de Herbrand
Fin
I Sea ∆ un programa definitivo y M∆ su modelo mínimo de Herbrand.I Entonces:
I M∆ es la interpretación mínima de Herbrand, tal que T∆(M∆) = M∆.I M∆ = T∆ ↑ ω.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 60 / 111
Resolución-SLD Introducción
Programas y metas definitivos
I Consideren el siguiente programa definitivo ∆:
papa(juan,marta).recien_nacido(marta).
orgulloso(X ) ← padre(X ,Y ), recien_nacido(Y ).padre(X ,Y ) ← papa(X ,Y ).padre(X ,Y ) ← mama(X ,Y ).
I ¿Cómo interpretamos la meta ← orgulloso(Z ). ?
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 61 / 111
Resolución-SLD Introducción
Metas
I ← orgulloso(Z ) ≡ ∀Z¬orgulloso(Z )I ∀Z¬orgulloso(Z ) ≡ ¬∃Z orgulloso(Z ).I Si demostramos que ese enunciado es contradictorio en ∆, entonces
sabremos que ∆ |= ∃Z orgulloso(Z ).I Pero eso solo respondería true a la pregunta original.I El objetivo en realidad es encontrar una substitución θ tal que el
conjunto ∆ ∪ {¬orgulloso(Z )θ} sea insatisfacible, lo que equivale aque ∆ |= orgulloso(Z )θ.
I Ejemplo. ∆ ∪ ¬orgulloso(Z ){Z/juan}
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 62 / 111
Resolución-SLD Introducción
Razonamiento
I Asumimos la meta γ0 – Para todo Z , Z no está orgulloso.I Una regla en ∆ describe una condición para que alguien esté
orgulloso:
orgulloso(X )← padre(X ,Y ), recien_nacido(Y )
I Lo cual es lógicamente equivalente a:
∀ (¬orgulloso(X )→ ¬(padre(X ,Y ) ∧ recien_nacido(Y )))
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 63 / 111
Resolución-SLD Introducción
Estrategia
I Partiendo de:
∀ (¬orgulloso(X )→ ¬(padre(X ,Y ) ∧ recien_nacido(Y )))
I Al renombrar X por Z , eliminar el cuantificador universal y usarmodus ponens con respecto a γ0, obtenemos γ1:
¬(padre(Z ,Y ) ∧ recien_nacido(Y ))
I o su equivalente:
← padre(Z ,Y ), recien_nacido(Y ).
I γ1 que es verdadera en todo modelo ∆ ∪ {γ0}.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 64 / 111
Resolución-SLD Introducción
Resolución
I Ahora solo queda probar que ∆ ∪ {γ1} es no satisfacible. Observenque γ1 es equivalente a la fbf:
∀Z∀Y (¬padre(Z ,Y ) ∨ ¬recien_nacido(Y ))
I γ1 no es satisfacible para ∆, si en todo modelo de ∆ hay una personaque es padre de un recién nacido:
padre(X ,Y )← papa(X ,Y ).
I Por lo que γ1 se reduce a γ2:
← papa(Z ,Y ), recien_nacido(Y ).
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 65 / 111
Resolución-SLD Introducción
Estrategia recursiva
I El programa declara que juan es padre de marta:
papa(juan,marta).
I Así que sólo resta probar que “marta no es una recién nacida” no sepuede satisfacer junto con ∆:
← recien_nacido(marta).
I pero el programa contiene el hecho:
recien_nacido(marta).
I equivalente a ¬recien_nacido(marta)→ �I lo que conduce a una refutación �.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 66 / 111
Resolución-SLD Introducción
Resumiendo
I Para probar la existencia de algo:I Suponer lo opuestoI y usar modus ponens y la regla de eliminación del cuantificador
universal,I para encontrar un contra ejemplo al supuesto.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 67 / 111
Resolución-SLD Unificación
Unificador
I Una meta es un conjunto de átomos a ser probados.I Seleccionamos un átomo de la meta p(s1, . . . , sn) y una cláusula del
programa con la forma p(t1, . . . , tn)← A1, . . .AnI Si encontramos una substitución θ que hace que p(s1, . . . , sn)θ y
p(t1, . . . , tn)θ sean idénticos. Tal substitución se conoce comounificador.
I La nueva meta se construye remplazando el átomo seleccionado en lameta original, por los átomos de la cláusula seleccionada, aplicando θa todos los átomos obtenidos de esta manera.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 68 / 111
Resolución-SLD Unificación
Resolución-SLD
I La regla de inferencia principio de resolución SLD combina modusponens, eliminación del cuantificador universal y en el paso final unreductio ad absurdum.
I Si se prueba en k pasos que la meta definitiva en cuestión no puedesatisfacerse, probamos que:
← (φ1, . . . φm)θ1 . . . θk
I es una instancia que no puede satisfacerse. Por tanto:
∆ |= (φ1 ∧ . . . ∧ φm)θ1 . . . θk
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 69 / 111
Resolución-SLD Unificación
Observaciones
I Esta computación no es determinista: Cualquier átomo de la metapuede ser seleccionado y pueden haber varias cláusulas del programaque unifiquen con el átomo seleccionado.
I Pueden existir unificadores alternativos para dos átomos.I Es posible que el atomo seleccionado no unifique con ninguna
cláusula en el programa, i.e., que no sea posible construir un contraejemplo para la meta.
I La computación puede caer en un ciclo, sin producir solución alguna.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 70 / 111
Resolución-SLD Substitución
Substitución
I Una substitución θ es un conjunto finito de la forma:
{X1/t1, . . . ,Xn/tn}, (n ≥ 0)
donde las Xi son variables, distintas entre si, y los ti son términos.I Decimos que ti substituye a Xi . La forma Xi/ti se conoce como
ligadura de Xi .I La substitución θ se dice se dice de base si cada término ti es un
término base.I La substitución vacía se conoce como substitución de identidad
y se denota por ε.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 71 / 111
Resolución-SLD Substitución
Caso (expresiones)
I Sea θ = {X1/t1, . . . ,Xn/tn} una substitución y φ una expresión.Entonces φθ, el caso (instance) de φ bajo θ, es la expresión obtenidaal substituir simultáneamente Xi por ti para 1 ≤ i ≤ n.
I Si φθ es una expresión de base, se dice que es un caso base y se diceque θ es una substitución de base para φ.
I Si Φ = {φ1, . . . , φn} es un conjunto finito de expresiones, entoncesΦθ denota {φ1θ, . . . , φnθ}.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 72 / 111
Resolución-SLD Substitución
Ejemplo
I Sea φ la expresión p(Y , f (X )) yI Sea θ la substitución {X/a,Y /g(g(X ))}.I El caso de φ bajo θ es φθ = p(g(g(X )), f (a).I Observen que X e Y son simultáneamente remplazados por sus
respectivos términos, lo que implica que X en g(g(X )) no es afectadapor X/a.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 73 / 111
Resolución-SLD Substitución
Composición de substituciones
I Sean θ = {X1/s1, . . . ,Xm/sm} y σ = {Y1/t1, . . .Yn/tn} dossubstituciones.
I Consideren la secuencia:
X1/(s1σ), . . . ,Xm/(smσ),Y1/t1, . . . ,Yn/tn
I Si se borran de esta sencuencia las ligaduras Xi/siσ cuando Xi = siσy cualquier ligadura Yj/tj donde Yj ∈ {X1, . . . ,Xm}, obtenemos lacomposición de θ y σ denotada por θσ.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 74 / 111
Resolución-SLD Substitución
Ejemplo
I Sea θ = {X/f (Y ),Z/U} y σ = {Y /b,U/Z}.I Construimos la secuencia de ligaduras
X/(f (Y )σ),Z/(U)σ,Y /b,U/Z lo cual es X/f (b),Z/Z ,Y /b,U/Z .I Al borrar la ligadura Z/Z obtenemos la secuencia
X/f (b),Y /b,U/Z = θσ.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 75 / 111
Resolución-SLD Substitución
Caso (substituciones)
I Sean θ y σ dos substituciones. Se dice que θ es un caso de σ, si existeuna substitución γ, tal que σγ = θ.
I La substitución θ = {X/f (b),Y /a} es un caso deσ = {X/f (X ),Y /a}, puesto que σ{X/b} = θ.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 76 / 111
Resolución-SLD Substitución
Propiedades de las substituciones
I Sea φ una expresión, y sea θ, σ y γ substituciones. Las siguientesrelaciones se cumplen:1. θ = θε = εθ2. φθ = θφ3. (φθ)σ = φ(θσ)
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 77 / 111
Resolución-SLD Substitución
Unificación
I Uno de los pasos principales en el cómputo de una meta, es que dosfbf atómicas se vuelvan sintácticamente equivalentes.
I Este proceso se conoce como unificación y posee una soluciónalgorítmica.
I Sean φ y ψ términos. Una substitución θ tal que φ y ψ sean idénticos(φθ = ψθ) es llamada unificador de φ y ψ.
I unifica(conoce(juan,X ), conoce(Y ,Z )) = {Y /juan,X/Z}
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 78 / 111
Resolución-SLD Substitución
Unificador más general (MGU)
I Una substitución θ se dice más general que una substitución σ, si ysólo si existe una substitución γ tal que σ = θγ.
I Un unificador θ se dice el unificador más general (MGU: Most GeneralUnifier) de dos términos, si y sólo si θ es más general que cualquierotro unificador entre esos términos.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 79 / 111
Resolución-SLD Substitución
Forma resuelta y MGU
I Un conjunto de ecuaciones {X1 = t1, . . . ,Xn = tn} está en formaresuelta, si y sólo si X1, . . . ,Xn son variables distintas que no ocurrenen t1, . . . , tn.
I Sea {X1 = t1, . . . ,Xn = tn} un conjunto de ecuaciones en formaresuelta. Entonces {X1/t1, . . . ,Xn/tn} es un MGU (idempotente) dela forma resuelta.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 80 / 111
Resolución-SLD Substitución
Equivalencia
I Dos conjuntos de ecuaciones E1 y E2 se dicen equivalentes, si tienenel mismo conjunto de unificadores.
I Para computar el MGU de dos términos φ y ψ, primero intentetransformar la ecuación {φ = ψ} en una forma resuelta equivalente.Si esto falla, entonces mgu(φ, ψ) = fallo. Sin embargo, si una formaresuelta {X1 = t1, . . . ,Xn = tn} existe, entoncesmgu(φ, ψ) = {X1/t1, . . . ,Xn/tn}.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 81 / 111
Resolución-SLD Substitución
Algoritmo de unificación
1: function Unifica(E) . E es un conjunto de ecuaciones2: repeat3: (s = t)← seleccionar(E)4: if f (s1, . . . , sn) = f (t1, . . . , tn) (n ≥ 0) then5: remplazar (s = t) por s1 = t1, . . . , sn = tn6: else if f (s1, . . . , sm) = g(t1, . . . , tn) (f /m 6= g/n) then7: return(fallo)8: else if X = X then9: remover la X = X
10: else if t = X then11: remplazar t = X por X = t12: else if X = t then13: if subtermino(X ,t) then14: return(fallo)15: else remplazar todo X por t16: end if17: end if18: until No hay accion posible para E19: end function
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 82 / 111
Resolución-SLD Substitución
Ejemplo 1
I El conjunto {f (X , g(Y )) = f (g(Z ),Z )} tiene una forma resuelta,pues:
{f (X , g(Y )) = f (g(Z ),Z )} → {X = g(Z ), g(Y ) = Z}→ {X = g(Z ),Z = g(Y )}→ {X = g(g(Y ),Z = g(Y )}
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 83 / 111
Resolución-SLD Substitución
Ejemplo 2
I El conjunto {f (X , g(X ), b) = f (a, g(Z ),Z )} no tiene forma resuelta,puesto que:
→ {X = a, g(X ) = g(Z ), b = Z}→ {X = a, g(a) = g(Z ), b = Z}→ {X = a, a = Z , b = Z}→ {X = a,Z = a, b = Z}→ {X = a,Z = a, b = a}→ fallo
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 84 / 111
Resolución-SLD Substitución
Ejemplo 3
I El conjunto {f (X , g(X )) = f (Z ,Z )} no tiene forma resuelta, puestoque:
→ {X = Z , g(X ) = Z}→ {X = Z , g(Z ) = Z}→ {X = Z ,Z = g(Z )}
→ fallo
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 85 / 111
Resolución-SLD Substitución
Consideraciones
I El algoritmo termina y regresa una forma resuelta equivalente alconjunto de ecuaciones de su entrada, o falla si la forma resuelta noexiste.
I Computar subtermino(X , t) (verificación de ocurrencia) hace que elalgoritmo sea altamente ineficiente.
I El standard ISO Prolog (1995) declara que la unificación es nodecidible.
I Al eliminar la verificación de ocurrencia es posible que al intentarresolver X = f (X ) obtengamos X = f (f (X )) · · · = f (f (f . . . )).
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 86 / 111
Resolución-SLD Resolución-SLD
Formalizando
I El método de razonamiento descrito informalmente al inicio de estasesión, puede resumirse con la siguiente regla de inferencia:
∀¬(φ1 ∧ . . . ∧ φi−1 ∧ φi ∧ φi+1 ∧ . . . ∧ φm) ∀(ψ0 ← ψ1 ∧ . . . ∧ ψn)∀¬(φ1 ∧ . . . ∧ φi−1 ∧ ψ1 ∧ . . . ∧ ψn ∧ φi+1 ∧ . . . ∧ φm)θ
I donde:1. φ1, . . . , φm son fbf atómicas.2. ψ0 ← ψ1, . . . , ψn es una cláusula definitiva en el programa ∆ (n ≥ 0).3. MGU(φi , ψ0) = θ.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 87 / 111
Resolución-SLD Resolución-SLD
Observaciones
I La regla tiene dos premisas: una meta y una cláusula definitiva.I El alcance de los cuantificadores es disjunto.I Solo hay un cuantificador universal para la conclusión. Se requiere que
el conjunto de variables en las premisas sea disjunto.I Puesto que todas las variables en las premisas están cuantificadas, es
siempre posible renombrar las variables de la cláusula definitiva paracumplir con esta condición.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 88 / 111
Resolución-SLD Resolución-SLD
S de selección
I La meta definida puede incluir muchas fbf atómicas que unifican conla cabeza de alguna cláusula en el programa.
I Es deseable contar con un mecanismo determinista para seleccionarun átomo φi a unificar.
I Se asume una función que selecciona una submeta de la metadefinida (función de selección).
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 89 / 111
Resolución-SLD Resolución-SLD
Usando la resolución-SLD
I El punto de partida es una meta definida γ0:
← φ1, . . . , φm (m ≥ 0)
I Una submeta φi será seleccionada. Una nueva meta γ1 se construye alseleccionar una cláusula del programa ψ0 ← ψ1, . . . , ψn (n ≥ 0) cuyacabeza ψ0 unifica con φi , resultando en θ1. γ1 tiene la forma:
← (φ1, . . . , φi−1, ψ1, . . . , ψn, . . . , φm)θ1
I Ahora es posible aplicar el principio de resolución a γ1 para obtenerγ2, y así sucesivamente.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 90 / 111
Resolución-SLD Resolución-SLD
Terminación
I El proceso puede terminar o no. Hay dos situaciones donde no esposible obtener γi+1 a partir de γi :1. cuando la submeta seleccionada no puede ser resuelta (no es unificable
con la cabeza de una cláusula del programa).2. cuando γi = � (meta vacía = f).
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 91 / 111
Resolución-SLD Resolución-SLD
Derivación-SLD
I Sea γ0 una meta definitiva, ∆ un programa definitivo y R unafunción de selección. Una derivación SLD de γ0 (usando ∆ y R) esuna secuencia finita o infinita de metas:
γ0φ0 γ1 . . . γn−1
φn−1 γn
I φi ∈ ∆. Las variables en φi se renombran con subíndices i .
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 92 / 111
Resolución-SLD Resolución-SLD
Substitución computada
I Cada derivación SLD nos lleva a una secuencias de MGUs θ1, . . . , θn.La composición
θ ={θ1θ2 . . . θn si n > 0ε si n = 0
de MGUs se conoce como la substitución computada de la derivación.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 93 / 111
Resolución-SLD Resolución-SLD
Ejemplo
I Consideren la meta definida ← orgulloso(Z ) y el programa del iniciode esta clase. Entonces
γ0 = ← orgulloso(Z ).φ0 = orgulloso(X0)← padre(X0,Y0), recien_nacido(Y0).
I La unificación de orgulloso(Z ) y orgulloso(X0) nos da el MGUθ1 = {X0/Z}. Asumamos que nuestra función de selección es tomarla submeta más a la izquierda:
γ1 = ← padre(Z ,Y0), recien_nacido(Y0).φ1 = padre(X1,Y1)← papa(X1,Y1).
con θ2 = {X1/Z ,Y1/Y0}.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 94 / 111
Resolución-SLD Resolución-SLD
Ejemplo
I La derivación continua como sigue:
γ2 = ← papa(Z ,Y0), recien_nacido(Y0).φ2 = papa(juan,marta).γ3 = ← recien_nacido(marta).φ3 = recien_nacido(marta).γ4 = �
I la substitución computada para esta derivación es:
θ1θ2θ3θ4 = {X0/Z}{X1/Z ,Y1/Y0}{Z/juan,Y0/marta}ε= {X0/juan,X1/juan,Y1/marta,
Z/juan,Y0/marta}
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 95 / 111
Resolución-SLD Resolución-SLD
Refutación-SLD y derivación fallida
I Una derivación SLD finita:
γ0φ0 γ1 . . . γn−1
φn−1 γn
donde γn = �, se llama refutación SLD de γ0.I Una derivación de la metaγ0 cuyo último elemento no es la meta
vacía y no puede resolverse con ninguna cláusula del programa, esllamada derivación fallida.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 96 / 111
Resolución-SLD Resolución-SLD
Arbol-SLD
I Sea ∆ un prog. definitivo, γ0 una meta definitiva, y R una función deselección. El árbol-SLD de γ0 (usando ∆ y R) es un árbol etiquetado,posiblemente infinito, que cumple con:I La raíz del árbol está etiquetada por γ0.I Si el árbol contiene un nodo etiquetado como γi y existe una cláusula
renombrada φi ∈ ∆ tal que γi+1 es dervidada de γi y φi via R,entonces el nodo etiquetado como γi tiene un hijo etiquetado γi+1 Elarco entre ambos es φi .
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 97 / 111
Resolución-SLD Resolución-SLD
Ejemplo
← orgulloso(Z )
← padre(Z ,Y0), recien_nacido(Y0)
← papa(Z ,Y0), recien_nacido(Y0)
← recien_nacido(marta)
�
← mama(Z ,Y0), recien_nacido(Y0)
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 98 / 111
Resolución-SLD Resolución-SLD
Propiedades de la resolución-SLD
Correctez. Sea ∆ un programa definitivo, R una función de selección, y θuna substitución de respuesta computada a partir de ∆ y Rpara una meta ← φ1, . . . , φm. Entonces ∀ ((φ1 ∧ . . . ∧ φm)θ)es una consecuencia lógica del programa ∆.
Completez. Sea ∆ un programa definitivo, R una función de selección y← φ1, . . . , φm una meta definitiva. Si∆ |= ∀ ((φ1 ∧ . . . ∧ φm)σ), entonces existe una refutación de← φ1, . . . , φm vía R con una substitución de respuestacomputada θ, tal que (φ1 ∧ . . . ∧ φm)σ es un caso de(φ1 ∧ . . . ∧ φm)θ.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 99 / 111
Conocimiento en Primer Orden Base de conocimientos
Base de conocimientos
I Ahora podemos explorar en detalle el proceso de creación de una basede conocimientos (∆).
I Recuerden que el conocimiento implica asumir que el mundo satisfacealguna propiedad, expresada como un enunciado declarativo.
I ∆ está formada por una colección de tales enunciados y nosotrosasumimos que las proposiciones expresadas por ellos son las creenciasde un agente putativo.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 100 / 111
Conocimiento en Primer Orden Base de conocimientos
Consideraciones
I ¿Qué es lo que queremos (o nuestro agente quiere) computar?I Establecer las razones por las que la inferencia es necesaria en
nuestros sistemas y el número de veces que debe llevarse a cabo.I Establecer una ontología:
I Las clases de objeto que nos interesan;I Las propiedades que esos objetos pueden tener;I Las relaciones que puedan darse entre ellos.
I A este proceso que se orienta a ∆ desde el nivel del conocimiento, sele conoce como Ingeniería del Conocimiento [1].
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 101 / 111
Conocimiento en Primer Orden Vocabulario
Vocabulario
I Comenzar por el conjunto de predicados y funciones dependientes deldominio.
I ¿Qué clases de objetos habrá en nuestro sistema?I Las constantes serán usadas para representar individuos con nombre:
Ej. alejandroGuerra, gabrielAcosta, etc.I Es posible que necesitemos multiples identificadores:
Ej. 6183 puede denotar al mismo individuo que alejandroGuerra.I Otros individuos con nombre: Entidades legales, lugares, objetos.
Ej. iphone2, macBookPro1, ciia, etc.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 102 / 111
Conocimiento en Primer Orden Vocabulario
Tipos de objetos
I Ahora será necesario establecer los tipos de objetos que emergen delos individuos con nombre adoptados.
I Para ello solemos usar predicados de aridad uno:Ej. personal(6183), prof(gabrielAcosta), centro(ciia), etc.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 103 / 111
Conocimiento en Primer Orden Vocabulario
Atributos
I Los predicados unarios también pueden representar propiedades denuestros objetos:Ej. sni1(6183), sni2(efrenMezura), pnpc(ciia), etc.
I Observen que no podemos distinguir entre atributos y tipos de objeto.Si esto es necesario, el lenguaje FOL podría extenderse.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 104 / 111
Conocimiento en Primer Orden Vocabulario
Relaciones y funciones
I Las relaciones están representadas como predicados n-arios:Ej. trabajaEn(6183,ciia), profDe(6183,rc), etc.
I No olviden que hay relaciones que no son binarias:Ej. horario(rc,8,10,[martes, jueves]), etc.
I Las funciones pueden tomar varios argumentos, pero suelen serunarias: Ej. jefeDe(6183) 7→ rubenDeLaMora.
I Todas las funciones son totales, si hay alguien sin jefe en el dominio,deberíamos condierar definir jefeDe como una relación binaria:Ej. jefeDe(6183,rubenDeLaMora), etc.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 105 / 111
Conocimiento en Primer Orden Hechos y reglas
Hechos y reglas
I Con este vocabulario nuestros hechos simples pueden representarsecomo literales, i.e., predicados atómicos o su negación:Ej. prof(6183), ¬jubilado(6183), etc.
I Estos hechos constituyen una base de datos que podría almacenarsecomo una tabla relacional.
I Otros hechos básicos son los que tiene que ver con igualdad:Ej. rubenDeLaMora = coordinador(ciia), etc.
I También podemos definir reglas:Ej. investigadorEn(Invest,Centro) :- sni1(Invest),centro(Centro).
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 106 / 111
Conocimiento en Primer Orden Hechos y reglas
Reglas terminológicas I
Disjunto. Dos predicados son disjuntos si la neg. de uno implica al otro:Ej. hombre(X) :- not mujer(X).
Subtipo. Un predicado subsume al otro:Ej. medico(X) :- cirujano(X).
Exhaustivo. Dos o más tipos completan el concepto:Ej. sni(X) :- candidato(X); sni1(X); sni2(X);sni3(X); emerito(X).
Simétrico. Definen una relación simétrica:Ej. colega(X,Y) :- colega(Y,X).
Inverso. Definen una relación inversa:Ej. padre(X,Y) :- hijo(Y,X).
Restricción. Establecen una restricción de tipo de objeto:Ej. profEn(Prof,dia) :- sni(Prof).
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 107 / 111
Conocimiento en Primer Orden Hechos y reglas
Reglas terminológicas II
Definición. Definen un término:Ej. matutino(Curso) :- horario(Curso,_,Fin,_),Fin<14.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 108 / 111
Conocimiento en Primer Orden Hechos y reglas
Individuos abstractos
I Consideren las posibles representaciones de que nic compró unabici:I compra(nic, bici)I compra(nic, bici, costco)I compra(nic, bici, costco, 12000)I compra(nic, bici, costco, 12000, feb14)I etc.
I Solución: Definir un individuo abstracto y tantas relaciones binarias ofunciones unarias como sean necesarias:Ej. compra(f9872). precio(f9872,12000)., etc.
I Permite: precioEnDolares(C,PUs) :- precio(C,PMx),PUs = PMx/18.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 109 / 111
Conocimiento en Primer Orden Hechos y reglas
Otros hechos
Estadísticos. Incluyen información sobre la probabilidad o la proporciónde individus que satisfacen el predicado.Ej. La mayoría de los empleados está de vacaciones.
Defaults. Incluye caracerísticas que normalmente son razonables deasumir, al menos que uno sea advertido de lo contrario.Ej. Las aves vuelan.
Intencionales. Actitudes proposicionales.Ej. Este SNI cree que es hora de irse de vacaciones y lodesea.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 110 / 111
Conocimiento en Primer Orden Hechos y reglas
Referencias I
R Brachman y H Levesque. Knowledge representation and reasoning. San Francisco, CA.,USA: Morgan Kaufmann Publishers, 2004.
MR Genesereth y NJ Nilsson. Logical Foundations for Artificial Intelligence. Palo Alto,CA., USA: Morgan Kauffman Publishers, Inc., 1987.
SH Nienhuys-Cheng y R de Wolf. Foundations of Inductive Logic Programming. Ed. porJG Carbonell y J Sickmann. Vol. 1228. Lecture Notes in Artificial Intelligence. BerlinHeidelberg: Springer-Verlag, 1997.
S Russell y P Norvig. Artificial Intelligence: A Modern Approach. Tercera. Prentice HallSeries in Artificial Intelligence. USA: Prentice Hall, 2009.
Dr. Alejandro Guerra-Hernández (UV) Representación del Conocimiento MIA 2019 111 / 111