Transcript
  • Inteligencia ArtificialInteligencia Artificial

    Fco. Javier Alcal Casado

  • Normas de la asignaturaNormas de la asignatura

    La asignatura consta de una parte terica y otra prctica.

    La parte terica se evaluar con el correspondiente examen de teora: 80% de la nota

    La parte prctica se realizar con el lenguaje de programacin LISP: 20% de la nota.

    0.8 * Teora + 0.2 * Prctica 5.0

    La no presentacin de la prctica significa la renuncia a la parte correspondiente de la nota final.

  • ProgramaPrograma

    Introduccin histrica

    Lenguaje de programacin LISP

    Paradigmas de representacin del conocimiento

    Frames

    Sistemas de produccin

    Paradigma lgico

    Exploracin de espacios de estados. Bsqueda

    Exploracin de rboles de juego

    Planificacin

    Aprendizaje simblico. ID3

    Algoritmos genticos

  • BibliografaBibliografa Serradilla, F.; Barros, B. Representacin e Inferencia en Inteligencia Artificial.

    Un Enfoque Prctico. Escuela Universitaria de Informtica, UPM. 1996.

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

    Barros, B; Foulqui, T; Serradilla, F. Programacin Funcional en Lisp. Escuela Universitaria de Informtica, UPM. 1992.

    Feigenbaum y otros. The Handbook of AI (4 volmenes). 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. Daz 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.

  • Introduccin histricaIntroduccin histrica

    Fco. Javier Alcal Casado

  • Introduccin histricaIntroduccin histrica

    El problema de la inteligencia

    Objetivos de la inteligencia artificial (IA)

    Historia Rama lgico-matemtica Rama de la psicologa Rama de la informtica Conferencia de Darmouth Rama de la simulacin Panorama actual

    Los primeros sistemas

    reas de estudio

  • El problema de la inteligenciaEl problema de la inteligencia

    El principal problema de la inteligencia natural es que no tiene una fcil definicin

    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

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

    La inteligencia artificial trata de imitar a la inteligencia natural. Cmo definirla?

    Sistemas que piensan como humanos

    (Bellman)

    Sistemas que piensan racionalmente

    (Winston)

    Sistemas que actan como humanos

    (Minsky)

    Sistemas que actan racionalmente

    (Luger)

    Eficiencia humana

    Procesos mentales y razonamiento

    Conducta

    Racionalidad

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

    Bellman (1978): IA es la automatizacin de actividades que vinculamos con procesos del pensamiento humano, actividades tales como toma de decisiones, resolucin 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 mquinas capaces de hacer cosas que requeriran inteligencia en caso de que fuesen hechas por los seres humanos

    Luger (1989): IA es la rama de la informtica que trata de la automatizacin del comportamiento inteligente

  • Test de TuringTest de Turing

    Turing (1950) dio una definicin emprica: el juego de la imitacin.

    Test de Turing:

    Puede saber el hombrede fuera en qu habitacinest la mquina?

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

    Para superar el test de Turing, una mquina debera ser capaz de:

    procesar lenguaje natural: para poder establecer una comunicacin satisfactoria

    representar el conocimiento: para guardar toda la informacin recibida antes o durante el interrogatorio

    razonar automticamente: para utilizar esa informacin al responder a las preguntas y obtener conclusiones

    autoaprendizaje de la mquina: para adaptarse a nuevas situaciones y detectar y extrapolar esquemas determinados

    Test total de Turing: Tambin imita fsicamente. Necesita: Percepcin: Visin artificial, reconocimiento del habla

    Robtica: Habilidades para andar, saltar, subir escaleras

  • Objetivos de la inteligencia artificialObjetivos de la inteligencia artificial

    La IA es una ciencia multidisciplinar: matemticas, filosofa, psicologa e ingeniera

    Objetivos de ingeniera: desarrollo de sistemas inteligentes mejorando otros anteriores para los que no existe un mtodo algortmico

    Objetivos cientficos: comprender mejor el funcionamiento de la inteligencia, tanto en el hombre como en las mquinas (filosofa, psicologa) Es la inteligencia independiente del hardware? Cmo se interrelacionan las estructuras mentales? Qu reglas las gobiernan?

  • HistoriaHistoria

    La IA es el punto de encuentro de varias lneas de investigacin

    Rama lgico-matemtica

    Rama de la psicologa

    Rama de la informtica

    Conferencia de Darmouth

    Rama de la simulacin

    Panorama actual

  • Rama lgico-matemticaRama lgico-matemtica

    Mecanizacin de los procesos de razonamiento desde el punto de vista de la manipulacin de smbolos lgicos

    Hitos importantes:

    El primer esfuerzo de mecanizacin del pensamiento fueron los silogismos de Aristteles.

    Leibniz construye el primer sistema axiomtico de lgica formal (clculo de predicados)

    Euler formaliza la Teora de Grafos

    Hilbert intent encontrar un conjunto de axiomas y un sistema formal que sintetizasen toda la matemticaGdel, con el teorema de incompletitud, demostr que no era posible

  • Rama de la psicologaRama de la psicologa

    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 psiclogos (James, Wundt) estudiaron el pensamiento con una metodologa basada en la introspeccin (subjetiva, poco cientfica)

    Los conductistas (Skinner) consideran a la mente como una caja negra capaz de asociar estmulos con respuestas

    La psicologa cognitiva (Chomsky, Fodor) es el paradigma ms aceptado

  • Rama de la psicologa (II)Rama de la psicologa (II)

    Caractersticas de la psicologa cognitiva:

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

    Los estmulos son procesados por el organismo para producir respuestas (no conductista)

    Mentalismo: la mente utiliza representaciones simblicas de los conceptos y los procesos mentales manipulan los smbolos

    Paradigma del procesamiento de la informacin: la mente funcionacomo un ordenador; los programas son teoras psicolgicas

    Memoria semntica, modelo de memoria asociativa: los conceptos se representan por smbolos interrelacionados (redes semnticas)

    Modularidad: los procesos mentales son afrontados por mdulos dbilmente acoplados

  • Rama de la psicologa (III)Rama de la psicologa (III)

    Isomorfismo. Hofstadter: Dos sistemas son isomrficos cuando se puede encontrar un conjunto de reglas que traduzca o identifique estados de cualquiera de ellos en estados del otro.

    Objeto Mundo

    Representacin

    CerebroConexiones

    Mente

  • Rama de la informticaRama de la informtica

    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

    mquina capaz de desarrollar clculos automticos

    Junto con Ada Lovelace dise la mquina analtica de propsito general introduciendo conceptos como la memoria, procesador, programas almacenados, saltos condicionales, etc.

    Alan Turing (1937) propone la mquina de Turing.Cualquier procedimiento matemtico puede desarrollarse con dicha mquina con una tabla de instrucciones adecuada

  • Rama de la informtica (II)Rama de la informtica (II)

    La Ciberntica o Teora de Sistemas (Wiener) puede aplicarse a sistemas biolgicos, sociales y artificiales.Se basa en la retroalimentacin negativa

    CONTROL SISTEMA

    SENSOR

    Objetivo Error Actuacin

    ComportamientoMedida

    +

    -

  • Objeciones de TuringObjeciones de Turing

    En 1950, Turing publica Maquinaria de computacin e inteligencia. Propone el test de Turing, defiende la posibilidad de construir mquinas que piensen y enumera las posibles objeciones contra estas mquinas:

    Teolgicas: la mente no reside en el cuerpo sino en el alma. Si se admite el dualismo, se niega la psicologaNo es cientfica

    Del avestruz: si las mquinas pensaran, las consecuencias seran desastrosas; luego esto no puede ocurrirSin comentarios

    Matemticas: el teorema de incompletitud de Gdel demuestra que en un sistema formal suficientemente complejo existen proposiciones indecidiblesLa mente humana no supera esta limitacin

  • Objeciones de TuringObjeciones de Turing

    Ms objeciones:

    De conciencia: las mquinas no saben lo que estn haciendo cuando trabajan.Minsky los tres estados de conciencia de un termostato

    De las diversas incapacidades: una mquina nunca podr ser afectuosa, ingeniosa, amistosa, tener iniciativa...Ahora no, pero s podra en el futuro

    Objecin de Lady Lovelace: una mquina slo realiza lo que sabemos cmo ordenarle que hagaSe le puede ordenar que sea inteligente

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

    Ms objeciones:

    Continuidad del sistema nervioso: una mquina de estados discretos no puede emular al hombreLa discretizacin no supone limitaciones

    Basadas en la informalidad de la conducta: el hombre no tiene un conjunto de reglas para regir su vida y las mquinas funcionan con reglasLas neuronas presentan un comportamiento rgido y de ellas surge comportamiento flexible inteligente

    Basado en la percepcin extrasensorial: Test de TuringextrasensorialNo cientfica

  • Conferencia de DarmouthConferencia de Darmouth

    Tuvo lugar en 1956

    Todas las ramas anteriores confluyen en una nueva disciplina, agrupando a psiclogos, matemticos, informticos, neurlogos e ingenieros elctricos

    John McCarthy acua el trmino de Inteligencia Artificial

    Esta rama unificada de psiclogos cognitivos, lgico-matemticos y computacin simblica se denomina IA clsica o IA simblica

  • Rama de la simulacinRama de la simulacin

    Tambin llamada IA conexionistaDesarrolla sistemas inteligentes imitando sistemas biolgicos con comportamiento inteligente (animales o seres humanos)

    Su objetivo es construir cerebros artificiales formalmente similares a los cerebros biolgicos para dotarles de aprendizaje

    Hitos importantes:

    Clulas de McCulloch y Pitts (1943). Emulacin de neuronas con circuitos elctricos

    Perceptrn (Rosenblatt, 1958). Mecanismo de aprendizaje mediante ajuste automtico de las conexiones de una red de neuronas

    Perceptrn multicapa (Rumelhart, Hinton y Williams, 1986). Generalizacin del perceptrn

    Algoritmos Genticos (Friedberg, 1958). Basados en la teora evolucionista de Darwin

  • Panorama actualPanorama actual

    IA clsica + Rama de la Simulacin = 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 resolucin de problemas, olvidando la percepcin, el aprendizaje y la destreza

    Objeciones de la Habitacin china

    Sabe chino el hombre de la habitacin?

    Reglas

    Smbolos

  • Panorama actual (II)Panorama actual (II)

    Ms cuestiones abiertas:

    Mezcla de tcnicas de IA clsica con tcnicas de la rama de simulacin

    Importancia creciente del aprendizaje

    Problema de los problemas de juguete

    Evolucin desde los objetivos cientficos a los ingenieriles

    Con ordenadores ms potentes se consideran mtodos que antes se desechaban

    Herbert Simon: la complejidad demostrada por seres vivos se debe a la complejidad del medio con el que interactan ms que a la complejidad interna de sus programas Vida artificial

  • Los primeros sistemasLos primeros sistemas

    Logic Theorist. Demostracin automtica de teoremas. Primer programa que utiliz smbolos en lugar de cantidades numricas

    DENDRAL. Primer sistema experto para anlisis de datos de espectografa de masas (istopos)

    SHRDLU. Comprensin del lenguaje natural y planificacin 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 bsqueda de yacimientos minerales

  • reas de estudioreas de estudio

    La IA est en continua evolucin. reas ms relevantes:

    Representacin del conocimiento: Modeliza el conocimiento en estructuras de datos adecuadas

    Exploracin del espacio de estados: Busca soluciones en problemas modelizados con grafos

    Heurstica: Conocimiento intuitivo. Atajos entre el estado actual y la solucin

    Resolucin de problemas: Planificacin de tareas

    Demostracin de teoremas: Programacin lgica

    Teora de juegos: Estrategias de bsqueda (ajedrez)

    Ingeniera del conocimiento (Sistemas Expertos): Requieren de la ayuda de un experto humano

  • reas de estudioreas de estudio

    Ms reas de estudio:

    Diagnstico: Establece hiptesis sobre el mal funcionamiento de un sistema

    Aprendizaje: Refina el conocimiento inicial para hacerlo ms operativo

    Comprensin del lenguaje natural (y traduccin automtica):

    Percepcin computacional (reconocimiento de patrones): interpreta la informacin sensorial

    Simulacin de procesos psicolgicos humanos: Estudia la inteligencia humana mediante procesos de simulacin

    Sistemas multiagente: Coordinacin de la conducta inteligente entre un conjunto de agentes autnomos y heterogneos

  • Lenguaje de Programacin LISPLenguaje de Programacin LISP

    Fco. Javier Alcal Casado

  • Marco histricoMarco histrico

    McCarthy lo cre en 1958

    Se cre para procesar de listas en un proyecto de IA

    La primera versin consuma 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 estndar actual: COMMON LISP

  • Caractersticas de LISPCaractersticas de LISP

    Lenguaje funcional. Utiliza las propiedades matemticas de las funciones

    Simblico. Utiliza el smbolo como unidad fundamental Procesamiento de listas (LISt Procesing) Flexibilidad Utiliza la misma estructura para datos y cdigo Paso de funciones como parmetro (reusabilidad) Autodefinicin del lenguaje (entorno a la medida) Estructura de datos muy flexible (Garbage collector)

    Recursividad. Definiciones muy claras y concisas

    Interpretado. Desarrollo rpido de prototipos

    Compacto: funcional + recursivo + listas

  • Lenguajes funcionalesLenguajes funcionales

    La primitiva bsica es la funcin

    Una funcin 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 asignacin est definida y se utiliza; a pesar de ser considerado un lenguaje sin asignacin

  • Componentes de LISPComponentes de LISP

    Conjunto de objetos o datos. Estructura fundamental: lista

    Funciones primitivas. Aqullas aportadas inicialmente por el lenguaje

    Operacin de aplicacin (read-eval-print loop). Primitiva encargada de gestionar y realizar el proceso de interpretacin: lectura-escritura-devolucin de resultados

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

    Operadores aplicativos. Funciones cuyos parmetros son otra funcin y los argumentos de esta otra funcin

  • Campos de aplicacin. FuncionalidadCampos de aplicacin. Funcionalidad

    Campos de aplicacin:

    Inteligencia Artificial

    Entornos grficos

    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 parmetros

    No se deben utilizar estructuras iterativas, sino recursividad

  • Paradigmas de Representacin del ConocimientoParadigmas de Representacin del Conocimiento

    Fco. Javier Alcal Casado

  • Paradigmas de representacin del conocimientoParadigmas de representacin del conocimiento

    Computacin sobre representaciones

    Tipos de conocimiento

    Uso del conocimiento

    Tipos de razonamiento

    Tipos clsicos de representacin:

    Frames (marcos)

    Sistemas de produccin

    Paradigma lgico

    Exploracin de espacios de estados

  • Computacin sobre representacionesComputacin 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 resolucin del problema, inferencia, de la naturaleza del mismo

  • Computacin sobre representaciones (II)Computacin sobre representaciones (II)

    Problema Representacin

    Inferencia

    Modelizacin

    Solucin Explicacin

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

    Eventos. Especifican sucesos en el tiempo

    Reglas de inferencia. Indican cmo 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 cmo

    Metaconocimiento. Conocimiento a nivel ms abstracto. Da una idea de cul 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

  • Ejemplo del MetroEjemplo del Metro

    Definir un sistema que permita calcular el camino ms 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: cmo encontrar un camino entre dos estaciones

    Metaconocimiento: para encontrar un camino debo buscar explorando hacia la estacin destino

  • Uso del conocimientoUso del conocimiento

    Problemas que se plantean con el uso del conocimiento:

    Adquisicin. Los modelos de representacin deben ser capaces de recoger nueva informacin para que se integre con la adquirida anteriormente, completndola o actualizndola

    Recuperacin. El acceso a parte del conocimiento debe ser sencilla y eficiente.La memoria asociativa humana relaciona informacin con un contexto

    Razonamiento. Permite obtener nuevo conocimiento a partir del que ya se tiene. Este conocimiento est implcito, pero es de difcil obtencin

  • Tipos de razonamientoTipos de razonamiento

    Formal. Deduce, con reglas de inferencia, estructuras de datos manipulando sintcticamente otras estructuras (gramticas generativas)

    Procedural. Razonamiento mediante la ejecucin de determinados algoritmos

    Por analoga. Razonamiento por semejanza. Frecuente en los humanos

    Generalizacin y abstraccin. Proceso de obtencin de conocimiento ms refinado a partir de otro ms simple

  • Tipos clsicos de representacinTipos clsicos de representacin

    La representacin 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

  • Tipos clsicos de representacin (II)Tipos clsicos de representacin (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 clsicos de representacin

    Frames (marcos) H: Valores de atributos R: Herencia y demonios I: Funciones de manipulacin, equiparacin

    Sistemas de produccin H: Ternas objeto-atributo-valor R: Reglas de produccin M: Parmetros, metarreglas I: Encadenamiento de reglas

  • Tipos clsicos de representacin (III)Tipos clsicos de representacin (III)

    Paradigma lgico K (H y R): Clculo de predicados, reglas lgicas, clusulas de

    Horn I: Unificacin, resolucin

    Exploracin de espacios de estados H: Estados R: Transiciones de estado M: Funciones heursticas I: Algoritmos de bsqueda

  • Sistemas de ProduccinSistemas de Produccin

    Fco. Javier Alcal Casado

  • Sistemas de ProduccinSistemas de Produccin

    Introduccin

    Hechos

    Reglas

    Metaconocimiento

    Motor de Inferencia

    Mdulo de explicacin

  • IntroduccinIntroduccin

    En los sistemas de produccin se representa el conocimiento mediante hechos, reglas de produccin y metaconocimiento.

    Motor deInferencia

    Hechos

    Reglas

    Metaconocimiento

    Mdulo deExplicacin

  • Introduccin (II)Introduccin (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 informacin a partir de la inicial

    El mdulo de explicacin justifica las conclusiones que se han obtenido.

  • HechosHechos

    Los hechos se representan por ternas Objeto-Atributo-Valor

    (, , )

    Ejemplos:

    (rayo, es-un, caballo)

    (veloz, es-un, caballo)

    (cometa, es-un, caballo)

    (rayo, valioso, s)

    (veloz, hijo-de, cometa)

    (cometa, rpido, s)

  • ReglasReglas

    Tienen el siguiente formato:

    IF AntecedenteTHEN Consecuente

    Una terna en el antecedente es cierta slo 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 funcin

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

    (Y, es-un, caballo) AND (Y, rpido, s)THEN (X, valioso, s)

  • MetaconocimientoMetaconocimiento

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

    Criterios de aplicacin de reglas: La primera regla de la base de reglas

    Azar

    La ms especfica (con ms elementos en el antecedente)

    La ms genrica (con menos elementos en el antecedente)

    La ms recientemente utilizada

    La menos recientemente utilizada

    La que aada ms informacin (con ms elementos en el consecuente)

    Todas

  • Metaconocimiento (II)Metaconocimiento (II)

    Si tras aplicar todos los criterios, sigue habiendo varias posibilidades, se elige la primera regla en orden de aparicin

    Las metarreglas son reglas que expresan cundo debemos dar preferencia a una regla concreta

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

  • 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, sustitucin)

    Seleccionar un nico par (regla, sustitucin) con los criterios establecidos por el metaconocimiento

    Disparar la regla seleccionada. Se aplica la sustitucin y se aaden 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

  • Mdulo de explicacinMdulo de explicacin

    Se encarga de dar una justificacin 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 permitan utilizarlas y las conclusiones intermedias

  • FramesFrames

    Fco. Javier Alcal Casado

  • FramesFrames

    Introduccin

    Estructura de un frame

    Herencia

    Demonios

    Tipos de facets

    Representacin en LISP

    Funciones de manipulacin de frames

    Inferencia en frames

  • IntroduccinIntroduccin

    Un frame es una estructura activa de almacenamiento de informacin

    Utiliza mecanismos para buscar automticamente un dato si ste no se encuentra en el propio frameEstos mecanismos son:

    Herencia: mediante una relacin de jerarqua, busca el dato solicitado en otros frames

    Demonios (o valores activos): son funciones que son llamadas automticamente cuando se hace referencia a ciertos datos

    Un frame se puede relacionar con otro con relaciones de pertenencia, inclusin o de usuario

  • Estructura de un frameEstructura de un frame

    Un frame es una estructura con compartimentos en los que se guarda la informacin.Representa un objeto

    Se compone de:

    Atributos (slots): cada uno de los compartimentos

    Valores: el contenido del compartimento

    Facetas (facets): indica cmo se puede utilizar el conocimiento del slot

    Pedro

    ES-UN

    Profesin

    Altura

    Value Hombre

    PintorDefault

    180Value

  • HerenciaHerencia

    Si A tiene una relacin de instancia o de subclase con B, los atributos de A que no tengan ningn valor lo toman de los que tengan esos mismos atributos en B

    Una relacin de instancia se define a travs del atributo IS-A (ES-UN). Su valor ser el nombre del frame del que hereda

    Una relacin de subclase se define a travs del atributo AKO (a kind of)

    En una cadena de herencia puede haber varios atributos AKO, pero slo uno IS-A

  • DemoniosDemonios

    Los demonios o valores activos son funciones que se disparan automticamente cuando se almacenan o se recuperan datos en un frame

    Un demonio tiene dos parmetros: frame y slot

    IF-NEEDED se dispara al intentar recuperar el valor de un atributo que no tiene ningn valor asociado. Proporciona la informacin requerida ejecutando un algoritmo

    El demonio ASK pregunta al usuario el valor de un atributo

    IF-ADDED se dispara despus de asignar un valor a un atributo

  • Tipos de facetsTipos de facets

    Un sistema bsico dispone de los siguientes facets:

    Value: el contenido del slot es un valor literal

    Default: el contenido del slot es un valor por defecto (slo se devuelve si no est definido el facet Value)

    Range: indica el rango de valores vlidos 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

  • Representacin en LISPRepresentacin en LISP

    Hay dos maneras:

    Representacin muy eficiente pero incmoda de manipular:

    ( Frame1 Frame2 ... FrameN )donde cada Frame-i es ( Slot1 ... SlotN )donde cada Slot-i es ( Facet1 ... FacetN )donde cada Facet-i es ( )

    Representacin muy sencilla de manipular pero menos eficiente:

    ( E1 E2 ... EN)donde cada Ei es un par( ( ) )

  • Funciones de manipulacin de framesFunciones de manipulacin de frames

    FPUT permite aadir informacin 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 ) )

  • Inferencia en framesInferencia en frames

    La inferencia en frames se realiza de distintas maneras:

    Con los valores por defecto

    A travs de la herencia, cuando se solicita un valor que no est en el frame, pero s en sus antecesores

    A travs de los demonios, cuando se disparan procedimientos para calcular el valor solicitado

    A travs de la equiparacin, cuando se busca en la base de frames con FFIND

  • Paradigma lgicoParadigma lgico

    Fco. Javier Alcal Casado

  • Paradigma lgicoParadigma lgico

    Introduccin

    Unificacin de predicados

    Encadenamiento de reglas dirigido por el objetivo

  • IntroduccinIntroduccin

    Procesamiento realizado por el lenguaje de programacin PROLOG

    Representacin basada en:

    Trminos: variables (A, B, X), constantes (juan, 2, caballo) y funciones cuyos argumentos son trminos (f(x), padre(juan))

    Predicados: smbolos de n argumentos (que son trminos) que toman valor verdadero o falso

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

    Clusulas de Horn: hechos o reglas formadas por varios antecedentes (conjuncin) y un consecuente

    consecuente :- antecedente1, antecedente2 ...

    La disyuncin se representa aadiendo reglas

  • Unificacin de predicadosUnificacin de predicados

    La unificacin es un proceso por el cual se transforman dosexpresiones lgicas para hacerlas idnticasNo siempre es posible realizarla

    Algoritmo para unificar dos predicados:

    Los smbolos de los predicados han de ser iguales y con el mismonmero de argumentos. Si no se termina con FALLO

    Por cada trmino de ambos predicados puede suceder: Si un trmino es una variable y el otro es cualquier trmino que

    no contenga a esa variable, se sustituye la variable por el trmino Si los dos trminos son constantes con el mismo valor, ya estn

    unificados. Si el valor es distinto se termina con FALLO Si los trminos son funciones, debern llamarse igual y tener el

    mismo nmero de argumentos. Se aplica recursivamente el algoritmo a los argumentos de la funcin Si no se cumple ningn caso, se termina con FALLO

  • Ejemplos de unificacin de predicadosEjemplos de unificacin de predicados

    Unificar: {tos(X), tos(juan)}

    {amigo(X,Y), amigo(andres,julio)}

    {colocado(X,Y,atras), colocado(X,grande,X)}

    {B(a,g(X,b),Y), B(Z,g(c,b),d)}

    {A(X,g(Y)), A(c,Y)} FALLO

    {A(X,g(Y)), A(c,Z)}

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

    2.1 Seleccionar un objetivo Oi por orden de aparicin2.2 Seleccionar una clusula Rj por orden de aparicin.

    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. Resolucin: Oi se sustituye en L por el antecedente de Rj . A todas las clusulas de L se les aplica las sustituciones de la unificacin

    4. Si L vaca la rama termina en XITOsi no, volver al paso 2

    El algoritmo termina cuando se han recorrido todas las ramas

  • Mtodos de Exploracin en Espacios de EstadosMtodos de Exploracin en Espacios de Estados

    Fco. Javier Alcal Casado

  • Mtodos de exploracin en espacios de estadosMtodos de exploracin en espacios de estados

    Introduccin

    Algoritmos de bsqueda

    Expansin de un camino

    Esquema bsico de un algoritmo de bsqueda

    Mtodo de escalada

    Primero el mejor

    Algoritmo A*

    Representacin en rbol

  • IntroduccinIntroduccin

    La exploracin de espacios de estados es una de las tcnicas ms importantes en IA

    Se manejan estados (hechos del problema), transiciones(reglas) y funciones heursticas (metaconocimiento). La inferencia se realiza a travs de algoritmos de bsqueda

    Un estado es cada configuracin posible de un problema. Se representan con estructuras de datos.Ej: Problema del Metro estado: estar en la estacin X

    Los sucesores son los estados que se pueden alcanzar en un nico paso desde un estado. Son el resultado de una transicin de estadoEj: Metro sucesores: estaciones consecutivas

  • Introduccin (II)Introduccin (II)

    Una transicin permite obtener una lista de estados a los que se llega desde un estado previo tras la aplicacin 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 funcin heurstica o heurstico es una funcin matemtica que devuelve un valor numrico menor cuanto ms cerca est un estado cualquiera del estado objetivo. El valor no tiene por qu ser exacto.Ej: Metro funcin: distancia eucldea entre estaciones

  • Introduccin (III)Introduccin (III)

    Elementos a definir para la exploracin 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 funcin heurstica que devuelva la proximidad entre un estado cualquiera y el estado objetivo

    Una funcin que determine si un estado X es o no un estado solucin

  • Algoritmos de bsquedaAlgoritmos de bsqueda

    Un algoritmo de bsqueda 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 transicin al estado precedente

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

    Camino solucin 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 solucin (estado actual)

  • Expansin de un caminoExpansin de un camino

    La expansin de un camino C resulta de aadir a C cada uno de los nuevos estados alcanzables desde el ltimo estado de C. Se excluyen los caminos cclicos, 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 transicin

    Inicializar R = { }

    Para cada sucesor Ei que no est en CAadir a la lista R un nuevo camino, obtenido de aadir a C el estado Ei

    Devolver R

  • Expansin de un camino (II)Expansin 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

  • Esquema bsico de un algoritmo de bsquedaEsquema bsico de un algoritmo de bsqueda

    BUSCAR ( INICIO OBJETIVO HEURISTICO COSTE )

    1. Formar la lista CP de caminos pendientes (lista de posibles caminos solucin). 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

    informacin de HEURISTICO y COSTE

    3. Si CP = { }, devolver FALLOen caso contrario, devolver como solucin el primer camino

  • Mtodo de escaladaMtodo de escalada

    ESCALADA ( INICIO OBJETIVO HEURISTICO )

    1. Formar la lista CP de caminos pendientes (lista de posibles caminos solucin). 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 segn el valor devuelto por

    HEURISTICO Aadir E por delante a la lista CP

    3. Si CP = { }, devolver FALLOen caso contrario, devolver como solucin el primer camino

    Se da prioridad a los nuevos caminos ms prometedores

  • Representacin en rbolRepresentacin en rbol

    Se coloca en la raz el estado inicial

    Por cada estado seleccionado se indica en el rbol el nmero de iteracin con un recuadro y se aaden sus descendientes (expansin)

    Se selecciona el siguiente nodo a expandir segn el algoritmo de exploracin que se est utilizando

    Junto a cada nodo se anota el valor de la funcin heurstica (para escalada y primero el mejor) o de la funcin de estimacin (para A*).En el A* se sealan tambin las podas realizadas por la programacin dinmica (PD)

  • Problemas del mtodo de escaladaProblemas del mtodo de escalada

    Sensible a mnimos locales: un mnimo local se produce cuando estando en un estado la funcin heurstica se hace mnima localmente. Esto lleva a caminos que no conducen a la solucin o a caminos ms largos

    Mesetas: se produce cuando la funcin heurstica toma valores similares en todos los caminos pendientes. El progreso hacia la solucin es lento

    Importancia del heurstico: un buen heurstico debe dar valores bajos cuando el estado actual est cerca de la solucin.Un heurstico ideal nos guiara hacia la solucin con un coste computacional mnimo y con el menor nmero de nodos

  • Primero el mejorPrimero el mejor

    PRIMERO_EL_MEJOR ( INICIO OBJETIVO HEURISTICO )

    1. Formar la lista CP de caminos pendientes (lista de posibles caminos solucin). 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 Aadir E por detrs a la lista CP Ordenar la nueva lista CP de menor a mayor segn el valor

    devuelto por HEURISTICO

    3. Si CP = { }, devolver FALLOen caso contrario, devolver como solucin el primer camino

    La ordenacin se realiza en todos los caminos pendientes

    Da mejores resultados que el mtodo de escalada con mayor carga computacional

  • Algoritmo A*Algoritmo A*

    A* encuentra la solucin ptima siempre que la funcin heurstica cumpla la condicin de minorancia:

    h(e) h*(e) "eh(e) valor del heurstico en el estado eh*(e) coste real del menor camino desde e hasta el estado solucinLa distancia eucldea cumple la condicin de minorancia

    Utiliza dos nuevos elementos:

    Programacin dinmica: si hay dos caminos que llegan al mismo nodo, se eliminan los de mayor coste

    Funcin de estimacin: f(c) = g(c) + h(c)g(c) coste acumulado desde el inicio hasta el estado actualh(c) valor del heurstico desde el estado actual hasta el objetivof(c) estimacin del coste total que tendr el camino solucin

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

    A* ( INICIO OBJETIVO HEURISTICO COSTE )

    1. Formar la lista CP de caminos pendientes (lista de posibles caminos solucin). 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 Aadir E por detrs a la lista CP Ordenar la nueva lista CP de menor a mayor segn la funcin

    de estimacin (HEURISTICO + COSTE acumulado) Aplicar programacin dinmica: si hay dos caminos que llegan

    al mismo nodo, se elimina el de mayor coste

    3. Si CP = { }, devolver FALLOen caso contrario, devolver como solucin el primer camino

  • Exploracin de rboles de JuegosExploracin de rboles de Juegos

    Fco. Javier Alcal Casado

  • Exploracin de rboles de juegoExploracin de rboles de juego

    Introduccin

    Juegos de suma cero

    Implementacin de juegos

    Los jugadores y la heurstica

    Algoritmo Minimax

    Algoritmo Alfa-beta

  • IntroduccinIntroduccin

    Shannon (1950) public Programando un ordenador para jugar al ajedrez

    El ajedrez plantea problemas similares a los de la deduccin lgica: 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 matemtico como teora de juegos de suma cero de dos jugadores con informacin completa

    Juego de suma cero: aqul en el que los intereses de los jugadores son contrarios. Si uno gana el otro pierde

    Juego de informacin completa: aqul en el que cada jugador conoce las posibles jugadas que puede realizar el adversario

  • Juegos de suma ceroJuegos de suma cero

    Caractersticas:

    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 eleccin sobre todas las jugadas posibles. La eleccin 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

  • Implementacin de juegosImplementacin de juegos

    Son necesarios 4 elementos:

    abstraccin de datos: para almacenar y representar el tablero (estado del juego)

    generador de movimientos: genera todas las posibles jugadas inmediatas a partir de una situacin del juego

    funcin heurstica: devuelve un valor, llamado valor esttico, que evala cmo de favorable es cada jugada para orientar al algoritmo de bsqueda

    estrategia de bsqueda: permite decidir qu estrategia es la ms apropiada en cada momento

  • Los jugadores y la heursticaLos jugadores y la heurstica

    Se consideran dos jugadores, MAX y MIN, que intentan maximizar y minimizar la funcin heurstica

    MAX (ordenador) elige la posicin que tenga ms valor en la evaluacin de la funcin heurstica

    MIN (adversario) elige la posicin con menos valor

    La funcin heurstica debe asignar valores tanto mayores cuanto mejor sea el estado del juego. Los valores debern ser positivos para MAX y negativos para MIN

    Si MAX gana, la funcin devolver +; si gana MIN, -

  • Algoritmo MinimaxAlgoritmo Minimax

    El objetivo es encontrar una buena jugada rpidamente

    La generacin y la exploracin del rbol estn separadas

    Algoritmo:

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

    Calcular los valores estticos para los nodos hoja

    Explorar desde el nivel n hasta la raz: 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 raz

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

    ALFA-BETA (nodo, profundidad, F, a, b, jugador)

    Iniciar a, b localmenteSi profundidad = 0 es final de juego, devolver FSi jugador = MIN

    Repetir hasta terminar todos los hijos a bV = ALFA-BETA ( HIJOi, profundidad-1, F, a, b, MAX)Si V < b entonces b = V

    Si a b, devolver - (corte b); si no, devolver bSi jugador = MAX

    Repetir hasta terminar todos los hijos a bV = ALFA-BETA ( HIJOi, profundidad-1, F, a, b, MIN)Si V > a entonces a = V

    Si a b, devolver + (corte a); si no, devolver a

  • Planificacin de TareasPlanificacin de Tareas

    Fco. Javier Alcal Casado

  • Planificacin de TareasPlanificacin de Tareas

    Visin general

    Mtodo STRIPS

    Operador STRIPS

    Algoritmo STRIPS

  • Cogercuchillo

    Visin GeneralVisin General

    La planificacin pertenece al campo de resolucin de problemas

    La planificacin se basa en la divisin de un problema en subproblemas ms pequeos que se resuelven por separado. La combinacin de todas las subsolucionesforma la solucin del problema original

    Barra depan entera

    Tenedor enla mano

    Pan cortado

    Cortarpan

    Dejartenedor Mano libre Cuchillo en

    la mano

  • Visin General (II)Visin General (II)

    La planificacin debe encontrar un conjunto de acciones, operaciones o tareas que transformen un estado inicial en un estado objetivo

    La solucin del problema estar formada por una sucesin de operaciones denominado plan

    PLAN = { Dejar Tenedor, Coger Cuchillo, Cortar Pan }

  • Visin General (II)Visin 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 aportacin de GPS a los planificadores de tareas se centra en la organizacin de los datos:

    Selector: atributo que define una caracterstica relevante del entorno del problema (subobjetivos)

    Estado: conjunto de selectores que definen una situacin del mundo en un instante concreto

    Operador: accin que transforma un estado en otro

  • Mtodo STRIPSMtodo STRIPS

    STRIPS (STanford Research Institute Problem Solver) utiliza la lgica para mejorar la resolucin del problema

    Utiliza gran parte de los elementos del sistema GPS

    Realiza una exploracin en profundidad sobre el espacio de estados del problema (despliega un rbol)

    Opcionalmente, proporciona un mecanismo de aprendizaje utilizando la informacin de tareas resueltas previamente (tablas triangulares)

  • Operador STRIPSOperador STRIPS

    Un operador STRIPS consta de los siguientes elementos:

    Nombre del operador

    Parmetros del operador. Son opcionales

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

    Lista de Adicin (A): lista de selectores que se aaden al estado actual al aplicar el operador

    Lista de Supresin (S): lista de selectores que se suprimen del estado actual al aplicar el operador

  • 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 exploracin 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 aqul en el cual, para alcanzar un determinado objetivo A, es necesario que A se cumpla

  • 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

    aadiendo selectores), suprimirlo de la cima (PLAN++)SI la cima de la PILA es una conjuncin de selectoresENTONCES SI se verifica la conjuncin

    ENTONCES suprimirla de la cimaEN CASO CONTRARIO aadir la precondicin que falla

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

    SI el selector aparece ms 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 adicin el selector de la cima de la pila

    POR CADA operadorAadir la instancia del operadorAadir la conjuncin de sus precondicionesAadir cada una de sus precondiciones

    SI PILA ENTONCES devolver FALLO, no hay solucinEN CASO CONTRARIO hemos ejecutado el PLAN

  • Aprendizaje Simblico a partir de EjemplosAprendizaje Simblico a partir de Ejemplos

    Fco. Javier Alcal Casado

  • Aprendizaje Simblico a partir de EjemplosAprendizaje Simblico a partir de Ejemplos

    Introduccin

    Parmetros del algoritmo ID3

    Algoritmo ID3

    Generacin de las reglas derivadas del rbol ID3

  • IntroduccinIntroduccin

    El aprendizaje automtico se puede clasificar en: Mtodos simblicos: basados en smbolos Sintticos o inductivos: ID3 Analticos o deductivos

    Mtodos subsimblicos: basados en cantidades numricas

    El objetivo del algoritmo ID3 consiste en clasificar varios elementos, utilizando ejemplos y valores de condicin, representndolos en forma de rbol de decisin

    Cada ejemplo es un individuo

    Los valores de condicin son propiedades

    Los elementos se clasifican segn el valor de una propiedad concreta binaria llamada resultado (con 2 valores posibles)

  • Introduccin (II)Introduccin (II)

    El rbol de decisin resultante determina el conjunto al que pertenece un individuo segn 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 entropa.La entropa mide la cantidad de informacin necesaria para representar los datos de un conjunto (n bits).A menor valor de entropa, mayor orden en los datos

  • Parmetros del algoritmo ID3Parmetros del algoritmo ID3 Del conjunto inicial de ejemplos se definen: nt: nmero 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 )

  • Parmetros del algoritmo ID3 (II)Parmetros del algoritmo ID3 (II) Estos parmetros se utilizan para calcular la entropa:

    Entropa de un conjunto

    Entropa del valor de una propiedad decisora

    Entropa media de una propiedad decisora

    (Recordatorio: ; si x=0, )

    Un conjunto es homogneo si todos los ejemplos dan como resultado el mismo valor cUn conjunto es equilibrado si los valores de su propiedad resultado son equiprobables (mxima entropa)

    -=-=c c t

    c

    t

    ccc n

    nnn

    PPEntropa 22 loglog

    -=-=c c b

    bc

    b

    bcbcbc n

    nnn

    PPbEntropa 22 loglog)(

    -*=*=db c b

    bc

    b

    bc

    db t

    bb n

    nnn

    nn

    bEntropaPddiaEntropaMe 2log)()(

    2lnln

    log2x

    x = 0log2 =xx

  • Algoritmo ID3Algoritmo ID3

    ID3 ( Conjunto, P )SI Entropa = 0

    Devolver un nodo hoja etiquetado con la claseSI NO

    Calcular EntropiaMedia(P)Seleccionar la PROPIEDAD con menor EntropiaMediaHacer PROPIEDAD raz 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 )

  • Generacin de las reglas derivadas del rbol ID3Generacin 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 raz hasta las hojas

    El antecedente de cada regla se crea tomando la etiqueta de la raz ms la etiqueta de la rama que recorre

    Se aade un AND por cada pareja raz-rama que se recorre

    El consecuente de la regla es el nodo hoja

  • Aprendizaje con Algoritmos GenticosAprendizaje con Algoritmos Genticos

    Fco. Javier Alcal Casado

  • Aprendizaje con Algoritmos GenticosAprendizaje con Algoritmos Genticos

    Introduccin

    Componentes de un Algoritmo Gentico

    Representacin de individuos

    Procedimientos generales de eleccin aleatoria

    Operador seleccin

    Operador emparejamiento

    Operador mutacin

    Algoritmo general

  • IntroduccinIntroduccin

    Los algoritmos genticos son adecuados cuando se dispone de mecanismos para establecer el rendimiento de un sistema, modificando ciertos parmetros

    El problema de aprendizaje consiste en encontrar una configuracin adecuada de los parmetros, para que el rendimiento sea ptimo

    Ejemplo: ajuste del flujo de agua de un generador hidroelctrico para que la produccin elctrica sea mxima

    Los algoritmos genticos se apoyan en las teoras evolutivas de Charles Darwin (1859, El Origen de las Especies)

  • Introduccin (II)Introduccin (II)

    En cada generacin se crea un nuevo conjunto de individuos utilizando parte del material gentico de los mejores individuos de la generacin anterior

    Objetivos de los algoritmos genticos:

    abstraer y explicar los procesos adaptativos de los sistemas naturales

    disear sistemas artificiales basados en estos procesos

    La principal caracterstica es la robustez del sistema

    Surge una nueva rama, la Programacin Gentica: generacin automtica de programas que evolucionan para resolver cada vez mejor la tarea encomendada

  • Principios de Evolucin por Seleccin NaturalPrincipios de Evolucin por Seleccin Natural

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

    2. La naturaleza produce individuos con rasgos diferentes

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

    4. Durante largos perodos de tiempo se puede acumular la variacin produciendo nuevas especies completamente adaptadas a nichos particulares

  • Componentes de un Algoritmo GenticoComponentes de un Algoritmo Gentico

    Los componentes bsicos de un algoritmo gentico son los siguientes:

    Una representacin para los individuos

    Una funcin de calidad, que da una medida del grado de adaptacin de un individuo al medio

    Un operador seleccin, con probabilidad de seleccin de cada individuo proporcional a la calidad (principio 3)

    Un operador emparejamiento o reproduccin, que producir nuevos individuos en la siguiente generacin (principio 1)

    Un operador mutacin, capaz de alterar el cdigo de los nuevos individuos, incrementando la riqueza gentica de la poblacin (principio 2)

  • Representacin de IndividuosRepresentacin 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 W. Cada carcter es un gen

    Dado un cromosoma C, se puede construir el individuo I al que representa aplicando una funcin

    Normalmente se utiliza el alfabeto binario, W = {0,1}

  • Procedimientos Generales de Eleccin AleatoriaProcedimientos Generales de Eleccin Aleatoria

    Se utiliza una funcin random(), devuelve un real [0,1)

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

    A) Ejecutar una accin con probabilidad p:

    IF (random() < p) THEN

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

    valor aleatorio

    E1 E2 E30 1/N 2/N 3/N 1...

  • Procedimientos Generales de Eleccin Aleatoria (II)Procedimientos Generales de Eleccin Aleatoria (II)

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

    E1 E2 E30 a1 a2 a3 1...

    =

    =k

    iik pa

    1

  • Operador SeleccinOperador Seleccin

    Cada vez que se necesita, se extraen ciertos individuos de la poblacin. Para ello, se calcula la probabilidad de seleccin de cada individuo proporcional a la calidad

    Existen dos mtodos: estndar y del rango

    Mtodo estndar:

    Establecer la calidad de cada individuo de la poblacin

    Calcular la probabilidad de seleccin de cada individuo dividiendo cada calidad por la calidad total

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

  • Operador Seleccin (II)Operador Seleccin (II)

    Mtodo del rango:

    Fijar una probabilidad a priori de eleccin, p

    Establecer la calidad de cada individuo de la poblacin

    Ordenar los individuos segn 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

  • Operador EmparejamientoOperador Emparejamiento

    Este operador intercambia informacin gentica 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

  • Operador MutacinOperador Mutacin

    Altera aleatoriamente el cdigo gentico de un individuo para variar ligeramente sus caractersticas

    Permite que aparezcan rasgos en los nuevos individuos que no existan antes en la poblacin original

    La probabilidad de aplicacin de este operador debe ser pequea

    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 W

  • 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 SELECCIN 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

    Aadir el resultado a NUEVA_POBLACION Copiar NUEVA_POBLACION en POBLACION

    Devolver el individuo con mayor calidad de POBLACION


Recommended