Sei sulla pagina 1di 12

Inteligencia Artificial e Ingeniería

del Conocimiento

Práctica 1:
El lenguaje LISP

Inés González Rodríguez y José Luis Montaña


Objetivos

 Introducir conceptos fundamentales de la


programación en LISP
Contenido

 Introducción
 Guión y Ejercicios: El fichero “practica2.lsp”
 Tareas a realizar
 Agradecimientos
 Referencias
 Apéndice: Software
Introducción

 LISP=LISt Processor
 Lenguaje próximo a lenguajes funcionales:
operación básica es la llamada a función.
 Aspecto de un buen programa de LISP:
conjunto de funciones pequeñas que
básicamente hacen llamadas a otras
funciones y pocas asignaciones.
Introducción

 Características fundamentales de los


sistemas LISP:
– Evaluador o intérprete que permite evaluar de
forma interactiva una expresión.
– Misma forma (listas) para datos y programas (que
son conjuntos de funciones).
USER: (+ 2 3)
5
USER: (first ‘(a b c))
A
El archivo practica2.lsp

 Guión para introducir al alumno al lenguaje


LISP:
– Explicaciones sobre conceptos de LISP
– Posibilidad de evaluar y modificar los ejemplos
 Ejercicios propuestos para afianzar los
conocimientos adquiridos.
El archivo practica2.lsp: Contenido

1. Sintaxis básica
1. Tipos de datos
2. s-expresiones
3. Variables
4. Funciones
5. Reglas de evaluación de s-expresiones
6. La referencia quote
7. Comparación
2. Creación y manipulación de listas
1. Creación de listas
2. Acceso a elementos de una lista
3. Comparación de listas
4. Concatenación de listas
5. Listas como conjuntos
El archivo practica2.lsp: Contenido

3. Esquemas de composición de acciones


1. Composición secuencial
2. Enrada y salida elemental
3. Esquemas condicionales
4. Esquemas iterativos
4. Funciones recursivas y predefinidas
1. Ejemplos de definición de funciones
2. Expresiones lambda
3. Las funciones apply y mapcar
4. La función sort
5. Estructuras de datos y Ficheros
1. Estructuras
2. Arrays
3. Tablas hash
4. Ficheros
Tareas a realizar

 Seguir el guión de “practica2.lsp”


– Leer atentamente las explicaciones
– Evaluar las expresiones cuando así se sugiere
– Resolver los ejercicios propuestos
 Los ejercicios propuestos sirven de preparación
para prácticas siguientes:
– el alumno capaz de resolverlos tendrá un dominio
suficiente del LISP
– algunas funciones pueden ser reutilizadas posteriormente.
Agradecimientos

 Esta práctica esta basada en prácticas


similares propuestas por profesores de la
Universidad de Oviedo en las asignaturas:
– Introducción a la Inteligencia Artificial, Ingeniería
Técnica en Informática, E.U.I.T. Informática y
Telemática de Gijón
– Inteligencia Artificial, Ingeniero en Informática,
Escuela Politécnica Superior de Ingeniería de
Gijón
Referencias y Recursos Web
 D. B. Lamkins, Successful Lisp: How to Understand and Use Common
Lisp, (2004) http://www.psg.com/~dlamkins/sl/
 P. Norvig, Paradigms of artificial intelligence programming : case
studies in common lisp Morgan Kaufmann (1992)
 P. Seibel, Practical Common Lisp, Apress, (2005)
http://www.gigamonkeys.com/book/
 G. L. Steele, Common Lisp the Language, 2nd ed., Digital Press
(1990) http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html
 D. S. Touretzky, Common Lisp: A Gentle Introduction to Symbolic
Computation (1990) http://www.cs.cmu.edu/~dst/LispBook/index.html
 CLiki : the common lisp wiki http://www.cliki.net/index
 Common Lisp HyperSpec (TM)
http://www.lispworks.com/documentation/HyperSpec/Front/index.htm
Apéndice: Software

 Versión de LISP utilizada en las prácticas: Allegro


CL 8.1 Free Express Edition (de Franz Inc.)
 Sistema operativo: existen versiones tanto para
Windows como para Linux
 Descarga e instrucciones de instalación:
http://www.franz.com/downloads/allegrodownload.lhtml
 Licencia: Licencia Allegro Express (gratuita, ha de
renovarse por el superusuario cada mes, véase
FAQ, http://www.franz.com/support/faq/)

Potrebbero piacerti anche