- •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Л. Логічні побудови та логічні моделі
Поняття "логіка" має глибокі філософські корені. Для теорії і практики штучного інтелекту особливе значення має таке питання: яким чином можна формалізувати логічні побудови так, щоб вони могли здійснюватися автоматично, без участі людини.
Як уже зазначалося, логічне виведення за дедукцією (від загальних правил до часткових наслідків) є одним з основних механізмів мислення, до того ж цілком бездоганним з погляду логіки. Саме цей вид логічного виведення найбільш вивчений і найкраще піддається формалізації [129,144,167, 172, 272].
Можна розглядати, як мінімум, дві задачі пов'язаних з автоматизацією дедуктивних побудов:
■ задача виведення наслідків, яка формулюється так: знайти всі вірно побудовані формули, які можна логічним шляхом вивести з аксіом на основі правил виведення; або, у практичнішій інтерпретації — знайти всі наслідки із заданих фактів;
■ задача перевірки справедливості даного твердження. Часто вона трактується як задача автоматичного доведення теорем і формулюється таким чином. Дана деяка теорія (логічна модель); потрібно встановити, чи є певне твердження теоремою, тобто чи можна його вивести з аксіом даної теорії. Автоматизація дедуктивних побудов знаходить широке практичне застосування, наприклад, в експертних системах. Як ще один приклад можна згадати програмні системи, які аналізують математичні тексти, написані спрощеною математичною мовою, та перевіряють правильність доведень, що містяться у цих текстах.
Механізм автоматичного доведення теорем було покладено в основу однієї з основних парадигм сучасного програмування —логічного програмування. Програма розглядається як набір логічних формул разом з теоремою, що має бути доведена. Найвідомішим представником логічного програмування є мова Пролог [26, 172, 292].
Логічні моделі є одним з основних засобів задання знань. Позитивною характеристикою логічних моделей виступає однозначність теоретичного обґрунтування і можливість реалізації формально точних логічних побудов; недоліком — формальний процедурний стиль мислення. Людська логіка — інтелектуальна модель з нечіткою структурою. У цьому полягає її відмінність від формальної логіки.
' • Логічною моделлю називається формальна система, що задається \ четвіркою <Т, Р, А, В>. Тут Т — множина базових елементів (алфа- - віт), Р — множина синтаксичних правил, на основі яких конструюються правильно побудовані формули; А — множина аксіом, тобто формул, які приймаються за істинні, В — множина правил виведення.
У рамках логічної моделі істинному твердженню відповідає теорема, тобто правильно побудована формула, яка може бути виведена з аксіом шляхом скінченного числа застосувань правил виведення.
Логічні моделі та продукційні системи (розд. 8) основний акцент роблять саме на дедуктивному логічному виведенні.
У найтиповішому випадку логічна модель задання знань базується на формалізмах логіки предикатів першого порядку.
7.2. Короткий вступ до числення предикатів
Предикатом називається деяка логічна функція від довільного числа аргументів, яка приймає одне з двох можливих значень — "істина " або "хибність ". Предикат можна розуміти як певне твердження, істинність якого залежить від змінних — об'єктів, про які йдеться в цьому твердженні. Як приклад можна навести фразу "Xбільше за 2 Цей предикат є функцією від аргументу X і набуває значення "істина ", наприклад, при Х= З, і "хибність " при X = 1.
Логіку предикатів деякою мірою можна вважати спеціальним математичним апаратом формалізації людського мислення. Тому визнається,
що мови програмування логічного типу є найзручнішими для роботи з базами знань.
Числення предикатів використовує такі основні елементи:
константи (константні терми) с,, с2, ...;
змінні (змінні терми) х,,х2, ...;
функціональні літери/,,/2,
предикатні літерирх,р2,
логічні символи ~> , <-», &, v, V, 3;
спеціальний символ □.
Елементарне твердження складається з предиката і зв'язаних з ним тер- мів. Складні твердження будуються з елементарних за допомогою логічних зв'язок. Серед них можна виділити логічні зв'язки: "і" (and, &), "або " (or, v), "ні" (not, ~) та імплікацію (—>). Імплікація посідає особливе місце, оскільки вона використовується для побудови правил виведення і читається "якщо ..., тоді ...".
Наступний перелік містить опис зв'язків, які використовуються в логіці, та їх змістовних інтерпретацій. Тут а та Ь означають будь-які твердження.
Зв'язок |
Запис |
Інтерпретація |
Заперечення |
~ а |
"не є а" |
Кон'юнкція |
а&Ь |
"а та b" |
Диз'юнкція |
a v b |
"а або b" |
Імплікація |
|
"з а випливає Ьп |
Тотожність (еквівалентність, рівність) |
a<r*b |
"а еквівалентне Ь" |
Наприклад, запис: чоловік (женя) v жінка (женя) є однією з формалізацій запису твердження, що людина Женя може бути або чоловіком, або жінкою. Аналогічно,
чоловік (X) —> людина (X) означає, що якщо дехто на ім'я Хє чоловіком, то він є і людиною. Для імплікації та тотожності справедливі такі твердження:
а -» b дорівнює ( ~ a) v b, а <-> b дорівнює (а & b) v (~ а & - Ь), a<r±b дорівнює (а -» b) & (Ь -» а).
З кожним предикатом може бути пов'язаний квантор — елемент, який визначає, за яких умов предикат перетворюється на істинне висловлювання. Розрізняють квантор узагальнення (V) і квантор існування (3).
Якщо и позначає змінну, аг — твердження, то запис Vw г означає, що "г справджується для всіх и ", а запис 3иг означає, що "існує и, для якої г справджується". Перший квантор називають квантором узагальнення, оскільки кажуть про будь-що у всесвіті ("для будь-якого и, ... "). Для зручності запису позначатимемо його all. Другий називається квантором існування, оскільки вказує на існування деяких об'єктів {"існує и таке, що ... "). Для зручності запису його позначатимемо exists. Ось приклади використання цих кванторів: All (X, чоловік (X) -» людина (ЛГ)) означає, що для будь-якої змінної X, якщо вона означає чоловіка, то означатиме і людину також, або ж для будь-якого X, якщо X— чоловік, то X— людина; або ж: всі чоловіки — люди. За тим самим принципом: exists (Z, батько (Іван, Z) & жінка (Z)) означає, що існує певний об'єкт, що може бути позначений змінною Z. При цьому Іван є батьком Z і Z — жінка. Ми можемо прочитати це таким чином: існує Zтаке, що Іван є батьком ZiZ — жінка; або: Іван має дочку.
У логіці предикатів елементарним об'єктом, який має значення "істина", є атомарна формула (літерал). Атомарна формула містить символьні позначення предиката і термів, які відіграють роль аргументів цього предиката. Узагальнено позначення предиката є ім'ям відношення, яке існує між аргументами.
Атомарна формула записується як позначення предиката і має такий вигляд: Р (/і, t2, t„),
де Р — позначення предиката, a t\, t2, ..., t„ — терми. Число термів для кожного предиката фіксоване і називається його арніс- тю. Терми визначаються так:
константний терм — терм;
змінний терм — терм;
якщо арність функціональної літери/є я, a tu t2, ...,tn — терми, тоді /Оь t2, ..tn) також терм.
Вірно побудована формула отримується в результаті комбінування атомарних формул за допомогою логічних зв'язок.
Символ □ позначає хибну замкнуту формулу і визначає поняття "протиріччя". Так, формула Л -> □ означає хибність А, вона еквівалентна формулі ~ А.
Серед формул можна виокремити спеціальний клас формул: тотожньо істинні формули, які називають тавтологіями. Приклад тавтології:
Літерал називається позитивним, якщо він не стоїть під знаком заперечення.
Літерал називається негативним, якщо він стоїть під знаком заперечення.
8 Диз'юнктом (або фразою теорії) називється диз'юнкція деякої кількості атомарних формул.
У теорії і практиці автоматичного доведення теорем найвживанішими є фрази спеціального типу, які називаються фразами Хорна (або хорнів- ськими диз'юнктами).
І Фразою Хорна називається диз 'юнкція довільної кількості атомарних •: формул, з яких позитивною є не більше ніж одна (тобто у фразі Хорна лише одна атомарна формула може не стояти під знаком заперечення). Фрази Хорна по суті є імплікаціями. Справді, розглянемо фразу ~Av~Bv~CvD (кожний з літералів А, В, С, D може залежати від довільної кількості констант і змінних, тут це несуттєво). Усі літерали, крім Д є негативними, отже, дана фраза являє собою фразу Хорна. Але відповідно до правил де Моргана вона еквівалентна фразі ~ (ABC) v D. А це, в свою чергу, є іншою формою запису імплікації (твердження D випливає з кон'юнкції тверджень А, В, Q.
Для конкретних застосувань іноді потрібно привести логічні формули до спеціального вигляду. Прикладом може послужити пренексна нормаль- на форма.
Пренексною нормальною формою називається запис логічної форму- \ лиу вигляді:
^ К\Х\ К2х2... К„хп М,
't де Кі — один з кванторів (існування чи узагальнення), М — деяка кон 'юнктивна нормальна форма, тобто кон'юнкція деякої кількості диз'юнктів.
Пренексну нормальну форму легко побудувати шляхом тотожних перетворень логічних формул.
Після отримання пренексної нормальної форми необхідно усунути у ній квантори існування та узагальнення. Перший усувається зі збереженням несуперечливості формули шляхом введення так званих констант Ско- лема і функцій Сколема. Розглянемо два приклади, які пояснюють суть методу.
Приклад 7.1. Нехай маємо формулу Зх: Р (х). По суті це означає, що можна вказати деяку предметну константу с, невизначену, для якої твердження Р (с) є істинним. Тоді квантор існування усувається явним введенням цієї предметної константи. Таким чином, здійснюється перехід від формули Зх: Р (х) до формули Р (с). Константа с називається константою Сколема.
Приклад 7.2. Нехай маємо формулу У у Зх: Р (х, у). Тут квантор існування перебуває в області дії квантора узагальнення, і процедура дещо ускладнюється. Знову ж таки ми можемо вказати деякий елемент с, для якого твердження Р (с, у) є істинним, але тепер с залежить від змінної у. Тому від формули Vу Зх: Р (х, у) можна перейти до формули У у Р (h (у), у). Тут h (у) — деяка функція, в цілому невизначена. Вона має назву функція Сколема.
Квантори узагальнення усуваються механічно на основі стандартної домовленості: вважається, що якщо фраза залежить від деяких змінних, то всі вони зв'язані квантором узагальнення. Наприклад, якщо x,y,z — змінні, то від формули Vx \/у Vz Р (х, у, z) здійснюється перехід до формули P(x,y,Z).
Для детальнішого ознайомлення з основами числення предикатів рекомендуємо звернутися до відповідного підручника з математичної логіки, наприклад [112, 179].
