stringtranslate.com

Planificación reactiva

En inteligencia artificial , la planificación reactiva denota un grupo de técnicas para la selección de acciones por parte de agentes autónomos . Estas técnicas se diferencian de la planificación clásica en dos aspectos. Primero, operan de manera oportuna y, por lo tanto, pueden hacer frente a entornos altamente dinámicos e impredecibles . En segundo lugar, calculan sólo una acción siguiente en cada instante, basándose en el contexto actual. Los planificadores reactivos a menudo (pero no siempre) explotan los planes reactivos , que son estructuras almacenadas que describen las prioridades y el comportamiento del agente. El término planificación reactiva se remonta al menos al año 1988 y es sinónimo del término más moderno planificación dinámica .

Representación del plan reactivo

Hay varias formas de representar un plan reactivo. Todos requieren una unidad de representación básica y un medio para componer estas unidades en planos.

Reglas de condición-acción (producciones)

Una regla de acción de condición, o regla si-entonces, es una regla con la forma: si condición, entonces acción . Estas reglas se llaman producciones . El significado de la regla es el siguiente: si la condición se cumple, realice la acción. La acción puede ser externa (p. ej., coger algo y moverlo) o interna (p. ej., escribir un hecho en la memoria interna o evaluar un nuevo conjunto de reglas). Las condiciones normalmente son booleanas y la acción se puede realizar o no.

Las reglas de producción pueden estar organizadas en estructuras relativamente planas, pero lo más frecuente es que se organicen en una jerarquía de algún tipo. Por ejemplo, la arquitectura de subsunción consta de capas de comportamientos interconectados , cada uno de los cuales en realidad es una máquina de estados finitos que actúa en respuesta a una entrada apropiada. Luego, estas capas se organizan en una pila simple, donde las capas superiores incluyen los objetivos de las inferiores. Otros sistemas pueden utilizar árboles o pueden incluir mecanismos especiales para cambiar qué subconjunto de objetivos/reglas es actualmente más importante. Las estructuras planas son relativamente fáciles de construir, pero sólo permiten la descripción de un comportamiento simple o requieren condiciones inmensamente complicadas para compensar la estructura faltante.

Una parte importante de cualquier algoritmo de selección de acciones distribuidas es un mecanismo de resolución de conflictos. Este es un mecanismo para resolver conflictos entre acciones propuestas cuando se cumple más de una condición de reglas en un instante dado. El conflicto se puede resolver, por ejemplo,

Los sistemas expertos suelen utilizar otras heurísticas más simples , como la actualidad , para seleccionar reglas, pero es difícil garantizar un buen comportamiento en un sistema grande con enfoques simples.

La resolución de conflictos sólo es necesaria para reglas que quieran tomar acciones mutuamente excluyentes (cf. Blumberg 1996).

Algunas limitaciones de este tipo de planificación reactiva se pueden encontrar en Brom (2005).

Máquinas de estados finitos

La máquina de estados finitos (FSM) es un modelo de comportamiento de un sistema. Los FSM se utilizan ampliamente en informática. Modelar el comportamiento de los agentes es sólo una de sus posibles aplicaciones. Una FSM típica, cuando se utiliza para describir el comportamiento de un agente, consta de un conjunto de estados y transiciones entre estos estados. Las transiciones son en realidad reglas de acción condicionadas. En cada instante sólo está activo un estado del FSM y se evalúan sus transiciones. Si se realiza una transición, se activa otro estado. Eso significa que, en general, las transiciones son reglas de la siguiente forma: si condición, entonces activar-nuevo-estado . Pero las transiciones también pueden conectarse con el estado "propio" en algunos sistemas, para permitir la ejecución de acciones de transición sin cambiar realmente el estado.

Hay dos formas de producir comportamiento por parte de un FSM. Dependen de lo que un diseñador asocia con los estados: pueden ser "actos" o guiones. Un 'acto' es una acción atómica que debe realizar el agente si su FSM es el estado dado. Entonces, esta acción se realiza en cada paso de tiempo. Sin embargo, lo más frecuente es que se dé este último caso. Aquí, cada estado está asociado con un script, que describe una secuencia de acciones que el agente debe realizar si su FSM se encuentra en un estado determinado. Si una transición activa un nuevo estado, el guión anterior simplemente se interrumpe y se inicia el nuevo.

Si un script es más complicado, se puede dividir en varios scripts y se puede explotar un FSM jerárquico. En tal autómata, cada estado puede contener subestados. Sólo los estados a nivel atómico están asociados a un guión (que no es complicado) o una acción atómica.

Computacionalmente, los FSM jerárquicos son equivalentes a los FSM. Eso significa que cada FSM jerárquica se puede convertir en una FSM clásica. Sin embargo, los enfoques jerárquicos facilitan mejor los diseños. Consulte el artículo de Damian Isla (2005) para ver un ejemplo de ASM de robots de juegos de computadora , que utiliza FSM jerárquicos.

Enfoques difusos

Tanto las reglas si-entonces como los FSM se pueden combinar con la lógica difusa . Las condiciones, estados y acciones ya no son booleanos o "sí/no" respectivamente, sino que son aproximados y fluidos. En consecuencia, el comportamiento resultante será más fluido, especialmente en el caso de transiciones entre dos tareas. Sin embargo, la evaluación de las condiciones difusas es mucho más lenta que la evaluación de sus contrapartes nítidas.

Vea la arquitectura de Alex Champandard.

Enfoques conexionistas

Los planes reactivos también pueden expresarse mediante redes conexionistas como redes neuronales artificiales o jerarquías de flujo libre. La unidad de representación básica es una unidad con varios enlaces de entrada que alimentan a la unidad con "una actividad abstracta" y enlaces de salida que propagan la actividad a las siguientes unidades. Cada unidad funciona como transductor de actividad. Normalmente, las unidades están conectadas en una estructura en capas.

Lo positivo de las redes conexionistas es, en primer lugar, que el comportamiento resultante es más fluido que el comportamiento producido por estrictas reglas si-entonces y FSM; en segundo lugar, las redes suelen ser adaptativas y, en tercer lugar, se pueden utilizar mecanismos de inhibición y, por tanto, el comportamiento puede ser modificado. También se describe de forma proscriptiva (mediante reglas sólo se puede describir la conducta de forma prescriptiva). Sin embargo, los métodos también tienen varios defectos. En primer lugar, para un diseñador es mucho más complicado describir el comportamiento de una red comparándolo con reglas si-entonces. En segundo lugar, sólo se puede describir un comportamiento relativamente simple, especialmente si se va a explotar la característica adaptativa.

Algoritmos de planificación reactiva

El algoritmo de planificación reactiva típico simplemente evalúa reglas si-entonces o calcula el estado de una red conexionista. Sin embargo, algunos algoritmos tienen características especiales.

Direccion

La dirección es una técnica reactiva especial utilizada en la navegación de agentes. La forma más simple de dirección reactiva se emplea en los vehículos Braitenberg , que asignan las entradas de los sensores directamente a las salidas efectoras y pueden seguirlas o evitarlas. Los sistemas más complejos se basan en una superposición de fuerzas atractivas o repulsivas que afectan al agente. Este tipo de dirección se basa en el trabajo original sobre boids de Craig Reynolds. Por medio de la dirección, se puede lograr una forma simple de:

La ventaja de la dirección es que es computacionalmente muy eficiente. En los juegos de ordenador , esta técnica puede controlar cientos de NPC . Sin embargo, en casos de terreno más complicado (por ejemplo, un edificio), la dirección debe combinarse con la búsqueda de caminos (como, por ejemplo, en Milani [1]), que es una forma de planificación .

Ver también

Referencias


enlaces externos