а розглядати як експертну. Експертна система повинна також уміти якимось чином пояснювати свою поведінку і свої рішення користувачу, так само, як це робить експерт-людина. Це особливо необхідно в областях, для яких характерна невизначеність, неточність інформації (наприклад, у медичній діагностиці). У цих випадках здатність до пояснення потрібна для того, щоб підвищити ступінь довіри користувача до рад системи, а також для того, щоб дати можливість користувачу знайти можливий дефект у міркуваннях системи. У зв'язку з цим в експертних системах варто передбачати дружня взаємодія з користувачем, що робить для користувача процес міркування системи "прозорим". p align="justify"> Часто до експертних систем висувають додаткову вимогу - здатність мати справу з невизначеністю і неповнотою. Інформація про поставлену задачу може бути неповною або ненадійною; відносини між об'єктами предметної області можуть бути наближеними. Наприклад, може не бути повної впевненості в наявності в пацієнта деякого симптому чи в тому, що дані, отримані при вимірі, вірні; ліки може стати причиною ускладнення, хоча зазвичай цього не відбувається. У всіх цих випадках необхідні міркування з використанням ймовірнісного підходу. p align="justify"> У самому загальному випадку для того, щоб побудувати експертну систему, ми повинні розробити механізми виконання наступних функцій системи:
В· рішення задач з використанням знань про конкретну предметну область - можливо, при цьому виникне необхідність мати справу з невизначеністю
В· взаємодія з користувачем, включаючи пояснення намірів і рішень системи під час і після закінчення процесу рішення задачі.
Кожна з цих функцій може виявитися дуже складною і залежить від прикладної області, а також від різних практичних вимог. У процесі розробки і реалізації можуть виникати різноманітні важкі проблеми. br/>
9. (10) Структура експертної системи
Груба структура експертної системи
При розробці експертної системи прийнято ділити її на 3 основних модуля, показано на ріс.14.1:
(1) база знань,
(2) машина логічного висновку,
(3) інтерфейс з користувачем.
В
Рис. 14. 1. Структура експертної системи. br/>
База знань містить знання, що відносяться до конкретної прикладної області, у тому числі окремі факти, правила, що описують відносини або явища, а також, можливо, методи, евристики і різні ідеї, що відносяться до вирішення завдань у цій прикладної області. Машина логічного висновку вміє активно використовувати інформацію, що міститься в базі знань. Інтерфейс з користувачем відповідає за безперебійний обмін інформацією між користувачем і системою; він також дає користувачеві можливість спостерігати за процесом рішення задач, що протікають в машині логічного висновку. Прийнято розглядати машину висновку й інтерфейс як один великий модуль, звичайно називаний оболонкою експертної системи, або, для стислості, просто оболонкою. p align="justify"> В описаній вище структурі власне знання відділені від алгоритмів, що використовують ці знання. Такий поділ зручно по наступних міркувань. База знань, очевидно, залежить від конкретного додатка. З іншого боку, оболонка, принаймні в принципі, незалежна від додатків. Таким чином, розумний спосіб розробки експертної системи для декількох додатків зводиться до створення універсальної оболонки, після чого для кожного додатка досить підключити до системи нову базу знань. Зрозуміло, всі ці бази знань повинні задовольняти одному і тому ж формалізму, який оболонка "розуміє". Практичний досвід показує, що для складних експертних систем наш сценарій з однією оболонкою і багатьма базами знань працює не так гладко, як би цього хотілося, за винятком тих випадків, коли прикладні області дуже близькі. Проте навіть якщо перехід від однієї прикладної області до іншої вимагає модифікації оболонки, то принаймні основні принципи її побудови звичайно вдається зберегти. p align="justify"> У цій главі ми маємо намір розробити відносно просту оболонку, за допомогою якої, незважаючи на її простоту, ми зможемо проілюструвати основні ідеї і методи в області експертних систем. Ми будемо дотримуватися наступного плану:
(1) Вибрати формальний апарат для представлення знань.
(2) Розробити механізм логічного висновку, що відповідає цьому формалізму.
(3) Додати засоби взаємодії з користувачем.
(4) Забезпечити можливість роботи в умовах невизначеності.
10. (9) Модальна логіка предикатів. Модальні оператори. Приклади модальних операторів