Vous êtes sur la page 1sur 10

2

En trminos generales, la Programacin Lgica atae al uso de la lgica para representar y resolver problemas. Ms adelante precisaremos que, en realidad, usaremos una lgica restringida a clusulas de Horn y la resolucin como regla de inferencia [17]. Por ahora, este captulo introduce los conceptos de la Lgica de Primer Orden necesarios para abordar los aspectos formales de la Programacin Lgica. Para ello, se adopta un enfoque basado en sistemas formales, que nos permita describir el lenguaje, la teora del modelo y la teora de prueba de la Lgica de Primer Orden. Con este aparato, se introducen los conceptos de unicacin y resolucin como regla de inferencia. Para expresar conocimiento sobre situaciones que son de nuestro inters, solemos hacer uso de enunciados declarativos. Decimos que estos enunciados son declarativos en el sentido lingstico del trmino, esto es, se trata de expresiones del lenguaje natural que son o bien verdaderas, o bien falsas; en contraposicin a los enunciados imperativos e interrogativos. La Lgica Proposicional es declarativa en este sentido, las proposiciones representan hechos que se dan o no en la realidad. La Lgica de Primer Orden tienen un compromiso ontlogico ms fuerte [? ], donde la realidad implica adems, objetos y relaciones entre ellos. Consideren los siguientes ejemplos de enunciado declarativo: 1. Julia es madre y Luis es hijo de Julia. 2. Toda madre ama a sus hijos. donde el enunciado (1) se reere a los objetos de discurso Julia y Luis, usando propiedades de estos objetos, como ser madre; as como relaciones entre stos, como hijo. El enunciado (2) se reere a relaciones que aplican a todas las madres, en tanto que objetos de discurso. A esto nos referimos cuando hablamos de representacin de un problema en el contexto de la Programacin Lgica, a describir una situacin en trminos de objetos y relaciones entre ellos. Si se aplican ciertas reglas de razonamiento a tales representaciones, es posible obtener nuevas conclusiones. Esto concierne a la resolucin de problemas en Programacin Lgica. Por ejemplo, conociendo (1) y (2) es posible inferir (va Modus Ponens) que: 3. Julia ama a Luis. La idea central de la programacin lgica es describir los objetos que conforman un universo de discurso, personas en el ejemplo; as como las relaciones entre ellos, siguiendo con el ejemplo hijo y madre; y computar tales descripciones para obtener conclusiones como (3). Al describir el problema que queremos resolver, tambin podemos hacer uso de funciones, relaciones en las cuales slo hay un valor dada una entrada. Por ejemplo, madre de puede representarse como una funcin (todo hijo tiene una sola madre), pero hijo de no. Esto se ilustra en la gura 10.

LGICA DE PRIMER ORDEN

19

20


luis pedro madre de madre de maria juana

maria juana

hijo de hijo de

luis pedro

Como en todo sistema formal, es necesario especicar cuidadosamente la sintaxis de tales enunciados declarativos, es decir, que expresiones pertenecen al lenguaje de la Lgica de Primer Orden, y cuales no; la semntica de estas expresiones, es decir qu hace que una expresin sea verdadera o falsa; as como las reglas de razonamiento que permiten concluir (3) a partir de (1) y (2). Tales cuestiones son el tema de estudio de la lgica matemtica. Este captulo del curso introduce los elementos de la Lgica de Primer Orden, necesarios para abordar la resolucin como regla de inferencia y su uso en el lenguaje de programacin Prolog.

Figura 10: La relacin madre de es una funcin; mientras que hijo de no lo es.

La especicacin cuidadosa de la sintaxis y semntica de la lgica de primer orden, se consigue deniendo a sta ltima como un sistema formal. Para ello, es necesario considerar tres aspectos: Languaje. Este elemento est asociado a la sintaxis de la Lgica de Primer Orden y de los programas lgicos. El lenguaje de un sistema formal est dado por un conjunto de smbolos conocido como alfabeto y una serie de reglas de construccin o sintcticas. Una expresin es cualquier secuencia de smbolos pertenecientes al alfabeto (primarios). Cualquier expresin es, o no es, una frmula bien formada (fbf). Las frmulas bien formadas son las expresiones que pueden formarse con los smbolos del alfabeto a partir de las reglas de construccin y por tanto, pertenecen al languaje de la Lgica de Primer Orden. Teora de modelo. Este elemento est asociado a la semntica de la Lgica de Primer Orden. La teora del modelo establece la interpretacin de las fbfs en un sistema formal. Su funcin es relacionar las fbfs con alguna representacin simplicada de la realidad que nos interesa, para establecer cuando una fbf es falsa y cuando verdadera. Esta versin de realidad corresponde a lo que informalmente llamamos modelo. Sin embargo, en lgica, el signicado de modelo est ntimamente relacionado con el lenguaje del sistema formal: si

.
Brazo robtico

21

E A B Mesa D C

la interpretacin M hace que la fbf 1 sea verdadera, se dice que M es un modelo de o que M satisface , y se escribe M |= . Una fbf es vlida si toda interpretacin es un modelo para ella. Teora de prueba. Este elemento est asociado con el razonamiento deductivo. La teora de la prueba tiene como objetivo hacer de cada enunciado matemtico una frmula demostrable y rigurosamente deducible. Para ello, la actividad matemtica debera quedar reducida a la manipulacin de smbolos y sucesiones de smbolos regulada por un conjunto de instrucciones dadas al respecto. La construccin de tal teora implica, adems del lenguaje del sistema formal, un subconjunto de fbf que tendrn el papel axiomas en el sistema, y un conjunto de reglas de inferencia que regulen diversas operaciones sobre los axiomas. Las fbf obtenidas mediante la aplicacin sucesiva de las reglas de inferencia a partir de los axiomas se conocen como teoremas del sistema.

Figura 11: El mundo de los bloques, usado en los ejemplos subsiguientes.

Bsicamente, la Lgica de Primer Orden, tambin conocida como Clculo de Predicados, introduce un conjunto de smbolos que nos permiten expresarnos acerca de los objetos en un dominio de discurso dado. El conjunto de todos estos objetos se conoce como universo de discurso (U ). Los miembros del universo de discurso pueden ser objetos concretos, ej., un libro, un robot, etc; abstractos, ej., nmeros; e incluso, cticios, ej., unicornios, etc. Un objeto es algo sobre lo cual queremos expresarnos. Como ejemplo, consideren el multi citado mundo de los bloques [9] que se muestra en la gura 11. El universo de discurso para tal escenario es el conjunto que incluye los cinco bloques, la el brazo robtico y la mesa: {a, b, c, d, e, brazo, mesa}. Una funcin es un tipo especial de relacin entre los objetos del dominio de discurso. Este tipo de relaciones mapea un conjunto de objetos de entrada a un objeto nico de salida. Por ejemplo, es posible denir la funcin parcial sombrero que mapea un bloque al bloque que se encuentra encima de l, si tal bloque existe. Las parejas correspondientes a esta funcin parcial, dado el escenario mostrado en la gura 11
1 El smbolo se usa aqu como una variable meta-lgica, es decir, una variable que tiene como referente el lenguaje del sistema formal mismo, y por lo tanto, no forma parte del lenguaje del sistema en si. Se usaran letras griegas como variables meta-lgicas.

22

son: {(b, a), (c, d), (d, e)}. El conjunto de todas las funciones consideradas en la conceptualizacin del mundo se conoce como base funcional. Un segundo tipo de relacin sobre los objetos del dominio de discurso son los predicados. Diferentes predicados pueden denirse en el mundo de los bloques, por ejemplo, el predicado sobre que se cumple para dos bloques, si y slo si el primero est inmediatamente encima del segundo. Para la escena mostrada en la gura 11, sobre/2 se dene por los pares {(a, b), (d, c), (e, d)}. Otro predicado puede ser libre/1, que se cumple para un bloque si y slo si ste no tiene ningn bloque encima. Este predicado tiene los siguientes elementos {a, e}. El conjunto de todos los predicados usados en la conceptuacin se conoce como base relacional. Para universos de discurso nitos, existe un lmite superior en el nmero posible de predicados n-arios que pueden ser denidos. Para un universo de discurso de cardinalidad b (cardinalidad es el nmero de elementos de un conjunto), existen bn distintas n-tuplas. Cualquier predicado n-ario es un subconjunto de estas bn tuplas. n Por lo tanto, un predicado n-ario debe corresponder a uno de mximo 2(b ) conjuntos posibles. Adems de las funciones y predicados, la exibilidad de la lgica de primer orden resulta del uso de variables y cuanticadores. Las variables, cuyos valores son objetos del universo de discurso, se suelen representar por cualquier secuencia de caracteres que inicie con una mayscula. El cuanticador para todo () nos permite expresar hechos acerca de todos los objetos en el universo del discurso, sin necesidad de enumerarlos. Por ejemplo, toda madre . . . El cuanticador existe () nos permite expresar la existencia de un objeto en el universo de discurso con cierta propiedad en partcular, por ejemplo, X libre(X) enLaMesa(X) expresa que hay al menos un objeto que no tiene bloques sobre l y aue se encuentra sobre la mesa. .. Sintaxis de la Lgica de Primer Orden

El alfabeto de la Lgica de Primer Orden se obtiene al extender la lgica proposicional con un conjunto numerable de smbolos de predicados (Pred) y funciones (Func). Se asume un conjunto innito de variables (Var) que toman valores en el universo de discurso. |f| denota la aridad del predicado o funcin f, es decir, su nmero de argumentos. Los predicados de aridad cero se asumen como constantes. Los trminos de nuestro lenguaje de Primer Orden se forman de variables, constantes y funciones aplicados a estos. Por ejemplo: calif(hermano(alex), sma) denota la calicacin obtenida por el hermano de Alex en el curso de Sistemas Multi-Agentes. Formalmente, utilizando notacin Backus Naur (BNF): Denicin 1 (Trminos) Un trmino se dene por: t ::= x | c | f(t, . . . , t) donde x Var; c Func tal que |c| = 0; y f Func tal que |f| > 0. Observen que los constructores bsicos de los trminos son las variables y las constantes (functores de aridad 0). Se pueden formar trminos ms complejos usando functores de aridad mayor a cero, cuyos argumentos son a su vez trminos. Por lo tanto, la nocin de trmino depende del conjunto Func.

Denicin 2 (Sintaxis) El lenguaje de la Lgica de Primer Orden LLPO se construye a partir de las variables Var, los functores Func y los predicados Pred como sigue: donde P Pred es un smbolo de predicado de aridad n > 1; ti denota trminos sobre Func; y x Var. Observen que los argumentos de un predicado son siempre trminos. Los predicados de aridad cero puden verse como variables proposicionales. ::= P(t1 , . . . , tn ) | () | ( ) | ( ) | ( ) | (x ) | (x )

23

Antes de introducir las deniciones formales de la semntica del clculo de predicados, consideremos algunas expresiones posibles en est lgica, usando como ambiente el mundo de los bloques (Figura 11). Si queremos expresar que al menos algn bloque no tiene nada encima, podemos usar los predicados Bloque y Libre en la siguiente expresin: x Bloque(x) Libre(x). Esta fbf expresa que existe un x tal que x es un bloque y x est libre (no tiene otro bloque encima). Observen que cuando usamos cuanticadores, siempre tenemos en mente el universo de discurso o dominio. El dominio puede especicarse en trmino de conjuntos. Luego, si el dominio D es el conjunto de constantes {A, B, C, D, E, Mesa, Mano}, podemos decir que B = {A, B, C, D, E} es el conjunto de bloques en D. Entonces plantear una expresin equivalente a x Bloque(x) Libre(x), usando la fbf x Libre(x), si especicamos que Libre tiene como dominio B. En tal caso, se dice que B es la interpretacin del predicado Libre. Para un predicado de aridad dos, como Sobre cuyos argumentos son bloques, podemos decir que su interpretacin est en B B. Para obtener un modelo para el lenguaje LFOL formamos el par hD, V i, donde D es el universo de discurso, ej. cualquier clase de objetos sobre la que queremos expresarnos, y V es una funcin, tal que para cualquier predicado de aridad n se obtienen las n-tuplas que corresponden a la interpretacin del predicado. En el ejemplo de la gura 11, consideren el predicado Sobre de aridad dos. Su interpretacin es un subconjunto de B B. Para la escena mostrada, V (Sobre) = {(A, B), (E, D), (D, C)}. Para una constante, la funcin V regresa la misma constante, ej. V (A) = A. Algunas veces la expresin V (), donde Const Pred, se abrevia V y se conoce como una interpretacin. Una posible interpretacin V para la escena mostrada en al gura 11 y su base relacional es: AV B C D Sobre Libre PorEncima
V V V

= A = B = C = D = E = {(A, B), (E, D), (D, C)} = {B, C} = {A , E } = {(A, B), (E, D), (E, C), (D, C)}

EV
V V V V

EnLaMesa

24

Todo esto puede especicarse formalmente con la siguiente regla semntica:

Denicin 3 (Interpretacin) Una interpretacin V , con respecto a un dominio de discurso D es una funcin que satisface las siguientes propiedades: i) Si Func y || = 0, entonces V () = (el caso de las constantes); ii) Si Pred y || = n, entonces V () Dn (el caso de los predicados). Observen que las variables no estn incluidas en la interpretacin, tal y como se ha denido. Interpretar las variables de manera separada a los otros smbolos, es una prctica aceptada. En lo que sigue, se asume que las variables en las fbf estn acotadas, es decir, bajo el alcance de un cuanticador. Decimos que es una asignacin de variables basada en el modelo M = hD, V i si para todo Var, () D. Entonces podemos escribir M |= V () para expresar que es verdadera en el modelo hD, V i cuando las variables en toman valores de acuerdo a la asignacin , entonces tenemos que: Denicin 4 (Semntica tomos) M |= si y slo si V () V . Denicin 5 (Semntica negacin) M |= si y slo si M 6|= . Denicin 6 (Semntica disyuncin) M |= ( ) si y slo si M |= o M |= . Para formular las reglas semnticas de las expresiones que contienen cuanticadores, necesitamos el concepto de asignacin de variables alternativa. La idea es que queremos que V (x) sea verdadera, no solo cuando V () es verdadera, sino cuando V () es verdadera para cualquier valor en D regresado por cualquier funcin de asignacin . Observen que las variables libres en deben conservar el mismo valor en tal asignacin. Se dice que la asignacin de variables es x-alternativa de , si y slo si para toda variable , excepto posiblemente x, () = (). Entonces, tenemos que:: Denicin 7 (Semntica cuanticador universal) M |= x Si y slo si V () V para cada asignacin de variables x-alternativa de . Denicin 8 (Semntica cuanticador existencial) M |= x Si y slo si existe una asignacin de variables x-alternativa de , tal que V () es verdadera. Una fbf es vlida en el modelo M si y slo si M |= para toda asignacin de variable basada en hD, V i. Una fbf que es vlida en todo modelo se conoce como universalmente vlida. Un resultado estndar importante es el principio de remplazamiento, expresado de la siguiente forma: Sea cualquier fbf y x e y dos variables cualesquiera. Sea M cualquier modelo de LFOL . Sea cualquier asignacin de variables. Entonces cuando es casi igual a excepto que (x) = (y), V () = V ([y/x]). Otro resultado es el principio de concordancia que expresa que cuando y concuerdan en todas las variables libres de una fbf , entonces V () = V (). Como consecuencia, cuando no contiene variables libres, entonces V () = V () para cualquier y .

Volvamos al ejemplo de la introduccin: 1. Toda madre ama a sus hijos.

25

2. Julia es madre y Luis es hijo de Julia. Conociendo (1) y (2) es posible concluir que: 3. Julia ama a Luis. Podemos formalizar este ejemplo en Lgica de Primer Orden como sigue: 1. X Y madre(X) hijo_de(Y , X) ama(X, Y ) 2. madre(julia) hijo_de(luis, julia) 3. ama(julia, luis) Una vez que hemos formalizado nuestros enunciados, el proceso de inferencia puede verse como un proceso de manipulacin de fbf, donde a partir de formulas como (1) y (2), llamadas premisas, se produce la nueva fbf (3) llamada conclusin. Estas manipulaciones se pueden formalizar mediante reglas de inferencia. Entre las reglas de inferencia de la lgica de primer orden encontramos: Modus Ponens. O regla de eliminacin de la implicacin. Esta regla dice que siempre que las fbfs de la forma y pertenezcan a las premisas o sean concluidas a partir de ellas, podemos inferir :

( E) Eliminacin de cuanticador universal. Esta regla expresa que siempre que una fbf de la forma X pertenezca a las premisas o sea concluida a partir de ellas, una nueva fbf puede ser concluida al remplazar todas las ocurrencias libres de X en por algn trmino t que es libre con respecto a X (todas las variables en t quedan libres al substituir X por t. La regla se presenta como sigue:

X(X) (E) (t) Introduccin de conjuncin. Cuando las fbf y pertenezcan a las premisas o sean concluidas a partir de ellas, podemos inferir :

(I)

26

La correctez de estas reglas puede ser demostrada directamente a partir de la denicin de la semntica de las fbf en LFOL . El uso de las reglas de inferencia puede ilustrarse con el ejemplo formalizado. Las premisas son: 1. XYmadre(X) hijo_de(Y , X) ama(X, Y ) 2. madre(julia) hijo_de(luis, julia) Al aplicar la eliminacin de cuanticador universal (E) a (1) obtenemos: 3. Y (madre(julia) hijo_de(Y , julia) ama(julia, Y ) Al aplicar nuevamente (E) a (3) obtenemos: 4. madre(julia) hijo_de(luis, julia) ama(julia, luis) Finalmente, al aplicar Modus Ponens a (2) y (4): 5. ama(julia, luis) La conclusin (5) ha sido obtenida rigurosamente, aplicando las reglas de inferencia. Esto ilustra el concepto de derivacin. El hecho de que una frmula sea derivable a partir de un conjunto de frmulas se escribe ` . Si las reglas de inferencia son consistentes (sound), siempre que ` entonces |= . Esto es, si nuestra lgica es consistente, cualquier fbf que puede ser derivada de otra fbf, es tambien una consecuencia lgica de sta ltima. Denicin 9 (Consistencia y completitud) Un conjunto de reglas de inferencia se dice consistente si, para todo conjunto de fbf cerradas (sin ocurrencia de variables libres) y cada fbf cerrada , siempre que ` se tiene que |= . Las reglas de inferencia se dicen completas si ` siempre que |= .

Formalmente, como ya se mencion, una substitucin es un mapeo de las variables del lenguaje a los trminos del mismo: Denicin 10 (Substitucin) Una substitucin es un conjunto nito de pares de la forma {X1 /t1 , . . . , Xn /tn } donde cada tn es un trmino y cada Xn es una variable, tal que Xi 6= ti y Xi 6= Xj si i 6= j. La substitucin vaca se denota por . Asumamos que Dom({X1 /t1 , . . . , Xn /tn }) denota al conjunto {X1 , . . . , Xn }, tambin conocido como dominio; y Range({X1 /t1 , . . . , Xn /tn }) denota al conjunto {t1 , . . . , tn }, tambin conocido como rango. Entonces la regla anterior expresa que las variables en el dominio de una substitucin son nicas y no incluyen la substitucin de la variable por si misma. La aplicacin X de la substitucin a la variable X se dene como: X = t Si X/t X En otro caso

observen que para las variables no incluidas en Dom(), aparece como la funcin identidad. Es importante extener el concepto de substitucin a las fbf:

Denicin 11 (Aplicacin de una substitucin) Sea = {X1 /t1 , . . . , Xn /tn } una substitucin y una fbf. La aplicacin es la fbf obtenida al remplazar simultneamente ti por toda ocurrencia de Xi en (1 6 i 6 n). se conoce como un caso (instance) de . Ejemplos: ama(X, Y ) madre(X){X/julia, Y/luis} = ama(julia, luis) madre(julia) p(f(X, Z), f(Y , a)) {X/a, Y/Z, W/b} = p(f(a, Z), f(Z, a)) p(X, Y ) {X/f(Y ), Y/b} = p(f(Y ), b) Denicin 12 (Composicin) Sean y dos substituciones de la forma: = {X1 /s1 , . . . Xm /sm } = {Y1 /t1 , . . . Yn /tn }

27

La composicin se obtiene a partir del conjunto: {X1 /s1 , . . . Xm /sm , Y1 /t1 , . . . Yn /tn } de la manera siguiente: eliminar todas las Xi /si para las que Xi = si (1 6 i 6 m) y eliminar tambin aquellas Yj /tj para las cuales Yj Dom() (1 6 j 6 n). Por ejemplo: {X/f(Z), Y/W }{X/a, Z/a, W/Y } = {X/f(a), Z/a, W/Y } Denicin 13 (Substitucin idempotente) Una substitucin se dice idempotente si = . Se puede probar que una substitucin es idempotente si y slo si Dom() Range() = , es decir si el dominio y el rango de la substitucin son disjuntos. Otras propiedades de las substituciones son: Denicin 14 (Propiedades de las substituciones) Sean , y substituciones y sea F una fbf. Entonces: E() = (E) () = () = = Observen que, aunque las substituciones son asociativas, stas no son conmutativas. Las substituciones son importantes para denir una regla de inferencia de especial relevancia para nosotros, conocida como la regla de resolucin. Con las deniciones introducidas en este captulo podemos abordar el tema de los programas lgicos denitivos.

28

1. El material aqu presentado est basado principalmente en los textos de Genesereth y Nilsson [9], captulo 2; y el de Nilsson y Maluszynski [18], captulo 1. Una lectura complementaria a estos textos son los captulos 8 y 9 del texto de Russell y Norvig [23]. Una aproximacin ms computacional a la Lgica de Primer Orden, puede encontrarse en Huth y Ryan [10], captulo 2. 2. Consideren el Mundo de Tarski [3] mostrado en la gura 12. Escriban una interpretacin para la escena mostrada, considerando los siguientes predicados con su signicado evidente: tringulo/1, cuadrado/1, pentgono/1, mediano/1, grande/1, pequeo/1, msPequeoQue/2, aLaIzquierdaDe/2, enLaMismaColumna/2. 3. En la intepretacin anterior, cuales de las siguientes frmulas son sasfacibles y cuales no: a) tringulo(a) cuadrado(c) pentgono(e) b) mediano(a) grande(a) pequeo(a) pequeo(f) grande(c) c) msPequeo(f, a) msPequeo(a, c) aLaIzquierdaDe(f, a) aLaIzquierdaDe(e, b) d) XY (aLaIzquierdaDe(X, Y ) mismaColumna(X, Y ) aLaIzquierdaDe(Y , X)) e) XY (cuadrado(X) pentagono(Y ) = aLaIzquierdaDe(X, Y )) f) XY (tringulo(X) cuadrado(Y ) mismaColumna(X, Y )) 4. En la misma interpretacin, introduzca un predicado que exprese una relacin entre tres objetos del universo de discurso. Utilice el predicado introducido en una frmula bien formada satisfacible.

Figura 12: Mundo de Tarski para los ejercicios 1 y 2.

Vous aimerez peut-être aussi