Em inteligência artificial, agentes reativos são sistemas autônomos que selecionam ações com base em estímulos atuais, sem depender de um modelo interno do mundo. Eles são um conceito-chave no planejamento reativo, um grupo de técnicas para seleção de ações que difere do planejamento clássico de duas maneiras: operam de forma oportuna, lidando com ambientes altamente dinâmicos e imprevisíveis, e calculam apenas uma próxima ação a cada instante com base no contexto atual. O termo planejamento reativo data de pelo menos 1988 e é sinônimo do termo mais moderno planejamento dinâmico.
Agentes reativos não mantêm um estado interno persistente, como um modelo do mundo ou memória de eventos passados. Em vez disso, respondem diretamente a entradas de sensores ou pistas ambientais, tornando-os simples, rápidos e robustos em condições mutáveis. Isso contrasta com agentes deliberativos, que planejam sequências de ações usando raciocínio simbólico. Agentes reativos são frequentemente implementados usando planos reativos, que são estruturas armazenadas que descrevem as prioridades e o comportamento do agente.
Representação de Planos Reativos
Planos reativos podem ser representados de várias maneiras, cada uma exigindo uma unidade representacional básica e um meio de compor essas unidades em planos. Representações comuns incluem regras de condição-ação, máquinas de estados finitos, lógica fuzzy e redes conexionistas.
Regras de Condição-Ação
Uma regra de condição-ação, ou regra se-então, é uma regra na forma: se condição então ação. Essas regras são chamadas de produções. O significado é direto: se a condição for válida, execute a ação. A ação pode ser externa (por exemplo, pegar algo) ou interna (por exemplo, escrever um fato na memória ou avaliar um novo conjunto de regras). Condições são normalmente booleanas, e ações são executadas ou não.
Regras de produção podem ser organizadas em estruturas planas ou hierárquicas. Por exemplo, a arquitetura de subordinação consiste em camadas de comportamentos interconectados, cada uma uma máquina de estados finitos que responde a entradas apropriadas. Essas camadas são organizadas em uma pilha, com camadas superiores subordinando os objetivos das inferiores. Outros sistemas usam árvores ou incluem mecanismos para alterar qual subconjunto de regras é atualmente o mais importante. Estruturas planas são fáceis de construir, mas permitem apenas comportamento simples ou exigem condições complexas para compensar a falta de estrutura.
Uma parte importante da seleção de ações distribuída é a resolução de conflitos, que resolve conflitos quando as condições de múltiplas regras são válidas simultaneamente. Métodos incluem atribuir prioridades fixas, atribuir preferências (como na arquitetura Soar), aprender utilidades relativas (como no ACT-R) ou explorar uma forma de planejamento. Sistemas especialistas frequentemente usam heurísticas mais simples, como recência, mas garantir bom comportamento em sistemas grandes com abordagens simples é difícil. A resolução de conflitos é necessária apenas para regras que propõem ações mutuamente exclusivas.
Máquinas de Estados Finitos
Uma máquina de estados finitos (FSM) é um modelo de comportamento de sistema amplamente usado em ciência da computação. Para comportamento de agentes, uma FSM típica consiste em estados e transições entre eles. Transições são regras de condição-ação na forma: se condição então ativar-novo-estado. A cada instante, apenas um estado está ativo, e suas transições são avaliadas. Transições também podem conectar ao mesmo estado para permitir executar ações de transição sem mudar de estado.
O comportamento pode ser produzido de duas maneiras: estados podem ser associados a ações atômicas (atos) ou a scripts. Um ato é executado a cada passo de tempo em que o estado está ativo. Mais frequentemente, cada estado é associado a um script descrevendo uma sequência de ações; se uma transição ativa um novo estado, o script anterior é interrompido e o novo começa. Scripts complexos podem ser decompostos em FSMs hierárquicas, onde estados contêm subestados. FSMs hierárquicas são computacionalmente equivalentes a FSMs padrão, mas facilitam o design. Um exemplo é o uso de FSMs hierárquicas para bots de jogos de computador, conforme descrito por Damian Isla em 2005.
Abordagens Fuzzy
Regras se-então e FSMs podem ser combinadas com lógica fuzzy, tornando condições, estados e ações aproximados e suaves em vez de booleanos. Isso resulta em comportamento mais suave, especialmente durante transições de tarefas. No entanto, avaliar condições fuzzy é muito mais lento do que avaliar contrapartes nítidas. Arquiteturas como as propostas por Alex Champandard exploraram essa abordagem.
Abordagens Conexionistas
Planos reativos também podem ser expressos usando redes conexionistas, como redes neurais artificiais ou hierarquias de fluxo livre. A unidade básica tem links de entrada que alimentam atividade abstrata e links de saída que propagam atividade para unidades seguintes. Unidades atuam como transdutores de atividade, tipicamente conectadas em estruturas em camadas. Vantagens incluem comportamento mais suave, adaptabilidade e a capacidade de usar inibição para descrição proscritiva. Desvantagens incluem dificuldade em projetar comportamento e limitações a comportamentos relativamente simples, especialmente quando adaptabilidade é necessária.
Algoritmos de Planejamento Reativo
Algoritmos típicos de planejamento reativo avaliam regras se-então ou calculam o estado de uma rede conexionista. Alguns algoritmos têm características especiais. Por exemplo, o algoritmo de avaliação Rete usa um cache do passo anterior para evitar reavaliar todas as regras a cada passo de tempo, melhorando a eficiência. Linguagens de script também podem ser usadas, onde regras ou FSMs são primitivas de uma arquitetura, permitindo desenvolvimento flexível e rápido.
Aplicações e Significância
Agentes reativos são amplamente usados em robótica, jogos de computador e sistemas de simulação onde ambientes são dinâmicos e imprevisíveis. Eles são um conceito fundamental em inteligência artificial, contrastando com abordagens mais deliberativas. A simplicidade e velocidade dos agentes reativos os tornam adequados para controle em tempo real, como em veículos autônomos e personagens de jogos. Pesquisa nessa área influenciou campos como aprendizado de máquina e redes neurais, onde planos reativos conexionistas são implementados.
Limitações e Extensões
Agentes reativos carecem da capacidade de planejar antecipadamente ou raciocinar sobre consequências de longo prazo, o que limita seu uso em tarefas que exigem pensamento estratégico. No entanto, eles podem ser combinados com sistemas deliberativos em arquiteturas híbridas. Extensões incluem FSMs hierárquicas, lógica fuzzy e mecanismos de aprendizado para adaptar o comportamento ao longo do tempo. O campo continua evoluindo com avanços em aprendizado profundo e grandes modelos de linguagem, embora agentes reativos permaneçam uma abordagem distinta e prática para muitas aplicações em tempo real.