
Лекція 2
Що таке експертна система?
1.1. Значення експертного аналізу
1.2. Характеристики експертних систем
1.3. Базові функції експертних систем
День сьогодні не вдався. Ви щойно встановили нову версію текстового редактора, до якого давно звикли, але після активації ярлика комп'ютер реагує зовсім не так, як би хотілося, – виводиться повідомлення на зразок цього:
Call to Undefined Link (Виклик невизначеного зв'язку).
Як і більшість повідомлень про помилки, це допомагає не більше, ніж прогнозу долі за станом Марса. Ви застосовуєте крайню міру – видаляєте цілий каталог і переінстальовуєте програму, але результат від цього не міняється. Ви починаєте змінювати настройки в різних файлах ініціалізації, але це також не допомагає.
Нарешті, втомившись від безнадійних спроб, ви набираєте номер сервісної служби підтримки користувачів. І тільки після цього фортуна повертається до вас лицем – на допомогу приходить людина, яка знає що каже. Він радить вам викинути купу застарілих DLL-модулів в системному каталозі і знову переставити програму. Послухавшись його поради, ви вже через десяток хвилин можете нормально працювати і недавно кров'яний тиск, що зненацька підскочив знову повертається до норми.
Який би рівень експертного аналізу не був потрібен в даній області, зрозуміло, що фахівець з сервісної служби здатний його зробити, а ви – ні. Хоч в ящику стола у вас лежить диплом доктора філософії за спеціальністю "Інформатика", і ви, можливо, чудово програмуєте задачі в своїй області, але, не маючи певного досвіду і підготовки, проблему усунення несправності вирішити не змогли. Таким чином, здатність виконати експертний аналіз – це не тільки питання наявності певних знань і рівня кваліфікації. Для цього треба володіти і дуже специфічними навиками та умінням розібратися в конкретній ситуації в даній предметній області. Таким чином, бути експертом і мати загальну освіту – це далеко не одне і те ж.
1.1 Значення експертного аналізу
Задумайтеся над таким питанням: "При виконанні яких умов комп'ютерну програму можна назвати експертом?"
• Цілком логічно вимагати, щоб така програма володіла знаннями. Просто здатність виконувати деякий алгоритм, наприклад проводити аналіз списку елементів на наявність якої-небудь властивості, явно не відповідає цій вимозі. Це все одно, що дати першому випадковому перехожому список питань і відповідей та чекати від нього успішного виконання пошуку і усунення несправностей в системах певного типу. Раніше або пізніше, але він обов'язково зіткнеться з ситуацією, не передбаченою в тому списку, яким його забезпечили.
• Знання, якими володіє програма, повинні бути сконцентровані на певну предметну область. Випадковий набір імен, дат і місць подій, сентенцій з класиків і т.п. – це аж ніяк не ті знання, які можуть послужити основою для програми, що претендує на здатність виконати експертний аналіз. Знання передбачають певну організацію і інтеграцію – тобто окремі відомості повинні співвідноситися одна з одною і утворювати щось на зразок ланцюжка, в якому одна ланка "тягне" за собою наступну.
• І, нарешті, з цих знань повинно безпосередньо витікати розв'язання проблем. Просто продемонструвати свої знання, що стосуються, наприклад, технічного обслуговування комп'ютерів, це далеко не те ж саме, що "оживити" комп'ютер. Точно так само, отримати доступ до оперативної документації це зовсім не те ж саме, що отримати в своє розпорядження фахівця (або програму), здатного справитися з проблемами, що виникли.
Тепер спробуємо підсумувати ці міркування в наступному формальному визначенні експертної системи.
Експертна система – це програма для комп'ютера, яка оперує зі знаннями в певній предметній області з метою вироблення рекомендацій або розв'язання проблем.
Експертна система може повністю взяти на себе функції, виконання яких зазвичай вимагає залучення досвіду людини-фахівця, або виконувати роль асистента для людини, що ухвалює рішення. Іншими словами, система (технічна або соціальна), що вимагає прийняття рішення, може отримати його безпосередньо від програми або через проміжну ланку – людину, яка спілкується з програмою. Той, хто ухвалює рішення, може бути експертом зі своїми власними правами, і в цьому випадку програма може "виправдати" своє існування, підвищуючи ефективність його роботи. Альтернативний варіант людина, що співпрацює з такою програмою, може досягти з її допомогою результатів більш високої якості. Взагалі кажучи, правильний розподіл функцій між людиною і машиною є однією з ключових умов високої ефективності впровадження експертних систем.
Технологія експертних систем є одним з напрямів нової області дослідження, яка отримала найменування штучного інтелекту (Artificial Intelligence AI). Дослідження в цій області сконцентровані на розробці і впровадженні комп'ютерних програм, здатних емулювати (імітувати, відтворювати) ті області діяльності людини, які вимагають мислення, визначеної майстерності та накопиченого досвіду. До них відносяться задачі прийняття рішень, розпізнавання образів та розуміння людської мови. Ця технологія вже успішно застосовується в деяких областях техніки та житті суспільства – органічної хімії, пошуку корисних копалин, медичній діагностиці. Перелік типових задач, що вирішуються експертними системами, включає:
• отримання інформації з первинних даних (таких як сигнали, що поступають від гідролокатора);
• діагностика несправностей (як в технічних системах, так і в людському організмі);
• структурний аналіз складних об'єктів (наприклад, хімічних сполук);
• вибір конфігурації складних багатокомпонентних систем (наприклад, розподілених комп'ютерних систем);
• планування послідовності виконання операцій, що приводять до заданої мети (наприклад, що виконуються промисловими роботами).
Хоч відомі і "звичайні" програми, що спеціалізуються на певних задачах з представленого переліку (або аналогічних їм в суміжних областях), в наступному розділі ми покажемо, в чому полягає істотна різниця між "звичайним" підходом та тим, що пропонуеться в сфері штучного інтелекту і чому експертні системи можна виділити в окремий, досить добре помітний клас програм. Чіткого формального визначення експертної системи, яке всіх би задовольнило, не існує - приведене вище також досить розпливчате. Проте існує досить багато важливих ознак, властивих в тій або іншій мірі всім експертним системам.