Prolog

Páginas: 5 (1065 palabras) Publicado: 16 de octubre de 2011
Prolog es un lenguaje de programación basado en lógica de predicados orientado a la programación declarativa relacional, sirve para resolver problemas entre los objetos y las relaciones que se tienen entre ellos; declarándose los hechos, definiéndose las reglas para dar solución y haciendo consultas así Prolog buscara las respuesta y la mostrara en pantalla.

Cuando se va ejecutar unobjetivo, Prolog sabe de antemano cuántas soluciones alternativas puede tener. Cada una de las alternativas se denomina punto de elección. Dichos puntos de elección se anotan internamente y de forma ordenada. Para ser exactos, se introducen en una pila.  Se escoge el primer punto de elección y se ejecuta el objetivo eliminando el punto de elección en el proceso.  Si el objetivo tiene éxito, se continúacon el siguiente objetivo aplicándole estas mismas normas.  Si el objetivo falla, Prolog da marcha atrás, recorriendo los objetivos que anteriormente sí tuvieron éxito (en orden inverso) y deshaciendo las ligaduras de sus variables. Es decir, comienza el backtracking.  Cuando uno de esos objetivos tiene un punto de elección anotado, se detiene el backtracking y se ejecuta de nuevo dichoobjetivo usando la solución alternativa. Las variables se ligan a la nueva solución y la ejecución continúa de nuevo hacia adelante. El punto de elección se elimina en el proceso.  El proceso se repite mientras haya objetivos y puntos de elección anotados. De hecho, se puede decir que un programa Prolog ha terminado su ejecución cuando no le quedan puntos de elección anotados ni objetivos por ejecutaren la secuencia. Además, los puntos de elección se mantienen aunque al final la conjunción tenga éxito. Esto permite posteriormente conocer todas las soluciones posibles.

Es un predicado que siempre falla, por tanto, implica la realización del proceso de retroceso para que se generen nuevas soluciones.

Es un predicado que siempre se cumple, es decir, que genera verdadero en la primeraejecución, y falla en el proceso de impidiendo dicho retroceso. Su aplicación principal es generar eficiente por el efecto que causa en la reducción o poda del árbol generado durante el procedimiento de resolución.

un resultado backtracking, código más de búsqueda

Se pueden definir dominios no especificados por defecto por Visual Prolog, se exponen los tipos de objetos, cosas, números, etc., que sevan a procesar en el programa. Se declaran por tanto, los tipos de datos que después aparecen como argumentos de los predicados y que deben ser tenidos en cuenta a la hora de anunciar las preguntas en GOAL. Se admiten los siguientes tipos estándar:       Symbol: Para nombres. Real: Se refiere a número reales. Integer: Se refiere a números enteros Interger*: Para representar listas. Char:Para simbolizar caracteres individuales String: Para listas o cadena de caracteres

Además puede ir:  Dbasedom: registro de base de conocimiento  File: nombre de ficheros

Se definen los predicados que pueden pertenecer a dominios definidos en la sección DOMAINS (punteros a predicados), o se definen los predicados con una forma determinada en caso de que no los hayamos agrupado en ningúndominio concreto (todas las reglas de la sección de cláusulas deben pertenecer a algún predicado). La sección de definición de predicados va precedida siempre de la palabra PREDICATES.

La sección de cláusulas contiene la especificación o implementación del conjunto de hechos y reglas que componen el programa. Dicha sección se encabeza con la palabra CLAUSES. Una cláusula puede ser:
 

Un hecho:por ejemplo padre (juan, maría). Una regla de deducción: por ejemplo abuelo(X, Y):-padre(X, Z), padre (Z, Y). Como se observa la regla de deducción se puede interpretar del modo siguiente, la parte izquierda es cierta si la parte derecha de la regla es

cierta. Para ello deben ser ciertas todas las cláusulas separadas por conjunciones "," o, al menos, una de las que estén separadas por...
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