Бази знань та експертні системи. Експертна система C#
19

Висновки

 

Часто до експертних систем висувають додаткову вимогу - здатність мати справу з невизначеністю і неповнотою. Інформація про поставлену задачу може бути неповною чи ненадійною; відносини між об'єктами предметної області можуть бути наближеними. Наприклад, може не бути повної впевненості в наявності в пацієнта деякого симптому чи в тому, що дані, отримані при вимірі, вірні; ліки може стати причиною ускладнення, хоча звичайно цього не відбувається. В усіх цих випадках необхідні міркування з використанням ймовірнісного підходу.

У самому загальному випадку для того, щоб побудувати експертну систему, ми повинні розробити механізми виконання наступних функцій системи:

  1. рішення задач з використанням знань про конкретну предметну область можливо, при цьому виникне необхідності мати справу з невизначеністю;
  2. взаємодія з користувачем, включаючи пояснення намірів і рішень системи під час і після закінчення процесу рішення задачі.

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

При розробці експертної системи прийнято поділяти її на три основних модулі:

  1. база знань;
  2. машина логічного висновку;
  3. інтерфейс із користувачем.

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

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