МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
«ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра:
Автоматизовані системи управління
Звіт
до лабораторної роботи №1
Створення власної простої бази знань для вирішення задачі класифікації
Експертна система (ЕС) – це прикладна система штучного інтелекту, що використовує формалізовані емпіричні знання фахівців з деякої вузько спеціалізованої предметної області та здатна в межах цієї області приймати рішення на рівні експерта-професіонала.
Експертними системами зазвичай заміняють експертів у небезпечних чи шкідливих умовах (наприклад, в умовах радіоактивного зараження) або для оперативної оцінки ситуації та ухвалення рішень, коли особиста участь експерта утруднена або неможлива (наприклад, на кораблях далекого плавання).
Приклади сфер застосування ЕС:
інтерпретація даних експериментів,
виявлення хімічних і біологічних структур,
прогнозування подій після природних або техногенних катастроф,
діагностика несправностей техніки або захворювань людини,
планування цільових експериментів,
пошук корисних копалин,
керування наземним транспортом,
тощо.
Метою досліджень в області експертних систем є розробка таких програм (пристроїв), що при вирішенні важких для експерта-людини завдань одержують не гірші за якістю та ефективністю результати, в порівнянні з експертними результатами. У більшості випадків ЕС вирішують важкоформалізовувані завдання або такі, що не мають алгоритмічного рішення.
Класифікація експертних систем:
Основні задачі, що ставляться для ЕС, описані нижче:
Інтерпретація – аналіз спостережуваних даних чи ситуацій з метою визначення їх змісту чи опису. Прикладом ЕС такого типу є SIAP, що використовується для виявлення та ідентифікації різних типів океанських суден.
Діагностика – класифікація та пошук несправностей у живих чи неживих системах, що базуються на результатах інтерпретації. Прикладом діагностичної ЕС є ANGY, що допомагає здійснювати діагностику та терапію звуження коронарних судин. Для діагностики помилок в апаратурі та математичному забезпеченні ЕОМ використовується ЕС GRIP.
Моніторинг – порівняння спостережуваних величин чи ситуацій з опорними (критичними) точками плану та видача повідомлень при відхиленні від плану; інший вид моніторингу – неперервний процес інтерпретації сигналів і видача повідомлень у ситуаціях, що вимагають втручання системи вищого рівня або людини. Приклади: допомогу диспетчерам атомного реактора забезпечує ЕС REACTOR; контроль аварійних датчиків на хімічному заводі – FALCON.
Проектування – знаходження такої конфігурації компонентів системи, що задовольняє цільовим умовам та множині проектних обмежень. Прикладом є ЕС SYN для синтезу електричних ланцюжків.
Прогнозування – проектування можливих наслідків даної ситуації. Прикладами таких ЕС є: WILLARD для передбачення погоди, ECON для здійснення прогнозів в економіці, тощо.
Планування – розробка послідовності дій для досягнення множини поставлених цілей при заданих початкових умовах і часових обмеженнях. Прикладами ЕС цього типу є система ISIS для планування промислових замовлень, MOLGEN для планування експериментів, тощо.
Інструктування (навчання) – допомога в освітньому процесі для вивчення певної дисципліни. Системи навчання за допомогою ЕОМ діагностують помилки при вивченні певного предмету та підказують правильні рішення, а також – планують процес спілкування учителя з учнем, в залежності від успіхів учня з метою передачі знань. Приклад: система PROUST для вивчення мови програмування Паскаль.
Керування – керування поведінкою складного середовища або системи.
Тестування – перевірка якості роботи за допомогою спеціальних тестів.
Ремонт – виконання плану організації виправлення деякого виявленого дефекту.
Опис програми «Мала експертна система»
Програма є прикладом простої експертної системи, що використовує байесівскую систему логічного виведення. Вона призначена для проведення консультації з користувачем у певній прикладній області (на яку налаштована завантажена база знань) з метою визначення ймовірностей можливих наслідків, використовуючи для цього оцінки правдоподібності деяких передумов, одержані від користувача.
В якості прикладу розглянемо завдання визначення ймовірностей наявності різних захворювань у пацієнта. Програма в цьому випадку виступає в ролі лікаря (експерта), що ставить пацієнту запитання щодо симптомів та на основі одержаних відомостей ставить діагноз. При цьому бажано не мучити пацієнта зайвими запитаннями, а ставити лише найважливіші, від відповіді на які в більшій мірі залежить остаточне встановлення хвороби. Саме так і працює експертна система. Після відповіді на чергове запитання система сама визначає, які запитання з решти стають найбільш актуальними в даний момент. У такий спосіб досягається найшвидше одержання результату при мінімальній кількості запитань.
Використання байесівской системи логічного виведення означає, що інформація, яку опрацьовує НС, не є абсолютно точною, а носить ймовірнісний характер. Користувач може відповідати на запити системи з різним ступенем впевненості. В свою чергу, система видає результати консультації у вигляді ймовірностей настання тих чи інших наслідків (висновків).
Початок роботи
Для початку роботи необхідно завантажити з файлу базу знань (БЗ), що містить інформацію з тієї прикладної області, в якій потрібно одержати консультацію. Це можна зробити, натиснувши кнопку «Завантажити базу знань» або за допомогою одноіменного пункту меню «Файл» (для цього також призначена «гаряча» клавіша <F2>). База знань, що завантажується, може бути зашифрована та вимагати пароль на читання. У цьому випадку потрібно ввести пароль або скасувати завантаження БЗ. Якщо не виникло помилки при завантаженні, можна натиснути кнопку «Почати консультацію» («гаряча» клавіша <F3> або пункт меню «Консультація | Почати консультацію»).
Рис. 1. Робоче вікно програми «Мала експертна система» v2.0 після її відкриття
Після початку консультації в правій частині вікна (область запитів) з'являється перше запитання системи (назва вислову чи умови, ступінь істинності якого система бажає довідатися). Користувач може давати відповіді за двома схемами. По-перше, можна задавати згідно певної шкали коефіцієнт впевненості (наприклад, від -5, що означає «точно ні», до +5 – «точно так»). По-друге, користувач може ввести ймовірність істинності вислову (число від нуля до одиниці). В обох випадках можна вибирати будь-які проміжні значення. Перемикання між варіантами відповіді здійснюється за допомогою кнопки , розташованої ліворуч від запрошення на введення відповіді, або «гарячою» клавішею <F8>.
Ці два варіанти багато в чому відрізняються. Значення коефіцієнта впевненості («КУ») вибирається практично інтуїтивно, в той час як ймовірність може бути одержана з досвідів або обчислена математично. У випадку вибору за шкалою коефіцієнта впевненості, є можливість відповісти «Не знаю», ввівши число, що відповідає середині шкали (наприклад, нуль, якщо шкала від -5 до +5). Така відповідь ніяк не вплине на результат консультації. Якщо ж вводити відповіді за допомогою ймовірностей, такої можливості сказати «не знаю» практично немає, адже значення ймовірності істинності вислову, що не впливає на результат консультації, в кожному випадку буде інше. Це дуже важливе розходження між двома способами відповіді.
Виконання завдання
Мал1 Власна база знань з чіткою логікою
Мал2 Приклад виконання завдання
Висновки
У цій лабораторній роботі я ознайомився зі складом та призначенням елементів меню, з об’єктами баз даних та елементами середовища керування малою експертною системою і розробив власну базу знань.