- •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. Основні стратегії вирішешія конфліктів у продукіцйііих системах
7.6. Від формальної логіки до логічного програмування
Як ми вже зазначали, в логіці предикатів існують методи доведення того, буде чи ні конкретна ВПФ наслідком деякої теорії. Природно виникає бажання автоматизувати таке доведення за допомогою числення предикатів. У більшості підходів до цієї проблеми використовується процедура спростування. Розглянемо її основні ідеї.
З визначення тотожної істинності і непослідовності можна дійти висновку, що ВПФ буде тотожно істинною тоді і тільки тоді, коли внесення в теорію заперечення даної ВПФ перетворить цю теорію на непослідовну.
Теорія буде непослідовною, якщо в ній можливо вивести протиріччя такого вигляду: А & ~ А.
Для будь-якої системи логічного програмування характерною є та обставина, що для виконання програми (побудови виведення результату) використовується вмонтована система автоматичного пошуку. Як вже зазначалося, механізм пошуку логічного висновку бере свій початок від методу резолюцій Робінсона. Описане в п. 7.4 правило резолюції виведення логічного висновку можна уточнити таким чином. Дві фрази можуть резольву- вати між собою, якщо одна з них має позитивний, а друга — негативний літерал з одним і тим самим позначенням предиката та однаковою кількістю аргументів, і якщо аргументи обох літералів можуть бути уніфіковані (погоджені).
Розглянемо дві фрази спеціального вигляду:
Р (а) — заключення без умови і ~ Р (а) — умова без заключення. Нагадаємо, що наявність цих двох фраз в одній теорії є протиріччям. Якщо вони резольвують між собою, тоді отримана резольвента називається порожньою фразою.
Якщо при резолюції двох фраз, що входять до складу теорії, отримується порожня фраза, тоді теорія буде непослідовною.
Розглянемо формальніше застосування принципу резолюції та уніфікації. Спочатку розглянемо варіант вживання правила резолюції для атомарних формул, які не містять змінних, але можуть набувати значень "істинність" або "хибність" (фактично — для висловлювань). Кажуть, що дві фрази містять контрарну пару атомарних формул (або просто контрарну пару), якщо одна з них включає деяку атомарну формулу без заперечення, а інша — ту саму формулу під знаком заперечення.
І Дві фрази, що містять контрарну пару, можуть бути резольвовані одна з іншою, і результатом резолюції (резольвентою) є диз'юнкція літералів, які залишаються в обох фразах після викреслення контрарної пари.
Наприклад, нехай ми маємо фрази:
~ Р v М PvL,
де М і L — диз'юнкції довільної кількості атомарних формул. Фрази є ре- зольвованими, і резольвента має вигляд MvL.
Це правило було запропоновано Девісом і Патнемом. Воно стає очевиднішим, якщо переписати його в термінах імплікацій (спробуйте зробити це самостійно).
Дж. Робінсон розширив правило Девіса і Патнема на випадок, коли аргументами атомарних формул можуть бути змінні, константи і взагалі довільні терми. Основна ідея полягає у підстановці до атомарних формул, що входять до контрарної пари, термів замість змінних, поки набори аргументів обох формул не стануть однаковими (не будуть уніфіковані). Відповідна підстановка називається уніфікатором.
Слід зауважити, що змінну не можна замінювати на терм, який містить ту саму змінну. З іншого боку, фрази теорії є незалежними між собою. Тому перед застосуванням методу резолюцій рекомендується перейменувати змінні так, щоб кожна змінна зустрічалася не більше ніж в одній фразі теорії.
Формальніше, результатом підстановки а = {f,/x„ tjxj до фрази М (записується М<з) є фраза, утворена з М заміною змінних х, на терми tr Зверніть увагу: терми можна підставляти лише замість змінних (не замість констант!).
Підстановка а називається уніфікатором для множини виразів {Л/„ ..., ..., Мп), якщо М,а = М2о = ... = Мп<5.
Уніфікатор а для множини виразів {Мр ..., MJ називається найбільш загальним уніфікатором, якщо для будь-якого уніфікатора 0 цієї множини існує така підстановка X, що 9 являтиме собою композицію підстановок а і X.
Композицією підстановок а = {/,/*,, tjxn) і X = {м,/у„ ..., ujy } називається підстановка {txX!xv ..., tnX/xn, uxlyv ..., ujy}, з якої викреслені всі tJJXi, якщо tjX = х., і всі ujy і такі, що у. є х„}.
Тепер можна сформулювати загальне правило резолюцій.
Дві фрази, що містять контрарну пару, можуть бути резольвовані ^ одна з іншою, якщо літерали, що входять до контрарної пари, можуть і* бути уніфіковані, тобто якщо для них існує найбільш загальний уніфі-
катор а. Результатом резолюції є диз'юнкція літералів, які залиша- ^ ються в обох фразах після викреслення контрарної пари, причому до 11 цих літералів повинен бути застосований уніфікатор а.
Існують формальні алгоритми, які дозволяють отримувати найбільш загальний уніфікатор [121, 272, 320]. Але у більшості випадків достатньо деяких неформальних простих правил, подібних до тих, що були сформульовані в [172].
