viernes, 8 de agosto de 2008

Agentes Inteligentes

Inteligencia a partir de agentes tontos

Agentes  Inteligentes para tontos

¿Agentes tontos? ¿Puede la inteligencia surgir de un grupo de máquinas tontas? ¿Podemos estudiar la inteligencia utilizando agentes tontos? Investigadores de la Universidad de Indiana (UI) forman parten de una comunidad creciente que cree que el enfoque basado en agentes tontos permitirá a los investigadores en Inteligencia Artificial (IA) construir sistemas más inteligentes y a los científicos cognitivos estudiar la inteligencia con más amplitud. Estos investigadores están alejándose del enfoque tradicional de la Inteligencia Artificial que modela el comportamiento inteligente diseñando e implementando un agente complejo. La aproximación con un único agente ha tenido éxito en dominios racionales especializados como juegos, razonamiento y planificación de trayectorias [14]. Sin embargo, parece importante reconocer todos los éxitos de la naturaliza, especialmente porque la naturaleza parece estar repleta de agentes inteligentes.

En algunos proyectos de agentes tontos, los agentes están aislados intentando optimizar su rendimiento. En otros dominios, los agentes no están aislados y pueden interactuar. El comportamiento de los agentes puede involucrar su coordinación con otros agentes. El dominio de los problemas actualmente investigados en la UI incluyen el control sensorial y motriz, el estudio del comportamiento social, el modelado de modos cognitivos interactivos (como el lenguaje) e, incluso, la resolución de problemas complejos integrando a dichos agentes.

Varios proyectos de investigación en la UI han intentado emplear el conocimiento adquirido de la observación de la naturaleza para resolver problemas reales, estudiar los comportamientos sociales y estudiar acciones. El enfoque de los agentes tontos supone la generación de una población de agentes inicialmente tontos (simples). Dicha población suele ser grande (quizás 50, 100 o incluso 1000 agentes). Los agentes pueden ser todos idénticos o pueden existir diferencias. Suelen construirse aleatoriamente con la expectativa de que parte de la variación natural en la población contenga la semilla para resolver la tarea deseada. La población entera de agentes se evalúa entonces de acuerdo a su adecuación a la resolución de la tarea de interés. Los mejores agentes se suelen seleccionar para continuar su modificación. Mediante un ciclo continuo de selección y modificación surgen los agentes más adecuados para la tarea. En algunos casos, los agentes trabajan solos, cada uno de ellos intentado superar a los otros en la resolución de la tarea concreta. En otros casos, los agentes trabajan conjuntamente para resolverla.

Nos gustaría presentarle el enfoque de los agentes inteligentes ante el comportamiento inteligente de la Universidad de Indiana.

Los agentes tontos procrean...

Gary Parker trabaja con robots de seis patas y las rutinas de control motor necesarias para cada pata. En condiciones perfectas, programar al robot para caminar sería directo. Sin embargo, el mundo real no ofrece muchas situaciones con condiciones perfectas. Las diversas complicaciones que Parker encuentra incluyen: patas individuales con longitud, tracción y grados de movimiento diferentes; motores individuales con distinta velocidad y par motor; y, superficies para andar raramente planas por completo. Sería extremadamente difícil diseñar un programa específico que pudiese considerar estas restricciones y condiciones variables tanto del robot como del entorno. En su lugar, Parker hace evolucionar los programas de control motriz.

Parker ha construido un modelo computacional del robot que incluye variables para cada aspecto de las características físicas del robot. Los programas de control pueden probarse en el modelo, haciendo que se mueva un robot simulado. Para cada robot real, se calibra el modelo para que corresponda a las características del robot. De hecho, durante la vida de un único robot, la recalibración es a veces necesaria. Una vez que se ha definido el modelo del robot, se ejecuta un algoritmo genético (AG) sobre las soluciones de control motriz.

Un AG es un método de búsqueda inspirado en la selección natural [6]. Una población de soluciones se genera aleatoriamente y cada solución se evalúa su adecuación, que es una medida directa relacionada con el rendimiento de la solución en el problema. En el caso de Parker, el problema es mover al robot hacia adelante y las soluciones son las rutinas de control motriz. Las soluciones más adecuadas se emplear para generar nuevas soluciones. La repetición de este proceso muchas veces (generaciones de soluciones que evolucionan) puede llegar a un conjunto de soluciones que resuelven bien el problema.

En el trabajo de Parker, los robots simulados comienzan con movimientos aleatorios en sus patas. Esto normalmente no los lleva demasiado lejos. Sin embargo, algunos se mueven hacia adelante un poco. Estas soluciones llevan a otras soluciones, algunas de las cuales funcionan peor y otras mejor. A lo largo del tiempo, Parker ha conseguido rutinas de control motriz suave que imitan la forma de andar de varios insectos diferentes. [17, 18, 19]. El uso de estas rutinas de control en robots reales conduce a robots que caminan. Los robots tontos, incapaces de moverse de ninguna forma con sentido, han evolucionado hasta robots capacitados a través de generaciones de evolución simulada.

Sin embargo, Parker quiere robots que puedan hacer algo más que moverse hacia adelante. Ahora, sus AGs buscan rutinas de control motriz que permitan a los robots examinar en detalle un espacio dado. Aunque estas tareas son similares a las tratadas por Rodney Brooks [4], la arquitectura de Brooks es muy diferente. En vez de los agentes de bajo de nivel de la arquitectura de Brooks, los modelos de Parker hacen evolucionar sólo órdenes motrices, sin conocimiento a priori alguno de las formas de andar. Estas órdenes son similares a las que uno podría imaginar instintivas de los animales simples.

Un problema al que los robots se enfrentan es que el entorno alrededor de ellos cambia mientras su control motriz no lo hace. Por esta razón, Parker está estudiando colocar los AGs que buscan las rutinas de control motriz en el propio robot. Esto permitiría al robot hacer evolucionar constantemente sus rutinas para caminar en el entorno actual. Permitiría también que el robot ajustase su forma de andar si cualquiera de los motores de sus patas fuese dañado o inhabilitado. Con la técnica de aprendizaje ``en cualquier momento'' incorporada, los nuevos controladores de robots podrían ser continuamente evaluados, estando siempre disponibles las potencialmente mejores soluciones para el entorno actual.

¿Por qué escuchar a un agente tonto?

Mientras que la simulación de Parker trata el problema de coordinar las patas de un único agente robótico, Cristobal Baray trabaja en la coordinación de las acciones entre múltiples agentes. Aunque los modelos distribuidos de inteligencia artificial persiguen protocolos de coordinación para agentes complejos, hay otras aplicaciones para ellos. La Naturaleza dispone de varias sociedades animales coordinadas para usarlas como inspiración. Las hormigas emplean feromonas para comunicarse acerca de fuentes de comida, acerca del mantenimiento de la colonia y acerca de amenazas. Algunas ardillas y monos tienen sistemas de comunicación que incluyen varios tipos diferentes de llamadas de alarma para distintos tipos de predadores. Haciendo uso de esos sistemas, Baray desarrolló un pequeño mundo artificial, con comida, veneno y algunos agentes tontos.

Los agentes tontos en este caso son simplemente agentes reactivos. Son máquinas de respuesta a estímulos, controladas por un conjunto de reglas ``if-then'' (si-entonces). Están parcialmente inspiradas por los siempre intrigantes vehículos de Braitenburg [3]. La condición del ``if'' se basa en el entorno actual del agente y la claúsula ``then'' define la acción específica a realizar. Los agentes no tienen memoria, ni son capaces de aprender (modificar sus reglas if-then) durante su vida. Para permitir que su cooperación, son capaces de emitir y recibir señales. Para decidir qué conjunto de reglas if-then deberían utilizar los agentes se emplean algoritmos genéticos. Poblaciones de agentes idénticos se colocan en el mundo y su esperanza de vida media representa la adecuación de las reglas if-then.

Se realizaron simulaciones del mundo intentando parametrizar las condiciones donde los sistemas de comunicación evolucionarían. Los primeros experimentos mostraron que el mundo no era lo suficientemente hostil para motivar las señales. Si la vida es fácil, comportamientos simples (incluso aleatorios) bastarían. En un intento de mitigar este problema, se introdujeron predadores móviles en el mundo. Estos predadores eran capaces de llevar la evolución de los agentes más allá. Se descubrieron las llamadas de alarma, con dos respuestas diferentes. En algunos casos, los agentes huirían de una llamada de alarma. Sin embargo, otras poblaciones evolucionaron hasta el comportamiento de dirigirse hacia las llamadas de alarma [1]. Aunque los agentes no se podían ayudar unos a otros al enfrentarse a un predador, se podían ayudar indirectamente. Los predadores en sí son bastante simples y pueden ser confundidos por muchos agentes en su campo de visión. Cuando otros agentes se dirigían hacia el agente en peligro, el predador tenía dificultades al perseguir a un agente específico. En algunos casos, todos los agentes pueden escapar ilesos. Este comportamiento también se ve en sistemas naturales y se le denomina ``efecto confusión''.

Actualmente, la co-evolución de grupos de agentes se está introduciendo en el modelo. Relajando la restricción de homogeneidad en las poblaciones, roles específicos podrían desarrollarse. Sociedades de avisadores y escuchadores o líderes y seguidores podrían mostrar algunas ventajas sobre las poblaciones homogéneas. De nuevo, el objetivo es parametrizar las condiciones que conducen a la evolución de varias estrategias. Este conocimiento podría conseguir mejores métodos de diseño para sistemas cooperativos con múltiples agentes. Además, el trabajo podría aplicarse en controladores de alto nivel par los robots de Parker, con el fin de coordinar las acciones de una colonia de robots.

El habla tonta

En gran parte como el trabajo de Cris Baray sobre la coordinación de las acciones de múltiples agentes con señales, el trabajo de Kyle Wagner está centrado en las señales concretas que los organismos utilizan. Él se fija en los efectos de varias variables del entorno en la evolución de los sistemas de comunicaciones, tales como el lenguaje humano. iquest;Por qué han evolucionado los sistemas de comunicaciones en tantas especies [11, 23]? iquest;Surgen estos sistemas siempre en las especies o hay aspectos de su entorno que pueden predecir si un sistema de comunicación aparecerá o no? Cuestiones como estas no pueden responderse con los enfoques de la IA tradicional ya que requieren muchos agentes que interactúan (haciendo señales).

Las simulaciones de Wagner tratan los efectos de la abundancia de recursos, los costes de las señales y la densidad de la población en la evolución de las señales. Cada agente es un mecanismo simple de estímulo-respuesta: puede detectar la presencia de recursos, señales y otros agentes, además de moverse y enviar señales. El comportamiento particular de cada agente queda determinado por sus genes. Inicialmente, los agentes tienen genes aleatorios, así que son agentes tontos, incapaces de responder a su entorno adecuadamente. Como su éxito en el mundo determina su éxito en el apareamiento, cada generación siguiente de los agentes llega a ser mejor en el trato con su entorno. Eventualmente, en algunas poblaciones evolucionan comportamientos que hacen señales para ayudarles a obtener recursos de una forma más efectiva. En otros experimentos, en las poblaciones evolucionan comportamientos simples de recolección de recursos que no utilizan señales en absoluto (esto ocurre cuando el coste de la señal es demasiado elevado o la densidad de población y la carencia de recursos hacen que las señales sean menos útiles).

Wagner también explota las interacciones entre aprendizaje y evolución e una sociedad de agentes [22, 21]. En particular, se pregunta por qué es la transmisión cultural tan importante para la forma particular de lenguaje que los humanos hablan [5, 16]. Por ejemplo, un bebé nacido de padres alemanes que a continuación crece en Japón -- y va a colegios japoneses -- aprenderá japonés. Sin embargo, el bebé no tiene antepasados japoneses. ¿Cómo puede ser si el ADN controla el comportamiento como la comunicación? La respuesta puede ser que el aprendizaje se combina con la evolución para desarrollar un comportamiento complejo como el idioma (véase [7] para más información acerca de la relación entre evolución y aprendizaje).

Las simulaciones de Wagner de la tensión ente evolución y aprendizaje se están encaminando hacia la captura de la dinámica de una población de agentes que hacen señales y no pueden confiar en su sistema de señales innato (especificado genéticamente). ¿Por qué los organismos podrían no ser capaces de confiar en las señales que la evolución les ha dado? Una explicación es que el entorno cambia demasiado rápido para que la genética le siga el paso. El aprendizaje se introduce como una solución a este problema. Es posible que los humanos transmitan su sistema de señales mediante la cultura porque el entorno eta muy inestable en algún tiempo del pasado de nuestra especia y la evolución eta demasiado lenta para modificar las señales actuales y adaptarlas al nuevo entorno. Solamente el tiempo (y muchos experimentos) dirán si esta hipótesis acerca de la evolución se mantiene.

El lenguaje para tontos

Los intereses de Jim Newkirk pueden verse como un complemento de los de Wagner. En vez de centrarse en la solución de un problema complejo en el entorno, Newkirk se centra en las herramientas que los agentes desarrollan para resolverlo. El desafío de este mundo artificial es relativamente simple: aprender a comunicarse acerca de los objetos del mundo creando nombres para ellos y usando esos nombres de una forma consistente para que surja un vocabulario común entre todos los agentes[11]. Los agentes comienzan de una forma prelingüística, con la única habilidad de hacer y reconocer un conjunto de sonidos, y de observar el uso de los sonidos por otros agentes. Cuando dos agentes se encuentran y usan el mismo sonido para describir los objetos que conocen, son recompensados. Compartir palabras para las cosas es un logro lingüístico que mejora la supervivencia haciendo avanzar la cooperación. Su elección de palabras se expandirá si otros agentes observan este comportamiento y prosiguen imitándolo en sus propios encuentros.

En la vida real las cosas siempre cambian; de modo similar, los agentes del modelo de Newkirk continuamente descubren nuevos objetos en su mundo. Cuando se encuentran nuevos objetos, los agentes se enfrentan a una elección. Han de escoger entre inventar o improvisar: pueden intentar inventar una nueva palabra para el objeto utilizando un sonido único nuevo o pueden improvisar un nombre nuevo combinando palabras que ya existen, tal como hacemos nosotros con las palabras compuestas. Se favorecerá el nombre más complejo si el nuevo objeto se parece a uno conocido, lo que hará al nuevo nombre más fácil de aprender. Pero también es más difícil interpretar un nombre complejo porque los significados de sus palabras componentes pueden combinarse de muchas formas. No todos los agentes harán la misma elección, por supuesto, así que las distintas formas de los nuevos nombres competirán en la población. La forma que se ajuste mejor al nuevo objeto y sea más fácil de aprender se expandirá más rápidamente y, con el tiempo, llegará a ser parte del vocabulario común. Los nombres complejos son una elección poderosa porque tienen el potencial de describir muchos objetos nuevos en términos de otros. Sin embargo, si los agentes escogen utilizarlos, deben desarrollar un método consistente para interpretar un nombre completo a partir de los significados de sus partes. Este es un proceso fundamental tras la sintaxis de un lenguaje: no sólo el uso de palabras, sino una estructura efectiva para combinarlas.

Incluso más intrigante es que los agentes aparecen a dos niveles. A un nivel hay agentes que se comunican y, an su mundo virtual, usan interacciones simples para hacer evolucionar un vocabulario sofisticado. A otro nivel más alto, hay un mundo lingüístico cuyos agentes son las palabras individuales, compitiendo entre ellas para dominar en el vocabulario y cooperando entre ellas para describir más objetos de los que podrían describir por sí mismas [2, 15]. Cada tipo de agente tiene sus propios problemas por resolver: los agentes virtuales han de sobrevivir en el mundo de los objetos y las palabras tienen que sobrevivir en el vocabulario. Sin embargo, ya que cada especie de agente depende de la otra, colectivamente resuelven el problema mayor de desarrollar un lenguaje útil para describir el mundo.

Agentes tontos en su (¿tonto?) escritorio

Los avances en potencia de cálculo a lo largo de los años ha impresionado al Profesor Gregory Rawlins, aunque el software disponible para esos "colosos" lo decepciona. A menudo nos recuerda que los ordenadores deberían ser herramientas que nos ayudasen en nuestras tareas diarias [20]. En vez de eso, parece que muchas de las aplicaciones disponibles incrementan la cantidad de trabajo necesaria para que realicemos nuestras tareas. Su último proyecto, temporalmente llamado KnownSpace, es un intento de mejorar la interfaz entre usuarios y datos.

Los objetivos del proyecto incluyen el análisis de ficheros de datos (páginas web, documentos de noticias, correos electrónicos y ficheros locales), el agrupamiento de datos en múltiples dimensiones y rangos, la búsqueda periódica de información relevante y/o potencialmente interesante en la web; y, la visualización de toda esta información en un entorno espacial a través del cual el usuario pueda fácilmente navegar. Además, las singularidades de cada tarea han de adaptarse a lo largo del tiempo a las necesidades, intereses y preferencias de cada usuario. Para este proyecto, Rawlins diseñó un entorno multi-agente.

Una regla de diseño estricta se mantiene a lo largo de este proyecto: ningún agente en el programa es capaz de más de un simple trabajo. Los trabajos simples incluyen analizar sintácticamente los datos para obtener atributos, buscar datos con valores específicos de los atributos, agrupar datos de acuerdo a varios atributos, recoger más datos de las distintas fuentes y monitorizar las acciones del usuario. Otros agentes monitorizan estos agentes de bajo nivel forzando la selección.

Es difícil predecir los atributos importantes. Cambiarán de usuario a usuario y posiblemente de un día a otro. Así que cientos de atributos se utilizarán, midiendo aspectos de las páginas que uno podría pensar que no son importantes. Sin embargo, en los datos posiblemente existan patrones que dependan de atributos que nosotros, como diseñadores, podríamos no predecir. Nuevos atributos se generarán continuamente. Nuevos agrupamientos se formarán, dependiendo de una serie de relaciones alternativas entre atributos. A lo largo del tiempo, las acciones del usuario seleccionarán algunos atributos y agrupamientos. Esto le permite al sistema adaptar su organización y reflejar los intereses del usuario y los patrones de comportamiento.

¿A dónde no llevarán los agentes tontos?

Los proyectos que acabamos de describir están aplicando nuevos métodos para estudiar y resolver viejos problemas. Estos métodos están aún en su infancia: las herramientas están constantemente en desarrollo, los resultados son difíciles de predecir e interpretar y el enfoque es aún más un arte que una ciencia.

Sin embargo, aún creemos que las interacciones de muchos agentes simples puede llegar a un comportamiento complejo.

Los proyectos que hemos descrito son sólo una parte de un trabajo creciente de investigadores que creen que agentes tontos distribuidos pueden ``hacer el trabajo'' mejor que un único agente sofisticado [23, 11, 9, 13]. Estos trabajos están todos inspirados de un forma u otra en los algoritmos genéticos presentados por John Holland, los maravillosos ensayos de Marvin Minsky acerca de distintos agentes tontos que forman The Society of Mind, la ``tía Hilda'' del libro Godel, Escher, Bach de Douglas Hofstadter, que tan elocuentemente dibuja la analogía de hormigas y hormigueros con neuronas y mentes; y otros muchos trabajos que pueden encontrarse en las actas de las conferencias Artificial Life (vida artificial) y Simulation of Adaptive Behavior (simulación del comportamiento adaptativo).

Un área del esfuerzo humano demuestra claramente el poder de muchos agentes ingenuos trabajando con un objetivo mucho mayor y más complejo: la ciencia. Ningún científico intenta comprender todo de inmediato. Más bien cada científico intenta trabajar en su campo altamente específico, haciendo contribuciones a la suma del conocimiento en esa área. Conforme cada área crece mediante las contribuciones de los individuos, esos individuos pueden usar el trabajo previo para construir nuevas y mejores teorías.

Aunque pueda resultar paradójico decir que comportamientos complejos pueden surgir de agentes inicialmente ingenuos, el trabajo llevado a cabo en la Universidad de Indiana y en otros lugares muestra que una gran diversidad de problemas puede tratarse con el enfoque de los agentes tontos. Los agentes inteligentes son difíciles de programar desde cero y algunas tareas no pueden llevarse a cabo por un único agente. El enfoque alternativo, comenzando con una población de agentes tontos y seleccionándolos para incrementar el rendimiento, parece funcionar bien en un gran número de dominios.

Finalmente, nuestra propia sociedad está compuesta por muchos agentes, cada uno capaz de conseguir más de lo que podría individualmente con la ayuda de la cooperación, la comunicación y la evolución.

No hay comentarios: