Metodología de Programación I Lógica de Primer Orden · I Por ejemplo, en 9X sobre(X;Y) la...

32
Introducci´ on Lenguaje (informal) Sintaxis Interpretaciones y Modelos Sem´ antica Inferencia Metodolog´ ıa de Programaci´on I ogica de Primer Orden Dr. Alejandro Guerra-Hern´ andez Departamento de Inteligencia Artificial Facultad de F´ ısica e Inteligencia Artificial [email protected] http://www.uv.mx/aguerra Maestr´ ıa en Inteligencia Artificial 2011

Transcript of Metodología de Programación I Lógica de Primer Orden · I Por ejemplo, en 9X sobre(X;Y) la...

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Metodologıa de Programacion ILogica de Primer Orden

Dr. Alejandro Guerra-Hernandez

Departamento de Inteligencia ArtificialFacultad de Fısica e Inteligencia Artificial

[email protected]://www.uv.mx/aguerra

Maestrıa en Inteligencia Artificial 2011

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Objetivo

I A la programacion logica le concierne el uso de la logica deprimer orden para representar y resolver problemas.

I Usamos una logica de primer orden restringida a clausulas deHorn y resolucion-SLD [2].

I Hoy revisaremos algunos conceptos preliminares de la Logicade Primer Orden, necesarios para formalizar los conceptoscitados.

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Representacion

I Cuando describimos situaciones de nuestro interes, solemoshacer uso de enunciados declarativos.

I Se trata de expresiones del lenguaje natural que son o bienverdaderas, o bien falsas (a diferencia de interrogativas, etc.).

I Las proposiciones representan hechos que se dan o no en larealidad.

I La logica de primer orden tienen un compromiso ontologicomas fuerte [4], donde la realidad implica ademas, objetos yrelaciones entre ellos.

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

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 Conociendolas es posible inferir:

3. Julia ama a Luis.

I Para ello definimos un conjunto de reglas de inferencia.Ejemplo:

P,P =⇒ Q

Q(M.P.)

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Componentes de un Sistema Formal (1)

I Un alfabeto y un conjunto de reglas sintacticas que generanformulas bien formadas (fbf) del lenguaje.

I Una teorıa del modelo. Su funcion es relacionar las fbf conalguna interpretacion de la realidad, para establecer cuandouna fbf es falsa y cuando verdadera.

I Si la interpretacion M hace que la expresion α sea verdadera,se dice que M es un modelo de α o que M satisface α, y seescribe M |= α. Una fbf es valida si es verdadera para todomodelo, y se escribe ` α.

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Componentes de un Sistema Formal (2)

I Una teorıa de prueba que hace de cada enunciado matematicouna formula demostrable y rigurosamente deducible.

I Incluye axiomas y reglas de inferencia.

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

El mundo de los bloques [1]

Mesa

B

A

C

D

E

Brazo robótico

I Necesitaremos sımbolospara:

I ObjetosI RelacionesI FuncionesI Variables

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

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 Seguire la notacion usada porProlog, las constantes soncadenas que inician conminuscula.

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

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 unico de salida.

I La funcion parcial sombrero ={(b,a),(c ,d),(d ,e)}:

sombrero(b) 7→ a

I Base funcional es el conjuntode todas las funcionesconsideradas.

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Predicados

I Denotan relaciones entre losmiembros de U . Mapean a falsoo verdadero.

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

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

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 algunsubconjunto de U :

base(a) 7→ b

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Extension de un predicado

I Para universos de discurso finitos, existe un lımite superior enel numero posible de predicados n-arios.

I Para un universo de discurso de cardinalidad b , existen bn

distintas n-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 demaximo 2(bn) conjuntos posibles.

I Caso aplicacion: en programacion logica inductivaesta relacionado con el tamano de mi espacio debusqueda!

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

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

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Alfabeto de la Logica 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 negacion;

∨ El operador binario de disyuncion;

∀ El sımbolo de cuantificacion universal;

() Los parentesis.

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Reglas sintacticas (terminos)

1. Si α ∈ Const entonces α ∈ Term;

2. Si α ∈ Var , entonces α ∈ Term;

3. Si α/n ∈ Func , entonces α(φ1, . . . ,φn) ∈ Term si y solo siφ1≤i≤n ∈ Term.

4. Ninguna otra expresion es un termino.

I a,b,c ,mesa, . . .

I X ,Y ,Z ,Cubo1,Cubo2, . . .

I base(b),sombrero(X ), . . .

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Reglas sintacticas (formulas bien formadas)

1. Si α/n ∈ Pred , entonces α(φ0, . . . ,φn) ∈LFOL si y solo 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 mas es una formula bien formada (fbf).

I sobre(a,b), libre(X ),ama(X ,hijo(X )), . . .

I ¬libre(a),¬libre(Y ), . . .

I sobre(X ,Y )∧¬libre(X ), . . .

I ∀X ama(X ,hijo(X )), . . .

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Definiciones auxiliares

conjuncion (α ∧β ) =def ¬(¬α ∨¬β );

implicacion material (α ⇒ β ) =def (¬α ∨β );

equivalencia material (α ≡ β ) =def ((α ⇒ β )∧ (β ⇒ α));

falso f =def ¬α ∧α;

verdadero t =def ¬fcuantificador existencial ∃X α =def ¬(∀X ¬α)

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Notacion extra

I En una fbf de la forma ∀X α, se dice que la fbf α esta bajo elalcance del cuantificador ∀X .

I En tal caso, se dice que la ocurrencia de X en α esta acotada,en caso contrario se dice que la ocurrencia de la variable eslibre.

I Por ejemplo, en ∃X sobre(X ,Y ) la variable X esta acotada,mientras que Y esta libre.

I Un termino sin variables se conoce como termino de base.

I Por ejemplo, sobre(a,b).

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Interpretacion

I Para expresar que al menos hay un bloque que no tiene nadaencima, escribimos: ∃X bloque(X )∧ libre(X ).

I Cuando usamos cuantificadores siempre tenemos en mente alU , en este caso {a,b,c ,d ,e,brazo,mesa}.

I Una interpretacion de esta expresion es un subconjunto de Utal que los miembros de ese subconjunto satisfacen elsignificado esperado de la expresion. En este caso {a,e}.

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Teorıa del modelo

I Para obtener un modelo para el lenguaje LFOL formamos elpar M = 〈D,V 〉, donde D es el universo de discurso y lainterpretacion V es una funcion, tal que:

I Para cualquier predicado α de aridad n V (α) regresa lasn-tuplas que corresponden a la interpretacion esperada delpredicado.

I Para una constante, la funcion V regresa la misma constante,ej. V (a) = a.

I Algunas veces la expresion V (α) se abrevia αV .

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Interpretacion para el mundo de bloques

aV = a

bV = b

cV = c

dV = d

eV = 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

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Interpretacion y asignacion de variables

I Una interpretacion V , con respecto a un dominio de discursoD, es una funcion que satisface las siguientes propiedades:

I Si α ∈ Const, Entonces V (α) = α;I Si α/n ≥ 1 ∈ Pred , Entonces V (α)⊆ Dn.

I libreV ⊂ {a,b,c ,d ,e,mesa,mano}.I sobreV ⊂ D×D.

I Decimos que U es una asignacion de variables basada en elmodelo M = 〈D,V 〉 si para todo α ∈ Var , U(α) ∈ D.

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Asignacion de terminos

I La asignacion de terminos T dadas la interpretacion V y laasignacion de variables U, es un mapeo de terminos a objetosdel universo de discurso que se define como sigue:

I Si α ∈ Const, entonces TVU(α) = V (α).I Si α ∈ Var , entonces TVU(α) = U(α).I Si α ∈ Term y es de la forma α(φ1, . . . ,φn); y V (α) = g ; y

TVU(φi ) = xi , entonces TVU(α(φ1, . . . ,φn)) = g(x1, . . . ,xn).

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Satisfaccion (I can’t get no)

I El hecho de que el enunciado α sea satisfecho bajo unainterpretacion V y una asignacion U, se escribe:

|=V α[U]

I Entonces podemos escribir M |= VU(α) para expresar que α

es verdadera en el modelo M = 〈D,V 〉 cuando las variables enα toman valores de acuerdo a la asignacion U.

I Por ejemplo, M |= VU(sobre(X ,b)) si X\a ∈ U.

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Satisfaccion (Oh yes! I can)

I Ecuaciones (igualdad) M |=V (α = β )[U], si y solo siTVU(α) = TVU(β ).

I Atomos que no sean ecuaciones M |=V α(τ1, . . . ,τn)[U], si ysolo si (TVU(τ1), . . . ,TVU(τn)) ∈ αV .

I Negacion M |=V ¬(α)[U], si y solo si M 6|=V α[U].

I Disyuncion M |=V (α ∨β )[U], si y solo si, M |=V α[U]o M |= β [U].

I Cuantificador universal M |=V ∀X α[U], si y solo si para todaβ en el universo de discurso, es el caso que M |=V α[U ′],donde U ′(X ) = β y U ′(µ) = U(µ) para µ 6= X .

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Definiciones complementarias

I Si una interpretacion V safisface a un enunciado α para todaasignacion de variables, se dice que V es un modelo de α.

I Un enunciado se dice satisfacible si existe algunainterpretacion y asignacion de variables que lo satisfaga.

I De otra forma, se dice que el enunciado es insatisfacible.

I Una fbf α es valida si y solo si se satisface en todaintepretacion y asignacion de variables.

I Las fbf validas lo son en virtud de su estructura logica, por loque no proveen informacion acerca del dominio descrito.Por ejemplo p(X )∨¬p(X ) es una fbf valida.

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Mi mama me ama

I Retomemos el ejemplo de la introduccion:

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)

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Reglas de inferencia

I La inferencia puede verse como un proceso de manipulacion defbf, donde a partir las premisas, se producen las conclusiones.

I Modus Ponens. O de eliminacion de la implicacion:

α α ⇒ β

β(⇒ E )

I Eliminacion de cuantificador universal.:

∀X α(X )

α(t)(∀E )

I Introduccion de conjuncion.:

α β

α ∧β(∧I )

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Ejemplo de derivacion

I Inicio:

1. ∀X∀Ymadre(X )∧hijo de(Y ,X ) =⇒ ama(X ,Y )2. madre(julia)∧hijo de(luis, julia)

I Al aplicar la eliminacion 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)

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Consistencia y completitud

I El hecho de que una formula α sea derivable a partir de unaformula β se escribe β ` α.

I Un conjunto de reglas de inferencia se dice consistente si, paratodo conjunto de fbf cerradas (sin ocurrencia de variableslibres) P y cada fbf cerrada α, siempre que P ` α se tiene queP |= α.

I Las reglas de inferencia se dicen completas si P ` α siempreque P |= α.

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Substituciones y su aplicacion

I Dada una variable X , un termino t y una fbf α, la expresionα[t/X ] denota la fbf resultado de subsistuir cada ocurrencialibre de X en α por t.

I ∀X (p(X )∧q(X ))⇒ p(X )∧q(Y ) [f (X ,Y )/X ]

I ∀X (p(X )∧q(X ))⇒ p(f (X ,Y ))∧q(Y )

Introduccion Lenguaje (informal) Sintaxis Interpretaciones y Modelos Semantica Inferencia

Bibliografıa

M. Genesereth and N. Nilsson.Logical Foundations for Artificial Intelligence.Morgan Kauffman Publishers, Inc., Palo Alto, CA., USA, 1987.

S.-H. Nenhuys-Chen and R. de Wolf.Foundations of Inductive Logic Programming, volume 1228 ofLecture Notes in Artificial Intelligence.Springer-Verlag, Berlin Heidelberg, 1997.

U. Nilsson and J. Maluszynski.Logic, Programming and Prolog.John Wiley & Sons Ltd, 2nd edition, 2000.

S. J. Russell and P. Norvig.Artificial Intelligence, a modern approach.Prentice Hall, New Jersey, USA, 2nd edition, 2003.