1 Paradigma Lógico René Mac Kinney Romero
2 ¿ Qué es ? Programas basados en relaciones.El cálculo se realiza por medio de la deducción. El alfabeto es el de la lógica de primer orden. El programa es un modelo del usuario.
3 ¿ Para qué ? Manejo de símbolos. Se encuentran varias soluciones.Paradigma declarativo. Backtrack. Inteligencia Artificial.
4 Lógica Proposiciones Tablas de verdad A B A B A B A AB V F
5 Lógica Predicados Predicado: Función booleana.Utilizamos a los predicados para expresar propiedades de objetos. Unario: es un predicado unario sobre X. pato(X): X es pato Binario: amistad (X,Y ) es un predicado binario sobre X y Y , X es amigo de Y Infijo: M < N es un predicado infijo sobre M y N M menor que N Aridad: Número de parametros del predicado.
6 Lógica de Predicados (sigue)Cuantificadores X pato(X): todos somos patos X Y • amistad (X, Y ): todo X tiene un amigo Y Clausulas pajaro(X) alas(X) Clausulas de Horn p(X) q(X),r(X),s(X) p(X) t(X).
7 ¿ Cómo funciona ? S |- A. S se deriva de A.S |= A. A es consecuencia lógica de S. Un sistema formal es completo con respecto a una semantica si S |= A implica S |- A. Un sistema formal es solido con respecto a un modelo semántico si S |- A implica S |= A
8 Elementos. Variables, libres o cuantificadas. Atomos. Predicados.abuelo(X,Z) papa(X,Y), papa(Y,Z) Atomos. juan, 5, [1,2,3], Predicados. abuelo(X,Z) Clausulas. member(X,[X|Z]) member(X,[X|Z]) member(X,[Y|Z])
9 Unificación y Resolución.Encuentra una sustitución para hacer iguales dos terminos. MGU el unificador mas general. Resolución. Mecanismo para derivar (sintacticamente) y decidir si algo es verdad o falso (semánticamente)
10 Unificación Dados dos términos s y t encontrar una substitución tal que s = t. En breve Verifica que terminos sean compatibles (Variable y cualquier cosa o átomos iguales). Si es una función que sean del mismo nombre y aridad. Encuentra el unificador para cada parámetro. Haz sustitución en el resto de la fórmula. Chequeo de ocurre.
11 Resolución Dada una meta (pregunta) decide si es verdad o no.En breve: Unifica meta con cabeza de clausula. Sustituye cuerpo por meta. Termina cuando cuerpo es nulo o no se puede unificar. Proceso que puede no tener fin.
12 Prolog Programming in Logic Utilizado en sistemas inteligentes.Azúcar sintactica. Negación por fallo. pseudo-Unificación (rápida). Lenguaje estable por mas de 20 años.