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

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].