Матеріали на допомогу студентам для самостійного опрацювання теми: “Поняття про системи штучного інтелекту та експертні системи. Структура експертної системи.” Штучний інтелект – це програма, яка імітує на комп’ютері мис- лення людини. Для створення такої системи потрібно проаналізувати процес мислення людини при розв’язувані задач, виділити в процесі основні етапи і відтворити ці етапи в програмі. При створені систем штучного інтелекту використовуються такі основні ідеї: 1. Поняття мети. Мета заставляє людину думати (іншими словами – мета є рушійною силою людської діяльності). 2. Факти і правила. Для досягнення мети людина користується багатьма відомими їй фактами і правилами. Наприклад: а) увімкнена праска б) ким доводиться одне одному Таня і Настя? Факти: батьки Тані – Іван К. Марія К., батьки Насті – Іван К. Марія К. Правило: якщо в дівчаток одні й ті ж Батько і мати, то дівчатка є сестрами. 3. Для людського мислення є характерним механізм спрощення (ігнорування зайвої інформації, яка поступає в людський мозок, але не стосується поставленої мети). Наприклад: а) перейти дорогу б) задача про те, ким доводиться Таня і Настя одна одній. 4. Механізм висновків заверщує процес мислення. При цьому людина не тільки розв’язує поставлену задачу, але й отримує нові знання, нові факти (наприклад – отримали факт, що Катя і Настя сестри). Програмна сиситема штучного інтелекту повинна мати всі елементи, що складають процес прийняття рішення людиною – цілі, факти, правила, ьеханізми спрощення і висновків. Задача створення ШІ, яка б імітувала людське мислення у всіх сферах діяльності, на даний час є неможливою (через нескінчену кількість фактів і правил, які потрібні для реалізації такої системи). Проте є цілком реальними і розробляються системами ШІ для розв’язання задач у вузьких предметних областях (наприклад – стеження за роботоюпевної технічної системи і подання сигналу в разі відхилення від показників). Такі системи ШІ називають експертними системами. Джерело знань для наповнення експертних систем є експерти в даній предметній області. Крім правил, побудованих на основі звичайних, всім відомих правил і фактів (знань) в експертних сиситемах часто використовують так звані евристичні правила, які формулюються на основі практичних знань експерта; (наприклад, експерт-еколог, який вирішує, яке з підприємств, розташованих на березі ріки, викинуло в річку нафту (з’явилася пляма на поверхні)), може скористатись таким евристичним правилом: Якщо вверху по течії ріки в межах 1км від розрахованого місця викиду знаходиться одне підприємство, то це підприємство і здійснило викид. Якщо вверху знаходиться декілька підприємств, то викид здійснило те підприємство, яке використовує найбільшу кількість нафти. В експертних системах механізм спрощення, який використовує евристичні правила, називається евристичним механізмом пошуку. Після того, як еврістичний механізм пошуку відокремив найбільш вірогідного винуватця забруднення, можна скористатись іншим набором правил. Наприклад, до еврістичних треба віднести і таке правило: Якщо тиск у фабричному нафтопроводі на дільниці №1 менший тиску води в річці, то потрібно перевірити дільницю №2. Реальні задачі найчастіше вимагають не однієї, а більшої кількості експертних систем. Так, реальна ситуація із забрудненням річки нафтою вимагає не тільки з’ ясування винуватця, а й очищення річки. А для розв’ язання задачі очищення річки потрібний інший тип експертизи. Оскільки частина результатів однієї експертизи може стати в нагоді для іншої, то для обміну інформацією між експертними системами в пам’ яті ЕОМ відводиться місце- робоча область, в яку кожна експертна система подає інформацію для іншої експертної системи. Робоча область це інформаційна структура, яка може використовуватись усіма експертними системами, які прямують разом. Означення. Експертна система (ЕС) це обчислювальна система, яка використовує знання спеціалістів про деяку вузькоспеціалізовану прелметну область і яка в межах цієї області здатна приймати рішення на рівні експерта-професіонала. Важливою характеристикою експертних систем є їх здатність за вимогою пояснити свою лінію міркувань у зрозумілому вигляді. Структура експертної системи Експерт Кінцевий користувач Як функціонує експертна система? Опис задачі (запит) користувача надходить у підсистему логічного висновку. Підсистема логічних висновків, використовуючи інформацію з бази знань, рекомендації для розв’язання шуканої задачі. Основою бази знань експертної системи є факти і правила. В підсистемі логічного висновку реалізується певна стратегія вибору відповідного правила з бази знань, що тісно пов’язана зі способом представлення знань в експертній системі та характером задач, що розв’язується. За допомогою модуля порад та пояснення рішення відбувається відображення проміжних та кінцевих рішень та пояснення користувачеві дій системи. Для створення експертної системи використовуються різноманітні інструментальні засоби: універсальні мови програмування спеціальні мови штучного інтелекту спеціальні інструментальні засоби розробки експертних систем оболонки експертних систем Найпотужнішими з цих засобів є експертні оболонки. Задача розробника експертної системи за допомогою оболонки зводиться до наповнення бази знань. Інформація, одержана від експертів, часто носить якісний і навіть суперечливий характер. Незважаючи на це, всяка інформація повинна бути приведена до однозначного формалізованого вигляду [Це здійснюється на основі ідей багатозначної логіки, теорії нечітких множин і аналітичних математичних моделей]. Типові моделі подання знань в експертних системах: 1) Логічна модель. У цьому випадку факти представляються як формули в деякій логіці. Сукупність таких формул утворює базу знань. Часто основою для таких моделей є логіка предикатів. [За допомогою тверджень, записаних у предикатній формі, можна зберігати інформацію про об’ єкти системи, що досліджується. Наприклад, батько (Іван, Марія); батько (Андрій, Тетяна); батько (Андрій, Анастасія); мати (Ольга, Іван); мати (Марія, Андрій). Запити до цих фактів: ? батько (Х, Андрій). Відповідь: Х= Андрій. За правилом: дідусь (X, Y); батько (X, Z); батько (Z, Y); мати (X, Z); мати (Z, Y); бабуся (X, Y) батько (X, Z); батько (Z, Y); мати (X, Z); мати (Z, Y); (в правилах “, ” означає and, “;” - or) тепер на запит ? дідусь (Х, Іван) отримаємо Х= Іван. Логічні моделі подання знань реалізовані в системах логічного програмування. Однією з таких систем є PROLOG. База знань, розроблена з використанням логічних методів, досить проста для розуміння. Але логічні моделі не дозволяють оперувати з неповними та недостовірними знаннями. 2) Модель, що базується на використанні правил (продуційна модель). Продукційні правила описують знання у формі якщо-то. бази правил, глобальної бази даних, інтерпретатора правил. База правил містить сукупність знань, представлених у формі структури виду якщо-то. Глобальна база даних це область пам’яті, що містить фактичні дані (факти), які описують дані, що вводяться, та стан системи. Інтерпретатор є механізмом виведення, він формує висновки, використовуючи базу правил та базу даних. 3) модель семантичної мережі. В цьому випадку проблемне середовище розглядається як сукупність об’єктів і зв’язків між ними. Об’єкти є при цьому пойменованими вершинами, а зв’язки (відношення) спрямованими пойменованими ребрами. Вся мережа має вигляд орієнтованого графа. ребро та зв’язуванні з ним вершини утворюють підграф семантичної мережі. Наприклад, побудуємо семантичну мережу для інформації, яка міститься в такому повідомлуні: “Мікропроцесори фірми Intel моделей Pentium-233 та Intel 80486 працюють із тактовими частотами 233 Мгц та 75 Мгц і є 64-х та 32-х розрядними”. виділимо основні поняття: “модель мікропроцесора”, “тактова частота”, розрядність”, “фірма”. Види відношень між ними: г1 “є назвою”, г2 “є значенням”, г3 “має характеристику”, г4 “виготовлений”. Тактова частота R2 R2 233 75 Модель мікропроцесора Pentium-233 Intel 80486 R1 R1 R4 R4 R3 Intel R3 Фірма 32 64 R1 Розрядність R2 R2 Недоліком семантичних мереж є неможливість відображення характеристик, які змінюються з бігом часу. 4) Метоли представлення знань, що грунтуються на апаратів фреймів. Фрейм мож на розглядати як фрагмент семантичної мережі, призначений для опису об’єкта (ситуації) проблемного середовища з усією сукупністю його властивостей. Основна ідея фреймового підходу до представлення знань більш жорстке, ніж при підході, що грунтується на семантичній мережі, виділення об’єктів та ситуацій проблемного середовища та їх властивостей. До переваг фреймових систем слід віднести чітку структурованість, зв’язність інформації, використання процедурних та декларативних знань. Області застосування експертних систем: інтерпретація (аналіз результатів спостереження з метою встановлення властивостей досліджувальної системи об’єктів) діагностика (встановлення направленостей у технічній системі або виявлення захворювання в живому організмі, що базується на інтерпретації даних) моніторинг (стеження) (спостереження за параметрами об’єктів і видача повідомлень у випадку виходу параметрів об’єктів стеження за допустимі межі) прогноз (передбачення подій майбутнього на основі моделей минулого і сучасного) планування (формування плану дій для досягнення певної мети) проектування (побудова певних конфігурацій об’єктів, що задовольняють заданим вимогам) налагодження (розробка рекомендацій для усунення несправностей чи помилок) ремонт (виконання плану організації виправлення деякого виявленого дефекту) управління (управління поведінкою систем об’єктів) . З експертними системами пов’язані інтелектуальні навчальні системи. Вони наближають навчання за допомогою комп’ютера до навчання, яке здійснюється педагогом, і і в той же час забезпечують широке використання можливостей обчислювальної техніки. Однією з добре відомих інтелектуальних систем є SOPHIE, яка призначена для пошуку неполадок в електронному колі. Одним із інструментальних засобів для створення експертних систем з різних предметних областей є експертні оболонки. оболонки мають усі засоби для створення і нормального функціонування експертної системи. Побудова експертної системи на основі оболонок полягає у створенні бази знань. Кожна оболонка має свої правила створення бази знань. Це означає, що база знань для однієї й тієї ж предметної області в різних оболонках буде мати принципово і різний, і змістовний, ізовнішній вигляд. В навчальних закладах України вже протягом кількох років використовують такі експертні оболонки: 1) FIRSTCLASS (розроблена в США, фірма Programs in Motion). Це експертна система для побудови дерев розв’язків, які складаються з правил. [Правила система будує з прикладів, які подано у формі електронних таблиць]. 2) INTER (розроблена в Національному педагогічному університеті ім. Драгоманова). Призначена створювати ЕС для розв’язування задач класифікації. Формою подання знань є фрейми з наслідуванням. Система використовує стратегію прямого логічного виводу, а також надає засоби для створення бази знань предметної галузі та редагування існуючої бази. 3) BESS (розроблено в Інституті кібернетики АН України ім.В. М. Глушкова). Признечена створювати ЕС для розв‘язування задач діагностики і прогнозування на основі байєсівського методу прийняття рішень. Методика ознайомлення учнів з експертними системами. Штучний інтелект – це програмна система, яка імітує на комп’ютері мислення людини. Для створення такої системи необхідно вивчити процес мислення людини, яка розв’язує певні завдання або приймає рішення в конкретній області, виділити основні кроки цього процесу і розробити програмні засоби, які відтворюють їх на комп’ютері. В основі людської діяльності лежить мислення. Процеси мислення людини постійно спрямовані на те, щоб досягнути якоїсь мети. Думки, які ведуть до кінцевого результату, не випадкові, я строго обґрунтовані. Кожний крок на шляху до головної мети має свою локальну мету. (Метою може бути, наприклад, таке: 1. Визначити спосіб оцінки успіхів дитини в арифметиці. 2. Вибрати вино, яке найбільше підходить до певної риби. 3. Навчитись зав’язувати шнурівки в черевиках.) Для досягнення мети людина використовує відомі їй факти і правила їх використання. (Приклади 1. Факт: включена праска – гаряча. Правило: Якщо покласти руку на гарячу праску, то можна оюпектись. 2. Факт1. Тихі, темні вулиці небезпечні. Факт2. Люди похилого віку звичайно не здійснюють _________злочинів. Факт3. Міліція захищає людей від злочинців. Правило1. Якщо на тихій темній вулиці ви побачите міліціонера, то можна почувати себе в безпеці. [Зауважимо, що в наведених прикладах всі правила виражені умовними відношенням якщо – то, тобто якщо виконується деяка умова, то послідує певна дія чи якась інша реакція]). [Спрощення] Коли людський мозок приступає до розв’зання навіть найпростішої задачі, для вибору потрібних дій в його розпорядженні є величезний об’єм інформації. Наприклад, ідучи на роботу, людина виходить із дому і йде на ріг вулиці. Поки він вибирає момент для переходу вулиці, в його мозок поступає сама різноманітна інформація. Перш ніж перейти вулицю, людина аналізує швидкість і об’єм руху, відстань до протилежного тротуару, сигнали світлофора на перехресті. Одночасно його мозок опрацьоцує враження, які не мають прямого відношення до переходу вулиці, наприклад, погодні умови, колір і моделі машин, які проїжджають, породу і висоту дерев, які ростуть біля дороги, вигляд розміщенних недалеко будівель. Без сумніву, людина думає також про місце, куди вона йде, про те , як швидко йому там треба бути, кого вона може зустріти і т. д. Якби людина, перш ніж ступити на проїжджу частину, аналізувала всі факти, які мають пряме, непряме чи які взагалі не мають ніякого відношення до його мети перейти вулицю, то він простояв би на тротуарі декілька років. Але справа в тому, що в мозку існує складна система, яка керує вибором правильної реакції на конкретну ситуацію. Такий вибір називається спрощенням. Механізм спрощення блокує думки, які не мають відношення до задачі, яка розв’язується в даний момент. Людський мозок зберігає всі значення необхідні для прийняття рішення, просто цю інформацію слід вибрати вчасно. Це і реалізує механізм спрощення, який направляє думки в потрібне русло. Досягаючи мети, людина не тільки розв’язує поставлену задачу, а й одночасно отримує нові знання. (Приклад. 1. Іван і Марія – батьки Каті. 2. Іван і Марія – батьки Василька. Мета полягає в тому, щоб визначити, ким доводяться один одному Катя і Василько. Механізм спрощення заставляє людину звернутися до такого правила, яке зберігається в мозку: якщо у дівчинки і хлопчика спільні батьки, то хлопчик і дівчинка – брат і сестра. Мета досягнута миттєво. ). Відповідь на питання про те, ким доводяться один одному Катя і Василько, отримана із відомого раніше правила. Крім того, в процесі досягнення мети отриманий новий факт: Василько і Катя – брат і сестра. Та частина інтелекту, яка допомагає отримувати нові факти, називається механізмом висновку. Отже, в процесі створення систем штучного інтелекту треба використовувати такі основні ідеї [їх ми вже розглянули вище]: 1. Мета заставляє людину думати. 2. Людський мозок зберігає величезну кількість фактів і правил їх використання. Для досягнення певної мети слід лише звернутись до потрібних фактів і правил. 3. Механізм спрощення швидко і ефективно вибирає факти і правила, необхідні для досягнення найближчої мети. 4. Механізм висновку роблять на основі правил, відібраних механізмом спрощення, і генерує нові факти, які додаються до знань людини. Цим завершується процес мислення. Програмна система штучного інтелекту повинна мати всі елементи, які входять в процес прийняття рішення людиною, -- цілі, факти, правила, механізми висновку і спрощення. Конкретні сфери людської діяльності, в яких можуть застосовуватись системи штучного інтелекту, називаються предметними областями. Приклади предметних областей: 1) оцінка ефективності навчання ; 2) вибір маршруту автобуса. Створити єдину систему ШІ, яка б охоплювала всі предметні області, неможливо. Перш за все, для розв’язання всіх можливих задач у всіх предметних областях необхідна нескінченна кількість фактів і правил. Навіть якби така система була створена, потрібен був би тривалий час для наповнення її знаннями. Крім того, сьогодні ще немає обчислювальної машини, здатної зберігати і обробляти такий об’єм інформації, тому поки що треба обмежитись лише проблемними областями, в яких об’єм інформації не надто великий, і її можна опрацювати в програмі. Для вузьких проблемних областей розробляються працездатні системи ШІ. [Приклади предметних областей – 1) пошук несправності в електричній схемі; 2) навчання китайської кухні; 3) навчання плаванню] багато означень експертної системи Означення. Експертна система – це система штучного інтелекту, створена для розв’язання задач в конкретній системній області. Джерелом знань для наповнення експертних систем служать експерти у відповідній експертній області. Системи штучного інтелекту часто називають системами, що грунтуються на знаннях. При створені експертної системи група, яка складається з експерта і інженера по знаннях, збирає факти, правила і евристичні правила, які відносяться до проблемної області, а потім включає їх в програму ШІ. Що таке евристичні правила? Ці правила формуються не на основі звичайних, загально визнаних знань, а на основі практичних знань експерта. [для ілюстрації – такий приклад. Допустимо, зібрана група експертівдля розв’язання такого завдання: в річці виявлені пляминафти, скинути яку могли -е із підприємств, розташованих біля ріки. Мета полягає в тому, щоб точно дізнатись, яке підприємство скидає нафту, і усунути наслідки забруднення ріки. Перш за все експертна система повинна вміти виконувати розрахунки. Приблизно визначити місце скидання нафти можна, наприклад, використовуючи час розчинення нафти у воді, напрямок і швидкість течії ріки і т. д. Після того як ця інформація зібрана і визначене місце скидання нафти (скажімо, з точністю до кілометра), можна скористатись таким правилами: 1-е правило. Якщо у верхів’ї річки в межах одного км від вирахуваного місця скидання нафти знаходиться одне підприємство, то це підприємство і скинуло нафту в ріку. 2-е правило. Якщо у верхів’ї річки в межах одного км від вирахуваного місця скидання нафти розміщено кілька підприємств, то допускається, що нафту скинуло те підприємство, яке використовує найбільшу кількість нафти]. Практично кожна людина (хоч вона і не інженер по знаннях), здатний розробити свою експертну систему. Якщо хтось наприклад, знає, як ремонтувати автомобілі, готувати їжу або плавати, може стати інженером по знаннях, здатним розробити експертну систему в одним із цих чи в подібній області. На основі знань експертів, комп’ютером видається не вказівки, а поради й рекомендації, які дав би експерт. Користувач у відповідній ситуації, враховуючи пораду експерта, приймає рішення.
|