Чому об'єднання настільки важливе для двигунів висновку?


17

Я самостійно навчаюсь автоматизованому доказуванню теореми / розв'язкам SMT / кореспондентам і розміщую низку питань про цей процес, починаючи тут .

Я продовжую читати про Алгоритм Об’єднання .

  • Що це таке і чому так важливо для Inference Engine ?
  • Чому це так важливо для інформатики?

Відповіді:


11

Уніфікація - це таке фундаментальне поняття в інформатиці, що, можливо, в той час ми навіть сприймаємо це як належне. Кожен раз, коли у нас є правило, рівняння або шаблон і хочемо застосувати його до деяких даних, для спеціалізації правила до даних використовується уніфікація. Або якщо ми хочемо поєднати два загальних, але перекриваються правила, об'єднання надає нам найбільш загальне комбіноване правило. Об’єднання лежить в основі

  • Дослідження теореми та помічники доказування включають деякі, засновані на уніфікації вищого порядку.
  • Реалізації Prolog (як роздільна здатність).
  • Введіть алгоритми умовиводу.
  • Обчислювальна лінгвістика / обробка природних мов.
  • Термінові системи переписування, такі як Моде, які можуть бути використані як основа семантики мови програмування.
  • Дедуктивні бази даних.
  • Експертні системи або загалом Штучний інтелект.
  • Системи комп'ютерної алгебри.
  • Збірка шаблонів у функціональних мовах (принаймні частково ... лише відповідність).
  • Деякі підходи до розбору.
  • Деякі мови запитів, особливо за участю Semantic Web.

8

Додаткові помічники, такі як Ізабель / HOL, працюють на синтаксичному рівні на логічному обчисленні. Уявіть, що у вас є правило modus ponens (MP)

ПQ,П  Q

і доказна мета

(аб)(cг),аб !cг

Ми , люди , відразу видно , що це слід з модус поненс, але машина повинна відповідати меті правити синтаксично (кастрований баран ви робите apply rule mpабо apply simp), і це те , що робить об'єднання. Алгоритм знаходить з φ ( P ) = a b і φ ( Q ) = c d , інстанціює правило і застосовує його.φφ(П)=абφ(Q)=cг

Хороша річ у методах помічників, як simpзараз, - це якщо ваша мета

(аб)(cг),а !г

що вони знайдуть відповідну послідовність застосувань правил MP, і P P Q із сумісними уніфікаціями для відповідних кроків і вирішать мету.ПQПППQ


Позначення: З набір логічних формул, позначенняΓ={φ1,,φн}

Γψ

означає наступне:

Якщо я вивів / перевірив всі формули у (тобто вони є дійсними ), то це правило стверджує, що ψ також є дійсним.Γψ

У певному сенсі правило Γψψ

ПQφ


3

2

Я не думаю, що це важливо для роботи двигунів . Але алгоритм об'єднання дуже корисний для виводу типу . Це два дуже різні види умовиводу.

Вибір типу важливий для інформатики, оскільки типи є важливими в теорії мов програмування, що є важливою частиною інформатики. Типи також близькі до логіки та інтенсивно використовуються в автоматизованому доведенні теорем. Є реалізація алгоритмів уніфікації у багатьох, якщо не у всіх, асистентах доказування та розв'язках SMT.

Двигуни виводу пов'язані зі штучним інтелектом, що також важливо, але дуже відрізняється. (Я бачив зв’язки між навчанням та логікою, але це здається надуманим.)


Я не думаю, що перше речення є дійсним; дивіться мою відповідь.
Рафаель

1
Я також не згоден з першим реченням. Резолюція (спеціалізація об'єднання) - це серцевина Prolog, яка є однією з найпоширеніших мов впровадження для експертних систем та інших механізмів висновку.
Дейв Кларк

@Raphael і Dave: так ви кажете, алгоритм об'єднання безпосередньо використовується в двигунах висновку?
jmad

@jmad: Я не впевнений , що є алгоритм об'єднання, і я також не впевнений , які системи називаються «логічний висновок». Я знаю, що об'єднання широко застосовується там, де випливає логіка та / або формальна семантика; див. відповідь Дейва для списку.
Рафаель

@Raphael: це, головним чином, питання, яке я хотів вирішити: схоже, що двигуни висновку - це не про висновки, про які я знаю, про тип і логіку.
jmad
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.