130 likes | 373 Views
Paradigma Lógico. René Mac Kinney Romero. ¿ Qué es ?. P rograma s bas a dos 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. ¿ Para qué ?. Manejo de símbolos.
E N D
Paradigma Lógico René Mac Kinney Romero
¿ 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.
¿ Para qué ? • Manejo de símbolos. • Se encuentran varias soluciones. • Paradigma declarativo. • Backtrack. • Inteligencia Artificial.
Lógica Proposiciones • Tablas de verdad
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.
Lógica de Predicados (sigue) • Cuantificadores • Xpato(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).
¿ 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
Elementos. • Variables, libres o cuantificadas. • 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])
Unificación y Resolución. • Unificació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)
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.
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.
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.