Listas en prolog

9
OPERADORES Y ESTRUCTURAS EN PROLOG INTELIGENCIA ARTIFICIAL II AUTOR: JEFFERSON CLÍDER GUILÉN VALENZUELA

Transcript of Listas en prolog

Page 1: Listas en prolog

OPERADORES Y ESTRUCTURAS EN PROLOG

INTELIGENCIA ARTIFICIAL II

AUTOR:

• JEFFERSON CLÍDER GUILÉN VALENZUELA

Page 2: Listas en prolog

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.

Page 3: Listas en prolog
Page 4: Listas en prolog

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??- posee(maria,libro(X, autor(herman_hesse))).

Page 5: Listas en prolog

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.

Page 6: Listas en prolog

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 listaT (Tail) Representar el resto de la lista, es decir la colade la cola.

Page 7: Listas en prolog

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

Page 8: Listas en prolog

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.

Page 9: Listas en prolog

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.