1. ОСНОВИ ПОБУДОВИ СИСТЕМ ЗАСНОВАНИХ НА ЗНАННЯХ (СЗЗ)

1.1.  Загальні відомості про СЗЗ

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

Методи ШІ дозволяють закласти в програмні системи здатність до самонавчання й нагромадження нової, корисної надалі інформації.

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

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

При використанні традиційних структурних мов програмування необхідні знання містилися безпосередньо в прикладній програмі й становлять з нею єдине ціле.

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

У системах, заснованих на концепції ШІ й інженерії знань, які називаються системами заснованими на знаннях, така проблема відсутня. У цих системах функції зберігання знань і функції розв'язання задач розділені подібно БД, де СУБД забезпечує автономне зберігання даних від програм їх обробки (мал. 1.1).

У СЗЗ:

 
Рис. 1.1. Система заснована на знаннях (СЗЗ)

1.2. Приклад незалежності знань і процедур їх обробки

Спрощено ілюстрацію незалежності двох основних компонентів систем заснованих на знаннях можна показати на прикладі використання мови Пролог.

Нехай є набір фактів, внесених у базу:

має

(іван, машину)

має

(петро, годинник)

має

(миколай, телевізор)

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

Запит:

? - має (іван, Річ)

Відповідь:

Річ = машина

Якщо ми заповнимо базу ще рядом фактів

має

(петро, £ (500))

має

(петро, телевізор)

ціна

(відео, 4200)

ціна

(приймач, 20)

ціна

(годинники, 70)

тоді на аналогічний запит, але тільки відносно Петра, ми отримаємо відповідь:

Запит:

? - має (петро, Річ)

Відповідь:

Річ = годинники

 

Річ = £ (500)

 

Річ = телевізор

Помітимо, що ім'я «петро» ми вводимо з малої літери, тому що це атом; а «Річ» є змінною й записується із великої літери.

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

Розглянемо ще ряд прикладів. Припустимо, нас цікавить, хто є власником телевізора (простий запит)

Запит:

? - має (Людина, телевізор)

Відповідь:

Людина = микола

 

Людина = петро

і чи може Петро купити відео (складний запит)

Запит:

? - має (петро, £ (Наявні)),

 

ціна (відео, Ціна),

 

Наявні ? Ціна

Відповідь:

? - немає

Символ «,» у запитах аналогічний логічної операції конъюнкції. У цих умовах останній запит вимагає одночасного задоволення трьох перерахованих через кому умов.

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

може_купити (Хтось, Річ):

має (Хтось, £ (Наявні)),

 

ціна (Річ, Ціна),

 

Наявні ? Ціна,

 

не (має (Хтось, Річ)).

Якщо тепер дане правило додати в базу знань до наявним там восьми фактів, то ми зможемо сформулювати до бази запит «Що може купити Петро?»:

Запит:

? - може_купити (петро, Річ)

Відповідь:

Річ = приймач

1.3 Поняття знань, фактів і правил

 

З погляду ШІ знання - це формалізована інформація, на яку посилаються або яку використають у процесі логічного виводу.

У СЗЗ знання розділяються на:

Під фактами мають на увазі знання типу «А це А»; вони характерні для БД і мережних моделей. У розглянутому прикладі фактами були кортежі відносин:

має

(ХТО, ЩО)

ціна

(Річ, ЦІНА)

Під правилом маються на увазі знання виду «ЯКЩО – ТЕ». У наведеному прикладі це правило:

може_купити

(ХТОСЬ, РІЧ)

Знання звичайно мають класифікаційну ієрархічну структуру вигляду: «жива істота ( тварина ( людина чоловік ( Вадим))»

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