Експертні системи та їх використання

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Міністерство транспорту та зв'язку України

Одеська національна академія зв'язку ім. О.С. Попова

Реферат

на тему

«Експертні системи та їх використання»

 

 

 

 

Виконав:

Студент 5 курсу

Групи СМО-51

Салтанахмедов Д.А.

Прверіл:

доц. Лебедєва І.Ю.

 

 

 

Одеса 2009


Зміст

 

Вступ: Експертна система.

Структура, режими функціонування, класифікація експертних систем

Етапи розробки експертних систем

Експертна система Cyc

Експертна система CLIPS

Список використаної літератури


Вступ: Експертна система

 

Експертна система (ЕС, expert system) - комп'ютерна програма, здатна частково замінити фахівця-експерта у вирішенні проблемної ситуації. ЕС почали розроблятися дослідниками штучного інтелекту в 1970-х роках, а в 1980-х отримали комерційне підкріплення.
В інформатиці експертні системи розглядаються спільно з базами знань як моделі поведінки експертів у певній галузі знань з використанням процедур логічного висновку і прийняття рішень, а бази знань - як сукупність фактів і правил логічного висновку в обраній предметній галузі діяльності.
Схожі дії виконує програма-майстер (wizard). Майстри застосовуються як в системних програмах, так і в прикладних для інтерактивного спілкування з користувачем (наприклад, при установці ПЗ). Головна відмінність майстрів від ЕС - відсутність бази знань; всі дії жорстко запрограмовані. Це просто набір форм для заповнення користувачем.
Інші подібні програми - пошукові або довідкові (енциклопедичні) системи. За запитом користувача вони надають найбільш підходящі (релевантні) розділи бази статей (уявлення про об'єкти областей знань, їх віртуальну модель). Наприклад, у Вікіпедії аналогами статичних візард є її структури (типи даних, в термінології ООП - класи та інтерфейси) - категорії, списки, шаблони, портали, які за назвою об'єкта видають користувачеві всі його наявні для даної структури Вікіпедії аттрібути.

Структура, режими функціонування, класифікація експертно систем
Структура
· Інтерфейс користувача (Інтерфейс (від англ. Interface - поверхня розділу, перегородка) - сукупність засобів і методів взаємодії між елементами системи.)
· Користувач
· Інтелектуальний редактор бази знань
· Експерт (Експерт (від лат. Expertus - досвідчений) - фахівець, що дає висновок при розгляді якого-небудь питання.)
· Інженер
· Робоча (оперативна) пам'ять
· База знань
· Решатель (механізм висновку)
· Підсистема пояснень
База знань складається з правил аналізу інформації від користувача з конкретної проблеми. ЕС аналізує ситуацію і, залежно від спрямованості ЕС, дає рекомендації щодо розв'язання проблеми.
Як правило, база знань ЕС містить факти (статичні відомості про предметну область) і правила - набір інструкцій, застосовуючи які до відомих фактів можна отримувати нові факти.
У рамках логічної моделі баз даних і бази знань, записуються мовою Пролог за допомогою мови предикатів для опису фактів і правил логічного висновку, що виражають правила визначення понять, для опису узагальнених і конкретних відомостей, а також конкретних і узагальнених запитів до баз даних і баз знань .
Конкретні і узагальнені запити до баз знань на мові Пролог записуються за допомогою мови предикатів, виражають правила логічного висновку та визначення понять над процедурами логічного висновку, що є в базі знань, виражають узагальнені і конкретні відомості і знання в обраній предметній галузі діяльності та сфері знань.
Зазвичай факти в базі знань описують ті явища, які є постійними для даної предметної області. Характеристики, значення яких залежать від умов конкретного завдання, ЕС отримує від користувача в процесі роботи, і зберігає їх у робочій пам'яті. Наприклад, у медичній ЕС факт «У здорової людини 2 ноги» зберігається в базі знань, а факт «У пацієнта одна нога» - в робочій пам'яті.
База знань ЕС створюється за допомогою трьох груп людей:
1. експерти тієї проблемної області, до якої належать завдання, які вирішуються ЕС;
2. інженери по знаннях, що є фахівцями з розробки ІВС;
3. програмісти, які здійснюють реалізацію ЕС.

Режими функціонування Експертних систем

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

Класифікація Експертних систем з розв'язуваної задачі

· Аналіз ваших
· Діагностування
· Моніторинг
· Проектування
· Прогнозування
· Зведене Планування
· Навчання
· Управління
· Ремонт
· Налагодження

Класифікація Експертних систем по зв'язку з реальним часом

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

Найбільш відомі / поширені ЕС

· CLIPS - досить популярна ЕС (public domain)
· OpenCyc - потужна динамічна ЕС з глобальної онтологічної моделлю і підтримкою незалежних контекстів

Експертна система Cyc

Cyc - проект зі створення об'ємної онтологічної бази знань, що дозволяє програмам вирішувати складні завдання з області штучного інтелекту на основі логічного висновку та залучення здорового глузду.
Проект розпочав Дуглас Ленат в 1984 році в Microelectronics and Computer Technology Corporation. Назва «Cyc» (утворене від «encyclopedia» вимовляється «цик») є зареєстрованою торговою маркою компанії Cycorp, Inc в Остіні, якою управляє Ленат і створеної для розробки Cyc. База знань є власністю компанії, однак невелика частина бази, призначена для встановлення загального словника для програм автоматичного міркування, була випущена як OpenCyc під відкритою ліцензією. Пізніше, Cyc стала доступною для дослідників ШІ під спеціальної дослідницької ліцензією як ResearchCyc.
Типовим прикладом знань в базі є «Будь-яке дерево є рослиною» і «Рослини смертні». Якщо запитати «вмирають чи дерева?», Машина логічного висновку може зробити очевидний висновок і дати правильну відповідь. База Знань (англ. Knowledge Base або KB) містить більше мільйона занесених туди людьми тверджень, правил і загальновживаних ідей. Вони формулюються мовою CycL, який заснований на численні предикатів і має схожу з Лісп синтаксис. Англомовні користувачі жартують що вони «велосипедисти» (від англ. Cyclist - велосипедист).
Велика частина сьогоднішньої роботи в проекті Cyc все ще пов'язана з інженерією знань - опис фактів про навколишній світ вручну і реалізація ефективних механізмів логічного висновку на основі цих знань. Однак ведеться робота над тим, щоб дати системі Cyc можливість самостійно спілкуватися з користувачами на природній мові, і над прискоренням процесу поповнення бази за допомогою машинного навчання.

Опис Бази Знань, термінологія

Концепції в Cyc називаються константами. Імена констант починаються з необов'язкових символів «# $» і чутливі до регістру. Існують константи для:
· Окремих елементів, які називаються individual, наприклад # $ BillClinton або # $ France.
· Сукупна (Collections) таких, як наприклад, # $ Tree-ThePlant (до якої входять всі дерева) або # $ EquivalenceRelation (в якій містяться всі відносини еквівалентності). Член сукупності називається екземпляром даної колекції.
· Функцій істинності (Truth Functions), які можна застосовувати до однієї або декількох концепціям і повертають значення істина або брехня. Наприклад # $ siblings (нащадки одного з батьків) є відношенням споріднення, істинним тільки в тому випадку, коли два його аргументу є братами або сестрами. За угодою, константи функцій істинності починаються з літери в нижньому регістрі. Функції істинності піддаються розбиття на логічні зв'язки (такі як # $ and, # $ or, # $ not, # $ implies), квантори (# $ forAll, # $ thereExists, і т. д.) і предикати.
· Функцій Functions, які утворюють нові терми з даних. Наприклад, якщо передати функції # $ FruitFn в якості аргументу тип (або колекцію) рослин, поверне колекцію їх фруктів. За угодою, імена констаніт функцій починаються з літери у верхньому регістрі і закінчуються рядком «Fn».
Найбільш важливими предикатами є # $ isa і # $ genls. Перший є твердженням що якийсь елемент є екземпляром якоїсь колекції, а другі що колекція є подколлекціей іншої колекції. Факти про концепції декларуються за допомогою особливих висловлювань мови CycL. Предикати записуються в дужках перед своїми аргументами:
(# $ Isa # $ BillClinton # $ UnitedStatesPresident)
означає що «Білл Клінтон входить в сукупність президентів США», а висловлювання
(# $ Genls # $ Tree-ThePlant # $ Plant)
читається як «Усі дерева є рослинами».
(# $ CapitalCity # $ France # $ Paris)
означає: «Париж столиця Франції».
Висловлювання також можуть містити змінні, рядки починаються зі знака «?». Ці висловлювання називаються «правилами». Одне з найважливіших правил, що відносяться до предикату # $ isa читається:
(# $ Implies
(# $ And
(# $ Isa? OBJ? SUBSET)
(# $ Genls? SUBSET? SUPERSET))
(# $ Isa? OBJ? SUPERSET))
що означає «якщо OBJ є екземпляром колекції SUBSET, а SUBSET в свою чергу є подколлекціей SUPERSET тоді також OBJ є екземпляром колекції SUPERSET». Інший типовий приклад:
(# $ RelationAllExists # $ biologicalMother # $ ChordataPhylum # $ FemaleAnimal)
що означає що будь-який екземпляр колекції # $ ChordataPhylum (тобто будь-хордова) пов'язаний з самкою тварини (примірником # $ FemaleAnimal), яка є його матір'ю (що описується предикатом # $ BiologicalMother).
База знань Cyc розділена на мікротеорій (Mt), колекції концепцій і фактів належать одній конкретній галузі знань. На відміну від повної бази знань, всяка мікротеорій повинна бути вільною від протиріч. Будь-яка мікротеорій має назву, яка є звичайною константою; за угодою константи мікротеорій містять рядок «Mt». Приклад - # $ MathMt, мікротеорій містить математичні знання. Мікротеорій можуть успадковуватися одна від одної та організовані в ієрархію: однією з спеціалізацій # $ MathMt є # $ GeometryGMt - мікротеорій про геометрію.

OpenCyc

Остання версія OpenCyc, 1.0 була випущена в липні 2006 року. OpenCyc 1.0 включає в себе повну онтологію Cyc містить сотні тисяч виразів, мільйони тверджень, що зв'язують терми між собою. База знань містить 470000 концепцій і 306000 фактів і її можна переглянути на сайті OpenCyc. Перша версія OpenCyc була випущена в травні 2001 року і містила лише 6000 концепії і 60000 фактів. База знань випущена під ліцензією Apache. Cycorp має намір випускати OpenCyc під паралельними, менш жорсткими ліцензіями щоб задовольнити потреби своїх користувачів. Інтерпретатор CycL і SubL (програма, яка дозволяє вам переглядати і змінювати базу даних і робити висновки) випущена безкоштовно, але тільки в двійковому вигляді, без вихідних текстів. Вона працює як під GNU / Linux так і під Microsoft Windows.

ResearchCyc

У липні 2006 року Cycorp випустила ResearchCyc 1.0, безкоштовну (але з закритими джерельними кодами) версію Cyc призначену для дослідницького співтовариства. (ResearchCyc знаходився в бета версії протягом усього 2004 року, а закінчена в бета-тестування вона була в лютому 2005.) На додаток до таксономічної інформації з OpenCyc, ResearchCyc включає значно більше семантичних знань (тобто додаткові факти) про концепції у своїй базі знань, і включає великий лексикон, інструменти для граматичного розбору і генерації Англійської мови, написані на мові Java інтерфейси для редагування знань і створення запитів до бази.
Cycorp публічно висловила свій намір випустити все терми і таксономічні взаємозв'язку, що містяться в ResearchCyc, як частина OpenCyc і це було зроблено у версії 1.0. Одна із зазначених цілей - створити повністю вільний і необмежений семантичний словник для використання в Semantic Web. Таксономія OpenCyc доступна у форматі Owl на сайті проекту

Критика проекту Cyc

Cyc описують як «один із найбільш суперечливих починань в історії штучного інтелекту» (Бертіно та ін стор 275), так що він неминуче отримав свою частку критики.
· Надмірна складність системи - без сумніву необхідна чинності енциклопедичних амбіцій - і відповідно складність додавання (вручну) даних в систему
· Проблеми масштабованості from widesdivad reification, особливо як константи
· Незадовільний використання концепції матерії, і пов'язаного з цим, відмінності між внутрішніми і зовнішніми властивостями
· Відсутність осудних вимірювань продуктивності або порівнянь ефективності машини виведення Cyc
· Нинішня неповнота системи як в ширину, так і глибину, і пов'язана з цим складність у вимірі її повноти
· Нестача документації
· Відсутність не застарілого онлайнового навчального матеріалу ускладнює вивчення системи для новачків
· Незважаючи на свою назву система OpenCyc не є повністю відкритою: дані доступні для редагування користувачам, але код не є доступним для розширення розробникам. [1]
Дані питання обговорювалися в різних місцях з моменту запуску проекту. Даг Ленат та інші опублікували безліч аргументів на захист свого проекту.

Експертна система CLIPS

CLIPS, (від англ. C Language Integrated Production System) - програмна експертна система. Синтаксис та назва запропоновані Чарльзом Форг (Charles Forgy) у OPS (Official Production System). Перші версії CLIPS розроблялися з 1984 року в Космічному центрі Джонсона (Johnson Space Center), NASA (як альтернатива існуючій тоді системі ART * Inference), поки на початку 1990-х не було припинено фінансування, і NASA змусили купити комерційні продукти.
Ймовірно, CLIPS є найбільш широко використовуваної експертною системою завдяки своїй швидкості, ефективності і безоплатності. Незважаючи на те, що тепер вона є суспільним надбанням, вона до цих пір оновлюється і підтримується своїм початковим автором, Гері Райлі (Gary Riley).
CLIPS включає повноцінний об'єктно-орієнтована мова COOL для написання експертних систем. Хоча вона написана на мові Сі, її інтерфейс набагато ближче до мови програмування LISP. Розширення можна створювати на мові Сі, крім того, можна інтегрувати CLIPS в програми на мові Сі.
Як і інші експертні системи, CLIPS має справу з правилами і фактами. Різні факти можуть зробити правило придатним. Застосовне правило потім допускається (assert). Факти і правила створюються попередніми оголошенням, як показано в прикладі:
(deffacts trouble_shooting
(car_problem (name ignition_key) (status on))
(car_problem (name engine) (status wont_start))
(car_problem (name headlights) (status work))
 
(defrule rule1
(car_problem (name ignition_key) (status on))
(car_problem (name engine) (status wont_start))
(assert (car_problem (name starter) (status faulty))
Нащадками CLIPS є мови програмування Jess (частина CLIPS, що працює з правилами і переписану на Java, пізніше розвинулася в іншому напрямку), ECLiPSe, Haley Eclipse, FuzzyCLIPS (з додаванням концепції значущості relevancy в мову) та інші.
Існує підручник для коледжів, Expert Systems: Principles and Programming (ISBN 0-534-95053-1) і книга з Jess, Jess in Action: Rule Based Systems in Java (ISBN 1-930110-89-8). Крім того CLIPS містить велику документація прямо в постачанні.

Список використаної літератури
1. Гаврилова Т. А., Хорошевський В. Ф. Бази знань інтелектуальних систем. Підручник. - СПб: Питер, 2000.
2. Субботін С. О. Подання й обробка знань у системах штучного інтелекту та підтрімкі Прийняття рішень: Навчальний посібник. - Запоріжжя: ЗНТУ, 2008. - 341 с.
3. http://ru.wikipedia.org/ Вікіпедія - вільна енциклопедія
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
40.4кб. | скачати


Схожі роботи:
Експертні системи 2
Експертні системи
Експертні системи управління
Патентна експертиза та експертні системи
Експертні системи 2 Вивчення технології
Експертні системи як прикладна галузь штучного інтелекту
Експертні системи в дослідженнях умов і методів обробки нових матеріалів
Експертні методи в психодіагностиці
Експертні методи дослідження систем управління
© Усі права захищені
написати до нас