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

Курсовая

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

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

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

закрыть
Категория: Курсовая работа
Язык курсовой: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 155 kb, скачать бесплатно
Обойти Антиплагиат
Повысьте уникальность файла до 80-100% здесь.
Промокод referatbank - cкидка 20%!
Заказать
Узнать стоимость написания уникальной курсовой работы

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

Задание : Соз дать экспретную систему по породам дерева Тео рия : Структура экспертных систем Чтобы проводить эспертизу , компьютерная программа должна быт ь способна решать задачи посредством логическ ого вывода и получать при этом достаточно надежные результаты . Программа должна иметь доступ к системе фактов , н азываемой базой знаний. Программа также должна во время консультации выводить заключения из инф ормации , имеющейся в базе знаний . Некоторые экспертные системы могут также использовать новую информацию , добавляемую во время конс ультации . Экспертную систему , таким образом , можно представлять состоящей из трех час тей : 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 - 2017
Рейтинг@Mail.ru