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

7.3. Фразова форма запису логічних формул

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

Дамо неформальний опис такого переведення, що має шість основних дій. Дія 1. Вилучення імплікацій і тотожностей.

Вилучення імплікацій і тотожностей можна провести на основі формул, наведених у п. 7.2. Наприклад, формула

all (X, чоловік (X) —> людина (X)) перетвориться на

all (X, ~ чоловік (X) v людина (X)). Дія 2. Втягнення заперечення всередину.

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

~ (людина (Іван) & живий (Іван)) переводиться у

  • (людина (Іван) v ~ живий (Іван))

та

  • all (Z люди (У)) перетворюється на

exists (Y, ~ люди (У)).

Можливість цієї дії зумовлена такими рівностями: ~ (а 8сЬ) означає те саме, що й ( ~ a) v b),

  • exists (и, г) означає те саме, що й all (и, ~ г), ~ all (и, г) означає те саме, що й exists (и, - г).

Після другої дії у наших формулах залишаться лише заперечення, при­в'язані до конкретних формул. Часткові твердження з або без попереду ми називаємо точними. У наступних кількох діях ми будемо поводитися з точними твердженнями як з простими одиницями. Дія 3. Заміна змінних.

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

exists (X, чоловік (X), & батько (.X, Іван)) перетворюється за допомогою сколемізації на

чоловік (gl) & батько (gl, Іван) де "gl" — деяка нова константа, що ніде раніше не використовувалась. Константа "gl" представляє певного чоловіка (чоловік), чиїм батьком (батько) був Іван (Іван). Тут важливим є застосування символу, який рані­ше ніде не вживався, оскільки твердження "exists " не каже, що певна лю­дина є сином Івана, а лише стверджує, що є така людина. Може виявитись, що "gl" пов'язана з якимось іншим константним символом, але ця інфор­мація не надається даним твердженням.

Коли у формулі використовуються квантори узагальнення, сколеміза- ція стає не такою простою. Наприклад, якщо ми перетворимо

all (X, людина (X) -» exists (Y, мати (X\ Y))) ("кожна людина має матір") на

all (X, людина (X) -> мати (X, g2)), то це б означало, що всі люди мають одну матір — "g2 Коли змінні зв'я­зані квантором узагальнення, їх перетворюють на функціональні символи, щоб показати, наскільки "exists " залежить від того, з чим зв'язана змінна. Тому останній приклад потрібно перетворити таким чином: all (X, людина (X) -> мати (X, g2 (X))).

У даному разі "g2" позначає функціональний символ, який за ім'ям людини видасть вам ім'я її матері.

Дія 4. Переміщення квантора узагальнення назовні. Ця дія дуже проста. Квантор узагальнення переміщується назовні, при цьому формула зберігає свій попередній зміст. Наприклад,

all (X, чоловік (X) —» all (Y, жінка (У) —» подобається (X, У))) перетворюється на

all (X, all (Y, чоловік (X) —> (жінка (Y) подобається (X У)))) Оскільки кожна змінна тепер зв'язана квантором узагальнення ззовні формули, то квантори узагальнення більше не несуть додаткової інформа­ції. Отже, можна скоротити формули, опустивши ці квантори. Ми просто мусимо пам'ятати, що кожна змінна зв'язана кванторами узагальнення, які ми опустили.

Дія 5. Перенесення "&" через "v".

Логічна формула повинна бути зведена до особливої форми — нормаль­ної кон'юнктивної формули, в якій кон'юнкції не з'являються посеред диз'юнкцій. Для цього існують два правила:

(А & В) v С дорівнює (A v В) & (В v С), A v &Q дорівнює (AvB)8c(Av С). Наприклад, фразу

вихідний_день (X) v (працювати (Іван, X) & (злий (Іван) v сумний (Іван))) можна трактувати так: "для будь-якого X, Хможе бути вихідним днем, або Іван може працювати вХі бути злим або сумним Останню можна пере­творити на фразу

(вихідний_день (X) v (працювати (Іван, X) & (вихідний_день (X) v (злим (/вя«) v сумний (Іван)))) "для всіх ЛГ, по-перше, X або вихідний, або Іван працює вХ, по-друге, або X вихідний, або Іван сумний та злий)".

Дія 6. Перехід до фраз.

Тепер наша формула є набором атомарних формул, розділених "v" або пов'язаних "&". Якщо не брати до уваги "v", в нас може вийти таке:

(А 8с В) 8с (С 8с (D 8с £)), де змінні можуть заміщати складні твердження, але без "&" всередині. По-перше, тепер дужки не потрібні, оскільки для "&" вони не мають зна­чення, і наш вираз еквівалентний до A8cB8cC8cD8cE.

По-друге, порядок теж не має значення. По-третє, нам не потрібні і "&", оскільки ми знаємо, що наша формула — це послідовність тверджень, з'єд­наних "&", і останні можна опустити, сказавши, що це є множина {А, В, С, D, Е}. Кажучи, що це множина, ми наголошуємо на тому, що порядок не суттєвий. Елементи цієї множини називаються фразами. Отже, будь-яка формула предикатного числення еквівалентна (в певному розумінні) до множини фраз.

Повернемося до самої фрази. Оскільки елементами фрази є або точні, або розділені точно "v" твердження, то їх загальний вигляд може набувати такого вигляду:

((Vv W) vX) v(YvZ), де змінні є точними. Тому можна знову перейти до множини розділених точних фраз {V, W, X, V, Z}.

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

Негативна або позитивна атомарна формула називається літералом. Кожна формула — множина літералів, які з'єднані символом v. Негативні і позитивні літерали відповідно групуються. Схематично фраза має такий вигляд:

Рх vP2v ...PnvN{ vN2v...Nm9 де Pv ...,Р„ — позитивні літерали, aiV,, ..Nm — негативні. З іншого бо- ? ку, фразу можна розглядати як узагальнення поняття імплікації. Дійсно,

якщо А і В атомарні формули, тоді формулу А —» В можна переписати і в такому еквівалентному вигляді: ~ A v В. Звідси отримаємо фразову фор­мулу В v ~ А.

Фраза має таку семантику. Всі позитивні атомарні формули виступа­ють у ролі альтернативних висновків, а негативні є необхідними умовами. Наприклад, AvBv~Cv~D зазначає, що А і В будуть істинними тоді і тільки тоді, коли є істинними С і D.

Елементарна фраза має тільки один літерал. Теорія записується у ви­гляді множини фраз, які неявно з'єднані між собою символом 8с. У літе­ратурі зустрічається і друга форма запису фрази за допомогою зворотної стрілки (читається як "імплікується"). Так, остання фраза може мати ви­гляд А, В <— С,~ D.

Для скорочення об'ємів обчислень на практиці застосовують спеціаль­ний клас фраз — фрази Хорна. Аналогічно, фразу Хорна можна записати також кількома способами. Наприклад, твердження

Av~Bv~Cv~D еквівалентне А <- В, C,D

і в мовах логічного програмування набуває вигляду А:- В, С, D.

Розглянемо ще один приклад.

Нехай маємо формулу

(особа (петро) & особа (Іван)) & ((особа (X) v ~ мати (X У)) v ~ особа (У)), яка після відповідних дій перетворюється на:

особа (петро):-.

особа (Іван):-.

особа (Х):-мати (X, У), особа (У).

Останній запис уже нагадує текст прологівської програми.