logo

Прямий і зворотний ланцюжки в ШІ

У штучному інтелекті прямий і зворотний ланцюжки є однією з важливих тем, але перш ніж розуміти прямий і зворотний ланцюжки, давайте спочатку зрозуміємо, звідки взялися ці два терміни.

сон для javascript

Механізм висновків:

Механізм логічного висновку — це компонент інтелектуальної системи штучного інтелекту, який застосовує логічні правила до бази знань, щоб виводити нову інформацію з відомих фактів. Перший механізм логічного висновку був частиною експертної системи. Механізм висновків зазвичай працює в двох режимах, а саме:

    Переднє ланцюжок Зворотне ланцюжок

Речення Horn і речення Definite:

Речення Horn і означальне речення є формами речень, що дозволяє базі знань використовувати більш обмежений і ефективний алгоритм висновку. Алгоритми логічного висновку використовують підходи прямого та зворотного зв’язування, які вимагають KB у формі означальне речення першого порядку .

Означальне речення: Речення, яке є диз'юнкцією літералів з рівно один позитивний літерал відомий як певне речення або речення суворого рогу.

пункт Horn: Речення, яке є диз'юнкцією літералів з щонайбільше один позитивний літерал відомий як клаузула рогу. Отже, усі означальні речення є реченнями рога.

Приклад: (¬ p V ¬ q V k) . Він має лише один позитивний літерал k.

Це еквівалентно p ∧ q → k.

A. Прямий ланцюжок

Прямий ланцюжок також відомий як прямий висновок або метод прямого міркування при використанні механізму логічного висновку. Прямий ланцюжок — це форма міркування, яка починається з атомарних речень у базі знань і застосовує правила висновку (Modus Ponens) у прямому напрямку, щоб отримати більше даних, доки не буде досягнуто мети.

Алгоритм прямого ланцюжка починається з відомих фактів, запускає всі правила, передумови яких виконуються, і додає свій висновок до відомих фактів. Цей процес повторюється, доки проблема не буде вирішена.

Властивості прямого з’єднання:

  • Це підхід вниз-вгору, оскільки він рухається знизу вгору.
  • Це процес створення висновків на основі відомих фактів або даних, починаючи з початкового стану та досягаючи цільового стану.
  • Підхід прямого ланцюжка також називається керованим даними, оскільки ми досягаємо мети, використовуючи доступні дані.
  • Підхід прямого ланцюжка зазвичай використовується в експертних системах, таких як CLIPS, бізнес-системи та системи правил виробництва.

Розглянемо наступний відомий приклад, який ми будемо використовувати в обох підходах:

приклад:

«Згідно із законом, продаж американцем зброї ворожим державам є злочином. Країна А, ворог Америки, має декілька ракет, і всі ракети їй продав Роберт, який є американським громадянином».

Доведіть це «Роберт злочинець».

Щоб вирішити наведену вище проблему, спочатку ми перетворимо всі вищезазначені факти в визначені речення першого порядку, а потім використаємо алгоритм прямого ланцюжка для досягнення мети.

Перетворення фактів у FOL:

  • Продавати зброю ворожим державам для американця є злочином. (Припустимо, p, q і r є змінними)
    Американський (p) ∧ зброя (q) ∧ продає (p, q, r) ∧ ворожий (r) → Кримінальний (p) ...(1)
  • Країна А має декілька ракет. ?p Володіє (A, p) ∧ Ракета (p) . Його можна записати двома певними реченнями за допомогою екзистенційної інстанціації, вводячи нову константу T1.
    Володіє (A, T1) ......(2)
    Ракета (T1) .......(3)
  • Роберт продав усі ракети країні А.
    ?p Ракети(p) ∧ Володіє (A, p) → Продає (Роберт, p, A) ......(4)
  • Ракети - це зброя.
    Ракета (p) → Зброя (p) .......(5)
  • Ворог Америки відомий як ворог.
    Ворог(p, Америка) →Ворожий(p) ........(6)
  • Країна А є ворогом Америки.
    Ворог (А, Америка) .........(7)
  • Роберт американець
    Американець (Роберт). ..........(8)

Доказ прямого ланцюжка:

Крок 1:

На першому кроці ми почнемо з відомих фактів і виберемо речення, які не мають наслідків, наприклад: Американець (Роберт), Ворог (A, Америка), Володіє (A, T1) і Ракета (T1) . Всі ці факти будуть представлені нижче.

Прямий і зворотний ланцюжки в AI

Крок 2:

На другому кроці ми побачимо ті факти, які випливають із наявних фактів і із задоволеними передумовами.

Правило-(1) не задовольняє умови, тому воно не буде додано в першій ітерації.

Правило-(2) і (3) вже додано.

Правило-(4) задовольняє заміну {p/T1}, so Sells (Роберт, T1, A) додається, що випливає з поєднання правил (2) і (3).

Правило-(6) задовольняється заміною (p/A), тому додається Вороже (A), яке випливає з Правила-(7).

Прямий і зворотний ланцюжки в ШІ

Крок 3:

На кроці 3 ми можемо перевірити, що правило-(1) задоволено заміною {p/Robert, q/T1, r/A}, тому ми можемо додати Criminal(Robert) який виводить усі наявні факти. І таким чином ми досягли своєї мети.

Прямий і зворотний ланцюжки в AI

Отже, доведено, що Роберт є злочинцем, використовуючи підхід прямого ланцюжка.

B. Зворотне з’єднання:

Зворотний ланцюжок також відомий як зворотний висновок або метод зворотного міркування при використанні механізму логічного висновку. Алгоритм зворотного ланцюжка – це форма міркування, яка починається з мети та працює у зворотному напрямку, з’єднуючи правила для пошуку відомих фактів, які підтверджують мету.

Властивості зворотного ланцюжка:

  • Він відомий як підхід зверху вниз.
  • Зворотне з’єднання ґрунтується на правилі висновку modus ponens.
  • У зворотному ланцюжку ціль розбивається на підцілі або підцілі, щоб підтвердити правдивість фактів.
  • Це називається цільовим підходом, оскільки список цілей визначає, які правила вибирати та використовувати.
  • Алгоритм зворотного ланцюжка використовується в теорії ігор, автоматизованих інструментах доведення теорем, механізмах логічного висновку, асистентах доведення та різноманітних програмах ШІ.
  • Метод зворотного ланцюжка переважно використовував a пошук у глибину стратегія доведення.

приклад:

У зворотному ланцюжку ми використаємо той самий приклад, наведений вище, і перепишемо всі правила.

    Американський (p) ∧ зброя (q) ∧ продає (p, q, r) ∧ ворожий (r) → Кримінальний (p) ...(1)
    Володіє (A, T1) ........(2) Ракета (T1) ?p Ракети(p) ∧ Володіє (A, p) → Продає (Роберт, p, A) ......(4) Ракета (p) → Зброя (p) .......(5) Ворог(p, Америка) →Ворожий(p) ........(6) Ворог (А, Америка) .........(7) Американець (Роберт). ..........(8)

Доказ зворотного ланцюжка:

У зворотному ланцюжку ми почнемо з нашого предикату цілі, який є Злочинець (Роберт) , а потім вивести подальші правила.

Крок 1:

На першому кроці візьмемо факт цілі. І з факту мети ми виведемо інші факти, і, нарешті, доведемо, що ці факти правдиві. Таким чином, наш цільовий факт — «Роберт злочинець», тому його предикатом є наступне.

Прямий і зворотний ланцюжки в ШІ

Крок 2:

На другому кроці ми виведемо інші факти з цільового факту, який задовольняє правила. Отже, як ми бачимо в Правилі-1, предикат цілі Злочинець (Роберт) присутній із заміною {Роберт/P}. Отже, ми додамо всі сполучні факти нижче першого рівня та замінимо p на Robert.

Тут ми бачимо, що американець (Роберт) є фактом, тому це доведено тут.

Прямий і зворотний ланцюжки в AI

Крок 3: t На кроці 3 ми витягнемо наступний факт Missile(q), який випливає зі Weapon(q), оскільки він задовольняє правило-(5). Зброя (q) також вірна з заміною константи T1 на q.

Прямий і зворотний ланцюжки в AI

Крок 4:

На кроці 4 ми можемо вивести факти Missile(T1) і Owns(A, T1) у формі Sells(Robert, T1, r), що задовольняє Правило - 4 , із заміною A замість r. Отже, ці два твердження доведені тут.

Прямий і зворотний ланцюжки в AI

Крок 5:

На кроці 5 ми можемо зробити висновок про факт Ворог (А, Америка) від Ворожий (A) що задовольняє правило 6. І, отже, всі твердження підтверджуються за допомогою зворотного ланцюжка.

Прямий і зворотний ланцюжки в AI