top of page

TEMA 7: INTRODUCCIÓN A PROLOG

I. INTRODUCCIÓN

A lo largo de la historia se han ido creando lenguajes de programación que permitan dar solución a ciertas problemáticas, uno de los programas enfocados a la resolución de problemas de Inteligencia Artificial, es PROLOG, cuyo nombre viene del francés “Programmation en Logique” que significa programación en lógica, ya que integra dichos conceptos. (Berzal y Cubero, s.f).


Prolog, fue inicialmente utilizado por los Europeos y fue creado por los años 70, sin embargo su versión definitiva fue creada en 1972, fue en 1983 cuando David H.D. Warren, desarrolló un compilador que permitiera que PROLOG se convirtiera en un programa de instrucciones, y mediante esto, este lenguaje se popularizó en los años 80. El estándar para la programación en PROLOG fue creada por ISO (ISO/IEC 13211-1) en el año 1995. (Berzal y Cubero, s.f).


Después de dar una pequeña introducción de la historia de PROLOG, se comprenderá a medida que se avance con la lectura de esta publicación, los principales conceptos de este lenguaje.

II. OBJETIVO

Aprender sobre PROLOG y la importancia de su utilización en la inteligencia artificial.


III. MARCO TEÓRICO

2.1. QUÉ ES PROLOG

PROLOG es un lenguaje declarativo, es decir un lenguaje que utiliza reglas o formalismos abstractos, además PROLOG está basado en lisp y otros lenguajes declarativos. (López, 2005).


PROLOG es muy útil debido a que resuelve problemas de objetos y de relaciones entre los mismos, y se desarrolla y se realizan pruebas paso a paso.


La sintaxis del lenguaje está en el gráfico 3.1.

Gráfico 3.1. Sintaxis de PROLOG.

2.1.1. ELEMENTOS DE PROLOG

Este lenguaje declarativo tiene 5 elementos principales que son los descritos en el gráfico 3.2, y que serán explicados a lo largo de este post.

Gráfico 3.2. Elementos de PROLOG.

2.1.1.1. HECHOS

Los hechos pueden describirse como las propiedades de un objeto, por ejemplo, María es alta, la propiedad de ese objeto que es María, es ser alta.


Por ejemplo en PROLOG un hecho se especifica de la siguiente manera, Si a Marcos le gusta Ana, entonces:


Objetos: Juan y Ana.

Relación: le_gusta_a(juan, ana).


Los hechos pueden ser Monádicos o Poliádicos, siendo los primeros aquellos que utilizan un objeto por ejemplo. María (alta) y los últimos aquellos que tienen varios objetos, por ejemplo le_gusta_a(juan, ana).


2.1.1.2. CONSULTAS

Las consultas se realizan cuando previamente se han declarado los hechos, comienzan por un signo de interrogación, en caso de que la respuesta sea true, la respuesta es acorde a la base de conocimientos, en caso de que sea false, la respuesta no concuerda con la BC.


Cuando la consulta termina siempre se da enter, y cuando continúa se aprieta el punto y coma (;).


Ejemplo:

Imagen 3.1. Ejemplo en PROLOG.

2.1.1.3. VARIABLES.

Las variables son aquellas que se representan con letras mayúsculas, por ejemplo al ubicar en la base de conocimiento de PROLOG lo siguiente sería:


país (ecuador).

país (chile).

país (argentina).


Al hacer la consulta ubicando una variable la respuesta sería:


? país(X).

ecuador;

chile;

argentina;


Las variables son usadas para generalizar los hechos cuando existen muchos objetos involucrados, además son usadas para especificar las reglas.

2.1.1.4. CONJUNCIONES.

Las conjunciones lógicas son utilizadas para satisfacer objetivos numerosos que involucran una o más relaciones o uno o más objetos. Por ejemplo:


?- le_gusta_a(nico, raquel), le_gusta_a(raquel,nico).

?- le_gusta_a(vinicio, karla), le_gusta_a(karla, vinicio).


Las conjunciones corresponden una instancia o el contrario de esto, y PROLOG intenta satisfacer todos los objetivos que se plantean en una conjunción. (Berzal y Curbero, 2011).

2.1.1.5. REGLAS.

La definición de las relaciones puede considerarse como una regla por ejemplo:


abuelo(X,Y):- padre(X,Z), padre(Z,Y).


El símbolo - , se representa como la regla “Si y solo si” y es el cuerpo o la parte condicional de la regla que debe cumplirse.


Las reglas en si, son una declaración de hechos ciertos que dependen de una condición.


IV. CONCLUSIÓN

El lenguaje PROLOG es un lenguaje declarativo muy utilizado en inteligencia artificial, debido a que es declarativo, en donde se declaran hechos, reglas, conjunciones, variables y además se realizan consultas.


En PROLOG, existe una base de conocimientos, que es donde el programador declara las relaciones o hechos, además se utilizan variables representadas por la letra mayúscula para diferenciarlas de los objetos que pueden ser personas, animales, cosas o acciones. Una vez que se tiene una base de conocimientos se procede a hacer una consulta de la misma, para verificar hechos, los cuales pueden ser verdaderos, falsos o devolver resultados de objetos declarados en la BC (base de conocimiento), además en la consulta se pueden hacer conjunciones de preguntas.


PROLOG, es muy importante para la inteligencia articial ya que integra la programación y la lógica, y además es fácil de entender.

V. BIBLIOGRAFÍA

Berzal, F y Curbero, J. 2011. Tutorial de PROLOG. (En línea). ES. Consultado el 9 de Jul. 2015. Formato PDF. Disponible en: http://elvex.ugr.es/decsai/intelligent/workbook/ai/PROLOG.pdf


Gonzalez, A. s.f. Guía Básica de PROLOG. (En línea). ES. Consultado el 7 de Jul. 2015. Formato PDF. Disponible en: http://www.gedlc.ulpgc.es/docencia/lp/documentacion/GB_Prolog.pdf


Russell, S y Norvig, P. 2008. Inteligencia Artificial Un Enfoque Moderno. 2 ed. España. Pearson Education. p 1242


López, B. 2005. Introducción a Prolog. (En línea). MX. Consultado el 9 de Jul. 2015. Formato PDF. Disponible en: http://www.itnuevolaredo.edu.mx/takeyas/apuntes/Inteligencia%20Artificial/Apuntes/IA/Prolog.pdf

bottom of page