Язык действий
В информатике, язык действий — это язык для определения моделей состояний и переходов, и обычно используется для создания формальных моделей результатов действий в природе.[1] Языки действий обычно используются в сфере искусственного интеллекта и робототехники, где они описывают, как действия влияют на состояния систем с течением времени, и могут быть использованы для автоматического планирования. Самый известный язык действий — PDDL.[2] Языки действий делятся на два класса: языки описания действий и языки запроса действий. Примеры первых включают STRIPS, PDDL, язык A (обобщение STRIPS; часть исчисления высказываний языка ADL), язык B (расширение языка A включающее непрямые воздействия, различаемые статические и динамические законы) и язык C (который также добавляет непрямые воздействия, и не считает что каждая функция автоматически "инерционна"). Также есть языки запроса действий — P, Q и R. Существуют несколько различных алгоритмов для преобразования языков действий, и в частности, языка действий C, в программы набора ответов.[3][4] Поскольку современные решатели наборов ответов используют алгоритмы решения задач выполнимости булевых формул для очень быстрого установления выполнимости, это означает, что языки действий могут также использовать прогресс, достигнутый в области решения задач выполнимости булевых формул.
Формальное определение
[править | править код]Все языки действий дополняют определение модели состояний и переходов множеством флюент F, множеством значений V, которые могут принять флюенты, и функция отображающая S × F в V, где S — это набор состояний модели состояний и переходов.
Примечания
[править | править код]- ↑ Michael Gelfond, Vladimir Lifschitz (1998) "Action Languages Архивная копия от 12 августа 2022 на Wayback Machine", Linköping Electronic Articles in Computer and Information Science, vol 3, nr 16.
- ↑ Drew McDermott, The Planning Domain Definition Language, Technical Report CVC TR-98-003/DCS TR-1165, Yale Center for Computational Vision and Control, Yale University, 1998.
- ↑ Vladimir Lifschitz and Hudson Turner, (1998) "Representing Transition Systems by Logic Programs Архивная копия от 25 августа 2016 на Wayback Machine".
- ↑ Martin Gebser, Torsten Grote and Torsten Schaub, (2010) "Coala: a compiler from action languages to ASP".