Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistemas de Programación Lógicos
Sistemas de Programación Lógicos
Resumen:
La programacion lgica considera al programa y a sus entradas como aseveraciones lgicas acerca del mundo, y al
procedimiento de hacer explcitas las consecuencias como un proceso de inferencia. La relacin entre lgica y algoritmo esta
resumida en la ecuacin de Robert Kowalski:
Algoritmo = Lgica + Control
Prolog se le utiliza fundamentalmente como un lenguaje rpido para elaborar prototipos y en tareas donde hay que
manejar signos, como en el diseo de compiladores y en el anlisis gramatical del lenguaje natural. Tambin se le ha
utilizado en el diseo de aplicaciones de sistemas expertos en las reas legal, financiera y otras.
Palabras Clave:
Los trminos pueden ser signos de constante, variables o La definicin de Miembro puede servir para responder a
trminos funcionales. diversos tipos de consultas. Puede utilizarse para
confirmar que es verdadera. Adems puede enumerar los
En una consulta puede haber conjunciones, disyunciones, tres valores de x que hagan verdadera a . Tambin
variables y trminos funcionales. pueden buscar el valor de x tal que es verdadera.
Tambin puede servir para enumerar las listas para las
En vez de utilizar antecedentes negados en sus
cuales es verdadera.
implicaciones, en Prolog se emplea un operador de
negacin como falla: una meta no P se considera Los diseadores de Prolog realizaron su implantacin con
demostrada si el sistema no logra demostrar P. el fin de contar con un modelo sencillo y de rpida
ejecucin:
Desarrollo
o Todas las inferencias se realizan por
Se cuenta con una gran cantidad de predicados
encadenamiento hacia atrs, con bsqueda
incorporados para aritmtica, de entrada/salida y
preferente por profundidad. Es decir cuando en el
diversas funciones del sistema y de la base de
proceso de demostracin de una oracin se tope con
conocimientos. En la notacin de Prolog ,la meta X es
un callejn sin salida, Prolog retroceder al paso
4+3 se alcanza cuando X se vincula a 7. Por el contrario,
inmediato anterior que ofrezca opciones.
no es posible demostrar la meta 5 es X+Y, puesto que las
o El orden de bsqueda a travs de los conjuntos de
funciones integradas no tienen facultad para la resolucin
un antecedente es siempre de izquierda a derecha,
arbitraria de ecuaciones.
y las clausulas de la base de conocimientos se
El siguiente es un ejemplo del empleo del programa aplican en orden, de la primera a la ultima.
Prolog en la relacin Miembro, expresados ambos en
o La verificacin de ocurrencia se omite en la rutina
notacin normal de lgica de primer orden y en formato
de unificacin.
que utiliza Prolog:
Aunque la omisin de la verificacin de ocurrencia podra
restar confiabilidad a Prolog, en la practica los errores se
producen muy rara vez. El empleo de la bsqueda
preferente por profundidad no permite a Prolog ser
completo, debido a las rutas infinitas que crean las
oraciones circulares.
Los programadores debern tener presente las grande sustitucin al implementar variables lgicas capaces de
ventajas de Prolog es que el modelo de ejecucin es lo recordar su vinculacin actual. En todo instante, las
suficientemente sencillo como para que un programador variables de un programa estn vinculadas o
con la capacitacin necesaria pueda incorporar desvinculadas a cierto valor. En conjunto, tales variables
informacin de control y producir as un programa y valores definen de manera implcita una sustitucin.
eficiente.
Desde luego, se produce solo una sustitucin a la vez,
La ejecucin de un programa Prolog se realiza de dos pero no necesitamos ms. La sustitucin es la correcta
maneras: por interpretacin y por compilacin. para la ruta actual en el rbol de bsqueda. La ampliacin
de la ruta solo puede aadir nuevas vinculaciones de
La primera consiste en que en vez de construir la lista variables, puesto que si se intentara aadir una
de todas las respuestas posibles para cada submeta, vinculacin distinta a una variable que ya este vinculada,
antes de proceder con la siguiente, los intrpretes de dar como resultado una falla en la unificacin. Si llegara
Prolog generan una respuesta y una promesa para a fallar una ruta de la bsqueda, Prolog retroceder a un
generar el resto una vez que la respuesta en cuestin punto de eleccin previo, y posiblemente all deba
haya sido explorada totalmente. A esta promesa se le desvincular algunas variables. Para ello, es necesario que
denomina punto de eleccin. Una vez que la bsqueda lleve un registro de todas las variables vinculadas en una
preferente por profundidad concluye su exploracin de las pila que se conoce con el nombre de pista.
posibles soluciones aportadas por la respuesta en
cuestin y retrocede al punto de eleccin, este se Bibliografia
expande para producir as una nueva respuesta para la
submeta y el nuevo punto de eleccin. Jonathan Muoz Aleman (15/01/2016) Sistemas de
razonamiento logico SlideShare recuperado de:
Esta manera de proceder permite ahorrar tiempo y https://es.slideshare.net/GeekMelomano/sistemas-de-
espacio. razonamiento-lgico-1240772
Conclusion