У штучному інтелекті прямий і зворотний ланцюжки є однією з важливих тем, але перш ніж розуміти прямий і зворотний ланцюжки, давайте спочатку зрозуміємо, звідки взялися ці два терміни.
сон для 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) . Всі ці факти будуть представлені нижче.
Крок 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) який виводить усі наявні факти. І таким чином ми досягли своєї мети.
Отже, доведено, що Роберт є злочинцем, використовуючи підхід прямого ланцюжка.
B. Зворотне з’єднання:
Зворотний ланцюжок також відомий як зворотний висновок або метод зворотного міркування при використанні механізму логічного висновку. Алгоритм зворотного ланцюжка – це форма міркування, яка починається з мети та працює у зворотному напрямку, з’єднуючи правила для пошуку відомих фактів, які підтверджують мету.
Властивості зворотного ланцюжка:
- Він відомий як підхід зверху вниз.
- Зворотне з’єднання ґрунтується на правилі висновку modus ponens.
- У зворотному ланцюжку ціль розбивається на підцілі або підцілі, щоб підтвердити правдивість фактів.
- Це називається цільовим підходом, оскільки список цілей визначає, які правила вибирати та використовувати.
- Алгоритм зворотного ланцюжка використовується в теорії ігор, автоматизованих інструментах доведення теорем, механізмах логічного висновку, асистентах доведення та різноманітних програмах ШІ.
- Метод зворотного ланцюжка переважно використовував a пошук у глибину стратегія доведення.
приклад:
У зворотному ланцюжку ми використаємо той самий приклад, наведений вище, і перепишемо всі правила.
Володіє (A, T1) ........(2)
Доказ зворотного ланцюжка:
У зворотному ланцюжку ми почнемо з нашого предикату цілі, який є Злочинець (Роберт) , а потім вивести подальші правила.
Крок 1:
На першому кроці візьмемо факт цілі. І з факту мети ми виведемо інші факти, і, нарешті, доведемо, що ці факти правдиві. Таким чином, наш цільовий факт — «Роберт злочинець», тому його предикатом є наступне.
Крок 2:
На другому кроці ми виведемо інші факти з цільового факту, який задовольняє правила. Отже, як ми бачимо в Правилі-1, предикат цілі Злочинець (Роберт) присутній із заміною {Роберт/P}. Отже, ми додамо всі сполучні факти нижче першого рівня та замінимо p на Robert.
Тут ми бачимо, що американець (Роберт) є фактом, тому це доведено тут.
Крок 3: t На кроці 3 ми витягнемо наступний факт Missile(q), який випливає зі Weapon(q), оскільки він задовольняє правило-(5). Зброя (q) також вірна з заміною константи T1 на q.
Крок 4:
На кроці 4 ми можемо вивести факти Missile(T1) і Owns(A, T1) у формі Sells(Robert, T1, r), що задовольняє Правило - 4 , із заміною A замість r. Отже, ці два твердження доведені тут.
Крок 5:
На кроці 5 ми можемо зробити висновок про факт Ворог (А, Америка) від Ворожий (A) що задовольняє правило 6. І, отже, всі твердження підтверджуються за допомогою зворотного ланцюжка.