Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción...

111
Representación del Conocimiento Lógica de Primer Orden Dr. Alejandro Guerra-Hernández Universidad Veracruzana Centro de Investigación en Inteligencia Artificial Sebastián Camancho No. 5, Xalapa, Ver., México 91000 mailto:[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

Transcript of Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción...

Page 1: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 2: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 3: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 4: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 5: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 6: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 7: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 8: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 9: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 10: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 11: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 12: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 13: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 14: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 15: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 16: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 17: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 18: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 19: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 20: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 21: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 22: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 23: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 24: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 25: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 26: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 27: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 28: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 29: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 30: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 31: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 32: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 33: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 34: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 35: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 36: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 37: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 38: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 39: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 40: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 41: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 42: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 43: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 44: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 45: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 46: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 47: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 48: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 49: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 50: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 51: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 52: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 53: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 54: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 55: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 56: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 57: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 58: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 59: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 60: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 61: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 62: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 63: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 64: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 65: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 66: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 67: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 68: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 69: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 70: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 71: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 72: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 73: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 74: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 75: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 76: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 77: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 78: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 79: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 80: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 81: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 82: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 83: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 84: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 85: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 86: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 87: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 88: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 89: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 90: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 91: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 92: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 93: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 94: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 95: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 96: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 97: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 98: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 99: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 100: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 101: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 102: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 103: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 104: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 105: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 106: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 107: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 108: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 109: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 110: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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

Page 111: Representación del Conocimiento - Lógica de Primer Orden · LógicadePrimerOrden Introducción Representación ICuandodescribimossituacionesdenuestrointerés,solemoshaceruso deenunciadosdeclarativos

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