- •4.1. Знання і деякі підходи до їх подання
- •4.2. Вербально-дедуктивне визначення знань
- •4.3. Експертні системи
- •4.4. Дані та знання
- •4.5. Зв'язки між інформаційними одиницями
- •4.6. Проблема винятків
- •4.7. Властивості знань
- •4.8. Неоднорідність знань. Області і рівні знань
- •4.9. База знань як об'єднання простіших одиниць
- •4.10. Бінарні предикати і тріада
- •4.11. Проблема неточних і неповних знань
- •5Л. Визначення та класифікація семантичних мереж
- •5.2. Семантичні мережі в пам'ті людини
- •5.3. Трирівнева архітектура семантичних мереж
- •5.4. Асиміляція нових знань на основі семантичних мереж
- •5.5. Різні способи задання семантичних мереж
- •5.6. Логічне виведення на семантичних мережах
- •5.7. Процедурні і роздалені семантичні мережі
- •Фрейми та слоти: базові поняття
- •Конкретизація, ієрархія та наслідуваніїя фреймів
- •6.3. Поповнення первинних описів на основі фреймових моделей
- •0.10 * (Кількість_уроків - 1)), (Коли, _ ), (Хто,_),
- •0.10 * (Кількість_уроків - 1)), (Коли, вчора), (Хто, Петро),
- •6.4. Мережі подібностей і відмінностей
- •6.5. Фрейми та об'єктно-орієнтоване програмування
- •6.6. Поняття про мову uml
- •7Л. Логічні побудови та логічні моделі
- •7.2. Короткий вступ до числення предикатів
- •7.3. Фразова форма запису логічних формул
- •7.4. Аналіз і доведення теорем
- •7.5. Побудова теорії певної області знань
- •7.6. Від формальної логіки до логічного програмування
- •Будь-який терм зіставляється сам з собою. Наприклад, дві фрази
- •Різні константи не зіставляються одна з одною, тому фрази
- •Змінна може бути замінена константою або іншим термом. Так, фрази
- •7.7. Мова Пролог і логічне програмування
- •7.8. Основні ідеї Прологу
- •7.9. Як працює Пролог
- •8.1. Характеристика продукіцйиих моделей
- •8.2. Продукції та мережі виведення
- •8.3. Типова схема роботи експертної системи на базі продукцій
- •8.4. Пряме та зворотне виведення
- •8.5. Типові дисципліїш виконання продукцій
- •8.6. Основні стратегії вирішешія конфліктів у продукіцйііих системах
Будь-який терм зіставляється сам з собою. Наприклад, дві фрази
P(a)v~Q(b, с),
Q(b, c)v~R(b, с) є резольвовані, і резольвента записується як Р (a)v ~ R (b, с).
Різні константи не зіставляються одна з одною, тому фрази
Р (a) v ~ Q (Ь, с),
Q(c, с) v-Д (6, с) не є резольвованими.
Змінна може бути замінена константою або іншим термом. Так, фрази
P(a)v~Q(a, b\ Q(x9y)v~R(x,y) резольвується, при цьому змінна х зіставляється з константою а, змінна у — з константою b. У резольвенті Р (a) v ~ R (а, Ь) змінні замінені на константи, з якими вони зіставлялися.
Якщо в процесі виведення утворилися фрази Р (а) та ~ Р (а), їх резолюцією є пустий диз'юнкт (тотожна хибність, позначається П). Саме виведення пустого диз'юнкта і означає суперечливість теорії.
Тепер можна сформулювати алгоритм автоматичного доведення теорем на основі методу резолюцій. Нагадаємо, що йдеться про перевірку істинності будь-якого твердження в рамках існуючої системи знань.
Застосовується метод доведення "від супротивного". При перевірці утворюється деяка пробна теорія, що утворюється шляхом додавання заперечення нового твердження до вже існуючих (сама база знань при цьому вважається несуперечливою). Послідовно застосовується правило резолюції, і утворені резольвенти додаються до пробної теорії. Якщо при цьому врешті утворюється пуста фраза, то твердження, яке перевіряється, істинне.
Фундаментальною властивістю методу резолюцій є його повнота. Відповідна теорема формулюється так [129]: множина диз'юнктів S суперечлива тоді і тільки тоді, коли з неї можна вивести пустий диз'юнкт.
Як уже зазначалося, логіка предикатів першого порядку не є розв'язною. Тому для множини диз'юнктів, яка не є суперечливою, процедура, що ґрунтується на методі резолюцій, може працювати нескінченно довго.
Наведемо ще приклади застосування методу резолюції.
Приклад 7.1.
Нехай дано такий набір фраз:
вовк їсть м 'ясо,
тварини, які їдять м 'ясо, є хижаками.
Потрібно довести, що:
вовк є хижаком.
Введемо предикати G (х, у), який означає "х їсть у" і Q (х), який означає "х є хижаком". Далі введемо предметні константи: W— вовк; М— м'ясо.
Тоді маємо базу знань: G (W, М)
~ G (х, М) v Q (хУ
Потрібно довести формулу Q (fV).
Крок 1. Утворюємо пробну теорію та додаємо до неї заперечення:
(7.10)
G(W,M)
~
G (x,M)v Q(x)
-em
Крок 2. Застосовуємо резолюцію до (7.9) та (7.10); при цьому константа W зіставляється зі змінною х:
G(W,M)
~
G(x,M)v
Q
(х)
-всю
~G(W,My
Крок 3. Внаслідок резолюції (7.8) і (7.11) утворюється пуста фраза. Це означає суперечливість пробної теорії та істинність твердження, яке перевіряється.
Приклад 7.2:
Нехай дана база знань, що складається з фраз: Володимир є сином Костянтина, Костянтин є сином Олега та правил:
Якщо х є сином у, то х є нащадком у,
Якщо х є нащадком у, а у є нащадком z, то х є нащадком z.
Необхідно довести, що: Володимир є нащадком Олега.
Введемо предметні константи V— Володимир, К— Костянтин, О — Олег і предикати: S (х, у) — х є сином у; N (х, у) — х є нащадком у.
Крок 1.
Утворюємо пробну теорію шляхом додавання
заперечення твердження, що перевіряється:
S(V9K) S(K90)
~S(x9y)vN(x,y) ~N(x,y)v~N(y9z)v N (х, z) ~N(V9Oy
Крок 2. Застосовуємо резолюцію до (7.16) і (7.15); при цьому х зіставляється з V, a z — з О: S(V,K) S(K,0)
~S(x9y)vN(x9y)
~ N (х, у) v ~ N (у, z) v N (х, z)
~N(V,0)
~ N(K,y)v ~ N(y, О) (7.17)
Крок 3. Застосовуємо резолюцію до (7.14) і (7.17); в результаті до теорії додається твердження
~S(V9y)v~N(y90) (7.18)
Крок 4. Застосовуємо резолюцію до (7.14) і (7.18); додається твердження ~S(V9y)v~S(y90). (7.19)
Крок 5. Застосовуємо резолюцію до (7.19) і (7.12);^ зіставляється з К: ~S(K,0) (7.20)
Крок 6. У результаті резолюції (7.13) і (7.20) утворюється порожня фраза. Висновок: твердження, що перевіряється, є істинним. Приклад 7.3.
Повернемося до бази знань, що складається з фраз: Усі студенти люблять відвідувати лекції. Деякі студенти люблять морозиво. Іванов є студент, але не любить морозива.
Ми ввели такі предикати та предметні константи: L (х, у) — х любить у. S (х) — х є студентом.
А — предметна константа, яка означає "відвідування лекцій"; / — предметна константа, яка відповідає Іванову; Q — предметна константа, яка означає морозиво. База знань має вигляд:
- S (х) v L (х, А) S(c) L (с, Q) S(I)
Спробуємо довести, що деякі люди, які люблять морозиво, люблять і відвідувати лекції.
Остання фраза запишеться у вигляді Зх: (L (х, А) & L (х, Q)). Її заперечення має вигляд Vx: L (х, A) v (х, Q)). Позбувшися квантора узагальнення, отримуємо фразу ~ L (х, A) v ~ L (х, Q).
Подальші резолюції здійснюються звичайним чином. Спробуйте виконати їх самостійно.
У літературі також вживаються такі терміни, як лінійна і вхідна резолюції. Пояснимо їх застосування.
Метод резолюцій є перебірною процедурою. Якщо спробувати безпосередньо застосовувати метод резолюцій у тому вигляді, в якому він був сформульований, то для великих баз знань він породжуватиме значну кількість безперспективних резолюцій і тому виявляється досить неефективним. Для запобігання "експоненційного вибуху" були запропоновані ефективніші модифікації [129]: семантична резолюція, лок-резолюція, лінійна резолюція. Суть цих модифікацій полягає у введенні тих чи інших критеріїв, за якими відбираються диз'юнкти, що беруть участь у черговій резолюції. Зазначені модифікації в цілому не усувають бектрекінгового перебору, але дозволяють істотно скоротити цей перебір і роблять метод резолюцій цілком придатним для практичного застосування.
І Для даної множини диз'юнктів S і початкового диз'юнкта лінійним виведенням диз'юнкта Сп називається [129, 272] послідовність С0, Сі, ..., Сп, де
для і = 0, 1, ...,п- 1 диз'юнкт Сі+\ являє собою резольвенту диз 'юнк- та Сі (який називається центральним диз'юнктом) і Bt (який називається боковим диз 'юнктом), при цьому:
будь-який боковий диз 'юнкт В і або належить S, або є Cj для деякого
Лінійна резолюція є повною.
Важливим варіантом лінійної резолюції є так звана вхідна резолюція, Для якої за бокові диз'юнкти беруться тільки диз'юнкти з множини S. Вхідна резолюція є простою та ефективною, і саме вона лежить в основі механізму логічного виведення, що реалізовано в мові Пролог.
У загальному випадку вхідна резолюція не є повною. Але повнота вхідної резолюції гарантується, якщо обмежитися тільки хорнівськими диз'юнктами.
Нарешті, видається зручним такий неформальний опис лінійної, зокрема вхідної, резолюції [172].
Алгоритм доведення теорем на основі методу резолюцій повинен бути сфокусований на наслідках внесення до пробної теорії нових резольвент. Це досягається за допомогою таких двох правил:
у першій резолюції слід використовувати щойно додане заперечення твердження, яке перевіряється;
кожна наступна резолюція повинна використовувати попередній результат.
