Linguagem de ação

Na ciência da computação , uma linguagem de ação é uma linguagem para especificar sistemas de transição de estado e é comumente usada para criar modelos formais dos efeitos das ações no mundo. [1] As linguagens de ação são comumente usadas nos domínios de inteligência artificial e robótica , onde descrevem como as ações afetam os estados dos sistemas ao longo do tempo e podem ser usadas para planejamento automatizado .

As linguagens de ação se enquadram em duas classes: linguagens de descrição de ação e linguagens de consulta de ação. Exemplos do primeiro incluem STRIPS , PDDL , Linguagem A (uma generalização de STRIPS; a parte proposicional da ADL de Pednault ), Linguagem B (uma extensão de A adicionando efeitos indiretos , distinguindo leis estáticas e dinâmicas) e Linguagem C (que adiciona efeitos indiretos também, e não assume que todo fluente é automaticamente "inercial"). Existem também as Action Query Languages ​​P, Q e R. Existem vários algoritmos diferentes para converter linguagens de ação e, em particular, a linguagem de ação C, para responder a programas definidos . [2] [3]Uma vez que os solucionadores de conjunto de respostas modernos usam algoritmos SAT booleanos para verificar satisfatibilidade muito rapidamente , isso implica que as linguagens de ação também podem aproveitar o progresso que está sendo feito no domínio da solução SAT booleana.

Definição formal

Todas as linguagens de ação complementam a definição de um sistema de transição de estado com um conjunto F de fluents , um conjunto V de valores que os fluentes podem assumir e um mapeamento de função S × F para V , onde S é o conjunto de estados de um sistema de transição de estado .

Veja também

Referências

  1. ^ Michael Gelfond, Vladimir Lifschitz (1998) "Action Languages", Linköping Electronic Articles in Computer and Information Science , vol 3 , nr 16 .
  2. ^ Vladimir Lifschitz e Hudson Turner, (1998) "Representando Sistemas de Transição por Programas Lógicos".
  3. ^ Gebser, Martin; Grote, Torsten; Schaub, Torsten (2010). "Coala: um compilador de linguagens de ação para ASP". CiteSeerX  10.1.1.185.4622 . {{cite journal}}: Citar periódico requer |journal=( ajuda )