Тема 10. Експертні та навчальні системи



Теоретичні відомості та методичні поради до вивчення теми

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

·          Основні концепції штучного інтелекту.

·          Характеристики експертних систем.

·          Структура експертної системи.

·          Методи подання знань.

·          Різниця між експертними системами та традиційними програмами.

·          Методи реалізації експертних систем.

10.1. Основні концепції штучного інтелекту

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

· вивчити процес мислення людини, яка розв’язує певні задачі або приймає рішення у певній ділянці знань,

·   виділити основні позиції цього процесу і

· розробити програмні засоби, які б реалізували ці позиції за допомогою комп’ютера.

Інакше кажучи, штучний інтелект передбачає простий структурний підхід до розроблення складних програмних систем прийняття рішення.

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

Комплекс таких програм, кожна з яких є експертом у первинній предметній галузі, отримав назву експертних систем.

Технологію побудови експертних систем часто називають інженерією знань. Це процес взаємодії автора експертної системи (інженера знань) з одним або кількома експертами в певній предметній області. Інженер знань «видобуває» з експертів стратегії, процедури, правила, які вони використовують під час розв’язування задач, і вбудовує отримані знання в експертну систему, як показано нижче.

10.2. Характеристики експертної системи

Основою експертної системи є база знань, яка накопичується в процесі побудови експертної системи. Знання в такій базі організовані й відображені так, щоб спростити прийняття рішення.

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

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

Іншою характеристикою експертних систем є наявність у них прогностичних можливостей, тобто використання принципу
«If… Then… Else…», одне слово, системи можуть видавати відповіді на поведінку в конкретній ситуації і показувати, як зміняться ці відповіді у нових ситуаціях. Це дасть змогу користувачеві оцінити можливий вплив нових фактів або інформації та зрозуміти, як вони пов’язані з рішенням.

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

10.3. Структура експертної системи

У роботі з експертною системою беруть участь:

—         сама експертна система,

—         експерт,

—         інженер знань,

—         засіб побудови експертної системи,

—         користувач.

Їхні ролі та взаємовідносини наведені нижче.

Вище наголошувалося, що основою експертної системи є сукупність знань, структурована з метою спрощення процесу прийняття рішення експертною системою.

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

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

Знання в експертній системі організовані таким чином, щоб знання про предметну галузь були відокремлені від інших загальних знань. Відокремлені знання про предметну галузь називаються базою знань, а загальні знання — механізмом виводу. Усі програми, що працюють зі знаннями, які організовані за допомогою бази знань і механізму виводу, називають системами, що ґрунтуються на знаннях.

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

Така структура експертної системи наведена нижче.

10.4. Методи подання знань

Найчастіше використовуються три методи подання знань:

—                     правила;

—                     семантичні мережі;

—                     фрейми.

10.4.1. Методи, що базуються на правилах

Подання знань, побудоване на правилах і таке, що базується на використанні виразу ЯКЩО (умова) — ТО (дія).

Зіставлення частин ЯКЩО правил з фактами може викликати так званий ланцюжок висновків. За допомогою правил можна добиватися реакції системи на зміну даних. Використання правил спрощує пояснення того, що і як виконала програма, тобто яким способом вона дійшла потрібного висновку.

10.4.2. Методи, що базуються на семантичних мережах і фреймах

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

10.5. Різниця між експертними системами та традиційними програмами

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

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

10.6. Методи реалізації експертних систем

Для реалізації експертних систем застосовуються мови програмування LISP, PROLOG, PASCAL та інші процедурні мови програмування та мови інженерії знань.

У міру накопичування досвіду створення та експлуатації експертних систем виявлено доцільність створення порожніх експертних систем (оболонок), які не містять знань у проблемній ділянці майбутнього застосування. На сьогодні відомі такі порожні експертні системи: GURU, EMYC/N, Інтерексперт, ЕКСПЕРТ тощо.

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

Архітектура такої експертної системи показана нижче.

Основні терміни та визначення

Алгоритм — формальна процедура, яка гарантує отримання оптимального або коректного рішення.

База даних набір фактів, тверджень і висновків, що використовуються у разі зіставлення з правилами в системі, яка ґрунтується на правилах.

База знань — частина системи, базованої на знаннях або експертної системи, що містить предметні знання.

Диспетчер — частина механізму виведення, яка вирішує, коли і в якому порядку застосовувати різні частини предметних знань.

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

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

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

Засіб побудови експертної системи — мова програмування та пакет програм, що використовуються під час створення експертної системи.

Засоби підтримки — програми та апаратура, пов’язані з засобами побудови експертних систем.

Знання інформація, необхідна програмі для того, щоб ця програма поводила себе «інтелектуально».

Інженер знань — людина, яка проектує і створює експертну систему.

Інженерія знань — процес творення експертної системи.

Інструмент — скорочене позначення засобу побудови експертної системи.

Інтерпретатор — частина механізму виведення, що вирішує, яким чином застосовувати предметні знання.

Кінцевий користувач — людина, яка використовує закінчену експертну систему.

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

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

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

Правило — формальний спосіб завдання рекомендацій, директив або стратегій, викладених за допомогою ЯКЩО <передумова> ТО <висновок> або ЯКЩО <умова> ТО <дія>.

Предметні знання — знання з предметної царини.

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

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

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

Фрейм — метод подання знань, коли властивості пов’язуються з вершинами (концепції чи об’єкти). Властивості описуються в термінах атрибутів (слотів) і їх значень.

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








Популярні глави цього підручника:



Всі глави цього підручника:

Інформатика. Комп’ютерна техніка та програмне забезпечення. Інформаційні системи (Курс лекцій)