Ситуационное исчисление - Situation calculus

В ситуационное исчисление это логика формализм, предназначенный для представления и рассуждения о динамических областях. Впервые он был представлен Джон Маккарти в 1963 г.[1] Основная версия ситуационного исчисления, представленная в этой статье, основана на представленной Рэй Рейтер в 1991 году. За ним следуют разделы о версии Маккарти 1986 года и логическое программирование формулировка.

Обзор

Ситуационное исчисление представляет изменяющиеся сценарии как набор логика первого порядка формулы. Основные элементы исчисления:

  • Действия, которые можно совершать в мире
  • В беглый которые описывают состояние мира
  • Ситуации

Область формализуется рядом формул, а именно:

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

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

Элементы

Основными элементами ситуационного исчисления являются действия, беглость и ситуации. В описание мира обычно включается ряд объектов. Исчисление ситуаций основано на отсортированном домене с тремя видами: действия, ситуации и объекты, где объекты включают в себя все, что не является действием или ситуацией. Могут использоваться переменные каждого вида. В то время как действия, ситуации и объекты являются элементами предметной области, флюэнты моделируются либо как предикаты, либо как функции.

Действия

Действия образуют своего рода домен. Можно использовать переменные действия сортировки. Действия можно выразить количественно. В примере мира роботов возможные условия действия будут такими: смоделировать перемещение робота в новое место , и смоделировать робота, поднимающего объект . Особый предикат используется, чтобы указать, когда действие можно выполнить.

Ситуации

В исчислении ситуаций динамический мир моделируется как прогрессирующий через серию ситуаций в результате различных действий, совершаемых в этом мире. Ситуация представляет собой историю возникновения действий. В описанной здесь версии ситуационного исчисления Райтера ситуация не представляет состояние, что противоречит буквальному значению термина и первоначальному определению Маккарти и Хейса. Этот момент был резюмирован Рейтером следующим образом:

Ситуация - это конечная последовательность действий. Период. Это не состояние, это не снимок, это история [1].

Ситуация до выполнения каких-либо действий обычно обозначается и назвал исходную ситуацию. Новая ситуация, возникающая в результате выполнения действия, обозначается с помощью символа функции (Некоторые другие ссылки[который? ] также использовать ). Этот функциональный символ имеет ситуацию и действие в качестве аргументов и ситуацию как результат, последний является ситуацией, которая является результатом выполнения данного действия в данной ситуации.

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

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

Свободно

Заявления, чьи значение истины могут измениться моделируются реляционные беглецы, предикаты, которые принимают ситуацию в качестве последнего аргумента. Также возможны функциональные беглецы, функции, которые принимают ситуацию в качестве последнего аргумента и возвращают значение, зависящее от ситуации. Флюенты можно рассматривать как «свойства мира» ».

В этом примере беглый может использоваться, чтобы указать, что робот несет определенный объект в конкретной ситуации. Если изначально робот ничего не несет, ложно, пока правда. Расположение робота можно смоделировать с помощью функционального бегуна. который возвращает местоположение робота в конкретной ситуации.

Формулы

Описание динамического мира закодировано в логика второго порядка с использованием трех видов формул: формул о действиях (предусловиях и следствиях), формулах о состоянии мира и основных аксиомах.

Предпосылки действий

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

В качестве более сложного примера, следующие модели показывают, что робот может нести только один объект за раз, и что некоторые объекты слишком тяжелы для того, чтобы робот мог их поднять (обозначено предикатом ):

Эффекты действия

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

Также можно указать условные эффекты, которые являются эффектами, зависящими от текущего состояния. Следующие модели показывают, что некоторые объекты хрупкие (обозначены предикатом ) и их падение приводит к их поломке (на это указывает беглый ):

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

Проблема с рамой

Хотя приведенные выше формулы кажутся подходящими для рассуждений о последствиях действий, у них есть критический недостаток - они не могут использоваться для вывода отсутствие эффектов действий. Например, невозможно сделать вывод, что после поднятия объекта местоположение робота остается неизменным. Для этого нужна так называемая аксиома фрейма, например:

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

Аксиомы государства-преемника

Аксиомы состояния преемника «решают» проблему фрейма в ситуационном исчислении. Согласно этому решению, разработчик должен перечислить в качестве аксиом эффекта все способы, которыми можно изменить значение конкретного fluent. Аксиомы эффекта, влияющие на ценность fluent в обобщенном виде можно записать как аксиому положительного и отрицательного воздействия:

Формула описывает условия, при которых действие в ситуации делает бегло стать правдой в ситуации преемника . Так же, описывает условия, при которых выполняется действие в ситуации делает бегло false в ситуации преемника.

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

На словах эта формула гласит: «при условии, что можно выполнить действие в ситуации , беглый будет правдой в сложившейся ситуации если и только если выполнять в сделает это правдой, или это правда в ситуации и выполнение в не сделает это ложным ".

Например, значение беглого введенное выше, задается следующей аксиомой состояния преемника:

состояния

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

Основополагающие аксиомы

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

Регресс

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

ГОЛОГ

GOLOG - это язык логического программирования, основанный на ситуационном исчислении.[2][3]

Исходная версия ситуационного исчисления

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

В исходной версии ситуационного исчисления флюенты не реифицируются. Другими словами, условия, которые могут измениться, представлены предикатами, а не функциями. Фактически, Маккарти и Хейс определили беглость как функцию, которая зависит от ситуации, но затем они всегда использовали предикаты для представления беглых языков. Например, тот факт, что на месте идет дождь в ситуации представлен буквальным . В версии ситуационного исчисления Маккарти 1986 года используются функциональные беглые языки. Например, положение объекта в ситуации представлен значением , куда это функция. Утверждения о таких функциях могут быть даны с использованием равенства: означает, что расположение объекта то же самое в двух ситуациях и .

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

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

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

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

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

Ситуационное исчисление как логическая программа

Также возможно (например, Ковальски, 1979, Апт и Безем, 1990, Шанахан, 1997) записать ситуационное исчисление в виде логической программы:

Здесь является мета-предикатом, а переменная колеблется более свободно. Предикаты , и соответствуют предикатам , , и соответственно. Левая стрелка половина эквивалентности . Другая половина подразумевается при завершении программы, в которой отрицание интерпретируется как отрицание как неудача. Аксиомы индукции также неявны и нужны только для доказательства свойств программы. Обратное рассуждение как в Разрешение SLD, который является обычным механизмом, используемым для выполнения логических программ, неявно реализует регрессию.

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

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

  1. ^ Маккарти, Джон (1963). «Ситуации, действия и причинные законы» (PDF). Технический отчет Стэнфордского университета.
  2. ^ Лакемейер, Герхард. "Ситуационное исчисление и голог: Учебное пособие" (PDF). www.hybrid-reasoning.org. Получено 16 июля 2014.
  3. ^ «Публикации о ГОЛОГе». Получено 16 июля 2014.
  • Дж. Маккарти и П. Хейс (1969). Некоторые философские проблемы с точки зрения искусственного интеллекта. В редакции Б. Мельцера и Д. Мичи, Машинный интеллект, 4: 463–502. Издательство Эдинбургского университета, 1969.
  • Р. Ковальский (1979). Логика решения проблем - Elsevier North Holland.
  • K.R. Апт и М. Безем (1990). Ациклические программы. В кн .: 7-я Международная конференция по логическому программированию. MIT Press. Иерусалим, Израиль.
  • Р. Рейтер (1991). Проблема фрейма в ситуационном исчислении: простое решение (иногда) и результат полноты для регрессии цели. У Владимира Лифшица, редактора, Искусственный интеллект и математическая теория вычислений: статьи в честь Джона Маккарти, страницы 359–380, Сан-Диего, Калифорния, США. Академик Пресс Профессионал, Инк. 1991.
  • М. Шанахан (1997). Решение проблемы фрейма: математическое исследование закона инерции здравого смысла. MIT Press.
  • Х. Левеск, Ф. Пирри и Р. Рейтер (1998). Основы ситуационного исчисления. Электронные транзакции по искусственному интеллекту, 2(3–4):159-178.
  • Ф. Пирри и Р. Рейтер (1999). Некоторые вклады в метатеорию ситуационного исчисления. Журнал ACM, 46(3):325–361. Дои:10.1145/316542.316545
  • Р. Райтер (2001). Знания в действии: логические основы для определения и реализации динамических систем. MIT Press.