а одних об'єктів іншими, в тому чи іншому сенсі близькими до вихідних, але простішими) деяких форм логіки можливого за допомогою тризначною логіки. Бінарна логіка з двома значеннями {Л або 0, і І або 1} сама елементарна. Істина і брехня - це дві множини висловлювань, і закони (класичної) логіки стверджують, що будь-яке висловлювання є елемент хоча б одного з цих множин (закон виключення третього) і що ніяке висловлювання не є елементом відразу двох цих множин (закон протиріччя).
Які зміни треба внести в цю теорію, якщо вводяться модальності В«можливоВ» і В«необхідноВ»? Треба розглянути кілька класів висловлювань. Позначимо через N клас В«необхіднихВ» висловлювань, через Р - В«можливихВ», через I - В«неможливихВ» (або В«абсурднихВ») і через С - В«нейтральнихВ» (або В«можливо (випадково) помилковихВ»). Ніяке висловлювання не належить одночасно N і С або I і Р. Далі, клас N міститься в Р, а клас I - у С. Це відображено в законах прямування можливого з необхідного і нейтрального з абсурдного:
будь-яке необхідне вислів можливо;
будь-яке абсурдне висловлювання не є необхідним.
Існують висловлювання, які є можливими і нейтральними одночасно. Їх називають В«проблематичнимиВ». Безліч таких висловлювань позначимо через U. Має місце закон виключення четвертого:
будь-яке висловлювання належить або N, або U, або I.
Подивимося, як цю теорію модальності можна перевести в алгебраїчну форму. Кожному з класів N, U, I відповідає своя інтерпретація: В«необхідноВ», В«проблематичноВ», В«неможливоВ». Візьмемо три символи 2, 1, 0. Ці логічні значення зіставляємо зазначеним інтерпретаціям. Кожному висловом можна приписати логічне значення. Ця тризначна логіка запропонована Лукасевичем. p align="justify"> У логіці Лукасевича кожне висловлювання володіє одним із значень 0, 1 або 2 (інтерпретованих як семантичне значення висловлювання). Семантичні значення можна знаходити, використовуючи таблиці, наведені нижче. Вони задають семантику для апроксимації модальної логіки можливого за допомогою тризначною логіки. Інше опис цієї семантики можливо, але ми не будемо його розглядати. br/>
F GF GF GF GF FF G012012012012020000012222210111011122122121202012222012012
F? F? F000120222
14. Експертні системи. Розробка оболонки
Якщо ми подивимося на правила наших двох маленьких баз знань рис. 14.5 і 14.7, ми відразу побачимо, що вони за своїм змістом еквівалентні правилами Прологу. Однак, з точки зору синтаксису Прологу, ці правила в тому вигляді, як вони написані, відповідають всього лише фактами. Для того, щоб змусити їх працювати, найпростіше, що може прийти в голову, це переписати їх у вигляді справжніх прологовскіх правил. Наприклад:
Тварина це ссавець: -
Тварина має шерсть;
Тварина 'годує дитинчат' молоком.
Тварина це хижак: -
Тварина це ссавець,
Тварина їсть м'ясо.
. . . p align="justify"> Тепер ця програма зможе підтвердити, що тигр на ім'я Пітер - це дійсно тигр, якщо ми додамо в неї деякі з властивостей Пітера (у вигляді прологовскіх фактів):
питер має шерсть.
питер ледачий.
питер великий.
питер має 'рудувато-коричневий колір'.
питер має 'чорні смуги'.
питер їсть м'ясо.
Тоді ми можемо запитати:
? - пітер це тигр.
? - пітер це гепард.
Хоча пролог-система і відповідає на запитання, використовуючи для цього нашу базу знань, не можна сказати, що її поведінка цілком відповідає поведінці експерта. Це відбувається принаймні з двох причин:
(1) Ми не можемо попросити систему пояснити свою відповідь; наприклад, як вона встановила, що Пітер це тигр, і чому Пітер це не гепард.
(2) Перш, ніж поставити питання, потрібно ввести в систему всю необхідну інформацію (у вигляді прологовскіх фактів). Але тоді користувач, можливо, введе якусь зайву інформацію (як у нашому прикладі) або ж упустить якусь інформацію, що має вирішальне значення. У першому випадку буде пророблена непотрібна робота, а в другому - система буде давати невірні відповіді. p align="justify"> Для того, щоб виправити ці два недоліки, ми потребуємо більш досконалому способі взаємодії між користувачем і системою під час і після заве...