Jump to content

ГОЛЫЙ

ГОЛЫЙ
Парадигма логическое программирование
Впервые появился 1994 год ; 30 лет назад ( 1994 )
Расширения имен файлов .pl
Основные реализации
golog.lua, IndiGolog
Под влиянием
Пролог

ГОЛОГ высокого уровня — это язык логического программирования для спецификации и выполнения сложных действий в динамических областях. Он основан на ситуационном исчислении . Это логический язык первого порядка для рассуждений о действиях и изменениях. ГОЛОГ был разработан в Университете Торонто . [1] [2]

Концепция ситуационного исчисления, на которой основан язык программирования ГОЛОГ, была впервые предложена Джоном Маккарти в 1963 году. [3]

Интерпретатор ГОЛОГА автоматически поддерживает прямую характеристику моделируемого динамического мира на основе введенных пользователем аксиом о предварительных условиях, последствиях действий и начальном состоянии мира. Это позволяет приложению рассуждать о состоянии мира и учитывать влияние различных потенциальных действий, прежде чем сосредоточиться на конкретном действии. [4]

Голог — это язык логического программирования , который сильно отличается от обычных языков программирования. Процедурный язык программирования, такой как C, заранее определяет выполнение операторов. Программист создает подпрограмму, состоящую из операторов, и компьютер выполняет каждый оператор в линейном порядке. Напротив, языки программирования пятого поколения, такие как Golog, работают с абстрактной моделью, с помощью которой интерпретатор может генерировать последовательность действий. Исходный код определяет проблему, и решатель должен найти следующее действие. Этот подход может облегчить решение сложных проблем из области робототехники.

Программа Golog определяет пространство состояний , в котором разрешено работать агенту. Путь в символической области находится с помощью поиска в пространстве состояний . Для ускорения процесса программы Golog реализованы в виде иерархических сетей задач . [5]

Помимо исходного языка Golog, доступны некоторые расширения. Язык ConGolog обеспечивает параллелизм и прерывания. Другие диалекты, такие как IndiGolog и Readylog, были созданы для приложений реального времени, в которых показания датчиков обновляются «на лету». [6]

Использование

[ редактировать ]

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

Он также используется для приложений высокого уровня управления роботами и промышленными процессами , виртуальных агентов, моделирования дискретных событий и т. д. [7] Его также можно использовать для разработки агентских систем в стиле BDI (Belief Desire Intention). [8]

Планирование и сценарий

[ редактировать ]

В отличие от языка определения домена планирования , Golog также поддерживает планирование и создание сценариев. [9] [10] Планирование означает, что в модели мира определено целевое состояние, и решатель приводит логическую систему в это состояние. Сценарии поведения реализуют реактивные процедуры, которые выполняются как компьютерная программа. [11]

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

Напротив, для жестко запрограммированного реактивного поведения не требуется решатель, а последовательность действий предоставляется на языке сценариев . [13] Golog Интерпретатор , написанный на Прологе, [14] выполняет сценарий, и это приведет историю в целевое состояние.

  1. ^ Левеск, Гектор Дж.; Рейтер, Раймонд; Лесперанс, Ив; Линь, Фанчжэнь; Шерл, Ричард Б. (1 апреля 1997 г.). «ГОЛОГ: язык логического программирования для динамических областей» . Журнал логического программирования . Рассуждения о действии и изменении. 31 (1): 59–83. дои : 10.1016/S0743-1066(96)00121-5 . ISSN   0743-1066 .
  2. ^ «ГОЛОГ: язык логического программирования для динамических областей» (PDF) . ГОЛОГ: язык логического программирования для динамических областей .
  3. ^ Марта Чалдеа Майер (2010). Ситуационное исчисление и язык Голог (PDF) (на итальянском языке).
  4. ^ «ГОЛОГ – Математическое программное обеспечение – swMATH» . swmath.org . Проверено 12 января 2020 г.
  5. ^ Гэблдон, Альфредо (2002). Программирование иерархических сетей задач в ситуационном исчислении . Семинар AIPS'02 по онлайн-планированию и составлению графиков.
  6. ^ Классен, Йенс (2013). Планирование и верификация на агентном языке Golog (PhD). Университетская библиотека Рейнско-Вестфальской технической школы Ахена.
  7. ^ Г'омез, Серхио Алехандро. «Язык программирования и агентство Golog» (PDF) . Язык программирования и агентство Golog .
  8. ^ Сардина, Себастьян; Лесперанс, Ив (10 мая 2009 г.). «Голог говорит на языке BDI» (PDF) . Программирование мультиагентных систем . Конспекты лекций по информатике. Том. 5919. стр. 82–99. дои : 10.1007/978-3-642-14843-9_6 . ISBN  978-3-642-14842-2 . {{cite book}}: |journal= игнорируется ( помогите )
  9. ^ Хофманн, Тилль и Нимюллер, Тим и Класссен, Йенс и Лейкмейер, Герхард (2016). Постоянное планирование в Golog . Тридцатая конференция AAAI по искусственному интеллекту. {{cite conference}}: CS1 maint: несколько имен: список авторов ( ссылка )
  10. ^ Дилла, Франк и Феррейн, Александр и Лакмейер, Герхард (2002). Действия и размышления с использованием голога в роботизированном футболе — гибридная архитектура . Учеб. CogRob02, AAAI Press. {{cite conference}}: CS1 maint: несколько имен: список авторов ( ссылка )
  11. ^ Феррейн, Александр и Фриц, Кристиан и Лакмейер, Герхард (2005). «Использование Golog для обсуждения и координации команды в роботизированном футболе». КИ . 19 (1): 24. {{cite journal}}: CS1 maint: несколько имен: список авторов ( ссылка )
  12. ^ Гудмундссон, Трюггви Тор (2017). Гибкая авторская работа с использованием планирования GOLOG в интерактивном повествовании (PhD). Университет Рейкьявика, Исландия.
  13. ^ Ив Лесперанс, Кеннет Тэм и Майкл Дженкин (2000). Реактивность в среде программирования роботов на основе логики . Интеллектуальные агенты VI. Агентные теории, архитектуры и языки. Шпрингер Берлин Гейдельберг. стр. 173–187. дои : 10.1007/10719619_13 .
  14. ^ Феррейн, Александр (2010). голог. lua: К реализации GOLOG без пролога для встраиваемых систем . Серия весенних симпозиумов AAAI 2010.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 32913221a55dcea20aeca9466f4af897__1696343640
URL1:https://arc.ask3.ru/arc/aa/32/97/32913221a55dcea20aeca9466f4af897.html
Заголовок, (Title) документа по адресу, URL1:
GOLOG - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)