La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

I.A. Listas en Prolog. Tipos de datos definidos por el usuario Los tipos de datos estándar (string, symbol, integer, real), permiten hacer declaraciones.

Presentaciones similares


Presentación del tema: "I.A. Listas en Prolog. Tipos de datos definidos por el usuario Los tipos de datos estándar (string, symbol, integer, real), permiten hacer declaraciones."— Transcripción de la presentación:

1 I.A. Listas en Prolog

2 Tipos de datos definidos por el usuario Los tipos de datos estándar (string, symbol, integer, real), permiten hacer declaraciones genéricas de las relaciones, sin embargo es posible hacer declaraciones especificas y personalizadas de acuerdo a las necesidades del programador en función del problema a resolver.

3 Ejemplo la declaración genérica del predicado Predicatespadre(string,string) se puede especificar y personalizar en el siguiente codigo

4 domainspersona=stringpredicatespadre(persona,persona) Aquí el predicado padre tiene 2 argumentos de tipo persona

5 Que es una lista? Las listas son estructuras de datos dinámicas. Al programador en prolog interesa representar conocimiento en un computador, existiendo una variedad de modelos para representar esta situación problemática en un medio computacional, sin embargo las estructuras de datos dinámicas constituyen una herramienta para la implementación de estos modelos. Las listas son estructuras de datos dinámicas. Al programador en prolog interesa representar conocimiento en un computador, existiendo una variedad de modelos para representar esta situación problemática en un medio computacional, sin embargo las estructuras de datos dinámicas constituyen una herramienta para la implementación de estos modelos.

6 Por que las listas son estructuras dinámicas? Por que pueden aumentar y disminuir su tamaño o numero de elementos durante la ejecución de un programa prolog.

7 Ejemplo de listas Lista de numero enteros, Lista de numero enteros, Lista de nombres de personas. Lista de nombres de personas. Lista de alumnos inscritos en un curso. etc. Lista de alumnos inscritos en un curso. etc.

8 Como se define una lista en prolog? Una lista es un conjunto de datos homogéneos es decir datos del mismo tipo. Una lista es un conjunto de datos homogéneos es decir datos del mismo tipo. Se denota de la siguiente manera Se denota de la siguiente manera[H|T]Donde: H (Head) Representa la cabeza de la lista H (Head) Representa la cabeza de la lista T (Tail) Representar el resto de la lista, es decir la cola de la cola. T (Tail) Representar el resto de la lista, es decir la cola de la cola.

9 Dado que la lista esta definida como un conjunto de elementos, hereda aspectos de la lógica de conjuntos, existiendo por lo tanto lista vacía denotada por [], unión, intersección etc. Dado que la lista esta definida como un conjunto de elementos, hereda aspectos de la lógica de conjuntos, existiendo por lo tanto lista vacía denotada por [], unión, intersección etc.

10 Sintacticamente la lista se encierra entre corchetes [], y sus elementos se separan por comas. Sintacticamente la lista se encierra entre corchetes [], y sus elementos se separan por comas. Semánticamente la lista es tratada como cualquier tipo de datos y soporta una variedad de operaciones definida en la lógica de conjuntos. Semánticamente la lista es tratada como cualquier tipo de datos y soporta una variedad de operaciones definida en la lógica de conjuntos.

11 Ejemplos de listas Lsita de Números [1,3,5,7] Lsita de Números [1,3,5,7] donde H=1, T[3,5,7]. Lista de nombres [Juan,Pedro,Luis] donde H=Juan y T=[Pedro,Luis]. Lista de nombres [Juan,Pedro,Luis] donde H=Juan y T=[Pedro,Luis].

12 La lista doble [[Ana, Violeta, Frida],[Luis, Miguel,Sebastian]] La lista doble [[Ana, Violeta, Frida],[Luis, Miguel,Sebastian]] Se podria decir que ana es novia de luis si la lista es parte de la siguiente clausula : Se podria decir que ana es novia de luis si la lista es parte de la siguiente clausula : relacion(NOVIOS, [[Ana, Violeta, Frida],[Luis, Miguel,Sebastian]]). relacion(NOVIOS, [[Ana, Violeta, Frida],[Luis, Miguel,Sebastian]]).

13 Como se declara un tipo de dato lista en Prolog? A) A)Domains lista1= integer* lista2=string*

14 B) B)Domains lista1= integer* lista2=string*predicatesnumeros(lista1)personasl(lista2)

15 donde el asterisco denota la declaracion de una lista integer* Se lee lista de enteros integer* Se lee lista de enteros string* Se lee lista de cadenas string* Se lee lista de cadenas lista1 Es un tipo de datos lista de enteros lista1 Es un tipo de datos lista de enteros lista2 Es un tipo de datos lista de cadenas lista2 Es un tipo de datos lista de cadenas

16 Ejemplo domains domains lista=integer* lista=integer* predicates predicates nondeterm numeros(lista) nondeterm numeros(lista) clauses clauses numeros([1,3,5,7,9]). numeros([1,3,5,7,9]). goal goal numeros(A), numeros([H|T]), numeros(A), numeros([H|T]), write(A),nl, write(A),nl, write(H),nl,write(T),nl, write(H),nl,write(T),nl, readln(_). readln(_).

17 Fin


Descargar ppt "I.A. Listas en Prolog. Tipos de datos definidos por el usuario Los tipos de datos estándar (string, symbol, integer, real), permiten hacer declaraciones."

Presentaciones similares


Anuncios Google