Resumen Memoria Aproximación a una Arquitectura hibrida bio-inspirada para el arbitraje de comportamientos en Agentes Cognitivos Estudiante: Oscar J. Romero López Tutor: Angélica de Antonio Universidad Politécnica de Madrid Departamento de Doctorado en Ingeniería de Software Madrid, 28660 (España) ojrlopez@hotmail.com Resumen El siguiente trabajo presenta una propuesta de extensión a la arquitectura subsumida propuesta por Brooks, la cual refleja características evolutivas, hibridas, auto-configurables y de aprendizaje, aplicable en el área que subyace la construcción de cognición artificial en agentes. Las capas de la arquitectura son controladas por Sistemas de Aprendizaje de Máquina (SAM) que emplean técnicas de inteligencia computacional bio-inspirada, tales como los Sistemas Clasificadores Extendidos (SCE), los Sistemas Inmunes Artificiales (SIA), los Sistemas Coneccionistas de Aprendizaje-Q (SCQ), los Sistemas Clasificadores de Aprendizaje (SCA), y escalable a otros. Durante el desarrollo de la investigación se emplea un mecanismo evolutivo llamado Programación de Expresiones Genéticas (PEG) el cual le permite al agente auto-configurar el arbitraje de comportamientos entre capas. Adicionalmente, se propone un mecanismo co-evolutivo que evoluciona los repertorios de comportamientos empleados por los agentes, de una manera independiente y colaborativa. La aproximación propuesta fue probada en un entorno animat empleando una plataforma multi-agentes donde fue posible observar propiedades emergentes que dieron origen a procesos cognitivos superiores, tales como el aprendizaje, la adaptabilidad y la auto-configuración de capas de procesamiento. Keywords: Arquitectura Subsumida, Programación de Expresiones Genéticas, Sistemas Clasificadores, Sistemas Inmunes, Redes Neuronales, Algoritmos Genéticos, Aprendizaje-Q, Aprendizaje de Máquina, Mecanismos Coevolutivos, Vida Artificial, Agentes Inteligentes. 1. Introducción En las últimas décadas, las Arquitecturas Cognitivas para agentes inteligentes han sido un área importante de estudio que reúne disciplinas como la inteligencia artificial, la cognición humana, psicología, y muchas otras, con el fin de determinar la distribución óptima y necesaria de recursos para el desarrollo de agentes que exhiban cierto nivel de inteligencia emergente. Una de las más referenciadas es la Arquitectura Subsumida propuesta por Brooks [1]. De acuerdo con Brooks, la Arquitectura Subsumida está construida por capas. Cada capa le ofrece al sistema un conjunto de comportamientos pre-conectados donde las capas de niveles superiores se basan en las inferiores para crear comportamientos más complejos: El comportamiento del sistema como un todo, resultado de la interacción de 2 múltiples comportamientos simples. Otra característica en esta arquitectura es la ausencia de un modelo del mundo, lo que significa que sus respuestas son siempre y únicamente reflexivas. Sin embargo, la Arquitectura Subsumida presenta un alto acoplamiento entre percepción y acción, produciendo alta reactividad, una capacidad muy pobre de aprendizaje y adaptabilidad a nuevos entornos, sin representación interna y con la estrecha necesidad de que los patrones de comportamientos estén conectados a priori. Varias extensiones han intentado agregar características de representación interna y arbitraje de comportamientos, como la Arquitectura de Control Basada en Comportamientos [2] y los Sistemas de Activación Hormonal [3], pero la necesidad de pre-conectar los comportamientos y la característica de ausencia de aprendizaje aún persisten, convirtiendo la arquitectura aplicable y útil solo para entornos específicos y pre-configurados. La investigación se ha enfocado en el desarrollo de una arquitectura hibrida multicapa para agentes cognitivos que se basa en la teoría de subsumción. Adicionalmente este trabajo propone un Modelo Evolutivo el cual permite al agente auto-configurar y adaptar sus capas de procesamientos a través de la definición de número de capas, comportamientos y procesos de inhibición y supresión. Esto significa que cada agente en lugar de tener una estructura pre-configurada de capas y procesos, éste posee un proceso evolutivo artificial que es responsable de definir dicha estructura multicapa. Por otro lado, en lugar de emplear en cada capa un sistema de Máquinas de Estados Finitas Aumentadas - MEFA) como lo define la teoría de subsumción [1], donde no se realiza una representación interna del mundo, se propone que cada comportamiento sea controlado por un Sistema de Aprendizaje de Máquina – SAM – bio-inspirado (seleccionado de un repertorio donde ocurre una co-evolución de comportamientos) el cual aprende del entorno y genera un modelo del mundo mediante un aprendizaje reforzado y no supervisado. El presente artículo está organizado de la siguiente manera. La sección 2 presenta una breve descripción de algunos conceptos fundamentales empleados en el trabajo. La aproximación evolutiva para auto-configurar agentes cognitivos es detallada en la sección 3. En la sección 4 se discuten los resultados experimentales y las propiedades emergentes analizadas. Finalmente las conclusiones son presentadas en la sección 5. 2. Fundamentos Teóricos Para el desarrollo de la arquitectura cognitiva propuesta, se presentan en esta sección algunos fundamentos acerca de las técnicas basadas en la teoría evolutiva artificial y algunas técnicas de inteligencia computacional bioinspirada. Primero se describe la teoría del procesamiento multicapa en la cual se basa la arquitectura propuesta, luego son introducidos varios SAM usados en cada capa de la arquitectura hibrida. Finalmente, se describe el mecanismo de Programación de Expresiones Genéticas -PEG- y su capacidad para evolucionar y auto-configurar la arquitectura subsumida de cada agente. 2.1. Procesamiento Multicapa En 1986, R.A. Brooks [1] propuso una estructura multicapa en robótica que descompone el problema en un conjunto de comportamientos que llevan a cabo tareas asíncronas, lo que él llamo Arquitectura Subsumida. De acuerdo con Brooks, los comportamientos operan de forma local y asíncrona y están débilmente acoplados uno a otro. En contraste al modelo convencional, cada uno de los comportamientos está típicamente en comunicación directa con el mundo [4]. Brooks plantea en [1] que en la arquitectura subsumida, varios subconjuntos de comportamientos exhiben alguna competencia parcial en la solución de una versión simple de todo el problema. No obstante, la solución para una versión más compleja del problema puede hallarse mediante el incremento gradual de comportamientos nuevos e independientes a los ya existentes. Los conflictos potenciales entre las acciones de los comportamientos son resueltos empleando un ordenamiento jerárquico a priori de los nodos supresores. Por otro lado, Brooks propone [1] que las capas de la arquitectura subsumida estén compuestas de Máquinas de Estado Finitas Aumentadas (MEFA) con temporizadores. Cada MEFA tiene una señal de entrada y otra de salida (ver Figura 1). Cuando la entrada de una MEFA excede un umbral predeterminado, el comportamiento de esa MEFA es activado. Las entradas de las MEFAs provienen de los sensores y las salidas son enviadas a los actuadores del agente. Cada MEFA también acepta una señal de supresión o de inhibición que le permite a los comportamientos subsumir a los otros de tal manera que el sistema pueda producir un comportamiento coherente. 3 Este trabajo no propone el uso de MEFAs, en su lugar se desarrolla una Arquitectura Subsumida híbrida que emplea diferentes técnicas de aprendizaje de máquina y técnicas bio-inspiradas en cada capa para crear representaciones internas del mundo y para aprender del propio entorno de una manera autónoma. entradas estados MEFA salidas Figura 1. Arquitectura Subsumida típica 2.2. Sistemas Clasificadores Extendidos (SCE) Según Wilson [5], un sistema clasificador es un sistema de aprendizaje de máquina que pretende ganar retroalimentación de su entorno basándose en un conjunto de reglas del tipo condición-acción llamadas clasificadores. Mediante un proceso Darwiniano, los clasificadores que han obtenido mayor refuerzo son seleccionados y propagados sobre aquellos con menor actuación, incrementando así el desempeño del sistema. La idea de los Sistemas Clasificadores se debe a Holland [6], quien propuso una arquitectura que incluye la generalización de las condiciones de los clasificadores, envío interno de mensajes, refuerzo e integridad computacional. Sin embargo, a pesar de las numerosas investigaciones, el desempeño del sistema tradicional ha sido mezclado y se han dado pocos avances en la teoría inicial. En [5] Wilson propone los Sistemas Clasificadores Extendidos (SCE). Los SCE son una extensión reciente de los sistemas clasificadores de aprendizaje (SCA) que difieren en varios aspectos de los tradicionales SCAs. Wilson primero afirma [5] que en los SCE, la aptitud del clasificador se basa en la precisión que tiene la predicción del pago del clasificador en lugar de la predicción en si. Segundo, el Algoritmo Genético toma lugar en el conjunto de acciones y no en toda la población. Finalmente, en contraste a los SCA tradicionales, los SCE no tienen lista de mensajes y tienen mayor aplicabilidad aprendiendo en entornos markovianos (algunas extensiones de SCE emplean registros internos y han mostrado ser una promesa en entornos no markovianos). En un intento de mantener el modelo típico SCA, Wilson propone que el entorno sea quien provea como entrada al sistema una serie de situaciones sensoriales σ (t) ∈ {1, 0}L, donde L es el número de bits en cada situación. Como respuesta, el sistema ejecuta acciones α (t) ∈ {a1, …, an} sobre el ambiente. Cada acción resulta en un refuerzo escalar ρ (t) (posiblemente cero). El sistema de refuerzo determina la recompensa de acuerdo con la entrada ambiental actual y la acción que fue ejecutada. La figura 2 ilustra la interacción del entorno y el sistema de refuerzo en el SCE. Sistema Refuerzo Ambiente Fin del problema? SCE Figura 2. Interacción del SCE con el Entorno y el Sistema de Refuerzo [5] 4 2.3. Sistemas Inmunes Artificiales (SIA) Inspirados en la teoría inmunológica, los Sistemas Inmunes Artificiales (SIA) [7] son sistemas adaptativos basados en modelos y principios que emulan los mecanismos de defensa observados en la naturaleza. Los investigadores están interesados en varias de las propiedades inmunológicas de las cuales se ha generado un número significativo de modelos teóricos y computacionales que solucionan problemas del mundo real: auto-identidad, diversidad, robustez, tolerancia a fallos, reconocimiento de patrones y auto-aprendizaje. En 1974, N.K. Jerne argumentó en [8] que un sistema inmune biológico es una red regulada de células y moléculas que poseen un comportamiento dinámico, incluso en ausencia de cualquier estimulo externo (antígenos). Estas redes inmunes artificiales son modelos que emulan la Arquitectura de Jerne. Un conjunto de antígenos que se corresponden con un conjunto de datos de entrada en la mayoría de las aplicaciones de redes artificiales, estimularán una red inmune a ir a través de un proceso dinámico hasta alcanzar algún tipo de estabilidad. AiNet [9] es un modelo basado en los principios inmunes que implementa una red inmune discreta que fue desarrollada para aplicaciones de compresión y conglomerado de datos y más adelante para optimización. Este artículo referencia el trabajo realizado por D. Romero [9] quien propone un Sistema Inmune Cognitivo Artificial (ACIS). Un algoritmo ACIS combina la estructura de AiNet y técnicas de aprendizaje de máquina reforzado. Particularmente, se han explotado las capacidades de AiNet para tratar conglomerado de datos, aprendizaje y optimización. Para el desarrollo del trabajo, el algoritmo ACIS ha sido usado como un sistema de aprendizaje de tareas de reconocimiento, clasificación, optimización y toma de decisiones. En la figura 3 se muestra el algoritmo de ACIS. Figure 3. Diagrama de Flujo del Sistema Inmune Artificial propuesto (ACIS) [9] 2.4. Sistemas Neuro Coneccionistas de Aprendizaje-Q (SCQ) El algoritmo de aprendizaje-Q propuesto por Watkins en 1989 [10] pertenece a un grupo de algoritmos de aprendizaje por refuerzo. De acuerdo con Watkins [10] la principal característica de esta técnica es que durante el proceso de aprendizaje el sistema no permite ver cómo actúa en una situación específica. En su lugar, el aprendizaje se realiza por prueba y error usando señales de recompensa y castigo. Como resultado del algoritmo de aprendizajeQ, aparece una función de evaluación de parejas estado-acción que tienen una representación tabular. Cuando el espacio de estados-acciones es grande, resulta difícil encontrar una de las condiciones de convergencia del algoritmo de aprendizaje-Q (múltiple aprobación de todos los posibles pares estado-acción) y son requeridos más recursos para almacenar la tabla de evaluación. Según Kuzmin [11], para solucionar estos problemas, adicionalmente se deben introducir algunos términos de generalización. Emplear una Red Neuronal de tipo Perceptron Multicapa (MLP) como una tabla de aproximaciones del aprendizaje-Q, es uno de los posibles términos de generalización propuestos por Kuzmin. El uso articulado de MLP y del algoritmo de aprendizaje-Q es lo que Kuzmin llamó sistema Coneccionista Aprendizaje-Q [11]. Según Kuzmin [11] el uso de redes neuronales para la aproximación de valores-Q tiene las siguientes ventajas: Escalonamiento efectivo para un espacio con entradas de grandes dimensiones. Generalización para un espacio de estados continuo y amplio. 5 Posibilidad de implementación de hardware en paralelo. Kuzmin hace uso de la metodología de trabajo con una red neuronal que consiste en aplicar una red neuronal separada por cada acción, como se ve en la figura 4. Durante cada iteración del algoritmo, el estado actual del sistema es enviado a las entradas de cada red neuronal, pero los pesos son solamente actualizados para la red cuya acción fue seleccionada. Figura 4. Aproximación de la función-Q por un conjunto de Redes Neuronales [11] 2.5. Programación de Expresiones Genéticas PEG La Programación de Expresiones Genéticas –PEG- propuesta por Ferreira [12] es, como los Algoritmos Genéticos ó la Programación Genética, un algoritmo genético ya que emplea poblaciones de individuos, los selecciona de acuerdo a su aptitud, e introduce variación usando ciertos operadores genéticos. De acuerdo con Ferreira [12], la diferencia fundamental es la naturaleza de los tres algoritmos. En PEG, los individuos son codificados como cadenas lineales de longitud fija (el genoma o cromosomas) los cuales luego son expresados como entidades no lineales de diferentes tamaños y formas (ej, representaciones en diagramas simples o árboles de expresión). La interacción de cromosomas (replicadores) y los árboles de expresión (fenotipo) en PEG implica un sistema de translación inequívoca para convertir el lenguaje de los cromosomas al lenguaje de árboles de expresión (AE). La organización estructural de los cromosomas PEG permite una verdadera relación funcional genotipo/fenotipo, tanto así que cualquier modificación hecha en el genoma resulta en programas o AEs correctos sintácticamente. Ciertamente, el variado conjunto de operadores genéticos desarrollados por Ferreira [12] para introducir diversidad genética en las poblaciones de PEG siempre producen AEs válidos. Además, PEG es un sistema de vida artificial establecido más allá del umbral replicador, capaz de adaptarse y evolucionar. Ferreira argumenta [12] que las ventajas de un sistema como PEG son derivadas de la naturaleza, pero las más importantes podrían ser enfatizadas. Primero, los cromosomas son entidades simples: lineales, compactas, relativamente pequeñas y fáciles de manipular genéticamente (replicar, mutar, recombinar, transponer, etc.). Segundo, los AEs son exclusivamente la expresión de sus respectivos cromosomas; estas son las entidades sobre las cuales la selección actúa y, de acuerdo a su aptitud, son seleccionadas para reproducirse con cierta modificación. Durante la reproducción, son los cromosomas de los individuos, no los AEs, quienes son reproducidos con modificación y transmitidos a la siguiente generación. En este trabajo se propone un algoritmo PEG para evolucionar individuos (agentes) y sus estructuras multicapa, identificando tanto predicados de aplicabilidad para la activación de comportamientos, como también las jerarquías de resolución de conflictos para el arbitraje de comportamientos. Como un ejemplo simple, suponer que existen tres comportamientos con prioridad estrictamente decreciente. Los predicados de aplicabilidad y los nodos supresores de estos tres comportamientos son equivalentes a la siguiente composición de funciones condicionales del tipo IFTHEN (IF PA1 COMPORTAMIENTO1) (IF PA2 COPORTAMIENTO2) (IF PA3 COMPORTAMIENTO3) 6 En particular, si el primer predicado de aplicabilidad (PA1) es satisfecho, entonces COMPORTAMIENTO1 es ejecutado. De lo contrario, si PA2 es satisfecho, COMPORTAMIENTO2, es ejecutado. De lo contrario, el comportamiento con menor prioridad (COMPORTAMIENTO3) es ejecutado. En la aproximación propuesta, el mecanismo PEG se encargará de definir los predicados de aplicabilidad y las reglas condicionales necesarias para construir las capas de comportamientos en cada agente. 3. Aproximación híbrida evolutiva para Agentes Cognitivos Con el propósito de diseñar una arquitectura hibrida, auto-configurable, auto-organizativa, escalable, adaptable y evolutiva para agentes cognitivos que exhiban comportamientos emergentes y capacidades de aprendizaje, se expone a continuación el trabajo propuesto. Considérese como ejemplo, un entorno virtual donde existen múltiples agentes interactuando con objetos, alimento, y con otros agentes, surge a partir de ello algunas restricciones y preguntas evidentes: Cambios en las condiciones ambientales, ej. Con relación a los objetos: cantidad, tipo, ubicación, tamaño, etc., con respecto a otros agentes: intenciones, deseos, metas, etc. Existe un número variable y dinámico de comportamientos deseados: evitar- obstáculos, deambular, alimentarse, cazar, huir-de-depredadores, etc. ¿Cuántos comportamientos pueden ser integrados en un agente y cómo el agente puede arbitrar esos comportamientos? ¿Cuándo un agente sabe si tiene que inhibir o suprimir un comportamiento si no posee un predicado de aplicabilidad preestablecido que defina esto? ¿Cómo un comportamiento que controla una de las capas de procesamiento de un agente puede generar un modelo del mundo, interactuar con el ambiente a través de los sensores y actuadores, aprender de su interacción con el ambiente y recibir refuerzo por sus acciones, de tal manera que el estado interno del mismo evolucione? Estas preguntas dirigen la aproximación propuesta de una arquitectura híbrida evolutiva para agentes cognitivos, como se observa en la figura 5. Agente Proceso Evolutivo PEG Comportam. Behaviour n n Behaviour n … Comportam. 4 Comportam. 3 Comportam. 2 Comportam. 1 otros … SCA SCQ SIA SCE Sistemas SistemasAprendizaje AprendizajeMáquina Máquina Predicados aplicabilidad, arbitraje comportam., jerarquía de capas… Capas Capasde deProcesamiento Procesamiento Arquitectura Subsumida Comport. A Mecanismo Co-evolutivo De Comport. Sistema Multi-Agentes Figura 5. Arquitectura hibrida evolutiva para Agentes Cognitivos La figura 5 muestra una arquitectura híbrida que intenta abordar la solución a las preguntas arriba descritas. Se puede observar que cada agente posee una arquitectura interna basada en principios de subsumción pero con algunas variaciones: Cada capa de procesamiento está conectada aleatoriamente a un SAM (como puede ser un SCE, NCQ, SIA, SCA o escalable a otros) el cual reemplaza las típicas MEFAs propuestas en la arquitectura de Brooks [1] Después de ser entrenado el agente, cada comportamiento es enviado a un repertorio de acuerdo a su tipo donde un mecanismo evolutivo es aplicado de tal modo que cada comportamiento no solo aprende de manera 7 local dentro del agente sino que además evoluciona de manera global en el repertorio, y así luego podrá ser seleccionado por otro agente en la siguiente generación, y se repite el ciclo de aprendizaje-evolución. Existe un proceso evolutivo controlado por un algoritmo PEG, el cual está encargado de auto-configurar el agente definiendo el número de capas, los comportamientos que el agente empleará, las conexiones y jerarquías entre éstos (inhibición, supresión y agregación): “arbitraje de comportamientos”, predicados de aplicabilidad donde se determina cuál comportamiento debe ser activado en cierta situación, y finalmente un tiempo de activación del comportamiento controlado por un temporizador. 3.1. Arquitectura Híbrida de Aprendizaje: Comportamientos dirigidos por SAMs Cada capa de comportamiento en la arquitectura multicapa es asociada a un SAM, lo que le da la característica de híbrida, permitiendo que la arquitectura no sea solo reactiva, ya que cada comportamiento podrá ejercer procesos deliberativos empleando el conocimiento adquirido. Además, este mecanismo ofrece plasticidad a la arquitectura permitiendo que cada comportamiento “aprenda” de manera independiente, paralela y no supervisada, a través de su interacción con el ambiente, generando representaciones internas, reglas y conocimiento específico y generalizado. Este mecanismo se favorece de las características de los SAMs: robustez, tolerancia a fallos, uso de técnicas bio-ispiradas, adaptabilidad y no requieren la previa definición del conocimiento (aprendizaje no supervisado). Consecuentemente, existen dos principios formulados por Stone [13] que han motivado la propuesta de una aproximación al aprendizaje por capas: El aprendizaje por capas está diseñado para dominios muy complejos donde se busca realizar una relación de aprendizaje directa entre los sensores del agente y sus actuadores. Por tal motivo, la aproximación de aprendizaje por capas consiste en dividir un problema en varias capas de comportamientos empleando SAMs en cada capa. El aprendizaje por capas usa una aproximación incremental de abajo a arriba (bottom-up) para lograr la descomposición jerárquica. Los SAMs son usados como una parte central del aprendizaje por capas para la explotación de datos con el fin de entrenar y/o adaptar el sistema en su totalidad. Los SAMs son útiles para entrenar comportamientos que son difíciles de ajustar manualmente.” Arquitectura Multicapa entradas Sistema Aprendizaje de Máquina Entrada sensorial Procesamiento interno Comporta. A Salida actuadores Comporta. B Comporta. C Comporta. D … SCE SIA SCQ otros Figura 6. Arquitectura multicapa conectada con una interfaz para diferentes implementaciones de SAMs Las entradas sensoriales de cada SAM leen la distancia y tipo de objeto sensado alrededor del agente mientras que las salidas del actuador indican las acciones que el agente debe ejecutar, ej. girar-derecha, girar-izquierda, retroceder, avanzar, saltar, parar, etc. De acuerdo con esto, se propone una interfaz común para todos los SAMs (SCE, SIA, SCQ, LCS, etc.) de esta forma, aunque cada SAM tenga un proceso interno diferente, todos tienen una estructura similar que le permite al sistema ser escalable mediante la adición de nuevos SAMs si se requiere y conectándolos de una manera fácil con cada capa de comportamiento de la arquitectura del agente, como se muestra en la figura 6. 3.2. Co-evolución de comportamientos híbridos: Evolucionando globalmente Se propone un mecanismo co-evolutivo basado en [14] para evolucionar cada tipo de comportamiento de forma separada en su propio repertorio genético. La mayoría de las aproximaciones evolutivas emplean una sola población 8 donde ocurre la evolución, pero este mecanismo propone en su lugar que los comportamientos sean discriminados en categorías y evolucionados paralelamente sin ninguna interacción entre categorías. Primero, cada agente define un conjunto específico de comportamientos que se construyen sobre una estructura multicapa. Por cada comportamiento requerido por el agente, se selecciona una instancia del repertorio de comportamientos (esta instancia está conecta con un SAM específico). Subsecuentemente cada agente interactúa con el entorno y cada uno de sus comportamientos aprende un conjunto de reglas y genera una base de conocimiento propia. Después de cierto período de tiempo cada comportamiento es devuelto a su repertorio y luego un mecanismo co-evolutivo es activado. Por cada repertorio de comportamientos se aplica un método de selección probabilística donde aquellos comportamientos que han obtenido el mejor desempeño (aptitud) tendrán mayor probabilidad de reproducirse. Luego, se aplica el operador genético de cruce entre cada par de comportamientos seleccionados: una porción del aprendizaje adquirido por cada comportamiento (a través de su SAM) es seleccionada e intercambiada entre uno y otro comportamiento, produciendo herencia de experiencia y conocimiento congénito. Finalmente, nuevas reglas aleatorias son generadas hasta completar el tamaño máximo que puede tener cada comportamiento en su propia base de conocimiento, de tal forma se produce un nuevo par de comportamientos y son dejados en su repertorio correspondiente para que sea seleccionado por un agente en la siguiente generación. 3.3. Arquitectura auto-configurable: Arbitraje de comportamientos Si cada agente posee un conjunto arbitrario de comportamientos, ¿cómo determinar la interacción entre éstos, los niveles de jerarquía, los procesos de subsumción (inhibición, supresión y agregación) y el número de capas necesarias para un procesamiento adecuado? Estas preguntas son resueltas a continuación. La estructura interna multicapa de cada agente es descompuesta en componentes atómicos que pueden ser estimados y usados para encontrar la organización óptima de comportamientos durante el tiempo de vida del agente [14]. El principal objetivo es que el agente, de una manera automática, configure su propia estructura de comportamientos. El modelo PEG propuesto por Ferreira [12] es usado para evolucionar las estructuras internas de cada agente y generar un arbitraje válido de comportamientos. El algoritmo PEG propuesto emplea dos conjuntos: uno de funciones y otro de terminales. El conjunto de funciones propuesto es: AND, OR, NOT, IFMATCH, IFOBJECT, INHIBIT y SUPRESS. Las funciones AND, OR y NOT son operadores lógicos usados para agrupar o excluir subconjuntos de objetos, comportamientos, etc. La función condicional IFMATCH es un predicado de aplicabilidad típico que se corresponde con una situación específica del problema. Esta función tiene cuatro argumentos, los primeros tres argumentos pertenecen al antecedente de la regla: el primero indica qué objeto es sensado, el segundo qué sensor se activó y el tercero es el comportamiento actual que está ejecutándose en el agente. Si los tres primeros argumentos son aplicables entonces el cuarto argumento, el consecuente de la regla, es ejecutado. El cuarto argumento puede ser una función INHIBIT o SUPRESS, o quizás una función AND/OR si son necesarios más elementos en la condición (ej: un conjunto de comportamientos inhibiendo otro conjunto de comportamientos). Las funciones INHIBIT y SUPRESS tienen dos argumentos (ComportamientoA, ComportamientoB) e indica que ComportamientoA inhibe/suprime ComportamientoB. Por otro lado, el conjunto de terminales está compuesto por el subconjunto de comportamientos, el subconjunto de elementos ambientales (objetos, agentes, alimento, etc.) y finalmente por el subconjunto de sensores del agente. Adicionalmente, se agrega un comodín de tal manera que cualquier sensor, comportamiento u objeto pueda ser referido. Cada agente tiene un cromosoma con información acerca de su propia estructura, ej. el agente A puede tener un cromosoma como: [IFMATCH, muro, buscar-comida, sensor1, INHIBIT, evadir-obstáculo, AND, deambular, buscar-alimento], y este cromosoma resulta ser una regla válida porque tanto el antecedente como el consecuente de la función IFMATCH empareja con cada tipo de argumento requerido: [{IFMATCH}, {objeto}, {comportamiento}, {sensor}, {INHIBIT / SUPRESS}, {comportam.}, {comportam.}]. El cromosoma se traduciría en la siguiente regla: IFMATCH: Hay un muro Está activado el comportamiento buscar-alimento 9 Lectura del sensor1 THEN: evadir-obstáculo INHIBIT deambular AND buscar-alimento Analizando esta regla se puede inferir que el agente posee tres capas de comportamientos: evadir-obstáculos, deambular y buscar-alimento, y los dos últimos son inhibidos por el primero cuando el sensor1 identifica un muro en frente del agente. Sin embargo, estos cromosomas (predicados de aplicabilidad) no tienen siempre una sintaxis válida, por lo tanto el mecanismo PEG es empleado para evolucionar el cromosoma hasta que se convierta en una regla sintáctica válida. Cada individuo (agente) tiene un cromosoma multigénico, lo cual significa que cada cromosoma tiene un conjunto de genes donde cada gen es un predicado de aplicabilidad como el del ejemplo, por tanto el agente tiene múltiples reglas (genes) como parte de su genotipo y cada uno es aplicado de acuerdo a la situación que estimula el antecedente de la regla. Cada gene es convertido en un árbol de expresión y luego un conjunto de operadores genéticos es aplicado entre los genes del mismo agente como también con genes de otros agentes [12]: selección, mutación, transposición de origen, transposición genética, recombinación en uno y dos puntos, y recombinación genética. Después de cierto número de generaciones evolutivas, se generan configuraciones de agentes válidos y mejor adaptados. Se emplea el método de la ruleta para la selección de individuos teniendo en cuenta la probabilidad de selección que se deriva de su propia aptitud. La aptitud representa que tan eficiente ha sido la interacción con el ambiente durante el tiempo de vida del agente. 3.4. Propiedades emergentes de la Arquitectura Brooks postula en su artículo [3] la posibilidad de que la inteligencia pueda emerger de un conjunto de comportamientos acoplados pobremente, y que ciertas propiedades emergentes resultan debido a la compleja dinámica de las interacciones entre comportamientos simples y que dicha emergencia es en gran magnitud, accidental. La arquitectura propuesta articula un conjunto de comportamientos que por un lado aprenden, de manera independiente y paralela, las condiciones ambientales, y por otro evolucionan dentro de un repertorio categorizado. Cada comportamiento simple puede ser aplicado a un subconjunto de situaciones específicas pero no a todo el espacio del problema, sin embargo la interacción entre los comportamientos de un mismo agente permite cubrir múltiples conjuntos de estados del problema, lo cual genera ciertas características en el agente: robustez, redundancia en el conocimiento adquirido, tolerancia a fallos y un gran nivel de plasticidad, de tal manera que se hacen evidentes ciertas propiedades emergentes en el individuo y dentro de la sociedad (Sistema multi-agentes). Se puede decir entonces, que las propiedades emergentes aparecen desde tres perspectivas en una aproximación de abajo a arriba (bottom-up): Atómica: en cada comportamiento de la arquitectura multicapa, cuando un SAM asociado aprende de su interacción con el ambiente cómo relacionar las entradas sensoriales con las salidas de los actuadores de manera automática. Individual: cuando el agente auto-configura su estructura interna (cromosoma), jerarquía y arbitraje de comportamientos a través de un proceso evolutivo dirigido por PEG. Social: cuando un mecanismo de co-evolución de comportamientos híbridos es aplicado a todos los comportamientos de los agentes, causando que los comportamientos aprendan no solamente entre ellos mismos empleando el SAM asociado sino también cooperando con otros agentes y comunicando el conocimiento adquirido entre ellos. Es importante resaltar que la emergencia en las diferentes perspectivas, desde la atómica hasta la social, provoca una emergencia global del sistema, donde se espera que cierto nivel de inteligencia emane. 4. Propiedades emergentes de la arquitectura Con el fin de evaluar la arquitectura propuesta, se consideraron los siguientes aspectos en cada nivel: Con respecto a los SAMs: Tasa de convergencia del aprendizaje en cada sistema propuesto: SCE, SIA, SCQ y SCA. Generalización y robustez (reacciones a los cambios ambientales) Con respecto a la co-evolución de comportamientos híbridos: Tasa de convergencia de la evolución y del aprendizaje en cada repertorio de comportamientos. 10 Diversidad del conocimiento adquirido en cada repositorio de comportamientos Con respecto del algoritmo PEG para la auto-configuración de condiciones de subsumción y arbitraje de comportamientos: Variación de la tasa de éxito vs. el número de genes. Progresión del incremento de aptitud de la población Tasa de convergencia de genes bien formados sintácticamente Con respecto a todo el sistema: Análisis de las arquitecturas de subsumción obtenidas por los agentes y las propiedades emergentes después de cierto número de generaciones (visión holística). Se emplea para las pruebas de la experimentación un entorno de vida artificial llamado Animat (animal + robot) [6]. El entorno simula agentes virtuales compitiendo por obtener alimento, agua, evadiendo obstáculos, cazando, huyendo de depredadores, etc. como se propuesto anteriormente en O. Romero [15]. Este entorno animat fue seleccionado por ser más apropiado en la observación de comportamientos emergentes pero no porque sea el único entorno aplicable. Cada animat controlado por un agente, dispone de un conjunto de 14 sensores de proximidad (ver figura 7) simulando un sentido visual limitado. 12 sensores leen una zona segura y los otros 2 sensores leen un área más reducida llamada la zona de peligro (para evitar colisiones), como fue propuesto por D. Romero [9]. Zona Segura 2 3 1 4 5 12 11 Objeto sensado Zona Peligro 6 10 9 8 7 Animat Figura 7. Distribución de sensores en el animat Adicionalmente, se provee un entorno simulado con objetos, alimento, depósitos de agua, animats, obstáculos, trampas, etc. Como se observa en la figura 8. Muro (obstáculo) Animats Depósito agua Árbol (obstáculo) Animats Alimento Figura 8. Entorno simulado Animat Consecuentemente, la experimentación se basó en la observación de algunas características de identidad en los animats, ej. Se buscaba que algunos agentes animat se comportaran como depredadores y otros como presas. Los depredadores podrían incluir comportamientos como evadir-obstáculos, buscar-agua, perseguir-presas, cazarpresas, etc. Y los animats presas podrían incluir comportamientos como evitar-obstáculos, buscar-alimento, buscaragua, esconderse, huir, etc. Sin embargo, las propiedades emergentes pueden variar de acuerdo al entorno y al conjunto de comportamientos diseñados a priori. A continuación se presentan los resultados obtenidos. 11 4.1. Tasa de convergencia del aprendizaje y nivel de generalización de cada SAM En este experimento se diseñó un ambiente donde el animat tenía que interactuar con éste empleando un SAM diferente cada vez. Este escenario consiste en una malla rectangular bidimensional que simula un laberinto. Dentro de la malla habrá un animat (representado por un conejo) que tendrá que evadir obstáculos y seguir un camino de alimento iterativamente hasta que haya aprendido el patrón [15]. Cada 200 iteraciones se aplican ciertos cambios al ambiente y el animat tendrá que aprender el nuevo patrón y realizar generalizaciones de conocimiento de manera adaptativa. La figura 9 muestra algunas variaciones del ambiente. a) b) c) Figura 9. a) ambiente inicial; b) variación suave en el ambiente; c) variación drástica en el ambiente La figura 10 muestra un gráfico de la curva de aprendizaje de los siguientes SAMs: SCE, SIA, SCA, SCQ simple y multicapa. La convergencia del aprendizaje en el experimento se evalúo empleando los ambientes de la figura 9 y los parámetros de la tabla 1: Parámetros SCE Impuesto Vida Impuesto Apuesta BrPow Nº clonaciones x regla Nº mutaciones x regla Umbral de Semejanza Alpha α Beta β Delta δ Gamma γ Lamda λ Nº capas red neuronal Número de Épocas Nº ejecuciones x época SIA 1 2 0.1 0.2 0.1 0.95 - SCQ SCA 0.005 0.003 4 2 0.8 0.1 0.02 0.8 0.8 5 1000 20 0.005 0.003 1.0 1 1 - Tabla 1. Parámetros de ejecución de los SAMs 700 600 SCA SIA SCQ - Simple SCE SCQ - Multicapa Iteracioness 500 400 300 200 100 0 1 51 101 151 201 251 301 351 401 451 501 551 601 651 701 751 801 851 901 951 Epocas Figura 10. Curva de aprendizaje de cada SAM La figura 10 muestra los diferentes SAMs convergiendo rápidamente después de la época número 20 en promedio para el primer patrón, sin embargo cuando se ejecuta algún cambio en el ambiente (cada 200 iteraciones), cada SAM registra un pico y luego tienden a converger nuevamente después de 5 a 7 épocas. Esto demuestra claramente la capacidad de los SAMs para generalizar el aprendizaje previo adquirido y para aplicarlo a nuevas situaciones, en este caso, el aprendizaje de un nuevo patrón ambiental. Además de esto, en la figura 10 se observa que los SAMs de tipo SIA y SCQ son más adaptativos y robustos que los otros ya que convergen más rápidamente, a una tasa del 12 12%, cuando se introducen cambios al patrón ambiental aprendido. 4.2. Tasa de convergencia de aprendizaje y evolución en cada repertorio de comportamientos El objetivo de este experimento es examinar si la aptitud de cada repertorio de comportamientos se incrementa gradualmente hasta alcanzar un punto de convergencia mientras el proceso evolutivo subyace. En este experimento se estudiaron 3 repertorios de comportamientos: “buscar-comida”, “evitar-obstáculos” y “escapar-dedepredadores”, y se realizaron mediciones de del promedio de la aptitud en cada repertorio de comportamientos. El experimento de convergencia del aprendizaje se llevó a cabo con los parámetros de la tabla 2. La curva de aprendizaje de la evolución en paralelo de los comportamientos se muestra en la figura 11. Parámetros Número de Épocas Nº ejecuciones x época Probabilidad de cruce Probabilidad de Mutación Tasa mutación η Tasa mutación θ Tasa mutación κ Tasa mutación γ Valor 50 50 0.7 0.3 0.85 0.25 1.03 0.01 Tabla 2. Parámetros mecanismo co-evolutivo En cada época, se realiza el cálculo del promedio de aptitud en 50 ejecuciones de evolución en el repertorio. Se observa, en la figura 11, que el comportamiento buscar-alimento tiene una curva de aprendizaje más lenta en contraste con el comportamiento evadir-obstáculos y por otro lado el comportamiento evadir-obstáculos tiene el aprendizaje con más alteraciones y picos en comparación con los otros dos comportamientos que tienen curvas más suavizadas debido a las diferencias en las condiciones ambientales de cada repertorio de comportamientos (número de refuerzos positivos por unidad de tiempo, impacto de los refuerzos negativos, dispersión de obstáculos, etc.). Sin embargo los 3 repositorios intentaron converger y alcanzar cierta estabilidad en un número aproximado de épocas (después de 30 épocas), lo que significa que la evolución fue efectiva y que cada repertorio de comportamientos ha establecido una base de conocimiento coherente obteniendo un consenso entre sus propias instancias de comportamientos acerca de lo que el “comportamiento debería hacer”. 4000 3500 Aptitud Promedio 3000 2500 2000 Comport. EO Comport. BA Comport. ED 1500 1000 500 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 Epocas Figura 11. Tasa de convergencia de la evolución en 3 repertorios de comportamientos 4.3. Variación del éxito vs. Número de genes en PEG Con el propósito de definir el número de genes que cada cromosoma debería tener, múltiples pruebas experimentales se realizaron incrementando gradualmente el número de genes. La Tabla 3 muestra los parámetros 13 empleados en el experimento y la figura 12 ilustra la curva de la variación del éxito vs. el número de genes. Parámetro PEG Tasa mutación en un punto Tasa recombinación en un punto Tasa recombinación en 2 puntos Tasa recombinación genética Tasa transposición genética Tasa transposición de IS Tasa transposición en Origen Longitud cabeza cromosoma Número de individuos Valor 0.45 0.15 0.15 0.15 0.10 0.10 0.10 10 300 Tabla 3.Parámetros PEG 120 Tasa de Éxito(%) 100 80 60 40 20 0 0 5 10 15 20 25 Número de Genes Figura 12. Tasa de variación del éxito vs. Número de genes La figura 12 muestra que la tasa de éxito tiene un alto porcentaje cuando los individuos tienen un cromosoma con 10 u 11 genes. Por tanto se propone emplear cromosomas multigénicos de 10 genes en cada individuo. 2500 Promedio de Aptitud Mejor Aptitud Aptitud (Max 2000) 2000 1500 1000 500 0 0 10 20 30 40 50 60 Número de Generaciones Figura 13. Progresión de la aptitud promedio de la población vs. número de generaciones Adicionalmente, se analizó la progresión del promedio de aptitud de la población mientras el número de generaciones era incrementado. Empleando los parámetros PEG de la tabla 3, se presentan en la figura 13 los resultados de progresión en 50 ejecuciones. En este experimento se encontró una solución perfecta en la generación12. 14 4.4. Convergencia de genes bien formados sintácticamente En este experimento, se analizó la progresión del número de estructuras bien formadas sintácticamente (cromosomas multigénicos) de cada individuo durante el proceso evolutivo. La figura 14 muestra cómo el número de cromosomas válidos incrementa mientras la población evoluciona a través de las generaciones. El experimento fue ejecutado con los parámetros de la tabla 3. 350 300 Genes válidos 250 200 150 100 50 0 0 10 20 30 40 50 60 -50 Número de genes Figura 14. Estructuras multigénicas válidas (cromosomas) a través de generaciones La figura 14 muestra que se presenta un punto de convergencia (esto es que todos los cromosomas en la población son válidos) en la generación 27 en promedio. Por tanto, el sistema necesitará entre 25 y 30 generaciones para evolucionar los individuos en la población. 4.5. Análisis de arquitecturas evolucionadas Finalmente, después de que todo el sistema multi-agentes ha evolucionado durante un número específico de generaciones, se han analizado las estructuras finales de los agentes mejor adaptados donde se presentaron propiedades emergentes. Generación 0 – Agente 116 INHIBIT AND Buscar-agua IFMATCH árbol Buscaralimento Esconderse sensor7 SUPRESS Buscaralimento Buscaragua AND Evadirobstáculos Figura 15. Fragmento de Genotipo de la arquitectura inicial del agente (Representación en AEs) Las figuras 15 y 16 muestran el genotipo (Árboles de Expresión AE) y el fenotipo respectivamente de una arquitectura inicial de un agente escogido aleatoriamente sin ninguna fase evolutiva aún; en contraste, las figuras 17 y 18 muestran el genotipo y fenotipo respectivamente de la arquitectura del mismo agente evolucionada después de 326 generaciones. 15 Buscar-agua s i i Buscar-alimento s Evadir-obstáculos Esconderse Figura 16. Fragmento de Fenotipo de la arquitectura inicial del agente En la figura 16 el cromosoma representa cuatro comportamientos: buscar-agua (b-ag), buscar-alimento (b-al), evadir-obstáculos (e-o) y esconderse-de-depredadores (e-d), donde b-ag inhibe b-al y e-d suprime e-o, pero existe un proceso contradictorio cuando b-al intenta suprimir a b-ag y b-al ya ha sido inhibido por b-ag. Esto se soluciona con la arquitectura evolucionada en la figura 18 la cual propone una nueva estructura agregando el comportamiento huir-de-depredadores y excluyendo el comportamiento esconderse. Generación 326 – Agente 116 IFMACTH OR muro OR árbol Buscaralimento sensor1 Huir INHIBIT Evadirobstáculos Huir AND AND Buscaragua Buscaralimento Figura 17. Fragmento de Genotipo de la arquitectura evolucionada del agente después de 326 generac. Como se ilustra en la figura 18, los procesos contradictorios de inhibición/supresión iniciales en la arquitectura del agente (ver figura 16) se han solucionado, y solo son propuestos por la arquitectura evolucionada, procesos inhibitorios jerárquicos. Además, se puede deducir también que la arquitectura evolucionada ha reunido un conjunto específico de comportamientos convirtiendo al agente en un animat con identidad de presa. Evadir-obstáculos i i i Huir-depredadores Buscar-alimento Buscar-agua Figura 18. Fragmento de Fenotipo de la arquitectura evolucionada del agente después de 326 generac. Es importante notar en la arquitectura evolucionada que el comportamiento huir-de-depredadores inhibe los comportamientos buscar-alimento y buscar-agua, pero si el animat se encuentra huyendo y su sensor7 detecta un muro o un árbol en frente, entonces el comportamiento huir-de-depredadores es inhibido por el comportamiento evitar-obstáculos hasta que el obstáculo no esté más en frente del animat, y luego el animat continua con su huida. Convenientemente se podría decir que ha ocurrido un comportamiento emergente. Finalmente, el experimento demuestra que la configuración de parámetros específicos en los SAMs, PEG y en el mecanismo co-evolutivo es requerida para alcanzar cierta robustez, aprendizaje y capacidad de adaptación en todo el sistema. Si embargo las propiedades emergentes no surgen siempre de una manera rápida, en un 80% de los experimentos los animats murieron rápidamente sin aprender a sobrevivir. 16 5. Conclusiones La integración de múltiples Sistemas de Aprendizaje de Máquina (SAM) para el control de comportamientos empleando una aproximación a una arquitectura subsumida híbrida, en lugar de usar las típicas Maquinas de Estado Finitas Aumentadas, ha demostrado importantes ventajas en el aprendizaje del agente, haciendo representaciones y modelos internos del mundo y adaptándose a los cambios ambientales. Los mecanismos evolutivos empleados en este trabajo, aportaron cierta característica de plasticidad permitiendo al agente auto-configurar su propia arquitectura multicapa basada en comportamientos; además puede evitar la creación exhaustiva y extensiva de bases de conocimiento, estructuras multicapa de comportamientos preconfigurados y entornos con condiciones definidas a priori. En su lugar, un agente cognitivo que emplea la arquitectura propuesta solo necesita interactuar con un ambiente arbitrario para adaptarse a él, realizar funciones de aprendizaje y tomar decisiones tanto reactivas como deliberativas. Algunos problemas se enfrentaron cuando se intentaron definir los predicados de aplicabilidad que evolucionarían a través del algoritmo PEG ya que se debían realizar varias validaciones sobre el conjunto de funciones, y quizás este trabajo deba hacerse cada vez que la arquitectura se contextualice en diferentes ambientes. Durante la experimentación resultó tener un alto nivel de complejidad el descubrimiento de propiedades emergentes debido a la gran cantidad de tiempo que toma la evolución de todo el sistema a pesar de emplear una plataforma multi-agentes con una configuración distribuida. Quizás, esto sea similar a la evolución natural donde la adaptación ocurre lentamente y algunas veces produce criaturas pobremente adaptadas y sin vislumbrar emergencia aparentemente. En el trabajo futuro se espera continuar trabajando en el diseño de arquitecturas más adaptativas y autoconfigurables, empleando técnicas de lógica difusa en los SAMs para mejorar la lectura de los sensores por ejemplo. En el futuro, se desea proponer una aplicación concreta de esta investigación en el desarrollo de un Módulo Cognitivo para Agentes Pedagógicos Emocionales, donde el agente podrá auto-aprender acerca de sus perspectivas, creencias, deseos, intenciones, emociones habilidades y percepciones. Agradecimientos Este proyecto ha recibido el apoyo del Programa Alban, Programa de Becas de Alto Nivel de la Unión Europea para America Latina, beca No. E05D056455CO”. A Diego Romero del Departamento de Ingeniería Mecánica y Luis Niño del Departamento de Ingeniería de Sistemas de la Universidad Nacional de Colombia; a la profesora Angélica de Antonio del Departamento de Ingeniería de Software de la Universidad Politécnica de Madrid, quienes hicieron numerosas contribuciones en el desarrollo de ésta investigación Referencias [1] R.A. Brooks, A Robust Layered Control System For A Mobile Robot, IEEE Journal Of Robotics And Automation, RA-2, pages 14-23, 1986. [2] M.J. Mataric, Behavior-based control: Main properties and implications, Proceedings of the IEEE International Conference on Robotics and Autonomation, Nice, Francia, pages 2-8, 1992. [3] R.A. Brooks, How to build complete creatures rather than isolated cognitive simulators, Architectures for Intelligence, page s225-239, 1991. [4] J. R. Koza, Evolution of subsumption using genetic programming, Proceedings of the First European Conference on Artificial Life, Paris, pages 110-119, 1992. [5] S.W. Wilson, State of {XCS} Classifier System Research, Lecture Notes in Computer Science, 1813, pages 6381, 2000. [6] J.H. Holland, “Induction, Processes of Inference, Learning and Discovery”, Mich:Addison-Wesley, 1953. 17 [7] L. N. de Castro, J. Timmis, “Artificial Immune Systems: A New Computational Intelligence Approach”, Ed. Springer, 2002. [8] N.K. Jerne, The Immune System, Scientific American 229, No. 1, pages 52-60, 1973. [9] D. Romero, L. Niño, An Immune-based Multilayered Cognitive Model for Autonomous Navigation, IEEE Congress on Evolutionary Computation, Vancouver, pages 1115-1122, 2006. [10] C. Watkins, Q-learning, Machine Learning 8, Boston, pages. 279-292, 1992. [11] V. Kuzmin, Connectionist Q-learning in Robot Control Task, Proceedings of Riga Technical University, pages 112-121, 2002. [12] C. Ferreira, Gene Expression Programming: A new adaptive algorithm for solving problems, Proceedings on Complex Systems, forthcoming, 2001. [13] P.Stone, Layered Learning in Multiagent Systems, (Doctor Thesis CMU-CS-98-187, 1998) [14] A. Farahmand, Hybrid Behavior Co-evolution and Structure Learning in Behavior-based Systems, IEEE Congress on Evolutionary Computation, Vancouver, pages 979-986, 2006. [15] Oscar Romero, Animales artificiales con Sistemas Clasificadores y Algoritmos Genéticos. Revista Ingeniería, vol 7 No 1, Facultad de Ingeniería - Universidad Distrital, pages 51-63, 2002.