PROLOG
PROLOG (https://www.swi-prolog.org/) es un lenguaje de programación basado en el paradigma lógico, este lenguaje es utilizado principalmente para aplicaciones de inteligencia artificial. El desarrollo de PROLOG se inició en 1970 con Alain Coulmeauer y Philippe Roussel. El nombre corresponde a “PROgramming in Logic” (Programación en lógica).
PROLOG utiliza un lenguaje basado en declaración de hechos, preguntas y reglas. Busca relacionar los diferentes hechos existentes en su base de conocimientos por medio de secuencias lógicas enlazadas, para de esta forma lograr alcanzar una conclusión lógica partiendo de predicados determinados.
Algunas de las características de este lenguaje son que:
a) Esta basado en predicados lógicos.
b) Se centra en la resolución del problema, más que en cómo llegar a esa solución.
c) Solo continúa su ejecución, si los objetivos se van cumpliendo.
d) El usuario se centra más en los conocimientos que en los algoritmos.
e) Se parte de lo conocido a lo desconocido.
Aunque el lenguaje es aplicado principalmente en sistemas inteligentes y sistemas expertos (Merritt, 2021), (Mizoguchi, 1983), (Singla, 2013) , puede llegar a tener aplicaciones más variadas, tal como la generación de protocolos de seguridad informática (Blanchet, 2001), o el balanceo de sistemas eléctricos (Kok et al., 2008) .
Un ejemplo de definición de predicados y reglas en PROLOG se ilustra en la figura 2.
Fig. 2. Estructura básica de PROLOG de: a) un predicado simple, b) un predicado con dos argumentos, c) una regla que usa dos predicados para su solución.
Referencias
Blanchet, B. (2001, June). An efficient cryptographic protocol verifier based on prolog rules. In csfw (Vol. 1, pp. 82-96).
Kok, K., Derzsi, Z., Gordijn, J., Hommelberg, M., Warmer, C., Kamphuis, R., & Akkermans, H. (2008, January). Agent-based electricity balancing with distributed energy resources, a multiperspective case study. In Proceedings of the 41st Annual Hawaii International Conference on System Sciences (HICSS 2008) (pp. 173-173). IEEE.
Merritt, D. (2012). Building expert systems in Prolog. Springer Science & Business Media
Mizoguchi, F. (1983). PROLOG based expert system. New Generation Computing, 1(1), 99-104.
Singla, J. (2013). The diagnosis of some lung diseases in a prolog expert system. International Journal of Computer Applications, 78(15).