Введение
В искусственном интеллекте реактивное планирование обозначает группу методов выбора действий автономными агентами. Эти методы отличаются от классического планирования двумя аспектами. Во-первых, они работают своевременно и, следовательно, могут справляться с крайне динамичной и непредсказуемой средой. Во-вторых, они рассчитывают только одно следующее действие в каждый момент, основываясь на текущем контексте. Реактивные планировщики часто (но не всегда) используют реактивные планы, которые являются сохраненными структурами, описывающими приоритеты и поведение агента. Термин "реактивное планирование" восходит, по крайней мере, к 1988 году и является синонимом более современного термина "динамическое планирование".
Реактивный план представления
Есть несколько способов представления реактивного плана. Все они требуют базовой репрезентативной единицы и средства для составления этих единиц в планы.
Машины конечных состояний
Конечная машина состояния (FSM) - это модель поведения системы. FSM широко используются в информатике. Моделирование поведения агентов - лишь одно из возможных применений. Типичный FSM, используемый для описания поведения агента, состоит из набора состояний и переходов между этими состояниями. Переходы - это правила действий. В каждый момент времени только одно состояние FSM активно, и его переходы оцениваются. Если переход сделан, он активирует другое состояние. Это означает, что в общем переходы являются правилами в следующей форме: если условие, то активировать новое состояние. Но переходы также могут соединяться с "самостоятельным" состоянием в некоторых системах, чтобы позволить выполнять переходные действия без фактического изменения состояния. Существует два способа, как производить поведение с помощью FSM. Они зависят от того, что ассоциируется с состояниями дизайнером, они могут быть либо "актами", либо сценариями. "Действие" - это атомное действие, которое должно быть выполнено агентом, если его FSM находится в заданном состоянии. Это действие выполняется в каждом шаге времени. Однако чаще всего это происходит во втором случае. Здесь каждое состояние связано со сценарием, который описывает последовательность действий, которые агент должен выполнить, если его FSM находится в заданном состоянии. Если переход активирует новое состояние, прежний сценарий просто прерывается, и начинается новый. Если сценарий более сложен, его можно разбить на несколько сценариев и использовать иерархическую систему FSM. В таком автомате каждое состояние может содержать подсостояния. Только состояния на атомном уровне связаны со сценарием (который не является сложным) или атомным действием. С точки зрения вычислений, иерархические FSM эквивалентны FSM. Это означает, что каждый иерархический FSM может быть преобразован в классический FSM. Однако иерархические подходы облегчают проектирование. В статье Дэмиана Исла (2005) приведен пример ASM ботов компьютерных игр, использующих иерархические FSM.
Нечеткие подходы
И правила if then, и FSM могут быть объединены с нечеткой логикой. Условия, состояния и действия больше не булевы или "да/нет", соответственно, но приблизительны и гладкие. Следовательно, полученное поведение будет более плавным, особенно в случае переходов между двумя задачами. Однако оценка нечетких условий происходит намного медленнее, чем оценка их четких аналогов. Посмотрите на архитектуру Алекса Шампандерда.
Подходы коннективистов
Реактивные планы могут быть выражены также посредством сетей связи, таких как искусственные нейронные сети или иерархии свободного потока. Базовая репрезентативная единица - это единица с несколькими входными ссылками, которые снабжают единицу "абстрактной деятельностью" и выходной ссылкой, которая распространяет деятельность на следующие единицы. Каждый блок сам по себе работает как преобразователь активности. Обычно, единицы соединены в слоистой структуре. Положительными сторонами сетей связи являются, во-первых, то, что полученное поведение является более плавным, чем поведение, вызванное правилами и FSM, во-вторых, сети часто адаптивны, и, в-третьих, может использоваться механизм торможения, и, следовательно, поведение может быть также описано проскриптивно (с помощью правил можно описать поведение только проскриптивно). Однако эти методы также имеют несколько недостатков. Во-первых, для дизайнера гораздо сложнее описать поведение сети по сравнению с правилами if then. Во-вторых, можно описать только относительно простое поведение, особенно если адаптивная особенность должна быть использована.
Алгоритмы реактивного планирования
Типичный алгоритм реактивного планирования просто оценивает, если затем регулирует или вычисляет состояние сети соединения. Однако некоторые алгоритмы имеют особые особенности. Повторная оценка: при правильном логическом представлении (пригодном только для четких правил) правила не должны переоцениваться на каждом этапе. Вместо этого можно использовать форму кэша, хранящую оценку из предыдущего шага. Языки сценариев: Иногда правила или FSM являются непосредственными примитивами архитектуры (например, в Soar). Но чаще всего реактивные планы программируются на скриптовом языке, где правила являются только одним из примитивных (как в JAM или ABL).