INTELIGENCIA ARTIFICIAL

Slides:



Advertisements
Presentaciones similares
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities scuola.
Advertisements

SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
Revisión Nº:Descripción:Fecha: 00Elaboración de la documentación30/06/11 Copia Controlada :Nº: F /REV. 00 ACCESO A LA WEB DEL CPR DE TARAZONA Cód.:
Rogelio Dávila Pérez Profesor - Investigador
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Complejidad Computacional
INTELIGENCIA ARTIFICIAL
Universidad San Martín de Porres
Complejidad Computacional
INTELIGENCIA ARTIFICIAL
Seminario El Futuro del Seguro de Vida
1 PRINCIPALES INDICADORES DEL DESARROLLO DE LA SOCIEDAD DE LA INFORMACIÓN EN GALICIA CUADRO DE MANDO Apartado: Empresas Septiembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
AYUDA A LA FUNCIÓN DOCENTE Internet
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Respuestas Buscando a Nemo.
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
SISTEMA DE NUMEROS NÚMEROS ENTEROS DIVISIBILIDAD NÚMEROS PRIMOS
Área Razón Social 0 0 Telefónica Servicios Audiovisuales S.A. / Telefónica España S.A. Título de la ponencia / Otros datos de interés / Kit.
Los Objetos de la Clase Escriban la palabra (the word) en español para los objetos de la clase (#1-20).
CLASE 3 SOFTWARE DEL MICROPROCESADOR
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
1. Apoyo exterior sobre ala inferior de viga de acero
Distribuciones de probabilidad bidimensionales o conjuntas
UPC Tema: ESPACIO VECTORIAL Rn
Funciones Excel. Parte 1. Introducción 2 Una función Excel es una fórmula o un procedimiento que se realiza en el ambiente de Visual Basic, fuera de.
Repaso del capítulo Primer Paso
INFORME USDA NOVIEMBRE TRIGO 2 MERCADO INTERNACIONAL (Millones de Toneladas) 3.
Sistemas de Ecuaciones
EL OSO APRENDIZ Y SUS AMIGOS
Operaciones con expresiones algebraicas
1 SEGUNDO FORO REGIONAL HERMOSILLO, SON Sistema Nacional de Transparencia Fiscalización y Rendición de Cuentas:
RETIRO DE COMALCALCO DIC. 2012
Proyecto para Centros que trabajan una vez por semana.
INTELIGENCIA ARTIFICIAL
Ecuaciones Cuadráticas
Ecuaciones y Resolución de Ecuaciones Lineales
Expresiones Racionales
Exponentes Racionales y Radicales
Lógica Proposición Ejemplos
Expresiones Algebraicas
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
CULENDARIO 2007 Para los Patanes.
La transformada de Laplace
BEATRIZ LAFONT VILLODRE
* Fuente: Sondeo del Consumidor de la Comisión de la UE, GfK. Expectativas sobre la situación.
CURSO MULTIHAZ HYPACK ®
Introducción al lenguaje R Sesión 2: Objetos en R
SpanishNumbers Uno 2 Dos 3 Tres 4 Quatro.
MSc. Lucía Osuna Wendehake
Programación I Teoría VI: Recursividad
SUCESIONES Y PROGRESIONES.
Sistemas de Ecuaciones lineales
Slide 7-1 Copyright © 2003 Pearson Education, Inc. Figure: Estructuras de datos.
Estructuras de control
ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL CURSO: GESTION DE LA CALIDAD ING.ELIZABETH FERG 1.
CHAPTER 4 VOCABULARY: PART II
 2003 Prentice Hall, Inc. All rights reserved. 1 Capítulo 6: Clases y Abstracción de Datos Índice del capítulo 6.1 Introducción 6.2 Estructuras 6.3 Clases.
DISEÑO DE LA PROPUESTA DEL PROCESO DE RENDICION DE CUENTAS 2014 Coordinación General de Planificación Ministerio de Agricultura, Ganadería, Acuacultura.
Simulacion de sistemas dinamicos
Introducción a LISP Sergio Jiménez Celorrio Departamento Ingeniería Informática – UC3M.
Lenguaje de Programación LISP
Transcripción de la presentación:

INTELIGENCIA ARTIFICIAL LISP Mg. Samuel Oporto Díaz

Mapa Conceptual del Curso

Tabla de Contenido Procesamiento Básico Funciones en LISP Recursión Ejemplos Conclusiones Bibliografía

Objetivos Exponer los conceptos básicos del LISP. Presentar las expresiones-s, los átomos y las listas. Presentar las funciones básicas del LISP. Crear nuevas funciones en LISP. Recursión.

PROCESAMIENTO BÁSICO DE LISTAS

LISP un lenguaje simple Únicamente dos tipos de objetos: átomos (identificadores/constantes) robot green 12.5 listas (de átomos o listas) (1 2 3.14) (robot (color green) (weight 100)) Las listas almacenan diferentes tipos de datos, no contiguos y sin acceso aleatorio) Las funciones y llamadas a funciones son representadas como listas (programa = data) (define (square x) (* x x)) Todos los cálculos son ejecutados mediante la aplicación de funciones a sus argumentos, como listas: (+ 2 3) > 5 (square 5) > 25 (car (reverse '(a b c))) > c

Procesamiento Básico de Listas FIRST (CAR).- toma una lista como argumento y regresa el primer elemento REST (CDR).- toma una lista como argumento y regresa una lista sin el primer elemento CONS.- toma dos argumentos (normalmente el segundo es una lista) y regresa una lista con el primer argumento como primer elemento de la lista. NULL.- checa si una lista está vacía LISTP.- checa si el argumento es una lista o no.

Ejercicio 1 Escriba una expresión Lisp aplicando first y rests a la siguiente lista de tal manera que se obtenga el símbolo X y el símbolo Y (A (B ((X))) (C) (((Y)) E )) ((A B) (C D) (E F) (H (I X)(J L) Y)) (A B (C D E (F G H) (I J X (L M Y)))) (A B C (() () ((nil (X)))) ()()(((Y)))())

Ejercicios 2 Representa el siguiente árbol mediante una lista. Extrae mediante las funciones FIRST Y REST, las ocurrencias del número 6 + 9 6 2 * - 3 5

Listado de funciones Construcción de Listas (cons a L) (cons 'h '(o l a)) (append L L) (append '(e s t a m o s) '(f e l i c e s)) (list a a) (list 'd 'e 'c 'o 'n 'o 'c 'e 'r 'e 'l 'l 'i 's 'p)

Ejemplo (cons a L) Crea una lista, desde un átomo y una lista   (cons ‘a ‘(b c d)) (a b c d) (cons nil '(a b c)) (NIL A B C) (append(L L) Crea una lista, con los elementos de las listas (append ‘(a b) ‘(c d)) (a b c d) (append '() '(a b c)) (A B C) (append nil '(a b c)) (A B C) (list L L) Crea una lista, cada lista es un elemento de la lista (list ‘(a b) ‘(c d)) à((a b) (c d)) (list '(a b) nil '(c d)) à((a b) nil (c d)) (list '(a b) '() '(c d)) à((a b) nil (c d))

Ejercicio 3 Construye las listas de los siguientes árboles y luego “arma” la siguiente lista, haga uso de las funciones para construir listas / * - 3 5 6 2 * 6 2 / - + / + - A B A B

Asignación de valores Asignación de valores (setf x 2) (setq x 4)

FUNCIONES EN LISP

Definición de Funciones LISP permite definir funciones y asignarles un nombre. defun defun asocia a un símbolo (la función) un conjunto de sentencias, en las cuales se pueden utilizar una serie de parámetros formales declarados al inicio de la función. Al llamar a la función definida con defun se debe proporcionar los valores concretos con los que sustituir esos parámetros formales en la evaluación de las sentencias del cuerpo de la función. Tras terminar la evaluación del cuerpo de la función, el control del programa vuelve al lugar en donde se realizó la llamada.

Definición de funciones en LISP (defun <function-name> (<par-1> .... <par-n>) <S-expression-1> <S-expression-2> .... <S-expression-m> )

Ejemplo de Función 3 (defun third-element (items) (first (rest (rest items)))) > (third-element ‘(1 2 3 4 5)) 3

Condiciones (cond (<test-1> <action-1.1> .... <action-1.n1>) (<test-2> <action-2.1> .... <action-2.n2>) .... (<test-m> <action-m.1> ....<action-m.nm>) )

Funciones Lógicas not toma un argumento y regresa t si es nil, o regresa nil de otra manera. and toma cualquier número de argumentos y regresa nil si alguno de sus argumentos es nil, de otra manera regresa un no-nil. or toma cualquier número de argumentos y regresa nil si todos sus argumentos son nil, de otra manera regresa un no-nil.

RECURSION

Recursión Al construir una función, es posible confiar en esa definición para usarla como parámetro en la misma función. (defun (multiply (x y) (cond ((= x 0) 0) (t (+ y (multiply (- x 1) y) )

Recursión (defun ismemberof (item list) (cond ((null list) nil) ((equal item (first list)) t) (t (ismemberof item (rest list))) )

ITERACION Y RECURSION

Iteración y Recursión Iteración. Es la implementación de un algoritmo mediante ciclos: WHILE, FOR, REPEAT. Recursión Es la implementación de un algoritmo mediante sub-programas que se llaman a si mismos. Equivalencia de Iteración y Recursión: Cualquier programa recursivo puede expresarse de forma iterativa y viceversa.

Ejemplos ITERATIVA RECURSIVA Una función es recursiva si su resolución (FACT(n)) requiere la solución previa de la misma función (FACT) para casos más sencillos (FACT(n -1))

Tipos de Recursión RECURSIÓN LINEAL: si cada llamada recursiva genera, a lo más, otra llamada recursiva No por la cola (No por el final): el resultado de la llamada recursiva NO es el resultado del método recursivo (not tail recursion) Por la cola (Por el final): el resultado de la llamada recursiva es el resultado del método recursivo (with tail recursion) RECURSIÓN MÚLTIPLE: si alguna llamada puede generar más de una llamada recursiva

Ejemplo - factorial public int iterative(int n) { int fact = 1; for (int i = 1; i <= n; i++) fact *= i; return fact; } public int tail(int n) { return _tail(n, 1); } private int _tail(int n, int fact) { if (n <= 0) { return fact; } else { return _tail(n - 1, n * fact); public int notail(int n) { if (n <= 0) return 1; else return n * notail(n - 1); }

Iterative (defun factorial (n) (let ((fact 1) ) (dotimes (i n) (setf fact (* fact (+ i 1))) fact > (trace factorial) (FACTORIAL) > (factorial 4) 0 FACTORIAL > (4) >> N : 4 0 FACTORIAL < (24) 24

not tail recursion (defun factorial (x) (cond ((null x) nil ) (T (* x (factorial (- x 1))) > (trace factorial) (FACTORIAL) > (factorial 4) 0 FACTORIAL > (4) >> X : 4 1 FACTORIAL > (3) >> X : 3 2 FACTORIAL > (2) >> X : 2 3 FACTORIAL > (1) >> X : 1 3 FACTORIAL < (1) 2 FACTORIAL < (2) 1 FACTORIAL < (6) 0 FACTORIAL < (24) 24

tail recursion (defun factorial (x) (cond ((null x) nil) (T (factorial_ x 1)) ) (defun factorial_ (x fact) (cond ((= x 1) fact (T (factorial_ (- x 1) (* x fact) > (trace factorial ) (FACTORIAL) > (trace factorial_ ) (FACTORIAL_ FACTORIAL) > (factorial 4 ) 0 FACTORIAL > (4) >> X : 4 1 FACTORIAL_ > (4 1) >> X : 4 >> FACT : 1 1 FACTORIAL_ < (24) 0 FACTORIAL < (24) 24

EJEMPLOS

Ejercicio 4 (LENGTH) Implemente la función LENGTH usando sólo las funciones de manipulación de listas y aritméticas (defun len (L) (len-sub L 0) ) (defun len-sub (L S) (cond ((null L) S (t (len-sub (cdr L) (+ S 1))

Ejercicio 5 (REMOVE) Implemente la función REMOVE usando sólo las funciones de manipulación de listas y aritméticas. (defun remov (L a) (remov-sub L a nil) ) (defun remov-sub (L a S) (cond ((null L) S ((equal a (first L)) (remov-sub (rest L) a S) ( t (remov-sub (rest L) a (append S (list (first L))))

Ejercicio 6 (APPEND) Implemente la función APPEND usando sólo las funciones de manipulación de listas y aritméticas.

Ejercicio 7 (COUNT-A) Construya una función llamada COUNT_A que tome un argumento (que puede ser lista o átomo) y regrese un número entero que indique el número de elemento atómicos que existe en la estructura.

CONCLUSIONES

Conclusiones LISP es un lenguaje de alto nivel de tipo funcional que es utilizado en múltiples aplicaciones de IA LISP se basa en manejo de listas y tiene desde funciones simples hasta estructuras de datos

Bibliografía LISP Winston and Horn Addison Wesley The Little Lisper Daniel Friedman and Mathias Felleisen SRA Apuntes de LISP Graeme Ritchie

PREGUNTAS