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

Реферат

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

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

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

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

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

Написание экспертной системы на языке Turbo-Prolo Задание: Создать экспертную систему по породам дерева Теория: Структура экспертных систем Чтобы проводить экспертизу, компьютерная программа должна быть способ на решать задачи посредством логического вывода и получать при этом дос таточно надежные результаты. Программа должна иметь доступ к системе фа ктов, называемой базой знаний. Программа также должна во время консультации выводить заключения из ин формации, имеющейся в базе знаний. Некоторые экспертные системы могут та кже использовать новую информацию, добавляемую во время консультации. Э кспертную систему, таким образом, можно представлять состоящей из трех ч астей: 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 wo uld 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, " Очень _ Твердый ") ,!.
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-Prolo", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

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


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