Inteligência Artificial
Inteligência Artificial
Planejamento Clássico
1. Introdução: O que é o Planejamento Clássico?
O planejamento clássico é uma das áreas mais fundamentais da inteligência artificial. Ele trata do problema de encontrar uma sequência de ações que transforme um estado inicial em um estado desejado (meta), utilizando um conjunto de ações disponíveis [1]. Em termos práticos, é a capacidade da máquina de “pensar antes de agir”, elaborando um plano para atingir um objetivo, como um robô que precisa organizar objetos em uma sala ou um sistema de logística que deve otimizar rotas de entrega.
Para tornar esse problema matematicamente tratável, o planejamento clássico opera sob um conjunto de suposições simplificadoras [3]:
- Ambiente determinístico: O resultado de uma ação é sempre único e previsível. Não há aleatoriedade ou falhas.
- Observabilidade total: O agente tem conhecimento perfeito e completo do estado do mundo em todos os momentos.
- Estados discretos: O mundo é descrito por um conjunto finito de proposições que são verdadeiras ou falsas.
- Objetivos estáticos: O objetivo a ser alcançado não muda durante a execução do plano.
Essas suposições definem o paradigma fundamental do planejamento em IA, permitindo o desenvolvimento de algoritmos com garantias formais de correção e otimalidade [1].
2. A Representação STRIPS: A Base do Planejamento Clássico
Para descrever problemas de planejamento, a comunidade criou a representação STRIPS (Stanford Research Institute Problem Solver), que se tornou o padrão na área [7]. O STRIPS descreve o mundo por meio de três componentes principais [3]:
• Estado: Descrito como um conjunto de predicados atômicos (proposições) que são verdadeiros em um dado momento. Exemplo: “bloco_A_está_sobre_mesa” e “mão_vazia”.
• Ações: Definidas por três elementos: pré-condições (o que deve ser verdade para executar a ação), efeitos positivos (predicados que se tornam verdade) e efeitos negativos (predicados que se tornam falsos) [7].
• Plano: Uma sequência ordenada de ações que transforma o estado inicial no estado objetivo [3].
No STRIPS, assume-se que tudo o que não é mencionado nos efeitos de uma ação permanece inalterado, uma ideia conhecida como STRIPS assumption [7]. Essa representação simples e expressiva é a base do planejamento clássico e foi utilizada no famoso robô Shakey, um dos primeiros robôs da história da IA [2].
Exemplo Prático: O Mundo dos Blocos
Para ilustrar, considere o clássico problema do Mundo dos Blocos, onde o objetivo é empilhar blocos em uma determinada ordem [3].
- Estado Inicial: Bloco A e Bloco B estão sobre a mesa. A mão do robô está vazia. Representação:
sobre_mesa(A),sobre_mesa(B),mão_vazia. - Objetivo: Colocar o bloco A sobre o bloco B. Representação:
sobre(A, B). - Ação “pegar(bloco)”:
- Pré-condições:
sobre_mesa(bloco)emão_vazia. - Efeitos: Adiciona
segurando(bloco); Removesobre_mesa(bloco)emão_vazia.
- Pré-condições:
- Ação “colocar(bloco, alvo)”:
- Pré-condições:
segurando(bloco)elivre(alvo). - Efeitos: Adiciona
sobre(bloco, alvo)emão_vazia; Removesegurando(bloco)elivre(alvo).
- Pré-condições:
O plano seria: pegar(A), depois colocar(A, B).
3. Algoritmos de Planejamento Clássico
Para encontrar esses planos, uma variedade de algoritmos foi desenvolvida, baseados principalmente em técnicas de busca [1].
3.1 Busca no Espaço de Estados
Esta abordagem explora o grafo de estados possíveis, partindo do estado inicial e aplicando ações sucessivamente até encontrar um estado que satisfaça o objetivo. Planejadores como o Fast-Forward (FF) são exemplos notáveis, utilizando heurísticas derivadas de problemas relaxados para guiar a busca de forma eficiente [4]. A heurística FF, por exemplo, remove as pré-condições negativas das ações, criando um problema mais fácil de resolver, cuja solução serve como uma estimativa otimista para o problema original [9].
3.2 Busca no Espaço de Planos
Em vez de explorar estados, essa abordagem trabalha com planos parciais, refinando-os iterativamente até que se tornem completos e válidos. O algoritmo STRIPS original utilizava uma forma de busca para trás (regressão) a partir do objetivo [7].
3.3 Planejamento como Satisfatibilidade (SAT)
Nesta técnica, o problema de planejamento é codificado como uma fórmula de lógica proposicional. Um resolvedor SAT é então usado para encontrar uma atribuição de valores que satisfaça a fórmula, o que corresponde a um plano válido. Essa abordagem é poderosa, mas pode ser computacionalmente intensiva [1].
O campo também se beneficia de técnicas de reformulação, que transformam a representação do problema para melhorar a eficiência dos algoritmos, como a criação de macros de ações para reduzir a complexidade da busca [1].
4. Aplicações no Mundo Real
Apesar de suas suposições simplificadoras, o planejamento clássico tem aplicações em diversas áreas, especialmente onde o ambiente é bem estruturado e previsível [1]:
- Robótica e Automação: Para planejar sequências de movimentos e manipulações em ambientes controlados, como em linhas de produção ou armazéns [2].
- Logística e Transporte: Para otimizar rotas de entrega e alocação de recursos, como no planejamento de frotas de caminhões.
- Planejamento de Defesa e Segurança: Para simular cenários e planejar ações em ambientes com múltiplos agentes (adversários) [8].
No entanto, a aplicação direta do planejamento clássico em problemas complexos do mundo real é limitada devido à falta de robustez contra ações de outros agentes, incertezas e observabilidade parcial [2].
5. A Revolução Neuro-Simbólica: Integrando Planejamento e Aprendizado
A limitação do planejamento clássico em ambientes complexos tem impulsionado a integração com novas técnicas de aprendizado de máquina, especialmente os Grandes Modelos de Linguagem (LLMs), criando a IA neuro-simbólica [6]. O consenso emergente é que o verdadeiro potencial dos LLMs no planejamento se desdobra quando eles são integrados a planejadores simbólicos tradicionais [5].
1. Tradução de Linguagem Natural: LLMs traduzem descrições de tarefas em linguagem natural para problemas PDDL (Planning Domain Definition Language), que são então resolvidos por planejadores clássicos, garantindo otimalidade e factibilidade [5].
2. Geração de Heurísticas: LLMs podem gerar código para funções heurísticas específicas de um domínio, superando heurísticas projetadas manualmente [4].
3. Aprendizado de Modelos: Sistemas neurais são usados para aprender modelos PDDL diretamente de dados, como imagens ou trajetórias de ações, automatizando a engenharia de domínio [6].
Um estudo de caso na logística de paletes mostrou que, embora LLMs como GPT-4o lutem para gerar planos executáveis por si só, um framework que usa LLMs para construir arquivos de problema PDDL e depois delega a solução a um planejador clássico é robusto e eficaz [5]. Essa integração promete superar as limitações de cada abordagem isoladamente.
6. Desafios e Tendências Futuras
Apesar dos avanços, desafios permanecem. A engenharia de domínio (criação manual de modelos) ainda é um gargalo, e a escalabilidade dos planejadores clássicos em problemas de grande escala continua sendo uma área ativa de pesquisa [1]. A integração com LLMs também levanta questões sobre a validade formal dos planos gerados, exigindo camadas de verificação simbólica [6].
O futuro do planejamento clássico está em sua simbiose com o aprendizado de máquina. Sistemas que aprendem modelos a partir de experiências e generalizam para novos problemas, mantendo garantias de correção, são o horizonte de pesquisa. O planejamento clássico, com seus fundamentos sólidos, está se tornando um componente central de sistemas autônomos inteligentes e confiáveis, prontos para enfrentar a complexidade do mundo real.
Referências
- Alarnaouti, D., Baryannis, G., & Vallati, M. (2023). Reformulation techniques for automated planning: a systematic review. The Knowledge Engineering Review, 38. doi:10.1017/s0269888923000097
- Colombier, K., & Buendia, A. (2019). A la recherche d’une planification plus humaine. Conférence Nationale en Intelligence Artificielle, Toulouse, France.
- CSE 513T: Theory of Artificial Intelligence & Machine Learning. (2016). Classical STRIPS Planning. Washington University in St. Louis.
- Corrêa, A. B., et al. (2022). The FF Heuristic for Lifted Classical Planning. AAAI Conference on Artificial Intelligence. doi:10.1609/AAAI.V36I9.21206
- Göbel, K., Lorang, P., Staderini, V., & Zips, P. (2025). Integrating LLMs and Classical Planning for Pallet Logistics: A Case Study. IFAC PapersOnline, 59(18), 301–306. doi:10.1016/j.ifacol.2025.10.237
- Pallagani, V., et al. (2024). On the Prospects of Incorporating Large Language Models (LLMs) in Automated Planning and Scheduling (APS). Proceedings of the International Conference on Automated Planning and Scheduling, 34(1), 432–444. doi:10.1609/icaps.v34i1.31503
- Poole, D., & Mackworth, A. (2017). The STRIPS Representation. In Artificial Intelligence: Foundations of Computational Agents (2nd ed.). Cambridge University Press.
- Using Classical Planning in Adversarial Problems. (2020). IEEE Xplore. doi:10.1109/ICTAI.2019.00057
- Helmert, M., & Röger, G. (2008). How Good is Almost Perfect? AAAI Conference on Artificial Intelligence.