- •2. Формальні методи у системах штучного інтелекту 21
 - •3. Зображення знань. Мова програмування Пролог 55
 - •4. Задачі класифікації, експертні системи 99
 - •5. Інтелектуальні пакети 110
 - •1.1.Основні поняття та історія розвитку штучного інтелекту
 - •1.2. Галузі застосування штучного інтелекту
 - •Ведення ігор
 - •Автоматичні міркування і доведення теорем
 - •Експертні системи
 - •Розуміння природних мов та семантичне моделювання
 - •Моделювання роботи людського інтелекту
 - •Планування та робототехніка
 - •Мови та середовища ші
 - •Машинне навчання
 - •Альтернативні уявлення: нейронні мережі та генетичні алгоритми
 - •Штучний інтелект і філософія
 - •Контрольні питання
 - •2. Формальні методи у системах штучного інтелекту
 - •2.1. Основні поняття
 - •2.2. Основні закони правильного мислення
 - •2.3. Класифікація міркувань
 - •Дедуктивні міркування. Основні ідеї та складні міркування
 - •Безпосередні розумові висновки
 - •2.4.Опосередковані висновки
 - •Прості силогізми, складні розумові висновки
 - •2.5. Індуктивні міркування та висновки за аналогією
 - •2.6 Числення висловлювань
 - •2.7. Нечіткі множини та нечітка логіка
 - •2.8. Предикати. Формальні теорії
 - •2.9. Процедура резолюції
 - •2.10. Формальні граматики. Теорія алгоритмів
 - •2.11. Продукції як алгоритмічна система. Ігри та рішення
 - •2.12. Задачі та методи дискретної оптимізації
 - •Динамічне програмування
 - •Метод віток та меж
 - •2.13. Багатокритеріальні задачі
 - •2.14. Контрольні запитання
 - •3. Зображення знань. Мова програмування Пролог
 - •3.1. Ціль та методи зображення знань
 - •3.2. Декларативне та процедурне зображення знань. Семантичні мережі
 - •3.3. Фрейми та продукційні системи
 - •3.4. Програмування мовою Пролог
 - •Вступ до прологу. Загальна характеристика та основні поняття
 - •Структура програми, домени, предикати та твердження
 - •3.5. Управління обчисленнями у мові Пролог Зіставлення та повернення
 - •Відтинання
 - •Рекурсивні обчислення, обчислення факторіалу, знаходження квадратного кореня методом ітерацій
 - •Списки у мові Пролог, бінарні дерева
 - •3.6. Застосування Прологу, практична робота з використанням мови Пролог Застосування Прологу у програмуванні, системах ші, базах даних, у математиці
 - •Практична робота на мові Пролог, основні інструменти та методика роботи
 - •3.7. Контрольні запитання
 - •4. Задачі класифікації, експертні системи
 - •4.1. Особливості експертних систем, приклади та їх розробка
 - •4.2. Розробка ес, мови та оболонки, набуття знань та приклад сценарію
 - •4.3. Контрольні питання
 - •5. Інтелектуальні пакети
 - •5.1. Обчислювальні моделі, задачі та синтез програм
 - •5.2. Загальна характеристика та меню системи тк Solver. Зображення обчислювальної моделі
 - •5.3.Мова специфікації обчислювальних задач. Обчислювальна модель в tks
 - •5.4. Складання обчислювальних моделей і задач, практична робота в tks
 - •5.5. Завдання для самостійної роботи
 - •5.6. Контрольні запитання
 - •Додатки Додаток 1 Операції над нечіткими числами на основі принципу узагальнення. Використання в теорії штучного інтелекту
 - •Література
 
3.2. Декларативне та процедурне зображення знань. Семантичні мережі
Різниця між декларативним та процедурним зображеннями (ДЗб та ПЗб) можна виразити як різницю між „знати що” та „знати як”. ПЗб базується на посиланні, що знання про предметну галузь є вкладеним у прикладні програми, тобто у описові способу використання тих чи інших типових сутностей. За ДЗб використовуються: деяка універсальна множина процедур, що обробляє факти будь-якого типу, та специфічні факти часткової галузі знань. Основна перевага ДЗб полягає в тому, що немає потреби вказувати спосіб використання конкретних фрагментів знання (приклад – мова SQL). Це забезпечує гнучкість та економічність ДЗб, яке є близьким до природного мислення, оскільки людиною часто управляють дані: за деяк „вступною” вона може перервати розпочату справу і, на відміну від машини, забути повернутися до неї. Модифікація системи ШІ в межах ДЗб здійснюється простіше. З іншого боку, існують суб’єкти, які зручніше зображувати у процедурній формі. Переваги розглянутих способів об’єднуються в змішаних формалізмах (декларативне зображення з приєднаними процедурами чи ПЗб у вигляді модулів з декларативними зразками).
Серед мов програмування систем ШІ вважаються кращими ті, які підтримують об’єктно-орієнтоване програмування та поняття класу. Класифікацію можна відобразити у певному полі файлової таблиці. Явна перевага будь-якої класифікації полягає в тому, що знімається проблема нестачі пам’яті – характеристики класу достатньо запам’ятати один раз. Розробники систем ШІ частіше за інші використовують мови Smalltalk та С++.
В описі процесу обробки знань можна використовувати декларативні (класи, відношення) та процедурні (правила, структури керування) знання. Межа між ними є умовною: чим менше знань ми декларуємо, тим більше процедурних знань нам потрібно, і навпаки. Правила дають можливість визначити, як вивести нові відмінні особливості класу чи відношення для об’єктів, початково не поділених на класи. Окрім того, означення правила можна розглядати як декларативне знання. Процедури породжують нові екземпляри відношень на базі тих, що вже існують. Дія процедури залежить від попередньої класифікації (число записів, припустимі значення тощо).
Процедура представляє собою набір правил типу:
якщо < умова > то < дія >.
Структура керування визначає, яке само правило треба застосувати як наступне. Зазвичай правила перебираються у певному порядку, доти, поки не зустрінеться істинна умова. Прикладом такого правила може бути програма вибору максимального та мінімального елементу масиву. Доцільно та зручно групувати набори правил, враховуючи контекст і розв’язувати спрацювання тільки в цьому контексті. Наприклад, коли класифікують тварину немає сенсу перевіряти правила, що стосуються риб, якщо відомо, що вона покрита пір’ям. Фактично це означає перенесення частини декларативних знань до керуючої структури.
У роботі з нечіткими знаннями слід враховувати кореляцію ознак. Наприклад, професія „зварювальник” скоріше за все (але не однозначно) притаманна об’єктові чоловічої статі, а „бухгалтер” – жіночої. Відповідно можна визначити ступінь належності об’єкта до кожної із статей.
Семантичні мережі (СМ) історично є першим класом формалізації зображення знань. Їх основна ідея полягає в аналізуванні предметної галузі (її моделі) як сукупності об’єктів та відношень між ними. Об’єкти зображуються іменованими вершинами, а зв’язки – напрямленими іменованими дугами. Імена вершин та мітки на дугах збігаються з термінами професійної мови переметної галузі. Об’єктами можуть бути поняття, події, процеси, властивості класів. Параграфи мережі виражають значною мірою часткові твердження. Між двома об’єктами може існувати родовий (та зворотний щодо нього виглядовий) зв’язок. Оскільки всі властивості родового поняття притаманні також виглядовому (наслідування властивостей), їх не потрібно визначати для кожного виглядового об’єкта, що виключає дублювання інформації. Конкретний об’єкт може належати кільком узагальненим об’єктам предметної галузі. Між конкретним та агрегатним об’єктами може існувати відношення входження.
У семантичних мережах структура предметної галузі зображується орієнтованим графом, вершини якого позначають сутності та поняття предметної галузі, а дуги задають відношення між ними. Вершини та дуги можуть доповнюватися мнемонічними помітками – словами природної мови. Основними зв’язками для СМ, за допомогою яких формуються поняття є:
структурні – клас, до якого належить дане поняття;
відмінні властивості, що виділяють поняття з усіх інших понять цього класу;
приклади даного поняття;
функціональні зв’язки (“виконує”, “впливає”);
кількісні (“більше”, “менше”, “дорівнює”);
просторові (“близько”, “далеко”, “за”, “перед”, “всередині”);
часові (“раніше”, “пізніше”, “під час”);
атрибутивні (“має властивість”, “має значення”).
На самій СМ належність елемента певному класу чи частини цілому передається за допомогою слів-зв’язок “це є” та “частина від”, відповідно. Властивості описуються словами-зв’язками “є”, “має”. Відбір понять та слів-зв’язок визначається предметною галуззю та призначенням системи ШІ. Семантичні мережі можуть мати складну і важку для нефахівця структуру. На рис. 6 показано частково розгорнуту мережу поняття “Персональна ЕОМ”.
Рис. 6 Семантична мережа “ПЕОМ”
Потужним засобом роботи із знаннями є порівняння з прикладом (Query by Example). Процедура, що визначає ціль та вміст запиту до бази знань (БЗ), описується побудованою аналогічно до БЗ семантичною мережею – у термінах тих самих об’єктів та відношень. Пошук відповіді здійснюється порівнянням прикладу з фрагментами СМ. Сутність розуміння тексту полягає в збудженні цим текстом усіх вузлів СМ, безпосередньо пов’язаних із поняттями та відношеннями, що використовуються у тексті. Таке збудження має викликати слабше збудження суміжних з ними вузлів і т.д. За умови виявлення збігу (що трактується достатньо широко) вважається знайденою одна з можливих відповідей на запит. Необхідність пошуку інших відповідей визначається у самому запиті.
За допомогою СМ можна описувати події та дії. З цією метою використовуються спеціальні типи відношень, що називаються відмінками: агент – причина дії, об’єкт – предмет, що піддається дії; адресат – особа, яка користується результатом дії чи відчуває цей результат; інші відмінки – типу час, місце, інструмент, мета, якість, кількість та ін. Зведення “відмінків” дає змогу перейти від синтаксичної структури речення до його змісту.
У СМ понятійна структура та система залежностей подані однорідно, тому зображення у них, зокрема, математичних співвідношень не є ефективним.
