Archivos de la categoría ‘PROLOG’

PROLOG

Publicado: 12 diciembre, 2014 en PROLOG

Fecha: 12 de Diciembre del 2014

OBJETIVO DE CLASE E INTRODUCCIÓN

La clase se base en un trabajo de investigación dentro del aula de clase, el objetivo a seguir por parte de los estudiantes era de investigar acerca del lenguaje de programación Prolog con el fin de entender la sintaxis , para que serbia que solucionaba y otras características que eran necesarias saber para entender Prolog .
La metodología aplicada por la docente fue la de realizar después de la investigación un debate de los que habíamos investigado y posterior a ello visualizamos unas diapositivas que la doncete iba a socializar con la clase

MARCO TEÓRICO

DEFINICIÓN

Prolog es un lenguaje de programación lógica de propósito general asociado con la inteligencia artificial y la lingüística computacional(Clocksin & Mellish. 2003)( Bratko. 2001 )( Covington. 1994 ). Prolog tiene sus raíces en la lógica de primer orden, una lógica formal, ya diferencia de muchos otros lenguajes de programación, Prolog es declarativo: la lógica del programa se expresa en términos de relaciones, representada como hechos y reglas. Un cómputo se inicia mediante la ejecución de una consulta sobre estas relaciones (Lloyd. 1984)

El idioma fue concebido por un grupo alrededor de Alain Colmerauer en Marsella, Francia, a principios de 1970 y el primer sistema Prolog fue desarrollado en 1972 por Colmerauer con Philippe Roussel. (Kowalski. 1998)( Colmerauer & Roussel. 1993)

Prolog fue uno de los lenguajes de programación de primera lógica, (Stickel. 1988) y sigue siendo el más popular entre estas lenguas hoy, con muchas implementaciones libres y comerciales disponibles. El lenguaje se ha utilizado para la demostración de teoremas los sistemas expertos ( Merritt. 1989) y otros.
Elementos de un programa PROLOG.
2.1 HECHOS.
Expresan relaciones entre objetos. Supongamos que queremos expresar el hecho de que «un coche tiene ruedas». Este hecho, consta de dos objetos, «coche» y «ruedas», y de una relación llamada «tiene». La forma de representarlo en PROLOG es:
tiene(coche,ruedas).
• Los nombres de objetos y relaciones deben comenzar con una letra minúscula.
• Primero se escribe la relación, y luego los objetos separados por comas y encerrados entre paréntesis.
• Al final de un hecho debe ir un punto (el carácter «.»).

El orden de los objetos dentro de la relación es arbitrario, pero debemos ser coherentes a lo largo de la base de hechos.

2.2. VARIABLES.

Representan objetos que el mismo PROLOG determinará. Una variable puede estar instanciada ó no instanciada. Estará instanciada cuando existe un objeto determinado representado por la variable. De este modo, cuando preguntamos «¿Un coche tiene X?», PROLOG busca en los hechos cosas que tiene un coche y respondería:
X = ruedas.

instanciando la variable X con el objeto ruedas.

• Los nombres de variables comienzan siempre por una letra mayúscula.

Un caso particular es la variable anónima, representada por el carácter subrayado («_»). Es una especie de comodín que utilizaremos en aquellos lugares que debería aparecer una variable, pero no nos interesa darle un nombre concreto ya que no vamos a utilizarla posteriormente.

2.3. REGLAS.

Las reglas se utilizan en PROLOG para significar que un hecho depende de uno ó mas hechos. Son la representación de

las implicaciones lógicas del tipo p —> q (p implica q).

• Una regla consiste en una cabeza y un cuerpo, unidos por el signo «:-«.
• La cabeza está formada por un único hecho.
• El cuerpo puede ser uno ó mas hechos (conjunción de hechos), separados por una coma («,»), que actúa como el «y» lógico.
• Las reglas finalizan con un punto («.»).
CONCLUSIÓN

Prolog es un leguaje de alto nivel que sirve para generar conocimiento y reglas para ese conocimiento.
La forma más eficiente de aprender prolog es practicando contextos de entornos y hechos. La característica más importante de prolog es la pseudo copulación de hechos y reglas.
Las consultas de prolog son las bases de tus preguntas a tus reglas y hechos programados.
Prolog es una potentete herramienta en la inteligencia artificial debido a su programación basada en predicados

REFERENCIAS

Clocksin, F.; Mellish, S. 2003. Programming in Prolog. Berlin ; New York: Springer-Verlag. ISBN 978-3-540-00678-7.

Bratko, I. 2001. Prolog programming for artificial intelligence. Harlow, England ; New York: Addison Wesley. ISBN 0-201-40375-7.

Covington, A. 1994. Natural language processing for Prolog programmers. Englewood Cliffs, N.J.: Prentice Hall. ISBN 978-0-13-629213-5.

Lloyd, J. 1984. Foundations of logic programming. Berlin: Springer-Verlag.ISBN 3-540-13299-6.

Kowalski, R.1988. «The early years of logic programming». Communications of the ACM 31: 38. doi:10.1145/35043.35046.

Colmerauer, A.; Roussel, P. 1993. «The birth of Prolog». ACM SIGPLAN Notices 28 (3): 37. doi:10.1145/155360.155362.

Stickel, M. 1988. «A prolog technology theorem prover: Implementation by an extended prolog compiler». Journal of Automated Reasoning 4 (4): 353–380.doi:10.1007/BF00297245. edit

Merritt, D. 1989. Building expert systems in Prolog. Berlin: Springer-Verlag.ISBN 0-387-97016-9.