Вы находитесь на странице: 1из 6

4.4 Programacin lgica con clusulas de Horn.

Un programa en Prolog est constituido por una secuencia de clusulas. Estas


clusulas deben representar todo el conocimiento necesario para resolver el
problema.
Se pueden diferenciar tres tipos de Clusulas:
Hechos (afirmaciones), que a su vez pueden representar:
a) Objetos
b) Propiedades de objetos.
c) Relaciones entre objetos.
Reglas.
Consultas (clusulas negativas).
Como se ha mencionado, un programa Prolog es una secuencia de clusulas,
donde cada clusula puede estar formada por uno o varios predicados. Las
clusulas deben terminar obligatoriamente en punto.
TRMINOS
En Prolog hay tres tipos de trminos: CONSTANTES, VARIABLES Y
ESTRUCTURAS

HECHOS
Es el mecanismo bsico para representar:
objetos/personas/conceptos.

propiedades de los objetos.


relaciones entre los objetos
Ejemplos:
padre(luis).
padre_de(luis, pedro).
azul(cielo).

Una relacin viene definida por todas las instancias que aparecen con un
predicado.

Los hechos pueden introducirse en la base de hechos del intrprete de Prolog


mediante una asercin:
?- assert(padre_de(luis, pepe)).
yes.
Otros ejemplos de hechos son:

CONSULTAS
Es el mecanismo para extraer conocimiento del programa:

Ejemplo: Mi amigo, Vicente, busca amigos/as de mis amigos que sean


millonarios/as y estn solteros/as:
?- amigos(X, vicente), amigos(X, Y), millonario(Y), soltero(Y).
X = pedro Y = flora ;
No

Una consulta estar constituida por una o varias metas que Prolog deber
resolver. El intrprete de Prolog nos devuelve ms soluciones si utilizamos el
punto y coma ; cuando no existen ms soluciones que unifiquen con el objetivo,
el intrprete contesta No.

REGLAS
Permiten establecer relaciones ms elaboradas entre objetos, por ejemplo,
relaciones generalizadas o particularizadas, o relaciones causa-efecto. A
continacin, se muestran un conjunto de ejemplos en Prolog que permiten
generalizar conceptos como el de padre, familiar, etc.

4.5 Semntica de los programas lgicos

Interpretacin: Sea R un programa en lgica con sus vocabulario V de


tomos, F de smbolos funcionales y P de significado predicativos Sea D un
conjunto (dominio) dado.

Una interpretacin I (D) sobre el programa R asigna a cada elemento de V, F, Y P


los correspondientes elementos de D.

Satisfaccin lgica: Una interpretacin I (D) satisface a una frmula, si su


aplicacin resulta verdadera.

Consecuencia lgica o deduccin: Una frmula f es consecuencia lgica


o se deduce, de un conjunto de frmulas R, si todo dominio D, toda
interpretacin I (D) que satisface a R, satisface tambin a f.
R : = f.

Permite determinar la forma en que los programas son evaluados.

Inferencia lgica: Conjunto inicial de frmulas son sentencia vlidas y se


las llama axiomas. Los axiomas junto a las reglas de inferencia constituyen
sistemas de formas.

Elemento de derivacin sintctica que a partir de conjunto de frmulas permite


derivar nuevas frmulas.

Regla bsica de inferencias: De las frmulas A y A B se puede inferir


B-. Un paso de inferencia corresponde a la aplicacin de una regla para
inferir una nueva frmula.
A
AB
B

Demostracin: Ser sucesin de F1, F2, ....Fn de frmulas del lenguaje.

FI es axioma o de obtiene de frmulas anteriores por aplicar una regla de


inferencia.

Teorema: Una frmula F es un teorema si existe una demostracin en la


que F es el ltimo trmino de la sucesin.
: F

Deduccin lgica: Sea F una frmula y R un conjunto de frmulas. Se dice


que F es lgicamente deducible lgicamente a partir de R.
R: = F

R: F

Si existe una sucesin de frmulas FI, F2, , Fn tal que F = Fn y cada Fi es:

Un axioma.

O una frmula de R.

O deducible de una frmula precedente de la sucesin.

Las frmulas de R se llaman hiptesis.

Consistencia: Un sistema formal en el que exista el smbolo de negacin


" " se dice que es consistente si no existe una frmula F en el sistema tal
que pueda deducirse F y F.

Completitud: Sea P un programa en lgica y


P Clusulas del programa
Q Regla de inferencia
P : p ( p es deducible de P)
P : = p (P es consecuencia lgica de p)

Regla de resolucin: Sean A1, A2, , An y B1, B2, , Bm smbolos


predicativos, la regla provee:
(A1, , Ak, , An)
AK B1, , Bm
(A1, , Ak 1, B1, , BM, Ak + 1, , An)

La aplicacin de la regla induce una nueva clusula producto de la cancelacin del


predicado Ak.
Casos particulares de la regla:
A

AB

[]

Teorema: La regla de resolucin es completa.

Teorema: Prueba por contradiccin o reduccin al absurdo Sea F


una frmula y R un conjunto de frmulas, F es deducible lgicamente
a partir de R si el conjunto formado por R con los F es
inconsistente:

R: Fsi R unin ( F) es inconsistente = Principio de resolucin de Robinson.

Sustitucin: Es un conjunto de asignaciones de tipo X : = t donde X es una


variable y t un trmino. No puede existir ms de una asignacin.

Ej.: {X := juan, Y := mara}

Aplicaciones de sustitucin: Dada una sustitucin x y un predicado P, a


aplicacin de x a P produce un nuevo predicado Px y que corresponde al
predicado inicial P, donde toda variable asignada en x es cambiada por el
trmino correspondiente.

Unificador: Dada dos expresiones del lenguaje, Ej.: predicados P1 y P2, se


llama unificadora una sustitucin x que cumple:

Elx = E2x en la aplicacin de la sustitucin da la misma expresin.

Вам также может понравиться