Tema 6: Programación Lógica:
semántica declarativa
Teoría de Modelos
Se basa en el concepto de INTERPRETACIÓN, que
consiste en:
elegir un dominio D (en el que tomarán valor las constantes
-y variables- de la fórmula)
fijar una aplicación que:
a cada constante del alfabeto de las fórmulas: le asigna un elemento de D
a cada símbolo de función n-ario: le asigna una función de Dn a D
a cada símbolo de predicado n-ario:
le asigna una función de Dn a {T, F} (cierto/falso)
Un MODELO de un conjunto de fórmulas:
es cualquier interpretación en las que las fórmulas
se evalúan a cierto
Teoría de Modelos
Una fórmula G es SATISFACIBLE (o CONSISTENTE) si y sólo si existe una interpretación I tal que G se evalúa a T en I (es decir, si I es modelo de G). Una fórmula G es INSATISFACIBLE (o INCONSISTENTE) si y sólo si no existe una interpretación I que sea modelo de G.
Una fórmula G es VALIDA (en símbolos, |= G) si y sólo si cada interpretación I de G es modelo de G.
Una fórmula G es CONSECUENCIA SEMANTICA (o CONSECUENCIA LOGICA) de un conjunto de fórmulas {G1,..., Gn}
(en símbolos, G1,...,Gn |= G)
si y sólo si cada interpretación I que es modelo de la conjunción (G1 ... Gn),, es también modelo de G
Respuestas Correctas
Sea
P
un conjunto de cláusulas de Horn definidas
Sea
G
A
1,...,A
kun objetivo
Sea
una
respuesta para
G en P.
Entonces,
es una respuesta correcta
para
P
{ G }
sii
Ejemplo
Consideremos el programa:
p(X,Y)
q(X).
q(f(a)).
con el objetivo:
p(Z1,Z2).
Entonces:
es respuesta correcta
={Z1/f(a)}
no es respuesta correcta
={Z1/a}
es respuesta correcta
={Z1/f(a),Z2/a}
es respuesta correcta
={Z1/f(a), Z2/f(f(a))}
no es respuesta correcta
={Z1/f(a), Z2/b}
% ni siquiera es% una respuesta
* si el objetivo es:
p(Z,Z).
es respuesta correcta:
={Z/f(a)}
no es respuesta correcta
={Z/a}
* si el objetivo es:
q(f(a)).
es respuesta correcta:
={ }
no es respuesta correcta
={X/a}
% idem, ni siquiera es % una respuesta* si el objetivo es:
q (a).
no existe respuesta correcta ya que
P
{
¬
q(a}} es satisfacible.
TEOREMA DE CORRECCION Y COMPLETITUD
DE LA RESOLUCION SLD
(i)
*
CORRECCION: TODA respuesta
COMPUTADA
para
P
{G} es una respuesta
CORRECTA
para P
{
G
}.
•
COMPLETITUD: PARA TODA respuesta
CORRECTA
para P
{G}, EXISTE una respuesta
COMPUTADA
para P
{G} que es MÁS GENERAL que
(en lo que respecta a las variables de G).
En símbolos:
[
Var(G)]
es decir:
.
=
(
)
[
Var(G)]
Atención,
la relación
no se cumple si se elimina la
restricción a las variables de G. Es decir, no se cumple
.
=
(
)
[[VarVar(G)](G)]EJEMPLO:
P
{p(X). q(a)}
G
p(Y).
* respuesta computada:
=
{Y/X}
* respuesta correcta:
=
{Y/a}
%(también lo sería )
* existe una sustitución
=
{X/a}
tal que
=
(
)
[
Var(G)]=
({Y/X}{X/a}) [{Y}] = {Y/a,X/a} [{Y}] =
{Y/a}
Teoría de Modelos
De acuerdo a la Tesis de Church, la validez de una fórmula es
indecidible (no existe un procedimiento finito para decidir si
una fórmula es válida o no).
Sin embargo, si la fórmula realmente es válida, hay procedimientos de prueba que pueden verificarlo. Estos
procedimientos, en general, no terminan si la fórmula no es válida (son procedimientos de semidecisión)
Uno de estos algoritmos fué definido por Herbrand en 1930. La idea básica es fijar un dominio sintáctico de interpretación
especial, llamado Universo de Herbrand, que se puede construir mecánicamente y que tiene la propiedad de que las
interpretaciones sobre este dominio son suficientes para caracterizar la validez de la fórmula (si realmente lo es) y pueden ser generadas de forma mecánica también (es decir, automatizable).
Teoría de Modelos
El dominio: Universo de Herbrand
Dado un conjunto de fórmulas L, el Universo de Herbrand H
asociado a L es el conjunto de todos los términos bien formados sin variables que se pueden construir con los simbolos del alfabeto de L.
Si no hay constantes en este alfabeto, se añade una constante
artificial "a". EJEMPLO: L: {p(g(x),f(y)).} C = {a} V = {x,y} = {f/1,g/1} = {p/2}
Teoría de Modelos
Base de HerbrandLa Base de Herbrand B asociada a un conjunto de fórmulas L es el conjunto de todos los átomos básicos que se pueden
formar con los símbolos de predicado del alfabeto de L y los términos sin variables del universo de Herbrand de L.
EJEMPLO: L: {p(x) q(f(x))}
C = {a} V = {x}
= {f/1}
= {p/1,q/1}
Teoría de Modelos
Intepretación de Herbrand IUna Interpretación de Herbrand I de un conjunto de fórmulas L es cualquier subconjunto de la base de Herbrand de L.
Todos los átomos que están en la interpretación I se evalúan a “verdad” y todos los átomos que no están en el conjunto, no son verdad.
EJEMPLO: L: {(x)(p(f(x)) q(b))} H = {b, f(b),..., fn(b) B = {p(b), q(b),..., p(fn(b)), q(fn(b))} I1 = {p(b)} I2 = {p(fn(b))} I3 = {q(b), p(f(b)),..., p(fn(b))}
Teoría de Modelos
Modelo de Herbrand
M
Un
Modelo de Herbrand M
para un conjunto L de
fórmulas
es una interpretación de Herbrand de
L que
es modelo de todas las fórmulas del conjunto.
EJEMPLO:
Teoría de Modelos: cláusulas
Horn
PROPOSICION: Todo conjunto de cláusulas de Horn
definidas tiene al menos un modelo de Herbrand.
PROPOSICION: MODELO MINIMO DE HERBRAND y PROPIEDAD DE INTERSECCION DE MODELOS
Sea P un conjunto de cláusulas de Horn definidas y sea {Mi}iI el conjunto (no vacío) de los modelos de Herbrand de P. Entonces,
MP = iI Mi
es un modelo de Herbrand de P (conocido como el modelo mínimo).
Teoría de Modelos: cláusulas
Horn
NOTA: La propiedad de intersección de modelos sólo se
cumple para cláusulas de Horn definidas. Por ejemplo,
la cláusula S
p V q tiene tres modelos de Herbrand
M
1= {p}
M
2= {q}
M
3= {p, q}
cuya intersección es el conjunto vacío, que no es
modelo de S.
Teoría del Punto Fijo
Retículo de Interpretaciones
Dado un conjunto de cláusulas de Horn definidas P, se define
2B
P = conjunto de todas las interpretaciones posibles de P =
{(subconjuntos de BP)}
Operador de Consecuencias Lógicas Inmediatas
Sea P un conjunto de cláusulas de Horn definidas. Definimos el
operador de consecuencias lógicas inmediatas TP como una aplicación
TP : 2B
P 2BP
definida como:
TP(I) = {A BP | A A1,..., An es una instancia básica de una cláusula de P y {A1,..., An} I}
Teoría del Punto Fijo
Se puede demostrar que 2B
P es un retículo completo
(conjunto parcialmente ordenado con supremo e ínfimo) bajo el
orden parcial (reflexivo, antisimétrico y transitivo) de la inclusión de conjuntos
Knaster y Tarski demostraron que toda función continua y monótona sobre un retículo completo tiene un menor punto fijo
TP es continua sobre su dominio 2B
Teoría del Punto Fijo
LEMA Sea P un conjunto de cláusulas Horn
definidas.
Entonces
M
Plfp(T
P)
Teoría del Punto Fijo
POTENCIAS ORDINALES DE T: Definimos la
siguiente sucesión de conjuntos de átomos:
T 0 =
T = T(T ( - 1)) T = < T
TEOREMA (Caracterización por punto fijo de MP)
MP lfp(T) = TP
Informalmente, dado P un conjunto de cláusulas Horn definidas. Para obtener el modelo mínimo:
se aplican las reglas a los hechos para generar nuevos hechos
Teoría del Punto Fijo
EJEMPLO:
P={p(a). p(b). r(X) p(X). t(X,Y) p(X), r(Y). s(c).} TP 0 = Ø TP 1 = TP (Ø) = {p(a), p(b), s(c)} TP 2 = TP (TP 1) = {r(a), r(b), p(a), p(b), s(c)} TP 3 = TP (TP 2)={t(a,a),t(a,b),t(b,a),t(b,b),r(a),r(b),p(a),p(b), s(c)} TP 4 = TP (TP 3) (pto. fijo!)Teoría del Punto Fijo
EJERCICIO: Calcular el menor punto fijo de:
P={p(a).
p(f(X)) p(X).}
P={p(X).
Corrección y Completitud (ii)
TEOREMA DE CORRECCION Y COMPLETITUD DE LA
RESOLUCION SLD (ii)
Sea P un conjunto de cláusulas de Horn definidas. Entonces, se cumple que: MP = iI Mi = lfp(TP) = TP = {A BP | P |= A} (COMPLETITUD) = {A BP | P {A} *SLD ‘ ‘} (CORRECCIÓN)
Programación Lógica
SEMANTICA DECLARATIVATEORIA DE MODELOS
El significado MP de un programa lógico P es el conjunto de átomos
básicos tales que son consecuencia lógica del programa (i.e., el modelo mínimo de Herbrand MP de P):
MP = {A BP | P |= A}
PUNTO FIJO
El significado MP de un programa lógico P es el punto fijo de una transformación continua TP asociada a P, definida como:
TP : 2B
P 2BP
TP(I) = {A BP | A A1,...,An es una instancia básica de una
cláusula de P y {A1,..., An} I}
y para la que se cumple que
Programación Lógica
SEMANTICA OPERACIONALEl significado operacional de un programa lógico P se define en términos de resolución SLD:
SS(P) = {A BP | P {A} *SLD ’’}
= conjunto de éxitos básicos de P
EQUIVALENCIA ENTRE SEMANTICAS
SS(P) Semántica Operacional
MP Semántica Declarativa Teoría de Modelos
Interpretación Procedural
CLAUSULA DE PROGRAMA DEFINICION DE PROCEDIMIENTO
A A1, ..., An procedure A
call A1
. . .
call An
LITERAL DE UN OBJETIVO LLAMADA A SUBPROGRAMA C1,..., Ck call C1
. . .
call Ck
UN PASO DE RESOLUCION UN PASO DE EJECUCION UNIFICACION MECANISMO PARA
Paso Parámetros
Selección y Construcción de datos