lunes, 1 de abril de 2013

Resumen capitulo 1 PROLOG

Prolog  es una forma de programacion lógica también conocido como lenguaje delcarativo que se basa en usar cláusulas, estás son relaciones de uno o dos argumentos, ejemplos:

mujer(ana). es una relación con un argumento y se lee como ana es mujer.
padre(alberto, jesus). es una relación con dos argumentos y se lee como alberto es padre de jesús. 

Ahora veamos los tres tipos de cláusulas 
  • Hechos (Son relaciones ciertamente ciertas), se componen de cabeza de la cláusula y cuerpo de la cláusula
  • Reglas (Son relaciones con alguna o algunas condiciones ).
  • Preguntas (Como su nombre lo dice, son preguntas que se le puede hacer en prolog).
 Ya entendiento que en Prolog podemos programar en swi-prolog lo que hacemos es introducir los datos del programa, compilar y preguntar. Asi sabemos si el programa tiene errores o los marca.

Conjuncion de cláusulas es la forma de relacionar a terceros argumentos en ella haciendo doble consulta o pregunta, el ejemplo que viene es sobre la pregunta relacion 'Abuelo' se quiere saber quien es el abuelo de las personas que se encuentran en el arbol familiar. Bueno la respuesta para ello es hacer dos preguntas al programa, preguntemos por culaquier abuelo en general sabiendo que este es un ejemplo claro.

1) ¿Quién es el progenitor de jaime?, asumimos que es algun Y.
2) ¿Quién es el progenitor de Y?, ausmimos que es algun X.

entonces en Prolog hacemos la siguiente pregunta.

?- progenitor(Y,jaime), progenitor(X,Y). "Con esto sabremos quién es abuelo"

Nota: La coma(,) indica la conjuncion.

Las reglas en prolog son clausulas que no solo constan de hechos, sino que existe una condicion para que se pueda cumplir, dada la condición, esta puede estar en conjuncion con otra y asi deberan cumplirse para obtener un resultado final.

Regla recursiva es una técnica que debe ser tenida en cuanta cuando se quiere programar en Prolog. Se basa en definir relaciones en términos de ellas mismas.


Una pregunta a Prolog siempre es una secuencia de una o más metas, para responder a una pregunta prolog trata de satisfacer todas las metas, satisfacer una meta significa demostrar que la meta se sigue lógicamente de los hechos y las reglas del programa y por lo consiguiente estas metas tienen que ser verdaderas.

Si la pregunta contiene variables, prolog intentará encontrar los objetos particulares o los hechos que ya son verdaderos y las sustituye por las variables, asi las metas puedan ser satisfechas. 


Si Prolog no puede demostrar que las metas se siguen lógicamente del programa su respuesta final será "no".

Significado Declarativo es la forma en la que se muestra el resultado del programa en prolog sin ningun procedimiento pues prolog cuenta con las piezas necesarias para dar con la respuesta.
Significado Procedural es el procediemiento para encontrar la respuesta y asi mostrarla al usuario.

No hay comentarios:

Publicar un comentario

DEBEN DE DEJAR SUS COMENTARIOS Y CRITICAS SOBRE LOS TRABAJOS

Seguidores