Вы находитесь на странице: 1из 7

INTRODUCCIN Fue implementado a principios de los aos 70 por Alain Colmerauer y junto con Lisp son los lenguajes

que histricamente se han utilizado para construir aplicaciones en gran parte de las ramas de IA. PROLOG es un lenguaje de programacin declarativo. Los lenguajes declarativos se diferencian de los lenguajes imperativos o procedurales en que estn basados en formalismos abstractos (PROLOG est basado en la lgica de predicados de primer orden). En la Programacin Imperativa se describe paso a paso un conjunto de instrucciones que deben ejecutarse para variar el estado del programa y hallar la solucin (algoritmo). En la programacin declarativa las sentencias que se utilizan lo que hacen es describir el problema que se quiere solucionar, pero no las instrucciones necesarias para solucionarlo. Esto ltimo se realizar mediante mecanismos internos de inferencia de informacin a partir de la descripcin realizada. Un programa escrito en un lenguaje declarativo puede usarse como una especificacin o una descripcin formal de un problema. Otra ventaja de los programas escritos en lenguajes declarativos es que se pueden desarrollar y comprobar poco a poco, y pueden ser sintetizados o transformados sistemticamente. PROLOG es un lenguaje de programacin muy til para resolver problemas que implican objetos y relaciones entre objetos. Prolog es un lenguaje de programacin coloquial, lo cual quiere decir que el ordenador y el programador sostienen una especie de conversacin. Prolog esperara a que introduzcas los hechos y las reglas que den en el problema a resolver. A continuacin, si se hacen las preguntas adecuadas, Prolog buscara las respuestas y las presentara en la pantalla. Caractersticas Los programas en Prolog se componen de clusulas de Horn que constituyen reglas del tipo "modus ponendoponens", es decir, "Si es verdad el antecedente, entonces es verdad el consecuente". Sin embargo, PROLOG, como lenguaje de programacin moderno, incorpora ms cosas, como instrucciones de Entrada/Salida, etc. Prolog usa variables lgicas. Un programa en Prolog puede ser considerado como una base de datos relacional que contiene reglas y hechos.

INSTALACIN 1. Se ejecuta el archivo descargado.

2. Se acepta los trminos en el acuerdo de licencia (SE selecciona el botn Next).

3. Se selecciona los componentes a instalar.

4. Se escoge el destino de instalacin.

5. Se procede a la instalacin del programa.

6. Luego de finalizar la instalacin, se puede iniciar la programacin en Prolog.

Pantalla principal de PROLOG

SENTENCIAS BSICAS SINTAXIS Hechos Un hecho describe una propiedad de un objeto Ejemplo 1(Mondicos): El diamante es valioso Hecho: valioso(diamante). Las variables deben escribirse con Maysculas Las constantes se escriben con Minsculas Las afirmaciones se terminan con . (punto) No se pueden dejar espacios entre los nombres de las constantes, para ello utilice el guion bajo (_) Los comentarios empiezan con %

Ejemplo 2 (Polidicos): Supongamos que queremos modelar informacin genealgica acerca de un grupo de personas. Para esto utilizaremos los predicados o relaciones padre y madre sobre ciertas constantes. padre(juan, amanda).

padre(juan, amanda). madre(ximena, amanda). madre(laura, juan). padre(andres, juan). padre(patricio, bonifacio). padre(juan, patricio). padre(juan, ana). madre(ximena, ana).

Esto lo podemos ingresar haciendo ?- [user]. |: padre(juan, amanda). |: madre(ximena, amanda). |: ....

Consultas PROLOG busca automticamente en la base de datos si existe un hecho que se puede unificar (es decir, tiene el mismo nombre de predicado, el mismo nmero de argumentos o aridad y cada uno de los argumentos tiene el mismo nombre, uno a uno) con el hecho que aparece en la pregunta. PROLOG contestar SI si encuentra ese hecho y NO si no lo encuentra. La contestacin NO no implica que el hecho sea falso (aunque s lo sea para nuestra base de datos), sino que no se puede probar (en general) que sea verdadero con el conocimiento almacenado en la base de datos. Los Yes y No son las respuestas que entrega PROLOG luego de presionar [enter]. Comienzan por: ?Equivale a preguntar: la consulta se deduce de la base de conocimiento (hechos + reglas). Qu responder a una consulta? [ENTER] ; Termina Note que son consistentes con los hechosagregados. ?- madre(ximena,ana). Yes ?- padre(juan, ximena). No

Hay ms respuestas?

Consultas ms interesantes involucran el uso de variables (en el sentido de la lgica LPOP que es distinta al de una variable usual de un lenguaje de programacin). Todas las variables en PROLOG comienzan con maysculas. Cul puede ser el significado de la siguiente consulta? ?- padre(X, juan). En la anterior consulta X representa a una variable y juan a un valor constante. Cuando aparece una variable en una consulta, PROLOG la interpreta cmo una pregunta existencial, o sea sera equivalente a la consulta en LPOP X padre(X, juan)?

?- padre(X, juan). X = andres Yes si presiona [enter],

O ?- padre(X, juan). X = andres; No si digita ;.

Reglas Las reglas en PROLOG son oraciones que nos permiten deducir informacin. Su correspondencia en LPOP son las clusulas de Horn definitivas. Un tipo especial de oracin en PROLOG son las reglas que sirven para representar consecuencia lgica. En Prolog: X(hom(X) mor(X)) hom(socrates). hom(socrates). mor(X) :- hom(X). obtenemos respuestas como ?- mor(socrates). Yes En PROLOG se usan los caracteres :- en correspondencia con el lgico. PROLOG implcitamente supone cuantificacin universal ( ) en todas las variables utilizadas en una regla particular

SENTENCIAS DE ENTRADA Y SALIDA La orden WRITE imprime en pantalla la cadena de caracteres en cdigo ASCI por ejemplo: ?-write(Hola Mundo);

WRITEQ,PRINT Y DISPLAY Sirven de la misma manera que write READ La orden read sirve para almacenar el valor a una variable, ejemplo: ?-read(variable);

Operadores Aritmticos

IS Es un predicado que define una expresin

Вам также может понравиться