inteligencia artificial -...

126
Inteligencia Artificial Fco. Javier Alcalá Casado

Upload: others

Post on 22-Mar-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Inteligencia ArtificialInteligencia Artificial

Fco. Javier Alcalá Casado

Page 2: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Normas de la asignaturaNormas de la asignatura

ð La asignatura consta de una parte teórica y otra práctica.

ð La parte teórica se evaluará con el correspondiente examen de teoría: 80% de la nota

ð La parte práctica se realizará con el lenguaje de programación LISP: 20% de la nota.

0.8 * Teoría + 0.2 * Práctica ≥ 5.0

ð La no presentación de la práctica significa la renuncia a la parte correspondiente de la nota final.

Page 3: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

ProgramaPrograma

ð Introducción histórica

ð Lenguaje de programación LISP

ð Paradigmas de representación del conocimiento

ð Frames

ð Sistemas de producción

ð Paradigma lógico

ð Exploración de espacios de estados. Búsqueda

ð Exploración de árboles de juego

ð Planificación

ð Aprendizaje simbólico. ID3

ð Algoritmos genéticos

Page 4: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

BibliografíaBibliografíað Serradilla, F.; Barros, B. Representación e Inferencia en Inteligencia Artificial.

Un Enfoque Práctico. Escuela Universitaria de Informática, UPM. 1996.

ð Russell, S, Norvig, P. Artificial Intelligence, a modern approach. Prentice-Hall. 1995.

ð Barros, B; Foulquié, T; Serradilla, F. Programación Funcional en Lisp. Escuela Universitaria de Informática, UPM. 1992.

ð Feigenbaum y otros. The Handbook of AI (4 volúmenes). Addison-Wesley.

ð Luger, G. F. & Stubblefield, W. A. Artificial Intelligence: structures andstrategies for complex problem solving.The Benjamin-Cummings Redwood City. 1993.

ð Nilsson, Nilss J. Principios de Inteligencia Artificial. Díaz de Santos. 1987.

ð Rich, E. Inteligencia Artificial. Mac Graw-Hill. 1991.

ð Winston, P. H. Inteligencia Artificial. 3ª ed. Addison-Wesley. 1992.

ð Winston, P. H. Lisp. Addison-Wesley. 1993.

Page 5: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Introducción históricaIntroducción histórica

Fco. Javier Alcalá Casado

Page 6: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Introducción históricaIntroducción histórica

ð El problema de la inteligencia

ð Objetivos de la inteligencia artificial (IA)

ð Historiaû Rama lógico-matemáticaû Rama de la psicologíaû Rama de la informáticaû Conferencia de Darmouthû Rama de la simulaciónû Panorama actual

ð Los primeros sistemas

ð Áreas de estudio

Page 7: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

El problema de la inteligenciaEl problema de la inteligencia

ð El principal problema de la inteligencia natural es que no tiene una fácil definición

ð Hofstadter (1987): Inteligencia es la habilidad para

û responder flexiblemente a diferentes situaciones,

û saber aprovechar circunstancias fortuitas,

û dar sentido a mensajes ambiguos o contradictorios,

û encontrar similitudes entre situaciones diferentes, y

û generar nuevos conceptos e ideas innovadoras

Page 8: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

El problema de la inteligencia (II)El problema de la inteligencia (II)

ð La inteligencia artificial trata de “imitar” a la inteligencia natural. ¿Cómo definirla?

Sistemas que piensan como humanos

(Bellman)

Sistemas que piensan racionalmente

(Winston)

Sistemas que actúan como humanos

(Minsky)

Sistemas que actúan racionalmente

(Luger)

Eficiencia humana

Procesos mentales y razonamiento

Conducta

Racionalidad

Page 9: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

El problema de la inteligencia (III)El problema de la inteligencia (III)

ð Bellman (1978): IA es la automatización de actividades que vinculamos con procesos del pensamiento humano, actividades tales como toma de decisiones, resolución de problemas, aprendizaje...

ðWinston (1992): La IA se ocupa del estudio de las computaciones que permiten percibir, razonar y actuar

ðMinsky (1986): IA es el arte de construir máquinas capaces de hacer cosas que requerirían inteligencia en caso de que fuesen hechas por los seres humanos

ð Luger (1989): IA es la rama de la informática que trata de la automatización del comportamiento inteligente

Page 10: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Test de TuringTest de Turing

ð Turing (1950) dio una definición empírica: el juego de la imitación.

ð Test de Turing:

¿Puede saber el hombrede fuera en qué habitaciónestá la máquina?

Page 11: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Test de Turing (II)Test de Turing (II)

ð Para superar el test de Turing, una máquina debería ser capaz de:

û procesar lenguaje natural: para poder establecer una comunicación satisfactoria

û representar el conocimiento: para guardar toda la información recibida antes o durante el interrogatorio

û razonar automáticamente: para utilizar esa información al responder a las preguntas y obtener conclusiones

û autoaprendizaje de la máquina: para adaptarse a nuevas situaciones y detectar y extrapolar esquemas determinados

ð Test total de Turing: También imita físicamente. Necesita:û Percepción: Visión artificial, reconocimiento del habla…

û Robótica: Habilidades para andar, saltar, subir escaleras…

Page 12: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Objetivos de la inteligencia artificialObjetivos de la inteligencia artificial

ð La IA es una ciencia multidisciplinar: matemáticas, filosofía, psicología e ingeniería

ð Objetivos de ingeniería: desarrollo de sistemas inteligentes mejorando otros anteriores para los que no existe un método algorítmico

ð Objetivos científicos: comprender mejor el funcionamiento de la inteligencia, tanto en el hombre como en las máquinas (filosofía, psicología)û ¿Es la inteligencia independiente del hardware?û ¿Cómo se interrelacionan las estructuras mentales?û ¿Qué reglas las gobiernan?

Page 13: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

HistoriaHistoria

ð La IA es el punto de encuentro de varias líneas de investigación

û Rama lógico-matemática

û Rama de la psicología

û Rama de la informática

û Conferencia de Darmouth

û Rama de la simulación

û Panorama actual

Page 14: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Rama lógico-matemáticaRama lógico-matemática

ðMecanización de los procesos de razonamiento desde el punto de vista de la manipulación de símbolos lógicos

ð Hitos importantes:

û El primer esfuerzo de mecanización del pensamiento fueron los silogismos de Aristóteles.

û Leibniz construye el primer sistema axiomático de lógica formal (cálculo de predicados)

û Euler formaliza la Teoría de Grafos

û Hilbert intentó encontrar un conjunto de axiomas y un sistema formal que sintetizasen toda la matemáticaGödel, con el teorema de incompletitud, demostró que no era posible

Page 15: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Rama de la psicologíaRama de la psicología

ð Estudia los fundamentos de la inteligencia en el hombre

ð Hitos importantes

û Dualismo mente/cuerpo de Descartes. La mente constituye una entidad independiente del cuerpo y puede estudiarse por separado

û Los primeros psicólogos (James, Wundt) estudiaron el pensamiento con una metodología basada en la introspección (subjetiva, poco científica)

û Los conductistas (Skinner) consideran a la mente como una caja negra capaz de asociar estímulos con respuestas

û La psicología cognitiva (Chomsky, Fodor) es el paradigma más aceptado

Page 16: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Rama de la psicología (II)Rama de la psicología (II)

ð Características de la psicología cognitiva:

û Estructuralista: los modelos de la conducta se explican por estructuras abstractas

û Los estímulos son procesados por el organismo para producir respuestas (no conductista)

û Mentalismo: la mente utiliza representaciones simbólicas de los conceptos y los procesos mentales manipulan los símbolos

û Paradigma del procesamiento de la información: la mente funcionacomo un ordenador; los programas son teorías psicológicas

û Memoria semántica, modelo de memoria asociativa: los conceptos se representan por símbolos interrelacionados (redes semánticas)

û Modularidad: los procesos mentales son afrontados por módulos débilmente acoplados

Page 17: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Rama de la psicología (III)Rama de la psicología (III)

û Isomorfismo. Hofstadter: “Dos sistemas son isomórficos cuando se puede encontrar un conjunto de reglas que traduzca o identifique estados de cualquiera de ellos en estados del otro.”

Objeto Mundo

Representación

CerebroConexiones

Mente

Page 18: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Rama de la informáticaRama de la informática

ð Inteligencia artificial ⇒ inteligencia + artefactoEl ordenador se reconoce como el artefacto con mayor posibilidad de manifestar inteligencia

ð Hitos importantesû Charles Babbage (principio siglo XIX) diseñó la primera

máquina capaz de desarrollar cálculos automáticos

û Junto con Ada Lovelace diseñó la máquina analítica de propósito general introduciendo conceptos como la memoria, procesador, programas almacenados, saltos condicionales, etc.

û Alan Turing (1937) propone la máquina de Turing.Cualquier procedimiento matemático puede desarrollarse con dicha máquina con una tabla de instrucciones adecuada

Page 19: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Rama de la informática (II)Rama de la informática (II)

û La Cibernética o Teoría de Sistemas (Wiener) puede aplicarse a sistemas biológicos, sociales y artificiales.Se basa en la retroalimentación negativa

CONTROL SISTEMA

SENSOR

Objetivo Error Actuación

ComportamientoMedida

+

-

Page 20: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Objeciones de TuringObjeciones de Turing

ð En 1950, Turing publica Maquinaria de computación e inteligencia. Propone el test de Turing, defiende la posibilidad de construir máquinas que piensen y enumera las posibles objeciones contra estas máquinas:

û Teológicas: la mente no reside en el cuerpo sino en el alma. Si se admite el dualismo, se niega la psicologíaNo es científica

û Del avestruz: si las máquinas pensaran, las consecuencias serían desastrosas; luego esto no puede ocurrirSin comentarios

û Matemáticas: el teorema de incompletitud de Gödel demuestra que en un sistema formal suficientemente complejo existen proposiciones indecidiblesLa mente humana no supera esta limitación

Page 21: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Objeciones de TuringObjeciones de Turing

ðMás objeciones:

û De conciencia: las máquinas no saben lo que están haciendo cuando trabajan.Minsky ⇒ los tres estados de conciencia de un termostato

û De las diversas incapacidades: una máquina nunca podrá ser afectuosa, ingeniosa, amistosa, tener iniciativa...Ahora no, pero sí podría en el futuro

û Objeción de Lady Lovelace: una máquina sólo realiza lo que sabemos cómo ordenarle que hagaSe le puede ordenar que sea inteligente

Page 22: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Objeciones de Turing (II)Objeciones de Turing (II)

ðMás objeciones:

û Continuidad del sistema nervioso: una máquina de estados discretos no puede emular al hombreLa discretización no supone limitaciones

û Basadas en la informalidad de la conducta: el hombre no tiene un conjunto de reglas para regir su vida y las máquinas funcionan con reglasLas neuronas presentan un comportamiento rígido y de ellas surge comportamiento flexible inteligente

û Basado en la percepción extrasensorial: Test de TuringextrasensorialNo científica

Page 23: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Conferencia de DarmouthConferencia de Darmouth

ð Tuvo lugar en 1956

ð Todas las ramas anteriores confluyen en una nueva disciplina, agrupando a psicólogos, matemáticos, informáticos, neurólogos e ingenieros eléctricos

ð John McCarthy acuña el término de Inteligencia Artificial

ð Esta rama unificada de psicólogos cognitivos, lógico-matemáticos y computación simbólica se denomina IA clásica o IA simbólica

Page 24: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Rama de la simulaciónRama de la simulación

ð También llamada IA conexionistaDesarrolla sistemas inteligentes imitando sistemas biológicos con comportamiento inteligente (animales o seres humanos)

ð Su objetivo es construir cerebros artificiales formalmente similares a los cerebros biológicos para dotarles de aprendizaje

ð Hitos importantes:

û Células de McCulloch y Pitts (1943). Emulación de neuronas con circuitos eléctricos

û Perceptrón (Rosenblatt, 1958). Mecanismo de aprendizaje mediante ajuste automático de las conexiones de una red de neuronas

û Perceptrón multicapa (Rumelhart, Hinton y Williams, 1986). Generalización del perceptrón

û Algoritmos Genéticos (Friedberg, 1958). Basados en la teoría evolucionista de Darwin

Page 25: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Panorama actualPanorama actual

ð IA clásica + Rama de la Simulación = Ciencia Cognitiva

ð Su objetivo es el estudio de los “objetos con mente” y los procesos implicados en el pensamiento

ð Cuestiones abiertas:

û Objeciones al Test de Turing, orientado a resolución de problemas, olvidando la percepción, el aprendizaje y la destreza

û Objeciones de la Habitación china

¿Sabe chino el hombre de la habitación?

Reglas

Símbolos

Page 26: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Panorama actual (II)Panorama actual (II)

ðMás cuestiones abiertas:

û Mezcla de técnicas de IA clásica con técnicas de la rama de simulación

û Importancia creciente del aprendizaje

û Problema de los problemas de juguete

û Evolución desde los objetivos científicos a los ingenieriles

û Con ordenadores más potentes se consideran métodos que antes se desechaban

û Herbert Simon: la complejidad demostrada por seres vivos se debe a la complejidad del medio con el que interactúan más que a la complejidad interna de sus “programas” ⇒⇒ Vida artificial

Page 27: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Los primeros sistemasLos primeros sistemas

ð Logic Theorist. Demostración automática de teoremas. Primer programa que utilizó símbolos en lugar de cantidades numéricas

ð DENDRAL. Primer sistema experto para análisis de datos de espectografía de masas (isótopos)

ð SHRDLU. Comprensión del lenguaje natural y planificación de tareas

ð Turochamp. Primer programa de ajedrez

ð Programa de damas de Samuel. Primer programa que incorpora aprendizaje

ð MYCIN. Sistema experto sobre infecciones bacterianas en sangre. Introduce el grado de certeza

ð PROSPECTOR. Sistema experto sobre búsqueda de yacimientos minerales

Page 28: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Áreas de estudioÁreas de estudio

ð La IA está en continua evolución. Áreas más relevantes:

û Representación del conocimiento: Modeliza el conocimiento en estructuras de datos adecuadas

û Exploración del espacio de estados: Busca soluciones en problemas modelizados con grafos

û Heurística: Conocimiento intuitivo. Atajos entre el estado actual y la solución

û Resolución de problemas: Planificación de tareas

û Demostración de teoremas: Programación lógica

û Teoría de juegos: Estrategias de búsqueda (ajedrez)

û Ingeniería del conocimiento (Sistemas Expertos): Requieren de la ayuda de un experto humano

Page 29: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Áreas de estudioÁreas de estudio

ðMás áreas de estudio:

û Diagnóstico: Establece hipótesis sobre el mal funcionamiento de un sistema

û Aprendizaje: Refina el conocimiento inicial para hacerlo más operativo

û Comprensión del lenguaje natural (y traducción automática):

û Percepción computacional (reconocimiento de patrones): interpreta la información sensorial

û Simulación de procesos psicológicos humanos: Estudia la inteligencia humana mediante procesos de simulación

û Sistemas multiagente: Coordinación de la conducta inteligente entre un conjunto de agentes autónomos y heterogéneos

Page 30: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Lenguaje de Programación LISPLenguaje de Programación LISP

Fco. Javier Alcalá Casado

Page 31: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Marco históricoMarco histórico

ðMcCarthy lo creó en 1958

ð Se creó para procesar de listas en un proyecto de IA

ð La primera versión consumía mucha memoria (recurso caro)

ð Se crearon varias versiones: FRANZLISP, ZETALISP, MULISP, XLISP, LELISP, SCHEME...

ð Con el avance del hardware se solucionó el problema de la memoria y surgió el estándar actual: COMMON LISP

Page 32: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Características de LISPCaracterísticas de LISP

ð Lenguaje funcional. Utiliza las propiedades matemáticas de las funciones

ð Simbólico. Utiliza el símbolo como unidad fundamentalð Procesamiento de listas (LISt Procesing)ð Flexibilidadû Utiliza la misma estructura para datos y códigoû Paso de funciones como parámetro (reusabilidad)û Autodefinición del lenguaje (entorno a la medida)û Estructura de datos muy flexible (Garbage collector)

ð Recursividad. Definiciones muy claras y concisas

ð Interpretado. Desarrollo rápido de prototipos

ð Compacto: funcional + recursivo + listas

Page 33: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Lenguajes funcionalesLenguajes funcionales

ð La primitiva básica es la función

ð Una función es una regla de correspondencia entre miembros de un dominio y miembros de un rango

ð Un programa es un conjunto de funciones que se llaman unas a otras y se pasan los datos en las llamadas

ð Una ventaja importante es la recursividad

ð La asignación está definida y se utiliza; a pesar de ser considerado un lenguaje sin asignación

Page 34: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Componentes de LISPComponentes de LISP

ð Conjunto de objetos o datos. Estructura fundamental: lista

ð Funciones primitivas. Aquéllas aportadas inicialmente por el lenguaje

ð Operación de aplicación (read-eval-print loop). Primitiva encargada de gestionar y realizar el proceso de interpretación: lectura-escritura-devolución de resultados

ð Formas funcionales (DEFUN). Funciones definidas por el programador que pasan a formar parte del lenguaje como una primitiva más

ð Operadores aplicativos. Funciones cuyos parámetros son otra función y los argumentos de esta otra función

Page 35: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Campos de aplicación. FuncionalidadCampos de aplicación. Funcionalidad

ð Campos de aplicación:

û Inteligencia Artificial

û Entornos gráficos

ð Funcionalidad:

û No se deben utilizar variables globales dentro de funciones. Atenta contra la reusabilidad y la claridad del programa.En su lugar, se utilizan variables locales o paso de parámetros

û No se deben utilizar estructuras iterativas, sino recursividad

Page 36: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Paradigmas de Representación del ConocimientoParadigmas de Representación del Conocimiento

Fco. Javier Alcalá Casado

Page 37: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Paradigmas de representación del conocimientoParadigmas de representación del conocimiento

ð Computación sobre representaciones

ð Tipos de conocimiento

ð Uso del conocimiento

ð Tipos de razonamiento

ð Tipos clásicos de representación:

û Frames (marcos)

û Sistemas de producción

û Paradigma lógico

û Exploración de espacios de estados

Page 38: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Computación sobre representacionesComputación sobre representaciones

ð Una estructura de datos no representa conocimiento. Es necesario establecer mecanismos para acceder y relacionar distintas partes del conocimiento

ð Un sistema inteligente se divide en:

û representaciones del conocimiento y

û computaciones sobre estas representaciones

⇒ Paradigma C-R

ð Se independiza el proceso de resolución del problema, inferencia, de la naturaleza del mismo

Page 39: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Computación sobre representaciones (II)Computación sobre representaciones (II)

Problema Representación

Inferencia

Modelización

Solución Explicación

Page 40: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Tipos de conocimientoTipos de conocimientoð Objetos. Conceptos con entidad propia

ð Eventos. Especifican sucesos en el tiempo

ð Reglas de inferencia. Indican cómo obtener nuevo conocimiento a partir del que ya tiene el sistema

ð Conocimiento procedural. Indica la manera de realizar determinadas cosas. Son las computaciones sobre las representaciones. El cómo

ðMetaconocimiento. Conocimiento a nivel más abstracto. Da una idea de cuál es la mejor manera de resolver un problema

ð Conocimiento declarativo. Representa los conceptos que intervienen en el problema. Hechos, reglas y metaconoci-miento. El qué

Page 41: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Ejemplo del MetroEjemplo del Metro

ð Definir un sistema que permita calcular el camino más corto entre dos estaciones:

û Objetos: las estaciones

û Eventos: las horas a las que pasan los trenes

û Reglas de inferencia: determinan a qué estaciones puedo pasar a partir de una dada

û Conocimiento procedural: cómo encontrar un camino entre dos estaciones

û Metaconocimiento: para encontrar un camino debo buscar explorando hacia la estación destino

Page 42: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Uso del conocimientoUso del conocimiento

ð Problemas que se plantean con el uso del conocimiento:

û Adquisición. Los modelos de representación deben ser capaces de recoger nueva información para que se integre con la adquirida anteriormente, completándola o actualizándola

û Recuperación. El acceso a parte del conocimiento debe ser sencilla y eficiente.La memoria asociativa humana relaciona información con un contexto

û Razonamiento. Permite obtener nuevo conocimiento a partir del que ya se tiene. Este conocimiento está implícito, pero es de difícil obtención

Page 43: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Tipos de razonamientoTipos de razonamiento

ð Formal. Deduce, con reglas de inferencia, estructuras de datos manipulando sintácticamente otras estructuras (gramáticas generativas)

ð Procedural. Razonamiento mediante la ejecución de determinados algoritmos

ð Por analogía. Razonamiento por semejanza. Frecuente en los humanos

ð Generalización y abstracción. Proceso de obtención de conocimiento más refinado a partir de otro más simple

Page 44: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Tipos clásicos de representaciónTipos clásicos de representación

ð La representación se divide en dos partes: conocimiento declarativo e inferencia o conocimiento procedural

ð Conocimiento declarativo (K). Representa objetos y conceptos que intervienen en el problema.Es dependiente del problema

û Hechos (H): cosas ciertas en un momento dado. Constituyen la memoria de trabajo (a corto plazo)

û Reglas (R): conocimiento a largo plazo. Permiten obtener nuevo conocimiento a partir del que ya se tiene

û Metaconocimiento (M): ayuda a la inferencia a manipular las reglas para obtener un hecho concreto

Page 45: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Tipos clásicos de representación (II)Tipos clásicos de representación (II)

ð Inferencia o conocimiento procedural (I): Representa el modo de obtener nuevo conocimiento a partir del que ya se tiene en un instante dado.Es independiente del problema

ð Paradigmas clásicos de representación

û Frames (marcos) H: Valores de atributos R: Herencia y demonios I: Funciones de manipulación, equiparación

û Sistemas de producción H: Ternas objeto-atributo-valor R: Reglas de producción M: Parámetros, metarreglas I: Encadenamiento de reglas

Page 46: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Tipos clásicos de representación (III)Tipos clásicos de representación (III)

û Paradigma lógico K (H y R): Cálculo de predicados, reglas lógicas, cláusulas de

Horn I: Unificación, resolución

û Exploración de espacios de estados H: Estados R: Transiciones de estado M: Funciones heurísticas I: Algoritmos de búsqueda

Page 47: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Sistemas de ProducciónSistemas de Producción

Fco. Javier Alcalá Casado

Page 48: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Sistemas de ProducciónSistemas de Producción

ð Introducción

ð Hechos

ð Reglas

ðMetaconocimiento

ðMotor de Inferencia

ðMódulo de explicación

Page 49: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

IntroducciónIntroducción

ð En los sistemas de producción se representa el conocimiento mediante hechos, reglas de producción y metaconocimiento.

Motor deInferencia

Hechos

Reglas

Metaconocimiento

Módulo deExplicación

Page 50: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Introducción (II)Introducción (II)

ð Base de hechos: conjunto de todos los hechos

ð Base de reglas: conjunto de todas las reglas

ð El metaconocimiento establece criterios para aplicar las reglas

ð El motor de inferencia permite obtener nueva información a partir de la inicial

ð El módulo de explicación justifica las conclusiones que se han obtenido.

Page 51: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

HechosHechos

ð Los hechos se representan por ternas Objeto-Atributo-Valor

(<objeto>, <atributo>, <valor>)

ð Ejemplos:

û (rayo, es-un, caballo)

û (veloz, es-un, caballo)

û (cometa, es-un, caballo)

û (rayo, valioso, sí)

û (veloz, hijo-de, cometa)

û (cometa, rápido, sí)

Page 52: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

ReglasReglas

ð Tienen el siguiente formato:

IF <expresión-lógica> AntecedenteTHEN <acciones> Consecuente

ð Una terna en el antecedente es cierta sólo si existe en la base de hechos

ð Si se aplica la regla, se ejecutan todas las acciones del consecuente, que pueden ser nuevas ternas o llamadas a función

ð R1:IF (X, es-un, caballo) AND (X, hijo-de, Y) AND

(Y, es-un, caballo) AND (Y, rápido, sí)THEN (X, valioso, sí)

Page 53: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

MetaconocimientoMetaconocimiento

ð El metaconocimiento ayuda a determinar qué regla se aplica cuando hay varias aplicables

ð Criterios de aplicación de reglas:û La primera regla de la base de reglas

û Azar

û La más específica (con más elementos en el antecedente)

û La más genérica (con menos elementos en el antecedente)

û La más recientemente utilizada

û La menos recientemente utilizada

û La que añada más información (con más elementos en el consecuente)

û Todas

Page 54: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Metaconocimiento (II)Metaconocimiento (II)

ð Si tras aplicar todos los criterios, sigue habiendo varias posibilidades, se elige la primera regla en orden de aparición

ð Las metarreglas son reglas que expresan cuándo debemos dar preferencia a una regla concreta

Ejemplo:Si la consulta es sobre gripe,entonces dar preferencia a las reglas R3 y R4

Page 55: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Motor de InferenciaMotor de Inferencia

ð Repetir

û Establecer el conjunto conflicto (CC). Se obtienen todas las reglas cuyo antecedente se equipara con los elementos de la base de hechos y se especifica una lista de pares (regla, sustitución)

û Seleccionar un único par (regla, sustitución) con los criterios establecidos por el metaconocimiento

û Disparar la regla seleccionada. Se aplica la sustitución y se añaden a la base de hechos las ternas del consecuente. Si ya existe el atributo del objeto en alguna terna del CC, se actualiza su valor para evitar inconsistencias

Hasta que el hecho buscado esté en la base de hechos o la base de hechos no haya cambiado

Page 56: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Módulo de explicaciónMódulo de explicación

ð Se encarga de dar una justificación a posteriori de las conclusiones a las que ha llegado el sistema

ð Se guarda una traza para saber qué reglas y en qué orden se han utilizado, así como los hechos que permitían utilizarlas y las conclusiones intermedias

Page 57: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

FramesFrames

Fco. Javier Alcalá Casado

Page 58: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

FramesFrames

ð Introducción

ð Estructura de un frame

ð Herencia

ð Demonios

ð Tipos de facets

ð Representación en LISP

ð Funciones de manipulación de frames

ð Inferencia en frames

Page 59: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

IntroducciónIntroducción

ð Un frame es una estructura activa de almacenamiento de información

ð Utiliza mecanismos para buscar automáticamente un dato si éste no se encuentra en el propio frameEstos mecanismos son:

û Herencia: mediante una relación de jerarquía, busca el dato solicitado en otros frames

û Demonios (o valores activos): son funciones que son llamadas automáticamente cuando se hace referencia a ciertos datos

ð Un frame se puede relacionar con otro con relaciones de pertenencia, inclusión o de usuario

Page 60: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Estructura de un frameEstructura de un frame

ð Un frame es una estructura con compartimentos en los que se guarda la información.Representa un objeto

ð Se compone de:

û Atributos (slots): cada uno de los compartimentos

û Valores: el contenido del compartimento

û Facetas (facets): indica cómo se puede utilizar el conocimiento del slot

Pedro

ES-UN

Profesión

Altura

Value Hombre

PintorDefault

180Value

Page 61: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

HerenciaHerencia

ð Si A tiene una relación de instancia o de subclase con B, los atributos de A que no tengan ningún valor lo toman de los que tengan esos mismos atributos en B

ð Una relación de instancia se define a través del atributo IS-A (ES-UN). Su valor será el nombre del frame del que hereda

ð Una relación de subclase se define a través del atributo AKO (a kind of)

ð En una cadena de herencia puede haber varios atributos AKO, pero sólo uno IS-A

Page 62: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

DemoniosDemonios

ð Los demonios o valores activos son funciones que se disparan automáticamente cuando se almacenan o se recuperan datos en un frame

ð Un demonio tiene dos parámetros: frame y slot

ð IF-NEEDED se dispara al intentar recuperar el valor de un atributo que no tiene ningún valor asociado. Proporciona la información requerida ejecutando un algoritmo

û El demonio ASK pregunta al usuario el valor de un atributo

ð IF-ADDED se dispara después de asignar un valor a un atributo

Page 63: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Tipos de facetsTipos de facets

ð Un sistema básico dispone de los siguientes facets:

û Value: el contenido del slot es un valor literal

û Default: el contenido del slot es un valor por defecto (sólo se devuelve si no está definido el facet Value)

û Range: indica el rango de valores válidos para el slot

û IF-ADDED: el contenido del slot es un demonio IF-ADDED

û IF-NEEDED: el contenido del slot es un demonio IF-NEEDED

Page 64: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Representación en LISPRepresentación en LISP

ð Hay dos maneras:

û Representación muy eficiente pero incómoda de manipular:

( Frame1 Frame2 ... FrameN )donde cada Frame-i es ( <Nombre-frame> Slot1 ... SlotN )donde cada Slot-i es ( <Nombre-slot> Facet1 ... FacetN )donde cada Facet-i es ( <Nombre-facet> <valor> )

û Representación muy sencilla de manipular pero menos eficiente:

( E1 E2 ... EN)donde cada Ei es un par( ( <Nombre-frame> <Nombre-slot> <Nombre-facet> ) <valor> )

Page 65: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Funciones de manipulación de framesFunciones de manipulación de frames

ð FPUT permite añadir información al sistema

( FPUT Frame Slot Valor &OPTIONAL (Facet ‘value) )

ð FGET permite recuperarla

( FGET Frame Slot &OPTIONAL (Origen Frame) (Is-a T) )

ð FFIND encuentra los frames que mejor se equiparan con ciertas restricciones

( FFIND ( Slot1 Valor1 ) ( Slot2 Valor2 ) ... ( SlotN ValorN ) )

Page 66: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Inferencia en framesInferencia en frames

ð La inferencia en frames se realiza de distintas maneras:

û Con los valores por defecto

û A través de la herencia, cuando se solicita un valor que no está en el frame, pero sí en sus antecesores

û A través de los demonios, cuando se disparan procedimientos para calcular el valor solicitado

û A través de la equiparación, cuando se busca en la base de frames con FFIND

Page 67: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Paradigma lógicoParadigma lógico

Fco. Javier Alcalá Casado

Page 68: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Paradigma lógicoParadigma lógico

ð Introducción

ð Unificación de predicados

ð Encadenamiento de reglas dirigido por el objetivo

Page 69: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

IntroducciónIntroducción

ð Procesamiento realizado por el lenguaje de programación PROLOG

ð Representación basada en:

û Términos: variables (A, B, X), constantes (juan, 2, caballo) y funciones cuyos argumentos son términos (f(x), padre(juan))

û Predicados: símbolos de n argumentos (que son términos) que toman valor verdadero o falso

caballo(X), valioso(veloz), es-padre(veloz, padre(cometa))

û Cláusulas de Horn: hechos o reglas formadas por varios antecedentes (conjunción) y un consecuente

consecuente :- antecedente1, antecedente2 ...

La disyunción se representa añadiendo reglas

Page 70: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Unificación de predicadosUnificación de predicados

ð La unificación es un proceso por el cual se transforman dosexpresiones lógicas para hacerlas idénticasNo siempre es posible realizarla

ð Algoritmo para unificar dos predicados:

û Los símbolos de los predicados han de ser iguales y con el mismonúmero de argumentos. Si no se termina con FALLO

û Por cada término de ambos predicados puede suceder: Si un término es una variable y el otro es cualquier término que

no contenga a esa variable, se sustituye la variable por el término Si los dos términos son constantes con el mismo valor, ya están

unificados. Si el valor es distinto se termina con FALLO Si los términos son funciones, deberán llamarse igual y tener el

mismo número de argumentos. Se aplica recursivamente el algoritmo a los argumentos de la función Si no se cumple ningún caso, se termina con FALLO

Page 71: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Ejemplos de unificación de predicadosEjemplos de unificación de predicados

ð Unificar:û tos(X), tos(juan) ⇒ <X,juan>

û amigo(X,Y), amigo(andres,julio) ⇒<X,andres> <Y,julio>

û colocado(X,Y,atras), colocado(X,grande,X) ⇒<X,atras> <Y,grande>

û B(a,g(X,b),Y), B(Z,g(c,b),d) ⇒ <X,c> <Y,d> <Z,a>

û A(X,g(Y)), A(c,Y) ⇒ FALLO

û A(X,g(Y)), A(c,Z) ⇒ <X,c> <Z,g(Y)>

Page 72: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Encadenamiento de reglas dirigido por el objetivoEncadenamiento de reglas dirigido por el objetivo1. Se parte de una lista L de objetivos O1 O2 ... On

2. Selección2.1 Seleccionar un objetivo Oi por orden de aparición2.2 Seleccionar una cláusula Rj por orden de aparición.

Renombrar sus variables.Si el consecuente de Rj puede unificarse con Oi, se crea una nueva rama realizando las sustituciones necesarias;si no se puede unificar ⇒ la rama termina en FRACASO

3. Resolución: Oi se sustituye en L por el antecedente de Rj . A todas las cláusulas de L se les aplica las sustituciones de la unificación

4. Si L vacía ⇒ la rama termina en ÉXITOsi no, volver al paso 2

El algoritmo termina cuando se han recorrido todas las ramas

Page 73: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Métodos de Exploración en Espacios de EstadosMétodos de Exploración en Espacios de Estados

Fco. Javier Alcalá Casado

Page 74: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Métodos de exploración en espacios de estadosMétodos de exploración en espacios de estados

ð Introducción

ð Algoritmos de búsqueda

û Expansión de un camino

û Esquema básico de un algoritmo de búsqueda

û Método de escalada

û Primero el mejor

û Algoritmo A*

ð Representación en árbol

Page 75: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

IntroducciónIntroducción

ð La exploración de espacios de estados es una de las técnicas más importantes en IA

ð Se manejan estados (hechos del problema), transiciones(reglas) y funciones heurísticas (metaconocimiento). La inferencia se realiza a través de algoritmos de búsqueda

ð Un estado es cada configuración posible de un problema. Se representan con estructuras de datos.Ej: Problema del Metro ⇒ estado: “estar en la estación X”

û Los sucesores son los estados que se pueden alcanzar en un único paso desde un estado. Son el resultado de una transición de estadoEj: Metro ⇒ sucesores: “estaciones consecutivas”

Page 76: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Introducción (II)Introducción (II)

ð Una transición permite obtener una lista de estados a los que se llega desde un estado previo tras la aplicación de operaciones definidas en el dominio del problema.Se describe con un algoritmo y puede tener un costeasociado.Ej: Metro ⇒ coste: “tiempo medio entre estaciones”

ð Una función heurística o heurístico es una función matemática que devuelve un valor numérico menor cuanto más cerca está un estado cualquiera del estado objetivo. El valor no tiene por qué ser exacto.Ej: Metro ⇒ función: “distancia euclídea entre estaciones”

Page 77: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Introducción (III)Introducción (III)

ð Elementos a definir para la exploración de espacios de estados:

û Una estructura de datos para los estados

û Operaciones aplicables a un estado para obtener nuevos estados (y un coste asociado, si es preciso)

û Una función heurística que devuelva la proximidad entre un estado cualquiera y el estado objetivo

û Una función que determine si un estado X es o no un estado solución

Page 78: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Algoritmos de búsquedaAlgoritmos de búsqueda

ð Un algoritmo de búsqueda permite encontrar, desde un estado inicial, una secuencia de estados hasta alcanzar el estado objetivo.

ð Cada estado intermedio es consecuencia de aplicar una regla de transición al estado precedente

ð Se llama camino a una secuencia de estados que lleva de un estado a otro

û Camino solución es el que va desde el estado inicial hasta el estado objetivo

û Camino parcial es el que va desde el estado inicial hasta un estado que no es solución (estado actual)

Page 79: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Expansión de un caminoExpansión de un camino

ð La expansión de un camino C resulta de añadir a C cada uno de los nuevos estados alcanzables desde el último estado de C. Se excluyen los caminos cíclicos, es decir, los que llegan a un nodo que ya está incluido en C

ð EXPANDIR ( C )

û Calcular los sucesores del último estado de C utilizando reglas de transición

û Inicializar R =

û Para cada sucesor Ei que no esté en CAñadir a la lista R un nuevo camino, obtenido de añadir a C el estado Ei

û Devolver R

Page 80: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Expansión de un camino (II)Expansión de un camino (II)

ð Camino = (A B D)

ð EXPANDIR ( Camino )Sucesores: B, C, E, FR = R = (A B D C) R = (A B D C), (A B D E) R = (A B D C), (A B D E), (A B D F)

ð En LISP, las listas se crean a la inversa

A

C

B

D F

E

Page 81: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Esquema básico de un algoritmo de búsquedaEsquema básico de un algoritmo de búsqueda

BUSCAR ( INICIO OBJETIVO HEURISTICO COSTE )

1. Formar la lista CP de caminos pendientes (lista de posibles caminos solución). Inicialmente CP contiene el estado INICIO

2. Mientras CP ≠ y estado actual del primer camino ≠ OBJETIVO Expandir primer camino obteniendo una nueva lista E Quitar de CP el primer camino Formar una nueva lista CP combinando CP y E y la

información de HEURISTICO y COSTE

3. Si CP = , devolver FALLOen caso contrario, devolver como solución el primer camino

Page 82: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Método de escaladaMétodo de escalada

ESCALADA ( INICIO OBJETIVO HEURISTICO )

1. Formar la lista CP de caminos pendientes (lista de posibles caminos solución). Inicialmente CP contiene el estado INICIO

2. Mientras CP ≠ y estado actual del primer camino ≠ OBJETIVO Expandir primer camino obteniendo una nueva lista E Quitar de CP el primer camino Ordenar E de menor a mayor según el valor devuelto por

HEURISTICO Añadir E por delante a la lista CP

3. Si CP = , devolver FALLOen caso contrario, devolver como solución el primer camino

ð Se da prioridad a los nuevos caminos más prometedores

Page 83: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Representación en árbolRepresentación en árbol

ð Se coloca en la raíz el estado inicial

ð Por cada estado seleccionado se indica en el árbol el número de iteración con un recuadro y se añaden sus descendientes (expansión)

ð Se selecciona el siguiente nodo a expandir según el algoritmo de exploración que se esté utilizando

ð Junto a cada nodo se anota el valor de la función heurística (para escalada y “primero el mejor”) o de la función de estimación (para A*).En el A* se señalan también las “podas” realizadas por la programación dinámica (PD)

Page 84: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Problemas del método de escaladaProblemas del método de escalada

ð Sensible a mínimos locales: un mínimo local se produce cuando estando en un estado la función heurística se hace mínima localmente. Esto lleva a caminos que no conducen a la solución o a caminos más largos

ðMesetas: se produce cuando la función heurística toma valores similares en todos los caminos pendientes. El progreso hacia la solución es lento

ð Importancia del heurístico: un buen heurístico debe dar valores bajos cuando el estado actual esté cerca de la solución.Un heurístico ideal nos guiaría hacia la solución con un coste computacional mínimo y con el menor número de nodos

Page 85: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Primero el mejorPrimero el mejor

PRIMERO_EL_MEJOR ( INICIO OBJETIVO HEURISTICO )

1. Formar la lista CP de caminos pendientes (lista de posibles caminos solución). Inicialmente CP contiene el estado INICIO

2. Mientras CP ≠ y estado actual del primer camino ≠ OBJETIVO Expandir primer camino obteniendo una nueva lista E Quitar de CP el primer camino Añadir E por detrás a la lista CP Ordenar la nueva lista CP de menor a mayor según el valor

devuelto por HEURISTICO

3. Si CP = , devolver FALLOen caso contrario, devolver como solución el primer camino

ð La ordenación se realiza en todos los caminos pendientes

ð Da mejores resultados que el método de “escalada” con mayor carga computacional

Page 86: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Algoritmo A*Algoritmo A*

ð A* encuentra la solución óptima siempre que la función heurística cumpla la condición de minorancia:

h(e) ≤ h*(e) ∀eh(e) valor del heurístico en el estado eh*(e) coste real del menor camino desde e hasta el estado soluciónLa distancia euclídea cumple la condición de minorancia

ð Utiliza dos nuevos elementos:

û Programación dinámica: si hay dos caminos que llegan al mismo nodo, se eliminan los de mayor coste

û Función de estimación: f(c) = g(c) + h(c)g(c) coste acumulado desde el inicio hasta el estado actualh(c) valor del heurístico desde el estado actual hasta el objetivof(c) estimación del coste total que tendrá el camino solución

Page 87: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Algoritmo A* (II)Algoritmo A* (II)

A* ( INICIO OBJETIVO HEURISTICO COSTE )

1. Formar la lista CP de caminos pendientes (lista de posibles caminos solución). Inicialmente CP contiene el estado INICIO

2. Mientras CP ≠ y estado actual del primer camino ≠ OBJETIVO Expandir primer camino obteniendo una nueva lista E Quitar de CP el primer camino Añadir E por detrás a la lista CP Ordenar la nueva lista CP de menor a mayor según la función

de estimación (HEURISTICO + COSTE acumulado) Aplicar programación dinámica: si hay dos caminos que llegan

al mismo nodo, se elimina el de mayor coste

3. Si CP = , devolver FALLOen caso contrario, devolver como solución el primer camino

Page 88: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Exploración de Árboles de JuegosExploración de Árboles de Juegos

Fco. Javier Alcalá Casado

Page 89: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Exploración de árboles de juegoExploración de árboles de juego

ð Introducción

ð Juegos de suma cero

ð Implementación de juegos

ð Los jugadores y la heurística

ð Algoritmo Minimax

ð Algoritmo Alfa-beta

Page 90: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

IntroducciónIntroducción

ð Shannon (1950) publicó “Programando un ordenador para jugar al ajedrez”

ð El ajedrez plantea problemas similares a los de la deducción lógica: hay que elegir entre varias situaciones posibles y el objetivo no está totalmente definido

ð El modelo discreto que define Shannon se conoce como árbol de juego y el modelo matemático como teoría de juegos de suma cero de dos jugadores con información completa

û Juego de suma cero: aquél en el que los intereses de los jugadores son contrarios. Si uno gana el otro pierde

û Juego de información completa: aquél en el que cada jugador conoce las posibles jugadas que puede realizar el adversario

Page 91: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Juegos de suma ceroJuegos de suma cero

ð Características:

û Suelen ser juegos de dos contrarios con turno alternativo

û Terminan en dos o tres resultados posibles: ganar, perder o tablas (no se da en todos)

û Cada movimiento implica una elección sobre todas las jugadas posibles. La elección sigue criterios determinados por el juego y no depende del azar (como en los dados, cartas...)

û En todo momento los jugadores conocen las jugadas ya realizadas y las que se pueden realizar

û Cada jugador tiene un nº determinado de movimientos en un momento dado. El árbol resultante es finito

Page 92: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Implementación de juegosImplementación de juegos

ð Son necesarios 4 elementos:

û abstracción de datos: para almacenar y representar el tablero (estado del juego)

û generador de movimientos: genera todas las posibles jugadas inmediatas a partir de una situación del juego

û función heurística: devuelve un valor, llamado valor estático, que evalúa cómo de favorable es cada jugada para orientar al algoritmo de búsqueda

û estrategia de búsqueda: permite decidir qué estrategia es la más apropiada en cada momento

Page 93: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Los jugadores y la heurísticaLos jugadores y la heurística

ð Se consideran dos jugadores, MAX y MIN, que intentan maximizar y minimizar la función heurística

ðMAX (ordenador) elige la posición que tenga más valor en la evaluación de la función heurística

ðMIN (adversario) elige la posición con menos valor

ð La función heurística debe asignar valores tanto mayores cuanto mejor sea el estado del juego. Los valores deberán ser positivos para MAX y negativos para MIN

ð Si MAX gana, la función devolverá +∞; si gana MIN, -∞

Page 94: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Algoritmo MinimaxAlgoritmo Minimax

ð El objetivo es encontrar una buena jugada rápidamente

ð La generación y la exploración del árbol están separadas

ð Algoritmo:

û Generar el árbol con profundidad n etiquetando cada nivel con MAX y MIN, alternativamente. El primer nivel es MAX

û Calcular los valores estáticos para los nodos hoja

û Explorar desde el nivel n hasta la raíz: Si el nivel es MIN, elegir el menor valor de sus nodos hijos.

Si el nivel es MAX, elegir el mayor valor de sus nodos hijos Etiquetar el nodo con ese valor

û Elegir como mejor jugada la correspondiente al valor elegido por el nodo raíz

Page 95: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Algoritmo Alfa-betaAlgoritmo Alfa-betað Alfa-beta mejora el minimax utilizando dos valores:û alfa (α): asociado a MAX; no puede decrecer; inicio, α = -∞û beta (β): asociado a MIN; no puede crecer; inicio, β = +∞

ð ALFA-BETA (nodo, profundidad, F, α, β, jugador)

Iniciar α, β localmenteSi profundidad = 0 ó es final de juego, devolver FSi jugador = MIN

Repetir hasta terminar todos los hijos ó α ≥ βV = ALFA-BETA ( HIJOi, profundidad-1, F, α, β, MAX)Si V < β entonces β = V

Si α ≥ β, devolver -∞ (corte β); si no, devolver βSi jugador = MAX

Repetir hasta terminar todos los hijos ó α ≥ βV = ALFA-BETA ( HIJOi, profundidad-1, F, α, β, MIN)Si V > α entonces α = V

Si α ≥ β, devolver +∞ (corte α); si no, devolver α

Page 96: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Planificación de TareasPlanificación de Tareas

Fco. Javier Alcalá Casado

Page 97: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Planificación de TareasPlanificación de Tareas

ð Visión general

ðMétodo STRIPS

ð Operador STRIPS

ð Algoritmo STRIPS

Page 98: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Cogercuchillo

Visión GeneralVisión General

ð La planificación pertenece al campo de resolución de problemas

ð La planificación se basa en la división de un problema en subproblemas más pequeños que se resuelven por separado. La combinación de todas las subsolucionesforma la solución del problema original

Barra depan entera

Tenedor enla mano

Pan cortado

Cortarpan

Dejartenedor Mano libre Cuchillo en

la mano

Page 99: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Visión General (II)Visión General (II)

ð La planificación debe encontrar un conjunto de acciones, operaciones o tareas que transformen un estado inicial en un estado objetivo

ð La solución del problema estará formada por una sucesión de operaciones denominado plan

PLAN = Dejar Tenedor, Coger Cuchillo, Cortar Pan

Page 100: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Visión General (II)Visión General (II)

ð El primer planificador, desarrollado por Newell y Simon(1957), fue el sistema GPS (General Problem Solver). Su objetivo era resolver cualquier tipo de problema

ð La principal aportación de GPS a los planificadores de tareas se centra en la organización de los datos:

û Selector: atributo que define una característica relevante del entorno del problema (subobjetivos)

û Estado: conjunto de selectores que definen una situación del mundo en un instante concreto

û Operador: acción que transforma un estado en otro

Page 101: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Método STRIPSMétodo STRIPS

ð STRIPS (STanford Research Institute Problem Solver) utiliza la lógica para mejorar la resolución del problema

ð Utiliza gran parte de los elementos del sistema GPS

ð Realiza una exploración en profundidad sobre el espacio de estados del problema (despliega un árbol)

ð Opcionalmente, proporciona un mecanismo de aprendizaje utilizando la información de tareas resueltas previamente (tablas triangulares)

Page 102: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Operador STRIPSOperador STRIPS

ð Un operador STRIPS consta de los siguientes elementos:

û Nombre del operador

û Parámetros del operador. Son opcionales

û Precondiciones (P): lista de selectores que se tienen que cumplir para poder aplicar el operador

û Lista de Adición (A): lista de selectores que se añaden al estado actual al aplicar el operador

û Lista de Supresión (S): lista de selectores que se suprimen del estado actual al aplicar el operador

Page 103: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Algoritmo STRIPSAlgoritmo STRIPS

ð STRIPS consiste en seleccionar un operador que permita alcanzar el objetivo al aplicarlo. Las precondiciones pasan a ser subobjetivos que deben alcanzarse

ð Se seguirá descomponiendo hasta que todas las precondiciones se cumplan y se pueda aplicar el operador

ð Un nodo de exploración contiene dos variables:

û ESTADO, que almacena el estado en ese nodo

û PILA, que almacena selectores, operadores y conjunciones de selectores

ð Un nodo de FALLO es aquél en el cual, para alcanzar un determinado objetivo A, es necesario que A se cumpla

Page 104: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Algoritmo STRIPS (II)Algoritmo STRIPS (II)ESTADO = ESTADO_INICIAL; PILA = OBJETIVO

REPETIR HASTA que PILA = ø ó todos los nodos sean de FALLOSI la cima de la PILA es un operadorENTONCES aplicarlo y obtener el nuevo ESTADO (suprimiendo y

añadiendo selectores), suprimirlo de la cima (PLAN++)SI la cima de la PILA es una conjunción de selectoresENTONCES SI se verifica la conjunción

ENTONCES suprimirla de la cimaEN CASO CONTRARIO añadir la precondición que falla

SI la cima de la PILA es un selector ∈ ESTADOENTONCES suprimirlo de la cimaEN CASO CONTRARIO

SI el selector aparece más abajo en la PILAENTONCES es un nodo de FALLO, la rama se aborta

y recorre otra rama en profundidad

Determinar operadores que contenga en su listade adición el selector de la cima de la pila

POR CADA operadorAñadir la instancia del operadorAñadir la conjunción de sus precondicionesAñadir cada una de sus precondiciones

SI PILA ≠ øENTONCES devolver FALLO, no hay soluciónEN CASO CONTRARIO hemos ejecutado el PLAN

Page 105: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Aprendizaje Simbólico a partir de EjemplosAprendizaje Simbólico a partir de Ejemplos

Fco. Javier Alcalá Casado

Page 106: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Aprendizaje Simbólico a partir de EjemplosAprendizaje Simbólico a partir de Ejemplos

ð Introducción

ð Parámetros del algoritmo ID3

ð Algoritmo ID3

ð Generación de las reglas derivadas del árbol ID3

Page 107: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

IntroducciónIntroducción

ð El aprendizaje automático se puede clasificar en:û Métodos simbólicos: basados en símbolos Sintéticos o inductivos: ID3 Analíticos o deductivos

û Métodos subsimbólicos: basados en cantidades numéricas

ð El objetivo del algoritmo ID3 consiste en clasificar varios elementos, utilizando ejemplos y valores de condición, representándolos en forma de árbol de decisión

û Cada ejemplo es un individuo

û Los valores de condición son propiedades

û Los elementos se clasifican según el valor de una propiedad concreta binaria llamada resultado (con 2 valores posibles)

Page 108: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Introducción (II)Introducción (II)

ð El árbol de decisión resultante determina el conjunto al que pertenece un individuo según los valores que toman alguna de sus propiedades (no todas)û Cada nodo interno representa una propiedad

û Cada rama es un valor posible de esa propiedad

û Cada hoja es un valor de la propiedad resultado

ð Un individuo nuevo se clasifica atravesando las ramas del árbol hasta llegar a una propiedad resultado ⇒ REGLAS

ð Para clasificar los individuos se utiliza la idea de entropía.La entropía mide la cantidad de información necesaria para representar los datos de un conjunto (nº bits).A menor valor de entropía, mayor orden en los datos

Page 109: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Parámetros del algoritmo ID3Parámetros del algoritmo ID3ð Del conjunto inicial de ejemplos se definen:û nt: número total de ejemplosû c: valores posibles para el resultadoû nc: nº individuos que tienen el valor c como resultadoû P: nombre de las propiedadesû d: propiedad decisora de la propiedad resultadoû b: valores posibles para una propiedad dû nb: nº individuos con valor b para una propiedad

û nbc: nº individuos con valor b para una propiedad y un valor c para un resultado

û Pc: probabilidad de que un individuo tenga como resultado valor c (Pc = nc / nt)

û Pb: probabilidad de que suceda b (Pb = nb / nt)

û Pbc: probabilidad de que suceda c suponiendo que sucede b (Pbc= nbc / nb )

Page 110: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Parámetros del algoritmo ID3 (II)Parámetros del algoritmo ID3 (II)ð Estos parámetros se utilizan para calcular la entropía:

û Entropía de un conjunto

û Entropía del valor de una propiedad decisora

û Entropía media de una propiedad decisora

(Recordatorio: ; si x=0, )

ð Un conjunto es homogéneo si todos los ejemplos dan como resultado el mismo valor cUn conjunto es equilibrado si los valores de su propiedad resultado son equiprobables (máxima entropía)

∑ ∑−=−=c c t

c

t

ccc n

nnn

PPEntropía 22 loglog

∑ ∑−=−=c c b

bc

b

bcbcbc n

nnn

PPbEntropía 22 loglog)(

∑ ∑∑∈ ∈

−∗=∗=db c b

bc

b

bc

db t

bb n

nnn

nn

bEntropíaPddiaEntropíaMe 2log)()(

2lnln

log2

xx = 0log2 =xx

Page 111: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Algoritmo ID3Algoritmo ID3

ID3 ( Conjunto, P )SI Entropía = 0

Devolver un nodo hoja etiquetado con la claseSI NO

Calcular EntropiaMedia(P)Seleccionar la PROPIEDAD con menor EntropiaMediaHacer PROPIEDAD raíz del árbol actualBorrar PROPIEDAD de PPara cada valor b de PROPIEDAD

Crear una rama del árbol etiquetada con bCrear CONJUNTOb con todos los elementos con valor b

para PROPIEDADID3 ( CONJUNTOb, P )

Page 112: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Generación de las reglas derivadas del árbol ID3Generación de las reglas derivadas del árbol ID3

ð A partir del árbol ID3 generado se puede obtener un conjunto de reglas para clasificar nuevos individuos

ð Cada nodo hoja genera una regla diferente

ð Para ello:

û Se recorre el árbol desde la raíz hasta las hojas

û El antecedente de cada regla se crea tomando la etiqueta de la raíz más la etiqueta de la rama que recorre

û Se añade un AND por cada pareja raíz-rama que se recorre

û El consecuente de la regla es el nodo hoja

Page 113: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Aprendizaje con Algoritmos GenéticosAprendizaje con Algoritmos Genéticos

Fco. Javier Alcalá Casado

Page 114: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Aprendizaje con Algoritmos GenéticosAprendizaje con Algoritmos Genéticos

ð Introducción

ð Componentes de un Algoritmo Genético

û Representación de individuos

û Procedimientos generales de elección aleatoria

û Operador selección

û Operador emparejamiento

û Operador mutación

ð Algoritmo general

Page 115: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

IntroducciónIntroducción

ð Los algoritmos genéticos son adecuados cuando se dispone de mecanismos para establecer el rendimiento de un sistema, modificando ciertos parámetros

ð El problema de aprendizaje consiste en encontrar una configuración adecuada de los parámetros, para que el rendimiento sea óptimo

ð Ejemplo: ajuste del flujo de agua de un generador hidroeléctrico para que la producción eléctrica sea máxima

ð Los algoritmos genéticos se apoyan en las teorías evolutivas de Charles Darwin (1859, El Origen de las Especies)

Page 116: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Introducción (II)Introducción (II)

ð En cada generación se crea un nuevo conjunto de individuos utilizando parte del material genético de los mejores individuos de la generación anterior

ð Objetivos de los algoritmos genéticos:

û abstraer y explicar los procesos adaptativos de los sistemas naturales

û diseñar sistemas artificiales basados en estos procesos

ð La principal característica es la robustez del sistema

ð Surge una nueva rama, la Programación Genética: generación automática de programas que evolucionan para resolver cada vez mejor la tarea encomendada

Page 117: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Principios de Evolución por Selección NaturalPrincipios de Evolución por Selección Natural

1. Cada individuo tiende a transmitir sus rasgos a su progenie

2. La naturaleza produce individuos con rasgos diferentes

3. Los individuos más adaptados, cuyos rasgos son más favorables para desenvolverse en el medio, tienden a producir más progenie

4. Durante largos períodos de tiempo se puede acumular la variación produciendo nuevas especies completamente adaptadas a nichos particulares

Page 118: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Componentes de un Algoritmo GenéticoComponentes de un Algoritmo Genético

ð Los componentes básicos de un algoritmo genético son los siguientes:

û Una representación para los individuos

û Una función de calidad, que da una medida del grado de adaptación de un individuo al medio

û Un operador selección, con probabilidad de selección de cada individuo proporcional a la calidad (principio 3)

û Un operador emparejamiento o reproducción, que producirá nuevos individuos en la siguiente generación (principio 1)

û Un operador mutación, capaz de alterar el código de los nuevos individuos, incrementando la riqueza genética de la población (principio 2)

Page 119: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Representación de IndividuosRepresentación de Individuos

ð Se utiliza la idea de cromosoma, que es una secuencia que determina la estructura de un individuo

ð La secuencia es de longitud L y se compone de caracteres que pertenecen a un alfabeto Ω. Cada carácter es un gen

ð Dado un cromosoma C, se puede construir el individuo I al que representa aplicando una función

ð Normalmente se utiliza el alfabeto binario, Ω = 0,1

Page 120: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Procedimientos Generales de Elección AleatoriaProcedimientos Generales de Elección Aleatoria

ð Se utiliza una función random(), devuelve un real ∈ [0,1)

ð Hay tres situaciones en las que es necesario realizar elecciones aleatorias:

A) Ejecutar una acción con probabilidad p:

IF (random() < p) THEN <acción>

B) Elegir entre N elementos equiprobables: Generar random() y ver dónde cae Elegir el elemento correspondiente al tramo en el que caiga el

valor aleatorio

E1 E2 E3

0 1/N 2/N 3/N 1...

Page 121: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Procedimientos Generales de Elección Aleatoria (II)Procedimientos Generales de Elección Aleatoria (II)

C) Elegir entre N elementos no equiprobables: Calcular las probabilidades acumuladas Generar random() y ver dónde cae

E1 E2 E3

0 a1 a2 a3 1...

∑=

=k

iik pa

1

Page 122: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Operador SelecciónOperador Selección

ð Cada vez que se necesita, se extraen ciertos individuos de la población. Para ello, se calcula la probabilidad de selección de cada individuo proporcional a la calidad

ð Existen dos métodos: estándar y del rango

ðMétodo estándar:

û Establecer la calidad de cada individuo de la población

û Calcular la probabilidad de selección de cada individuo dividiendo cada calidad por la calidad total

û Elegir un individuo entre N elementos no equiprobables(procedimiento C)

Page 123: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Operador Selección (II)Operador Selección (II)

ðMétodo del rango:

û Fijar una probabilidad a priori de elección, p

û Establecer la calidad de cada individuo de la población

û Ordenar los individuos según su calidad (de mayor a menor)

û Para cada individuo i desde 1 hasta N-1 Elegir, con probabilidad p, el individuo i (procedimiento A)

Si se ha elegido uno, salir y devolver dicho individuo

û Si no se ha elegido ninguno, devolver el individuo N

Page 124: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Operador EmparejamientoOperador Emparejamiento

ð Este operador intercambia información genética entre dos individuos seleccionados

ð Dados 2 individuos a emparejar:

û Ejecutar el emparejamiento con probabilidad Pe(procedimiento A). Si no hay que emparejar, salir.

û Elegir un punto de corte de las cadenas entre 1 y L-1 (procedimiento B)

û Las cadenas que representan a los individuos se parten en dos trozos y se intercambian, dando lugar a dos individuos nuevos

Page 125: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Operador MutaciónOperador Mutación

ð Altera aleatoriamente el código genético de un individuo para variar ligeramente sus características

ð Permite que aparezcan rasgos en los nuevos individuos que no existían antes en la población original

ð La probabilidad de aplicación de este operador debe ser pequeña

ð Dado 1 individuo a mutar:

û Para cada gen del cromosoma, hacer: Con probabilidad Pm (procedimiento A), cambiar el valor del

gen por un nuevo valor. El nuevo valor se elige (procedimiento B) sobre los elementos del alfabeto Ω

Page 126: Inteligencia Artificial - RRSrrs.com.mx/download_reforma.php?file=InteligenciaArtificial.pdfIntroducción históricaIntroducción histórica ðEl problema de la inteligencia ðObjetivos

Algoritmo GeneralAlgoritmo GeneralEVOLUCIONAR (NI Pe Pm N)û Generar una POBLACION aleatoria de NI individuosû Repetir hasta haber realizado N iteraciones Hacer NUEVA_POBLACION = Repetir hasta que NUEVA_POBLACION tenga NI individuos

Aplicar operador SELECCIÓN para extraer 2 individuos de POBLACION

Aplicar operador EMPAREJAMIENTO con probabilidad Pe a los individuos seleccionados.Esto genera 2 nuevos individuos

Aplicar operador MUTACION con probabilidad Pm a cada individuo generado en el paso anterior

Añadir el resultado a NUEVA_POBLACION Copiar NUEVA_POBLACION en POBLACION

û Devolver el individuo con mayor calidad de POBLACION