Este documento describe los operadores y estructuras de datos en Prolog, incluyendo listas. Explica que las listas son una estructura de datos común en Prolog que permite representar secuencias ordenadas de elementos. Las listas se dividen en cabeza y cola, donde la cabeza es el primer elemento y la cola es el resto. También cubre operaciones comunes con listas como pertenencia.
1. OPERADORES Y ESTRUCTURAS EN
PROLOG
INTELIGENCIA ARTIFICIAL II
AUTOR:
• JEFFERSON CLÍDER GUILÉN VALENZUELA
2. INTRODUCCIÓN
Prolog cuenta con operadores para la unificación y comparación de valores,
de esta manera los evalúa, los términos en prolog se clasifican en átomos,
variables y estructuras. Las estructuras son la tercera clase de términos en
Prolog. Una estructura es una colección de objetos llamados componentes.
La representación de hechos simples no es lo común en la clasificación de
elementos, sino que se agrupan los elementos de un mismo tipo en una lista.
Las listas son colecciones de elementos en prolog. Una lista se divide en dos
partes: Cabeza que es el primer elemento de la lista y Cola que son el resto
de los elementos de la lista. La cabeza y la cola de una lista se separan con el
símbolo "|".
Utilizando listas en nuestra base de conocimientos o motor de inferencia nos
resolvería problemas más complejos y a la vez devolvería mejores
resultados.
3.
4. Una estructura se escribe mediante la especificación de su functor y sus componentes.
Los componentes se encierran entre paréntesis y se separan por comas.
El functor especifica el nombre de la estructura.
Ejemplo:
posee(maria,libro(demian)).
La estructura en este hecho es libro(demian).
Si se desea especificar el autor del libro que posee María:
ESTRUCTURAS
Ejemplo:
Si en la BC está el hecho:
posee(maria,libro(demian,autor(herman_
hesse))).
Para realizar la pregunta:
¿Qué libro posee María del autor Herman
Hesse?
5. LISTAS
Una lista es una estructura de datos muy utilizada en programación
simbólica. El trabajo con listas en PROLOG permite aumentar la
potencialidad del lenguaje. Frecuentemente, los predicados con listas son
recursivos.
Una lista es una secuencia ordenada de elementos clasificados que puede
tener cualquier longitud.
Las listas pueden utilizarse para representar conjuntos, pero existen
diferencias importantes:
En un conjunto el orden de los elementos no es relevante. En un conjunto no
se repiten elementos.
A pesar de esto, la mayoría de las operaciones de conjunto, se pueden
implementar utilizando listas.
6. COMO SE DEFINE UNA LISTA EN PROLOG?
Una lista es un conjunto de datos homogéneos es decir
datos del mismo tipo.
Se denota de la siguiente manera:
H|T]
Donde:
H (Head) Representa la cabeza de la lista
T (Tail) Representar el resto de la lista, es decir la cola
de la cola.
7. La operación de pertenencia se llamará miembro. Permite
determinar si un elemento pertenece o no a una lista. El
predicado miembro se utiliza como:
¿Es el elemento X miembro de la lista L?
En PROLOG sería:
?- miembro(c,[a,b,c]).
YES
OPERACIONES CON LISTAS
8. CONCLUSIONES
Los operadores y estructuras de datos en Prolog son usadas
para optimizar problemas complejos,
Las listas son una estructura de datos básica en el lenguaje
de prolog, estas listas se parece mucho a las utilizadas en
lenguaje C/C++, pueden tener cualquier longitud y es
ordenada. Un elemento puede ser un término o incluso una
lista, está determinado por diferentes elementos separados
por una coma y cerrados con corchetes.
Se debe tener en cuenta que las listas están divididas en dos
partes que son: cabeza y cola. La cabeza es el primer
elemento de la lista y la cola el resto de la lista.
9. BIBLIOGRAFÍA
• Russell, S., Norvig, P. 2008. Inteligencia Artificial Un Enfoque
Moderno. Segunda Edición. Pearson Education. España
• Ponce, P. 2011. Inteligencia artificial con aplicaciones a la
ingeniería. Primera Edición.
• García, A. 2012. Inteligencia artificial, Fundamentos, práctica
y aplicaciones. Primera Edición.
• Benítez, R., Escudero, G., Masip, D., Kanaan, S., 2014,
Inteligencia artificial avanzada. Primera Edición.