Jump to content

Проблог

Проблог
Оригинальный автор(ы) Исследовательская лаборатория DTAI (KU Leuven)
Первоначальный выпуск 11 ноября 2007 г. ( 11 ноября 2007 г. )
Стабильная версия
2.1
Написано в Питон
Операционная система Linux , Mac OS X , Microsoft Windows
Тип Вероятностная логика
Лицензия Лицензия Apache, версия 2.0
Веб-сайт данные .cs .кулеувен .быть /проблог /

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

Семантика

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

Вероятностный факт – это пара с основной атом и вероятность будучи правдой. Правило определяется атомом , называемый головой, и конечное множество литералы , называемое телом. Программы ProbLog состоят из набора вероятностных фактов. и набор правил . Используя семантику распределения, распределение вероятностей определяется по двузначным обоснованным моделям атомов в программе. Вероятность модели определяется как где произведение пробегает все литералы в модели . Для атома запроса семантика распределения определяет вероятность запроса в котором сумма пробегает все модели, где это правда.

ProbLog поддерживает несколько задач:

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

Например, ProbLog можно использовать для расчета вероятности намокнуть с учетом вероятности дождя и вероятности того, что кто-то принесет зонтик, следующим образом:

0.4 :: rain(weekday).
0.9 :: rain(weekend).
0.8 :: umbrella_if_rainy(Day).
0.2 :: umbrella_if_dry(Day).

umbrella(Day) :- rain(Day), umbrella_if_rainy(Day).
umbrella(Day) :- \+rain(Day), umbrella_if_dry(Day).
wet(Day) :- rain(Day), \+umbrella(Day).

query(\+wet(weekend)).

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

Реализации

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

Язык ProbLog реализован как библиотека YAP Prolog (ProbLog 1). [4] и как автономный фреймворк Python (ProbLog 2) [5] Исходный код ProbLog 2 доступен под лицензией Apache License версии 2.0 и доступен на GitHub . [6] Язык ProbLog также был реализован как часть пакета программирования вероятностной логики cplint для SWI-Prolog, YAP и XSB. [7]

Варианты проблога

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

ProbLog был расширен или использован в качестве вдохновения для нескольких различных вариантов, в том числе:

  • DeepProbLog расширяет ProbLog, позволяя параметризовать вероятность с помощью нейронной сети. [8]
  • DTProblog расширяет ProbLog теорией принятия решений . Полезность стратегии определяется как ожидаемое вознаграждение за ее реализацию при наличии вероятностных эффектов. [9]
  • DC-ProbLog расширяет ProbLog фактами распределения, что означает, что вместо вероятностей логический атом имеет соответствующее непрерывное распределение вероятностей.
  • aProbLog обобщает ProbLog, допуская любое коммутативное полукольцо вместо просто вероятностей. [10]
  • ProbFOIL : учитывая набор фактов ProbLog в виде вероятностной реляционной базы данных, ProbFOIL находит набор вероятностных правил для прогнозирования фактов одного отношения на основе всех других отношений.
[ редактировать ]
  • ПРИЗМА: Программирование в статистическом моделировании [11]
  • ICL: Логика независимого выбора [12]
  • CP-логика: язык причинно-вероятностных событий [13]
  • LPAD: логические программы с аннотированными дизъюнкциями. [14]
  • Распределительные предложения: язык вероятностной логики для гибридных реляционных областей. [15]

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

[ редактировать ]
  • Домашняя страница ProbLog [5]
  • Документация Проблога [16]
  • Репозиторий проблогов [6]
  1. ^ Де Рэдт, Люк; Киммиг, Анжелика; Тойвонен, Ханну (ноябрь 2007 г.). ProbLog: вероятностный пролог и его применение при обнаружении ссылок . IJCAI. Том. 7.
  2. ^ Фиренс, Д; Ван ден Брук, Г.; Брюйноге, М.; Де Рэдт, Л. (2012). Ограничения для вероятностно-логического программирования . Материалы семинара NIPS по вероятностному программированию. стр. 1–4.
  3. ^ Де Рэдт, Люк; Киммиг, Анжелика (2015). «Концепции вероятностного (логического) программирования» . Машинное обучение . 100 (1): 5–47. дои : 10.1007/s10994-015-5494-z . S2CID   3166992 .
  4. ^ «ПробЛог1» . dtai.cs.kuleuven.be .
  5. ^ Jump up to: а б «ProbLog: Вероятностное программирование» . dtai.cs.kuleuven.be .
  6. ^ Jump up to: а б «Репозиторий ProbLog на GitHub» . github.com . 12 октября 2022 г.
  7. ^ «cplint – AI@UNIFE» . Проверено 13 ноября 2023 г.
  8. ^ Манхаев, Робин; Думанчич, Себастьян; Киммиг, Анжелика; Демистер, Томас; Де Рэдт, Люк (2018). DeepProbLog: нейронно-вероятностное логическое программирование . NeurIPS 2018, Тридцать вторая конференция по нейронным системам обработки информации. стр. 3753–3760.
  9. ^ Ван ден Брук, Гай; Тон, Инго; Ван Оттерло, Мартин; Де Рэдт, Люк (2010). «DTProbLog: теоретико-вероятностный Пролог». Материалы конференции AAAI по искусственному интеллекту . Том. 24.
  10. ^ Киммиг, А.; Ван ден Брук, Г.; Де Рэдт, Л. (2011). Алгебраический Пролог для рассуждений о возможных мирах . Материалы двадцать пятой конференции AAAI по искусственному интеллекту. стр. 209–214.
  11. ^ «ПРИЗМА: Программирование в статистическом моделировании» . rjida.meijo-u.ac.jp .
  12. ^ Пул, Дэвид (2008). «Логика независимого выбора и не только». В Люке Рэдте; Паоло Фраскони; Кристиан Керстинг; Стивен Магглтон (ред.). Вероятностное индуктивно-логическое программирование . Конспекты лекций по информатике. Том. 4911. Спрингер. стр. 222–243. дои : 10.1007/978-3-540-78652-8_8 . ISBN  978-3-540-78651-1 .
  13. ^ Веннекенс, Йост; Денекер, Марк; Брюйнуг, Морис (2009). CP-логика: язык причинно-вероятностных событий и его связь с логическим программированием . Теория и практика логического программирования. Том. 9. С. 245–308. arXiv : 0904.1672 .
  14. ^ «PITA: Вероятностный вывод с составлением таблиц и обобщением ответов» . ml.unife.it .
  15. ^ «Распределительные оговорки» . dtai.cs.kuleuven.be .
  16. ^ «ProbLog: Документация ProbLog 2.1» . prolog.readthedocs.io .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4c28321dd13ffef574d23e82be60a123__1719551460
URL1:https://arc.ask3.ru/arc/aa/4c/23/4c28321dd13ffef574d23e82be60a123.html
Заголовок, (Title) документа по адресу, URL1:
ProbLog - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)