Parser de ações descritas na linguagem PDDL (do tipo STRIPS com variáveis)
em uma descrição de ações STRIPS Proposicional (sem variáveis)

Em geral, sistemas de planejamento que fazem busca local ou que resolvem planejamento como um problema SAT  raciocinam sobre uma descrição de ações proposicionais, ou seja, ações sem variáveis.

Por exemplo, considere o domínio do mundo dos blocos com braço de robô. Nesta versão do Mundo dos Blocos, a ação empilha(x,y) move um bloco x que está na mão do robô para cima de um outro bloco y.


Para resolvermos um problema nesse domínio que envolva apenas 2 blocos, A e B, a ação empilha(x,y) deve ser traduzida para um conjunto de ações proposicionais, neste caso, empilha(A,B) e empilha(B,A).  Note que empilha(x,y) é um nome de ação. O que chamamos de fluente ou literal, por exemplo, sobre(x,y), são os elementos das listas de pré-condições e efeitos da ação. Após a tradução, chamamos os fluentes de proposições. Daí o nome de ações do tipo Strips Proposicional.


O Parser  PDDL para Strips Proposicional

Este programa foi escrito em Perl pelo meu aluno de mestrado Aldebaran Perseke.

Instruções de utilização do parser PDDL/Strips-proposicional