ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

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

     

    Інформатика, програмування
    Експертні системи

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status