Решение проблем Стэнфордского исследовательского института - Википедия - Stanford Research Institute Problem Solver

В Стэнфорд Исследование Институт Проблема Решатель, известный под аббревиатурой Полоски, является автоматический планировщик разработан Ричард Файкс и Нильс Нильссон в 1971 г. SRI International.[1] Это же имя позже использовалось для обозначения формальный язык входов в этот планировщик. Этот язык является основой большинства языков для выражения автоматизированное планирование проблемные экземпляры, используемые сегодня; такие языки широко известны как языки действий. В этой статье описывается только язык, а не планировщик.

Определение

Экземпляр STRIPS состоит из:

  • Исходное состояние;
  • Спецификация целей: ситуации, которых планировщик пытается достичь;
  • Набор действий. Для каждого действия включено следующее:
    • предварительные условия (что должно быть установлено перед выполнением действия);
    • постусловия (то, что устанавливается после выполнения действия).

Математически экземпляр STRIPS - это четырехкратный , в котором каждый компонент имеет следующее значение:

  1. это набор условия (т.е. пропозициональные переменные );
  2. это набор операторы (т.е. действия); каждый оператор сам по себе является четверкой , где каждый элемент представляет собой набор условий. Эти четыре набора определяют по порядку, какие условия должны быть истинными для выполнения действия, какие из них должны быть ложными, какие становятся истинными действием, а какие - ложными;
  3. - начальное состояние, заданное как набор условий, которые изначально верны (все остальные считаются ложными);
  4. - спецификация состояния цели; это дается как пара , которые определяют, какие условия являются истинными и ложными, соответственно, чтобы состояние считалось целевым.

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

Формально состояние - это набор условий: состояние представлено набором условий, которые в нем истинны. Переходы между состояниями моделируются функцией перехода, которая представляет собой функцию, отображающую состояния в новые состояния, возникающие в результате выполнения действий. Поскольку состояния представлены наборами условий, функция перехода относительно экземпляра STRIPS это функция

куда - это множество всех подмножеств , и, следовательно, является набором всех возможных состояний.

Функция перехода для государства , можно определить следующим образом, используя упрощающее предположение, что действия всегда могут быть выполнены, но не имеют никакого эффекта, если их предварительные условия не выполняются:

=        если и
 = иначе

Функция может быть расширен до последовательности действий следующими рекурсивными уравнениями:

План для экземпляра STRIPS - это последовательность действий, такая, что состояние, являющееся результатом выполнения действий по порядку от начального состояния, удовлетворяет целевым условиям. Формально, это план для если удовлетворяет следующим двум условиям:

Расширения

Вышеупомянутый язык на самом деле является пропозициональной версией STRIPS; на практике условия часто связаны с объектами: например, положение робота можно смоделировать с помощью предикат , и означает, что робот находится в Room1. В этом случае действия могут иметь свободные переменные, которые неявно оцениваются экзистенциально. Другими словами, действие представляет все возможные пропозициональные действия, которые могут быть получены путем замены каждой свободной переменной значением.

Начальное состояние считается полностью известным на языке, описанном выше: условия, которых нет в все считаются ложными. Это часто является ограничивающим предположением, поскольку есть естественные примеры задач планирования, в которых исходное состояние не полностью известно. Расширения STRIPS были разработаны для работы с частично известными начальными состояниями.

Пример задачи STRIPS

Обезьяна находится в точке А в лаборатории. В локации C есть ящик. Обезьяне нужны бананы, свисающие с потолка в локации B, но ей нужно переместить ящик и забраться на него, чтобы добраться до них.

Исходное состояние: В (A), Уровень (низкий), BoxAt (C), BananasAt (B) Состояние цели: Есть (бананы)
Действия: // перейти от X к Y _Move (X, Y) _ Предварительные условия: At (X), Level (low) Постусловия: not At (X), At (Y) // подняться на поле _ClimbUp (Location) _ Предварительные условия: В (Местоположение), BoxAt (Местоположение), Уровень (низкий). Постусловия: Уровень (высокий), не Уровень (низкий) // спускаться из окна _ClimbDown (Местоположение) _ Предварительные условия: В (Местоположение), BoxAt ( Местоположение), Уровень (высокий) Постусловия: Уровень (низкий), не Уровень (высокий) // переместить обезьяну и коробку из X в Y _MoveBox (X, Y) _ Предварительные условия: At (X), BoxAt (X), Level ( low) Постусловия: BoxAt (Y), not BoxAt (X), At (Y), not At (X) // возьмите бананы _TakeBananas (Location) _ Preconditions: At (Location), BananasAt (Location), Level (high ) Постусловия: есть (бананы)

Сложность

Решить, существует ли какой-либо план для предполагаемого экземпляра STRIPS, необходимо: PSPACE-полный. Могут быть наложены различные ограничения, чтобы решить, существует ли план в полиномиальное время или, по крайней мере, сделать его НП-полный проблема.[2]

Оператор макроса

в Проблема обезьяны и банана, робот-обезьяна должна выполнить последовательность действий, чтобы добраться до банана под потолком. Одно действие вносит небольшие изменения в игру. Чтобы упростить процесс планирования, имеет смысл изобрести абстрактное действие, которого нет в обычном описании правила.[3] Супер-действие состоит из действий низкого уровня и может достигать целей высокого уровня. Преимущество в том, что вычислительная сложность ниже, и решатель может планировать более длинные задачи.

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

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

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

  1. ^ Ричард Э. Файкс, Нильс Дж. Нильссон (зима 1971 г.). «ПОЛОСЫ: новый подход к применению доказательства теорем для решения проблем» (PDF). Искусственный интеллект. 2 (3–4): 189–208. CiteSeerX  10.1.1.78.8292. Дои:10.1016/0004-3702(71)90010-5.
  2. ^ Том Биландер (сентябрь 1994 г.). «Вычислительная сложность пропозиционального планирования STRIPS». Искусственный интеллект. 69 (1–2): 165–204. CiteSeerX  10.1.1.23.199. Дои:10.1016/0004-3702(94)90081-7.
  3. ^ Хаслум, Патрик (2007). Снижение случайной сложности при планировании задач. Материалы 20-й Международной совместной конференции по искусственному интеллекту. С. 1898--1903.
  4. ^ Шмид, Юте (1999). Возвращение к итерационным макрооператорам: применение синтеза программ к обучению при планировании (Технический отчет). Школа компьютерных наук Университета Карнеги-Меллона. Дои:10.21236 / ada363524.
  5. ^ Саттон, Ричард С. и Прекап, Дойна и Сингх, Сатиндер (1999). «Между MDP и полу-MDP: структура для временной абстракции в обучении с подкреплением». Искусственный интеллект. Эльзевир. 112 (1–2): 181--211. Дои:10.1016 / с0004-3702 (99) 00052-1.CS1 maint: несколько имен: список авторов (связь)

дальнейшее чтение