
- •6.1. Колектив розробників
- •6.2. Технологія проектування і розробки
- •6.2.1. Проблеми розробки промислових ес
- •6.2.2. Вибір придатної проблеми
- •6.2.3. Технологія швидкого прототипування
- •2.4.4. Розвиток прототипу до промислової ес
- •2.4.5. Оцінка системи
- •2.4.6. Стикування системи
- •2.4.7. Підтримка системи
6.2.3. Технологія швидкого прототипування
Прототипна система є спрощеною версією експертної системи, яка спроектована для перевірки правильності кодування фактів, зв'язків і стратегій міркування експерта. Вона також дає можливість інженеру по знаннях залучити експерта до активної участі в процесі розробки експертної системи, і, отже, до прийняття ним зобов'язання прикласти всі зусилля до створення системи в повному обсязі.
Обсяг прототипу — кілька десятків правил, фреймів чи прикладів. На рис.2.4 зображено шість стадій розробки прототипу і мінімальний колектив розробників, зайнятих на кожній зі стадій (п'ять стадій запозичено з роботи [ Кейес-Рот і ін., 1987]). Приведемо коротку характеристику кожної зі стадій, хоча ця схема являє собою грубе наближення до складного, ітеративного процесу.
Рис. 6.3. Стадії розробки прототипу ЕС
Хоча будь-який теоретичний поділ буває часто умовним, усвідомлення колективом розроблювачів чітких задач кожної стадії представляється доцільним. Ролі розробників (експерт, програміст, користувач і аналітик) є постійними протягом усієї розробки. Суміщення ролей небажано.
Терміни приведені умовно, тому що залежать від кваліфікації фахівців і особливостей задачі.
Ідентифікація проблеми
Уточнюється задача, планується хід розробки прототипу експертної системи, визначаються:
необхідні ресурси (час, люди, ЕОМ і т.д.);
джерела знань (книги, додаткові експерти, методики);
наявні аналогічні експертні системи;
мета (поширення досвіду, автоматизація рутинних дій і ін.);
класи розв'язуваних задач і т.д.
Ідентифікація
проблеми
—
знайомство і навчання членів колективу
розроблювачів, а також створення
неформального формулювання проблеми.
Середня тривалість 1-2 тижні.
Витяжка знань
На цій стадії відбувається перенесення компетентності від експерта до інженера по знаннях, з використанням різних методів (див. розділ 4):
аналіз текстів;
діалоги;
експертні ігри;
лекції;
дискусії;
інтерв'ю;
спостереження й інші.
Витяжка
знань
— одержання інженером по знаннях
найбільш повного з можливих представлень
про предметну область і способи прийняття
рішення в ній.
Середня тривалість 1-3 місяці.
Структуризація чи концептуалізація знань
Виявляється структура отриманих знань про предметну область, тобто визначаються:
термінологія;
список основних понять і їхніх атрибутів;
відносини між поняттями;
структура вхідної і вихідної інформації;
стратегія прийняття рішень;
обмеження стратегій і т.д.
Структуризація
(чи концептуалізація)
знань
— розробка неформального опису знань
про предметну область у виді графа,
таблиці, чи діаграми тексту, що відбиває
основні концепції і взаємозв'язки між
поняттями предметної області.
Такий опис називається полем знань. Середня тривалість етапу 2-4 тижні. Більш детально стадія структурування описана в розділі 3.
Формалізація
Будується формалізоване представлення концепцій предметної області на основі обраної мови представлення знань (МПЗ). Традиційно на цьому етапі використовуються;
логічні методи (числення предикатів 1-го порядку й ін.);
продукційні моделі (із прямим і зворотним висновком);
семантичні мережі;
фрейми;
об’єктно-орієнтовані мови, що базуються на ієрархії класів, об'єктів.
Формалізація
знань
—
розробка бази знань мовою представлення
знань, що, з одного боку, відповідає
структурі поля знань, а з іншого боку
- дозволяє реалізувати прототип системи
на наступній стадії програмної
реалізації.
Все частіше на цій стадії використовується симбіоз, мов представлення знань, наприклад, у системі ОМЕГА [Довідник по ИИ, 1990] — фрейми + семантичні мережі + повний набір можливостей мови числення предикатів. Середня тривалість 1-2 місяці. Більш детальніше див. у розділах 3, 4.
Реалізація
Створюється прототип експертної системи, що включає базу знань і інші блоки, за допомогою одного з наступних способів:
програмування на традиційних мовах типу Pascal, C++ і ін.;
програмування на спеціалізованих мовах, що застосовуються у задачах штучного інтелекту: LISP [Хювянен, Сеппянен, 1991], FRL [Байдун, Бунін, 1990], SMALLTALK [Довідник по ИИ, 1990] і ін.;
використання інструментальних засобів розробки ЕС типу СПЕІС [Ковригин, Перфильев, 1988], ПІЕС [Хорошевский, 1993], G2 [Попов, Фомін, Кисіль, 1996];
використання «порожніх» ЕС чи «оболонок» типу ЕКСПЕРТ [Кірсанов, Попов, 1990], ФІАКР [Соловйов, Соловйова, 1989] і ін.
Реалізація
—
розробка програмного комплексу, що
демонструє життєздатність підходу в
цілому. Найчастіше перший прототип
відкидається на етапі реалізації діючої
ЕС.
Середня тривалість 1-2 місяці. Більш детально ці питання розглядаються в розділі 6.
Тестування
Оцінюється і перевіряється робота програм прототипу з метою приведення у відповідність з реальними запитами користувачів. Прототип перевіряється на:
зручність і адекватність інтерфейсів введення/виведення (характер питань у діалозі, зв'язність виведеного тексту результату й ін.);
ефективність стратегії керування (порядок перебору, використання нечіткого висновку й ін.);
якість перевірочних прикладів;
коректність бази знань (повнота і несуперечність правил).
Тестування
—
виявлення помилок у підході і реалізації
прототипу і вироблення рекомендацій
з доведення системи до-промислового
варіанта.
Середня тривалість 1-2 тижні.