Sie sind auf Seite 1von 212

Lgica Formal y Lgica Proposicional

SEMANA 3 - SESION I
Ruben Cuadros Ricra

Objetivos
Entender los fundamentos de la lgica formal Estudiar las formas lgicas de razonamiento a
travs de la lgica proposicional

Contenidos /Actividades

La lgica formal Lgica proposicional Sintaxis y semntica de la


lgica proposicional

LOGICA FORMAL

Logica Formal

El primer lgico conocido fue Aristteles (380-392 A.C.) quien desarrolla muchas de las tesis que hoy se conocen como lgica silogstica o lgica clsica. Esencialmente trata de obtener la verdad o falsedad a partir de un argumento filosfico.

Logica Formal Aristteles fue uno de los primeros que intento codificar, La Manera correcta de Pensar, es decir procesos de pensamiento que son irrefutables. Sus famosos silogismos son esquemas de argumentacin mediante las cuales siempre se llega a conclusiones correctas si se parte de premisas correctas. Dichas leyes del pensamiento deberan gobernar la manera de operar de la mente.

Lgica Formal
Ejemplo. Juan es un hombre; Todos los hombres son mortales; Por lo tanto; Juan es mortal. En muchos aspectos, es simplemente una formalizacin del sentido comn.

Lgica Formal
La lgica simblica empez con G.W. Leibnitz y fue redescubierta por George Boole. Trata de la abstraccin de conceptos en smbolos y conexiones de estos smbolos por medio del uso de ciertos operadores.

Lgica Formal La lgica simblica constituye la mayora de la base de los Lenguajes de Programacin Procedural, quienes posean alguna nocin de electrnica, conocen que un ordenador se construye a travs de puertas lgicas que toman decisiones basadas en los niveles de las seales elctricas.

Lgica Formal Pero lo que tratamos es del uso de la lgica en un sentido ms amplio del razonamiento humano. Dentro de este tipo de lgica existen dos razones distintas entrelazadas: La lgica proposicional La lgica de predicados.

Lgica Proposicional Lgica proposicional. La lgica proposicional trata de la determinacin de la verdad o falsedad de varias proposiciones. Una proposicin es una sentencia correctamente formada que es verdadera o falsa. La lgica proposicional es la forma ms sencilla de la lgica simblica.

Lgica Proposicional
La lgica proposicional trata con sentencias declarativas, las cuales reciben el nombre de proposiciones y se forman con reglas sintcticas que combinan los smbolos de proposicin bsicos.

Lgica Proposicional
Las proposiciones en lgica se denotan por smbolos como P, Q, y R que son llamados frmulas atmicas o tomos. Una proposicin es atmica, si es imposible de descomponer en proposiciones ms simples. Para combinar proposiciones y formar nuevas proposiciones ms complejas usamos conectores lgicos.

ALGUNOS CONECTIVOS Negacin La negacin de una proposicin es verdadera cuando la original es falsa y viceversa. Conjuncin La conjuncin de dos proposiciones es verdadera cuando ambas proposiciones originales son verdaderas y falsa en los otros casos. Disyuncin La disyuncin de dos proposiciones es falsa cuando ambas proposiciones originales son falsa y verdadera en los otros casos.

ALGUNOS CONECTIVOS Condicional La proposicin condicional si p entonces q (donde p y q son dos proposiciones) es falsa cuando p es verdadera y q falsa, y verdadera en los otros casos. Bicondicional La proposicin bicondicional p si y slo si q (donde p y q son dos proposiciones) es falsa cuando p es verdadera y q falsa (o viceversa), y verdadera en los otros casos.

Lgica Proposicional
El propsito de las reglas de construccin ( que constituyen la sintaxis) es permitir la especificacin de combinaciones particulares llamadas frmulas. El lenguaje de la lgica proposicional es el conjunto de frmulas para dar como resultado las denominadas frmulas bien formadas

Lgica Proposicional
Ejemplos de proposiciones: La tierra es redonda La luna gira alrededor de la tierra Pedro tiene el grado de ingeniero

EL LENGUAJE DE LA LGICA PROPOSICIONAL Es el lenguaje ms sencillo de la lgica (sin variables) Como cualquier lenguaje tiene lxico, sintaxis y semntica Lxico Alfabeto A = {, , , , ....} B = A { , , , , , ( , ) }

EL LENGUAJE DE LA LGICA PROPOSICIONAL La sintaxis Se define por una formula bien formada es decir que el sistema formal tiene un lenguaje con un lexicn y reglas sintcticas de formacin: 1.El lexicn se conforma de smbolos primitivos Letras esquemticas: P, Q, R Conectivos: Parntesis: ( y )

LENGUAJE DE LA LGICA PROPOSICIONAL Sintaxis x A: la parte ms sencilla del lenguaje son los atmos o formulas atmicas (proposiciones, variables o constantes proposicionales) Ejemplo. Se tiene Mayor expresividad mediante formulas ms complejas Juan fue al cine Juan comi galletas Negacin: Juan no fue al cine P Q P

Ejemplos. Conjuncin: Juan fue al cine y comi galletas P Q Disyuncin: Juan fue al cine o comi galletas P Q Implicacin: Si Juan fue al cine, comi galletas PQ Doble implicacin: Juan comi galletas si y slo si fue al cine PQ

Semntica Asignacin del valor cierto o falso a una proposicin (simple o compuesta), con independencia de los significados que para nosotros tengan las proposiciones Asignacin de verdad a frmulas atmicas o interpretacin: A {falso, cierto} Asocia a los tomos un valor de verdad (cierto o falso).

SIMBOLOGA Representamos (y leemos) las proposiciones compuestas indicadas antes en las formas siguientes:

SIMBOLOGA En la medida de lo posible, y cuando no se preste a confusiones, eliminaremos los parntesis ms exteriores de (p q), (p q), etc. En general, intentaremos eliminar la mayor cantidad posible de parntesis, en la medida en que esto no deje ambigua a la frmula.

TAUTOLOGAS Y CONTRADICCIONES Una tautologa; es una proposicin que es verdadera en toda asignacin de verdad. Ejemplo. ((p q) ( p q)). Una contradiccin; es una proposicin que es falsa en toda asignacin de verdad. Ejemplo. (p p).

Ejemplo Al tratar de demostrar que una cierta conclusin C se desprende de una serie de premisas P1, P2, . . . , Pn, en el fondo estamos tratando de probar que (P1 P2 . . . Pn) C es una tautologa.

EJERCICIO 1. Clasifica los siguientes enunciados como tautologa (T), contradiccin (C) a) O me voy de viaje o no me voy Tautologa b) Si me voy de viaje soy feliz, es decir, no es el caso que me vaya de viaje y no sea feliz Tautologa 2. Si A es una frmula tautolgica y B una contradiccin: Tautologa Qu es A B ? Contradiccin Qu es A B ? Contradiccin Qu es A B ?

EJERCICIOS SOBRE FORMALIZACIN DE ENUNCIADOS Formaliza las siguientes proposiciones: a. No es cierto que no me guste bailar b. Me gusta bailar y leer libros de ciencia - ficcin. c. Si los gatos de mi hermana no soltaran tanto pelo me gustara acariciarlos. d. Si y slo si viera un marciano con mis propios ojos, creera que hay vida extraterrestre.

EJERCICIOS SOBRE FORMALIZACIN DE ENUNCIADOS Formaliza las siguientes proposiciones: e. Una de dos: o salgo a dar un paseo, o me pongo a estudiar como un energmeno. f. Si los elefantes volaran o supieran tocar el acorden, pensara que estoy como una regadera y dejara que me internaran en un psiquitrico. g. Prefiero ir de vacaciones o estar sin hacer nada si tengo tiempo para ello y no tengo que ir a trabajar.

SOLUCIN:

a) [B me gusta bailar].

(B)

b) [B me gusta bailar. C me gusta leer libros de ciencia ficcin]. B C c) [ G los gatos de mi hermana sueltan pelo. A me gusta acariciar los gatos ]. G A d) [ M ver un marciano con mis propios ojos. E creer en los extraterrestres ]. M E

SOLUCIN: e) [ P salir a dar un paseo. E estudiar como un energmeno]. PVE f) [ V los elefantes vuelan. T los elefantes tocan l acorden. l estar loco. P internar en un psiquitrico ]. ( V V T ) ( l P) g) [ V ir de vacaciones. N no hacer nada. T tener tiempo. I ir a trabajar ]. (T I ) (V V N )

EJERCICIO Formaliza la siguientes proposicin: Si tuvieran que justificarse ciertos hechos por su enorme tradicin entonces, si estos hechos son inofensivos y respetan a todo ser viviente y al medio ambiente, no habra ningn problema. Pero si los hechos son brbaros o no respetuosos con los seres vivientes o el medio ambiente, entonces habra que dejar de justificarlos o no podramos considerarnos dignos de nuestro tiempo.

LEYES DE LA LOGICA (PROPOSICIONAL) Equivalencia logica Definicin. Sean P y Q dos proposiciones cualesquiera (atmicas o compuestas). Diremos que P y Q son lgicamente equivalentes si toda asignacin de verdad que hace verdadera a P hace verdadera a Q y viceversa. Notacion. Denotaremos la equivalencia lgica entre P y Q por: PQ

SOLUCIONES AL EJERCICIO 2 J I R M P B D justificar hechos por su tradicin. ser inofensivo. ser respetuoso con los seres vivos. ser respetuoso con el medio ambiente. tener problemas. ser brbaro. ser digno de nuestro tiempo.

J (( I M) P) (( B ( R M) (J D))

LEYES DE LA LOGICA Las siguientes equivalencias lgicas son conocidas como las leyes de la lgica: Ley de la doble negacin p p: Leyes de de Morgan (p q) p q (p q) p q: Leyes conmutativas p qq p p qq p

Leyes asociativas p (q r) (p q) r p (q r) (p q) r Leyes distributivas p (q r) (p q) (p r) p (q r) (p q) (p r) Leyes de idempotencia p pp p p p

LAS LEYES DE LA LOGICA (CONT.)

Leyes de absorcin p (p q) p: p (p q) p: Ley de la implicacin p q p q

EJERCICIOS
1. La frmula proposicional: es: (P Q) (P Q) a) Una tautologa. b) Una contradiccin Respuesta: c c) Una frmula contingente. 2. La forma proposicional (p q) p es equivalente a) (p q) p b) p c) p q Respuesta: b

EJERCICIOS

Sean p, q, r las siguientes proposiciones: p: hago la tarea; q: juego al tenis; r: el sol esta brillando; s: la humedad es baja. Traduzca a simbolos: (a) Si el sol esta brillando, entonces juego tenis. (b) Hacer la tarea es requisito para que jugar al tenis. (c) Si el sol esta brillando y la humedad es baja entonces juego tenis. (d) Ni el sol esta brillando ni la humedad es baja. (e) La humedad no es baja, a menos que el sol este brillando

EJERCICIOS
Traduzca cada una de las siguientes proposiciones a una frase en Castellano y determine si la proposicion es verdadera o falsa: (a) x [i(x) e(x)]. (b) x [t(x) p(x)]. (c) x [a(x) e(x)]. (d) x [(a(x) t(x)) ) e(x)]. (e) x [q(x) r(x)]. (f) x [r(x) s(x)]. (g) x [h(x) e(x)]. (h) x [(h(x) q(x)) s(x)]. (i) x [q(x) p(x)]. (j) x [t(x) p(x)].

EJERCICIOS
2.- Con la siguiente asignacin de significados para las variables proposicionales: p: necesita un doctor q: necesita un abogado r: tiene un accidente s: est enfermo u: es injuriado expresar en espaol las siguientes sentencias: a) b) c) d) e) (sp)(rq) p(su) ( p q ) r (pq)(su) (su)p

EJERCICIOS

3.- Para cada una de las siguientes sentencias comprobar si son tautologas, contradicciones o indeterminaciones: a) b) c) d) e) f) (p)p p(pq) (sq)q (pq)p (pq)(qp) (pq)(qp)

EJERCICIOS
g) h) i) j) k) l) m) p(pq) (p(qp))p p(qp) (pq)(pq) p((pq)) pp pp

Inteligencia Artificial

LOGICA PROPOCISIONAL Y LOGICA DE PREDICADOS


TERCERA SEMANA
Ruben Cuadros Ricra

Objetivos
Entender los fundamentos de la lgica de
predicados Estudiar las formas lgicas de razonamiento a travs de la lgica de predicados

Contenidos /Actividades
Conceptos de la lgica de
predicados Inferencia y lgica en el predicados consecuencia calculo de

Calculo de Predicados

Los hechos constituyen una relacin nica, escrita a la izquierda del parntesis y de algunos objetos, que estn relacionados dentro del parntesis, tales estructuras conforman las sentencias bsicas del calculo de predicados. relacin (argumento, argumento, ...)

Calculo de Predicados

Dentro del calculo de predicados, a los nombres de la relacin se le denominan Predicados, los objetos Argumentos y las estructuras del calculo Proposiciones. Un Objeto puede ser expresado, como una Constante, indicando un individuo o una clase determinada, o como una Variable que indica, que el individuo o su clase estn sin especificar.

Calculo de Predicados

Existen dos aspectos que deben considerarse: 1. El orden de argumentos definidos con referencia a una determinada interpretacin del predicado, debe ser el mismo desde el comienzo hasta el final. tiene (carro, Juan) tiene (Juan, carro) X (Y, Z) " Y es la X de Z

Calculo de Predicados
2. Un predicado puede tener cualquier numero de Argumentos. Ejemplo. Pedro trabaja para IBM. como un cientfico en computadoras se representa: trabaja(Pedro,IBM,cientfico_en_computad oras) trabaja(cientfico_en_computadoras, IBM, Pedro)

Lgica de Predicados
Ejercicio. Si Luis informa a Manuel, Entonces Manuel supervisa a Luis
Solucin. informa (Luis, Manuel) supervisa (Manuel, Luis)

Si Pedro escribe el programa y No funciona Entonces lo arregla por la tarde, O se lo entrega a un programador el da siguiente.
Solucin. escribe (Pedro, programa) ^ ~ funciona (programa) arregla (Pedro,programa,tarde) v entrega (programa, programador, da_siguiente)

Calculo de Predicados
La mayor ventaja que ofrece l calculo de predicados sobre la lgica proposicional es el uso de variables. hombre (X) no mujer (X) "Si X es un hombre, entonces X no es una mujer". Con estas estructuras es posible expresar la mayor parte de los medios, contenidos en una tpica Base de Datos.

Calculo de Predicados
Ejercicio: Antonio es un cientfico en computadoras que trabaja para IBM. Como supervisor. Juan y Pedro son programadores que supervisa Antonio, y Juan tiene una responsabilidad adicional con la documentacin tcnica, establezca las relaciones respectivas.
Solucin: es_un (Antonio, cientifico_en_computadora), trabaja (Antonio, IBM, supervisor), programador (Juan) ^ documentador_tcnico (Juan), programador (Pedro), supervisa (antonio, Juan) ^ supervisa (antonio, Pedro).

Calculo de Predicados

La frase x es par e y es impar" no es una proposicin (no es ni verdadera ni falsa). Si reemplazamos x e y por dos nmeros enteros, la frase se transforma en una proposicin, y su valor de verdad depender de los valores que tengan x e y. Diremos que la frase anterior es una proposicin abierta" o predicado". Como este predicado depende de x y de y, lo denotaremos por una letra con x e y entre parentesis, por ejemplo: P(x, y)

Calculo de Predicados
Predicados atmicos Si denotamos x es par" por Q(x) e y es impar" por R(y), podemos escribir: P(x, y) Q(x) R(y) Podemos distinguir entre los predicados P(x; y) por un lado, y los predicados Q(x) y R(y) por el otro: el primero esta formado por otros predicados, mientras que los ltimos no pueden ser descompuestos en predicados mas pequeos. A los predicados que no pueden ser descompuestos en predicados mas pequeos los llamamos atmicos. A veces escribimos las relaciones como simbolos entre los elementos que relacionan (ejemplo: no escribimos < (x; y) sino x < y).

Calculo de Predicados

Variables, constantes, funciones y operaciones. En un predicado, encontramos simbolos que representan: Variables(x, y, z, etc.), Constantes(0, 1, 2, , y otros), funciones, operaciones, y otros predicados.

Calculo de Predicados
Interpretaciones y dominios No podemos estudiar un predicado sin asignarle un significado a los distintos simbolos que en el aparecen. Para esto, al analizar un predicado, consideraremos una interpretacion, que consiste en un dominio o universo D y en asignaciones de significado a las constantes, simbolos de funcion y operacin y a los simbolos que representan relaciones (predicados atmicos).

Calculo de Predicados Un lenguaje como el clculo de predicados, est definido por su sintaxis. El aspecto ms atractivo de este formalismo lgico es que proporciona de manera inmediata un mtodo muy potente para la obtencin de nuevo conocimiento a partir del antiguo. Las expresiones licitas del clculo de predicados reciben el nombre de frmulas bien formadas (fbf).

Calculo de Predicados
Los componentes elementales del clculo de predicados son: los smbolos de predicados, smbolos de variables, smbolos de funciones, smbolos de constantes, aparte de los parntesis, corchetes y comas. (implicancia), (negacin), (O), (Y), (para todo), (existe).

Calculo de Predicados Un smbolo de predicado se usa para representar una relacin en un dominio del discurso. Por ejemplo al representar el hecho de que alguien escribi algo. escribi (Voltaire, Cndido)

Calculo de Predicados En esta frmula atmica, Voltaire y Cndido son smbolos de constantes o trminos, que se usan para representar objetos o entes en un dominio del discurso. Los smbolos de Variables, tales como X o Y, son tambin trminos que nos permiten ser indefinidos respecto al ente al que se refieren. escribi (X, Y)

Calculo de Predicados Los smbolos de funcin, nos permiten denotar funciones en el dominio del discurso. Por ejemplo para expresar la sentencia: La madre de Juan est casada con el padre de Juan, podemos usar la siguiente expresin. casados [ padre(Juan), madre(Juan) ].

Calculo de Predicados
En el clculo de predicados, una fbf, puede tener una interpretacin, asignando una correspondencia entre los elementos del lenguaje, las relaciones, entes y funciones del dominio del discurso. A cada smbolo de predicado le podemos asignar una relacin correspondiente en el dominio; A cada smbolo de constante, un ente del dominio; A cada smbolo de funcin, una funcin del dominio. Estas asignaciones definen la semntica del lenguaje del clculo de predicados.

Calculo de Predicados Una vez que ha sido definida una interpretacin para las frmulas atmicas, diremos que est tiene el valor V(verdadero), si y slo si la sentencia correspondiente sobre el dominio es verdadera, y que tiene el valor F(falso) si y slo si la sentencia correspondiente es falsa.

Calculo de Predicados
Juntores.
Las frmulas atmicas pueden combinarse, para formar frmulas ms complejas, que permiten representar sentencias compuestas, tales como A Juan le gusta Mara y a Juan le gusta Carmen. Pero tambin algunas sentencias simples se pueden escribir en forma compuesta. Juan vive en una casa color amarillo. vive(Juan, casa1) color (casa1, amarillo)

Calculo de Predicados
En el ejemplo de una representacin del juntor () o inclusivo, la sentencia: Juan juega como defensa o delantero [Juega (Juan, defensa) juega (Juan, delantero)]. Los valores de las conjunciones y disyunciones, vienen eterminados por sus componentes.

Calculo de Predicados

El otro juntor se usa para representar las sentencias Si entonces, que recibe el nombre de una implicacin. La frmula de la izquierda de la implicacin se llama antecedente y la de la derecha, consecuente.

Calculo de Predicados
Una implicacin tiene el valor V si o bien el consecuente tiene el valor V (cualquiera que sea el valor del antecedente), o bien el antecedente tiene el valor F (cualquiera que sea el valor del consecuente); en otro caso, la implicacin tiene el valor F. Si el coche pertenece a Juan, entonces el coche es verde propietario(Juan, coche1) Color(coche1, verde).

Calculo de Predicados

El juntor se usa para representar las sentencias Si entonces, que recibe el nombre de una implicacin. La frmula de la izquierda de la implicacin se llama antecedente y la de la derecha, consecuente.

Calculo de Predicados
El smbolo de ( ) negacin, se incluye tambin entre los juntores, aunque en realidad no se usa para conectar dos frmulas. Se utiliza para negar el valor de verdad de una sola frmula; esto es, aplicada a una fbf, cambia su valor de V a F y viceversa. Por ejemplo, la sentencia (verdadera) Voltaire no escribi Hamlet, puede representarse como: escribi (Voltaire, Hamlet) Es fcil determinar que F1 F2 tiene los mismos valores de verdad que F1 F2, por lo cual puede ser reemplazado. aunque heursticamente se prefiere el smbolo de implicacin.

Calculo de Predicados
Cuanticadores En matemticas, muchas afirmaciones son de la forma todos los elementos de D (un dominio dado) satisfacen el predicado P(x)" o bien hay al menos un elemento de D que satisface P(x)". En el primer caso, abreviaremos usando el simbolo y en el segundo usaremos el simbolo . As, si P(x) es un predicado que depende solo de x, tenemos: x(P(x)) : Si reemplazamos x por cualquier elemento de D, entonces P(x) se hace verdadera. x(P(x)) : En D hay al menos un valor tal que, al reemplazar x por dicho valor, la proposicin resultante es verdadera: Los smbolos y son llamados

Calculo de Predicados
Cuantificacin. A veces, una frmula atmica, tal como P(X), tiene el valor V (para una interpretacin dada de P), sin importar la asignacin que se haga para la variable X. Otras veces, esa frmula atmica tiene el valor V para una asignacin al menos de la variable X.

Calculo de Predicados
Cuantificacin. Una frmula que consiste en el cuantor universal ( X) precediendo a una frmula P(X), tiene el valor Verdadero para una interpretacin si y slo si el valor de P(X) bajo esa interpretacin es Verdadero para todas las asignaciones de X a los entes en el dominio.

Calculo de Predicados
As por ejemplo las sentencias: Todos los elefantes son grises ( X) [ elefante (X) color (X, gris) ] Aqu, la frmula que ha sido cuantificada, es una implicacin y X es la variable cuantificada. Diremos por lo tanto que se ha cuantificado sobre X.

Calculo de Predicados

Una frmula que consiste en el cuantor existencial (X) precediendo a la frmula P(X), tiene el valor V para una interpretacin si y slo si el valor de P(X) bajo esa interpretacin es V al menos para una asignacin de X a un ente en el dominio. La sentencia: Hay una persona que escribi Hamlet puede epresentarse como: ( X) escribi (X, Hamlet).

Calculo de Predicados

Notaremos que si en una fbf aparecen cuantores, no siempre es posible usar las reglas para las semnticas de los cuantores, para determinar los valores de verdad de la fbf. Por ejemplo, si consideramos la fbf: ( X)P(X). Dada una interpretacin para P y un dominio infinito de entes, tendramos que comprobar si la relacin correspondiente a P se cumple para cada asignacin posible de X a un ente en el dominio, para poder concluir que la fbf tiene el valor V. Tal proceso no acabara nunca.

Calculo de Predicados La versin del calculo de predicados que utilizaremos se llama de primer orden, porque no permite la cuantificacin sobre smbolos de funciones. As, frmulas tales como (P) P(A), no son fbf en l calculo de predicados de primer orden.

Calculo de Predicados

Variables libres y ligadas En un predicado, las variables pueden aparecer relacionadas con un cuanticador (ligadas) o libres. Un predicado que no tiene variables libres es una proposicin. Un predicado con variables libres es una proposicin abierta.

Calculo de Predicados
Interpretaciones y valores de verdad Las proposiciones en lgica de predicados son verdaderas o falsas dependiendo de la interpretacin en que sean consideradas. Ejemplo. Sea P(x; y) un predicado binario (con dos argumentos). La proposicin xy(P(x; y)) es falsa en la interpretacin en que D = N y P(x; y) representa la relacion x > y. La misma proposicin es verdadera si D = N, y P(x; y) representa la relacion x divide a y".

Calculo de Predicados

Consecuencia lgica. Dadas dos operaciones, P y Q, afirmamos que Q se sigue lgicamente de P, o que es consecuencia lgica de P, si la implicacin P Q es una equivalencia, si todas las interpretaciones de dicha implicacin son verdaderas. Basta que podamos encontrar un ejemplo, para el cual P Q sea falsa, es decir, para el cual P sea verdadera y Q falsa, para que afirmemos que Q no es consecuencia lgica de P.

Calculo de Predicados

Equivalencia lgica Si P y Q son dos proposiciones en lgica de predicados, diremos que ellas son logicamente equivalentes si toda interpretacin le asigna el mismo valor de verdad a ambas. Ejemplo. La proposicin x(Q(x) R(x)) es logicamente equivalente a x(Q(x)) x(R(x))

Calculo de Predicados
Propiedades de las fbf. Usando las reglas semnticas que hemos estudiado, podemos construir fbf., arbitrariamente complejas tales como: ( x) { ( y) [ (P (x, y) Q( y, x )) R (x) ] } ( q) { ( x) [ P (x) R (q) ] } P [A, g (A, B, A) ] { [ P (A) P (B) ] } P(B). En estas expresiones se han utilizado parntesis, corchetes y llaves, como delimitadores para agrupar las fbf. componentes.

Calculo de Predicados

Algunos ejemplos de expresiones que no son fbf. f (A) f ( P(A)) Q{ f (A), [P (B) Q (C) ] } A ( ).

Calculo de Predicados
Si los valores de verdad de dos fbf son los mismos cualesquiera que sea su interpretacin, se dice que estas fbf son equivalentes. Usando las tablas de verdad, se pueden establecer las equivalencias siguientes: ( P) es equivalente a P P Q es equivalente a P Q Las leyes de Morgan: ( P Q) es equivalente a P Q ( P Q) es equivalente a P Q Las leyes distributivas: P (X Y) es equivalente a (P X) (P Y) P (X Y) es equivalente a (P X) (P Y)

Calculo de Predicados
Las leyes conmutativas: P Q es equivalente a Q P P Q es equivalente a Q P Las leyes asociativas: (P Q) Y es equivalente a P ( Q Y) (P Q) Y es equivalente a P ( Q Y) La ley de contraposicin: P Q es equivalente a Q P

Calculo de Predicados
A partir de los significados de los cuantores podemos establecer tambin las equivalencias siguientes: ( x) P(x) es equivalente a (x) [ P(x)] (x) P(x) es equivalente a (x) [ P(x) ] (x)[P(x)Q(x)] es equivalente a (x)P(x)(y)Q(y) (x)[P(x)Q(x)] es equivalente a (x)P(x) ( y)Q(y) (x) P(x) es equivalente a (y) P(y) (x) P(x) es equivalente a (y) P(y)

Calculo de Predicados

Ejercicio: Cada Ciudad tiene un polica que ha sido mordido por todos los perros de la Ciudad. (x) { ciudad(x) (y) {polica (x, y) (z) { [perro(z) vive_en(x, z)] mordido (z, y)}}} Ejercicio: Para cada conjunto x, hay un conjunto y tal que el cardinal de y es mayor que el cardinal de x. (x) { conjunto(x) (y)(u)(v) [conjunto(y) cardinal(x, u) cardinal(y, v) mayor (u, v) ] }

Calculo de Predicados
Ejercicio. Todos los bloques que estn encima de bloques que han sido movidos o que estn unidos a bloques que han sido movidos, tambin han sido movidos. (x)(y) { {bloque(x) bloque (y) [ encima(x, y) unido(x, y) ] movido(y) } movido(x) }.

Calculo de Predicados

EJERCICIOS
1.- Escribir las correspondientes sentencias lgicas para las siguientes frases: a) Una relacin es una relacin de equivalencia si y slo si es reflexiva, simtrica y transitiva. b) Si la humedad es alta, llover esta tarde o esta noche. c) El cncer no se cura al menos se determine su causa y se encuentre un nuevo frmaco. d) Se requiere valor y preparacin para escalar esta montaa. e) Si es un hombre que hace una campaa dura, probablemente ser elegido.

Calculo de Predicados Formulas Prenex


SEMANA 4 - SESION I
Ruben Cuadros Ricra

Objetivos
Entender los mecanismos de representacin del
calculo de predicados Formular problemas de representacin a travs del uso del calculo de predicados Algoritmos de conversin

Contenidos /Actividades
Calculo de predicados Formula Prenex

Calculo de Predicados
Ejercicio: Considere las sentencias siguientes y logre su epresentacin a travs de la lgica de predicados. 1. 2. 3. 4. 5. 6. 7. Marco era un hombre Marco era un pompeyano. Todos los pompeyanos eran romanos Cesar fue un gobernante. Todos los romanos o eran leales a Cesar o le odiaban. Todo el mundo es leal a alguien. La gente slo intenta asesinar a los gobernantes a los que no es leal. 8. Marco intento asesinar a Cesar.

Calculo de Predicados
Los hechos descritos en las frases anteriores se pueden representar como un conjunto de fbf. de la lgica de predicados de la siguiente manera: 1. 2. 3. 4. Marco era un hombre hombre (Marco) Marco era pompeyano pompeyano(Marco) Todos los pompeyanos eran romanos x: pompeyano(x) romano(x) Cesar fue un gobernante gobernante(Cesar)

Calculo de Predicados

5. 6. 7.

8.

Todos los romanos o eran leales a Cesar o le odiaban. x: romano(x) leal(x, Cesar) odia(x, Cesar). Todo el mundo es leal a alguien x: y : leal (x, y). La gente slo intenta asesinar a los gobernantes a los que no es leal. x: y: persona(x) gobernante(y) intenta_asesinar(x, y) leal(x, y). Marco intento asesinar a Cesar intenta_asesinar(Marco, Cesar).

Calculo de Predicados
Ahora supongamos que se desea utilizar los anteriores aciertos para responder a la siguiente pregunta: ? Era Marco leal a Cesar? Utilizando 7 y 8 se puede demostrar que Marco no era leal a Cesar, intentando obtener una prueba formal de razonamiento a la inversa desde el objetivo a alcanzar. leal (Marco, Cesar)

Calculo de Predicados
Para probar este objetivo, es necesario utilizar las reglas de inferencia que permiten transformarlo en otro objetivo (o posiblemente conjunto de objetivos) que a su vez pueden ser transformados, y as sucesivamente, hasta que no quede ningn objetivo por satisfacer. El intento falla, ya que no se puede satisfacer el objetivo: persona (Marco) con los aciertos disponibles. El problema es que, a pesar de que se sabe que Marco era un hombre, no se puede deducir que era una persona.

Calculo de Predicados

Se debe aadir la representacin de otro hecho al sistema: 9. Todos lo hombres son personas. x: hombre(x) persona(x) De esta forma se satisface el ltimo objetivo y se obtiene una prueba de que Marco no era leal a Cesar.

Calculo de Predicados

Formulas Prenex Las frmulas prenex, son aquellas donde todos los cuantificadores, Q1,Q2,...Qn, que pueda tener una frmula del clculo de predicados, estn colocados a la izquierda de la frmula, de manera que a la derecha de ella queda una frmula M sin cuantificadores. Es decir: F = (Q1x1),...(Qnxn) (M)

Frmulas Prenexas

Todos los cuantificadores estn a la izquierda:

F = (Q1 x 1 ) (Q x ) (M ) n n donde: (Q1 x1) =

(xi )
(xi )

M es la matriz de la frmula F (sin cuantificadores)

Calculo de Predicados
Formulas Prenexas Donde las Qi son cuantificadores universales o existenciales y M es una frmula sin cuantificadores, cuyos elementos son uno o ms smbolos de predicados separados por conectores lgicos. A est forma se le conoce como la Forma normal Prenex.:

Calculo de Predicados
Aqu se representan algunas frmulas en Forma Normal Prenex: (x)(y) (P(x, y) Q(y)) (x)(y) ((P(x, y) (Q(y)) (x)(y) (z) (Q(x, y) R(z))

Para transformar una frmula a Forma Normal Prenex es necesario considerar la equivalencia de frmulas en la lgica de predicados de primer orden.

Calculo de Predicados - Frmulas Prenex


Dos frmulas F y G son equivalentes, (F G) si y solo si la evaluacin de F y G es la misma bajo cualquier interpretacin. Sea F una frmula que contiene una variable libre X. Para enfatizar que la variable X est en F se representa F como F[x]. Por otro lado, G es una frmula que no contiene variable X. Si denotamos por Q al cuantificador que puede tomar valores o , entonces: a) b) c) d) (Qx) F[x] G (Qx) (F[x]G) (Qx) F[x] G (Qx) (F[x]G) (x) F[x] (x) F[x] (x) F[x] (x) F[x]

Calculo de Predicados - Frmulas Prenex


Ahora, supongamos que F[x] y H[x] son dos frmulas conteniendo a x,entonces: a) (x) F[x] (x) H[x] (x) (F [x] H[x]) b) (X) F[X] H[x] (x) (F[x] H[x])

Pero el cuantificador universal y existencial no pueden distribuirse como los conectores y , de donde: (x) F[x] (x) H[x] (x) F[x]) H[x]

(x) (F[x]H[x]); (x) (F[x]H[x]);

Calculo de Predicados - Frmulas Prenex

Debido a que cualquier variable ligada es considerada como variable muda, entonces: (x)F[x](x)H[x] (x)F[x] (z)H[z] = (x)(z) (F[x] H[z]) Similarmente, tenemos (x)F[x](x)H[x] (x)F[x] (z)H[z] = (x)(z) (F[x] H[z])

Transformacin a forma normal Prenex La transformacin a una forma normal prenex es posible mediante un procedimiento simple: Paso 1. Usar las leyes F G ( F G) ( G F) FG FG Para eliminar los conectivos lgicos e

Transformacin a forma normal Prenex Paso 2. Pasar negaciones hacia delante

Doble negacin: ~(~F) F Morgan: (FG) FG (FG) F G (x) F(x) (x) F(x) (x) F(x) (x) F(x)

Transformacin a forma normal Prenex


Paso 3. Renombrar las variables ligadas si es necesario Paso 4. Mover los cuantificadores hacia la izquierda Usar las leyes (Qx) F[x]G (Qx) (F[x] G ) (Qx) F[x]G (Qx) (F[x] G ) (x) F[x] (x) H[x] (x) (F[x]H[x] ) (x) F[x] (x)H[x] (x) (F[x] H[x] ) (Q1x) F[x] (Q2x)H[x] (Q1x) (Q2z) (F[x] H[z] ) (Q3x) F[x] (Q1x)H[x] (Q3x) (Q1z) (F[x] H[z] )

Transformacin a frmula Prenex


Ejercicio: Transformar a forma normal prenex 1. (x)(P(x)(y)Q(x,y)) = (x)(P(x)(y)Q(x,y) = (x)(y)(P(x)Q(x,y)) 2. (x) (((y) P(x,y)) ((z)Q(z)R(x))) =(x)((y)P(x,y)((z)Q(z)R(x))) =(x)((y)P(x,y)((z)Q(z)R(x))) =(x)(y)(P(x,y)((z)Q(z)R(x))) =(x)((y)(P(x,y)(z)Q(z)R(x) =(x)((y)(z)(P(x,y) Q(z)R(x))

Eliminacin de Cuantificadores Existenciales - Skolem


Reemplazar cada ocurrencia de la variable
del mediante una funcin de Skolem, cuyos argumentos son las variables de los que lo alcanzan.

Si el a eliminar no est dentro del alcance

del , se usa una funcin de skolem sin argumentos.

Eliminacin de Cuantificadores Existenciales - Skolem


En una frmula donde se incluye una variable cuantificada existencialmente se afirma que existe un valor que puede sustituir a la variable, y que hace verdadera la frmula. Es posible eliminar el cuantificador sustituyendo la variable por una referencia a una funcin que produzca el valor deseado. Puesto que no se conoce necesariamente la forma de producir ese valor, se debe crear un nuevo nombre de funcin para cada sustitucin. No se hace ninguna afirmacin sobre esas funciones excepto de que deben existir. y: Alcalde (y)

Eliminacin de Cuantificadores Existenciales


Puede transformarse en la frmula: Alcalde (S1) Donde, S1 es una funcin sin argumentos que produce de algn modo un valor que satisface el predicado Alcalde. Si surgen cuantificadores existenciales dentro del mbito de cuantificadores universales, los valores que satisfagan el predicado pueden depender de los valores de las variables cuantificadas universalmente.

Eliminacin de Cuantificadores Existenciales


Por ejemplo en la frmula. x: y: padre_de(y, x)

El valor de y que satisface padre_de depende del valor concreto de x. Por lo tanto, se deben generar funciones con el mismo nmero de argumentos que el nmero de cuantificadores universales que afecten la expresin que s esta tratando. En el ejemplo anterior se transformar en: x: padre_de(S2(x), x) Estas funciones que generamos se llaman funciones de skolem. Aquellas que no tienen argumentos se llaman a veces constantes de skolem.

Ejemplo 1
W= (x)(y){(z)[P(x,z)P(y,z)](u)Q(x,y,u)}
Paso 1: Eliminar

W= (x)(y){(z)[P(x,z)P(y,z)](u)Q(x,y,u)}
Paso 2: Pasar hacia adelante

W= (x)(y){ ( z) [P(x,z)P(y,z)](u)Q(x,y,u)} W= (x)(y){ ( z) [P(x,z) P(y,z)](u)Q(x,y,u)}


Paso 3: Renombrar variables: No Paso 4: Eliminar

W= (x)(y) (z) (u){P(x,z) P(y,z)Q(x,y,u)} W= (x)(y) (z) {P(x,z)P(y,z)Q(x,y,f(x,y))}

Ejemplo 2
F=(x)[P(x)[(y){P(y)P(f(x,y))}(y){Q(x,y)P(y)}]] 1. Eliminar : F=(x)[P(x)[(y){P(y)P(f(x,y))}(y){Q(x,y)P(y)}]]

F=(x)[P(x)[(y){P(y)P(f(x,y))}(y){~Q(x,y)P(y)}]] 2. Pasar hacia adelante: F=(x)[P(x)[(y){P(y)P(f(x,y))} (y){Q(x,y)P(y)}]]

Ejemplo 2: Continuacin
3. Estandarizar variables: F=(x)[P(x)[(y){P(y)P(f(x,y))} (y){Q(x,y)P(y)}]]

F=(x)[P(x)[(y){P(y)P(f(x,y))}(u){Q(x,u)P(u)}]] 4. Eliminar : F=(x)[P(x)[(y){P(y)P(f(x,y))}{Q(x,g(x))P(g(x))}]] 5. Convertir a Prenexa: F=(x) (y)[P(x)[{P(y)P(f(x,y))}{Q(x,g(x))P(g(x))}]]

Ejemplo 3
(w)Q(w)(x)[(y)[(z)[P(x,y,z)(u)R(x,y,z,u)]]] 1. Eliminar (w)Q(w)(x)[(y)[(z)[P(x,y,z)(u)R(x,y,z,u)]]] (w)Q(w)(x)[(y)[(z)[P(x,y,z)(u)R(x,y,z,u)]]] 2. Pasar hacia adelante (w)Q(w)(x)[(y)[(z)[P(x,y,z)(u)R(x,y,z,u)]]] 3. Estandarizar variables: No

Ejemplo 3: Continuacin
4. Eliminar : (w)Q(w)(x)[(y)[(z)[P(x,y,z)(u)R(x,y,z,u)]]] (w)Q(w)(x)(y)[P(x,y,f(x,y))(u)R(x,y,f(x,y),u)]

Q(a)(x)(y)[P(x,y,f(x,y))(u)R(x,y,f(x,y),u)] 5. Forma Prenexa: (x)(y)(u)[Q(a)P(x,y,f(x,y))R(x,y,f(x,y),u)]

Ejercicio 4
(x){[P(x)(z)Q(z)] (y)R(y)} 1. Eliminar : (x){[P(x)(z)Q(z)] (y)R(y)}
2. Pasar hacia delante:

(x){[P(x)(z)Q(z)] (y)R(y)} (x){[P(x)(z)Q(z)] (y)R(y)}


3. Renombrar variables: No hacer nada

(x){[P(x)(z)Q(z)] (y)R(y)}

Ejercicio 4: Continuacin
(x){[P(x)(z)Q(z)] (y)R(y)}
4. Eliminar :

(x){[P(x)(z)Q(z)] (y)R(y)} (x){[P(x)(z)Q(z)]R(f(x))}


5. Forma Prenexa:

(x) (z){[P(x)Q(z)]R(f(x))}

EJERCICIOS
1. La forma normal de skolem de x (D(x) y ((P(y) D(x, y)) R(y))) es:

Respuesta: b

EJERCICIOS
2. La formula normal de skolem de x P(x) y (z Q(y, z) R(y)) es:

Respuesta: b

EJERCICIOS
3. La formula normal de skolem de y( P(y) x ((Q(x) R(x, y)) S(y))) es:

Respuesta: c

Conversin a forma Clausal


SEMANA 6 - SESION II
Ruben Cuadros Ricra

Objetivos
Evaluar el algoritmo de forma Clausal Formular problemas de resolucin con el
algoritmo clausal Desarrollar el procedimiento de resolucin

Contenidos /Actividades

Algoritmo forma Clausal Procedimiento de Resolucin

CONVERSIN A FORMA CLAUSAL

Algoritmo de conversin a forma clausal


Una clusula se define como una fbf. consistente en una disyuncin de literales. Despus de aplicar este procedimiento a un conjunto de fbf. Tendremos un conjunto de clusulas, cada una de las cuales ser una disyuncin de literales. Estas clusulas sern las que utilice el procedimiento de resolucin para generar demostraciones.

Algoritmo Clausular
1. Eliminar implicaciones y bicondicionales. 2. Pasar negaciones hacia adelante. 3. Renombrar variables ligadas. 4. Eliminarexistenciales. 5. Convertir a Prenexa 6. Obtener clusulas
M en Forma Normal Conjuntiva Eliminar cuantificadores universales Eliminar s

CONVERSIN A FORMA CLAUSAL


Algoritmo de conversin a forma clausal. Supongamos que todos los romanos que conocen a Marcos o bien odian a csar o bien piensan que cualquiera que odie a otro est loco. Esta sentencia se puede representar con la siguiente fbf: x: [ romano(x) conoce(x,narcos) [ odia(x, csar) ( y: (z: odia(y, z)) cree_loco(x, y))] Paso 1. Eliminar las implicaciones, , usando el hecho de que a b es equivalente a: a b. Realizando esta transformacin en la fbf. anterior tenemos: x: [ romano(x) conoce (x, Marco) ] [odia(x, Csar) ( y: (z: odia ( y, z)) cree_loco (x, y) ) ]

Conversin a forma clausal


Paso 2. Reducir el mbito de las negaciones, , a un nico trmino, usando el hecho de que (p) = p, las leyes de Morgan, segn las cuales: (a b) = a b (a b) = a b Las correspondencias normales entre cuantificadores. [ x: P (x) = x: P(x) y x: P(x) = x: P(x) ]. Realizando esta transformacin en las fbf., del paso 1 se obtiene: x: [ romano(x) conoce(x, Marco) ] [odia(x, Csar) ( y: z: odia(y, z) cree_loco(x, y)) ]

Conversin a forma Clausal


Paso 3. Estandarizar las variables Paso 4. Eliminar los Cuantificadores Existenciales: en el ejemplo quedar x: padre_de(S2(x), x) Paso 5. Convertir a formula normal prenex Realizando esta operacin sobre la frmula del paso 2, se obtiene: x: y: z: [ romano(x) conoce(x, Marco) ] [ odia(x, Csar) ( odia(y, z) cree_loco(x, y) ) ]

Conversin a forma clausal


Paso 6. Eliminar el Prefijo.- En este punto, todas las variables que quedan estn cuantificadas universalmente, por lo que el prefijo puede ser simplemente ignorado, y cualquier procedimiento de demostracin que usemos puede suponer simplemente que cualquier variable con la que se encuentre, est cuantificada universalmente. Ahora la frmula producida en el paso 4 aparece como: [ romano(x) conoce(x, Marco)] [ odia(x, Csar) ( odia(y, z) cree_loco(x, y)) ]

Conversin a forma clausal


Paso 7. Convertir la Matriz en una Conjuncin de Disyunciones.Como en este ejemplo no aparece ninguna correctiva Y, basta con utilizar la propiedad asociativa de la conectiva lgica O, es decir, la operacin: [ a (b c) = (a b) c ] y quitar simplemente los parntesis, para obtener: romano(x) conoce(x, Marco) odia(x, Csar) odia(y, z) cree_loco(x, y)

Conversin a forma clausal


Sin embargo, con frecuencia es tambin necesario utilizar la propiedad distributiva [ (a b) c = (a c) (b c) ]. Por ejemplo, la frmula: (invierno usar_botas) (verano usar_sandalias) se convierte despus de una aplicacin de la regla en: [ invierno (verano usar_sandalias)] [ usar_botas (verano usar_sandalias)] Despus de una segunda aplicacin, que es necesaria, por que an quedan conjunciones unidas por la conectiva O, en. (invierno verano) (invierno usar_sandalias) (usar_botas verano) (usar_botas usar_sandalias).

Conversin a forma clausal


Paso 8. Crear una clusula por cada conjuncin. Para que una fbf. Sea cierta, todas las clusulas que se han generado a partir de ella deben ser ciertas. Cuando se trabaja con varias fbf, es posible combinar el conjunto de clusulas generadas por cada una de ellas para representar los mismos hechos que representaban las frmulas originales. Paso 9. Normalizar las variables que aparecen en el conjunto de clusulas generadas en el paso 8. Con esto se pretende que no haya dos clusulas que hagan referencia a la misma variable, para lo cual es necesario renombrar a las variables adecuadamente.

Conversin a forma clausal


Esta transformacin se apoya en el hecho: (x: P(x) Q(x) ) = x: P(x) x: Q(x) Por lo que cada clusula es una conjuncin separada y todas las variables estn cuantificadas universalmente, no es necesario que haya ninguna relacin entre las variables de dos clusulas diferentes, ni aunque se hayan generado a partir de la misma fbf. Este paso de normalizacin es importante porque durante el proceso de resolucin a veces ser necesario dar valor a una variable cuantificada universalmente ( sustituirla por un valor concreto). Pero, en general queremos mantener las clusulas en su forma ms general durante tanto tiempo como sea posible.

Ejemplo 2
F=(x)[P(x)[(y){P(y)P(f(x,y))}(y){Q(x,y)P(y)}]] 1. Eliminar : F=(x)[P(x)[(y){P(y)P(f(x,y))}(y){Q(x,y)P(y)}]]

F=(x)[P(x)[(y){P(y)P(f(x,y))}(y){~Q(x,y)P(y)}]] 2. Pasar hacia adelante: F=(x)[P(x)[(y){P(y)P(f(x,y))} (y){Q(x,y)P(y)}]]

Ejemplo 2: Continuacin
3. Estandarizar variables: F=(x)[P(x)[(y){P(y)P(f(x,y))} (y){Q(x,y)P(y)}]]

F=(x)[P(x)[(y){P(y)P(f(x,y))}(u){Q(x,u)P(u)}]] 4. Eliminar : F=(x)[P(x)[(y){P(y)P(f(x,y))}{Q(x,g(x))P(g(x))}]] 5. Convertir a Prenexa: F=(x) (y)[P(x)[{P(y)P(f(x,y))}{Q(x,g(x))P(g(x))}]]

Ejemplo2: Encontrando la FNC


Distribuir : C(AB)=(CA)(CB) P(x)[{P(y)P(f(x,y))}{Q(x,g(x))P(g(x))}] C A B P(x) [AB] = [P(x) A] [P(x)B] [P(x){P(y)P(f(x,y))}][P(x){Q(x,g(x))P(g(x))}] Simplificar parntesis y distribuir : [P(x)P(y)P(f(x,y))][P(x){Q(x,g(x))P(g(x))}] [P(x)P(y)P(f(x,y))] [P(x)Q(x,g(x))][P(x)P(g(x))]

Ejemplo 2: Los Pasos 7 y 8


Paso 7. Eliminar :

F= [P(x)P(y)P(f(x,y))] [P(x)Q(x,g(x))] [P(x)P(g(x))]


8. Eliminar :

a) P(x)P(y)P(f(x,y))
b)

P(x)Q(x,g(x))

c) P(x)P(g(x))

Ejemplo
1. Eliminar

(w)Q(w)(x)[(y)[(z)[P(x,y,z)(u)R(x,y,z,u)]]]

(w)Q(w)(x)[(y)[(z)[P(x,y,z)(u)R(x,y,z,u)]]] (w)Q(w)(x)[(y)[(z)[P(x,y,z)(u)R(x,y,z,u)]]] 2. Pasar hacia adelante (w)Q(w)(x)[(y)[(z)[P(x,y,z)(u)R(x,y,z,u)]]] 3. Estandarizar variables: No

Ejemplo 3:La forma prenexa


4. Eliminar : (w)Q(w)(x)[(y)[(z)[P(x,y,z)(u)R(x,y,z,u)]]]

(w)Q(w)(x)(y)[P(x,y,f(x,y))(u)R(x,y,f(x,y),u)] Q(a)(x)(y)[P(x,y,f(x,y))(u)R(x,y,f(x,y),u)] 5. Forma Prenexa: (x)(y)(u)[Q(a)P(x,y,f(x,y))R(x,y,f(x,y),u)] (x)(y)(u)[Q(a)P(x,y,f(x,y))R(x,y,f(x,y),u)]

Ejemplo 3: Obteniendo clusulas


6. Forma conjuntiva (ya est, no hacer nada)

(x)(y)(u)[Q(a)P(x,y,f(x,y))R(x,y,f(x,y),u)]
7. Eliminar :

Q(a)P(x,y,f(x,y))R(x,y,f(x,y),u)
8. Eliminar y obtener clusulas:

a) Q(a)P(x,y,f(x,y))R(x,y,f(x,y),u)

Ejercicio 4
(x){[P(x)(z)Q(z)] (y)R(y)} 1. Eliminar : (x){[P(x)(z)Q(z)] (y)R(y)}
2. Pasar hacia delante:

(x){[P(x)(z)Q(z)] (y)R(y)} (x){[P(x)(z)Q(z)] (y)R(y)}


3. Renombrar variables: No hacer nada

(x){[P(x)(z)Q(z)] (y)R(y)}

Ejercicio 4: FNC
(x){[P(x)(z)Q(z)] (y)R(y)}
4. Eliminar :

(x){[P(x)(z)Q(z)] (y)R(y)} (x){[P(x)(z)Q(z)]R(f(x))}


5. Forma Prenexa:

(x) (z){[P(x)Q(z)]R(f(x))}
6. Forma conjuntiva

(x) (z){[P(x)R(f(x))] [Q(z)R(f(x))]}

7. Eliminar :

[P(x)R(f(x))] [Q(z)R(f(x))]
8. Eliminar y obtener clusulas:

a) [P(x)R(f(x))] b) [Q(z)R(f(x))]

RESOLUCIN

Resolucin Lgica Proposicional


El procedimiento de resolucin es uno de los ms utilizados, para una representacin deductiva, se basa en que utiliza una prueba por contradiccin o refutacin. Es decir, para probar una proposicin (demostrar su validez), se intenta demostrar que su negacin lleva a una contradiccin con las proposiciones conocidas (es decir no se puede satisfacer). El proceso de resolucin, cuando es aplicable, se puede aplicar a un par de clusulas padres, para producir una clusula derivada.

Resolucin Lgica Proposicional


Bases de la Resolucin. El procedimiento de resolucin es un proceso interactivo simple en el cual, en cada paso, s comparan (resuelven) dos clusulas llamadas clusulas padres, produciendo una nueva clusula que se ha inferido de ellas.

Resolucin Lgica Proposicional


Esta nueva clusula representa la forma en que las dos clusulas padres interaccion an entre s. Supongamos las siguientes clusula: invierno verano invierno fro Esto significa que ambas clusulas deben ser ciertas (es decir, aunque las clusulas parecen independientes, en realidad estn agrupadas). Ahora vemos que siempre deber ser cierta una de las ellas; invierno o invierno.

Resolucin Lgica Proposicional


S invierno es cierto, entonces fro debe ser cierto para garantizar la verdad de la segunda clusula. S invierno es verdad, entonces verano debe ser cierto para garantizar la verdad de la primera clusula. A partir de estas dos clusulas se puede deducir: verano fro Esta es la deduccin que har el procedimiento de resolucin.

Resolucin
La resolucin opera tomando dos clusulas tales que cada una contenga el mismo literal (en el ejemplo: invierno). El literal debe estar en forma positiva en una clusula y en forma negativa en la otra. El Resolvente se obtiene combinando todos los literales de las dos clusulas padres excepto aquellos que se cancelan. S la clusula producida es la clusula vaca, es que se ha encontrado una contradiccin.

Resolucin
Por ejemplo las dos clusulas: invierno invierno producirn la clusula vaca. Si existe una contradiccin, se encontrar en algn momento. Naturalmente, si no existe ninguna contradiccin, es posible que el procedimiento nunca termine, aunque como veremos, a menudo existen formas de detectar que no existe contradiccin.

Resolucin Lgica Proposicional


El procedimiento para producir una demostracin por resolucin de la proposicin P respecto a un conjunto de axiomas F , se emplea el siguiente algoritmo: 1. Convertir todas las proposiciones de F a forma clausal. 2. Negar P y convertir el resultado a forma clausal. Aadir la clusula resultante al conjunto de clusulas obtenidas en el paso 1.

Resolucin Lgica Proposicional


3

Hasta que se encuentre una contradiccin o no se pueda seguir avanzando repetir: a) Seleccionar dos clusulas. Llamarlas las clusulas padres. b) Resolverlas juntas, la clusula resultante, llamada resolvente, ser la disyuncin de todos los literales de las clausulas padres con la siguiente excepcin: si existen pares de literales L y L de forma que una de las clusulas padre contenga a L y la otra contenga L, entonces se eliminarn tanto L como L del resolvente.

Resolucin en lgica proposicional


c) S el resolvente es la clusula vaca, es que se ha encontrado una contradiccin. Si no lo es, aadirla al conjunto de clusulas disponibles. Ejemplo. Supongamos que nos dan los siguientes axiomas: Axiomas de Partida P (PQ) R Convertidos a forma Clausal P P Q R (1) (2)

Resolucin de Predicados
Ejemplo: Axiomas en forma clausal: 1. 2. 3. 4. 5. 6. 7. 8. hombre(Marco) pompeyano(Marco) pompeyano(X1) v romano(X1) gobernante(Csar) romano(X2 ) v leal(X2, Y1) v odia(X2, Csar) leal(X3, f1(X3)) hombre(X4 ) v gobernante(Y1) v intenta_asesinar(X4, Y1 ) v ~leal(X4, Y1) intenta_asesinar(Marco, Csar)

Resolucin de Predicados
Demostrar: odia(Marco, Csar) odia(Marco, Csar) 3 5 Marco/x

romano(Marco) v leal(Marco, Csar) Marco/x pompeyano(Marco) v leal(Marco, Csar) 2 7 leal(Marco, Csar) Marco/x4 , Csar/y1 1

hombre(Marco) gobernante(Csar) intenta_asesinar(Marco, Csar) gobernante(Csar) intenta_asesinar(Marco, Csar) intenta_asesinar(Marco, Csar)

4 8

EJERCICIOS Obtener la formula normal prenex: (x)(y)((z) (p(x, z) p(y, z)) (u) q(x, y, u)) (x)(y)(z) (u) (P(x, z) P(y, z) Q(x, y, u))
we(x)(y) ((z) p(x, y, z) ((u) Q(x, u) (v) Q(y, v))) (x)(y) (z) (u)( v) (P (x,y,z) Q(x, u) Q(y, v)

EJERCICIOS Con relacin a las siguientes proposiciones, demostrar que el pato es un ave, utilizando el mtodo de resolucin 1. Todos los patos tienen plumas 2. Si alguien tiene plumas es ave

Objetivo. Demostrar por resolucin que el pato es un ave

EJERCICIOS

Convertir a forma clausal la siguiente expresin: A todos los limeos por lo menos le gusta un plato criollo, el cebiche es un plato criollo, entonces el cebiche le puede gustar a los limeos

EJERCICIOS Si tenemos las siguientes clausulas: 1. 2. 3. limeo (cesar) plato_criollo(Y) gusta (x, y) limeo (x) plato_criollo(Y)

Objetivo: demostrar por resolucin gusta (cesar, cebiche)

Unificacin lgica proposicional


El encontrar sustituciones de trminos que hagan idnticas ciertas expresiones, es un proceso importante para la IA, lo cual se denomina Unificacin. Los trminos de la expresin pueden ser: Smbolos de variables Smbolos de Constantes Expresiones funcionales (Smbolos de funciones y trminos).

Unificacin lgica proposicional


Una particularizacin por sustitucin de una expresin se obtiene sustituyendo en ella trminos en lugar de variables. S = { T1/V1,T2/V2,T3/V3,.......Tn/Vn } El par Ti/Vi significa que el trmino Ti sustituye a la variable Vi en todos los sitios donde aparece. Se debe tener en cuenta que una sustitucin debe ser tal que todas las ocurrencias de una variable sean sustituidas por el mismo trmino. Adems ninguna variable puede ser reemplazada por un trmino que contenga esa misma variable.

Unificacin lgica proposicional


La sustitucin de la expresin: P[ x, f (y) , B] con: S1 = [ z/x, w/y ] S2 = [ A/y ] S3 = [ g (z) / x, A/y ] S4 = [ C/x, A/y ]

Unificacin lgica proposicional


Tenemos cuatro particularidades de P [x, f(y), B ] P [ z, f (w), B ] P [ x, f (A), B ] P [ g (z), f (A), B ] P [ C, f (A), B ]
El primero de ellos se llama una variable alfabtica del literal original, ya que simplemente se han introducido smbolos de variables diferentes, mientras que la ltima se dice que es una particularizacin bsica, ya que ninguno de los trminos del literal contiene variables.

Unificacin lgica proposicional


Para representar una particularizacin por sustitucin de una expresin E1, usando una sustitucin S1, escribiremos E1S1. P [ z, f (w), B ] = P [ x, f (y), B ] S1 La composicin de dos sustituciones S1 y S2 se representa con S1S2, que es la sustitucin obtenida aplicando S2 a los trminos de S1 y aadindole despus los pares de S2 que tengan variables que no aparezcan en S1.

Unificacin lgica proposicional


As tenemos {g(x, y)/z} {A/x, B/y, C/w, D/z} = {g(A, B)/z, A/x, B/y, C/w} S1 S2 Se puede apreciar que el aplicar S1 y S2 sucesivamente a una expresin es lo mismo que aplicarle S1S2; esto es, (LS1)S2=L(S1S2). Por lo que tambin puede probarse que la composicin de sustituciones es asociativa: (S1S2) S3 = S1 (S2S3) Pero las sustituciones no son, en general conmutativas, esto es, generalmente S1S2 no es lo mismo que S2S1.

Unificacin lgica proposicional


Unificador
Si aplicamos una sustitucin S a cada uno de los miembros de un conjunto {Ei} de expresiones, el conjunto de particularizaciones por sustitucin lo designaremos con {Ei}S. Por lo que un conjunto {Ei} de expresiones es unificable, si existe una sustitucin S tal que: E1S = E2S = E3S = ....... En este caso, se dice que S es un unificador de {Ei}, ya que su aplicacin convierte el conjunto {Ei} en otro con un solo elemento. Por ejemplo. S = { A/x, B/y } aplicado a: { P[x, f(y), B], P[x, f (B), B ] } nos da { P [A, f (B), B] }.

Unificacin lgica proposicional


En la lgica proposicional es fcil determinar que dos literales no pueden ser ciertos al mismo tiempo. Basta con buscar L y L. En lgica de predicados el proceso de correspondencia es ms complicado, puesto que se deben considerar los argumentos de los predicados. Por ejemplo, hombre (Juan) y hombre (Juan) es una contradiccin, mientras que hombre(Juan) y hombre(Spot) no lo es. As para detectar las contradicciones, se necesita un procedimiento de emparejamiento que compare dos literales y descubra si existe un conjunto de sustituciones que los haga idnticos.

Unificacin lgica Predicados


Existe un procedimiento recursivo directo, denominado algoritmo de unificacin, que realiza exactamente esto. La idea bsica de la unificacin es muy sencilla. Para unificar dos literales, en primer lugar se comprueba: si los predicados coinciden, seguimos adelante, en caso contrario, no hay forma de unificarlos, sean cuales sean sus argumentos. Por ejemplo. los literales: intenta_asesinar(Marco, Csar) odia(Marco, Csar) No son unificables. S los predicados concuerdan, a continuacin se van comprobando los argumentos de dos en dos. S el primero concuerda, podemos continuar con el segundo, y as sucesivamente. Para comprobar cada par de argumentos, basta con llamar recursivamente al procedimiento de unificacin.

Unificacin lgica predicados


Las reglas de emparejamiento son sencillas: Aquellos predicados o constantes que sean diferentes no se pueden emparejar. Aquellos que sean idnticos pueden emparejarse. Una variable se puede emparejar con otra variable, con cualquier constante o con un predicado, con la restriccin de que el predicado no debe contener ninguna instancia de la variable con la que se esta emparejando.

Unificacin Predicados
La nica complicacin en este procedimiento es que se debe encontrar una nica sustitucin consistente para todo el literal, y no sustituciones separadas para cada parte del mismo. Para hacerlo, se debe tomar cada sustitucin que encontremos y aplicarla al resto de literales antes de continuar intentando unificarlos. Por ejemplo supongamos que queremos unificar las expresiones: P(X, Y) P(Y, Z) Las dos ocurrencias de P se emparejan sin problema. A continuacin comparamos: X e Y luego decidimos que si sustituimos Y por X, se pueden emparejar, Escribiremos esta sustitucin como. Y/X

Unificacin de Predicados
As podemos describir un Algoritmo llamado unificar (L1,L2), que devuelve una lista que representa la composicin de las sustituciones que se han realizado en el proceso de emparejamiento. La lista vaca, NUL, indica que se ha encontrado un emparejamiento sin ninguna sustitucin. El valor FALLO indica que el procedimiento de unificacin ha concluido sin xito.

Unificacin de Predicados
Algoritmo: unificar (L1, L2) 1.Si L1 o L2 es una variable o una constante entonces: a) Si L1 y L2 son idnticos devolver NUL. b) Si no, si L1 es una variable, entonces si L1 aparece en L2, devolver FALLO, si no devolver {(L2/L1} c) S no, si L2 es una variable, entonces si L2 aparecen en L1, devolver FALLO, si no devolver { (L1/L2)}. d) S no devolver FALLO.

Unificacin de Predicados
2. 3. 4. Si los predicados iniciales de L1 y L2 son diferentes, devolver FALLO. S el nmero de argumentos de L1 y L2 es diferente, devolver FALLO. Actualizar SUST a NUL. ( al final de este procedimiento SUST contendr todas las sustituciones utilizadas para unificar L1 y L2). Para i 1 hasta el nmero de argumentos de L1: a) Llamar unificar con el isimo argumento de L1 y el isimo argumento de L2, almacena el resultado en S. b) S S = FALLO entonces devolver FALLO. c) S S es distinto de NUL, entonces: i Aplicar S al resto de L1 y L2. ii SUST := AADIR(S, SUST).

5.

6.

Devolver SUST

Unificacin de Predicados
La nica parte de este algoritmo que an no se ha discutido es la comprobacin, en los pasos 1(b) y 1(c), de que no se unifica una expresin que contiene una variable dada con esa misma variable. Supongamos que intentsemos unificar las expresiones: f ( x, y) f (g(x), g(x)) S se aceptase la sustitucin de g(x) por x, entonces se debera realizar esa misma sustitucin en el resto de las expresiones. Pero esto conducira a una recursin infinita, puesto que nunca ser posible eliminar x.

Unificacin
Ejercicio: P[ f(x), g(y), z, B ] Sustituciones: S1 [A/x, W/y] S2 [ A/z) ] S3 [ c/x, A/z ] S4 [ c/y, D/x ] P [f(A), g(W), z, B] P [ f(x), g (y), A, B ] P [ F(c), g (y), A, B ] P [f (D), g (c), z, B ]

UNIFICACIN
2. Composicin de sustituciones: Ejercicio: P [ f(x), g(y), z, f(w), B ] S1 = [ c/x, A/y ] S2 = [ g(A, B)/x, E/w, D/z ] Se efectua la union de S1 y S2 Resolver..... PS1S2 [f(c), g(A), z, f(E), B] [f(c), g(A), z, f(w), B] Resolver ..... (PS1) S2 [f(c), g(A), z, f(E), B ] [ c/x, A/y, E/w, D/z]

Motor de Inferencias y Reglas


SEMANA 7
Ruben Cuadros Ricra

Objetivos
Evaluar el motor de inferencias y las reglas de
inferencia. Formular problemas de resolucin con las reglas de inferencia

Contenidos /Actividades

Motor de inferencias Reglas de inferencia

MOTOR DE INFERENCIAS

MOTOR DE INFERENCIAS Los mecanismos de inferencia y de control incluidos en el motor de inferencias de un SE. gobiernan el uso que hace el sistema, sobre los hechos y las reglas que estn contenidas en su base de conocimientos.

MOTOR DE INFERENCIAS
La parte de control del motor de inferencia ha de resolver dos problemas principales: 1.- Debe existir una manera de decidir por donde empezar las reglas y los hechos que residen en una base de conocimiento esttico. Tiene que haber una forma de iniciar el proceso de razonamiento.

MOTOR DE INFERENCIAS
2.- El motor de inferencias debe resolver conflictos que aparecen cuando surgen lneas de razonamiento alternativas. Podra ocurrir por ejemplo, que el sistema llegase a una situacin en que estuvieran dispuestas para varias reglas, el motor de inferencias tiene que elegir cual de entre ellas aplica primero.

Motor de Inferencia

El motor de inferencias en el corazn del Sistema Experto; es el que alimentado por la Base de Conocimiento, construye dinmicamente el razonamiento, decidiendo que reglas se activan y en que orden.

Motor de Inferencias
El ciclo de base de un motor de inferencia comprende 4 fases: Fase de Seleccin De un subconjunto de la base de hechos y de la base de reglas, la eleccin es una expresin de una estrategia que hace que el motor de inferencias privilegie un grupo de reglas y no otro.

Motor de Inferencias

Fase de Filtrado Durante esta etapa el motor de inferencia compara la parte premisa de las reglas seleccionadas con la base de hechos para determinar el conjunto de reglas aplicables.

Motor de Inferencias
Fase de Resolucin de Conflictos El resultado de esta fase es la eleccin de la regla que efectivamente se va aplicar. De la calidad de esta eleccin dependen las realizaciones del motor de inferencias que va a deducir rpidamente la solucin.

Motor de Inferencias
Fase de Ejecucin Esta fase se ocupa de aplicar la regla elegida precedentemente y consiste generalmente en aadir uno o varios hechos a la base de hechos, se puede lograr que la aplicacin de esta regla haga llamadas a procedimientos externos, modifique la base de hechos, y hacer consultas al usuario.

Motor de Inferencias
De este ciclo depende el modo de razonamiento utilizado. se pueden utilizar 3 modos:
Encadenamiento hacia delante Dirigido por los datos. Encadenamiento hacia atrs Encadenamiento mixto

Dirigido por objetivos. Combinacin de ambos.

Reglas de Inferencias
Los mecanismos de razonamiento que utilizan reglas de inferencia; son los de lgica formal. Se entiende por inferencia al proceso de derivar conclusiones a partir de un conjunto de premisas. Las reglas que nos permiten obtener conclusiones en cada paso se llaman reglas de inferencia.

Reglas de Inferencias
As tenemos: Modus Ponens Modus Tollens "Modus Ponendo Ponens" A "Modus Tollendo Tollens" "Afirmando el antecedente se afirma el consecuente" (A B) B "Negando el consecuente se niega el antecedente".

~B (A B) -A

Reglas de Inferencia
Para la realizacin de cualquier demostracin: P1, P2, ..... Pn donde cada Pi se puede obtener por una de las tres reglas de inferencia general ( Tremblay - Manohar) Regla R1: Introduccin de P (Premisas) Una frmula puede ser introducida en cualquier punto de la demostracin.

Reglas de Inferencia
Regla R2: Introduccin de Tautologas Una frmula P(x) puede ser introducida en una demostracin si P(x) es consecuencia lgica de las frmulas precedentes.

Reglas de Inferencia
Regla R3: Deduccin a partir de un subconjunto de premisas. Si podemos derivar S a partir de R y un conjunto de premisas, entonces podemos derivar R S solamente a partir del conjunto de premisas

Reglas de Inferencia
Las reglas de inferencia son las que permiten pasar lgicamente de las premisas a la conclusin. Entre las ms importantes tenemos: 1.Regla de Modus Ponens (MP) pq p ----------- q Ejemplo: Si tengo hambre entonces como; estoy con hambre como

Reglas de Inferencia
2. Regla de Modus Tollens (MT) p q q --------- p Ejemplo: Si Pepe entrena ganar el campeonato. Pepe no gan el campeonato; no entren.

Reglas de Inferencia
3. Regla del silogismo disyuntivo (SD) pq p --------q Ejemplo: 3a. El clima es clido o fro, el clima no es clido, el clima es fro. 3b. El auto es rojo o el auto es verde, el auto no es verde; el auto es rojo pq q -------p

Reglas de Inferencia
4. Regla del silogismo hipottico (SH) p q q r --------pr Ejemplo: Si juan entrena adquirir velocidad, si adquiere velocidad, ganar el campeonato, si entrena ganara el campeonato

Reglas de Inferencia
5. Regla del Dilema Constructivo (DC) (p q) (r s) pr ---------------------qs Ejemplo: Si Enrique come mucho entonces engordar y si ayuna entonces adelgazar, Enrique comer o ayunar; engordar o adelgazar.

Reglas de Inferencia
6. Regla del dilema destructivo (DD) (p q) (r s) q s --------------------pr Ejemplo: Si Alberto entrena ser veloz y si estudia entonces ser sabio: pero si no es veloz o no es sabio no entrena o no estudia.

Reglas de Inferencia
7. Regla de la simplificacin (Sim) pq ------p Ejemplo: 7a. 7b. Mximo es fuerte y veloz, es fuerte. Mximo es inteligente y culto, es culto. pq ------q

Reglas de Inferencia
8. Regla de la Adicin (Ad) p -----------pq Ejemplo: Martn es mecnico, es mecnico o boxeador

Reglas de Inferencia
9. Regla de la conjuncin (con) p q --------pq Ejemplo: Jos es judoka, Manuel es karateca, Jos es judoka y Manuel es karateca.

Reglas de Inferencia
10. Regla de la transitividad simtrica pq qr ---------pr Ejemplo: Mximo ganar el campeonato si y slo si es fuerte, y ganar la medalla si y solo si es fuerte, si y slo si gana el campeonato ganar la medalla.

Reglas de Inferencia
11. Regla de Absurdo (RA) p ( q q) -----------------p Ejemplo: Si Luis come mucho entonces engordar y no engordar al mismo tiempo, lo cual es absurdo y niega la premisa p, no come mucho.

Reglas de Inferencia
12. Regla de la prueba condicional (PC) p q ------------------- p ( p q) Ejemplo: Si Federico estudia mucho entonces es sabio, estudia mucho entonces se da que por estudiar mucho es sabio.

Sistemas Basados en Conocimiento