Експертні системи

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Експе́ртна систе́ма — це методологія адаптації алгоритму успішних рішень одної сфери науково-практичної діяльності в іншу. З поширенням компютерних технологій це тотожна (подібна, заснована на оптимізуючому алгоритмі) інтелектуальна комп’ютерна програма, що містить знання та аналітичні здібності одного або кількох експертів щодо деякої галузі застосування і здатна робити логічні висновки на основі цих знань, тим самим забезпечуючи вирішення специфічних завдань (консультування, навчання, діагностика, тестування, проектування тощо) без присутності експерта (спеціаліста в конкретній проблемній галузі). Також визначається як система, яка використовує базу знань для вирішення завдань (видачі рекомендацій) у деякій предметній галузі. Цей клас програмного забезпечення спочатку розроблявся дослідниками штучного інтелекту в 1960-ті та 1970-ті та здобув комерційне застосування, починаючи з 1980-их. Часто термін система, заснована на знаннях використовується в якості синоніма експертної системи, однак можливості експертних систем ширші за можливості систем, заснованих на детермінованих (обмежених, реалізованих на поточний час) знаннях.[1]

Однак узгодженого визначення експертних систем не існує[2]. Натомість автори дають визначення залежно від застосування, структури таких систем. Ранні визначення експертних систем припускали застосування виведення нових знань на основі правил.

Схожі дії виконує програма-майстер (wizard) . Як правило, майстри застосовують в системних програмах для інтерактивного спілкування з користувачем (наприклад, при інсталяції ПЗ). Головна відмінність майстрів від ЕС — відсутність бази знань; всі дії жорстко запрограмовані. Це просто набір форм для заповнення користувачем.

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

Тож ми бачимо обмеження методології експертних систем за наявності корисних якостей у коректних межах застосування.

Характеристики ЕС[ред.ред. код]

Експертна система відрізняється від інших прикладних програм наявністю таких ознак:[1]

  • Моделює механізм мислення людини при застосуванні для розв'язання задач в цій предметній області. Це істотно відрізняє експертні системи від систем математичного моделювання або комп'ютерної анімації. Однак, ЕС не повинні повністю відтворювати психологічну модель фахівця в цій області, а повинні лише відтворювати за допомогою комп'ютера деякі методики розв'язання проблем, що використовуються експертом.
  • Система, окрім виконання обчислювальних операцій, формує певні висновки, базуючись на тих знаннях, якими вона володіє. Знання в системі, зазвичай, описані деякою спеціалізованою мовою і зберігаються окремо від програмного коду, що формує висновки. Компонент збереження знань прийнято називати базою знань.
  • Під час розв'язання задач основну роль відіграють евристичні і наближені методи, що, на відміну від алгоритмічних, не завжди гарантують успіх. Евристика, в принципі, є правилом впливу (англ. rule of thumb), що в машинному вигляді відображає деяке знання, набуте людиною разом із накопичуванням практичного досвіду розв'язання аналогічних проблем. Такі методи є наближеними в тому сенсі, що, по-перше, вони не потребують вичерпної вихідної інформації, а, по-друге, існує певний ступінь впевненості (або невпевненості) в тому, що запропонований розв'язок є правильним.

Експертні системи відрізняються і від інших видів програм із галузі штучного інтелекту.

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

Відомі експертні системи[ред.ред. код]

Наприклад, можна навести такі відомі експертні системи:

  • CLIPS — мова програмування, використовується для створення експертних систем
  • Dendral — аналіз даних мас-спектрометрії
  • Dipmeter Advisor — аналіз даних, отриманих під час пошуку нафти
  • Jess — від англ. Java Expert System Shell, оболонка експертних систем на Java. Рушій CLIPS реалізований на мові програмування Java, використовується для створення експертних систем
  • MQL 4 — MetaQuotes Language 4, спеціалізована мова програмування для опису фінансової стратегії
  • Mycin — діагностика інфекційних хвороб крові та рекомендація антибіотиків
  • Prolog — мова програмування, використовується для створення експертних систем
  • R1 / XCON(експертна система) — обробка замовлень
  • SHINE Real-time Expert System — від англ. Spacecraft Health INference Engine, рушій для отримання даних про стан і безпеку космічного корабля
  • STD Wizard — експертна система для рекомендації та вибору медичних аналізів (діагностики)

Структура ЕС[ред.ред. код]

Структура типової експертної системи.[3]

Типові експертні системи можуть мати таку структуру:[4][2]

База знань складається з правил аналізу інформації від користувача з конкретної проблеми. ЕС аналізує ситуацію і, залежно від спрямованості ЕС, дає рекомендації з розв'язання проблеми.

ЕС створюється за допомогою двох груп людей:

  1. інженерів, які розробляють ядро ЕС і, знаючи організацію бази знань, заповнюють її за допомогою:
  2. експертів (експерта) за фахом.

Представлення знань[ред.ред. код]

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

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


Класифікація ЕС[ред.ред. код]

  • Класифікація ЕС за зв'язком з реальним часом
  • Класифікація ЕС за типом проблемного середовища
  • Класифікація за типом ЕОМ
  • Класифікація за ступенем інтеграції з іншими програмами
  • Класифікація ЕС за завданням, що вирішується

Етапи розробки ЕС[ред.ред. код]

  • Етап ідентифікації проблем - визначаються завдання, які підлягають вирішенню, виявляються цілі розробки, визначаються експерти і типи користувачів.
  • Етап витягання знань - проводиться змістовний аналіз проблемної області, виявляються поняття і їх взаємозв'язки, визначаються методи розв'язання задач.
  • Етап структуризації знань - обираються ІС і визначаються способи подання всіх видів знань, формалізуются основні поняття, визначаються способи інтерпретації знань, моделюється робота системи, оцінюється адекватність цілям системи зафіксованих понять, методів рішень, засобів представлення й маніпулювання знаннями.
  • Етап формалізації - здійснюється наповнення експертом бази знань. У зв'язку з тим, що основою ЕС є знання, даний етап є найбільш важливим і найбільш трудомістким етапом розробки ЕС. Процес придбання знань поділяють на вилучення знань з експерта, організацію знань, що забезпечує ефективну роботу системи, і представлення знань у вигляді, зрозумілому ЕС. Процес придбання знань здійснюється інженером зі знань на основі аналізу діяльності експерта з вирішення реальних завдань.
  • Реалізація ЕС - відбувається створення одного або декількох прототипів ЕС котрі вирішують поставлені задачі.
  • Етап тестування - проводиться оцінка обраного способу представлення знань в ЕС в цілому.

Переваги та слабкі місця експертних систем[ред.ред. код]

Експертні системи відзначаються певними перевагами над людьми-експертами при використанні. Зокрема, експертна система:

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

Але навіть найкращі з існуючих експертних систем мають певні обмеження у порівнянні з людиною-експертом, які зводяться до таких:

  • Більшість експертних систем не цілком придатні для широкого використання. Якщо користувач не має деякого досвіду роботи з цими системами, у нього можуть виникнути серйозні труднощі. Багато експертних систем доступні лише тим експертам, які створювали їх бази знань. Тому потрібно паралельно розробляти відповідний користувацький інтерфейс, який би забезпечив кінцевому користувачу властивий йому режим роботи;
  • "Навички" системи не завжди "зростають" після сеансу експертизи, навіть коли проявляються нові знання;
  • Все ще залишається проблемою приведення знань, отриманих від експерта, до вигляду, який забезпечував би їх ефективне використання;
  • Експертні системи, як правило, не можуть набувати якісно нових знань, не передбачених під час розробки, і тим більше не володіють здоровим глуздом. Людина-експерт при розв'язанні задач звичайно звертається до своєї інтуїції або здорового глузду, якщо відсутні формальні методи рішення або аналоги розв'язування даної проблеми.

[5] [6] [7] [8] [9] [10] [11] [12]

Сфера застосування та перспективи розвитку[ред.ред. код]

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

Експертна система стану двигуна SUN SMP 4000

Також експертні системи можна використовувати в прогнозуванні, плануванні, контролі, управлінні та навчанні. Наприклад, експертні системи вже застосовуються в банківській справі в таких напрямках:

  • програмах аналізу інвестиційних проектів;
  • програмах аналізу стану валютного, грошового та фондового ринку;
  • програмах аналізу кредитоспроможності чи фінансового стану підприємств і банків.

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

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

Джерела інформації[ред.ред. код]

  1. а б П. Джексон, «Введение в экспертные системы», Вильямс, 2001. ISBN 5-8459-0150-2, ISBN 0-201-87686-8
  2. а б Carol E. Brown та Daniel E. O'Leary, INTRODUCTION TO ARTIFICIAL INTELLIGENCE AND EXPERT SYSTEMS, переглянуто 7 лютого 2008
  3. Алгоритмы искусственного интеллекта на языке PROLOG, 3-е издание. : Пер. с англ. — М. : Издательский дом «Вильяме», 200-1. — 640 с. :ил. — Парал. тит. англ. ISBN 5-8459-0664-4
  4. Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. Учебник. — СПб.: Питер, 2000.
  5. Автоматизированные информационные технологии в экономике. Под. ред. Г.А.Титоренко - М. Компьютер ЮНИТИ, 1998, - 336 с.
  6. Бердтис А. Структуры данних. - М.: Статистика, 1974, - 408 с.
  7. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. -М.: Финансы и статистика, 1992.
  8. Бойков.В., Савинков В.М. Проектирование баз данных информационных систем. М. Мир 1997.
  9. Боэм Б.У. Инженерное программирование для проектирования программного обеспечения. -М.: Радио і связь, 1985, -512с.
  10. Вершинин О.В. Компьютер для менеджера. - М.: Высшая школа, 1990.
  11. Вычислительные машины, системы и сети/ Под ред. А.П.Пятибратова. - М.: Финансы и статистика, 1991.
  12. Герасименко В.А. Защита информации в автоматизированных системах обработки данных. - В 2-х кн. - М.: Энергоатомиздат, 1994.

Дивіться також[ред.ред. код]

Література[ред.ред. код]

Посилання[ред.ред. код]


Комп'ютер Це незавершена стаття про комп'ютери.
Ви можете допомогти проекту, виправивши або дописавши її.