Manual turbo prolog
El lenguaje PROLOG (Programming in Logic) fué desarrollado en la Universidad de Marsella - Francia por Alain Colmenaur a inicios de los 70. Este lenguaje es apropiado para desarrollar cualquier aplicación sobre un computador sin embargo haremos énfasis en aplicaciones de Inteligencia Artificial. PROLOG es un lenguaje declarativo y un programa PROLOG consiste de unadescripción del problema que se quiere resolver.
1. hombre(“Juan”) corresponde al formato Predicado(Constante) y se lee Juan es hombre
2. padre(“Pedro”,”Juan”) corresponde al formato Predicado(Constante,Constante) y se lee Pedro es padre de Juan.
3. auto_tiene(“llantas’,”timón”,”asientos”,”motor”) se lee el auto tiene llantas, timón, asientos, motor y corresponde al formatoPredicado(Constante,Constante,Constante,Constante). Observe que se especifican tres componentes de un auto solamente.
4. madre(X, “Luisa”) corresponde al formato Predicado(Variable,Constante) y se lee X es madre de Luisa. En éste caso podemos también suponer que el predicado responde a la pregunta: Quién es la madre de Luisa.
5. amigos(“Pedro”, [“Angel”,”Violeta”,”Luis”]) se lee Los amigos de Pedro son Angel,Violeta y Luis y corresponde al formato de Predicado(Constante,Lista)
6. tiene(“auto”,[“llantas’,”timón”,”motor”]) se lee el auto tiene llantas, timón, motor y corresponde al formato Predicado(Constante,Lista). Esta es una forma más interesante de representar las partes de un motor. Pués la lista puede permite variar el número de sus componentes, La lista corresponde a una estructura conutilización dinámica de memoria.
donde:
1. Objetos:
2. Relaciones
Estas expresiones representan un conocimiento específico que puede ser verdadero ó falso y las denominaremos hechos ó datos y en lenguaje PROLOG se conocen como cláusulas atómicas y se codifican de la siguiente manera respectivamente:
hombre(“Juan”)
padre(“Juan”,”Pedro”).
casado(“Juan”,”Luisa”).preferencias(“Ana”,[[“deporte”,”voleyball”],[“baile”, “cumbia”]]).
características(“auto”,[[“color”,”rojo],[“velocidad”,”veloz’]]).
personas([[“Miguel”,“alumno”],[“García”,”profesor”]).
matricula(“Miguel”,[“Física”,”Química”,”Matemática”]).
carga_académica (“García Naranjo”,[ [“Física I”,”Sección A”], [“Matemática II”,”Sección B”], [“Física III”,”Sección C”] ]).
Los datos entre corchetes significan listas y son muy utlizadasen PROLOG, por cuanto un alto porcentaje del conocimiento humano está expresado en forma de lista. A manera de ejemplo escriba las siguientes listas: nombres de sus amigos, deportes que practica, cursos que forman un plan de estudios. Las formas de razonamiento en lógica, como mencionamos anteriormente, están constituidas por la conjunción de varias premisas y una conclusión, a manera de ejemplo:Luisa es madre de Pedro Si Juan está casado con Luisa y Juan es padre de Pedro. Esta forma de razonamiento se conoce como regla de producción y en lenguaje PROLOG se conoce como cláusula compuesta y se codifica de la siguiente manera:
madre (“Luisa”,”Pedro”) IF casado (“Juan”,”Luisa”) and padre(“Juan”,”Pedro”).
Es posibe reemplazar :- en lugar de IF y coma en lugar de and:madre(“Luisa”,”Pedro”):- casado (“Juan”,”Luisa”) , padre(“Juan”,”Pedro”).
Esta es una regla particular pues solo sirve para las constantes que ella contiene, además que tiene una relación biunívoca y dependiente entre la regla y el dato.. La programación en ésta forma es muy elemental y no se utliza en la solución de problemas complejos, mas bien se pueden incluir variables en la regla de producción de la siguientemanera:
CAPITULO II ESCRIBIENDO UN PROGRAMA PROLOG
2.1 UN EJEMPLO SENCILLO
Reza un dicho popular que para aprender a nadar hay que arrojarse a la piscina. Iniciamos nuestro estudio de PROLOG con la presentación de diferentes versiones de un programa que busca el siguiente objetivo: LEER UN NOMBRE Y DEVOLVER UN SALUDO. (Por el momento no tiene importancia si no entiende el...
Regístrate para leer el documento completo.