Introducción :
Prolog es un lenguaje de programación lógica . Tiene un papel importante en la inteligencia artificial. A diferencia de muchos otros lenguajes de programación, Prolog está pensado principalmente como un lenguaje de programación declarativo. En prólogo, la lógica se expresa como relaciones (llamadas Hechos y Reglas). El corazón central de prolog radica en la lógica que se aplica. La Formulación o Cómputo se realiza ejecutando una consulta sobre estas relaciones.
Instalación en Linux:
Abra una terminal (Ctrl+Alt+T) y escriba:
sudo apt-get install swi-prolog
Sintaxis y campos básicos:
En prólogo, declaramos algunos hechos. Estos hechos constituyen la Base de Conocimiento del sistema. Podemos consultar contra la base de conocimientos. Obtenemos un resultado afirmativo si nuestra consulta ya está en la base de conocimiento o está implícita en la base de conocimiento; de lo contrario, obtenemos un resultado negativo. Por lo tanto, la base de conocimiento puede considerarse similar a la base de datos, contra la cual podemos consultar. Los hechos del prólogo se expresan en un patrón definido. Los hechos contienen entidades y su relación. Las entidades se escriben entre paréntesis separadas por coma (, ). Su relación se expresa al principio y fuera del paréntesis. Cada hecho/regla termina con un punto (.). Entonces, un hecho de prólogo típico es el siguiente:
Format : relation(entity1, entity2, ....k'th entity). Example : friends(raju, mahesh). singer(sonu). odd_number(5). Explanation : These facts can be interpreted as : raju and mahesh are friends. sonu is a singer. 5 is an odd number.
Características clave:
1. Unificación: la idea básica es si los términos dados se pueden hacer para representar la misma estructura.
2. Retroceso: cuando falla una tarea, prolog rastrea hacia atrás e intenta satisfacer la tarea anterior.
3. Recursividad: La recursividad es la base para cualquier búsqueda en el programa.
Consultas en ejecución:
una consulta de prólogo típica se puede hacer como:
Query 1 : ?- singer(sonu). Output : Yes. Explanation : As our knowledge base contains
the above fact, so output was 'Yes', otherwise
it would have been 'No'. Query 2 : ?- odd_number(7). Output : No. Explanation : As our knowledge base does not
contain the above fact, so output was 'No'.
Ventajas:
1. Base de datos fácil de construir. No necesita mucho esfuerzo de programación.
2. La combinación de patrones es fácil. La búsqueda se basa en la recursividad.
3. Ha incorporado el manejo de listas. Hace que sea más fácil jugar con cualquier algoritmo que involucre listas.
Desventajas:
1. LISP (otro lenguaje de programación lógica) domina sobre prolog con respecto a las funciones de E/S.
2. A veces, la entrada y salida no es fácil.
Aplicaciones:
Prolog es muy utilizado en inteligencia artificial (IA). Prolog también se utiliza para la coincidencia de patrones en árboles de análisis de lenguaje natural.
Referencia 1: https://en.wikipedia.org/wiki/Prolog
Referencia 2: http://www.swi-prolog.org/
Publicación traducida automáticamente
Artículo escrito por Prasad_Kshirsagar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA