Posibniki.com.ua Інформатика Прикладні системи штучного інтелекту Тема 6. ЗАСОБИ ДЛЯ ПОДАННЯ Й ОБРОБКИ МОДЕЛЕЙ ЗНАНЬ У ПСШІ


< Попередня  Змiст  Наступна >

Тема 6. ЗАСОБИ ДЛЯ ПОДАННЯ Й ОБРОБКИ МОДЕЛЕЙ ЗНАНЬ У ПСШІ


ПЕРЕЛІК ЗНАНЬ ТА НАВИЧОК

Після опанування теми студент має знати:

• процес створення та використання семантичних мереж;

• логічні моделі;

• переваги та недоліки логічного підходу;

• фреймові моделі та їх реалізацію.

Має вміти:

• аналізувати приклад моделювання семантичної мережі кредитування юридичних осіб;

• описувати ПРГ у вигляді семантичної мережі для подальшого впровадження в ПСШІ;

• подавати інформацію ПРГ у вигляді інфологічно-семантичної схеми мережі бази знань;

• аналізувати основні процеси, що відбуваються у фреймових системах.

ЗМІСТ ПИТАНЬ З ТЕМИ

6.1. Процес створення та використання семантичних мереж у пакеті Matlab

Бібліотека SNToolbox (Semantic Network Toolbox) містить функції для роботи із семантичними мережами у пакеті Matlab. Для роботи із бібліотекою на ЕОМ треба встановити пакет Matlab (можна встановити тільки ядро пакета) та в окрему директорію на диску (бажано назвати її SNToolbox) записати файли бібліотеки SNToolbox. У середовищі пакета Matlab треба вказати шлях до директорії з функціями бібліотеки

Тема 6

Процес створення та використання семантичних мереж у пакеті Matlab у разі використання бібліотеки SNToolbox полягає у послідовному виконанні таких етапів:

Етап 1. Побудова семантичної мережі.

1.1. Створення структури семантичної мережі та занесення її до змінної середовища пакета Matlab.

1.2. Додавання до структури семантичної мережі вузлів.

1.3. Додавання до структури семантичної мережі відношень.

1.4. (Не обов’язково) Збереження семантичної мережі зі змінної середовища Matlab у файл на диску.

Етап 2. Візуалізація семантичної мережі.

2.1. Завантаження семантичної мережі з диску у змінну середовища Matlab, у разі відсутності її.

2.2. Виклик функції візуалізації семантичної мережі.

2.3. (Не обов’язково) Збереження у файлі на диску (або виведення до друку на принтері) побудованої схеми семантичної мережі. Цей етап може бути виконаний як програмно — за допомогою відповідних функцій пакета Matlab, так і за допомогою графічного інтерфейсу користувача з використанням команд меню фігури, на якій зображено схему семантичної мережі.

Етап 3. Пошук у семантичній мережі.

3.1. Для семантичної мережі — бази знань сформувати семантичну мережу-запит в окремій змінній середовища Matlab. Для цього потрібно для мережі-запита виконати підетапи 1.1

—1.4 або скопіювати мережу бази знань до змінної мережі-запита та видалити з неї зайві вузли і зв’язки та додати вузол мети з відповідними зв’язками.

3.2. Викликати функцію пошуку, яка поверне результати пошуку.

Розглянемо основні функції бібліотеки.

Функція SN = Snnew створює нову структуру для семантичної мережі у змінній SN. До структури семантичної мережі змінної SN будуть входити такі поля: SN.node

— клітковий (cell) одновимірний масив, що містить назви вузлів мережі, які є рядками; SN.relation — клітковий (cell) двовимірний масив, що містить назви відношень між вузлами мережі, які є рядками (рядки масиву відповідають вузлам, від яких, а стовпці — вузлам, до яких спрямовані відношення); SN.nodetype — звичайний одновимірний

SNToolbox (це можна зробити програмно за допомогою команди addpath ‘шлях’, або за допомогою опції Set path підменю File головного меню пакета Matlab).

Вузли семантичної мережі у бібліотеці поділяють на два типи: AND-вузли та OR-вузли. AND-вузли (ТА-вузли), як правило, мають зіставлятися поняттям, об’єктам, назвам атрибутів. У процесі виведення AND-вузли вважаються істинними (спрацювавшими, конкретизованими) в одному з таких випадків: 1) якщо вони є як у мережі бази знань, так і у мережі-запиті; 2) якщо всі вузли, що є їхніми батьками у ієрархії (тобто мають зв’язки, спрямовані до них), є істинними. OR-вузли (АБО-вузли), як правило, мають зіставлятися значенням атрибутів. У процесі виведення OR-вузли вважаються істинними (спрацювавшими, конкретизованими) в одному з таких випадків: 1) якщо вони є як у мережі бази знань, так і у мережі-запиті; 2) якщо існує більше одного батьківського вузла та хоча б один з них є істинним. Якщо OR-вузол має лише один батьківський вузол, то він не буде наслідувати його істинність.

Функція Res=SNaddANDnode(SN,’node1’,’node2’,...,’nodeN’) додає вузли типу «AND» ‘node1’, ‘node2’, ..., ‘nodeN’ до семантичної мережі змінної SN (змінна SN при цьому не модифікується). Результат повертає у змінній Res.

Функція Res=SNaddORnode(SN,’node1’,’node2’,...,’nodeN’) додає вузли типу «OR» ‘node1’, ‘node2’, ..., ‘nodeN’ до семантичної мережі змінної SN (змінна SN при цьому не модифікується). Результат повертає у змінній Res.

Функція Res=SNdelnode(SN,’node1’,’node2’, ...,’nodeN’) видаляє вузли ‘node1’, ‘node2’, ..., ‘nodeN’ із семантичної мережі змінної SN (змінна SN при цьому не модифікується). Результат повертає у змінній Res.

Функція Res=SNaddrelation(SN,’node1’,’relation’,’node2’) додає відношення ‘relation’ від вузла ‘node1’ до вузла ‘node2’ семантичної мережі змінної SN (змінна SN при цьому не модифікується). Результат повертає у змінній Res.

Функція Res=SNdelrelation(SN,’node1’,’relation’,’node2’) видаляє відношення ‘relation’ від вузла ‘node1’ до вузла ‘node2’ семантичної мережі змінної SN (змінна SN при цьому не модифікується). Результат повертає у змінній Res.

Функція SNplot(SN,type,NodeColour,RelationColour) будує графічне зображення структури семантичної мережі змінної SN. Параметр type має бути рядком та задає тип розташування вузлів

масив, що містить коди типів вузлів мережі (0 — AND-вузол, 1 — OR-вузол);

— випадкове розташування вузлів, ‘hierarchy’

— ієрархічне розташування вузлів. Параметри NodeColour та RelationColour є необов’язковими. NodeColour має бути рядком та визначає колір вузлів мережі. RelationColour має бути рядком та визначає колір зв’язків мережі. Кольори мають бути задані символами подібно до стандартної функції plot: ‘b’ — blue (синій), ‘g’ — green (зелений), r — red (червоний), ‘c’

— cyan (світлоголубий), ‘m’ — magenta (бузковий), ‘y’ — yellow (жовтий), ‘k’

— black (чорний).

Функції Sncircleplot, Snhierarchyplot та Snrandomplot є внутрішніми і використовуються функцією Snplot для побудови графіків із круговим, ієрархічним та випадковим розташуванням вузлів відповідно.

Функція Res=SNfind(SN,SN1) шукає цільовий вузол семантичної мережі змінної SN1 у семантичній мережі змінної SN. Мережа змінної SN1 має бути підмережею мережі змінної SN. Цільовий вузол у змінній SN1 має мати назву ‘node’. Функція повертає результат у змінній Res. Результатом є значення 0, якщо цільовий вузол не був знайдений, або ім’я цільового вузла, якщо він був знайдений.

Функція h=SNhierarchy(SN) повертає у змінній h масив з номерами рівнів ієрархії вузлів семантичної мережі змінної SN. Номери рівнів ієрархії вузлів є цілими числами у діапазоні [1, K], де K — кількість установлених рівнів ієрархії. Чим вище знаходиться вузол в ієрархії, тим менший рівень ієрархії він має. Вузли одного рівня мають однакові номери рівня ієрархії.

Функція k=isnodepresent(S,’node’) повертає у змінну k номер вузла з ім’ям ‘node’ в одновимірному клітковому масиві рядків S. Якщо вузла ‘node’ у одновимірному клітковому масиві рядків S немає, тоді функція повертає 0.

Функції бібліотеки висувають певні вимоги до семантичної мережі: кожен вузол повинен мати унікальне ім’я; мережа повинна мати вузли з указаним типом (AND або OR); може бути тільки один цільовий вузол для пошуку; забезпечується тільки пряме виведення — від передумов до висновків; функції Snfind, SNhierarchy, а також функція Snplot у режимі ‘hierarchy’ працюють виключно з ієрархічними (шаруватими) мережами (тобто для коректного використання цих функцій не можна задавати повнозв’язні мережі, мережі де є латеральні зв’язки (зв’язки між вузлами одного шару) та мережі з елементами, які пов’язані самі з собою).

семантичної мережі на графіку: ‘circle’ — вузли розташовуються по колу, ‘random’

6.2. Приклад моделювання семантичної мережі кредитування юридичних осіб

Метою даного прикладу є навчитися аналізувати й описувати предметну область у вигляді семантичної мережі для подального впровадження в ПСШІ.

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

Конкретизація вхідних та вихідних даних

Вхідними параметрами є дані клієнта з фінансового звіту та бухгалтерський баланс. Вихідним параметром є кредитоспроможність клієнта — видавати кредит чи ні.

Кредитний договір є основним розгорнутим юридичним документом, що підтверджує права та обов’язки як банку, так і клієнта. Крім того, дуже важливим документом є строкове зобов’язання, за яким банк може вимагати погашення боргу і процентів за ним. Уклавши кредитний договір, економіст формує кредитну справу позичальника. Документи, що зберігаються у цій справі, групують так:

— матеріали з надання кредиту (кредитний договір, форма забезпечення);

— фінансово-економічна інформація (бухгалтерський баланс, звіт про прибутки та збитки, бізнес-план, техніко-економічне обґрунтування тощо).

Одним із результатів роботи системи буде звіт «Скорингова оцінка потенційних продуктів». Опишемо процес, що передує його отриманню за допомогою діаграм IDEF3 (рис. 2.4).

Рис. 2.4. Діаграма IDEF3 (підбір кредитного продукту)

Рис. 2.4. Діаграма IDEF3 (підбір кредитного продукту)

На вхід моделі надходить інформація «Заявка на кредит» та «Довідник клієнтів». Використовуючи «Кредитний довідник» та «Експертну інструкцію» отримаємо звіт «Скорингова оцінка потенційних продуктів». Сам процес створення складається з двох етапів:

1) первинний відбір потенційних продуктів (рис. 2.5);

2) скорингова оцінка потенційних кредитних продуктів (рис. 2.6).

Рис. 2.5. Підбір потенційних кредитних продуктів Інформація про клієнтів з «довідника клієнтів» надходить до блоку «попередній відбір потенційних продуктів» та «скорингову оцінку потенційних крединтих продуктів». Використовуючи «Кредитний довідник» та «Заявку на кредит», дані обробляються в блоці «Попередній відбір потенційних продуктів» та надходять на блок «Скорингова оцінка потенційних кредитних продуктів», де за допомогою «Експертної інструкції» обробляються ще раз.

Рис. 2.5. Підбір потенційних кредитних продуктів Інформація про клієнтів з «довідника клієнтів» надходить до блоку «попередній відбір потенційних продуктів» та «скорингову оцінку потенційних крединтих продуктів». Використовуючи «Кредитний довідник» та «Заявку на кредит», дані обробляються в блоці «Попередній відбір потенційних продуктів» та надходять на блок «Скорингова оцінка потенційних кредитних продуктів», де за допомогою «Експертної інструкції» обробляються ще раз.

Використовуючи «дані для кредиту» та «довідник клієнтів» за допомогою експертної інструкції, даним призначається значення параметрів та критеріїв, потім здійснюється оцінка потенційних продуктів за заданими критеріями. Далі інформація паралельно обробляється за допомогою блоків «Відбір за вказаними параметрами» та «Відповідність значень обов’язкових критеріїв» та йде на вихід і формує бальну оцінку кредитного продукту, це показано блоком «Бальна оцінка відповідності кредитного продукту», звідти безпосередньо оцінка включається в звіт скорингової оцінки потенційних кредитних продуктів.

131

Після закінчення попереднього етапу кредитування економіст приймає кінцеве рішення про можливість надання кредиту і подає документи до кредитного комітету. На засіданні кредитного комітету економіст аргументує корисність і дохідність угоди. Рішення про видачу конкретного кредиту оформляється протоколом кредитного комітету.

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

— юридичної особи банк має враховувати такі основні економічні показники його діяльності:

Таблиця 2.2

СЛОВНИК ПРЕДМЕТНОЇ ГАЛУЗІ

132

Закінчення табл. 2.2

Позитивний сценарій: якщо всі коефіцієнти підходять, то видавати кредит. Негативний сценарій: Якщо хоча б один з коефіцієнтів не підходить, то кредит не видавати.

Позитивний сценарій: якщо всі коефіцієнти підходять, то видавати кредит. Негативний сценарій: Якщо хоча б один з коефіцієнтів не підходить, то кредит не видавати.

13

4 Юр ос оба

Дані

Загальний ка пітал

Коеф . по т о чн о ї ліквідності дорівнює

500 не дорівнює

500 менше 2 більше 2 видавати не видава ти р ішення

Довгострок ова заборгованість

Покрит тя відсотків

Грошовий потік довгост р окова має дорівнює

0,25 не дорівнює 0,25 дорівнює

0,66 не дорівнює

0,66

Довгострок ова заборгованість акціонерний капітал

Довгострок ова заборгованість нетто основні актив и дорівнює

7 не дорівнює

7 дорівнює

0,5 не дорівнює 0,5 дорівнює

0,5 не дорівнює 0,5

Нетто обор отний капітал довгострокова заборгованість дорівнює

1 не дорівнює

1

Рис . 2.7. Інфологічно сем античн а сх е м а мереж і баз и знань

Текст програми, що реалізує семантичну мережу з використанням функцій бібліотеки SNToolbox пакета Matlab % створюємо структуру для семантичної мережі SN=SNnew; % додаємо вузли типу «АБО» — значення атрибутів SN=SNaddORnode(SN, ‘дорівнює’,’не дорівнює’,’більше’, ‘менше’ ); % додаємо вузли типу «ТА» — об’єкти і назви атрибутів SN=SNaddANDnode(SN, ‘організація’, ‘дані’,’q1=500’,’q2>2’, ’q3=0.25’, ‘q4=0.66’,’q5=7’, ‘q6=0.75’, ‘q7=0.5’,’q8=1’, ‘ надати кредит’, ‘не видавати кредит’, ‘результат’); % додаємо відносини між вузлами SN=SNaddrelation(SN, ‘організація’, ‘має’, ‘дані’); SN=SNaddrelation(SN, ‘організація’, ‘має’, ‘результат’); SN=SNaddrelation(SN, ‘дані’, ‘значення’, ‘q1=500’); SN=SNaddrelation(SN, ‘дані’, ‘значення’, ‘q2>2’); SN=SNaddrelation(SN, ‘дані’, ‘значення’, ‘q3=0.25’); SN=SNaddrelation(SN, ‘дані’, ‘значення’, ‘q4=0.66’); SN=SNaddrelation(SN, ‘дані’, ‘значення’, ‘q5=7’); SN=SNaddrelation(SN, ‘дані’, ‘значення’, ‘q6=0.75’); SN=SNaddrelation(SN, ‘дані’, ‘значення’, ‘q7=0.5’); SN=SNaddrelation(SN, ‘дані’, ‘значення’, ‘q8=1’); SN=SNaddrelation(SN, ‘результат’, ‘значення’, ‘ надати кредит’); SN=SNaddrelation(SN, ‘результат’, ‘значення’, ‘не видавати кредит’); SN=SNaddrelation(SN, ‘q1=500’, ‘‘, ‘дорівнює’); SN=SNaddrelation(SN, ‘q1=500’, ‘‘, ‘не дорівнює’); SN=SNaddrelation(SN, ‘q2>2’, ‘‘, ‘менше’); SN=SNaddrelation(SN, ‘q2>2’, ‘‘, ‘більше’); SN=SNaddrelation(SN, ‘q4=0.66’, ‘‘, ‘дорівнює’); SN=SNaddrelation(SN, ‘q4=0.66’, ‘‘, ‘не дорівнює’); SN=SNaddrelation(SN, ‘q5=7’, ‘‘, ‘дорівнює’); SN=SNaddrelation(SN, ‘q5=7’, ‘‘, ‘не дорівнює’); SN=SNaddrelation(SN, ‘q6=0.75’, ‘‘, ‘дорівнює’); SN=SNaddrelation(SN, ‘q6=0.75’, ‘‘, ‘не дорівнює’); SN=SNaddrelation(SN, ‘q7=0.5’, ‘‘, ‘дорівнює’); SN=SNaddrelation(SN, ‘q7=0.5’, ‘‘, ‘не дорівнює’); SN=SNaddrelation(SN, ‘q8=1’, ‘‘, ‘дорівнює’); SN=SNaddrelation(SN, ‘q8=1’, ‘‘, ‘не дорівнює’); SN=SNaddrelation(SN, ‘q3=0.25’, ‘‘, ‘дорівнює’); SN=SNaddrelation(SN, ‘q3=0.25’, ‘‘, ‘не дорівнює’); SN=SNaddrelation(SN, ‘дорівнює’,’include’, ‘ надати кредит’); SN=SNaddrelation(SN, ‘не дорівнює’, ‘include’, ‘не видавати кредит’); SN=SNaddrelation(SN, ‘більше’, ‘include’, ‘не видавати кредит’); SN=SNaddrelation(SN, ‘менше’, ‘include’, ‘ надати кредит’); % будуємо графічні зображення схеми семантичної мережі

SN1=SN; % видаляємо з мережі-запиту зайві вузли SN1=SNdelnode(SN1, ‘ надати кредит’, ‘не видавати кредит’, ‘не дорівнює’,’більше’); % додаємо до мережі-запиту цільовий вузол SN1=SNaddANDnode(SN1, ‘?’); % додаємо до мережі-запиту відношення для цільового вузла SN1=SNaddrelation(SN1, ‘результат’, ‘значення’, ‘?’); figure; % створюємо нове вікно для схеми % будуємо графічне зображення схеми мережі-запиту SNplot(SN1, ‘random’); % випадкове розташування вузлів % виконуємо запит до семантичної мережі, % результати якого видаємо на екран Res=SNfind(SN, SN1) SN1=SNdelnode(SN1, ‘ надати кредит’, ‘не видавати кредит’, ‘не дорівнює’,’більше’); % додаємо до мережі-запиту цільовий вузол SN1=SNaddANDnode(SN1, ‘?’); % додаємо до мережі-запиту відношення для цільового вузла SN1=SNaddrelation(SN1, ‘результат’, ‘значення’, ‘?’); figure; % створюємо нове вікно для схеми % будуємо графічне зображення схеми мережі-запиту SNplot(SN1, ‘random’); % випадкове розташування вузлів % виконуємо запит до семантичної мережі, % результати якого видаємо на екран Res=SNfind(SN, SN1) SN1=SNaddANDnode(SN1, ‘?’); % додаємо до мережі-запиту відношення для цільового вузла SN1=SNaddrelation(SN1, ‘результат’, ‘значення’, ‘?’); figure; % створюємо нове вікно для схеми % будуємо графічне зображення схеми мережі-запиту SNplot(SN1, ‘random’); % випадкове розташування вузлів % виконуємо запит до семантичної мережі, % результати якого видаємо на екран Res=SNfind(SN, SN1) SN1=SNaddrelation(SN1, ‘результат’, ‘значення’, ‘?’); figure; % створюємо нове вікно для схеми % будуємо графічне зображення схеми мережі-запиту SNplot(SN1, ‘random’); % випадкове розташування вузлів % виконуємо запит до семантичної мережі, % результати якого видаємо на екран Res=SNfind(SN, SN1) Res=SNfind(SN, SN1) SN1=SN; % видаляємо з мережі-запиту зайві вузли SN1=SNdelnode(SN1, ‘ надати кредит’, ‘не видавати кредит’, ‘не дорівнює’,’більше’); % додаємо до мережі-запиту цільовий вузол SN1=SNaddANDnode(SN1, ‘?’); % додаємо до мережі-запиту відношення для цільового вузла SN1=SNaddrelation(SN1, ‘результат’, ‘значення’, ‘?’); figure; % створюємо нове вікно для схеми % будуємо графічне зображення схеми мережі-запиту SNplot(SN1, ‘random’); % випадкове розташування вузлів % виконуємо запит до семантичної мережі, % результати якого видаємо на екран Res=SNfind(SN, SN1)

Результати роботи програми Повідомлення у командному вікні пакета Matlab

Рис. 2.8. Схема семантичної мережі з ієрархічним розташуванням вузлів

Рис. 2.8. Схема семантичної мережі з ієрархічним розташуванням вузлів

Рис. 2.9. Схема семантичної мережі з круговим розташуванням вузлів

SNplot(SN, ‘hierarchy’); % ієрархічне розташування вузлів figure; % створюємо нове вікно для іншої схеми SNplot(SN, ‘circle’); % кругове розташування вузлів % створюємо мережу-запит на основі мережі бази знань

Рис. 2.9. Схема семантичної мережі з круговим розташуванням вузлів

6.3. Логічні моделі

ється четвіркою виду М = < Т, Р, А, B >, де Т — множина базових елементів різної природи; Р — множина синтаксичних правил, за допомогою яких з елементів Т утворюють синтаксично правильні сукупності. У множині останніх виділяється деяка підмножина А, елементи якої називаються аксіомами, B

множина правил виведення, застосовуючи які до елементів А, можна одержувати нові синтаксично правильні сукупності, до яких знову можна застосовувати правила з В.

Для множини Т існує деякий спосіб визначення приналежності чи неприналежності довільного елементу до цієї множини. Процедура такої перевірки П(T) може бути будь-якою, але за кінцеве число кроків вона мусить давати позитивну чи негативну відповідь на питання, чи є х елементом множини T.

За допомогою процедури П(P) за кінцеве число кроків можна одержати відповідь на питання, чи є сукупність X синтаксично правильною.

За допомогою процедури П(A) для будь-якої синтаксично правильної сукупності можна одержати відповідь на питання про приналежність її до множини А.

Якщо є процедура П(B), за допомогою якої можна визначити для будь-якої синтаксично правильної сукупності, чи є вона виведеною, то відповідна формальна система називається

Логічні моделі в основі мають формальну систему, що задається четвіркою виду М = < Т, Р, А, B >, де Т — множина базових елементів різної природи; Р — множина синтаксичних правил, за допомогою яких з елементів Т утворюють синтаксично правильні сукупності. У множині останніх виділяється деяка підмножина А, елементи якої називаються аксіомами, B

множина правил виведення, застосовуючи які до елементів А, можна одержувати нові синтаксично правильні сукупності, до яких знову можна застосовувати правила з В.

Для множини Т існує деякий спосіб визначення приналежності чи неприналежності довільного елементу до цієї множини. Процедура такої перевірки П(T) може бути будь-якою, але за кінцеве число кроків вона мусить давати позитивну чи негативну відповідь на питання, чи є х елементом множини T.

За допомогою процедури П(P) за кінцеве число кроків можна одержати відповідь на питання, чи є сукупність X синтаксично правильною.

За допомогою процедури П(A) для будь-якої синтаксично правильної сукупності можна одержати відповідь на питання про приналежність її до множини А.

Якщо є процедура П(B), за допомогою якої можна визначити для будь-якої синтаксично правильної сукупності, чи є вона виведеною, то відповідна формальна система називається

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

Основна ідея логічного підходу полягає в тому, щоб розглядати всю систему знань, необхідну для розв’язання прикладних задач, як сукупність фактів (тверджень). Факти подаються як формули в деякій логіці (першого чи вищого порядку, багатозначній, нечіткій чи ін.) Система знань відображається сукупністю таких формул і подана в ЕОМ, вона утворює базу знань. Формули неподільні й за модифікації бази знань можуть лише додаватися або видалятися.

Логічні методи забезпечують розвинутий апарат виведення нових фактів з тих, котрі явно подані в базі знань. Основним примітивом маніпуляції знаннями є операція виведення.

Логічними моделями називаються описи ПРГ, виконані в логічних мовах. Логічні моделі, як правило, засновані на численні предикатів першого порядку, яке, у свою чергу, засновано на численні висловлень.

Висловлення — речення, зміст якого можна виразити значеннями істина (1) або хибність (0).

Елементарні (прості) висловлення — такі, які не можна поділити на частини. Прості висловлення розглядаються цілком, без урахування їх суб’єктно-предикатної структури.

Складні висловлення — які можна поділити на прості, котрі зв’язані між собою за допомогою логічних зв’язувань.

Логічні зв’язування (пропозиціональні зв’язування) — k-арні логічні операції (k ? 0), які перетворюють той чи інший набір з k висловлень на висловлення, а набір із пропозиціональних (висловлювальних) форм від деяких змінних (тобто виразів, що містять змінні та перетворюються на висловлення за заміни змінних конкретними висловленнями) — у пропозиціональну форму від цих змінних.

У формалізованих логіко-математичних мовах логічні зв’язування виконують функції, аналогічні функціям союзів і союзних слів у природних мовах.

розв’язною. Це показує, що саме правила виведення є найбільш складною складовою формальної системи.

В алгебрі логіки логічні зв’язування розглядають як булеві функції, тобто операції на множині з двох значень {істина, хибність}, або {1 та 0} (див. табл. 2.2).

Числення висловлень — логічне числення, що визначає логічні закони, які характеризують логічні зв’язування. Характеризується двозначною інтерпретацією і в ньому доказові всі тотожноістинні формули даного числення і тільки вони. Числення висловлень входять як частина до числення предикатів.

Розроблено багато різновидів класичного числення висловлень, що відрізняються одне від одного вибором логічних зв’язувань, аксіом і правил виведення.

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

Предикат від n змінних (n-арний предикат) на множині An-місцева функція, визначена на множині A зі значеннями в множині {істина, хибність}. Під предикатом розуміють деякий зв’язок, що задано на наборі змінних.

Логіка предикатів першого порядку — розділ математичної логіки, що вивчає логічні закони, загальні для будь-якої непорожньої множини об’єктів із заданими в цій множині предикатами. Ці закони формулюються спеціальною формальною логічною мовою першого порядку, основними синтаксичними одиницями якої є константи, змінні, функції, предикати, квантори і логічні зв’язування.

Формальний синтаксис числення предикатів першого порядку зручно подати в нормальній формі Бекуса-Наура, яка традиційно застосовується для запису граматик мов програмування. <константа> ? <ідентифікатор1> <змінна> ? <ідентифікатор2> <функція> ? <ідентифікатор3> <предикат> ? <ідентифікатор4> <терм> ? <константа> | <змінна> | <функція> (<список термів>) <список термів> ? <терм> | <терм>, <список термів> <атом> ? <предикат> | <предикат> (<список термів>) <літера> ? <атом> | ?<атом> <оператор> ? ? | ? | ? | ? <список змінних> ? <змінна> | <змінна>,<список змінних> <квантор> ? <(? <список змінних>) | < (?<список змінних>) <формула> ? <літера> | <формула> | <квантор> (<формула>) | (<формула>) <оператор> (<формула>)

Таблиця 2.3

ЛОГІЧНІ ЗВ’ЯЗУВАННЯ

Назви Позначення Таблиця істинності
x 1 00   1 1
x 2   01   0 1
Заперечення, доповнення 11 ,xx¬ 11   0 0 не х 1
Кон’юнкція, логічний добуток, логічне «ТА», функція збігу х 1 & x 2 , х 1 ? x 2 , х 1 · x 2 , х 1 x 2 00   0 1 х 1 та x 2
Диз’юнкція, логічна сума, логічне «АБО», функція х 1 + x 2 , 01   1 1 х 1 або x 2 ; або х 1 , або x 2 , або х 1 та x 2
             
             
             
             
             
             
             
             

 


< Попередня  Змiст  Наступна >
Iншi роздiли:
ТАБЛИЧНЕ ПОДАННЯ ФРЕЙМУ
Частина 4. ЗАСОБИ ДЛЯ ПОДАННЯ Й ОБРОБКИ МОДЕЛЕЙ ЗНАНЬ У ПСШІ
Тема 7. ПРОЦЕС ПРИЙНЯТТЯ РІШЕННЯ
7.3. Пошук асоціативних та секвенціальних закономірностей між пов’язаними подіями в базах знань
7.4. Різновиди алгоритму Apriori
Дисциплiни

Медичний довідник новиниКулінарний довідникАнглійська моваБанківська справаБухгалтерський облікЕкономікаМікроекономікаМакроекономікаЕтика та естетикаІнформатикаІсторіяМаркетингМенеджментПолітологіяПравоСтатистикаФілософіяФінанси

Бібліотека підручників та статтей Posibniki (2022)