Проблема с рамой - Википедия - Frame problem

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

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

Описание

Проблема с фреймами возникает даже в очень простых областях. Сценарий с дверью, которая может быть открытой или закрытой, и светом, который может быть включен или выключен, статически представлен двумя предложения и . Если эти условия могут измениться, их лучше представить двумя предикаты и которые зависят от времени; такие предикаты называются беглый. Область, в которой дверь закрыта и свет выключен в момент времени 0, а дверь открыта в момент времени 1, может быть непосредственно представлена ​​в логике.[требуется разъяснение ] по следующим формулам:

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

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

   

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

   

Проблема фрейма заключается в том, что указание только того, какие условия изменяются действиями, не влечет за собой, что все другие условия не изменяются. Эта проблема может быть решена путем добавления так называемых «аксиом фрейма», которые явно указывают, что все условия, на которые не влияют действия, не изменяются во время выполнения этого действия. Например, поскольку действие, выполняемое в момент времени 0, - это действие открытия двери, аксиома рамы будет утверждать, что состояние света не меняется с момента 0 на время 1:

Проблема фрейма состоит в том, что одна такая аксиома фрейма необходима для каждой пары действия и условия, так что действие не влияет на условие.[требуется разъяснение ] Другими словами, проблема состоит в том, чтобы формализовать динамическую область без явного указания аксиом фрейма.

Решение, предложенное Маккарти для решения этой проблемы, предполагает предположение, что произошло минимальное количество изменений условий; это решение формализовано в рамках ограничение. В Проблема со стрельбой в Йельском университете Однако показывает, что это решение не всегда верно. Затем были предложены альтернативные решения, включая завершение предикатов, плавную окклюзию, аксиомы государства-преемника, так далее.; они объяснены ниже. К концу 1980-х годов проблема фрейма, определенная Маккарти и Хейсом, была решена.[требуется разъяснение ]. Однако даже после этого термин «проблема фрейма» все еще использовался, отчасти для обозначения той же проблемы, но в других условиях (например, одновременных действий), а отчасти для обозначения общей проблемы представления и рассуждения с динамическими домены.

Решения

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

Жидкий раствор для окклюзии

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

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

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

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

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

Решение для завершения предиката

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

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

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

Значение условия после выполнения действия можно определить по тому факту, что условие истинно тогда и только тогда, когда:

  1. действие делает условие истинным; или же
  2. условие ранее было истинным, и действие не делает его ложным.

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

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

Беглое решение для исчисления

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

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

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

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

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

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

Решение для исчисления событий

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

Логическое решение по умолчанию

Проблему фрейма можно рассматривать как проблему формализации принципа, согласно которому по умолчанию «предполагается, что все остается в том состоянии, в котором оно находится» (Лейбниц, "Введение в секретную энциклопедию", c. 1679). Это значение по умолчанию, иногда называемое здравый смысл закон инерции, был выражен Раймонд Рейтер в логика по умолчанию:

(если верно в ситуации , и можно предположить[3] который остается верным после выполнения действия , то можно заключить, что остается верным).

Стив Хэнкс и Дрю Макдермотт утверждали, что на основании их Йельская стрельба Например, это решение проблемы фрейма неудовлетворительно. Однако Хадсон Тернер показал, что он работает правильно при наличии соответствующих дополнительных постулатов.

Решение для программирования набора ответов

Аналог логического решения по умолчанию на языке программирование набора ответов это правило с сильное отрицание:

(если верно во время , и можно считать, что остается верным во время , то можно заключить, что остается верным).

Логическое решение разделения

Логика разделения это формализм для рассуждений о компьютерных программах с использованием до / после спецификаций формы . Логика разделения является продолжением Логика Хоара ориентирована на рассуждения об изменяемых структурах данных в памяти компьютера и других динамических ресурсах, и имеет специальную связку *, произносимую «и отдельно», чтобы поддерживать независимые рассуждения о непересекающихся областях памяти.[4][5]

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

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

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

Автоматизация правила кадра привела к значительному увеличению масштабируемости автоматизированных методов рассуждений для кода,[7] в конечном итоге был развернут в промышленных масштабах на базе кода с десятками миллионов строк.[8]

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

Языки описания действий

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

причины если

Семантика языка описания действий зависит от того, что язык может выражать (одновременные действия, отложенные эффекты и т. Д.), И обычно основывается на переходные системы.

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

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

Примечания

  1. ^ Хейс, Патрик. «Проблема фрейма и связанные с ней проблемы в искусственном интеллекте» (PDF). Эдинбургский университет.
  2. ^ Маккарти, Дж; П.Дж. Хейс (1969). «Некоторые философские проблемы с точки зрения искусственного интеллекта». Машинный интеллект. 4: 463–502. CiteSeerX  10.1.1.85.5082.
  3. ^ т.е. противоречивой информации нет
  4. ^ Рейнольдс, Дж. К. (2002). «Логика разделения: логика для общих изменяемых структур данных». Материалы 17-го ежегодного симпозиума IEEE по логике в компьютерных науках. Копенгаген, Дания: IEEE Comput. Soc: 55–74. CiteSeerX  10.1.1.110.7749. Дои:10.1109 / LICS.2002.1029817. ISBN  978-0-7695-1483-3. S2CID  6271346.
  5. ^ О'Хирн, Питер (28 января 2019 г.). «Логика разделения». Коммуникации ACM. 62 (2): 86–95. Дои:10.1145/3211968. ISSN  0001-0782.
  6. ^ О'Хирн, Питер; Рейнольдс, Джон; Ян, Хонгсок (2001). Фрибург, Лоран (ред.). «Местные рассуждения о программах, изменяющих структуры данных». Логика информатики. Конспект лекций по информатике. Берлин, Гейдельберг: Springer. 2142: 1–19. Дои:10.1007/3-540-44802-0_1. ISBN  978-3-540-44802-0.
  7. ^ Кальканьо Криштиану; Дино Дистефано; Питер О'Хирн; Хонсок Ян (01.12.2011). «Анализ формы композиции с помощью двойного отведения». Журнал ACM. 58 (6): 1–66. Дои:10.1145/2049697.2049700. S2CID  52808268.
  8. ^ Дистефано, Дино; Фендрих, Мануэль; Логоццо, Франческо; О'Хирн, Питер (24.07.2019). «Масштабирование статического анализа в Facebook». Коммуникации ACM. 62 (8): 62–70. Дои:10.1145/3338112.

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

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