Inteligencia Artificial
LISP
Omar Quito Fernado Sumba
Universidad de Cuenca
21 de Abril del 2014
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Contenido
1 Introdu...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Contenido
1 Introdu...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Contenido
1 Introdu...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Contenido
1 Introdu...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Contenido
1 Introdu...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Contenido
1 Introdu...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Introducci´on
Histo...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Caracter´ısticas de...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Caracter´ısticas de...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Caracter´ısticas de...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Caracter´ısticas de...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Caracter´ısticas de...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Caracter´ısticas de...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Caracter´ısticas de...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Caracter´ısticas de...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Funciones en LISP
A...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Funciones en LISP
A...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Funciones en LISP
F...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Compiladores de LIS...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
LISP EN IA
Como nac...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
LISP EN IA
LISP LEN...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
LISP EN IA
LISP y P...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
EJEMPLOS
Funciones
...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
EJEMPLOS
Funcion Re...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
EJEMPLOS
Funci´on p...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
EJEMPLOS
Funci´on p...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
EJEMPLOS
Eliminar e...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
EJEMPLOS
LAS TORRES...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
EJEMPLOS
LAS TORRES...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
EJEMPLOS
Recursivid...
Introducci´on
Caracter´ısticas del Lenguaje
Funciones en LISP
Compiladores de LISP
LISP EN IA
EJEMPLOS
Bibliografia
Bibliog...
Upcoming SlideShare
Loading in...5
×

Lisp tutorial en latex

222
-1

Published on

Published in: Engineering
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
222
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Lisp tutorial en latex

  1. 1. Inteligencia Artificial LISP Omar Quito Fernado Sumba Universidad de Cuenca 21 de Abril del 2014
  2. 2. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Contenido 1 Introducci´on 2 Caracter´ısticas del Lenguaje 3 Funciones en LISP 4 Compiladores de LISP 5 LISP EN IA 6 EJEMPLOS Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  3. 3. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Contenido 1 Introducci´on 2 Caracter´ısticas del Lenguaje 3 Funciones en LISP 4 Compiladores de LISP 5 LISP EN IA 6 EJEMPLOS Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  4. 4. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Contenido 1 Introducci´on 2 Caracter´ısticas del Lenguaje 3 Funciones en LISP 4 Compiladores de LISP 5 LISP EN IA 6 EJEMPLOS Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  5. 5. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Contenido 1 Introducci´on 2 Caracter´ısticas del Lenguaje 3 Funciones en LISP 4 Compiladores de LISP 5 LISP EN IA 6 EJEMPLOS Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  6. 6. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Contenido 1 Introducci´on 2 Caracter´ısticas del Lenguaje 3 Funciones en LISP 4 Compiladores de LISP 5 LISP EN IA 6 EJEMPLOS Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  7. 7. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Contenido 1 Introducci´on 2 Caracter´ısticas del Lenguaje 3 Funciones en LISP 4 Compiladores de LISP 5 LISP EN IA 6 EJEMPLOS Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  8. 8. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Introducci´on Historia Especificado en 1958 por John McCarthy, es el segundo m´as viejo lenguaje de programaci´on de alto nivel. Lisp fue pionero en muchas ideas en ciencias de la computaci´on, incluyendo las estructuras de datos de ´arbol, el manejo de almacenamiento autom´atico, tipos din´amicos, y el compilador auto contenido. Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  9. 9. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Caracter´ısticas del Lenguaje Objeto de datos Entre las caracter´ısticas m´as importantes podemos mencionar: • Todas las variables son punteros • Liberaci´on autom´atica de memoria • Adecuado para prototipados, c´alculo y c´alculo simb´olico • Paradigma de programaci´on funcional • Lenguaje Interpretado Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  10. 10. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Caracter´ısticas del Lenguaje Objeto de datos Datos (Expresiones): Los tipos de datos originales son los ´atomos y las listas. Los ´atomos: son las expresiones LISP m´as elementale debido a que se asemejan a las palabras de un lenguaje com´un. Las listas: son grupos de valores relacionados, separados por espacios e incluidos entre par´entesis redondos ”(”Y ”)”. Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  11. 11. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Caracter´ısticas del Lenguaje Control de Secuencia La ejecuci´on del programa consiste en la evaluaci´on de las funciones contenidas en el mismo. Expresiones: • Condicional • Operaciones sobre ´atomos (en preorden): +, -, *, / • Operaciones sobre listas: cons, list, replace, null, equal. • Operaciones sobre propiedades: put, get. • Enunciados: prog() para ejecuci´on secuencial. • Entrada y salida: open(), read(), print(). • Definici´on de funciones: defun, define. Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  12. 12. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Caracter´ısticas del Lenguaje Gestion de Sub programas Tres clases de funciones: • Funci´on interpretada: en forma de estructura de listas. Primitivas eval y apply. • Funci´on compilada: compiladas en un bloque de c´odigo m´aquina que puede ser ejecutado por el int´erprete del hardware. • Macro: se declara con define. Es simplemente una funci´on ordinaria en LISP. Puede ser interpretada y compilada. Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  13. 13. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Caracter´ısticas del Lenguaje Gesti´on de almacenamiento La memoria se estructura en forma de mont´ıculo,usa espacios libres y un recolector de basura Entorno de referencia: • Local, es el que se da en las listas. • Global o com´un, se consigue mediante asociaci´on de un ´atomo. Paso de par´ametros: • Transmisi´on por valor, consiste en evaluar las expresiones de una lista de par´ametros. • Transmisi´on por nombre, transmitir las expresiones de la lista de par´ametros sin evaluar, y dejar que la funci´on llamada Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  14. 14. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Caracter´ısticas del Lenguaje Predicados Estos eval´uan cierto o falso, en Lisp falso es NIL: Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  15. 15. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Caracter´ısticas del Lenguaje Predicados para comprobaci´on de tipo de objeto: INTEGERP Comprueba si el argumento es un n´umero entero. (defun integerp (dato)(eq (type dato) ’INT)) REALP Comprueba si el argumento es un n´umero real. (defun realp (dato)(eq (type dato) ’REAL)) STRINGP Comprueba si el argumento es una cadena. (defun stringp (dato)(eq (type dato) ’STR)) Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  16. 16. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Caracter´ısticas del Lenguaje Abstracci´on y encapsulamiento LISP, en origen, no incluye caracter´ısticas de abstracci´on de datos. CLOS fue una ampliaci´on de LISP con orientaci´on de objetos. Caracter´ısticas: • Herencia m´ultiple. • Funciones gen´erica. • Metaclases y metaobjetos. • T´ecnica de creaci´on e inicializaci´on de objetos que permite control del proceso por parte del usuario. Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  17. 17. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Funciones en LISP Aritm´eticas +, -, *, /: Suma, resta, multiplicaci´on y divisi´on EJEMPLO: (+ (* 2 3) 5) 1+, 1- : Incrementa/Decrementa en uno el valor. EJEMPLO: (1+ 9) max, min : Devuelve el valor m´aximo de una lista EJEMPLO: (max 23 4 5 234 654) float: Devuelve el valor en coma flotante EJEMPLO: (float ( 22 / 7)) round: redondea un valor al entero m´as cercano Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  18. 18. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Funciones en LISP Aritm´eticas expt: calcula potencias elevando su primer argumento a su segundo EJEMPLO: (expt 2 3) sqrt: calcula raices cuadradas EJEMPLO: (sqrt 9) abs: calcula el valor absoluto EJEMPLO: (abs -3) random: calcular un n´umero aleatorio de 0 a N-1 EJEMPLO: (random 5) Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  19. 19. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Funciones en LISP Funciones de entrada y salida print, format: son operaciones de salida de texto. read: es una operaci´on de lectura de texto. read-line: absorve caracteres hasta donde aparece un fin de archivo. read-char: lee un car´acter open: permite escribir en archivos eval: es una operaci´on que lee y eval´ua. Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  20. 20. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Compiladores de LISP Los mas utilizados • GNU Common Lisp, (Software libre) • Allegro Common Lisp, (Software propietario) • CMU Common Lisp, (Software libre) • CLISP, Una implementaci´on de Common Lisp , (Software libre) • OpenMCL Common lisp para Macintosh , (Software libre) Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  21. 21. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS LISP EN IA Como nace LA IA CON LISP El momento en el que se comienza a utilizar el t´ermino y este se populariza es en 1956, cuando John McCarthy organiza el Dartmouth Summer Research Project on Artificial Intelligence. Los a˜nos sucesivos a ese verano fueron especialmente fruct´ıferos: Newell, Simon y Shaw escribir´ıan el “Logic Theorist” y el “General Problem Solver” y John Mc Carthy crear´ıa Lisp y escribir´ıa el art´ıculo “Programs with Common Sense”. Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  22. 22. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS LISP EN IA LISP LENGUAJE DE ALTO NIVEL Lisp era el lenguaje de alto nivel que necesitaban en esos tiempos; fue el primer lenguaje en implementar programaci´on funcional, acercando las matem´aticas al lenguaje; permite entender el lenguaje hasta el nivel del int´erprete y es extensible, permitiendo crear nuevos paradigmas de programaci´on en el lenguaje. Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  23. 23. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS LISP EN IA LISP y PROLOG Hasta 1971 no se inventar´ıa Prolog, que se usar´ıa sobre todo en combinaci´on con Lisp, en los sistemas basados en reglas, debido a sus facilidades para el encadenamiento hacia Atr´as, entre otras cosas. As´ı es que hist´oricamente Lisp ha estado asociado a la inteligencia artificial y viceversa. Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  24. 24. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS EJEMPLOS Funciones Crear una funci´on que dada una lista de como resultado una nueva lista pero solo con el primer y ´ultimo elemento de la lista original. SOLUCI´ON: Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  25. 25. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS EJEMPLOS Funcion Recursiva Crear una funci´on recursiva que dada una lista como par´ametro retorne la sumatoria de todos sus elementos. SOLUCI´ON: Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  26. 26. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS EJEMPLOS Funci´on para matrices Crear una funci´on que permita realizar la suma de matrices. SOLUCI´ON: Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  27. 27. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS EJEMPLOS Funci´on para listas Crear una funci´on en LISP que permita realizar suma de listas pares SOLUCI´ON: Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  28. 28. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS EJEMPLOS Eliminar el en´esimo termino de una lista SOLUCI´ON: Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  29. 29. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS EJEMPLOS LAS TORRES DE HANOI Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  30. 30. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS EJEMPLOS LAS TORRES DE HANOI Definicion de funcion torres de hanoi: Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  31. 31. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS EJEMPLOS Recursividad.- LAS TORRES DE HANOI Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  32. 32. Introducci´on Caracter´ısticas del Lenguaje Funciones en LISP Compiladores de LISP LISP EN IA EJEMPLOS Bibliografia Bibliograf´ıa Omar Quito, Fernado Sumba Universidad de Cuenca LISP
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×