SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Más contenido relacionado

La actualidad más candente

Articulo Autómata (push down)
Articulo Autómata (push down)Articulo Autómata (push down)
Articulo Autómata (push down)
Scarlinr
 
Metreología programacion
Metreología programacionMetreología programacion
Metreología programacion
tamaaraa
 
Metreología programación
Metreología programaciónMetreología programación
Metreología programación
Laura Martos
 

La actualidad más candente (20)

Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++
 
Librerias de C++
Librerias de C++Librerias de C++
Librerias de C++
 
Software de programación lógica
Software de programación lógicaSoftware de programación lógica
Software de programación lógica
 
Tipos de librería en c++
Tipos de librería en c++Tipos de librería en c++
Tipos de librería en c++
 
Articulo Autómata (push down)
Articulo Autómata (push down)Articulo Autómata (push down)
Articulo Autómata (push down)
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
Metreología programacion
Metreología programacionMetreología programacion
Metreología programacion
 
Practica análisis léxico y semántico(compiladores)
Practica análisis léxico y semántico(compiladores)Practica análisis léxico y semántico(compiladores)
Practica análisis léxico y semántico(compiladores)
 
Metreología programación
Metreología programaciónMetreología programación
Metreología programación
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintactico
 
Librerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación CLibrerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación C
 
Teoría de Autómatas y Lenguajes Formales (I Bimestre)
Teoría de Autómatas y Lenguajes Formales (I Bimestre)Teoría de Autómatas y Lenguajes Formales (I Bimestre)
Teoría de Autómatas y Lenguajes Formales (I Bimestre)
 
Compilador
CompiladorCompilador
Compilador
 
Automatas finitos
Automatas finitosAutomatas finitos
Automatas finitos
 
Generacion codigomaquina
Generacion codigomaquinaGeneracion codigomaquina
Generacion codigomaquina
 
Uso de las clases iostream
Uso de las clases iostreamUso de las clases iostream
Uso de las clases iostream
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
ARCHIVOS
ARCHIVOS ARCHIVOS
ARCHIVOS
 
Practica 1
Practica 1Practica 1
Practica 1
 
Midiendo la Eficiencia en el Sector Público 3 / Javier Salinas Jiménez- Unive...
Midiendo la Eficiencia en el Sector Público 3 / Javier Salinas Jiménez- Unive...Midiendo la Eficiencia en el Sector Público 3 / Javier Salinas Jiménez- Unive...
Midiendo la Eficiencia en el Sector Público 3 / Javier Salinas Jiménez- Unive...
 

Destacado (6)

Algoritmos De Control
Algoritmos De ControlAlgoritmos De Control
Algoritmos De Control
 
IntroduccióN A Redes Internet
IntroduccióN A Redes InternetIntroduccióN A Redes Internet
IntroduccióN A Redes Internet
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Sistema Operativo Windows-Segunda Sesión
Sistema Operativo Windows-Segunda SesiónSistema Operativo Windows-Segunda Sesión
Sistema Operativo Windows-Segunda Sesión
 
INFORMATICA CONCEPTOS BASICOS
INFORMATICA CONCEPTOS BASICOSINFORMATICA CONCEPTOS BASICOS
INFORMATICA CONCEPTOS BASICOS
 
Internet y sus servicios
Internet y sus serviciosInternet y sus servicios
Internet y sus servicios
 

Similar a Lisp tutorial en latex

Historia de clisp
Historia de clispHistoria de clisp
Historia de clisp
extasis30
 
10 11 introducción a r para desarrolladores
10 11 introducción a r para desarrolladores10 11 introducción a r para desarrolladores
10 11 introducción a r para desarrolladores
Software Guru
 
Metreología programacion
Metreología programacionMetreología programacion
Metreología programacion
tamaaraa
 
Automatas y compiladores clase1
Automatas y compiladores clase1Automatas y compiladores clase1
Automatas y compiladores clase1
Germania Rodriguez
 
Libro2 - PROGRAMACION2
Libro2 - PROGRAMACION2Libro2 - PROGRAMACION2
Libro2 - PROGRAMACION2
gabrielalija10
 
Libro 2 - ORIGENES DE LA PROGRAMACION
Libro 2 - ORIGENES DE LA PROGRAMACIONLibro 2 - ORIGENES DE LA PROGRAMACION
Libro 2 - ORIGENES DE LA PROGRAMACION
Gabriel Alija
 
Agenda de Datos Personales en LISP
Agenda de Datos Personales en LISPAgenda de Datos Personales en LISP
Agenda de Datos Personales en LISP
Alex Pin
 

Similar a Lisp tutorial en latex (20)

Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
S01.s1 - Material.pdf
S01.s1 - Material.pdfS01.s1 - Material.pdf
S01.s1 - Material.pdf
 
Historia de clisp
Historia de clispHistoria de clisp
Historia de clisp
 
10 11 introducción a r para desarrolladores
10 11 introducción a r para desarrolladores10 11 introducción a r para desarrolladores
10 11 introducción a r para desarrolladores
 
Lenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de Programación
 
TEMA Nº 1
TEMA Nº 1TEMA Nº 1
TEMA Nº 1
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programación
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
 
Metreología programacion
Metreología programacionMetreología programacion
Metreología programacion
 
Clase02 paradigmas
Clase02 paradigmasClase02 paradigmas
Clase02 paradigmas
 
Automatas y compiladores clase1
Automatas y compiladores clase1Automatas y compiladores clase1
Automatas y compiladores clase1
 
Historia Lenguajes y sus Tipos
Historia Lenguajes y sus TiposHistoria Lenguajes y sus Tipos
Historia Lenguajes y sus Tipos
 
Introducción a Phyton
Introducción a PhytonIntroducción a Phyton
Introducción a Phyton
 
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
 
Generacionlenguajes
GeneracionlenguajesGeneracionlenguajes
Generacionlenguajes
 
Libro2 - PROGRAMACION2
Libro2 - PROGRAMACION2Libro2 - PROGRAMACION2
Libro2 - PROGRAMACION2
 
Libro 2 - ORIGENES DE LA PROGRAMACION
Libro 2 - ORIGENES DE LA PROGRAMACIONLibro 2 - ORIGENES DE LA PROGRAMACION
Libro 2 - ORIGENES DE LA PROGRAMACION
 
Compiladores trabajo numero 4
Compiladores trabajo numero 4Compiladores trabajo numero 4
Compiladores trabajo numero 4
 
PARADIGMA FUNCIONAL
PARADIGMA FUNCIONALPARADIGMA FUNCIONAL
PARADIGMA FUNCIONAL
 
Agenda de Datos Personales en LISP
Agenda de Datos Personales en LISPAgenda de Datos Personales en LISP
Agenda de Datos Personales en LISP
 

Último

sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptxsigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sutti0808
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
bingoscarlet
 
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURASPRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
ejcelisgiron
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
bcondort
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
vladimirpaucarmontes
 

Último (20)

Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptxsigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
 
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdfJM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOSMANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
 
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONCALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURASPRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
 
introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitales
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - Ejercicios
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
Gestion de proyectos para el control y seguimiento
Gestion de proyectos para el control  y seguimientoGestion de proyectos para el control  y seguimiento
Gestion de proyectos para el control y seguimiento
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 

Lisp tutorial en latex

  • 1. Inteligencia Artificial LISP Omar Quito Fernado Sumba Universidad de Cuenca 21 de Abril del 2014
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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