Carrera Informática

Carrera Informática

LENGUAJE DE PROGRAMACION PROLOG

LENGUAJE DE PROGRAMACION PROLOG



INTRODUCCIÓN

Es un programa lógico que consiste en un conjunto de axiomas y reglas que definen relaciones entre objetos. La ejecución del mismo corresponde a la deducción de las consecuencias del programa. Un programa define un conjunto de consecuencias que constituyen su significado. El arte de la programación lógica es construir concisos y elegantes programas que tengan el significado deseado.

Prolog es un lenguaje de programación lógica basado en la lógica de Primer Orden. Fue desarrollado como decíamos al comienzo por Alan Colmeraurer en la década del 70 en la Universidad de Marsella. Usa como regla de inferencia el principio de resolución de Robinson.
La descripción de un problema mediante el lenguaje Prolog consiste en la definición de hechos y reglas que afectan a los objetos que protagonizan el problema en cuestión.

MARCO TEÓRICO

PROGRAMACIÓN PROLOG. 
La Programación Prolog se basa en la generación de una Base de Conocimiento y la posterior consulta a la misma en busca de hechos explícitamente declarados u otros que se puedan Inferir de los antedichos (mediante el empleo de reglas).
            Sea el siguiente programa Prolog:

domains                                             Sección de declaración de Átomos.
            nombre=symbol                    Átomo nombre definido como alfanumérico.
predicates                                          Sección de declaración de Predicados.
            varon(nombre)                     Relación varón.
            mujer(nombre)                     Relación mujer.
clauses                                               Sección de declaración de Hechos y Reglas.
            varon(marcos).                     Hecho.
            varon(nicolas).                      Hecho.
            mujer(victoria).                     Hecho.
            mujer(laura).                        Hecho.
  
Al ejecutar el programa anterior, Prolog mostrará goal:_  esperando que se le haga una consulta (goal).  Por ejemplo si se le pregunta varon(Quien)buscará unificar (match) la consulta con las cláusulas.  su respuesta será:
            Quien= marcos
            Quien= nicolas
            Si la consulta fuera mujer(victoria), la respuesta sería:
            True (verdadero)
            De esto se desprende que una consulta puede ser una búsqueda o una validación.

Pero la potencia de Prolog se manifiesta cuando usamos relaciones múltiples y reglas, por ejemplo:

domains                                                                    Sección de declaración de Átomos.
            nombre=symbol                                           Átomo nombre definido como alfanumérico.
predicates                                                                 Sección de declaración de Predicados.
            progenitor(nombre,nombre)                       Relación progenitor.
            varon(nombre)                                             Relación varon.
            mujer(nombre)                                             Relación mujer.
            padre(nombre,nombre)                               Relación padre.
clauses                                                                       Sección de declaración de Hechos y Reglas.
            varon(juan).                                                 Hecho.
            varon(carlos).                                               Hecho.
            mujer(paola).                                               Hecho.
            mujer(mirta).                                               Hecho.
            progenitor(mirta,juan).                               Hecho.
            progenitor(carlos,paola).                             Hecho.
            padre(X,Y):-progenitor(X,Y),varon(X).    Regla.

SINTÁXIS.


Variables: Mayúsculas.

Constantes: Minúsculas.

Cada afirmación debe terminar con un punto.

No se aceptan constantes con espacios en blanco, en lugar de ello se usa el guión bajo (_). Por ejemplo: primer_ministro.

Los comentarios empiezan con el símbolo %.

PREDICADO, HECHOS Y REGLAS.


Nótese que se anota primero el predicado y entre paréntesis el sujeto de la proposición.

programador(juan).

mamifero(leon).

HECHOS

Proposiciones:
“Juan es un programador”
“El león es un mamífero”
REGLAS  

Sentencias condicionales

“Si el león come carne, entonces es carnívoro”
carnivoro(leon):- comecarne(leon)

CONCLUSIÓN

Para finalizar con una breve conclusión, Prolog tiene que ver con pensar el problema como una teoría, expresarla en el lenguaje de la lógica e intentar alcanzar una solución como una demostración de un teorema a partir de dicha teoría. Una demostración en particular es el de resolución, y dentro de este marco Prolog implementa una estrategia de búsqueda en particular.

  BIBLIOGRAFÍAS
Pérez, M. 2000. Programación Lógica. (En línea). consultado el 01 de agosto 2014. Formato (DOC). Disponible en: http://mgonzel.googlecode.com/svn/trunk/Materias/Inteligencia%20Artificial/Apuntes/Varios/prolog.doc.

No hay comentarios.:

Publicar un comentario