- Hechos. Variables. Reglas. El ámbito de las variables. Operadores. La resolución de objetivos. El mecanismo de control de
PROLOG. Entrada y Salida. Historia y desarrollo de Prolog. Tipos de datos en Prolog. Estructura de un programa PROLOG. Funciones y Pasos de Parámetros. Estructuras de Datos en Prolog. Desarrollo de Versiones Actuales.ucturas de Datos en Prolog
15. Desarrollo de Versiones Actuales
1. Introducción
Prolog es un lenguaje de programación hecho para representar y utilizar el conocimiento que se tiene sobre un determinado dominio. Más exactamente, el dominio es un conjunto de objetos y el conocimiento se representa por un conjunto de relaciones que describen las propiedades de los objetos y sus interrelaciones. Un conjunto de reglas que describa estas propiedades y estas relaciones es un programa Prolog...
2. Hechos
Expresan relaciones entre objetos. Supongamos que queremos expresar el hecho de que "un coche tiene ruedas". Este hecho, consta de dos objetos, "coche" y "ruedas", y de una relación llamada "tiene". La forma de representarlo en PROLOG es:....
3. Variables
Representan objetos que el mismo PROLOG determina. Una variable puede estar instanciada o no instanciada. Esta instanciada cuando existe un objeto determinado representado por la variable. De este modo, cuando preguntamos "Un coche tiene X ?"...
4. Reglas
Las reglas se utilizan en PROLOG para significar que un hecho depende de uno o más hechos. Son la representación de las implicaciones lógicas del tipo p --->; q (p implica q)....
5. El ámbito de las variables.
Cuando en una regla aparece una variable, el ámbito de esa variable es...
6. Operadores
Son predicados predefinidos en PROLOG para las operaciones matemáticas básicas. Su sintaxis depende de la posición que ocupen, pudiendo ser infijos o prefijos. Por ejemplo el operador suma ("+"), podemos encontrarlo en forma prefija '+(2,5)' o bien infija, '2 + 5'...
7. La resolución de objetivos
Ya hemos creado un programa PROLOG [relacion.pro] y lo hemos compilado...
8. El mecanismo de control de PROLOG
El mecanismo empleado por PROLOG para satisfacer las cuestiones que se le plantean, es el de _razonamiento hacia atrás (backward) complementado con la búsqueda en profundidad (depth first) y la vuelta atrás o reevaluación (backtracking)....
9. Entrada/Salida
PROLOG, al igual que la mayoría de lenguajes de programación modernos incorpora predicados predefinidos para la entrada y salida de datos. Estos son tratados como reglas que siempre se satisfacen...
10. Historia y desarrollo de Prolog
Una de las preocupaciones más tempranas de la computación de los años cincuenta fue la posibilidad de hacer programas que llevaran a cabo demostraciones automáticas de teoremas. Así empezaron los primeros trabajos de inteligencia artificial que más de veinte años después dieron lugar al primer lenguaje de programación que contempla, como parte del intérprete, los mecanismos de inferencia necesarios para la demostración automática. Este primer lenguaje está basado en el formalismo matemático de la Lógica de Primer Orden y ha dado inicio a un nuevo y activo campo de investigación entre las matemáticas y la computación que se ha denominado la Programación Lógica...
11. Tipos de datos en Prolog
Symbol
Hay dos tipos de símbolos:...
12. Estructura de un programa PROLOG
Un programa Prolog está formado por una secuencia de enunciados: hechos, reglas y comentarios...
13. Funciones y Pasos de Parámetros.
La recursividad es un mecanismo que da bastante potencia a cualquier lenguaje de programación. A continuación un ejemplo de programación recursiva que nos permitirá determinar si un tomo es miembro de una lista dada:...
14. Estructuras de Datos en Prolog
La lista es una estructura de datos muy común en la programación no numérica. Es una secuencia ordenada de elementos que puede tener cualquier longitud. Ordenada significa que el orden de cada elemento es significativo. Un elemento puede ser cualquier termino e incluso otra lista. Se representa como una serie de elementos separados por comas y encerrados entre corchetes...
15. Desarrollo de Versiones Actuales
Antes de que existieran sistemas expertos, sistemas inteligentes adaptables o cualquier otro tipo de programa capaz de funcionar con inteligencia artificial, se necesito crear los lenguajes para desarrollarlo. Para ello, se consideraron algunos requerimientos básicos como la posibilidad de procesar símbolos de todo tipo y la capacidad de hacer inferencias asociadas con el lenguaje, todo dentro de un ambiente flexible que permitiera escribir el programa de forma interactiva....