I.A. Listas en Prolog.

Slides:



Advertisements
Presentaciones similares
I.A. Listas en Prolog Parte II.
Advertisements

Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Tema Algoritmos Universidad Politécnica de Nicaragua UPOLI.
Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program.
ESTRUCTURA DE DATOS.
INSTITUTO TECNOLOGICO DE MINATITLAN
Introducción a la Programación
Programación I Teoría III
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Tema 2: Lenguaje PHP básico
Tipo de Dato Abstracto Tipos de datos:
Tema 2 Tipos abstractos de datos.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Tipos de Datos.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Ingeniería de sw.
Teoría de lenguajes y compiladores
   Conjuntos.
CONJUNTOS Luis Figueroa S..
Estructuras de datos M.I.A Daniel Alejandro García López.
Colas y Listas Enlazadas
Herramientas para el acceso directo a memoria en C++
Logic M.C. Juan Carlos Olivares Rojas February, 2009.
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
ANALISIS SINTACTICO El análisis gramatical es la tarea de determinar la sintaxis, o estructura, de un programa. Por esta razón también se le conoce como.
Prolog PROgramming in LOGic
FUNDAMENTOS DE LA TEORÍA DE CONJUNTOS
Tema 6: Clases Antonio J. Sierra.
L. Enrique Sucar/Eduardo Morales
PROGRAMACIÓN LÓGICA.
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
Unidad 1 Definiciones Básicas
UNIDAD V Arreglos y Cadenas
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
Sintaxis.
TIPOS DE DATOS ABSTRACTOS
Inteligencia artificial
Clase 10: Estructuras de datos y arreglos.
Introducción a los tipos de datos abstractos
1.1 Concepto y terminología
Inteligencia artificial
Microsoft© Visual Basic . Net.
Tipo de Datos Básicos.
TIPOS DE DATOS TipoDescripciónRango IntegerEntero (2 bytes) a LongEntero largo (4 bytes) a SinglePunto flotante de simple.
Tipos de Datos (Data Types)
Programación en Pascal
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Agenda Clase 16 Motivación e Historia de la Programación Funcional y la Programación Lógica. Concepto y Características de la Programación Funcional. Ventajas.
Aplicación de estructuras de datos
Herramientas de polimorfismo y herencia en C++
Vectores y Matrices.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
Departamento de Informática Universidad Técnica Federico Santa María Temas 2,3,4: Estructura de un Programa Pascal Declaraciones Tipos de Datos Simples.
El software es un ingrediente indispensable para el funcionamiento del computador. Está formado por una serie de instrucciones y datos, que permiten aprovechar.
Algoritmos y pseudocódigos
Programación Procedural y Recursiva en C++
Términos algoritmo diseñar algoritmo implementar algoritmo
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
UNIVERSIDAD TECNICA PERTICULAR DE LOJA
3. La cantidad o la calidad del soporte técnico Es el software madre del computador Permite la interacción entre la computador y el usuario Para instalarlo.
Visual Basic FUNCIONES Y PROCEDIMIENTOS
SISTEMAS EXPERTOS LISTAS EN PROLOG Profesor: Joel Pérez González Abril 2010.
PRINCIPIOS DE PROGRAMACIÓN
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
MÉTODO LINE Con este método podemos dibujar Líneas y rectángulos en un objeto donde se permita utilizar dicho método, como por ejemplo en los Formularios,
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 4 – Tipos de Datos.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

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 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.

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

padre(persona,persona) domains persona=string predicates padre(persona,persona) Aquí el predicado padre tiene 2 argumentos de tipo persona

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.

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.

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

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.

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.

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.

Ejemplos de listas 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”].

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 : relacion(“NOVIOS”, [[“Ana”, “Violeta”, “Frida”],[“Luis”, Miguel,”Sebastian”]]).

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

B) Domains lista1= integer* lista2=string* predicates numeros(lista1) personasl(lista2)

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

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

Fin