Основні поняття дисципліни
Скачать 0.56 Mb.
|
Тема 7. Експертні системи в автоматизованих інформаційних системах. - 4 години Особливості та сфера застосування експертних систем. Структура експертних систем. Компоненти експертної системи. Особливості та сфера застосування експертних систем Однією з основних проблем у процесі розроблення систем штучного інтелекту є моделювання розумової діяльності людей при розв'язуванні складних задач із різних сфер людської діяльності. Тому основним напрямом розвитку штучного інтелекту стало розроблення систем, що імітують дії та мислення експерта у вузькій ПС. Поява експертних систем ознаменувала перехід від суто теоретичної сфери штучного інтелекту до прикладної. EC стали комерційним продуктом на ринку HIT завдяки своїй корисності при розв'язуванні складних важко структурованих і формалізованих задач із сфери бізнесу, управління, планування та діагностики. Експертні системи — комп'ютерні програми, здатні накопичувати знання і моделювати процес експертизи. Сформувався новий розділ інформатики — інженерія знань, завданням якої є створення технології виявлення знань та наповнення ними EC. Вони можуть бути корисними тільки тоді, коли добре відомими є способи пошуку рішення і експерт може точно описати логіку розв'язання задачі. У таблиці 75 наведено критерії застосовності EC. Таблиця 75 Критерії застосовності ЕС
Найперспективнішими напрямами щодо створення практичних програмних систем вважають:
Основні сфери застосування EC: Діагностика — визначення стану EC. Найвідомішими є медичні діагностичні системи, які використовуються для встановлення зв'язку між фактами порушення діяльності організму та можливими причинами виникнення порушень. Інтерпретація — визначення сутності даних, що спостерігаються. Інтерпретувальні системи можуть робити певні висновки на підставі результатів спостереження. Прогнозування — визначення наслідків ситуації. Прогнозуючі системи передбачають можливі результати або події на підставі даних про поточний стан об'єкта. Планування — визначення програми дій відповідно до певного критерію. Планувальні системи призначені для досягнення конкретних цілей при розв'язуванні задач з великим числом змінних. Контроль й управління — моніторинг і контролінг розвитку ситуації. Інтелектуальні системи можуть приймати рішення, аналізуючи дані, що надходять з кількох джерел. Такі системи застосовують в управлінні фінансовою діяльністю підприємства, сприяють прийняттю рішень у кризових ситуаціях. Навчання — здобуття певних знань й оцінювання результатів. EC можуть входити як складова частина до комп'ютерних систем навчання. EC одержує інформацію про діяльність особи, яка навчається, й оцінює дані, аналізуючи її поведінку. Структура експертної системи Ідеологію EC втілює формула ЗНАННЯ + ВИСНОВОК = СИСТЕМА. Основні компоненти структури EC подано на схемі 96. База знань (БЗ) використовується для зберігання знань про спеціалізовану ПС. Знання може бути закодоване в різних формах залежно від використовуваної схеми його подання. БЗ може також включати мета-знання, тобто знання про знання (спосіб мислення експерта). На відміну від звичайної БД, в ній зберігаються не тільки факти, а й правила, що дають змогу встановити нові факти. База даних (робоча пам'ять) використовується для зберігання основних фактів, переданих користувачем, і поточного стану проблеми з виведеними фактами. Механізм логічного висновку (МЛВ) імітує міркування експерта так само, як БЗ імітує його пам'ять. У цьому механізмі використовується зіставлення зі зразком або пошуковий підхід для звуження повного перебору чи уникнення комбінаторного вибуху на відміну від звичайних обчислювальних алгоритмів. Він може включати різні стратегії пошуку в просторі станів задачі: прямий пошук (від фактів до мети), зворотний пошук (від мети до фактів) та інші стратегії. Пояснювальна підсистема дає змогу користувачеві на питання ЧОМУ дізнатися, з яких причин система ухвалила саме таке рішення, а на питання ЯК з'ясувати, яким чином система дійшла такого висновку. Консультуюча підсистема дає користувачеві пораду, що необхідно зробити за конкретного результату розв'язання задачі. Підсистема здобуття знань дає змогу поповнити або модифікувати БЗ. Інтерфейс експерта використовується для доступу ДО БЗ через модуль здобуття знань, а інтерфейс користувача дає змогу користувачам системи мати доступ до неї в консультаційному режимі або в режимі пояснень. Компоненти експертної системи База знань. Однією з найскладніших задач побудови EC є задача побудови БЗ — системи, яка охоплює розроблення та заповнення структури БЗ. Процес формування БЗ є ітерактивним із можливим поверненням з подальшого етапу проектування на попередній. Одним із найскладніших моментів процесу формування БЗ, що зумовлює ітерактивні повернення, є здобуття знань від експерта з їх дальшою формалізацією. Оскільки багато висновків експерт вважає очевидними, а деякі використовує інтуїтивно, буває дуже важко одержати від нього зв'язну, логічно послідовну інформацію про процес розв'язування задачі. У будь-який момент часу в системі фігурують три типи знань:
Логіка предикатів. В основі подання знань засобами логіки предикатів є мова математичної логіки, що дає змогу формально описувати поняття ПС та зв'язок між ними у вигляді фактів і правил. Факт — це доведене твердження про об'єкт ПС. За широкого трактування об'єкта в EC фактами є фізичні об'єкти, поняття, дії, події. Кожний об'єкт описується властивостями, атрибутами, наприклад баланс (код рядка, сума, дата). Всі факти в БЗ поділяються на статичні та динамічні. Перші описують незмінні об'єкти, другі — об'єкти, атрибути яких змінюються в часі. Правило є імплікацією, поданою у такій формі: ЯКЩО <умова>, ТО <висновок>. Істинність висновку залежить від істинності умов, причому умови можуть бути простими і складними, пов'язаними відносинами І, АБО, НІ. Наприклад: "фірма А є конкурентом фірми В, якщо обидві вони продають один і той самий товар X в одному й тому самому регіоні Y". З кожним твердженням може бути пов'язане певне число в інтервалі від -1 до +1, яке відображає міру впевненості в істинності значення, що є неформальною оцінкою надійності фактів. До переваг подання знань у вигляді фактів і правил належать спрощення конструкції EC, модульний принцип побудови, можливість зміни та розширення БЗ, організація розпаралелювання міркувань. Семантичні мережі. Це найдавніша форма подання знань у теорії штучного інтелекту. Семантична мережа відображає сукупність об'єктів ПС та відносини між ними. Об'єктами є вершини (вузли) мережі, а відносинами — дуги, що з'єднують їх. У семантичну мережу включають тільки необхідні для розв'язання прикладних задач об'єкти ПС. Ними можуть бути події, дії, узагальнені поняття або властивості об'єктів. Вершини мережі з'єднуються дугою, якщо відповідні об'єкти ПС знаходяться в певному відношенні. Найпоширенішими є такі типи відношень: БУТИ — означає, що об'єкт належить до певного класу; МАТИ — дає змогу задавати властивості об'єктів; БУТИ НАСЛІДКОМ — відображає причинно-наслідкові зв'язки. В EC не встановлюються обмеження на форму та особливості зв'язків. Зв'язана структура може бути деревоподібною, мережною, мати цикли та петлі. Семантична мережа придатна для подання не тільки фактичної інформації, а й правил логічного висновку. Для логічного висновку в ній потрібно створити причинно-на-слідкові зв'язки. Основна перевага семантичних мереж — наочність — стає недоліком за значного збільшення обсягу БЗ. Для подолання таких труднощів використовується метод ієрархіїзації мереж (виділення на них локальних підмереж). Фрейми. БЗ комерційних EC містять понад тисячу правил. У зв'язку з цим процес оновлення складу правил і контроль зв'язків між ними стають складними, оскільки правила, що додаються, можуть дублювати ті, які існують, або вступати з ними у протиріччя. Для виявлення таких фактів можна використати програмні засоби, але включення їх у роботу системи призводить до втрати роботоздатності системи, оскільки інженер втрачає уявлення про те, як взаємодіють правила. Мережа, що відображає взаємозв'язки правил у таких ситуаціях, стає громіздкою і заплутаною. Подання знань, що ґрунтується на фреймах, є альтернативним відносно логіки предикатів: воно дає змогу зберігати родовидову ієрархію понять у БЗ в явній формі. Фрейм — це структура для опису стереотипної ситуації, що складається з характеристик цієї ситуації та їхніх значень. Характеристики називають слотами, а значення — заповнювачами слотів. Слот може містити не тільки конкретне значення, а й ім'я процедури, що дає змогу обчислити його за заданим алгоритмом, а також установити одне або кілька правил, за допомогою яких це значення можна знайти. Сукупність фреймів, що моделює яку-небудь ПС, є ієрархічною структурою, в якій фрейми з'єднуються за допомогою родовидових зв'язків. Системи фреймів є статичними та динамічними. У статичних системах фрейми не можуть бути змінені у процесі розв'язування задачі, в динамічних це допустиме. Системи програмування, що ґрунтуються на фреймах, є об'єктно-орієнтованими, оскільки кожний фрейм відповідає конкретному об'єкту ПС, а слоти містять дані, що описують цей об'єкт. Фрейм може бути поданий у вигляді переліку властивостей, за використання засобів БД — у вигляді запису. Перевагою фреймів є реалізація в них декларативних (набір безумовних й умовних тверджень) і процедурних (алгоритми поведінки в певній ситуації) знань. Зручні фрейми також для побудови могутніх графічних інтерфейсів з наочним поданням глибоких причинно-наслідкових зв'язків. Механізм логічного висновку. Цей механізм здійснює пошук рішення побудовою ланцюжків логічних доведень. МЛВ — це програма, що працює з БД, виконуючи логічні й арифметичні операції. Він імітує процес міркувань експерта так само, як БЗ імітує його пам'ять. У процесі формування логічного висновку МЛВ формулює власне висновок та керує ним. Висновок обмежується обробленням правил, враховуючи існуючі правила і факти з робочої пам'яті та додаючи в неї нові факти при спрацюванні певного правила. Дія компонента висновку ґрунтується на застосуванні правила висновку. Його суть полягає у формулі: нехай відомо, що істинним є твердження А й існує правило вигляду "ЯКЩО А, ТО В"; тоді твердження В також є істинним. Правило спрацьовує за кількості фактів, що задовольняють його ліву частину: якщо умова істинна, то має бути істинним також висновок. Керуючий компонент включає послідовність і принципи виконання правил. Цей механізм керує процесом консультації, зберігаючи для користувача інформацію про здобуті висновки, і запитує в нього інформацію, коли для спрацювання чергового правила в базі фактів не вистачає даних. Керуючий компонент виконує такі функції:
Механізм логічного висновку працює циклічно. В кожному циклі він переглядає всі правила, щоб виявити серед них ті, умови яких збігаються з відомими на даний момент фактами з робочої області. МЛВ визначає також порядок застосування правил. Після вибору правило спрацьовує, його висновок заноситься в робочу пам'ять (базу фактів). Потім цикл повторюється знову. Більшість реальних проблем — слабко структуровані, тобто визначення початкового та остаточного станів, вибір операторів є частиною проблеми, простір рішень — не обмежений. З усіх проблем МЛВ головними є:
Найпростішими методами вирішення першої проблеми є прямий ланцюжок (від фактів до мети) і зворотний (від мети до фактів) ланцюжок міркувань. Прямий висновок більш загальний, оскільки він дає змогу переглянути все дерево можливих рішень і знайти всі проміжні вершини. При цьому, очевидно, втрачається одна з основних переваг EC — можливість швидкого знаходження рішення у великому просторі пошуку. В цьому випадку необхідно передбачити апарат відсікання окремих гілок дерева рішення з метою скорочення простору пошуку, який нерідко може виявитися нескінченним. Зворотний висновок служить механізмом перевірки гіпотез і тому завжди приводить до рішення про істинність або помилковість гіпотези. Однак, якщо простір ймовірних гіпотез великий і відсутні застереження про їх прийнятність, то зворотний висновок не ефективніший від прямого. На практиці у процесі розв'язування задач у реальних ПС доцільно поєднувати на різних етапах роботи прямий та зворотний МЛВ. Для вирішення другої проблеми використовують пошук "У глибину" і "вшир". У першому випадку процес розвивається за однією з гілок дерева рішення до термінальних (кінцевих) вершин. Якщо виявлені вершини не будуть рішенням, то досліджується наступна гілка (як правило, зліва направо), і процес продовжується в режимі "відкату із забуванням". Другий режим управління висновком зводиться до дослідження всіх гілок дерева рішень, що виходять із початкового пункту завдовжки в один маршрут. Найдоцільнішим є поєднання пошуку "вшир" із пошуком "у глибину", що зводиться до перегляду кожної гілки дерева рішення просуванням не на один крок, а на число кроків, встановлене самою EC. У поєднанні з відсіканням гілок за результатами перегляду цей метод, як і поєднання прямого та зворотного висновків, є найоптимальнішим. Логічний висновок поділяється на монотонний і немонотонний. За монотонного висновку здобуті у процесі роботи системи факти не переглядають, тобто вважаються істинними до закінчення її роботи. За немонотонного висновку факти не зберігають свою істинність у процесі роботи системи. Немонотонність висновку важлива при роботі EC з динамічним зовнішнім середовищем, особливо при функціонуванні в реальному масштабі часу. Підсистема набуття знань. Ця підсистема призначена для додання в БЗ нових правил і модифікації існуючих, її завданням є зведення правил до такого стану, який дає змогу МЛВ застосовувати їх у процесі роботи. У найпростішому випадку така підсистема може діяти як звичайний редактор або текстовий процесор, який просто заносить правила у файл. У складніших системах передбачено спеціальний інтерфейс інженера знань й експерта. Конкретна реалізація підсистеми залежить від:
Залежно від структури БЗ підсистема транслює знання в різні форми файлових структур. З урахуванням конкретних вимог розробники можуть наділити підсистему набуття знань, крім транслюючих, деякими аналітичними функціями. Найпоширенішими з них є функції перевірки нового елемента БЗ на несуперечність з існуючими знаннями, перевірки на відсутність циклів у роботі МЛВ, перевірки повноти БЗ. Підсистема пояснення. Комп'ютерна програма, яка не спроможна пояснити свої дії та переконати користувача у правильності висновків, не вважається EC. Підсистема пояснення має відповісти на питання, як виведено логічний висновок і як EC має намір його надалі використати. Розвинена підсистема пояснення складається з компонентів:
Активний компонент підсистеми пояснення є розгорненим коментарем, що супроводжує здобуті системою дії та результати. Пасивний компонент, крім розвиненої системи HELP, має засоби пояснень розв'язування задачі. Система пояснення в EC реалізується різними способами. Це може бути:
Важливою особливістю розвиненої підсистеми пояснення є використання в ній природної мови спілкування з користувачем. Широке застосування систем меню дає змогу не тільки диференціювати інформацію, а й судити про рівень підготовленості користувача, формуючи його психологічний портрет. |