APRENDIZAJE AUTOMATICO
BASADO EN INTERCAMBIO DE OPERADORES EN SISTEMAS INTELIGENTES AUTONOMOS TESIS DE GRADO EN INGENIERIA INFORMATICA
FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES
TESISTA: Sr. Pablo MACERI
DIRECTOR: Prof. Dr. Ramón GARCIA-MARTINEZ Laboratorio de Sistemas Inteligentes
JUNIO 2001
Resumen
Los sistemas inteligentes que actúan de forma autónoma en un ambiente tienen que ser capaces de integrar tres comportamientos básicos: aprendizaje, planificación y ejecución.
Esta integración es imprescindible cuando se requiere del sistema un desempeño satisfactorio en ausencia de conocimiento sobre cómo sus acciones pueden afectar el ambiente en el cual funciona o cómo reacciona éste a sus acciones.
En este contexto, los sistemas inteligentes autónomos (SIA) deben ser capaces de aprender el comportamiento de su ambiente y estructurar este aprendizaje mediante la formulación de teorías de su funcionamiento (operadores). Por otra parte, deben ser capaces de autoproponerse objetivos y construir planes (a partir de la teoría de funcionamiento del ambiente que han aprendido) para alcanzarlos.
En este trabajo, se estudia de qué manera la interacción entre sistemas inteligentes autónomos, que intercambian los operadores aprendidos en un mismo ambiente, mejora el comportamiento individual acelerando la convergencia del aprendizaje y el rendimiento general para alcanzar los objetivos autopropuestos por el SIA.
Palabras claves: Planificación, aprendizaje no supervisado, sistemas inteligentes autónomos, formación y revisión de teorías, cooperación entre agentes.
Abstract
Intelligent systems that act autonomously in an environment have to be able to integrate three basic behaviors: learning, planning and execution. This integration is mandatory when the system must have a satisfactory performance without any knowledge about how its actions can affect the environment in which it runs or how the environment reacts to its actions.
In this context, autonomous intelligent systems (AIS) have to be able to learn the enviroment’s behavior and to structure this learning by the formulation of theories about his permormace (operators). Moreover, they have to be able to self-propose goals and set- up plans for achieving them.
This work studies how the interaction between autonomous intelligent systems, that share the operators learnt in the same environment, improves the individual performance increasing the learning convergence speed and the general performance to achieve the AIS self-proposed goals.
Keywords: Planning, unsupervised machine learning, autonomous intelligent systems, theory formation and revision, cooperation between agents.
Capítulo 1 - Introducción 1 Capítulo 2 - Estado de la Cuestión 5
2.1. GINKO: Una arquitectura integrada para aprendizaje y planificación en robótica 5 2.2. PRODIGY: una arquitectura integrada para planificación y aprendizaje 7 2.3. Un Análisis de Soar como una Arquitectura Integrada 10 2.4. LIVE: una arquitectura para aprendizaje del entorno 13 2.5. Dyna, una Arquitectura Integrada para Aprendizaje, Planificación 15
2.6. Sistema de Christiansen 18
2.7. Sistema de Hayes-Roth 20
2.8. Sistema Inteligente Autónomo 22
Capítulo 3 - Descripción del Problema 25
3.1. Introducción 25
3.2. Integración SIA-Khepera 26
3.3. El problema de la extensión del modelo del SIA 26
3.4. Interacción entre intercambio de operadores y otras estrategias 26
3.5. Lugar de las soluciones 27
Capítulo 4 - Solución Propuesta 29
4.1. Introducción 29
4.2. Representación del modelo de teoría 31
4.3. Descripción General del Sistema 32
4.4. Arquitectura del Sistema 34
4.5. Entorno del Sistema 35
4.6 Sistema Sensor 36
4.7. Módulo de Aprendizaje 37
4.8. Módulo Planificador 38
4.9. Módulo Ponderador de Planes 42
4.10. Módulo Controlador de Planes en Ejecución 45
4.11. Módulo de Intercambio de Teorías 45
4.12. Ejemplo Integrador 50
Capítulo 5 - Experimentos 71
5.1. Introducción 71
5.2. Diseño Experimental 71
5.3. Gráficas y su Interpretación 73
Capítulo 6 - Conclusiones 83
Referencias 87 Anexo A - Simulador Khepera versión 2.0 95
A.3. Programación 99
A.4. Reconocimientos 105
A.5. Referencias 106
A.6. Apéndice: Librería de funciones 107
A.7. Apéndice: Estructura de directorios 111
A.8 Apéndice: Comandos seriales Khepera 112
A.9. Apéndice: multirobots.h 113
A.10. Preguntas más frecuentes del Simulador Khepera 115
Anexo B - Escenarios 121 Anexo C - Datos Experimentales 129
Anexo D - Documentación del Sistema 135
D.1. Introducción 135
D.3. Instalación de los archivos fuente del SIA 136
D.4. Integración del SIA al Khepera 140
D.5. Descripción de los archivos fuente 141
D.6. Esquema de interacción de los módulos 145
D.7. Diagramas de estructura 146
D.8. Comandos implementados 149
D.9. Estructuras de datos 150
D.10. Formato de los archivos de estadísticas 153
Anexo E - Código Fuente 155
Capítulo 1 Introducción
El Aprendizaje Automático es una disciplina dentro de los Sistemas Inteligentes cuya importancia ha quedado establecida desde hace dos décadas [Anderson y Kline, 1979].
De las variadas formas que se han explorado, la que mejor modeliza el aprendizaje humano es la que toma en los sistemas con aprendizaje por observación y descubrimiento.
Bock [1985] sostiene que no se puede hablar de Sistemas Inteligentes sino hay Aprendizaje Automático. En apoyo de la postulación de Bock sobre aprendizaje, Rauch- Hindin [1985] sostiene que los sistemas que pueden observar y aprender a manejar cambios incesantes en los entornos de funcionamiento son el sueño de las organizaciones e industrias. Sostiene también el principio de que los programas de aprendizaje permiten comprobar teorías de aprendizaje [Moravec, 1988] y define los sistemas de producción adaptativos como sistemas que aprenden nuevas reglas basadas en lo que han observado [Carbonell, 1983; Eiter y Gotlob, 1992; Falkenhaimer, 1990; Christiansen, 1992], agregando estas nuevas reglas al sistema de producción existente.
Un sistema inteligente autónomo ha sido definido [Fritz y otros, 1989; 1990; García Martínez y Borrajo, 1996] como aquél que puede descubrir y registrar si una acción hecha en una situación dada fue favorable. Entra dentro de los sistemas que aprenden por observación y descubrimiento por experimentación activa [Wang, 1994; 1995].
Los sistemas inteligentes autónomos formulan operadores que en conjunto constituyen un modelo de como el entorno que los circunda funciona [García Martínez, 1992a]. Tal modelo es parcial pero tiene la consistencia suficiente [García Martínez, 1993a; 1993b;
1995] como para ser utilizado por su carácter predictivo en procesos de planificación suficiente [García Martínez, 1996; 1997a; García Martínez et al., 1998a; 1998b; García Martínez et al., 1999a; 1999b].
En este contexto, el propósito de este proyecto es estudiar de que manera la interacción entre sistemas inteligentes autónomos mejora el modelo de funcionamiento del entorno que cada sistema va formando y cómo se integran en dicha interacción los modelos de refuerzo [Sutton, 1984].
En este trabajo se parte del modelo de sistema que integra planificación, aprendizaje, y ejecución en un ciclo cerrado, mostrando un comportamiento inteligente autónomo. El sistema obtiene operadores de aprendizaje y planificación mediante la observación de las consecuencias de ejecutar acciones planeados en el ambiente. Para acelerar la convergencia, se utilizan heurísticas de generalización de las observaciones. Se usan estimadores de probabilidad para manejar las contradicciones que presentan los operadores de planificación generados. El mecanismo de aprendizaje no solo permite adquirir descripciones de los operadores, sino también adaptar dichas descripciones a los cambios del ambiente.
En este trabajo se presenta una extensión del mecanismo de aprendizaje que permite compartir el conocimiento entre varios agentes. El resultado de usar una arquitectura multiagente muestra cómo la interacción con otros sistemas de aprendizaje mejora la convergencia del aprendizaje y el comportamiento exitoso.
El objetivo del sistema es planificar de una manera autónoma para alcanzar objetivos auto propuestos, ejecutar los planes, encontrar divergencias en los planes o corregir el comportamiento, y aprender operadores (modelos) que predicen los efectos de las acciones en el ambiento, observando las consecuencias de dichas acciones. Varios agentes pueden intercambiar el conocimiento bajo un mismo entorno de manera de mejorar su rendimiento y acelerar la convergencia del aprendizaje.
En el capítulo 2 se establece el estado del dominio de conocimiento sobre arquitecturas inteligentes describiendo la arquitectura del sistema GINKO (sección 2.1), la arquitectura del sistema PRODIGY (sección 2.2), la arquitectura del sistema SOAR (sección 2.3), la arquitectura LIVE (sección 2.4), la arquitectura DYNA (sección 2.5), el sistema de Christiansen (sección 2.6), el sistema de Hayes-Roth (sección 2.7) y por último el sistema inteligente autónomo (sección 2.8).
En el capítulo 3 se presenta el entorno en el cual se plantea el problema a abordar en la tesis (sección 3.1), se señalan cuestiones relativas a la integración de la arquitectura elegida con una plataforma estandar (sección 3.2), surgen las cuestiones relativas a la extensión de la arquitectura elegida (sección 3.3), se señalan aspectos a explorar como resultado de la interacción como estrategia de aprendizaje (sección 3.4), y se identifican otras partes de la tesis donde se abordan las cuestiones precedentemente tratadas (sección 3.5).
En el capítulo 4 se presenta una introducción al sistema implementado y la plataforma utilizada (sección 4.1), la representación del modelo de teoría (sección 4.2), se da la descripción general del sistema (sección 4.3), se explica su arquitectura (sección 4.4), se describe el entorno del sistema (sección 4.5), se describe el sistema sensor (sección 4.6), se explica el módulo de aprendizaje (sección 4.7), se da una descripción del módulo planificador (sección 4.8), se explica el módulo ponderador de planes (sección 4.9), se presenta el módulo controlador de planes en ejecución (sección 4.10) y se explica el módulo de intercambio de teorías (sección 4.11). Por último, se detalla un ejemplo integrador de la funcionalidad del sistema (sección 4.12).
En el capítulo 5 se presentan los resultados experimentales del comportamiento del sistema inteligente autónomo implementado en la plataforma Khepera. Se da una introducción (sección 5.1), luego se da una visión del diseño experimental (sección 5.2) y por último, se muestran gráficamente los resultados obtenidos y su interpretación (sección 5.3).
En el capítulo 6 se toman las cuestiones abordadas en el capítulo 3 y se sumarizan las respuestas a las mismas que aparecen a lo largo de la tesis.
En el anexo A se presenta una adaptación del documento de dominio público preparado por Oliver Michel (E-mail: [email protected]) sobre el manual del usuario del Simulador Khepera versión 2.0 y la preguntas más frecuentes sobre el mismo. Se da el acuerdo de licencia (sección A.1), una introducción (sección A.2), la explicación sobre la programación del simulador (sección A.3), los reconocimientos (sección A.4), las referencias del manual (sección A.5), el apéndice sobre la librería de funciones (sección A.6), el apéndice con la estructura de directorios (sección A.7), el apéndice con los comandos seriales del Khepera (sección A.8), un apéndice con el archivo multirobots.h (sección A.9) y las preguntas más frecuentes del simulador Khepera (sección A.9)
En el anexo B se presentan los distintos escenarios seleccionados para realizar los experimentos descriptos en el capítulo 5. En el anexo C se muestran los datos obtenidos durante la ejecución del diseño experimental.
En el anexo D se presenta la documentación del sistema. Se da una introducción (sección D.1), se explica la descarga y compilación del simulador Khepera (sección D.2), se da una explicación sobre la instalación de los archivos fuentes del sistema inteligente autónomo (sección D.3), se explica la integración del SIA al Khepera (sección D.4), se da una explicación de los archivos fuente (sección D.5), se presenta el esquema de
interacción de los módulos (sección D.6), se explican los diagramas de estructura del sistema implementado (sección D.7), se dan los comandos implementados (sección D.8), se explican las estructuras de datos utilizadas (sección D.9) y se presenta el formato de los archivos de estadísticas (sección D.10).
Por último, en el anexo E se presenta el código fuente de la implementación del sistema inteligente autónomo integrado a la plataforma Khepera.
Capítulo 2
Estado de la Cuestión
En este capítulo se establece el estado del dominio de conocimiento describiendo la arquitectura del sistema GINKO (sección 2.1), la arquitectura del sistema PRODIGY (sección 2.2), la arquitectura del sistema SOAR (sección 2.3), la arquitectura LIVE (sección 2.4), la arquitectura DYNA (sección 2.5), el sistema de Christiansen (sección 2.6), el sistema de Hayes-Roth (sección 2.7) y por último el sistema inteligente autónomo (sección 2.8).
2.1. GINKO: Una arquitectura integrada para aprendizaje y planificación en robótica
El sistema GINKO [Barbehenn y Hutchinson, 1991] consiste de cuatro componentes principales. Consta de un conjunto de sensores que son actualizados continuamente.
Posee una memoria que es dividida conceptualmente en dos partes: un modelo del mundo y las lecturas de los sensores que le dan importancia y soporte a ese modelo. Tiene un componente de inducción que forma un modelo del mundo consistente con los datos. Y finalmente, posee un elemento de ejecución que consiste de un planificador y monitores de planes en ejecución. El elemento de ejecución es responsable de llevar a cabo tareas en el ambiente y es completamente dependiente de los sensores y del modelo del mundo.
En la figura 2-1 se muestra un diagrama de la arquitectura.
Figura 2-1: arquitectura del sistema GINKO
Sensores
MEMORIA
Lecturas de
los sensores Modelo
del mundo
INDUCCION
Aprendizaje
EJECUCION
Planificación
Ejecución ENTORNO
2.1.1. Aprendizaje
Para cada par operador/sensor se particiona el espacio de configuración en regiones de comportamiento cualitativo uniforme. Sobre cada región, el efecto de ejecutar ese operador es incrementar, decrementar, o dejar sin cambios, el valor del sensor. Luego se combinan las particiones asociadas a cada operador para formar una representación compuesta de los efectos de ese operador.
Los operadores se dividen en regiones y cada región de comportamiento cualitativo uniforme de cada partición de un operador es una región característica de ese operador.
Cada región característica predice el cambio cualitativo en los valores del sensor que resultarán de ejecutar el operador asociado a esa región.
2.1.2. Planificación
El problema de la planificación consiste en encontrar una secuencia de operadores que, cuando se ejecuten, lleven al robot de una configuración inicial (generalmente la configuración actual) a alguna configuración que satisfaga el objetivo propuesto. El planificador del GINKO usa directamente las particiones de los operadores para construir sus planes. El planificador utiliza un algoritmo convencional de búsqueda encadenada hacia atrás desde la región objetivo hacia la configuración inicial.
2.1.3. Ejecución y monitoreo
Los planes generados por el planificador de GINKO son abstractos en el sentido de que son cualitativos e imprecisos. Un plan concreto es generado por asociación de monitores de ejecución con los operadores programados. El efecto principal de estos monitores es usar los sensores para detectar sucesos inesperados o fallas, y volver a planificar localmente cuando sea necesario.
Un plan no tiene garantía de tener éxito ya que los efectos de los operadores son capturados sólo cualitativamente y, en general, pueden ser caracterizados incorrectamente. Podría parecer que un solo operador es efectivo para alcanzar un objetivo cuando en realidad se necesita una interpolación de varios operadores para dirigirse al objetivo, para corregir desviaciones cuantitativas de la trayectoria deseada.
Es importante saber que las particiones de los operadores son el resultado de la generalización de la experiencia y son sólo una aproximación. Las inconsistencias pueden introducir errores en el plan. En dichos casos, los bordes de las regiones deben redefinirse y se debe generar un plan más preciso. Se pueden hacer refinamientos de las regiones características inmediatamente o postergarlas por ejemplo hasta la falla del plan en ejecución. El refinamiento puede ser incremental o un reparticionamiento total del espacio de configuración.
2.1.4. Control
El elemento de ejecución es responsable de la selección y ejecución de los operadores. En general, el componente de aprendizaje es activado por el elemento de ejecución ante una falla en la ejecución del plan si la estrategia de refinamiento es pasiva, o puede ser activado por el proceso de integración de datos asociado con el almacenamiento de las lecturas de los sensores si la estrategia de refinamiento es activa.
2.2. PRODIGY: una arquitectura integrada para planificación y aprendizaje
Un problema consiste de un estado inicial y una expresión objetivo. Para resolver un problema, el sistema PRODIGY [Carbonell y otros, 1991] debe encontrar una secuencia de operadores que, si se aplican a un estado inicial, produce un estado final satisfaciendo la expresión objetivo. El árbol de búsqueda inicialmente comienza como un solo nodo que contiene el estado inicial y la expresión objetivo. El árbol se va expandiendo al repetir los siguientes pasos:
1. Fase de decisión: hay cuatro tipos de decisiones que PRODIGY toma durante el problema de resolución. Primero, debe decidir qué nodo en el árbol de búsqueda expandirá. Cada nodo consiste de un conjunto de objetivos y un estado que describe el mundo. Luego, se selecciona un nodo, se debe seleccionar algún nodo objetivo, y se debe elegir un operador relevante a este objetivo. Finalmente, se debe decidir sobre un conjunto de relaciones entre los parámetros de ese operador.
2. Fase de expansión: si las precondiciones del operador instanciado se satisfacen, el operador es aplicado. En caso contrario, PRODIGY prepara subobjetivos sobre las precondiciones que no coincidieron. En ambos casos, se crea un nuevo nodo con información actualizada sobre el estado o los subobjetivos.
La búsqueda termina luego de crear un nodo cuyo estado satisface la expresión objetivo de mayor nivel.
Como PRODIGY intenta resolver un problema, debe tomar decisiones sobre qué nodo expandir, sobre qué objetivo trabajar, qué operador aplicar, y qué objetos usar. Estas decisiones pueden ser influenciadas por un control de reglas para incrementar la eficiencia de la búsqueda de solución del problema y para mejorar la calidad de las soluciones que se encuentran.
En vez de utilizar una estrategia de búsqueda de menor compromiso, PRODIGY espera que cualquier decisión importante será guiada por la presencia de un control de conocimiento apropiado. Si para una decisión no hay ninguna regla de control relevante, entonces PRODIGY toma una alternativa rápida y arbitraria. Si de hecho se toma una alternativa incorrecta, se hará un intento para aprender el conocimiento de control que se debe haber perdido.
Las reglas de control pueden ser utilizadas para guiar los cuatro tipos de decisiones descriptos anteriormente. Cada regla de control tiene por un lado una condición de prueba de aplicabilidad y por otro lado, indica si SELECCIONAR, RECHAZAR ó PREFERIR un candidato particular. Para hacer una decisión de control, dados un conjunto de candidatos (nodos, objetivos, operadores, ó relaciones, dependiendo de la decisión), PRODIGY primero pone en práctica las reglas de selección aplicables para seleccionar un subconjunto de los candidatos. Si ninguna regla de selección es aplicable, se incluyen todos los candidatos. Luego, las reglas de rechazo filtran este conjunto por eliminación explícita de los candidatos restantes, y finalmente las reglas de preferencia se usan para encontrar la alternativa más favorita. Si es necesario volver hacia atrás, se intenta con los candidatos favoritos siguientes, y así, hasta que se encuentra una solución global, o hasta que todos los candidatos seleccionados y no rechazados se acaben.
El solucionador de problemas general de PRODIGY se combina con varios módulos de aprendizaje. El solucionador de problemas produce un árbol de búsqueda completo, encapsulando todas las decisiones (las correctas e incorrectas) como también la solución final. Esta información es usada por cada componente de aprendizaje de diferentes maneras. En la figura 2-2 se puede observar el diagrama de la arquitectura de PRODIGY.
Junto con el solucionador de problemas central, PRODIGY posee los siguientes componentes de aprendizaje:
APRENDIZ: una interfase de usuario que puede participar en un diálogo parecido a un aprendiz [Joseph, 1989], permitiendo al usuario evaluar y guiar la resolución de problemas y el aprendizaje del sistema. La interfase es gráfica y está ligada directamente con el solucionador de problemas, de manera que los dos puedan adquirir conocimiento del dominio o aceptar consejos mientras el sistema está resolviendo un problema.
EBL: una característica de aprendizaje basado en la explicación [Minton, 1988] para adquirir reglas de control de trazado de la resolución de problemas. Las explicaciones son construidas de una teoría axiomática que describe tanto el dominio como los aspectos relevantes de la arquitectura del solucionador de problemas. Entonces, las descripciones resultantes son expresadas de la forma de reglas de control, y se retienen aquellas reglas de control cuya utilidad en la reducción de búsqueda valen más que el tope de su aplicación.
ESTATICO: un método para aprender reglas de control analizando las descripciones del dominio antes de la resolución del problema. El programa ESTATICO produce reglas de control sin utilizar ningún ejemplo de entrenamiento [Etzioni, 1991].
ANALOGIA: un motor de analogía derivacional [Veloso y Carbonell, 1990] que para resolver nuevos problemas usa problemas similares resueltos anteriormente. El solucionador de problemas guarda las justificaciones para cada decisión durante su proceso de búsqueda. Estas justificacioones son usadas luego para guiar la reconstrucción de la solución de subsecuentes situaciones de resolución de problemas donde las justificaciones similares se mantienen verdaderas.
ALPINE: un módulo de aprendizaje por abstracción y planificación [Knoblock, 1991]. El conocimiento del dominio axiomatizado se divide en múltiples niveles de abstracción basado en el análisis del dominio. Luego, durante la resolución del problema, PRODIGY primero encuentra una solución en un espacio abstracto y después usa la solución abstracta para guiar la búsqueda para soluciones en problemas de espacios más detallados.
EXPERIMENTACION: un módulo de aprendizaje por experimentación para refinar conocimiento del dominio que es incompleto o está especificado incorrectamente [Carbonell y Gil, 1990]. La experimentación se dispara cuando el monitoreo de planes en ejecución detecta una divergencia entre las espectativas internas y las observaciones externas. El foco principal de la experimentación es refinar el conocimiento fáctico del dominio, en vez del conocimiento de control.
Figura 2-2: arquitectura del sistema PRODIGY
Todos los módulos de aprendizaje están en cierta medida integrados ya que todos dan las mismas definiciones del dominio y comparten el mismo solucionador de problemas y estructuras de datos. El conocimiento aprendido por cada módulo luego es incorporado en la base de conocimiento.
2.3. Un Análisis de Soar como una Arquitectura Integrada
La arquitectura Soar [Lair y otros, 1991] puede ser descripta en tres niveles: el nivel de conocimiento [Newell, 1982 ; Rosenbloom y otros, 1991], el nivel del espacio del problema [Newel y otros, 1991] y el nivel de símbolos.
En el nivel del espacio del problema, Soar está descripto en términos de la diversidad de los espacios del problema que usa en una tarea, y dentro de un espacio de problema, los
EBL
Librería de planes
Extractor derivativo
Trazado PS
Solución
Experimentador
Procesos externos
Repetición deriv.
Multi- nivel SOLUCIONADOR
DE PROBLEMAS Lineal / No lineal
Interfase de usuario
Jerarquía de abstracción Aprendizaje de
abstracción Problema
Conocimiento de control
Conocimiento de dominio ESTATICO
estados y operadores que usa para resolver los problemas dentro de ese espacio. En este nivel, se pueden identificar espacios de problemas especializados para interacciones externas, procesamiento de lenguaje natural, diseño, etc. También hay espacios de problemas generales que soportan los cómputos requeridos para los espacios de problemas especializados. Por ejemplo, Soar tiene un espacio de problema de selección que es usado para un meta-nivel de control, y conjunto de espacios de problemas para realizar operaciones aritméticas.
De esta manera, Soar no tiene módulos predefinidos para las distintas tareas de un agente inteligente, como comprensión de lenguaje natural, generación de lenguaje natural, diseño, etc. Sino que, la arquitectura soporta los espacios de problemas que contienen el conocimiento relevante para estas tareas. Estos espacios de problemas son dinámicos por sí mismos, ya que se pueden crear nuevos operadores a través del aprendizaje, y hasta se pueden crear nuevos espacios de problemas a través de la experiencia.
La integración de los espacios de problemas se determinan con el mecanismo de subobjetivos, que crea subobjetivos automáticamente en respuesta a himpases. Un himpás surge cuando el conocimiento que está disponible para el problema es insuficiente (o inconsistente) para ejecutar las funciones básicas del espacio del problema, como seleccionar y aplicar operadores. El propósito del subobjetivo es eliminar el himpás a través de la resolución de problemas en un espacio de problemas. Así, los espacios de problemas se usan para ejecutar funciones de otro espacio de problema que no puede ser ejecutado directamente.
El nivel de símbolos tiene como propósito soportar las funciones primitivas necesarias para llevar a caso el nivel del espacio del problema. De esta manera, el nivel de símbolos debe proveer acceso al conocimiento relevante para la situación de solución de problemas corriente y los métodos para combinar ese conocimiento para ejecutar las funciones del espacio del problema, como la selección y aplicación de operadores. La arquitectura también provee las primitivas para la interacción con los ambientes externos mediante la definición de interfases para entrada y salida. Finalmente, la arquitectura soporta directamente la adquisición de nuevo conocimiento.
La figura 2-3 presenta una visión general del nivel de símbolos, incluyendo las memorias, los procesos que trabajan sobre los contenidos de las memorias, y el flujo de información entre ellos.
Figura 2-3: arquitectura del nivel de símbolos del sistema Soar
Los rectángulos son memorias, mientras que los triángulos son procesos que toman como entrada el contenido de las memorias que tienen a su lado. Comenzando de la izquierda superior, la memoria de preferencia recibe entradas del ambiente externo a través de los módulos de percepción como también directamente de los productores. La memoria de preferencia no recibe directamente los datos de la memoria de reconocimiento, sino que primero son procesados por el procedimiento de decisión, que computa los cambios a la memoria de trabajo basado en los contenidos de la memoria de preferencia.
La memoria de reconocimiento contiene el conocimiento permanente que es codificado como “producciones”. Las producciones son simples reglas “si-entonces” cuyas condiciones ponen a prueba las condiciones de la memoria de trabajo y cuyas acciones crean preferencias. Las producciones en la memoria de reconocimiento son apareadas con la memoria de trabajo y si es exitoso, se agregan preferencias a la memoria de preferencia.
Las preferencias que proponen nuevos objetos de contexto (espacios de problema, estados, y operadores) también son agregadas a la memoria de trabajo de manera que puedan servir como entrada para preferencias adicionales que determinarán qué objeto
Memoria de
preferencia Decisión
Memoria de trabajo
Acción
Memoria de reconocimiento
Comparar
Memoria de
trazado Encapsu-lamiento
Estructuras de grafos producciones
trazados de producciones
EJECUCION PERCEPCION
seleccionar como el actual. El flujo principal de información se muestra con flechas y el
“comparar” computa los cambios a la memoria de preferencia y “decisión” computa los cambios a la memoria de trabajo. Los contenidos de la memoria de trabajo también son procesados por “acción”, que envía comandos de motor al sistema de ejecutores. Mientras las producciones son apareadas y ejecutadas, los trazadores de producción instanciados son enviados a la memoria de trazado que luego es procesada por el encapsulamiento. La salida del encapsulamiento son nuevas producciones que son agregadas por la memoria de reconocimiento.
El mecanismo de aprendizaje utilizado por Soar es el de encapsulamiento (“chunking”) que le dan las siguiente propiedades:
- El aprendizaje es autónomo y no está bajo el control directo del conocimiento del dominio. Es así que, el aprendizaje no interfiere con otras actividades, simplemente ocurre. En contrapartida, no hay un comando simple que pueda ser usado para recordar un hecho declarativo, pero sin embargo, Soar debe emplear algunas actividades indirectas para aprender intencionalmente. El sistema debe crear de alguna manera una situación en la cual surja un himpás y el hecho por el que es llamado se vuelve el resultado del subobjetivo resultante.
- Surgen diferentes tipos de aprendizaje no de diferentes mecanismos de aprendizajes, sino a través de diferentes tareas y diferentes métodos para generar conocimiento dentro de los espacios de problemas.
- El encapsulamiento, como un mecanismo de aprendizaje, no puede mejorarse agregándole conocimiento. Sin embargo, el encapsulamiento incorporará nuevo conocimiento para resoluciones de problemas futuras. En particular, la calidad de los futuros comportamientos de aprendizaje se puede mejorar adquiriendo conocimiento que altera lo que ocurre en subobjetivos, y así alterar lo que se aprende.
2.4. LIVE: una arquitectura para aprendizaje del entorno
LIVE [Shen, 1991] es una arquitectura implementada para aprender del entorno. Dados un conjunto de acciones y percepciones, el sistema construye un conjunto de reglas de predicción, como el modelo del entorno, y las usa para alcanzar sus objetivos. Cada regla de predicción tiene tres partes: condición, acción, y predicción. Las condiciones y las predicciones se arman a partir de percepciones y de un conjunto de constructores, como
conectores lógicos ∨, ∧ y ¬, y funciones + y ∗. Las predicciones no cambian ninguna estructura de datos interna pero sirven como plantillas para ser igualadas con las percepciones resultantes de las acciones. En otras palabras, las predicciones pueden fallar.
La figura 2-4 muestra los componentes y los flujos de control de LIVE. Conceptualmente, la arquitectura de LIVE puede separarse en cuatro componentes principales:
Planificador/Ejecutor, Explorador/Creador, Corrector/NuevosTérminos y Experimentador. Todos estos componentes usan la base de conocimiento interno que contiene las reglas de predicción actuales para alcanzar objetivos producidos por el GoalG (generador de objetivos). El componente GoalG puede aceptar objetivos externamente de otros agentes o puede generar objetivos internamente para sus propios intereses. Cuando se trabaja hacia un objetivo, LIVE primero llama al Planificador para generar un plan basado en las reglas de predicción que están disponibles actualmente.
Figura 2-4: arquitectura de LIVE
Si no se puede usar ninguna regla para alcanzar el objetivo actual, el Planificador llama al Explorador para explorar el entorno probando con diferentes acciones. La exploración no es al azar sino a través de un conjunto de heurísticas que tratan de maximizar las ventajas de la información. Durante la exploración, se construirán nuevas reglas por el Creador basado en las observaciones. Luego de la exploración, el Planificador continuará con su actividad de planificación.
Si se puede construir un plan, el Planificador llamará al Ejecutor quien ejecutará el plan en el entorno y controlará los resultados de cada acción usando las predicciones hechas por las reglas. Si un resultado no concuerda con la predicción (esto se llama una
AMBIENTE Ejecutor
Monitor Reactor
Creador Explorador
Planificador Corrector
Experi-
mentador GoalG Nuevos
Términos
“sorpresa”), el Ejecutor llamará al Corrector para revisar la regla que provocó la predicción incorrecta. Durante la revisión, se pueden definir nuevos términos cuando sea necesario.
Si durante la planificación se detectan reglas fallidas, el Planificador llama al Experimentador. Se pueden detectar dos síntomas comunes que son: cuando un subobjetivo se repite en el plan (“subobjetivo cíclico”) y cuando un subobjetivo es la negación del objetivo (“contradicción de objetivo”). Cuando de esta manera se identifica una regla fallida, se llama al Experimentador para que proponga experimentos para revisar la regla. Cada experimento es un triplo de la forma (g, a, p), donde g es un estado en que la acción a debe ser ejecutada y los resultados p son esperados. En un experimento, el estado es tratado como un nuevo objetivo. Para ejecutar un experimento, el Planificador es llamado para traer al sistema al estado deseado y luego se ejecuta la acción experimental en ese estado. Si el experimento tiene éxito (por ejemplo, produce una sorpresa), el Corrector será llamado para refinar la regla en cuestión. Caso contrario, se propondrán nuevos experimentos.
En general, estas actividades (resolución de problemas, exploración, aprendizaje, y experimentación) continúan de una forma intercalada hasta que LIVE haya aprendido un conjunto suficientemente bueno de reglas y todos los objetivos sean alcanzados (por ejemplo, antes que cualquier objetivo nuevo sea generado o aceptado).
Como se puede ver, la integración en LIVE está centralizada alrededor de las acciones y las predicciones. El solucionador de problemas (Planificador) usa las predicciones para planificar acciones; el componente de aprendizaje (Ejecutor y Corrector) usa las predicciones para detectar los errores en las reglas actuales; el experimentador usa las predicciones para buscar ejemplos opuestos para el componente de aprendizaje; y el explorador usa las predicciones para maximizar la ganancia de información.
2.5. Dyna: una Arquitectura Integrada para Aprendizaje, Planificación y Reacción
La arquitectura Dyna [Sutton, 1991] intenta integrar:
- Aprendizaje por prueba y error de una política reactiva óptima, un mapeo desde las situaciones hacia las acciones;
- Aprendizaje del conocimiento de dominio en la forma de un modelo de acción, una caja negra que toma como entrada una situación y una acción y como salida una predicción de la situación inmediata siguiente;
- Planificación: encontrando la política reactiva óptima dado el conocimiento de dominio (el modelo de acción);
- Ejecución reactiva: la planificación no interviene entre percibir una situación y responder a ella.
Además, la arquitectura Dyna está especialmente diseñada para el caso en que un agente no tiene un conocimiento completo y preciso de los efectos de sus acciones en el mundo y en el que esos efectos pueden ser no determinísticos.
Dyna asume que la tarea del agente puede ser formulada como un problema de maximización de recompensa (Figura 2-5). En cada intervalo de tiempo discreto, el agente observa una situación, toma una acción basado en ella, y luego, después de un paso de reloj, observa una recompensa resultante y una nueva situación. El objetivo del agente es elegir acciones de manera de maximizar la recompensa total que recibe a largo plazo. Esta formulación del problema ha sido utilizada en estudios de aprendizaje por refuerzo por muchos años y aún es utilizada en estudios de planificación y sistemas reactivos (por ejemplo [Russel, 1989]).
Figura 2-5: la formulación del problema utilizada en Dyna
La esencia de Dyna está dada por el siguiente algoritmo genérico:
REPETIR PARA SIEMPRE:
1. Observar el estado del mundo y elegir reactivamente una acción basada en él.
2. Observar la recompensa resultante y el nuevo estado.
3. Aplicar aprendizaje por refuerzo para esta experiencia.
4. Actualizar el modelo de acción basado en esta experiencia.
5. Repetir K veces:
5.1 Elegir un estado del mundo hipotético y una acción.
Situación/
Estado
Agente
Mundo
Recompensa Acción
5.2 Predecir la recompensa resultante y el nuevo estado usando el modelo de acción.
5.3 Aplicar aprendizaje por refuerzo a esta experiencia hipotética.
En este algoritmo, una “experiencia” es una unidad de experiencia que consiste de un estado inicial, una acción, un estado resultante, y una recompensa resultante. El primer paso del algoritmo es simplemente el de un sistema reactivo: el agente saca de su política reactiva qué hacer en la situación actual. Los tres primeros pasos juntos comprenden un agente de aprendizaje por refuerzo estándar. Dada la suficiente experiencia, dicho agente puede aprender el mapeo reactivo óptimo de las situaciones a la acción. El cuarto paso es el aprendizaje del conocimiento del dominio en la forma de un modelo de acción (Lin, 1991) que puede ser utilizado para predecir los resultados de las acciones. El quinto paso del algoritmo es esencialmente aprendizaje por refuerzo de experiencias generadas del modelo hipotéticamente; esto es, en efecto, un proceso de planificación.
La arquitectura Dyna contiene tres componentes principales:
- La estructura del modelo de acción y sus algoritmos de aprendizaje;
- Un algoritmo para seleccionar estados hipotéticos y acciones;
- Un método de aprendizaje por refuerzo, incluyendo un algoritmo de aprendizaje por ejemplos y una forma de generar variaciones en el comportamiento.
El modelo de acción es una simple imitación del mundo. Toma una descripción de un estado y una acción y emite una predicción del estado resultante inmediato y de la recompensa. La experiencia actual con el mundo produce continuamente ejemplos de comportamiento deseado para dicho modelo. Esto puede ser usado en conjunto con una gran cantidad de algoritmos de aprendizaje para aprendizaje supervisado (aprendizaje por ejemplos).
Dyna es completamente reactivo en el sentido que no interviene ninguna planificación entre la observación de un estado y la toma de una acción dependiente de ese estado. El tema crítico está en que la planificación y los procesos reactivos no están fuertemente ligados: el agente nunca se atrasa al responder a una situación al planificar una respuesta para ella. A pesar de que el agente siempre responde reactiva e instantáneamente, esto no significa que responda decididamente.
La planificación de la arquitectura Dyna tiene tanto ventajas como desventajas comparado con otros métodos de planificación. La ventaja principal está en que es totalmente incremental; cualquier tiempo gastado para planificar resulta en una mejora de las reacciones inmediatas del agente o de la función de evaluación para algún estado.
Así, el rendimiento mejora continuamente, y se pueden encontrar secuencias de acciones óptimas arbitrariamente largas. Además, fácilmente maneja tareas no determinísticas y es extremadamente general en el sentido que no toma suposiciones sobre el mundo más que aquellas que pueden ser por lo menos parcialmente predecidas.
La desventaja principal de la planificación de la arquitectura Dyna es que puede requerir gran cantidad de memoria. Mientras que los métodos de planificación tradicional están basados en la construcción de árboles de búsqueda y evaluaciones por demanda, la planificación utilizada está basada en almacenar evaluaciones asociadas con cada estado o par estado-acción.
2.6. Sistema de Christiansen
El trabajo de Christiansen [Christiansen, 1992], enfoca el aprendizaje automático de los efectos de las acciones de un sistema autónomo en un ambiente físico. Los sensores y efectores del sistema le proveen un conjunto de valores que describen los efectos de las acciones. Las imperfecciones en el sistema sensor-efector del sistema y las características de las acciones físicas se combinan para generar resultados observados con ruidos y no deterministas. El aprendizaje exitoso de los efectos de las acciones requiere algoritmos de aprendizaje tolerantes al ruido. La habilidad de obtener objetivos de forma exitosa requiere que el sistema sea capaz de razonar a partir de su incertidumbre y predecir el efecto de las acciones.
En el trabajo de Christiansen las acciones son representadas por operadores continuos llamados "funnels". Los "funnels" son computados por un algoritmo de aprendizaje empírico que tolera el ruido y que asegura no realizar predicciones equivocadas.
El sistema interactúa con su entorno a través de sus sensores y sus efectores. Para lograr sus objetivos, el sistema utiliza sus sensores para obtener información del entorno y los efectores para ajustar el entorno a estados favorables a la concreción de los objetivos de aquél. En este contexto, el sistema debe ser capaz de predecir los efectos de las acciones que genera el subsistema efector. Existen dos enfoques, preprogramar esta habilidad o
utilizar algoritmos que le permitan al sistema aprenderla [Vere, 1978; Rivest y Schapire, 1987; Shen y Simon, 1989]
El trabajo de Christiansen se concentra sobre dos aspectos del aprendizaje desde el entorno que ha recibido poca atención en la bibliografía: el tratamiento de las características del espacio continuo y el tratamiento del ruido y de la incertidumbre.
Desde el punto de vista del aprendizaje del sistema, el entorno es una caja negra. El sistema provee acciones como entradas al entorno y recibe estados percibidos a través de los sensores. Las salidas del entorno son llamadas estados, pero en general estos estados solo reflejan parcialmente los estados verdaderos del entorno. En el trabajo de Christiansen, se asume que ambos, estados y acciones, son conjunciones de valores ordenados, correspondientes a medidas continuas de las características del entorno. Estos estados y acciones son descritos por puntos en un espacio multidimensional de características. Los espacios relevantes son llamados el espacio de estados S y el espacio de acciones A. Es conveniente describir la situación actual como un punto en el espacio
<estado, acción>. Este punto indica el estado actual y la acción a ser ejecutada.
El problema atacado por Christiansen es el de predecir el resultado de la ejecución de una acción desde el estado percibido. Asumiendo que el sistema usa los sensores antes y después de la ejecución de varias acciones, la información sobre los efectos de las acciones vuelve al sistema como una cadena de puntos [s0, a0, s1, a1, s2, . . ]. Otra forma de ver esto es como una secuencia de estados de transición [s,a,r] (estado, acción, estado resultante).
Un aspecto interesante del problema de este aprendizaje es que el sistema solo recibe ejemplos posibles del concepto de interés. El sistema solo ve qué es lo que puede ocurrir como resultado de sus acciones. Nunca ve lo que no puede conseguir. Una aproximación para la inferencia inductiva de los problemas de esta clase es asumir familias de restricciones o formas funcionales para las respuestas, y aplicar técnicas de regresión para cambiar la mejor respuesta de acuerdo a algunas medidas de error. Estas técnicas de regresión permiten tratar con ruido y valores de características continuos.
Para que estas técnicas sean exitosas se requiere que la familia de respuestas aceptables sea limitada "a priori". Esta limitación, constituye una forma de sesgo inductivo. Para los sistemas que poseen una gran cantidad de conocimiento inicial, tal como los sistemas de aprendizaje basado en explicaciones, el éxito del sistema de aprendizaje es altamente dependiente del conocimiento inicial elegido por el programador humano.
Se asume que el sistema inicialmente tiene poco conocimiento sobre el entorno y que no posee inicialmente ninguna habilidad para predecir el efecto de las acciones. El sistema asume que las características observadas (estado percibido) corresponden a medidas continuas de las características del entorno, y asume que las características controladas (correspondientes a los parámetros controlados de las acciones) representa cambios continuos con causa en los efectos de las acciones físicas. El sistema asume que los cambios de estado del entorno solo son por la influencia de sus acciones. Por otra parte, asume que el entorno no es dinámico: como resultado de cada acción, el entorno establece un estado invariante por el tiempo en el que el sistema usa los sensores para medir los resultados de sus acciones. El supuesto de la invarianza del tiempo permite al sistema generalizar sobre los estados de transición observados, independientemente de la historia específica de cada uno de ellos.
2.7. Sistema de Hayes-Roth
Para aprender en un mundo real, dinámico y observable en el cual las condiciones varían continuamente, un sistema necesita formular una teoría sobre los efectos de las acciones sobre su entorno; necesita construir planes, monitorizar la ejecución de esos planes para detectar espectativas violadas y diagnosticar y rectificar errores que los datos inconsistentes revelen.
Hayes-Roth [Hayes-Roth, 1983] llamó teorías al conocimiento que encapsula los efectos de las acciones, planteando la arquitectura de un sistema con estas características mediante el esquema presentado en la figura 2-6.
El conocimiento que el sistema tiene del mundo evoluciona gradualmente en respuesta a su experiencia. El sistema planifica para alcanzar sus objetivos y emplea métodos heurísticos para rectificar los errores en las teorías. Las heurísticas propuestas capturan modos específicos de arreglar la teoría agregando o quitando restricciones para invocar la teoría.
Figura 2-6: arquitectura del sistema propuesto por Hayes-Roth
El sistema usa conocimiento para establecer las condiciones para alcanzar un objetivo. Un plan generado por el sistema a partir de un conjunto de teorías, queda justificado si, al aplicarse al estado inicial, alcanza el estado objetivo. El fallo del plan implica un error en las teorías asociadas. Entre las causas de fallo de un plan están:
Un plan es injustificable de acuerdo a las teorías y supuestos del sistema.
Un plan justificado previo no predijo cambios en las teorías asociadas.
La justificación de un plan está equivocada.
El fallo de un plan implica la refutación de las teorías asociadas. Para rectificarlas se pueden aplicar las siguientes heurísticas:
Retracción: consiste en restringir las predicciones de la teoría para que sea consistente con las observaciones.
Exclusión: excluir la teoría que fue aplicada a la situación asociada al fallo.
Invalidación: desechar las situaciones que nieguen las predicciones de la teoría.
PLANIFICACION Y PROYECCION
OBJETIVOS
EJECUCION DEL PLAN PLANES
ESPECTATIVAS VIOLADAS ESPECTATIVAS
DIAGNOSTICO DEL PLAN TEORIAS CON ERRORES
SI
TEORIA DE RECTIFICACION TEORIAS
JUSTIFICACION DEL
PLAN
RESULTADOS ENTORNO
NO FIN
Aseguración: incluir las situaciones que confirmen las predicciones de la teoría.
Inclusión: restringir la teoría incluyendo los casos que la confirman.
2.8. Sistema Inteligente Autónomo
Uno de los puntos involucrados en el problema de la modelización de Sistemas Inteligentes [Fritz y otros, 1989] es lograr una base axiomática que describa formalmente los fenómenos que tienen lugar en este tipo de sistemas. Esta descripción formal apunta a proporcionar un instrumento para clasificar, medir y calcular en el campo de la inteligencia. Formalmente, no es relevante la clasificación en natural o artificial. El propósito del trabajo es abstraer los rasgos comunes, si los hay, de todos los procesos inteligentes. Luego, clasificar como inteligentes a los sistemas capaces de dar lugar a procesos inteligentes.
Un rasgo comúnmente asociado con la inteligencia es la capacidad de adquirir nuevos conocimientos. Esto se manifiesta en los procesos de aprendizaje, que aceptan ser descritos en términos de asimilación e incorporación de información extraída del contexto. Una forma de adquirir conocimiento nuevo es el llamado "método del ensayo- error"; esta técnica permite descubrir leyes simples cuya verdad se deduce a partir de la experiencia. En la teoría presentada por los autores citados, esta adquisición de conocimiento está centrada alrededor de la asimilación de experiencias, siendo las leyes empíricas las unidades de experiencia.
Los Sistemas Inteligentes tienen objetivos, que consisten en acceder a una situación que les conviene. Están capacitados además para elegir sus acciones según tales objetivos y son capaces de aprender qué acción es útil efectuar en cada situación en relación a los mismos. La situación es el conjunto de los rasgos esenciales del estado de las cosas, en relación a los objetivos del sistema. Se elabora sobre la base de todas las entradas sensoriales del momento y sobre su conceptualización. Sobre la base de esta modelización se elige cada acción. Para lograr sus objetivos, los Sistemas Inteligentes actúan, y para poder elegir acciones adecuadas deben contar con una memoria en la cual archivan sus experiencias. Una unidad de experiencia se compone (por lo menos) de la situación vivida, la acción realizada, la situación resultante y el hecho de que las consecuencias de la acción hayan sido beneficiosas o no para lograr el objetivo. Este beneficio, o la falta del mismo, se traduce en utilidad resultante. La decisión sobre la acción que conviene realizar
se toma en función de las experiencias acumuladas, si es que están en relación con las circunstancias actuales (pueden ser tanto experiencias directas del sistema como también experiencias conocidas a través de lo que se verificó en otros). Si en lo archivado como experiencia tal relación existe y la acción elegida en aquél entonces resultó beneficiosa, habrá una tendencia de elegir nuevamente esa misma acción o a optar por alternativas distintas si la acción resultó perjudicial.
Figura 2-7: arquitectura del sistema inteligente autónomo
Cuando se trata de una situación nueva, esto es, no existe experiencia previa de la misma, se efectúan acciones razonadas guiándose por los resultados obtenidos en actuaciones anteriores, o si no, por intuición, instinto o incluso al azar. Frente a
PERCEPCION DEL ENTORNO
DEFINICION DE LA SITUACION
ALMACENAMIENTO SITUACIONES Y EXPERIENCIAS
PLAN EN EJECUCION Y SITUACION ESPERADA
SELECCION DE SUBOJETIVO
EL PLAN EXISTE
CONSTRUCCION DEL PLAN
SELECCIONAR ACCION POR CURIOSIDAD
EL PLAN EXISTE
SELECCIONAR ACCION POR AZAR
HACER CADA ACCION DEL PLAN EMISIONES
NO
SI
NO
SI
NO
SI SUBOBJETIVO
PLAN
ACCION ACCION
ACCION ACCION
ACCION ES DORMIR
HACER ABSTRACCIONES NO
SI
ACCION
situaciones conocidas, los Sistemas Inteligentes tienden a desarrollar una actuación que (por experiencia) consideran óptima (no necesariamente es la óptima). Esta tendencia se denomina hábito. Un mal hábito se da cuando el sistema persiste en un cierto actuar aun cuando éste ya no corresponde a la situación.
El esquema del sistema inteligente autónomo (figura 2-7) permite visualizar la interacción entre sus distintos componentes.
Capítulo 3
Descripción del Problema
En este capítulo se presenta el entorno en el cual se plantea el problema a abordar en la tesis (sección 3.1), se señalan cuestiones relativas a la integración de la arquitectura elegida con una plataforma estándar (sección 3.2), surgen las cuestiones relativas a la extensión de la arquitectura elegida (sección 3.3), se señalan aspectos a explorar como resultado de la interacción de esta estrategia de aprendizaje (sección 3.4), y se identifican otras partes de la tesis donde se abordan las cuestiones precedentemente tratadas (sección 3.5).
3.1. Introducción
De los sistemas inteligentes relevados en el capítulo sobre el estado de la cuestión surge como un marco de trabajo consistente los sistemas inteligentes autónomos ya que los mismos proveen un modelo integrado de aprendizaje y planificación [García Martinez, 1997b].
Interesa estudiar aspectos vinculados al intercambio de operadores bajo condiciones reales o simulaciones de un entorno real por lo que se considera el uso de la plataforma Khepera. En este contexto en el que se articula la arquitectura de un sistema inteligente autónomo y una plataforma robot móvil real se dan las condiciones para explorar problemas abiertos de aprendizaje cooperativo.
Por un lado los sistemas inteligentes autónomos tienen la capacidad de aprender teorías sobre como su entorno funciona, cómo esas teorías pueden ser utilizadas para armar planes para alcanzar objetivos autopropuestos, y en la medida que estos planes fallan rever las teorías asociadas a esos planes mediante mecanismos tales como mutación basada en heurísticas y ponderaciones.
Por otro lado parece natural pensar en sistemas inteligentes autónomos que son capaces de intercambiar sus teorías/operadores para mejorar los aprendizajes del modelo que tienen del entorno, pudiendo ser el universo de funcionamiento de estos grupos de sistemas inteligentes autónomos los que provee el universo de funcionamiento de la plataforma Khepera.
3.2. Integración SIA-Khepera
De la integración de un sistema inteligente autónomo con la plataforma Khepera surge la cuestión:
Cuestión 1: ¿Cuál es la repetibilidad de los resultados de trabajos previos en la teoría de sistemas inteligentes autónomos [García Martinez y Borrajo, 1997;1998] al cambiar de plataforma robot (migrar de la plataforma [Fritz et al., 1989] a Khepera)?
3.3. El problema de la extensión del modelo del SIA
La arquitectura de sistemas inteligentes autónomos no está prevista originalmente [Fritz et al., 1989; García Martínez, 1993c; 1994] para contemplar el intercambio de operadores y su consecuente integración en un conjunto de teorías unificado. En este contexto surgen las siguientes cuestiones:
Cuestión 2: ¿Cómo debe ser modificada la arquitectura del sistema inteligente autónomo para admitir procesos de intercambio de operadores?
Cuestión 3: ¿Qué mecanismos deben utilizarse para integrar los operadores que un sistema inteligente autónomo recibe de otro con los que ya forman parte de su base de teorías?
3.4. Interacción entre intercambio de operadores y otras estrategias
Bajo el supuesto de que las modificaciones que surgirían de atender las cuestiones precedentemente expuestas funcionaran, debería analizarse las cuestiones relacionadas con la mejora de la calidad de lo aprendido y en qué medida la nueva estrategia se relaciona con las estrategias preexistentes. En este contexto surgen las siguientes cuestiones:
Cuestión 4: ¿En qué medida este intercambio de teorías/operadores acelera los tiempos de aprendizaje del modelo del entorno que el sistema inteligente autónomo va formando por interacción con aquel?
Cuestión 5: ¿En qué medida el intercambio de operadores afecta o se ve afectado por el uso de otras estrategias de aceleración de aprendizaje como la mutación?
Cuestión 6: ¿En qué medida el intercambio de operadores afecta o se ve afectado por el uso de otras estrategias de aceleración de aprendizaje como la ponderación de planes?
Cuestión 7: ¿En qué medida la combinación del intercambio de operadores con aprendizaje por mutación acelera el aprendizaje?
Cuestión 8: ¿En qué medida la combinación del intercambio de operadores con aprendizaje por ponderación de planes acelera el aprendizaje?
3.5. Lugar de las soluciones
Las cuestiones 1, 2 y 3 son abordadas en el capítulo solución propuesta en el que se presenta una extensión de la arquitectura del sistema inteligente autónomo para admitir intercambio de operadores y su integración al universo de funcionamiento Khepera.
Las cuestiones 4, 5, 6, 7 y 8 son abordadas en el capítulo sobre experimentos al tratar las estadísticas del sistema y las estadísticas sobre su rendimiento.
Capítulo 4
Solución Propuesta
En este capítulo se presenta una introducción al sistema implementado y la plataforma utilizada (sección 4.1), la representación del modelo de teoría (sección 4.2), se da la descripción general del sistema (sección 4.3), se explica su arquitectura (sección 4.4), se describe el entorno del sistema (sección 4.5), se describe el sistema sensor (sección 4.6), se explica el módulo de aprendizaje (sección 4.7), se da una descripción del módulo planificador (sección 4.8), se explica el módulo ponderador de planes (sección 4.9), se presenta el módulo controlador de planes en ejecución (sección 4.10) y se explica el módulo de intercambio de teorías (sección 4.11). Por último, se detalla un ejemplo integrador de la funcionalidad del sistema (sección 4.12).
4.1. Introducción
El sistema propuesto simula el comportamiento de un robot móvil (Sistema Inteligente Autónomo) sobre la Plataforma Khepera, desarrollada en la Universidad de Niza Sophia- Antipolis (Suiza) por Oliver Michel. Básicamente esta plataforma se trata de un entorno de simulación, que permite definir un mundo de dos dimensiones a ser explorado por uno o más robots. Además permite actuar sobre los motores de los robots a fin de conducir su comportamiento y tener acceso a sus sensores de manera que pueda interactuar con el entorno.
Figura 4-1: componentes de un sistema inteligente autónomo implementado sobre Khepera Plataforma Khepera
Sistema ejecutor Sistema sensor
Subsistema controlador de planes en ejecución
Conversor de lecturas
Subsistema de aprendizaje
Subsistema planificador
Subsistema ponderador de
planes
situación
situación teorías
planes
teorías
confiable si/no plan Conversor de
acciones acción
acción
En la figura 4-1 se presenta el esquema de los componentes del sistema y la forma en que estos se integra a la plataforma Khepera.
Para que el sistema inteligente autónomo interactúe con la plataforma Khepera se desarrollaron dos módulos conversores. Uno para transformar las situaciones percibidas por la plataforma al formato utilizado por el sistema (conversor de lecturas) y otro para que la acciones seleccionadas puedan ser aplicadas por el simulador (conversor de acciones).
Una vez que la situación percibida ha sido interpretada, se procesa por el subsistema de aprendizaje quién la incorpora y actualiza la experiencia del sistema para pasarla al subsistema controlador de planes en ejecución. Éste está encargado de verificar que las predicciones de los planes se hayan verificado y en caso de necesitarlo le pide al subsistema planificador que cree nuevos planes quien mediante el subsistema ponderador de planes decide si un plan es confiable o no. Luego de este proceso el subsistema controlador puede enviarle a la plataforma Khepera la próxima acción a ejecutar..
El sistema implementado, permite estudiar el comportamiento del sistema inteligente autónomo basado en el intercambio de operadores. El simulador Khepera soporta la simulación de múltiples robots en el mismo escenario. Esta funcionalidad fue aprovechada y se desarrolló un módulo que permite el intercambio de operadores entre varios sistemas autónomos inteligentes simulados.
En la figura 4-2 se representa la incorporación de este módulo y su interacción con cada sistema simulado.
Figura 4-2: arquitectura multiagente implementada sobre Khepera.
SIA 1
Módulo de intercambio de operadores
SIA 2 SIA n
Acción Situación
Acción Situación
Acción Situación
...
Operadores Plataforma Khepera
Operadores Operadores
En el esquema se puede ver que la plataforma soporta la simulación conjunta de más de un sistema inteligente autónomo. Estos pueden interactuar entre sí a través del módulo de intercambio de operadores. Este intercambio puede ser utilizado por los sistemas inteligentes autónomos cuando sea necesario para que el conocimiento pueda ser compartido entre ellos.
4.2. Representación del modelo de teoría
En la teoría de Sistemas Inteligentes Artificiales planteada en [Fritz y otros, 1989; 1990;
García Martínez, 1992b] el aprendizaje está definido cada vez que el sistema adquiere la descripción de una nueva situación o de una nueva unidad de experiencia. El autor citado propone una estructura para la unidad de experiencia de la forma: [Situación Inicial, Acción, Situación Final], donde aplicada la Acción a la Situación Inicial, se obtiene la Situación Final. El concepto de unidad de teoría de Fritz es equivalente al concepto de teoría de Hayes-Roth [Hayes-Roth, 1983] si se establecen las equivalencias: Condiciones Supuestas = Situación Inicial y Efectos Predecidos = Situación Final.
En [García Martínez, 1997b], la representación de los operadores se basaba en el modelo propuesto en [Fritz y otros, 1989], donde una observación (unidad de experiencia) tiene la estructura: [Situación Inicial, Acción, Situación Final], donde Situación Inicial y Situación Final son proposiciones que pueden ser verdaderas o falsas. Las observaciones fueron directamente utilizadas como operadores para planificación.
En otros trabajos [García Martínez, 1991a;1991b; 1992a; 1992b] se han explorado métodos de aprendizaje que contemplen el concepto de que la teoría que es utilizada con éxito debe ser reforzada, mientras que la teoría que es utilizada de forma infructuosa debe ser debilitada [Sutton, 1984, 1988, 1990, 1992; Lespérance, 1991].
En García Martínez [García Martínez, 1991a] se propone un modelo de teoría que es una extensión del descripto por Anderson y Kline [Anderson y Kline, 1979] y es representado por la quíntupla (CTi, ATi, ETi, P, K, U), donde:
Teoría : Ti
Partes : CTi Condiciones supuestas ATi Acción
ETi Efectos Predecidos
P Cantidad de veces que la teoría Ti fue utilizada con éxito (se obtuvieron los efectos predecidos)
K Cantidad de veces que la teoría Ti se utilizó
En esta tesis se propone un sistema que puede evaluar cuán útil (o inútil) puede ser realizar una acción para alcanzar sus objetivos. En el ejemplo dado para el sistema inteligente autónomo simulado sobre la plataforma Khepera se consideran más útiles aquellas teorías asociadas a acciones que le permiten alcanzar situaciones con mayor nivel de luz, ya que éstas, se podría decir, llevan a un robot a aumentar el nivel de bateria (lo cual constituye una situación altamente deseable).
En este contexto, el modelo de teoría o la representación de un operador utilizado se forma mediante los siguientes componentes:
Si Situación Inicial (Condiciones Supuestas) A Acción
Sf Situación Final (Efectos Predecidos)
P Cantidad de veces que la teoría fue utilizada con éxito (se obtuvo la situación final)
K Cantidad de veces que se aplicó la acción A a la situación inicial Si
U Nivel de utilidad alcanzado al aplicar la acción A a la situación inicial Si
Los parámetros P y K permiten a la arquitectura disminuir el efecto del ruido en los sensores o en el ambiente, y el problema del estado oculto. Esto es debido a la predisposición del sistema a asumir que el ambiente puede ser dinámico, ruidoso, y que pueden existir características del estado que no pueden ser capturadas por el sistema sensor, y por lo tanto, no pueden ser manejadas por el planificador o por los mecanismos de aprendizaje.
Por otro lado, en el modelo utilizado se consideran que dos teorías son iguales cuando poseen la misma situación inicial, la misma acción y la misma situación final. Dos teorías son similares cuando su situación inicial y su acción son las mismas.
4.3. Descripción General del Sistema
El sistema implementado tiene como objetivo simular uno o más robots cuyas tareas son planificar de una manera autónoma para conseguir objetivos propuestos por ellos mismos, ejecutar estos planes en el entorno, encontrar desviaciones en los planes o corregir su
comportamiento, y aprender operadores (teorías) que predicen los efectos de las acciones en el entorno mediante la observación de las consecuencias de dichas acciones.
El sistema puede ser descripto como un o más robots de exploración que reciben percepciones del entorno, las cuales se llaman situaciones, aplican acciones, aprenden de sus interacciones con el mundo y pueden intercambiar su conocimiento entre ellos. El algoritmo de alto nivel que representa el comportamiento general del sistema se puede describir de la siguiente forma:
1. Para cada robot
1.1. Percibir situación S
1.2. Seleccionar una acción al azar A 2. Repetir n veces
2.1 Para cada robot
2.1.1 Ejecutar la acción A 2.1.2 Percibir situación S’
2.1.3 Percibir la utilidad U
2.1.4 Si es necesario intercambiar operadores
2.1.5 Adquirir nuevo conocimiento a partir de S, A, S’ y U
2.1.6 SI no existe un plan en ejecución ó S’ no es la situación esperada por el plan ENTONCES planificar
2.1.7 Seleccionar la siguiente acción del plan A
2.1.8 S=S’
Al comienzo, cada robot no tiene ningún conocimiento, por lo tanto cada uno percibe la situación inicial (1.1) y selecciona una acción al azar para ejecutar en el entorno (1.2).
Luego, el sistema entra en un ciclo (2.1) en el que se ejecuta un turno de robot por vez. En cada turno, un robot ejecuta la acción (2.1.2), percibe la situación resultante (2.1.2) y la utilidad (2.1.3). Luego, verifica si es necesario el intercambio de operadores con otro robot (2.1.4), si es así lo lleva a cabo mediante un módulo de intercambio, sino sigue con la ejecución, es decir, aprende de la observación del efecto que provoca aplicar la acción en el ambiente (2.1.5), y planifica (2.1.6) para futuras interacciones con el mundo cuando el plan terminó su ejecución o cuando el sistema observa un desvío entre la situación prevista y la situación percibida. El turno de un robot termina seleccionando una nueva acción (2.1.7), que es la siguiente acción del plan, y tomando la situación percibida como la nueva situación inicial (2.1.8), con esto puede comenzar el próximo turno.