Експертні системи
Комп'ютеризація суспільства - один з основних напрямів науково-технічного прогресу - Викликала істотні зміни в технології розробки і використання програмних засобів.
Ці зміни були підготовлені всім розвитком теорії і практики штучного інтелекту (ШІ), найбільш істотним результатом якого з'явився перехід до так званої нової інформаційної технології і створення "експертних систем (ЕС).
Перші ЕС-медичні mycin і dendral для додатків з хімії з'явилися в середині 70-х років в рамках дослідницьких програм по штучному інтелекту. Вже перші ЕС виявилися корисними. Медична система mycin успішно вписалася в клінічну практику, допомагаючи у виборі ліків хворим з бактеріємією, менінгітом, циститом.
Ідеологію ЕС можна виразити формулою: знання + висновок = система. ЕС припускає взаємодію блоків. Головні з них - база знань і механізм виведення.
Суть відбулися технологічних змін полягає у появі нового класу інструментальних засобів ИИ, який став основою створення кінцевих програмних продуктів на основі принципово іншої технології, з новими якісними можливостями створюваних продуктів, ці зміни суттєво підвищують інтелект програм, нові засоби замінили цілу технологічний ланцюжок, в якої між кінцевим користувачем і ЕОМ знаходилося декілька посередників.
Ці зміни стали можливими завдяки двом основним факторам: виділення в алгоритмі програми деякої універсальної частини (логічного висновку) і відділенню її від частини, залежної від предметної області (бази знань); підвищенню рівня взаємодії користувача і комп'ютерної програми, тобто появи інтелектуального інтерфейсу в програмах ШІ.
Звичайні програми мають фіксовану послідовність кроків, точно визначуваних програмістом, і шляхом обробки числової інформації шукають оптимальне рішення, в той час як програми ШІ, подібно до людини, користуються для знаходження задовільного рішення методом проб і помилок. При цьому проводиться переважно символьна обробка вмісту бази знань. Відмінності ці, зрозуміло, не абсолютні, а лише найбільш характерні для обох типів програм. Різниця в структурі та частоті модифікацій впливає на відмінності технологій розробки звичайних програм і програм ІІ. Всі відмінності, наведені для програм ІІ, в цілому характерні і для експертних систем.
Зміна в структурі і підвищення внаслідок цього загального інтелекту комп'ютерних програм є ключовим для визначення експертних систем, і це природно, так як, для того щоб стало можливим підвищити інтелект програм, необхідно ускладнити їх організацію і структуру. Таким чином, можна спробувати дати визначення експертної системи.
Експертна система - це комп'ютерна програма, яка моделює міркування людини-експерта в деякій певній галузі і використовує для цього базу знань, що містить факти і правила про цю області, і деяку процедуру логічного висновку.
Для того щоб користувач міг ефективно взаємодіяти з експертною системою, її інтерфейс повинен виконувати дві основні функції: давати поради і пояснення користувачеві і управляти придбанням знань. Взаємодія експерта, користувача і структурних частин системи можна представити у вигляді базової структури експертної системи.
У експертної системи має бути два режими роботи: режим придбання знань і режим рішення задач. У режимі придбання знань експерт спілкується з експертної системою за посередництва інженера знань, в режимі вирішення завдань в спілкуванні з експертною системою бере участь користувач, якого цікавить результат і спосіб його одержання. Експертна система в відміну від рішення задач за алгоритмом не виключає користувача з рішення, а, навпаки, зберігає за ним ініціативу. В той же час ЕС не є просто пасивним джерелом корисної інформації подібно книжковому довідником або базі даних. У потрібні моменти ЕС підказує необхідний напрям розв'язання задачі, розвиває ланцюжка умовиводів, пояснює свої дії.
Штучний інтелект давно став джерелом нових технологічних прийомів, рішень, які широко увійшли в практику програмування, так, в роботах по штучному інтелекту беруть свій початок такі ідеї, як поділ часу, обробка списків, редагування та налагодження програм в діалоговому режимі, евристичне програмування, графічний інтерфейс, використання Поліекранна дисплея і маніпулятора типу "миша" та ін
З точки зору вирішення основного завдання експертних систем: кодування знань про предметної області та їх використання для вирішення проблем в цій області найбільш важливим є досвід дослідників штучного інтелекту у вирішенні завдань подання знань та розпізнавання образів.
Обсяг знань, необхідних для будь-якого значного додатка експертних систем, зазвичай дуже великий і тому для вибірки, відновлення і підтримання таких великих обсягів знань експертним системам необхідні хороші моделі подання знань. Крім того, вдала модель подання може значно полегшити побудову логічного висновку. в експертних системах найбільш часто використовується представлення знань у вигляді продукційних правил, фреймів. Використовуються також семантичні мережі, пропозиції Прологу і комбіновані подання. Кожна з цих моделей має свої переваги і недоліки, наприклад, семантична мережа зберігає пов'язану інформацію разом, але в ній утруднено побудова висновків з цієї інформації. З іншого боку. Пролог має готовий механізм для побудови логічних висновків, але не зберігає пов'язану інформацію разом. Великі бази знань зберігаються зазвичай на дисках і тільки необхідна в даний момент частина - в оперативній пам'яті. Створення ефективних баз знань для зберігання правил, фреймів і т.д. є актуальним завданням.
В цілому уявлення знань є найбільш важливою проблемою при побудові експертних систем і більш докладно вона буде розглянута нижче.
Традиційно процес розпізнавання поділяється на два етапи: навчання та власне розпізнавання. Перший етап індуктивний, другий - дедуктивний.
На першому етапі обробляються дані численних спостережень над окремими представниками досліджуваного класу об'єктів і на основі отриманих результатів будується деякий вирішальне правило.
Другий етап передбачає застосування описаного прищепила для розпізнавання цікавлять нас, але безпосередньо не вимірюваних властивостей інших об'єктів даного класу.
На етапі навчання виявляються деякі закономірності, притаманні досліджуваному класу, і сукупність цих закономірностей служить далі моделлю предметної області, яка у формалізованому вигляді становить основу бази знань, на основі моделі вирішуються задачі розпізнавання властивостей конкретних об'єктів, очевидний зв'язок навчання і вирішення завдань з описаними раніше режимами роботи ЕС. Описана схема розпізнавання в тій чи іншій мірі характерна для багатьох завдань, що вирішуються експертними системами.
Експертні системи орієнтовані на вирішення широкого кола завдань в неформалізованих областях, рішення задачі розпізнавання образів у таких областях передбачає складання описів об'єктів і правил, що визначають за цими описами приналежність об'єктів до тих чи інших класів. Процедури застосування таких правил до будь-яких об'єктів в експертних системах підпорядковуються різним стратегіям. Найбільш часто застосовуються стратегії прямого або зворотного висновку. Використовуються також комбіновані стратегії, стратегії на основі так званої дошки оголошень. Прямий висновок - це висновок, що направляється цілями (Правилами) до даних. Зворотний висновок - це висновок, направляється даними до цілей. У складних експертних системах (наприклад, розуміння мови) жоден з джерел знань системи не може гарантувати єдиності та правильності одержуваних їм результатів, для того щоб помилка одного джерела знання не впливала фатальним чином на роботу інших, джерела знання повинні розглядатися як незалежні. Однак, так як всі джерела знання вирішують загальну задачу, від них потрібна взаємодія. Щоб задовольнити ці вимоги, був запро...