Курсовая: Написание экспертной системы на языке Turbo-Prolog - текст курсовой. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Курсовая

Написание экспертной системы на языке Turbo-Prolog

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Курсовая работа
Язык курсовой: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 155 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникальной курсовой работы

Узнайте стоимость написания уникальной работы

Задание : Соз дать экспретную систему по породам дерева Тео рия : Структура экспертных систем Чтобы проводить эспертизу , компьютерная программа должна быт ь способна решать задачи посредством логическ ого вывода и получать при этом достаточно надежные результаты . Программа должна иметь доступ к системе фактов , н азываемой базой знаний. Программа также должна во время консультации выводить заключения из инф ормации , имеющейся в базе знаний . Некоторые экспертные системы могут также использовать новую информацию , добавляемую во время конс ультации . Экспертную систему , таким образом , можно представлять состоящей из трех час тей : 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 :- set up_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,symb ol) 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, writ e(" 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,"Очень _Твердый "),!.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
ОБЪЯВЛЕНИЕ
Меняю молодых ученых на престарелых актеров и боксеров.
Российская Федерация
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, курсовая по программированию "Написание экспертной системы на языке Turbo-Prolog", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru