Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Por este medio, se hace entrega al departamento de Ing. En Sistemas y Computacin, el material
descrito a continuacin:
La programacin lgica es un paradigma que aplica el conocimiento proveniente del campo de la lgica matemtica al
desarrollo de programas.
La lgica matemtica permite expresar problemas que son resueltos mediante la aplicacin de reglas.
Este paradigma es utilizado sobre todo en inteligencia artificial. La programacin lgica se basa en hechos reglas y consultas.
(El programador define una serie de reglas y hechos y posteriormente se le pueden plantear al sistema una serie de
consultas que resolver en base a reglas y hechos proporcionados.)
Los hechos son enunciados ciertos por definicin. Por ejemplo cuando se expresa que FORD es un coche se est
expresando un hecho.
Consulta:
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 ;.
En esta consulta A1,..., An se denomina meta u objetivo, y cada Ai, es una submeta o sub-objetivo.
Consulta de bsqueda que interroga por los valores de algunas variables que hacen cierto un objetivo (goal) en el contexto del programa
que est actualmente en memoria.
Likes (sue,X).
Consulta de confirmacin busca la confirmacin de un objetivo bsico (ground goal), aquel que no tiene variables.
Likes (sue,doll).
Consulta de accin solicita al sistema que realice alguna accin. De esta forma, una consulta de accin causa algn efecto lateral tal como
cambiar el entorno o realizar entradassalidas.
consult; halt.
En este caso para haskell define la siguiente consulta del hecho anterior. Como podemos apreciar.
Reglas: Una regla es una sentencia condicional. Permite mantener relaciones ms elaboradas entre objetos.
Ejemplo de consultas:
La primera consulta es ?- progenitor(esperanza,carlos).
Consultas
La ejecucin de un programa consiste en hacer una consulta (query) Para determinar si existe una tupla en alguna relacin.
Por ejemplo:
?- padre(juan,diego).
yes
?- padre(X,Juan).
X=pedro
X=juan;
X=ana
Es decir cules son los hijos pedro? Por esto las relaciones son ms poderosas que las funciones, porque segn en qu
lugar se ponga la incgnita se obtienen funcionalidades distintas como "quin es padre de"o "de quin es padre". Y por
ltimo quin es nieto de pedro:
?- abuelo(pedro, Y).
Y=diego
Prolog incorpora un motor de bsqueda que recorre las clusulas de Horn para inferir relaciones. Este motor de bsqueda
corresponde matemticamente a un demostrador de teoremas.
Bibliografa:
https://www.infor.uva.es/~arancha/IA/prolog/PLTRANS2.pdf
El material es cedido al departamento antes mencionado para servir como evidencia acadmica.