Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МОДЕЛІ ПОДАННЯ ЗНАНЬ.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
248.2 Кб
Скачать

7.4. Аналіз і доведення теорем

Тепер, коли ми знаємо, як зводити формули числення предика­тів до певної стандартної форми, ми повинні дізнатися, що з ними робити, як і де їх можна застосувати. Цілком очевидно, що, маючи набір тверджень, варто дослідити, які наслідки з них випливають. Нагадаємо, що тверджен­ня, які ми вважаємо істинними, називають аксіомами та гіпотезами, а ті твердження, що з них випливають,— теоремами.

У цьому розділі ми розглянемо на неформальному рівні процес автома­тичного доведення теорем. Як уже зазначалося раніше, звістка про те, що цифрові комп'ютери можуть автоматично доводити теореми, у 60-ті роки спричинила бурхливий сплеск ентузіазму. Перші спроби знайти загаль­ний алгоритм для вирішення задачі автоматизації дедуктивних побудов простежуються в роботах Лейбніца, Пеано, Гільберта. Центральне міс­це серед сучасних методів автоматичного доведення теорем займає ме­тод резолюцій, запропонований Дж. Робінсоном у 1965 р. Використання цього методу виявилося ефективнішим, ніж класичне виведення на осно­ві modus ponens.

Оскільки числення предикатів є алгоритмічно нерозв'язним, метод ре­золюцій дозволяє встановити, що деяка формула є теоремою, якщо вона насправді є теоремою. Для формул, що не є теоремами, метод резолюцій може працювати нескінченно довго. Саме на цій основі з'явилися ідеї, на яких базуються мови логічного програмування. Одним з фундаменталь­них проривів того часу було відкриття Дж. Робінсоном принципу аналізу та його застосування до автоматичного доведення теорем. Аналіз — це правило висновків, як одне твердження може випливати з іншого. Вико­ристовуючи аналітичний принцип, ми можемо на основі аксіом довести теореми стандартним шляхом з наших аксіом. Ми тільки маємо вирішити, до яких тверджень їх застосувати, і відповідний висновок дістанемо авто­матично.

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

Наприклад:

з

злий (Іван);

сумний (іван):-робочий_день (сьогодні), йде_дощ (сьогодні).

та

неприємно (Іван):- злий (Іван), стомлений (Іван). випливає

сумний (Іван)',

неприємно (іван):-робочий_день (сьогодні), йде_дощ (сьогодні), стомлений (Іван).

Це виведення можна інтерпретувати так. Із тверджень "якщо сьогодні будень і йде дощ, то Іван сумний або злий " та "коли Іван злий та стом­лений, тоді йому неприємно " можна вивести твердження "якщо сьогодні робочий_день, або йде дощ, або Іван стомився, тоді він сумний і йому не­приємно

Але насправді не все так просто.

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

ком літералам справа відповідати кільком літералам зліва. Але може так трапитися, що лише один літерал вибрано з кожного пункту. Поглянемо на приклад зі змінними:

студент (fl (Х))\ професор (X):-. професор (Y):- поважати (fl (У), У). поважати (Z, іван):-студент (Z).

Перші дві фрази задають формулу "якщо всі студенти поважають одну людину, то це — професор Третя фраза передає твердження, що всі студенти поважають Івана. Аналіз (7.2) і (7.3) приводить (через "пова­жати") до:

професор (іван):-студент (fl (Іван))

(У в (7.2) зв'язано з "Іван" в (7.3) та Zв (7.3) зв'язано з/7 (У) в (7.2)). Тому ми можемо аналізувати (7.1) і (7.4), що дасть нам

професор (Іван); професор (Іван):-.

Це рівнозначно факту: Іван — професор.

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

Існує така можливість, що ми маємо змогу продовжувати дії аналізу від­носно гіпотез і спостерігати, чи не отримаємо потрібний результат. На жаль, ми не можемо цього гарантувати, навіть якщо те твердження, в якому ми зацікавлені, і справді випливає з тих, що маємо. Наприклад, у попередньо­му прикладі ми не можемо отримати окремий пункт "професор (Іван)", хоча це і логічно. Чи не означає це, що аналіз не є достатньо ефективним засобом для наших цілей? Але це не так. Ми можемо переорієнтувати наші зусилля таким чином, щоб аналіз гарантовано міг вирішувати наші задачі, якщо це взагалі можливо.

Важливою властивістю аналізу є те, що якщо набір пунктів непослідов­ний, то аналіз зможе отримати з них лише порожній пункт

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

(7.4)

Яким чином ця властивість може нам допомогти? Якщо наші гіпотези послідовні, нам потрібно лише додати до них факти заперечення того, що ми хочемо довести, і аналіз видасть нам пусту фразу, якщо наші твердження випливають з гіпотез. Ми називатимемо пункти, які ми додаємо до гіпотез, цільовими твердженнями. Зауважте, що цільові твердження нічим не від­різняються від гіпотез — це такі самі фрази. Отже, якщо ми маємо набір

пунктів А1, А2, ..., An, і задачу показу, що вони непослідовні, тоді ми не знатимемо, що мається на увазі: коли ~ А1 випливає з А2, A3, А4, .. .An, чи коли ~ А2 випливає з А1,АЗ, ...,Ап, чи коли - A3 випливає з А1, А 2, А4, ...,Ап і т. д. Важливо наголосити, яка фраза є цільовим твердженням, оскільки перед аналізом усі пункти рівні.

У прикладі про професора Івана, легко побачити, як можна отримати пусту фразу, якщо ми додамо твердження:

кочастина МОДЕЛІ ПОДАННЯ ЗНАНЬ II І МЕТОДИ 1

ЛОГІЧНОГО ВИВЕДЕННЯ 1

Розділ 4 1

ЗНАННЯ ЯК ІНФОРМАЦІЙНА ОСНОВА ІНТЕЛЕКТУАЛЬНИХ СИСТЕМ 1

Розділ 5 13

СЕМАНТИЧНІ МЕРЕЖІ 13

Розділ 6 23

ФРЕЙМОВІ МОДЕЛІ 23

Розділ 7 31

ЛОГТЧНІ МОДЕЛІ ТА МЕТОД РЕЗОЛЮЦІЙ 31

Розділ 8 57

ПРОДУКЦІЙНІ МОДЕЛІ 57

Аналіз (7.6) і (7.7) дає нам:

Отже, аналіз довів, що Іван є професором.

Завершеність аналізу означає, що, якщо факти випливають з наших гі­потез, ми можемо довести їх вірність через використання аналізу. Коли ми говоримо, що аналіз зможе отримати пусту фразу, ми маємо на увазі, що існує послідовність дій (кожна з яких включає аксіоми чи фрази, виведені в попередніх діях), які закінчуються виведенням специфічної фрази. Хоча аналіз і дозволяє нам отримувати наслідки з двох фраз, але він ніяк не вка­зує на те, де шукати наступні відповідності. Звичайно, якщо ми маємо ба­гато гіпотез, то буде і багато варіантів. І кожна з виведених фраз збільшу­ватиме цю кількість. Більшість з варіантів будуть невірними, і якщо ми не будемо уважними, то витратимо безліч часу на обробку невірних варіан­тів. Можемо навіть просто не знайти вірного варіанта.

Було запропоновано чимало вдосконалень до процесу аналізу з даного приводу. Розглянемо деякі з них. Наприклад, удосконалення для випадку фраз Хорна. Нагадаємо, що фраза Хорна має не більше одного позитивно­го літерала. Тобто можуть існувати два типи фраз Хорна: з одним позитив­ним літерал ом або без жодного позитивного літерала. Ось їх приклади: молодий_спеціаліст (X):- вища_освіта (X), знання_іноз_мови (X). :- молодий_спеціаліст (X).

Насправді, коли ми уявляємо множину фраз Хорна (включаючи цільові твердження), то вони всі, крім однієї, мають бути повними. Будь-яка тео­рема, виражена через хорнівські фрази, може бути доведена лише тоді, ко­ли вона містить тільки одну неповну фразу. Оскільки ми самі вирішуємо, які фрази є метою, ми можемо вважати метою неповну фразу, а всі інші — гіпотезами. Це має природну причину. По-перше, легко побачити, що має бути принаймні одна неповна фраза, щоб задача мала розв'язок. Це випли­ває з того, що результатом аналізу двох повних хорнівських фраз завжди є повна фраза. По-друге, якщо існує кілька неповних фраз у наших аксіомах, то доведення аналізом отримання пустої фрази потребує лише однієї з них.

Спробуємо сформулювати наведені вище міркування у формалізовані- шому вигляді.

Згідно з [179] доведенням теореми називається отримання відпові­ді на запитання: чи випливає логічна формула В із заданого набору фор­мул {Fv ..., FJ. Це еквівалентно доведенню загальнозначимості форму­ли Fv ..., Fn В або суперечливості формули (Fv ..., Fn) ~ В. З практичних міркувань зручніше доводити суперечливість формули (F{, ..., Fn) ~ В, тобто йдеться по суті про доведення "від супротивного".