Математика в Internet |
Для одномісних предикатів його можна довести через процедуру конкретизації:
;
;
;
;
;
;
;
.
.
З того, що в дужках замість одномісних предикатів з'являються багатомісні
предикати, суть тотожності не зміниться. Вона справедлива в силу законів
логіки і принципу суперпозиції за яким: заміна якої-небудь константи іншою
або групою констант не впливає на істинність тотожності.
Основні правила доведення алгебри предикатів.
1. Правило універсальної конкретизації.
, якщо
вільне для
в
.
2. Правило екзинстенціональної конкретизації.
.
3. Правило екзинстенціонального узагальнення.
, де
вільне для
в
.
4. Правило всезагальності.
.
5. Правило існування.
.
6. Правило узагальнення.
Якщо то, то
,
якщо
не входить в жодну формулу з
.
Розглянемо приклади.
Приклад 15. Нехай дана предикатна клауза:
.
Позначимо
;
;
.
Тоді.
Якщо транзитивність справджується, то і предикатна клауза також.
Приклад 16. Довести істинність клаузи:
.
Процедура ідентифікації приводить до
;
;
;
;
;
,
;
;
.
Звідки слідує істинність вихідної клаузи.
Приклад 17. Довільна семантика логіки висловлювань може бути виражена в предикатній формі. Дана проста легенда: Якщо Ваня ходить всюди за Ніною, а Ніна знаходиться в кіно, то де буде знаходитися Ваня?
=`"
знаходиться там, де
".
Складемо клаузу:
.
Тобто, треба довести наступне речення: чи існує таке місце, де
знаходився б Ваня.
Перетворимо нашу клаузу у протиріччя:
.
Квантори всезагальності опускаємо, бо відсутні квантори існування.
Доведення оформимо у вигляді дерева (рис.9)
Рис.9
При конкретизації , доводиться, що дійсно існує місце, в якому знаходиться Ваня.
Зауважимо, що метод резолюції можна модифікувати так, щоб доведення дало відповідь у предикатній формі: "Ваня знаходиться в кіно". Це можливо тоді, коли до того, що треба довести дописати диз'юнкцію з протилежним твердженням, утворивши таким чином тавтологію:
.
Тоді дерево логічного висновку буде наступним (рис. 10).
Рис.10
Більшість задач з використанням предикатів носить пошуковий характер. Пошукові задачі реалізуються мовою логічного програмування - ПРОЛОГ. Зупинимося на основних управляючих структурах та функціональних елементах цієї мови. Оскільки логіка висловлювань працює з правильно побудованими реченнями, існує можливість змішування об'єктивних та суб'єктивних речень, а також висловлювань, взятих з різних ієрархічних рівнів предметної області. Щоб обійти таку помилку, задачу, яку доводять, оформляють в виді структури деревовидної форми.
За корінь дерева приймається деяка ціль, істинність якої треба
довести.
Вона є заголовком правила, яке являє собою хорнівську клаузу,
клаузи записують в оберненому порядку.
.
Кожне - підціль основної ціліі залежить в свою чергу, від інших
правил
.
;
.
Взагалі в ролі посилок можуть бути не тільки клаузи, але й елементарні
висловлювання - факти. В свою чергузнову можуть бути
заголовками правил чи фактами. Так утворюється ієрархічна структура
деревовидної форми. В логічних деревах не виникають парадокси.
В мові ПРОЛОГ реалізована процедура уніфікації, з допомогою якої проводиться порівняння цілі з правилами, а правила cпівставляться з фактами. В результаті уніфікації змінним присвоюються конкретні значення так, що предикат цілі стає істинним фактом в випадку сприятливого виходу. Для розуміння утворення уніфікації розглянемо конкретний приклад програми.
Приклад 18. Нехай задана легенда.
Василя цікавлять книги, комп'ютери та автомобілі. Михайла цікавить дещо, що цікавить Василя, але це є технікою і це вироблено в Японії. Відомо, що комп'ютери та автомобілі - це техніка. Крім того відомо, що комп'ютери випускають в Америці, а автомобілі - Америці і Японії.
Запитання: "що цікавить Михайла?".
Щоб краще скористуватися програмою, всі предикати та конкретні значення змінних не кодуються окремими буквами, а приводяться на словах. Зліва від тексту програми приведемо символьні вирази, щоб в аналітичній формі продемонструвати метод резолюцій, який лежить в основі інтерпретації ПРОЛОГу. При цьому всі склеювання проводяться з квантором всезагальності, але сам квантор не вказується.
Програма.
1. Інтерес(Василь,комп'ютери) .
2. Інтерес(Василь,книги) .
3. Інтерес(Василь,автомобілі) .
4. Інтерес(Михайло,)
.
5.(інтерес(Василь,
)
.
6. Техніка(),
.
7. Виготовлено(,Японія)
.
8. Техніка(комп'ютери) .
9. Техніка(автомобілі) .
10. Виготовлено(комп'ютери,Америка) .
11. Виготовлено(автомобілі,Америка) .
12. Виготовлено(автомобілі,Японія) .
Ціль: 13. Інтерес(Михайло,)
Програма дає можливість скласти протиріччя, яке розв'язується в рамках
методу резолюції:
.
Нуль можна отримати, коли. Тоді,
нейтралізується
предикатами 3,9,13.
Пошук значенняпроходить через процедуру уніфікації, яку можна виділити шляхом трасування програми (покрокового протоколювання процесу виконання програми).
Позначимо:B - виклик нового предикату, П - повторний виклик предикату, У - успішне завершення процедури уніфікації, тобто викликаний предикат відповідає якому-небудь факту, Н - неуспішне завершення уніфікації, У - вказує на те, що існує ще один факт з уніфікацією, яка підходить. Символ підкреслення на місці х називається анонімною змінною і повністю замінює х при трасуванні програми. Рядок трасування закінчується числом, яке відповідає номеру роздруківки програми.
Приведемо трасування програми.
1. В: ціль ( ) - 13.
2. В: інтерес (Михайло, -) - 1.
3. П: інтерес (Михайло, -) - 2.
4. П: інтерес (Михайло, -) - 3.
5. У: інтерес (Михайло, -) - 4.
6. В: інтерес (Василь -) - 5.
7. У: інтерес (Василь, комп'ютери ) - 1y.
8. В: техніка (комп'ютери) - 6.
9. У: техніка (комп'ютери) - 8.
10. В: виготовлено (комп'ютери, Японія) - 7.
11. П: виготовлено (комп'ютери, Японія) - 10.
12. П: виготовлено (комп'ютери, Японія) - 11.
13. Н: виготовлено (комп'ютери, Японія) - 12.
14. П: інтерес (Василь, -) - 5.
15. У: інтерес (Василь, книги) - 2у.
16. В: техніка (книги) - 6.
17. П: техніка (книги) - 8.
18. Н: техніка (книги) - 9.
19. П: інтерес (Василь, -) - 5.
20. У: інтерес (Василь, автомобілі) - 3.
21. В: техніка (автомобілі) - 6.
22. П: техніка (автомобілі) - 8.
23. У: техніка (автомобілі) - 9.
24. В: виготовлено (автомобілі, Японія) - 7.
25. П: виготовлено (автомобілі, Японія) - 10.
26. П: виготовлено (автомобілі, Японія) - 11.
27. У: виготовлено (автомобілі, Японія) - 12.
28. У: Ціль ( ) - 13.
Для відповіді на запитання "Що цікавить Михайла?", або в предикатній формі - інтерес Михайла, ПРОЛОГ - система шукає факти і заголовки правил, які зіставляються з ціллю. Перші три факти не відповідають цілі, далі слідує правило, заголовок якого замінюється трьома підцілями. В рядку 6 викликається підціль, потім ПРОЛОГ - система повертається на початок програми, де її чекає "успіх". Виставляється показник "у", до якого система повернеться у випадку "неуспіху", який може з'явитися в іншому місці програми. В рядку 8 викликається виклик другої підцілі - техніка (комп'ютери), для яких знаходиться факт (рядок 9). Проте для третьої підцілі (комп'ютери, Японія) - потрібного факту не має (рядок 13). Тоді змінна х звільнюється від своєї конкретизації (комп'ютери) і приймає нове значення "книги". Ця конкретизація не задовольняє другу підціль (рядок 18). Змінна знову звільнюється і приймає значення "автомобілі". При цій конкретизації задовольняються всі три підцілі, тобто пошук закінчується успіхом, інтерес (Михайло, автомобілі) є тим конкретизованим предикатом, при якому забезпечена істинність клаузи.
Граф пошуку цілі "інтерес (Михайло,) зображений на рис.11.
Рис.11.
Бінарне дерево отримано в результаті підстановок предметних констант на місце
змінних, правила замінювалися фактами, а ціль - підцілями.
ЗМІСТ |