Arquitectura de la subsunción

La arquitectura de subsunción es una arquitectura robótica reactiva fuertemente asociada con la robótica basada en el comportamiento que fue muy popular en los años 80 y 90. Rodney Brooks y sus colegas introdujeron el término en 1986. La subsunción ha tenido una gran influencia en la robótica autónoma y en otras partes de la IA en tiempo real.

Visión general
La arquitectura de subsunción es una arquitectura de control que se propuso en oposición a la IA tradicional, o GOFAI. En lugar de guiar el comportamiento mediante representaciones mentales simbólicas del mundo, la arquitectura de subsunción acopla la información sensorial a la selección de la acción de manera íntima y de abajo hacia arriba.

Lo hace descomponiendo el comportamiento completo en sub-comportamientos. Estos sub-comportamientos están organizados en una jerarquía de capas. Cada capa implementa un nivel particular de competencia conductual, y los niveles más altos pueden subsumir niveles más bajos (= integrar / combinar niveles más bajos en un todo más completo) para crear un comportamiento viable. Por ejemplo, la capa más baja de un robot podría ser «evitar un objeto». La segunda capa sería «deambular», que corre debajo de la tercera capa «explorar el mundo». Debido a que un robot debe tener la capacidad de «evitar objetos» para «deambular» de manera efectiva, la arquitectura de subsunción crea un sistema en el que las capas superiores utilizan las competencias de nivel inferior. Las capas, que todos reciben información del sensor, Trabajar en paralelo y generar salidas. Estas salidas pueden ser comandos a los actuadores, o señales que suprimen o inhiben otras capas.

Propiedades

Fisicalidad
Los agentes están incorporados de alguna manera en el ambiente, tienen un cuerpo con sus sensores y actuadores, y perciben y reaccionan a los cambios en el ambiente.

Situación
Los agentes forman parte de su entorno del mundo real con el que interactúan. Esto afecta el comportamiento del agente.

Inteligencia
La inteligencia del agente está formada predominantemente por la colisión del agente con el entorno real, sus reacciones y estímulos.

Aparición El
La inteligencia del sistema, en su conjunto, surge de una manera emergente, es decir, la interacción de sus partes individuales.

No hay representación explícita del conocimiento.
La arquitectura del subsuelo no tiene un modelo explícito del mundo. Esto significa que el robot no tiene una descripción simplificada del mundo circundante. Los beneficios son evidentes. Los agentes no hacen predicciones sobre el mundo, por lo que pueden funcionar muy bien en un entorno impredecible. Ahorre tiempo para leer y escribir. También ahorra el tiempo del algoritmo utilizado por este modelo. También habrá problemas con un modelo mundial que no tiene que coincidir con el mundo real. Pero también tiene sus inconvenientes. El sistema es entonces puramente reactivo. Esto significa que solo responde a lo que está sucediendo en el mundo. En otras palabras, el mundo determina lo que quiere hacer.

Distribuido
El comportamiento se extiende entre autómatas finitos que realizan varias tareas. Como resultado, pueden responder a eventos competitivos en el medio ambiente. El comportamiento total es la suma aproximada de los autómatas finitos. La arquitectura del subsistema es paralela y asíncrona porque los autómatas finitos operan de manera independiente. Todas las máquinas finales se ejecutan constantemente, y como pueden tener su propio tiempo, no necesitan sincronización.

Capas
La arquitectura subsuperficial consta de capas donde cada una implementa un determinado comportamiento y consta de uno o más autómatas finitos. La arquitectura de subsistema se considera modular porque cada autómata finito realiza una tarea independiente. Cada máquina final tiene un número de líneas de entrada y salida. Las máquinas finales son procesadores que se envían mensajes entre sí y pueden almacenar estructuras de datos. Los procesadores funcionan de forma asíncrona y son equivalentes entre sí. Supervisan sus entradas y envían informes a las salidas. La máquina final siempre tiene en cuenta el último mensaje recibido. Por este motivo, el mensaje puede perderse si el nuevo mensaje llega antes de que se haya procesado el anterior. No hay control dentro de la capa, y no hay otra forma de comunicación entre los procesadores, es decir, no hay memoria compartida. Cada módulo solo se preocupa por su tarea. Las capas superiores tienen acceso a los sensores y afectan el comportamiento de las capas inferiores al limitar las entradas o al suprimir las salidas de ciertos autómatas finitos en los niveles inferiores.
Este es el mecanismo por el cual las capas superiores incluyen el papel de las capas inferiores.

Navegación
La capacidad de agente más importante basada en la arquitectura de subsunción es moverse alrededor del mundo y evitar mover y mover objetos. La navegación es una de las principales tareas que deben realizar los agentes, y esta tarea es extremadamente reactiva (en comparación con otros agentes cognitivos). La navegación se realiza principalmente en varias capas. El módulo más bajo evita los objetos (incluso para aquellos que aparecen repentinamente) y el nivel superior dirige al agente en una cierta dirección e ignora los obstáculos. Esta combinación proporciona una manera fácil de ir de A a B sin una planificación de rutas explícita.

Otro
Los agentes operan en tiempo real y están diseñados principalmente para moverse en un mundo real, dinámico y complejo.

Razones de origen
Una de las razones para la creación de una arquitectura de subsunción fue el hecho de que los autores querían abordar los siguientes requisitos y necesidades para la creación de robots móviles autónomos.

Muchos objetivos
El robot puede tener más objetivos que están en conflicto entre sí y deben abordarse de alguna manera. Por ejemplo, un robot puede intentar llegar a un cierto punto delante de él y, al mismo tiempo, debe evitar los obstáculos que están en camino. También debe llegar a algún lugar en el menor tiempo posible y, al mismo tiempo, tener que ahorrar sus recursos energéticos. Por lo tanto, es claro que la importancia y prioridad de los objetivos es relativa y dependiente del contexto. Sin duda, es más importante arrancar las vías cuando el tren avanza, antes de revisar las personas que duermen en la pista en ese momento.

Mas sensores
El robot puede tener múltiples sensores (cámaras, sensores infrarrojos, sensores acústicos, etc.). Todos los sensores pueden errar potencialmente. Además, a menudo no existe una relación analítica directa entre los valores de los sensores y las cantidades físicas requeridas. Algunos sensores pueden superponerse en las áreas que miden. Con frecuencia, pueden producirse lecturas incoherentes, a veces debido a una falla del sensor y otras debido a condiciones de medición, si el sensor se usa fuera de su alcance. A menudo, las características analíticas precisas del alcance no están disponibles. El robot debe poder tomar la decisión en las condiciones anteriores.

Robustez
El robot debe ser robusto. Cuando algunos sensores fallan, deben poder adaptarse y lidiar con la confianza solo en aquellos que funcionan. Cuando el entorno cambia drásticamente, todavía debería poder lograr un comportamiento razonable, en lugar de permanecer en shock o vagar sin sentido y sin sentido. También es apropiado si puede continuar si se producen errores en sus procesadores.

Escalabilidad
Cuando se agregan más robots al robot, necesitan más capacidad de procesamiento, de lo contrario, sus capacidades originales pueden verse alteradas con el tiempo.

Gol
La arquitectura de subsunción ataca el problema de la inteligencia desde una perspectiva significativamente diferente a la IA tradicional. Decepcionado con el desempeño del robot Shakey y proyectos similares inspirados en la representación de la mente consciente, Rodney Brooks comenzó a crear robots basados ​​en una noción diferente de inteligencia, que se asemejaba a los procesos de la mente inconsciente. En lugar de modelar aspectos de la inteligencia humana a través de la manipulación de símbolos, este enfoque está dirigido a la interacción en tiempo real y las respuestas viables a un laboratorio dinámico u entorno de oficina.

El objetivo fue informado por cuatro ideas clave:

Situación: una idea importante de la IA situada es que un robot debería poder reaccionar a su entorno dentro de un marco temporal similar al de una persona. Brooks sostiene que el robot móvil situado no debe representar al mundo a través de un conjunto interno de símbolos y luego actuar sobre este modelo. En cambio, afirma que «el mundo es su mejor modelo», lo que significa que se pueden usar configuraciones adecuadas de percepción a la acción para interactuar directamente con el mundo en lugar de modelarlo. Sin embargo, cada módulo / comportamiento aún modela el mundo, pero en un nivel muy bajo, cerca de las señales sensoriomotoras. Estos modelos simples necesariamente utilizan supuestos codificados sobre el mundo codificado en los algoritmos mismos, pero evitan el uso de la memoria para predecir el comportamiento del mundo, en lugar de confiar en la retroalimentación sensorial directa tanto como sea posible.

Encarnación: Brooks argumenta que la construcción de un agente encarnado logra dos cosas. La primera es que obliga al diseñador a probar y crear un sistema de control físico integrado, no modelos teóricos o robots simulados que podrían no funcionar en el mundo físico. La segunda es que puede resolver el problema de la conexión a tierra de los símbolos, un problema filosófico con el que se enfrentan muchas IA tradicionales, al unir directamente los datos de los sentidos con acciones significativas. «El mundo retrocede», y la relación interna de las capas de comportamiento están directamente conectadas a tierra en el mundo que el robot percibe.

Inteligencia: mirando el progreso evolutivo, Brooks argumenta que el desarrollo de las habilidades de percepción y movilidad son una base necesaria para la inteligencia humana. Además, al rechazar las representaciones de arriba hacia abajo como un punto de partida viable para la IA, parece que «la inteligencia está determinada por la dinámica de la interacción con el mundo».

Emergencia: convencionalmente, los módulos individuales no se consideran inteligentes por sí mismos. Es la interacción de dichos módulos, evaluada mediante la observación del agente y su entorno, lo que generalmente se considera inteligente (o no). «La inteligencia», por lo tanto, «está en el ojo del observador».

Las ideas descritas anteriormente siguen siendo parte de un debate en curso sobre la naturaleza de la inteligencia y cómo se debe fomentar el progreso de la robótica y la inteligencia artificial.

Capas y máquinas de estados finitos aumentados.
Cada capa está formada por un conjunto de procesadores que son máquinas de estado finito aumentado (AFSM), y el aumento se agrega a las variables de instancia para contener estructuras de datos programables. Una capa es un módulo y es responsable de un solo objetivo de comportamiento, como «pasear». No hay control central dentro o entre estos módulos de comportamiento. Todos los AFSM reciben de forma continua y asíncrona la entrada de los sensores relevantes y envían la salida a los actuadores (u otros AFSM). Las señales de entrada que no se leen en el momento en que se entrega una nueva terminan siendo descartadas. Estas señales descartadas son comunes y son útiles para el rendimiento porque permiten que el sistema funcione en tiempo real al tratar con la información más inmediata.

Debido a que no hay un control central, las AFSM se comunican entre sí mediante señales de inhibición y supresión. Las señales de inhibición impiden que las señales alcancen los actuadores o AFSM, y las señales de supresión bloquean o reemplazan las entradas a las capas o sus AFSM. Este sistema de comunicación AFSM es la forma en que las capas superiores subsumen las capas inferiores (ver figura 1), así como la arquitectura que se ocupa del arbitraje de selección de prioridad y acción en general.

El desarrollo de capas sigue una progresión intuitiva. Primero se crea, prueba y depura la capa más baja. Una vez que se está ejecutando el nivel más bajo, uno crea y une la segunda capa con las conexiones de supresión e inhibición adecuadas a la primera capa. Después de probar y depurar el comportamiento combinado, este proceso se puede repetir para (teóricamente) cualquier número de módulos de comportamiento.:16–20

Caracteristicas
Reconociendo lo anterior, los autores han decidido seguir el procedimiento que forma la base de la arquitectura de subsunción. Se ocuparon del problema de crear el robot verticalmente en función de las manifestaciones externas deseadas del sistema de control en lugar de la operación interna del robot. Luego definieron los llamados niveles de competencia. El nivel de competencia es la especificación del nivel requerido de comportamiento del robot con respecto a todos los entornos en los que se está moviendo. Un nivel más alto de competencia significa un nivel más específico de comportamiento. La idea principal de los niveles de competencia es que es posible crear capas del sistema de control que correspondan a un nivel dado de competencia y simplemente agregar una nueva capa a un conjunto existente.

R. Brooks y su equipo definieron los siguientes niveles de competencia en 1986:

Evite el contacto con objetos (sin importar si están en movimiento o estacionados)
1. Despertar sin rumbo sin chocar con objetos.
2. «Explora» el mundo buscando lugares al alcance
3. Construye un mapa del entorno y planifica tu viaje de un lugar a otro
4. Registrar cambios en entornos estáticos.
5. Considere el mundo en términos de objetos identificables y realice las tareas asociadas con estos objetos
6. Formular e implementar planes que requieran un cambio en el estado del mundo de una manera deseable.
7. Considerar el comportamiento de los objetos en el mundo y modificarlos en consecuencia.

Los autores primero construyeron un completo sistema de control de robots que logra competencias de nivel cero y se analiza minuciosamente. Otra capa llamada el primer nivel del sistema de control. Es capaz de manejar datos de la capa cero del sistema, y ​​también se le permite insertar datos en las interfaces internas de nivel cero, lo que limita la tasa de bits normal. El principio es que la capa cero continúa ejecutándose y no sabe nada sobre la capa sobre ella, a veces interfiriendo con las rutas de datos. Esta capa es capaz de alcanzar las competencias de primer nivel con la ayuda de la capa cero. El mismo proceso se repite para lograr un mayor nivel de competencia. Mire la figura 3. En el momento en que se creó la primera capa, una parte funcional del sistema de control ya está disponible. Las capas adicionales se pueden agregar más tarde y el sistema no puede ser modificado.

Muchas metas
Las capas individuales pueden trabajar en objetivos individuales al mismo tiempo. El mecanismo de supresión media las acciones que se tienen en cuenta. La ventaja es que puede que no haya una decisión previa sobre qué objetivo tomar.
Sensores múltiples
Todos los sensores pueden no ser parte de una representación central. Solo se puede agregar una lectura de sensor a la representación central, que se identifica como extremadamente confiable. Al mismo tiempo, sin embargo, los valores del sensor pueden ser utilizados por el robot. Otras capas pueden procesar y usar los resultados para lograr sus propios objetivos, independientemente de cómo se traten las diferentes capas.
Robustez
La existencia de múltiples sensores obviamente aumenta la robustez del sistema cuando sus resultados se pueden usar razonablemente. Hay otra fuente de robustez en la arquitectura de subsunción. Las capas inferiores que han sido bien probadas continúan ejecutándose incluso si se agregan capas más altas. Debido a que una capa superior solo puede suprimir las salidas de la capa inferior al interferir activamente con datos alternativos, y en los casos en que no puede producir resultados de una manera apropiada, los niveles más bajos todavía producirán resultados que sean razonables, incluso en un nivel de competencia inferior.
Extensibilidad
Una forma obvia de lidiar con la escalabilidad es dejar que cada nueva capa se ejecute en su propio procesador.

Los robots
La siguiente es una pequeña lista de robots que utilizan la arquitectura de subsunción.

Allen (robot)
Herbert, un robot recolector de latas de refrescos
Genghis, un robusto andador hexapodal
Lo anterior se describe en detalle junto con otros robots en Elefantes no juegan al ajedrez.

Fortalezas y debilidades
Las principales ventajas de la arquitectura son:

el énfasis en el desarrollo iterativo y la prueba de sistemas en tiempo real en su dominio objetivo;
el énfasis en conectar la percepción limitada y específica de la tarea directamente a las acciones expresadas que lo requieren; y
el énfasis en el control distributivo y paralelo, integrando así los sistemas de percepción, control y acción de una manera similar a los animales.

Las principales desventajas de la arquitectura son:

la dificultad de diseñar una selección de acción adaptable mediante un sistema altamente distribuido de inhibición y supresión;: 139–140 y
la falta de memoria grande y representación simbólica, lo que parece restringir la arquitectura para que no entienda el lenguaje;

Cuando se desarrolló la arquitectura de subsunción, la configuración y el enfoque novedosos de la arquitectura de subsunción permitieron que tuviera éxito en muchos dominios importantes donde la IA tradicional había fallado, es decir, la interacción en tiempo real con un entorno dinámico. La falta de almacenamiento de memoria grande, representaciones simbólicas y control central, sin embargo, lo coloca en una desventaja en el aprendizaje de acciones complejas, mapeo en profundidad y comprensión del lenguaje.

Extensión
En 1989, Brooks desarrolló una arquitectura de subsunción, principalmente en el campo de la limitación de entrada y la supresión de salidas mediante autómatas finitos. En 1991, Brooks propuso la implementación del sistema hormonal. Las capas individuales deben ser suprimidas o limitadas por la presencia o ausencia de la hormona. En 1992, a Mataric se le ocurre la idea de la arquitectura basada en el comportamiento. Esta arquitectura debe abordar la falta de representación explícita del mundo sin perder robustez y reactividad.