В информатике, язык действий — это язык для определения моделей состояний и переходов, и обычно используется для создания формальных моделей результатов действий в природе.[1] Языки действий обычно используются в сфере искусственного интеллекта и робототехники, где они описывают, как действия влияют на состояния систем с течением времени, и могут быть использованы для автоматического планирования. Самый известный язык действий — PDDL.[2] Языки действий делятся на два класса: языки описания действий и языки запроса действий. Примеры первых включают STRIPS, PDDL, язык A (обобщение STRIPS; часть исчисления высказываний языка ADL), язык B (расширение языка A включающее непрямые воздействия, различаемые статические и динамические законы) и язык C (который также добавляет непрямые воздействия, и не считает что каждая функция автоматически "инерционна"). Также есть языки запроса действий — P, Q и R. Существуют несколько различных алгоритмов для преобразования языков действий, и в частности, языка действий C, в программы набора ответов.[3][4] Поскольку современные решатели наборов ответов используют алгоритмы решения задач выполнимости булевых формул для очень быстрого установления выполнимости, это означает, что языки действий могут также использовать прогресс, достигнутый в области решения задач выполнимости булевых формул.
Все языки действий дополняют определение модели состояний и переходов множеством флюент F, множеством значений V, которые могут принять флюенты, и функция отображающая S × F в V, где S — это набор состояний модели состояний и переходов.