prolog

Páginas: 9 (2233 palabras) Publicado: 13 de mayo de 2014



HISTORIA Y DESARROLLO DE PROLOG
En los comienzos de los años 70 el francés Alain Colmenuer desarrolló el lenguaje PROLOG que también permite el desarrollo de aplicaciones en forma declarativa. 
En general el PROLOG es un demostrador automático de problema, el cual utiliza una Base de Conocimientos en forma de reglas de inferencia deductivas (cláusulas de Horn), es decir sus reglastienen como consecuente una única acción y las inferencias obtenidas son estrictamente lógicas (verdaderas o falsas), aunque puede parecer una limitación, esto no es totalmente justo, ya que PROLOG permite programar mecanismos inferenciales con lógica probabilísticas, dado que se trata de búsquedas en árboles con acumulación de evidencias.
La Programación Lógica estudia el uso de la lógica para elplanteamiento de problemas y el control sobre las reglas de inferencia para alcanzar la solución automática.
El PROLOG como lenguaje surgido del cálculo de predicados, tomó las siguientes ideas de la lógica para su ejecución.
1) Un conjunto de axiomas o hechos.
2) Reglas de inferencias las cuales se resuelven por resolución y unificación.
3) El objetivo a demostrar, que serán las condiciones aunificar con las reglas.
La difusión del lenguaje se produce en los 80, pero de forma muy limitada debido a la falta de aplicaciones en dicho lenguaje.
Un ejemplo Sencillo



Perspectiva del lenguaje
El programa prolog se compone de unos hechos (datos) y un conjunto de reglas, es decir, relaciones entre objetos de la base de datos.
La ejecución del programa cargado en memoria consiste enrealizar una pregunta de forma interactiva: el interprete generará por inferencia los resultados que se deducen a partir del contenido de la base de datos.
PROLOG tiene una sintaxis y semántica simples. Sólo busca relaciones entre los objetos creados, las variables y las listas, que son sus estructuras básicas.
Comentarios entre /* */
Un ejemplo más extenso

Un programa escrito en PROLOG puro,es un conjunto de clausulas. Sin embargo, PROLOG, como lenguaje de programación moderno, incorpora mas cosas, como instrucciones de Entrada/Salida, etc. Una clausula puede ser una conjunción de hechos positivos o una implicación con un único consecuente (un único termino a la derecha). La negación no tiene representación en PROLOG, y se asocia con la falta de una afirmación (negación por fallo),según el modelo de suposición de un mundo cerrado solo es cierto lo que aparece en la base de conocimiento o bien se deriva de esta. Las diferencias sintácticas entre las representaciones lógicas y las representaciones PROLOG son las siguientes:
En PROLOG todas las variables están implícitamente cuantificadas universalmente.
En PROLOG existe un símbolo explicito para la conjunción "y" (,), perono existe uno para la disyunción "o", que se expresa como una lista de sentencias alternativas.
En PROLOG, las implicaciones p --> q se escriben al revés q:- p, ya que el intérprete siempre trabaja hacia atrás sobre un objetivo.
ESTRUCTURA DE UN PROGRAMA PROLOG
Un programa Prolog está formado por una secuencia de enunciados: hechos, reglas y comentarios. Una relación puede estar especificadapor hechos, simplemente estableciendo objetos que satisfacen la relación o por reglas establecidas acerca de la relación. Cada regla está formada por un primer miembro (o la cabeza de la regla), un segundo miembro (o cola de la regla) ligados por “:- " y termina con el carácter “. ".
código del programa
** Hechos **
mujer(maria). hombre(pedro). hombre(manuel).hombre(arturo).
** Relaciones **
padre(pedro,manuel).
padre(pedro,arturo).
padre(pedro,maria).
** Reglas **
nino(X,Y):- padre(Y,X) hijo(X,Y):-nino(X,Y),hombre(X).
hija(X,Y):-nino(X,Y),mujer(X).
hermano_o_hermana(X,Y):-padre(Z,X),padre(Z,Y).
hermano(X,Y):-hermano_o_hermana(X,Y),hombre(X).
hermana(X,Y):-hermano_o_hermana(X,Y),mujer(X).
REGLAS
Las reglas se...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • prologo
  • Prologo
  • Prologo
  • Prólogo
  • prologo
  • Prólogo
  • prologar
  • Prologo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS