Створення експертних систем

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

скачати

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

Комп'ютеризація суспільства - один з основних напрямів науково-технічного прогресу - викликала істотні зміни в технології розробки та використання програмних засобів.

Ці зміни були підготовлені всім розвитком теорії і практики штучного інтелекту (ШІ), найбільш істотним результатом якого став перехід до так званої нової інформаційної технології і створення "експертних систем (ЕС).

Перші ЕС-медичні mycin і dendral для додатків по хімії з'явилися в середині 70-х років в рамках дослідницьких програм по штучному інтелекту. Вже перші ЕС виявилися корисними. Медична система mycin успішно вписалася в клінічну практику, допомагаючи у виборі ліків хворим з бактеріємією, менінгітом, циститом.

Ідеологію ЕС можна виразити формулою: знання + виведення = система. ЕС передбачає взаємодію блоків. Головні з них - база знань і механізм виведення.

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

Ці зміни стали можливими завдяки двом основним факторам: виділенню в алгоритмі програми деякої універсальної частини (логічного виведення) і відділенню її від частини, що залежить від предметної області (бази знань); підвищення рівня взаємодії користувача і комп'ютерної програми, тобто появи інтелектуального інтерфейсу в програмах ШІ.

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

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

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

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

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

Штучний інтелект давно став джерелом нових технологічних прийомів, рішень, які широко увійшли в практику програмування, так, в роботах по штучному інтелекту беруть свій початок такі ідеї, як поділ часу, обробка списків, редагування та налагодження програм в діалоговому режимі, евристичне програмування, графічний інтерфейс, використання поліекранної дисплея і маніпулятора типу "миша 'та ін

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

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

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

Традиційно процес розпізнавання поділяється на два етапи: навчання та власне розпізнавання. Перший етап індуктивний, другий - дедуктивний.

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

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

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

Експертні системи орієнтовані на вирішення широкого кола завдань в неформалізованих областях, рішення задачі розпізнавання образів у таких областях передбачає складання описів об'єктів і правил, що визначають по цих описів приналежність об'єктів до тих чи інших класах. Процедури застосування таких правил до будь-яких об'єктів в експертних системах підпорядковуються різним стратегіям. Найбільш часто застосовуються стратегії прямого чи оберненого виведення. Використовуються також комбіновані стратегії, стратегії на основі так званої дошки оголошень. Прямий висновок - це висновок, що направляється цілями (правилами) до даних. Зворотний висновок - це висновок, що направляється даними до цілей. У складних експертних системах (наприклад, розуміння мови) жоден з джерел знань системи не може гарантувати одиничності і правильності одержуваних їм результатів, для того щоб помилка одного джерела знання не впливала фатальним чином на роботу інших, джерела знання повинні розглядатися як незалежні. Однак, так як всі джерела знання вирішують загальну задачу, від них вимагається взаємодію. Щоб задовольнити ці вимоги, був запропонований механізм дошки оголошень.

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

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

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

Рішення представляють гіпотези і рішення, висунуті в якості можливих кандидатів, разом з залежностями, що зв'язують одне рішення з іншим.

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

Таким чином, експертна система - це комп'ютерна програма з деякими відмінностями в структурі і характеристиках у порівнянні з традиційними програмами.

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

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

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

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

Еволюція засобів розробки ЕС може бути розбита на чотири етапи. Для цієї еволюції характерні дві тенденції: збільшення рівня охоплення етапів життєвого циклу ЕС; рух від використання дискретних коштів до все більш інтегрованим цілісним системам.

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

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

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

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

Проектування великих програмних засобів є складною проблемою. розбиття життєвого циклу на кілька етапів (аналіз вимог, специфікації, проектування, реалізація, тестування і налагодження, робота і супровід) спрямовано на зменшення складності проектування шляхом ізолювання та впорядкування важливих завдань у процесі розробки.

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

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

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

Тестування експертних систем відрізняється від тестування звичайних систем.

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

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

По-третє, кількість способів, якими можуть бути активізовані правила, дуже велика, щоб користуватися засобами покриття гілок та шляхів.

Макетування є єдиним ефективним способом тестування експертної системи.

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

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

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

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

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

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

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

При розробці ЕС необхідно починати роботу з створення "паперової" її моделі. Ця модель формується в процесі спілкування з експертом. При цьому виділяються основні поняття, якими оперує експерт, формується тезаурус системи. Після цього на кількох нескладних прикладах детально аналізується метод, яким експерт вирішує такого роду завдання. Таким чином розробляється алгоритм задачі.

У базі знань у деякому закодованому виді зберігаються формалізовані знання експерта. На сучасному етапі розвитку ЕС використовується кілька форм представлення знань. Виділимо з них чотири основні:

1. "Трійка" об'єкт-атрибут-значення, наприклад: будинок-колір-зелений; пацієнт-температура-висока. Ця форма представлення знань визначає "об'єкт", що володіє деякими атрибутами (властивостями), які можуть приймати значення з відомого набору.

2.Право продукцій у вигляді: Якщо пацієнт хворий грипом І стадія захворювання початкова, ТО температура висока з імовірністю = 0.95 І головний біль є з імовірністю = 0.8.

Правило продукції складається з двох частин: посилки (ЯКЩО) і висновку (ТЕ), кожна з яких складається з кон'юнкції тверджень більш низького рівня деталізації.

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

4.Семантіческая мережу. Це орієнтований граф, вершини якого відповідають об'єктам (подіям), а дуги описують відносини між вершинами.

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

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

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

Семантичні мережі споконвічно виникли як модель довгострокової людської пам'яті в психології. Великий інтерес до роботи із семантичними мережами виявляють розроблювачі систем взаємодії на природних мовах.

На сучасному етапі робіт в області ЕС нерідко використовується змішана форма представлення знань. Такі ЕС називаються гібридними.

Додати в блог або на сайт

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

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


Схожі роботи:
Когнітологічні моделі вилучення експертних знань для створення експертних систем
Інтерфейси експертних систем
Застосування в інформаційній діяльності організації або установи експертних систем
Особливості реалізації експертних систем на базі логічної моделі знань
Створення техноприродних систем
Практика створення інформаційних систем в організаціях
Методичні підходи до створення інтегрованих систем управління
Створення систем управління балістичними ракетами підводних човнів
Особливості створення інформаційного забезпечення систем організаційного управління
© Усі права захищені
написати до нас