Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
UNIDAD 3:
PROGRAMACION
LOGICA
PROGRAMACION LOGICA Y FUNCIONAL
JOSUE EVANGELISTA CRUZ
UNIDAD 3
Programación Lógica
Capcioso. Indica las preguntas que la persona, que debe responderlas, no puede
responder, porque esa persona no acepta alguna suposición implícita en la pregunta:
"¿Cuándo mató a su madre?" "¡Pero si mamá vive!" "¡Responda la pregunta!".
FUNCION. Una cosa que se evalúa de algún modo. Por ejemplo: "logaritmo (2)" o
"esposa (Pepe)".
PREDICADO. Un tipo de función, que se evalúa a cierto o falso, ósea una "frase" que
puede ser cierta o falsa.
Por ejemplo: "x > 2", "Pepe lleva un sombrero". Se dice que los predicados se evalúan
a cierto o falso, lo que en lenguaje normal decimos "ser" verdadero o falso.
3.2. Unificación y resolución.
ALGORITMO DE RESOLUCION
EJEMPLO
Por ejemplo, supongamos que tenemos las clausulas siguientes (ambas verdaderas):
La resolución opera tomando dos cláusulas tales que cada una contenga un mismo
literal, en una cláusula en forma positiva y en la otra en forma negativa. El resolvente
se obtiene combinando todos los literales de las cláusulas padres y eliminando
aquellos que se cancelan.
ALGORITMO DE UNIFICACION
ALGORITMO
Ejemplo
Se unificara P(x, x) con P (y, z):
Primera sustitución: (y/x)
Resultado: P (y, y) P (y, z)
Segunda sustitución: (z/y)
Resultado: P (z, z) P (z, z)
La sustitución resultante es la composición de las sustituciones: s = {z/y, y/x}
3.3. Cláusulas de Horn. Resolución SLD.
En lógica proposicional, una fórmula lógica es una cláusula de Horn si es una cláusula
(disyunción de literales) con, como máximo, un literal positivo. Se llaman así por el
lógico Alfred Horn, el primero en señalar la importancia de estas cláusulas en 1951.
Una cláusula de Horn con exactamente un literal positivo es una cláusula "definite";
en álgebra universal las cláusulas "definites" resultan como cuasi-identidades. Una
cláusula de Horn sin ningún literal positivo es a veces llamada cláusula objetivo (goal)
o consulta (query), especialmente en programación lógica.
EJEMPLOS
Se llaman cláusulas de Horn aquellas que tienen como máximo un literal positivo. Hay
dos tipos:
Caso particular son las que no tienen más que ese literal positivo, que
representan «hechos», es decir, conocimiento factual.
RESOLUCION SLD
Los hechos y las reglas se denominan clausulas definidas: Los hechos representan
“hechos acerca de los objetos” (de nuestro universo de discurso), relaciones
elementales entre estos objetos las reglas expresan relaciones condicionales entre los
objetos, dependencias.
REGLAS
Un hecho es una regla con cuerpo vacío un objetivo es una regla con cabeza vacía y el
éxito es una regla con cabeza y cuerpo vacíos. En las cláusulas de Horn se trabaja con
secuencias de literales en vez de conjuntos Esto implica dos cosas: los literales
pueden aparecer repetidos en el cuerpo hay un orden en los literales del cuerpo.
EJEMPLO
Un predicado p queda definido por el conjunto de cláusulas (hechos y reglas) cuyas
cabezas tienen ese símbolo de predicado. Así pues la definición de un predicado en
general tendrá el aspecto:
3.4. Programación lógica con cláusulas de Horn.
Tipo II: una implicación (llamada regla) cuyo antecedente consiste de una conjunción
de literales positivos y el consecuente es sólo un literal positivo: L1^L2…^Ln-1 Ln
donde las L son literales positivos. Muchas veces se nota: L1,L2,…,Ln-1 Ln .
Tipo III: Un conjunto de literales negados, que puede notarse como una implicación
sin consecuente L1, L2…Ln
-L1v-L2v….-Ln-1 vLn ,
{-L1,-L2,…..-Ln-1, Ln}
Y es equivalente a:
EJEMPLO
En general cualquier cláusula puede escribirse como implicación, dando lugar a lo que
se conoce como forma normal conjuntiva. La equivalencia es directa, si tenemos una
cláusula de la forma A1 v….vAn v-B1 v….v-Bn equivale a
B1^...^Bn A1,v…v An