Teoria y practica visual prolog

Solo disponible en BuenasTareas
  • Páginas : 27 (6737 palabras )
  • Descarga(s) : 0
  • Publicado : 30 de marzo de 2011
Leer documento completo
Vista previa del texto
CAPITULO I: INTRODUCCION

1.1 Qué es PROLOG?

Prolog es un lenguaje de programación de computadoras de quinta generación, que permite declarar predicados que representan conocimientos en el dominio del quehacer humano, para luego implementarlos en cláusulas que equivalen a reglas de razonamiento.

PROLOG significa PROgramación Lógica e inicialmente estaba orientado a la solución deproblemas de inteligencia artificial en el campo de la lógica pura y no tenía mucha aceptación en el ambiente informático, sin embargo ahora se comercializan importantes ambientes de desarrollo que incluyen objetos informáticos y enlaces a otros ambientes para el tratamiento informático que van desde facilidades para el tratamiento de ventanas, diálogos y objetos visuales, pasando por el acceso aimportantes manejadores de bases de datos como ACCESS, SQL SERVER y conexiones con INTERNET, para la implementación de aplicaciones en el WEB.

1.2 Cual es la estructura de PROLOG?

Un programa PROLOG está estructurado en bloques:

Domains: se declaran nuevos tipos de datos creados por el usuario
Database: declaración de predicados dinámicos que constituyen estructuras de datos
Predicates:declaración de predicados estáticos
Clauses: implementación del código para los predicados.
Goal: indica el punto de inicio de la ejecución del programa.

1.3 Algunas peculiaridades de PROLOG:

El tratamiento de variables: En PROLOG no existe la operación de asignación. Ejm: X = 5 (asignar a X el valor 5). La notación X=5 se usa en PROLOG con otro significado y se lee: es X igual a 5 ?

EnPROLOG la operación asignar un valor a una variable es reemplazada por la operación ligar una variable con determinado valor.

En este sentido el valor ligado a la variable X depende de su valor anterior. Si X aún no ha recibido valor alguno se dice que es una variable libre (no ligada), por lo tanto puede recibir cualquier valor del tipo de dato definido para la variable y se dice que laoperación tiene éxito. Si X está ligada, entonces ya no puede recibir ningún valor. Si X es igual al valor determinado entonces se dice que la pregunta tiene una respuesta verdadera y el programa continúa normalmente.

Las variables anónimas: Cuando no se requiere el valor de una variable en determinada situación se utiliza el caracter “_” (underscore) y se lee variable anónima. Por ejemplo sitenemos definido un predicado alumno(Código, Nombre, Sexo, Carrera) y en determinada cláusula solo necesitamos el nombre y el sexo, entonces se puede utilizar alumno( _, Nombre, Sexo, _), con lo que estamos dejando como variables anónimas las que corresponden a Código y Carrera.

El mecanismo de unificación: Cuando se invoca una cláusula se realiza el mecanismo de unificación el cual consiste encomparar en forma biunívoca la cláusula invocada con la cláusula que hace la invocación. Si al finalizar la comparación resultan iguales, entonces se dice que la unificación tiene éxito (no falla), en caso contrario se dice que la unificación no tiene éxito (falla). El mecanismo de unificación se relaciona con el mecanismo de backtracking.

El mecanismo de backtracking: Cuando se invoca una cláusulay el proceso de unificación falla, entonces PROLOG busca la siguiente cláusula del mismo nombre y realiza nuevamente el proceso de unificación así sucesivamente. Si se logra unificar completamente una cláusula el proceso tiene éxito en caso contrario falla. por esta razón se dice que un programa PROLOG se ejecuta solamente cuando sus cláusulas son verdaderas (no fallan), al encontrar una cláusulaque falla completamente entonces, el programa termina en forma anormal. Existen formas de hacer que una cláusula que falla recupere su estado de verdad y permita la ejecución total del programa.

1.4 Cómo se ejecuta un programa PROLOG?

PROLOG tiene implementado un motor de inferencia para el tratamiento de cláusulas utilizando un mecanismo denominado BACKTRACKING para seleccionar y ejecutar...
tracking img