Інформаційні технології експертних систем
Найбільший прогрес серед комп'ютерних інформаційних систем відзначений в області розробки експертних систем, заснованих на використанні штучного інтелекту. Експертні системи дають можливість менеджеру або спеціалісту отримувати консультації експертів з будь-яким проблемам, про які цими системами накопичені знання.
Під штучним інтелектом зазвичай розуміють здатності комп'ютерних систем до таких дій, які називалися б інтелектуальними, якби виходили від людини.
Рішення спеціальних завдань вимагає спеціальних знань. Однак не кожна компанія може собі дозволити тримати у своєму штаті експертів по всім пов'язаним з її роботою проблемам або навіть запрошувати їх щоразу, коли проблема виникла. Головна ідея використання технології експертних систем полягає в тому, щоб отримати від експерта його знання і, завантаживши їх у пам'ять комп'ютера, використовувати всякий раз, коли в цьому виникне необхідність. Будучи одним з основних додатків штучного інтелекту, експертні системи являють собою комп'ютерні програми, що трансформують досвід експертів в якій-небудь галузі знань у форму евристичних правил (евристик). Евристики не гарантують отримання оптимального результату з такою ж упевненістю, як звичайні алгоритми, використовувані для вирішення завдань в рамках технології підтримки прийняття рішень. Однак часто вони дають достатньою мірою прийнятні рішення для їх практичного використання. Все це робить можливим використовувати технологію експертних систем у якості систем, що радять [9, 18].
Подібність інформаційних технологій, що використовуються в експертних системах і системах підтримки прийняття рішень, полягає в тому, що обидві вони забезпечують високий рівень підтримки прийняття рішень. Однак існують три суттєві відмінності. Перша пов'язана з тим, що рішення проблеми в рамках систем підтримки прийняття рішень відображає рівень її розуміння користувачем і його можливості одержати й осмислити рішення. Технологія експертних систем, навпаки, пропонує користувачу прийняти рішення, що перевершує його можливості. Друга відмінність зазначених технологій проявляється у здатності експертних систем пояснювати свої міркування у процесі одержання рішення. Дуже часто ці пояснення виявляються більш важливими для користувача, чим саме рішення. Третя відмінність пов'язана з використанням нового компонента інформаційної технології – знань.
Основними компонентами інформаційної технології, яка використовується в експертній системі, є (рис. 9.4): інтерфейс користувача, база знань, інтерпретатор, модуль створення системи.
Рис. 9.4. Основні компоненти інформаційної технології експертних систем
Інтерфейс користувача. Менеджер (фахівець) використовує інтерфейс для введення інформації і команд в експертну систему та одержання вихідної інформації з неї. Команди містять у собі параметри, що спрямовують процес опрацювання знань.
Інформація звичайно видається у формі значень, що присвоюються певним змінним.
Менеджер може використовувати чотири методи введення інформації: меню, команди, природна мова і власний інтерфейс.
Технологія експертних систем передбачає можливість одержувати в якості вихідної інформації не тільки рішення, але і необхідні пояснення.
Розрізняють два види пояснень:
- – пояснення, що видаються за вимогою. Користувач в будь-який момент може зажадати від експертної системи пояснення своїх дій;
- – пояснення отриманого рішення проблеми. Після отримання рішення користувач може зажадати пояснень того, як воно було отримано.
Система повинна пояснити кожний крок своїх міркувань, що ведуть до розв'язання задачі. Хоча технологія роботи з експертною системою не є простою, інтерфейс користувача цих систем є дружнім і звичайно не викликає труднощів при веденні діалогу.
База знань містить факти, що описують проблемну область, а також логічний взаємозв'язок цих фактів. Центральне місце в базі знань належить правилам. Правило визначає, що варто робити в даній конкретній ситуації, і складається з двох частин: умова, яка може виконуватися або ні, і дія, яку варто виконати, якщо виконується умова.
Всі використовувані в експертній системі правила утворюють систему правил, яка навіть для порівняно простої системи може містити кілька тисяч правил.
Всі види знань залежно від специфіки предметної області та кваліфікації проектувальника (інженера по знаннях) з тією чи іншою мірою адекватності можуть бути представлені за допомогою однієї або декількох семантичних моделей. До найбільш поширених моделей належать логічні, продукційні, фреймові і семантичні мережі.
Інтерпретатор. Це частина експертної системи, що виконує у певному порядку опрацювання даних, які знаходяться в базі знань. Технологія роботи інтерпретатора зводиться до послідовного розгляду сукупності правил (правило за правилом). Якщо умова, що міститься в правилі, дотримується, то виконується певна дія, і користувачу надається варіант вирішення його проблеми.
Крім того, у багатьох експертних системах уводяться додаткові блоки: база даних, блок розрахунку, блок введення і коректування даних. Блок розрахунку необхідний у ситуаціях, пов'язаних із прийняттям управлінських рішень. При цьому важливу роль відіграє база даних, де містяться планові, фізичні, розрахункові, звітні та інші постійні або оперативні показники. Блок введення і коректування даних використовується для оперативного і своєчасного відображення поточних змін у базі даних.
Модуль створення системи служить для створення набору (ієрархії) правил. Існує два підходи, які можуть бути покладені в основу модуля створення системи: використання алгоритмічних мов програмування і використання оболонок експертних систем
Для представлення бази знань існують спеціально розроблені мови, хоча можна використовувати і будь-яку відому алгоритмічну мову [18].
Оболонка експертних систем являє собою готове програмне середовище, яка може бути пристосована до вирішення певної проблеми шляхом створення відповідної бази знань. У більшості випадків використання оболонок дозволяє створювати експертні системи швидше і легше в порівнянні з програмуванням.