SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
• Para salir escriba (exit)

• Pruebe un comando de ejemplo como la multiplicación :
                      (* 5 6 20) => 600

• La anterior instrucción hará una multiplicación de los tres
  números devolviendo 600 como resultado.

• Tenemos 2 tipos de datos: Atómicos y Listas




               INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
b,4, color-casa ,etc.
Al evaluar un tipo de dato atómico, nos devuelve el valor que se le
ha asignado. Los números son un caso especial, siempre devuelven
el mismo valor.
                              20 = > 20

Si ponemos “edad-hermano” sin definirla con un valor, devuelve:
              edad-hermano => Error (variable not defined)
Se asigna un valor con el comando:
                      (setq edad-hermano 19)=> 19
                           edad-hermano => 19

Existen palabras reservadas como nil , T, etc.
No se distinguen mayúscula y minúsculas: las variables ola y Ola son
la misma.

              INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
(b), ( * 9 8) , (casa ( silla mesa e) j ), (), nil

• nil es a la vez un valor atómico y una lista : ()

• La evaluación de una lista siempre invoca una función.
  (nombre-de-la-función argumento1…argumento n)
                (* 50 10) => 5
                (e 45,46,47) => Error (function not defined)
                (+ edad-hermano 8) => 27

• Cuando evaluamos una lista, primero evaluamos los
  argumentos para después aplicar la función



               INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
• Lisp incluye operadores como +, - , * , /
• Además, incluye varias operaciones importantes.
   Cons construye una lista de datos con una cola.
              (cons 10 (cons 12 nil)) => (10 12)

   Hay que tener en cuenta que el valor de la cola que significa
    'nada' es nulo.
   Si probamos con átomos que no están reservados.
     (cons Jose nil) => Error: variable a is not defined.

      ¿Por qué sale ese error?




            INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
Tenemos que decirle al intérprete que no evalúe al átomo Jose. Para ello se
 pone adelante ‘
                        (cons ‘Jose nil) => (JOSE)

De forma abreviada se puede aplicar a una lista completa :
    (cons ‘Jose ‘(Pepe Marta Carlos ))=> (JOSE PEPE MARTA CARLOS)

 Veremos diferencias entre list y append.
            (list ‘Jose ‘Marta ‘Carlos) => (JOSE MARTA CARLOS)
          (list ‘Jose ‘(Marta Carlos)) => (JOSE (MARTA CARLOS))
(append ‘(Jose Marta) ‘(Carlos Carmen))=> (JOSE MARTA CARLOS CARMEN)

La diferencia es que append, usa a listas como argumentos para formar
 otra lista.

               INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
Si queremos listar, pero uno de los elementos a listar es resultado de una
 operación, se pondrá entre paréntesis. Por ejemplo:

(list ‘Jose ‘24 (* edad-hermano 3) ‘ Marta ‘24) => (JOSE 24 75 MARTA 24)



Una coma dentro de un par de paréntesis antepuesto por una apóstrofe,
le dice a Lisp que, tiene evaluar lo que le sigue a la coma. Por ejemplo:

   ‘(Jose 24 ,(* edad-hermano 3) Marta 24)=> (JOSE 24 75 MARIA 24)




                INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
Una vez que tenemos una lista construida, ¿Cómo accedemos a los miembros de
  la lista?
• first : Primero de una lista.
                            (first ‘(Jose Marta Carlos)) => JOSE
            (first ‘((Jose Marta Carlos) Carmen) )=> (JOSE MARTA CARLOS)
• rest : Toda la lista menos el primer elemento
                    (rest ‘(Jose Marta Carlos)) => (MARTA CARLOS)
                  (rest ‘((Jose Marta Carlos) Carmen) )=> (CARMEN)
• car y cdr se pueden combinar
                  (caar '((Jose Marta ​) Carmen Miguel)) => JOSE
                (cdar '((Jose Marta ​) Carmen Miguel)) => (MARTA)
 Se tiene que trabajar desde la derecha hacia la izquierda.


                  INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
• Por ejemplo, si escribimos:
   (setq listaPrueba ‘(Ana Carla Patricia)) => (ANA CARLA PATRICIA)
    (cons ‘Marcos listaPrueba) => (MARCOS ANA CARLA PATRICIA)
                 listaPrueba => (ANA CARLA PATRICIA)

• No tiene efectos secundarios, la lista no cambió. Necesitamos setq
  para cambiar el valor de un átomo.

• setf es una versión de setq que tiene una función como primer
  argumento.
            (setf (cadr listaPrueba) ‘Antonio) => ANTONIO
               listaPrueba => (ANA ANTONIO PATRICIA)



                INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
• A continuación veremos 2 tipos de igualdad
                    (eq ‘Marta ‘Carlos) => nil
                     (eq ‘(jose) ‘(Jose)) => nil
                       (eq ‘Jose ‘JoSe) => T

                    (equal ‘Carlos ‘Carlos) => T
                  (equal ‘(Marta) ‘(Marta)) => T
       (equal ‘(alumno profesor) ‘(alumno profesor)) => T

• (equal x, y) es T cuando (eq x y) es verdadero y cuando las cosas
  se escriben iguales son verdaderas .



              INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
• ¿Se puede el tratar a una lista como un conjunto, es decir, sin preservar
  el orden?
   (union ‘(Marta Carla) ‘(Marta Luis Juan)) => (JUAN LUIS MARTA CARLA)
  (union ‘((Marta) (Carmen)) ‘((Marta))) => ((MARTA) (MARTA) (CARMEN))
 (union ‘((Marta) (Carmen)) ‘((Marta)) :test ‘equal) => ((MARTA) (CARMEN))

• La condición de prueba para determinar si los 2 elementos en el
  conjunto son los mismos es la función equal.
       (adjoin ‘Marta ‘(Marta Carla Juan)) => (MARTA CARLA JUAN)
   (set-difference ‘(Juan Marta Carla ) ‘(Marta Pedro Carla)) => (JUAN)

• adjoin y set-difference también pueden usar :test ‘equal. Incluso puede
  proporcionar su propia función.


                  INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
(length ‘(Richard Cecilia Alonso)) => 3
               (atom ‘1) => T
(atom ‘(Richard Cecilia Alonso)) => NIL
        (listp ‘inteligencia) => NIL
    (listp ‘(IA Modelos Redes)) => T




INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
(<= Alonso (and Bruno Carmen))
                                        (not (not Daniel))
                                  (or Pablo (not Pedro) Marcos)



    (list ‘<= ‘Alonso (list ‘and ‘Bruno ‘Carmen)) => (<= ALONSO (AND BRUNO CARMEN))
                         (list ‘not (list ‘not ‘Daniel)) => (NOT (NOT DANIEL))
        (list ‘or ‘Pablo (list ‘not ‘Pedro) ‘Marcos) => (OR PABLO (NOT PEDRO) MARCOS)


Tener en cuenta que los operadores KIF =>, <=, <=>, and, or, not serán
siempre el primer elemento de la lista.



                    INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
(defun <nombre> <documentación-de-cadena> (<argumentos>)
                              <cuerpo>)
              (defun cubo (dato1) (* dato1 dato1 dato1))
                            cubo 6 => 216

Tenga en cuenta que no tenemos que citar a ninguno de los argumentos de
defun. Se atiende de forma automática.

La evaluación de una función para un conjunto de argumentos como
resultado en la última expresión valuada en el función de seguimiento.



                 INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
(if <expresión> <entonces - expresión> <de lo contrario - expresión>)

Por ejemplo:
                                    setq dat1 5 => 5
                                    setq dat2 6 => 6
               (if (> dat1 dat2) (- dat1 dat2) (* dat1 dat2)) => 30
                            (if (> 3 4) (+ 3 4) (- 3 4)) => -1
                         (if (eq 3 3) (+ 20 1) (/ 10 2)) => 21




                   INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
La evaluación de cond evalúa las pruebas hasta que una
de ellas se evalúe como verdadera. A continuación, se evalúa cada uno de
las formas adecuadas; la última evaluación es el valor de toda la función
cond.

Por ejemplo:
                 setq listaN ‘(25 12 100 20) => (25 12 100 20)
                            listaN => (25 12 100 20)
                                 car listaN => 25
                                atom listaN => NIL
                                 listp listaN => T
    ( cond ( (atom listaN) NIL) ((listp listaN) (car listaN)) (T NIL) ) => 25



                  INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6
INTELIGENCIA ARTIFICIAL   -   CICLO 2012-I   -   GRUPO 6

Más contenido relacionado

Destacado

Destacado (8)

Ag rg no ms 695143
Ag rg no ms 695143Ag rg no ms 695143
Ag rg no ms 695143
 
Clips parte1
Clips parte1Clips parte1
Clips parte1
 
Imagenes para ambiente de aprendizaje
Imagenes para ambiente de aprendizajeImagenes para ambiente de aprendizaje
Imagenes para ambiente de aprendizaje
 
Presentación ingre mic (1)
Presentación ingre mic (1)Presentación ingre mic (1)
Presentación ingre mic (1)
 
Updated goals ivivva
Updated goals ivivvaUpdated goals ivivva
Updated goals ivivva
 
Instituto San Jose
Instituto San JoseInstituto San Jose
Instituto San Jose
 
Salita Digital
Salita DigitalSalita Digital
Salita Digital
 
Agosto 2012 cantabria agenda
Agosto 2012 cantabria agendaAgosto 2012 cantabria agenda
Agosto 2012 cantabria agenda
 

Similar a T1 primer tutorial de lisp-grupo6

Similar a T1 primer tutorial de lisp-grupo6 (20)

Ada 4 casanova leslie
Ada 4 casanova leslieAda 4 casanova leslie
Ada 4 casanova leslie
 
Ada 4_casanova leslie
Ada 4_casanova leslieAda 4_casanova leslie
Ada 4_casanova leslie
 
Apunte del Lenguaje LISP
Apunte del Lenguaje LISPApunte del Lenguaje LISP
Apunte del Lenguaje LISP
 
ADA 4
ADA 4ADA 4
ADA 4
 
Propiedades de numerosentero
Propiedades de numerosenteroPropiedades de numerosentero
Propiedades de numerosentero
 
ADA 4
ADA  4ADA  4
ADA 4
 
Ada 4 muvb
Ada 4 muvbAda 4 muvb
Ada 4 muvb
 
CLASE 01 - numeros enteros.pdf
CLASE 01 - numeros enteros.pdfCLASE 01 - numeros enteros.pdf
CLASE 01 - numeros enteros.pdf
 
ADAS 4 - Funciones de la hoja de cálculo
ADAS 4  -  Funciones de la hoja de cálculoADAS 4  -  Funciones de la hoja de cálculo
ADAS 4 - Funciones de la hoja de cálculo
 
08 pilas1 t2018
08 pilas1 t201808 pilas1 t2018
08 pilas1 t2018
 
Propiedad y operaciones con numeros enteros
Propiedad y operaciones con numeros enterosPropiedad y operaciones con numeros enteros
Propiedad y operaciones con numeros enteros
 
Tipos basicos
Tipos basicosTipos basicos
Tipos basicos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Ada 4 - funciones de la hoja de cálculo
Ada 4 - funciones de la hoja de cálculoAda 4 - funciones de la hoja de cálculo
Ada 4 - funciones de la hoja de cálculo
 
Ada 4 funciones de la hoja de cálculo
Ada 4   funciones de la hoja de cálculoAda 4   funciones de la hoja de cálculo
Ada 4 funciones de la hoja de cálculo
 
Manual_Mysql Query Browser
Manual_Mysql Query BrowserManual_Mysql Query Browser
Manual_Mysql Query Browser
 
Determinantes
DeterminantesDeterminantes
Determinantes
 
Un1. Números enteros (Matemáticas 2º PCPI MV)
Un1. Números enteros (Matemáticas 2º PCPI MV)Un1. Números enteros (Matemáticas 2º PCPI MV)
Un1. Números enteros (Matemáticas 2º PCPI MV)
 
2 eso matematicas - ud01
2 eso matematicas - ud012 eso matematicas - ud01
2 eso matematicas - ud01
 
Aritmética básica (Números Enteros)
Aritmética básica (Números Enteros)Aritmética básica (Números Enteros)
Aritmética básica (Números Enteros)
 

Más de Hiper S.A.

Silabo inteligencia artificia2012_1
Silabo inteligencia artificia2012_1Silabo inteligencia artificia2012_1
Silabo inteligencia artificia2012_1Hiper S.A.
 
S7 fundamentos de sistemas expertos-grupo6
S7 fundamentos de sistemas expertos-grupo6S7 fundamentos de sistemas expertos-grupo6
S7 fundamentos de sistemas expertos-grupo6Hiper S.A.
 
S5 métodos de búsquedas informados-grupo6
S5 métodos de búsquedas informados-grupo6S5 métodos de búsquedas informados-grupo6
S5 métodos de búsquedas informados-grupo6Hiper S.A.
 
S6 métodos de búsqueda para juegos hombre máquina-grupo6
S6 métodos de búsqueda para juegos hombre máquina-grupo6S6 métodos de búsqueda para juegos hombre máquina-grupo6
S6 métodos de búsqueda para juegos hombre máquina-grupo6Hiper S.A.
 
S4 métodos de búsqueda a ciegas-grupo6
S4 métodos de búsqueda a ciegas-grupo6S4 métodos de búsqueda a ciegas-grupo6
S4 métodos de búsqueda a ciegas-grupo6Hiper S.A.
 
S3 métodos de búsqueda en un espacio de estado-grupo6
S3 métodos de búsqueda en un espacio de estado-grupo6S3 métodos de búsqueda en un espacio de estado-grupo6
S3 métodos de búsqueda en un espacio de estado-grupo6Hiper S.A.
 
S2 fundamentos de la inteligencia artificial-grupo6
S2 fundamentos de la inteligencia artificial-grupo6S2 fundamentos de la inteligencia artificial-grupo6
S2 fundamentos de la inteligencia artificial-grupo6Hiper S.A.
 
S1 clasificación de problemas algorítmicos-grupo6
S1 clasificación de problemas algorítmicos-grupo6S1 clasificación de problemas algorítmicos-grupo6
S1 clasificación de problemas algorítmicos-grupo6Hiper S.A.
 

Más de Hiper S.A. (8)

Silabo inteligencia artificia2012_1
Silabo inteligencia artificia2012_1Silabo inteligencia artificia2012_1
Silabo inteligencia artificia2012_1
 
S7 fundamentos de sistemas expertos-grupo6
S7 fundamentos de sistemas expertos-grupo6S7 fundamentos de sistemas expertos-grupo6
S7 fundamentos de sistemas expertos-grupo6
 
S5 métodos de búsquedas informados-grupo6
S5 métodos de búsquedas informados-grupo6S5 métodos de búsquedas informados-grupo6
S5 métodos de búsquedas informados-grupo6
 
S6 métodos de búsqueda para juegos hombre máquina-grupo6
S6 métodos de búsqueda para juegos hombre máquina-grupo6S6 métodos de búsqueda para juegos hombre máquina-grupo6
S6 métodos de búsqueda para juegos hombre máquina-grupo6
 
S4 métodos de búsqueda a ciegas-grupo6
S4 métodos de búsqueda a ciegas-grupo6S4 métodos de búsqueda a ciegas-grupo6
S4 métodos de búsqueda a ciegas-grupo6
 
S3 métodos de búsqueda en un espacio de estado-grupo6
S3 métodos de búsqueda en un espacio de estado-grupo6S3 métodos de búsqueda en un espacio de estado-grupo6
S3 métodos de búsqueda en un espacio de estado-grupo6
 
S2 fundamentos de la inteligencia artificial-grupo6
S2 fundamentos de la inteligencia artificial-grupo6S2 fundamentos de la inteligencia artificial-grupo6
S2 fundamentos de la inteligencia artificial-grupo6
 
S1 clasificación de problemas algorítmicos-grupo6
S1 clasificación de problemas algorítmicos-grupo6S1 clasificación de problemas algorítmicos-grupo6
S1 clasificación de problemas algorítmicos-grupo6
 

Último

GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 

Último (20)

GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 

T1 primer tutorial de lisp-grupo6

  • 1. INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 2. • Para salir escriba (exit) • Pruebe un comando de ejemplo como la multiplicación : (* 5 6 20) => 600 • La anterior instrucción hará una multiplicación de los tres números devolviendo 600 como resultado. • Tenemos 2 tipos de datos: Atómicos y Listas INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 3. b,4, color-casa ,etc. Al evaluar un tipo de dato atómico, nos devuelve el valor que se le ha asignado. Los números son un caso especial, siempre devuelven el mismo valor. 20 = > 20 Si ponemos “edad-hermano” sin definirla con un valor, devuelve: edad-hermano => Error (variable not defined) Se asigna un valor con el comando: (setq edad-hermano 19)=> 19 edad-hermano => 19 Existen palabras reservadas como nil , T, etc. No se distinguen mayúscula y minúsculas: las variables ola y Ola son la misma. INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 4. (b), ( * 9 8) , (casa ( silla mesa e) j ), (), nil • nil es a la vez un valor atómico y una lista : () • La evaluación de una lista siempre invoca una función. (nombre-de-la-función argumento1…argumento n) (* 50 10) => 5 (e 45,46,47) => Error (function not defined) (+ edad-hermano 8) => 27 • Cuando evaluamos una lista, primero evaluamos los argumentos para después aplicar la función INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 5. • Lisp incluye operadores como +, - , * , / • Además, incluye varias operaciones importantes.  Cons construye una lista de datos con una cola. (cons 10 (cons 12 nil)) => (10 12)  Hay que tener en cuenta que el valor de la cola que significa 'nada' es nulo.  Si probamos con átomos que no están reservados. (cons Jose nil) => Error: variable a is not defined. ¿Por qué sale ese error? INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 6. Tenemos que decirle al intérprete que no evalúe al átomo Jose. Para ello se pone adelante ‘ (cons ‘Jose nil) => (JOSE) De forma abreviada se puede aplicar a una lista completa : (cons ‘Jose ‘(Pepe Marta Carlos ))=> (JOSE PEPE MARTA CARLOS) Veremos diferencias entre list y append. (list ‘Jose ‘Marta ‘Carlos) => (JOSE MARTA CARLOS) (list ‘Jose ‘(Marta Carlos)) => (JOSE (MARTA CARLOS)) (append ‘(Jose Marta) ‘(Carlos Carmen))=> (JOSE MARTA CARLOS CARMEN) La diferencia es que append, usa a listas como argumentos para formar otra lista. INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 7. Si queremos listar, pero uno de los elementos a listar es resultado de una operación, se pondrá entre paréntesis. Por ejemplo: (list ‘Jose ‘24 (* edad-hermano 3) ‘ Marta ‘24) => (JOSE 24 75 MARTA 24) Una coma dentro de un par de paréntesis antepuesto por una apóstrofe, le dice a Lisp que, tiene evaluar lo que le sigue a la coma. Por ejemplo: ‘(Jose 24 ,(* edad-hermano 3) Marta 24)=> (JOSE 24 75 MARIA 24) INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 8. Una vez que tenemos una lista construida, ¿Cómo accedemos a los miembros de la lista? • first : Primero de una lista. (first ‘(Jose Marta Carlos)) => JOSE (first ‘((Jose Marta Carlos) Carmen) )=> (JOSE MARTA CARLOS) • rest : Toda la lista menos el primer elemento (rest ‘(Jose Marta Carlos)) => (MARTA CARLOS) (rest ‘((Jose Marta Carlos) Carmen) )=> (CARMEN) • car y cdr se pueden combinar (caar '((Jose Marta ​) Carmen Miguel)) => JOSE (cdar '((Jose Marta ​) Carmen Miguel)) => (MARTA) Se tiene que trabajar desde la derecha hacia la izquierda. INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 9. • Por ejemplo, si escribimos: (setq listaPrueba ‘(Ana Carla Patricia)) => (ANA CARLA PATRICIA) (cons ‘Marcos listaPrueba) => (MARCOS ANA CARLA PATRICIA) listaPrueba => (ANA CARLA PATRICIA) • No tiene efectos secundarios, la lista no cambió. Necesitamos setq para cambiar el valor de un átomo. • setf es una versión de setq que tiene una función como primer argumento. (setf (cadr listaPrueba) ‘Antonio) => ANTONIO listaPrueba => (ANA ANTONIO PATRICIA) INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 10. • A continuación veremos 2 tipos de igualdad (eq ‘Marta ‘Carlos) => nil (eq ‘(jose) ‘(Jose)) => nil (eq ‘Jose ‘JoSe) => T (equal ‘Carlos ‘Carlos) => T (equal ‘(Marta) ‘(Marta)) => T (equal ‘(alumno profesor) ‘(alumno profesor)) => T • (equal x, y) es T cuando (eq x y) es verdadero y cuando las cosas se escriben iguales son verdaderas . INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 11. • ¿Se puede el tratar a una lista como un conjunto, es decir, sin preservar el orden? (union ‘(Marta Carla) ‘(Marta Luis Juan)) => (JUAN LUIS MARTA CARLA) (union ‘((Marta) (Carmen)) ‘((Marta))) => ((MARTA) (MARTA) (CARMEN)) (union ‘((Marta) (Carmen)) ‘((Marta)) :test ‘equal) => ((MARTA) (CARMEN)) • La condición de prueba para determinar si los 2 elementos en el conjunto son los mismos es la función equal. (adjoin ‘Marta ‘(Marta Carla Juan)) => (MARTA CARLA JUAN) (set-difference ‘(Juan Marta Carla ) ‘(Marta Pedro Carla)) => (JUAN) • adjoin y set-difference también pueden usar :test ‘equal. Incluso puede proporcionar su propia función. INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 12. (length ‘(Richard Cecilia Alonso)) => 3 (atom ‘1) => T (atom ‘(Richard Cecilia Alonso)) => NIL (listp ‘inteligencia) => NIL (listp ‘(IA Modelos Redes)) => T INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 13. (<= Alonso (and Bruno Carmen)) (not (not Daniel)) (or Pablo (not Pedro) Marcos) (list ‘<= ‘Alonso (list ‘and ‘Bruno ‘Carmen)) => (<= ALONSO (AND BRUNO CARMEN)) (list ‘not (list ‘not ‘Daniel)) => (NOT (NOT DANIEL)) (list ‘or ‘Pablo (list ‘not ‘Pedro) ‘Marcos) => (OR PABLO (NOT PEDRO) MARCOS) Tener en cuenta que los operadores KIF =>, <=, <=>, and, or, not serán siempre el primer elemento de la lista. INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 14. (defun <nombre> <documentación-de-cadena> (<argumentos>) <cuerpo>) (defun cubo (dato1) (* dato1 dato1 dato1)) cubo 6 => 216 Tenga en cuenta que no tenemos que citar a ninguno de los argumentos de defun. Se atiende de forma automática. La evaluación de una función para un conjunto de argumentos como resultado en la última expresión valuada en el función de seguimiento. INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 15. (if <expresión> <entonces - expresión> <de lo contrario - expresión>) Por ejemplo: setq dat1 5 => 5 setq dat2 6 => 6 (if (> dat1 dat2) (- dat1 dat2) (* dat1 dat2)) => 30 (if (> 3 4) (+ 3 4) (- 3 4)) => -1 (if (eq 3 3) (+ 20 1) (/ 10 2)) => 21 INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 16. La evaluación de cond evalúa las pruebas hasta que una de ellas se evalúe como verdadera. A continuación, se evalúa cada uno de las formas adecuadas; la última evaluación es el valor de toda la función cond. Por ejemplo: setq listaN ‘(25 12 100 20) => (25 12 100 20) listaN => (25 12 100 20) car listaN => 25 atom listaN => NIL listp listaN => T ( cond ( (atom listaN) NIL) ((listp listaN) (car listaN)) (T NIL) ) => 25 INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 17. INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 18. INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 19. INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 20. INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 21. INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6
  • 22. INTELIGENCIA ARTIFICIAL - CICLO 2012-I - GRUPO 6