Реактивное планирование - Википедия - Reactive planning

В искусственный интеллект, реактивное планирование обозначает группу методов для выбор действия к автономные агенты. Эти методы отличаются от классическая планировка в двух аспектах. Во-первых, они действуют своевременно и, следовательно, могут справляться с очень динамичными и непредсказуемыми окружающая среда. Во-вторых, они вычисляют только одно следующее действие в каждый момент времени на основе текущего контекста. Реактивные планировщики часто (но не всегда) используют реактивные планы, которые представляют собой хранимые структуры, описывающие приоритеты и поведение агента.

Хотя термин реактивное планирование восходит как минимум к 1988 году, термин "реактивный "теперь стал уничижительный[согласно кому? ] используется как антоним за активный. Поскольку почти все агенты, использующие реактивное планирование находятся активным, некоторые исследователи начали называть реактивное планирование динамическое планирование.

Реактивное представление плана

Есть несколько способов представить план реагирования. Все требуют базовой репрезентативной единицы и средств для компоновки этих единиц в планы.

Правила действия-условия (постановки)

Правило условного действия или правило «если-то» - это правило в форме: если условие тогда действие. Эти правила называются постановки. Смысл правила таков: если условие выполнено, выполнить действие. Действие может быть как внешним (например, взять что-то и переместить), так и внутренним (например, записать факт во внутреннюю память или оценить новый набор правил). Условия обычно являются логическими, и действие может быть выполнено или нет.

Правила производства могут быть организованы в относительно плоские структуры, но чаще всего они организованы в виде иерархия какой-то. Например, архитектура подчинения состоит из слоев связанных между собой поведение, каждый на самом деле конечный автомат который действует в ответ на соответствующий ввод. Затем эти уровни организуются в простой стек, при этом более высокие уровни принимают на себя цели нижних. Другие системы могут использовать деревья или может включать специальные механизмы для изменения того, какое подмножество целей / правил в настоящее время является наиболее важным. Плоские конструкции относительно легко построить, но они позволяют описать только простое поведение или требуют чрезвычайно сложных условий, чтобы компенсировать отсутствие структуры.

Важная часть любого распределенного выбор действия алгоритмы - это механизм разрешения конфликтов. Это механизм для разрешения конфликтов между действиями, предлагаемыми, когда в данный момент выполняется более одного условия правила. Конфликт можно решить, например,

  • заранее устанавливая фиксированные приоритеты для правил,
  • назначение предпочтений (например, в Парить архитектура),
  • изучение относительной полезности между правилами (например, в ACT-R ),
  • использование формы планирование.

В экспертных системах часто используются другие, более простые эвристика Такие как новизна для выбора правил, но с помощью простых подходов трудно гарантировать хорошее поведение в большой системе.

Разрешение конфликтов необходимо только для правил, которые хотят предпринимать взаимоисключающие действия (см. Blumberg 1996).

Некоторые ограничения такого рода реактивного планирования можно найти в Brom (2005).

Конечные автоматы

Конечный автомат (FSM) - это модель поведения системы. Конечные автоматы широко используются в информатике. Моделирование поведения агенты является лишь одним из возможных приложений. Типичный автомат, когда он используется для описания поведения агента, состоит из набора состояний и переходов между этими состояниями. На самом деле переходы - это правила действия условий. В каждый момент времени активно только одно состояние конечного автомата, и его переходы оцениваются. Если выполняется переход, он активирует другое состояние. Это означает, что в целом переходы представляют собой правила в следующей форме: если условие тогда активировать новое состояние. Но переходы также могут подключаться к состоянию «себя» в некоторых системах, чтобы разрешить выполнение действий перехода без фактического изменения состояния.

Есть два способа вызвать поведение конечного автомата. Они зависят от того, что дизайнер ассоциирует с состояниями - они могут быть либо «действиями», либо сценариями. «Действие» - это элементарное действие, которое должно выполняться агентом, если его конечный автомат находится в данном состоянии. Затем это действие выполняется на каждом временном шаге. Однако чаще бывает последний случай. Здесь каждое состояние связано со сценарием, который описывает последовательность действий, которые агент должен выполнить, если его конечный автомат находится в заданном состоянии. Если переход активирует новое состояние, прежний сценарий просто прерывается, и запускается новый.

Если сценарий более сложный, его можно разбить на несколько сценариев, и использовать иерархический конечный автомат. В таком автомате каждое состояние может содержать подсостояния. Только состояния на атомарном уровне связаны со сценарием (что не сложно) или атомарным действием.

В вычислительном отношении иерархические конечные автоматы эквивалентны конечным автоматам. Это означает, что каждый иерархический автомат можно преобразовать в классический автомат. Однако иерархический подход лучше облегчает проектирование. бумага Damian Isla (2005) на примере ASM боты для компьютерных игр, который использует иерархические конечные автоматы.

Нечеткие подходы

Как правила «если-то», так и автоматические автоматы можно комбинировать с нечеткая логика. Условия, состояния и действия больше не являются логическими или «да / нет» соответственно, а являются приблизительными и плавными. Следовательно, полученное поведение будет более плавным, особенно в случае переходов между двумя задачами. Однако оценка нечетких условий происходит намного медленнее, чем оценка их четких аналогов.

Увидеть архитектура Алекса Шампандара.

Подходы коннекционистов

Реактивные планы могут быть выражены также коннекционистские сети подобно искусственные нейронные сети или иерархии свободного потока. Базовая репрезентативная единица - это единица с несколькими входными ссылками, которые снабжают ее «абстрактным действием», и выходными ссылками, которые распространяют активность на следующие единицы. Каждое устройство само по себе работает как датчик активности. Обычно агрегаты соединяются в многоуровневую структуру.

Положительные стороны коннекционистских сетей заключаются, во-первых, в том, что результирующее поведение более плавное, чем поведение, создаваемое четкими правилами «если-то» и автоматами, во-вторых, сети часто адаптивны, и в-третьих, можно использовать механизм запрета и, следовательно, поведение может быть изменено. также описывается проскриптивно (с помощью правил можно описывать поведение только предписывающе). Однако у методов есть и несколько недостатков. Во-первых, для дизайнера гораздо сложнее описать поведение в сети, чем с правилами «если-то». Во-вторых, можно описать только относительно простое поведение, особенно если предполагается использовать адаптивную функцию.

Алгоритмы реактивного планирования

Типичный алгоритм реактивного планирования просто оценивает правила «если-то» или вычисляет состояние сети связи. Однако у некоторых алгоритмов есть особенности.

  • Повторная оценка: при правильном логическом представлении (которое подходит только для четких правил) правила не нужно повторно оценивать на каждом временном шаге. Вместо этого может использоваться форма кэша, в которой хранится оценка с предыдущего шага.
  • Языки сценариев: иногда правила или конечные автоматы являются непосредственно примитивами архитектуры (например, в Парить ). Но чаще реактивные планы программируются в язык сценариев, где правила - это только один из примитивов (как в JAM или ABL).

Рулевое управление

Управление - это особая реактивная техника, используемая при навигации агентов. Самая простая форма реактивного рулевого управления используется в Автомобили Braitenberg, которые сопоставляют входные сигналы датчиков непосредственно с выходами эффекторов и могут следовать или избегать. Более сложные системы основаны на суперпозиции сил притяжения или отталкивания, действующих на агента. Этот вид рулевого управления основан на оригинальной работе над Boids Крейга Рейнольдса. С помощью рулевого управления можно достичь простой формы:

  • к цели навигации
  • поведение избегания препятствий
  • стена, следующая за поведением
  • приближается враг
  • избегание хищников
  • поведение толпы

Преимущество рулевого управления в том, что оно очень эффективно в вычислительном отношении. В компьютерные игры, с помощью этой техники можно управлять сотнями солдат. Однако в случае более сложной местности (например, здания) рулевое управление необходимо сочетать с Найти путь (как, например, в Милани [1] ), который является формой планирование .

Смотрите также

Рекомендации


внешняя ссылка