Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Експертна система з пород дерева

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Механізм виведення повинен мати правила керувати даними вводимыми користувачем, для зіставлення їх з продукционными правилами і збереження «траси «(чи запам’ятовування) негативних і стверджувальних відповідей. Правила positive і negative йдуть на зіставлення даних користувача з цими в продукционных правилах. Правило remember (запам'ятовування) виробляє додавання речень із відповідями yes (так) і… Читати ще >

Експертна система з пород дерева (реферат, курсова, диплом, контрольна)

Экспертная система по породам дерева.

Теорія:.

Структура експертних систем.

Щоб проводити експертизу, комп’ютерна програма повинна бути спроможна виконувати завдання у вигляді логічного висновку і реально отримувати заодно досить надійні результати. Програма повинен мати доступом до системі фактів, званої базою знань.

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

1. База знань (БЗ).

2. Механізм виведення (МВ).

3. Система користувальницького інтерфейсу (СПИ).

База знань — центральна частина експертної системи. Вона має правила, описують стосунки або явища, методи лікування й знання вирішення завдань в галузі застосування системи. Можна представляти базу знань що з фактичних знань і якості знань, що використовуються виведення інших знань. Твердження «Джон Ф. Кеннеді був 35-му президентом Сполучених Штатів «- приклад фактичного знання. «Коли ви болить голова, то прийміть дві таблетки цитрамона «- приклад знання висновку. Сама база знань зазвичай розташований диску чи іншому носії.

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

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

Коли питання має бути попередньо оброблений, то доступом до базі знань здійснюється через інтерфейс з користувачем. Інтерфейс — це частина експертної системи, яка взаємодіє зі користувачем.

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

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

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

Уявлення знань.

Представление знань — це безліч угод щодо синтаксису і семантикою, за якими описуються об'єкти. Хороше правило під час проектування уявлення знань — це організація знань у такій формі, що дозволяє легко здійснювати доступ з допомогою природничих і простих механізмів. «Чим простіше, краще «- правило, яку треба пам’ятати, під час роботи з наданням знань.

Експертні системи часто створюються «інженером за знаннями «(чи проектувальниками експертних систем), які працюють із человеком-экспертом, щоб закодувати знання експерта у базі знань.

Перший спосіб — це класифікація та приміщення фактів і чисел (фрагментів фактичного знання) у Правила Турбо-Пролога.

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

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

Система користувальницького інтерфейсу.

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

1. Обробка даних, отримані з клавіатури, і высвечивание впроваджуються і виведених даних на екрані.

2. Підтримка діалогу між користувачем й банківською системою.

3. Розпізнавання ситуації нерозуміння між користувачем і жорсткою системою.

4. Забезпечення «приязності «стосовно користувачеві.

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

З іншого боку, система інтерфейсу повинна підтримувати відповідний діалог між користувачем і безконтактною системою. Діалог — це «спільна форма консультації із засідання експертної системою.

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

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

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

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

Пользователь також має матимуть можливість взаємодіяти із засідання експертної системою природним чином. У ідеалі користувач повинен матимуть можливість використовувати природний мову.

Експертна система на правилах.

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

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

Роботу цього інтерпретатора можна описати послідовністю трьох кроків:

1. Інтерпретатор зіставляє зразок правила із елементами даних у базі знань.

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

3. Інтерпретатор застосовує обраний правило, щоб знайти відповіді питанням.

Цей трехшаговый процес інтерпретації є циклічним і називається циклом «распознавание-действие » .

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

1. Використовувати мінімально достатнє безліч умов щодо продукционного правила.

2. Уникати суперечать продукционных правил.

3. Конструювати правила, спираючись на структуру притаманну предметної області.

Експертні системи, що базуються на логіці.

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

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

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

Інтерпретатор виконує різні функції всередині системи з урахуванням наступній схеми:

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

2. Якщо може бути викликане більше правила, то система використовує можливості Турбо-Пролога вирішення конфлікту. Отже пользователю/программисту непотрібно розглядати потенційно можливим конфліктам.

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

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

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

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

Структура бази знань експертної системи для вибору породи дерева.

Для ідентифікації породи усередині кожного підмножини можна використовувати список атрибутів. Кількість характеристик визначатиме міру точності класифікації. Що Розрізняє необов’язково є якась єдина характеристика — все безліч атрибутів використовується задля досягнення цілей у споруджуваних правилах.

Все перелічені нижче атрибути є необхідними, бо ані них не уражає всіх порід одночасно.

1) листяна;

2) хвойне;

3) м’яка;

4) тверда;

5) дуже тверда;

6) сіро-коричнева;

7) ясно-червона;

8) світла;

9) темна;

10) смолиста;

11) дуже смолиста;

12) Велика текстура;

13) Дрібна текстура.

Кожна характеристика для конкретної породи або правильна, або правильна. Для кожної породи справедливі такі характеристики:

Порода — Характеристики.

Дуб — 1,4,6,13.

Бук — 1,4,7,12.

Осика — 1,3,8,13.

Тис — 1,5,9.

Ялина — 2,3,8,10.

Сосна — 2,3,8,11.

Спосіб використання цієї інформації залежить від експертної системи.

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

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

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

Спочатку зробити декларації бази даних. База даних берегтиме відповіді користувача стосовно питань системи користувальницького інтерфейсу (СПИ). Ці дані є стверджувальними чи негативними відповідями.

Далі потрібно оголосити предикати до виконання виведення (машина виведення) й у взаємодії з користувачем (система користувальницького інтерфейсу).

Усе це такі декларації:

database.

xpositive (symbol, symbol).

xnegative (symbol, symbol).

predicates.

do_expert_job.

do_consulting.

ask (symbol, symbol).

dog_is (symbol).

it_is (symbol).

positive (symbol, symbol).

negative (symbol, symbol).

remember (symbol, symbol, symbol).

clear_facts.

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

Мають бути складено вісім продукционных правил: за одним кожної породи. Кожне правило має ідентифікувати породу за ознакою приналежність до групи довгошерстих чи короткошерстных.

Правило it_is виробляє цю ідентифікацію. Потім правило positive ідентифікує характеристики собаки у разі.

І it_is і positive використовуються механізмом виведення. Нижче наведено повне продукционное правило для дуба:

tree_is («Дуб »):;

positive (tree, «Листяна »),.

positive (tree, «Тверда »),.

positive (tree, «Серо_Коричневая »),.

positive (tree, «Мелкая_текстура »),!.

Механізм виведення повинен мати правила керувати даними вводимыми користувачем, для зіставлення їх з продукционными правилами і збереження «траси «(чи запам’ятовування) негативних і стверджувальних відповідей. Правила positive і negative йдуть на зіставлення даних користувача з цими в продукционных правилах. Правило remember (запам'ятовування) виробляє додавання речень із відповідями yes (так) і no (немає), від використання і при співставленні зі зразком:

positive (X, Y) :;

xpositive (X, Y),!.

positive (X, Y) :;

not (negative (X, Y)),!,.

ask (X, Y).

negative (X, Y) :;

xnegative (X, Y),!.

remember (X, Y, yes) :;

asserta (xpositive (X, Y)).

remember (X, Y, no) :;

asserta (xnegative (X, Y)),.

fail.

clear_facts :;

retract (xpositive (_,_)),.

fail.

clear_facts :;

retract (xnegative (_,_)),.

fail.

Призначення системи користувальницького інтерфейсу (СПИ) — зв’язок впроваджуються користувачем даних із системою логічного висновку. Головний модуль do_expert_job (виконай експертну роботу) і модуль do_consulting (виконай консультацію) здійснюють цей зв’язок. Модуль ask (X, Y) (спитай) затребувана дані у користувача і зберігає відповіді у базі знань. З іншого боку, вікно забезпечує додаткове зручність під час консультації. Система користувальницького інтерфейсу повністю приведено нижче:

do_expert_job :;

setup_window,.

do_consulting,.

write («Press space bar. »), nl,.

readch (_),.

removewindow,.

exit.

setup_window :;

makewindow (1,7,7, «AN EXPERT SYSTEM », 1,16,22,58),.

nl, write («* * * * * * * * * * * * * * * * * * * * »),.

nl, write («A Tree Expert »),.

nl, write («»),.

nl, write («This is a tree identification system. »),.

nl, write («Please answer the question about »),.

nl, write («the dog you would like by typing in »),.

nl, write («» yes «or «no ». «),.

nl, write («* * * * * * * * * * * * * * * * * * * * »),.

nl, nl.

do_consulting :;

dog_is (X),!, nl,.

write («the tree you have indicated is a (n) », X, «. »), nl,.

clear_facts.

do_consulting :;

nl, write («Sorry I can «t help you ! »),.

clear_facts.

ask (X, Y) :;

write («Question : — «, X, «it », Y, «? »),.

readln (Reply),.

remember (X, Y, Reply).

Зауважте, що головна модуль do_expert_job викликає модулі setup_window (установи вікно) і do_consulting (виконай консультацію). Котрий Консультує модуль має дві альтернативні форми. Перша взаємодіє зі механізмом виведення; якщо результат циклу «розпізнавання — дію «позитивний, то результат повідомляється користувачеві. Друга форма повідомляє про негативному результаті.

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

Ця програма просить користувача вибрати режим консультації або з програми. Потім експертна система вибирає породу собаки відповіді користувача стосовно питань, або наприкінці невдалого пошуку видає повідомлення «Sorry!».

Реализация:.

domains.

database.

xpositive (symbol, symbol).

xnegative (symbol, symbol).

predicates.

do_expert_bird.

do_consulting.

ask (symbol, symbol).

tree_is (symbol).

positive (symbol, symbol).

negative (symbol, symbol).

remember (symbol, symbol, symbol).

clear_facts.

goal.

do_expert_bird.

clauses.

do_expert_bird:;

makewindow (1,7,7, «Expert System », 1,3,22,71),.

nl, write («—————————————————————————- «),.

nl, write («A Tree Expert »),.

nl, write («»),.

nl, write («Please answer the questions «yes «or «no ». «),.

nl, write («—————————————————————————- «),.

nl, nl,.

do_consulting,.

write («Press space bar. »), nl,.

readchar (_),.

removewindow,.

exit.

do_consulting:;

tree_is (X),!, nl,.

write («Tree », X, «. »), nl,.

clear_facts.

do_consulting:;

nl, write («Sorry ! »),.

clear_facts.

ask (X, Y):;

write («expert> «, X, «», Y, «? »),.

readln (Reply),.

remember (X, Y, Reply).

positive (X, Y):;

xpositive (X, Y),!.

positive (X, Y):;

not (negative (X, Y)),!,.

ask (X, Y).

negative (X, Y):;

xnegative (X, Y),!.

remember (X, Y, yes):;

asserta (xpositive (X, Y)).

remember (X, Y, no):;

asserta (xnegative (X, Y)),.

fail.

clear_facts:;

retract (xpositive (_,_)),.

fail.

clear_facts:;

retract (xnegative (_,_)),.

fail.

tree_is («Дуб »):;

positive (tree, «Листяна »),.

positive (tree, «Тверда »),.

positive (tree, «Серо_Коричневая »),.

positive (tree, «Мелкая_текстура »),!.

tree_is («Бук »):;

positive (tree, «Листяна »),.

positive (tree, «Тверда »),.

positive (tree, «Светло_Красная »),.

positive (tree, «Крупная_текстура »),!.

tree_is («Осика »):;

positive (tree, «Листяна »),.

positive (tree, «М'яка »),.

positive (tree, «Світла »),.

positive (tree, «Мелкая_текстура »),!.

tree_is («Тис »):;

positive (tree, «Листяна »),.

positive (tree, «Очень_твердая »),.

positive (tree, «Темна »),!.

tree_is («Ялина »):;

positive (tree, «Хвойне »),.

positive (tree, «М'яка »),.

positive (tree, «Світла »),.

positive (tree, «Смолиста »),!.

tree_is («Сосна »):;

positive (tree, «Хвойне »),.

positive (tree, «М'яка »),.

positive (tree, «Світла »),.

positive (tree, «Очень_Смолистая »),!.

tree_is («Стовп »):;

positive (tree, «Не_дерево »),.

positive (tree, «Очень_Твердый »),!.

Показати весь текст
Заповнити форму поточною роботою