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

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Призначення експертних систем

На початку вісімдесятих років у дослідженнях зі штучного інтелекту сформувався самостійний напрямок, що одержав назву «експертні системи» (ЕС). Мета досліджень з ЕС полягає в розробці програм, які при вирішенні завдань, важких для експерта-людини, отримують результати, які не поступаються за якістю і ефективності рішень, одержуваним експертом. Дослідники в області ЕС для назви своєї дисципліни часто використовують також термін «інженерія знань», введений Е. Фейгенбаум як «привнесення принципів та інструментарію досліджень з області штучного інтелекту у вирішення важких прикладних проблем, які потребують знань експертів».
Програмні засоби (ПС), що базуються на технології експертних систем, або інженерії знань (надалі будемо використовувати їх як синоніми), набули значного поширення у світі. Важливість експертних систем полягає в наступному:
· Технологія експертних систем істотно розширює коло практично значущих завдань, що вирішуються на комп'ютерах, вирішення яких приносить значний економічний ефект;
· Технологія ЕС є найважливішим засобом у вирішенні глобальних проблем традиційного програмування: тривалість і, отже, висока вартість розробки великих програм;
· Висока вартість супроводу складних систем, яка часто в кілька разів перевершує вартість їх розробки; низький рівень повторної використовуваних програм і т.п.;
· Об'єднання технології ЕС з технологією традиційного програмування додає нові якості до програмних продуктів за рахунок: забезпечення динамічної модифікації додатків користувачем, а не програмістом; більшої «прозорості» додатка (наприклад, знання зберігаються на обмеженому ЕЯ, що не потребує коментарів до знань, спрощує навчання та супровід); кращої графіки; інтерфейсу і взаємодії.
На думку провідних фахівців, в недалекій перспективі ЕС знайдуть наступне застосування:
· ЕС будуть відігравати провідну роль у всіх фазах проектування, розробки, виробництва, розподілу, продажу, підтримки і надання послуг;
· Технологія ЕС, що отримала комерційне поширення, забезпечить революційний прорив в інтеграції додатків з готових інтелектуально-взаємодіючих модулів.
ЕС призначені для так званих неформалізованих задач, тобто ЕС не відкидають і не замінюють традиційного підходу до розробки програм, орієнтованого на рішення формалізованих завдань.
Неформалізовані задачі зазвичай володіють наступними особливостями:
· Ошибочностью, неоднозначністю, неповнотою і суперечливістю вихідних даних;
· Ошибочностью, неоднозначністю, неповнотою і суперечливістю знань про проблемну області і розв'язуваної задачі;
· Великою розмірністю простору рішення, тобто перебір у пошуку рішення дуже великий;
· Динамічно змінюються даними і знаннями.
Слід підкреслити, що неформалізовані задачі представляють великий і дуже важливий клас задач. Багато фахівців вважають, що ці завдання є найбільш масовим класом задач, розв'язуваних ЕОМ.
Експертні системи і системи штучного інтелекту відрізняються від систем обробки даних тим, що в них в основному використовуються символьний (а не числовий) спосіб представлення, символьний вивід і евристичний пошук рішення (а не виконання відомого алгоритму).
Експертні системи застосовуються для рішення тільки важких практичних (не іграшкових) завдань. За якістю і ефективності вирішення експертні системи не поступаються рішенням експерта-людини. Рішення експертних систем мають «прозорістю», тобто можуть бути пояснені користувачеві на якісному рівні. Це якість експертних систем забезпечується їх здатністю міркувати про свої знання і умовиводах. Експертні системи здатні поповнювати свої знання в ході взаємодії з експертом. Необхідно відзначити, що в даний час технологія експертних систем використовується для вирішення різних типів завдань (інтерпретація, прогноз, діагностика, планування, конструювання, контроль, налагодження, інструктаж, управління) в найрізноманітніших проблемних областях, таких, як фінанси, нафтова і газова промисловість , енергетика, транспорт, фармацевтичне виробництво, космос, металургія, гірнича справа, хімія, освіта, целюлозно-паперова промисловість, телекомунікації і зв'язок та ін
Комерційні успіхи до фірмам-розробникам систем штучного інтелекту (СІІ) прийшли не відразу. Протягом 1960-1985 рр.. успіхи ШІ стосувалися в основному дослідних розробок, які демонстрували придатність СІІ для практичного використання. Починаючи приблизно з 1985 р. (в масовому масштабі з 1988-1990 рр..), В першу чергу ЕС, а в останні роки системи, сприймають природну мову (ЕЯ-системи), і нейронні мережі (НС) стали активно використовуватися в комерційних додатках .
Слід звернути увагу на те, що деякі фахівці (як правило, фахівці в програмуванні, а не в ІІ) продовжують стверджувати, що ЕС і СІІ не виправдали сподівань, які на них очікувань і померли. Причини таких помилок полягають у тому, що ці автори розглядали ЕС як альтернативу традиційному програмування, тобто вони виходили з того, що ЕС на самоті (в ізоляції від інших програмних засобів) повністю вирішують завдання, що стоять перед замовником. Треба відзначити, що на зорі появи ЕС специфіка використовуваних в них мов, технології розробки додатків і використовуваного обладнання (наприклад, Lisp-машини) давала підстави припускати, що інтеграція ЕС з традиційними, програмними системами є складною і, можливо, нездійсненним завданням при обмеженнях, накладених реальними додатками. Проте в даний час комерційні інструментальні засоби (ІС) для створення ЕС розробляються у повній відповідності з сучасними технологічними тенденціями традиційного програмування, що знімає проблеми, що виникають при створенні інтегрованих програм.
Причини, що призвели СІІ до комерційного успіху, наступні.
Інтегрованість. Розроблені інструментальні засоби штучного інтелекту (ІС ІІ), легко інтегруються з іншими інформаційними технологіями та засобами (з CASE, СУБД, контролерами, концентраторами даних тощо).
Відкритість і переносимість. ІС ШІ розробляються з дотриманням стандартів, що забезпечують відкритість і переносимість [14].
Використання мов традиційного програмування і робочих станцій. Перехід від ІВ ШІ, реалізованих на мовах ІІ (Lisp, Prolog і т.п.), до ІС ШІ, реалізованим на мовах традиційного програмування (С, C + + і т.п.), спростив забезпечення інтегрованої ванность, знизив вимоги додатків ІІ до швидкодії ЕОМ і обсягами оперативної пам'яті. Використання робочих станцій (замість ПК) різко збільшило коло програм, які можуть бути виконані на ЕОМ з використанням ІС ШІ.
Архітектура клієнт-сервер. Розроблені ІС ШІ, що підтримують розподілені обчислення по архітектурі клієнт-сервер, що дало змогу: знизити вартість обладнання, використовуваного в додатках, децентралізувати програми, підвищити надійність і загальну продуктивність (оскільки скорочується кількість інформації, що пересилається між ЕОМ, і кожен модуль програми виконується на адекватному йому обладнанні).
Проблемно / предметно-орієнтовані ІС ШІ. Перехід від розробок ІС ІІ загального призначення (хоча вони не втратили своє значення як засіб для створення орієнтованих ІС) до проблемно / предметно-орієнтованим ІС ШІ [9] забезпечує: скорочення термінів розробки додатків; збільшення ефективності використання ІС; спрощення і прискорення роботи експерта; повторну використовуванність інформаційного та програмного забезпечення (об'єкти, класи, правила, процедури).
Про експертні системах (ЕС) можна говорити багато і складно. Але наша розмова дуже спроститься, якщо ми будемо виходити з наступного визначення експертної системи. Експертна система - це програма (на сучасному рівні розвитку людства), яка замінює експерта у тій чи іншій галузі.
Звідси випливає простий висновок - все, що ми вивчаємо в курсі «Основи проектування систем з ІІ», кінцевою метою ставить розробку ЕС. У цьому розділі ми зупинимося тільки на деяких особливостях їх побудови, які не зачіпаються в інших розділах.
ЕС призначені, головним чином, для вирішення практичних завдань, що виникають у слабо структурованої і важко формалізується предметної області. ЕС були першими системами, які привернули увагу потенційних споживачів продукції штучного інтелекту.
З ЕС пов'язані деякі поширені помилки.
Помилка перша: ЕС будуть робити не більше (а скоріше навіть менше) того, чим може експерт, який створив цю систему. Для спростування цього постулату можна побудувати самонавчальну ЕС в області, у якій взагалі немає експертів, або об'єднати в одній ЕС знання декількох експертів, і отримати в результаті систему, яка може те, чого ні один з її творців не може.
Помилка друга: ЕС ніколи не замінить людини-експерта. Вже замінює, інакше навіщо б їх створювали?
Експертні системи, методика побудови
В даний час склалася певна технологія розробки ЕС, яка включає наступні шість етапів: ідентифікація, концептуалізація, формалізація, виконання, тестування та дослідна експлуатація.
Типова статична ЕС складається з наступних основних компонентів:
· Розв'язувача (інтерпретатора);
· Робочої пам'яті (РП), званої також базою даних (БД);
· Бази знань (БЗ);
· Компонентів придбання знань;
· Пояснювального компонента;
· Діалогового компонента.
База даних (робоча пам'ять) призначена для зберігання вихідних і проміжних даних розв'язуваної в поточний момент завдання. Цей термін збігається за назвою, але не за змістом з терміном, використовуваним в інформаційно-пошукових системах (ІПС) і системах управління базами даних (СКБД) для позначення всіх даних (в першу чергу довгострокових), що зберігаються в системі.
База знань (БЗ) в ЕС призначена для зберігання довгострокових даних, що описують дану область (а не поточних даних), і правил, що описують доцільні перетворення даних цієї області.
Решатель, використовуючи вихідні дані з робочої пам'яті та знання із БЗ, формує таку послідовність правил, які, будучи застосованими до вихідних даних, призводять до вирішення завдання.
Компонент придбання знань автоматизує процес наповнення ЕС знаннями, здійснюваний користувачем-експертом.
Пояснювальний компонент пояснює, як система отримала розв'язок задачі (або чому вона не отримала рішення) і які знання вона при цьому використовувала, що полегшує експерту тестування системи та підвищує довіру користувача до отриманого результату.

Діалоговий компонент орієнтований на організацію дружнього спілкування з користувачем як у ході вирішення завдань, так і в процесі набуття знань і пояснення результатів роботи.
У розробці ЕС беруть участь представники наступних спеціальностей:
експерт в проблемній області, завдання якої буде вирішувати ЕС;
інженер по знаннях - спеціаліст з розробки ЕС (використовувані їм технологію, методи називають технологією (методами) інженерії знань);
програміст з розробки інструментальних засобів (ІС), призначених для прискорення розробки ЕС.
Необхідно зазначити, що відсутність серед учасників розробки інженерів по знаннях (тобто їх заміна програмістами) або призводить до невдачі процес створення ЕС, або значно подовжує його.
Експерт визначає знання (дані та правила), що характеризують проблемну область, забезпечує повноту та правильність введених в ЕС знань.
Інженер по знаннях допомагає експерту виявити і структурувати знання, необхідні для роботи ЕС; здійснює вибір того ІС, яке найбільш підходить для даної проблемної області, і визначає спосіб представлення знань у цьому ІС; виділяє і програмує (традиційними засобами) стандартні функції (типові для даної проблемної області), які будуть використовуватися в правилах, що вводяться експертом.
Програміст розробляє ІС (якщо ІВ розробляється заново), що містить в межі всі основні компоненти ЕС, і здійснює його пару з тим середовищем, в якій вона буде використана.
Експертна система працює в двох режимах: режимі придбання знань і в режимі рішення задачі (званому також режимом консультації або режимом використання ЕС).
У режимі придбання знань спілкування з ЕС здійснює (через посередництво інженера по знаннях) експерт. У цьому режимі експерт, використовуючи компонент придбання знань, наповнює систему знаннями, які дозволяють ЕС в режимі рішення самостійно (без експерта) вирішувати завдання з проблемної області. Експерт описує проблемну область у вигляді сукупності даних і правил. Дані визначають об'єкти, їх характеристики і значення, що існують у галузі експертизи. Правила визначають способи маніпулювання з даними, характерні для даної області.
Відзначимо, що режиму набуття знань у традиційному підході до розробки програм відповідають етапи алгоритмізації, програмування і налагодження, виконувані програмістом. Таким чином, на відміну від традиційного підходу у разі ЕС розробку програм здійснює не програміст, а експерт (за допомогою ЕС), який не володіє програмуванням.
У режимі консультації спілкування з ЕС здійснює кінцевий користувач, якого цікавить результат і (або) спосіб його одержання. Необхідно відзначити, що в залежності від призначення ЕС користувач може не бути фахівцем у цій проблемної області (у цьому випадку він звертається до ЕС за результатом, не вміючи отримати його сам), або бути фахівцем (в цьому випадку користувач може сам отримати результат, але він звертається до ЕС з метою або прискорити процес отримання результату, або покласти на ЕС рутинну роботу). У режимі консультації дані про завдання користувача після обробки їх діалоговим компонентом надходять в робочу пам'ять. Решатель на основі вхідних даних з робочої пам'яті, загальних даних про проблемної області та правил з БЗ формує рішення задачі. ЕС при вирішенні завдання не лише виконує визначену послідовність операції, а й попередньо формує її. Якщо реакція системи не зрозуміла користувачеві, то він може вимагати пояснення:
«Чому система задає те чи інше питання?», «Як відповідь, що збирається системою, отриманий?».
Структуру, наведену на рис. 1.1, називають структурою статичної ЕС. ЕС даного типу використовуються в тих додатках, де можна не враховувати зміни навколишнього світу, що відбуваються за час вирішення задачі. Перші ЕС, отримали практичне використання, були статичними.


На рис. 1.2 показано, що в архітектуру динамічної ЕС у порівнянні зі статичним ЕС вводяться два компоненти: підсистема моделювання зовнішнього світу і підсистема зв'язку із зовнішнім оточенням. Остання здійснює зв'язки із зовнішнім світом через систему датчиків та контролерів. Крім того, традиційні компоненти статичної ЕС (база знань і машина виводу) зазнають істотних змін, щоб відобразити тимчасову логіку відбуваються в реальному світі подій.
Підкреслимо, що структура ЕС, представлена ​​на рис. 1.1 та 1.2, відображає тільки компоненти (функції), і багато чого залишається «за кадром». На рис. 1.3 наведена узагальнена структура сучасного ІВ для створення динамічних ЕС, що містить крім основних компонентів ті можливості, які дозволяють створювати інтегровані застосування відповідно з сучасною технологією програмування.

Етапи розробки експертних систем

Розробка ЕС має суттєві відмінності від розробки звичайного програмного продукту. Досвід створення ЕС показав, що використання при їх розробці методології, прийнятої в традиційному програмуванні, або надмірно затягує процес створення ЕС, або взагалі призводить до негативного результату.
Використовувати ЕС слід тільки тоді, коли розробка ЕС можлива, виправдана і методи інженерії знань відповідають розв'язуваної задачі. Щоб розробка ЕС була можливою для даного продукту, необхідно одночасне виконання принаймні наступних вимог:
· Існують експерти в даній галузі, які вирішують завдання значно краще, ніж фахівці, що починають;
· Експерти сходяться в оцінці запропонованого рішення, інакше не можна буде оцінити якість розробленої ЕС;
· Експерти здатні вербализовать (висловити на природній мові) і пояснити використовувані ними методи, в іншому випадку важко розраховувати на те, що знання експертів будуть «витягнуті» і вкладені в ЕС;
· Рішення завдання вимагає тільки міркувань, а не дій;
· Завдання не повинна бути занадто важкою (тобто її рішення має займати в експерта кілька годин чи днів, а не тижнів);
· Завдання хоча і не повинна бути виражена у формальному вигляді, але все ж таки повинна ставитися до досить «зрозумілою» і структурованої області, тобто повинні бути виділені основні поняття, відношення та відомі (хоча б експерту) способи одержання рішення задачі;
· Рішення завдання не повинно значною мірою використовувати «здоровий глузд» (тобто широкий спектр загальних відомостей про світ і про спосіб його функціонування, які знає і вміє використовувати будь-який нормальний чоловік), так як подібні знання поки не вдається (в достатній кількості) вкласти в системи штучного інтелекту.
Використання ЕС в цьому додатку може бути можливо, але не виправдано. Застосування ЕС може бути виправдано одним з таких чинників:
· Рішення завдання принесе значний ефект, наприклад економічний;
· Використання людини-експерта неможливо або із-за недостатньої кількості експертів, або через необхідність виконувати експертизу одночасно в різних місцях;
· Використання ЕС доцільно в тих випадках, коли при передачі інформації експерту відбувається неприпустима втрата часу або інформації;
· Використання ЕС доцільно при необхідності вирішувати завдання в оточенні, ворожому для людини.
Додаток відповідає методам ЕС, якщо можна вирішити завдання володіє сукупністю наступних характеристик:
1. завдання може бути природним чином вирішена за допомогою маніпуляції з символами (тобто за допомогою символічних міркувань), а не маніпуляцій з числами, як прийнято в математичних методах і в традиційному програмуванні;
2. завдання повинна мати евристичну, а не алгоритмічну природу, тобто її рішення має вимагати застосування евристичних правил. Завдання, які можуть бути гарантовано вирішені (з дотриманням заданих обмежень) за допомогою деяких формальних процедур, не підходять для застосування ЕС;
3. завдання має бути досить складна, щоб виправдати витрати на розробку ЕС. Однак вона не повинна бути занадто складною (рішення займає в експерта годинник, а не тижні), щоб ЕС могла її вирішувати;
4. завдання має бути досить вузької, щоб вирішуватися методами ЕС, і практично значущою.
При розробці ЕС, як правило, використовується концепція «швидкого прототипу». Суть цієї концепції полягає в тому, що розробники не намагаються відразу побудувати кінцевий продукт. На початковому етапі вони створюють прототип (прототипи) ЕС. Прототипи повинні задовольняти двом суперечливим вимогам: з одного боку, вони повинні вирішувати типові завдання конкретного додатка, а з іншого - час і трудомісткість їх розробки повинні бути досить незначні, щоб можна було максимально запаралелити процес накопичення та налагодження знань (здійснюваний експертом) з процесом вибору (розробки) програмних засобів (здійснюваним інженером по знаннях і програмістом). Для задоволення зазначеним вимогам, як правило, при створенні прототипу використовуються різноманітні засоби, що прискорюють процес проектування.
Прототип має продемонструвати придатність методів інженерії знань для цього додатка. У разі успіху експерт з допомогою інженера по знаннях розширює знання прототипу про проблемної області. При невдачі може знадобитися розробка нового прототипу або розробники можуть прийти до висновку про непридатність методів ЕС для цього додатка. У міру збільшення знань прототип може досягти такого стану, коли він успішно вирішує всі завдання цього додатка. Перетворення прототипу ЕС в кінцевий продукт зазвичай призводить до перепрограмуванню ЕС на мовах низького рівня, що забезпечують як збільшення швидкодії ЕС, так і зменшення необхідної пам'яті. Трудомісткість і час створення ЕС значною мірою залежать від типу використовуваного інструментарію.
У ході робіт зі створення ЕС склалася певна технологія їх розробки, що включає шість наступних етапів (рис. 1.4):
ідентифікацію, концептуалізацію, формалізацію, виконання, тестування, дослідну експлуатацію. На етапі ідентифікації визначаються завдання, які підлягають вирішенню, виявляються цілі розробки, визначаються експерти і типи користувачів.

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

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
43.6кб. | скачати


Схожі роботи:
Експертні системи 2
Експертні системи та їх використання
Експертні системи управління
Патентна експертиза та експертні системи
Експертні системи 2 Вивчення технології
Експертні системи як прикладна галузь штучного інтелекту
Експертні системи в дослідженнях умов і методів обробки нових матеріалів
Експертні методи в психодіагностиці
Експертні методи дослідження систем управління
© Усі права захищені
написати до нас
Рейтинг@Mail.ru