Разработка электронного учебника по Экспертным системам

Автор: Пользователь скрыл имя, 29 Марта 2010 в 01:53, курсовая работа

Описание работы

Экспертные системы (ЭС) возникли как значительный практический результат в применении и развитии методов искусственного интеллекта (ИИ)- совокупности научных дисциплин, изучающих методы решения задач интеллектуального (творческого) характера с использованием ЭВМ.
Область ИИ имеет более чем сорокалетнюю историю развития. С самого начала в ней рассматривался ряд весьма сложных задач, которые, наряду с другими, и до сих пор являются предметом исследований: автоматические доказательства теорем, машинный перевод (автоматический перевод с одного естественного языка на другой), распознавание изображений и анализ сцен, планирование действий роботов, алгоритмы и стратегии игр.
ЭС - это набор программ, выполняющий функции эксперта при решении задач из некоторой предметной области. ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует эффективности работы и повышению квалификации специалистов.
Главным достоинством экспертных систем является возможность накопления знаний и сохранение их длительное время. В отличие от человека к любой информации экспертные системы подходят объективно, что улучшает качество проводимой экспертизы. При решении задач, требующих обработки большого объема знаний, возможность возникновения ошибки при переборе очень мала.

Содержание

Введение – стр. 3
I. Исследовательская часть.
1. Обзор методов построения книги – стр. 4
1.1 Системы на основе линейного текста – стр. 4
1.2 Мультимедийные обучающие системы – стр. 4
1.3 Системы на основе гипертекста – стр. 4
1.4 Справочная система ОС Windows – стр. 5
1.5 Пакет гиперметод – стр. 5
1.6 Требования к учебнику – стр. 6
II. Конструкторская часть.
Обоснование выбора среды программирования – стр. 7
Основные функции учебника – стр. 7
Разработка главной страницы – стр. 7
Используемы элементы – стр. 15
Экспертные системы, их особенности. Применение экспертных систем. История развития. – стр.15
Структура систем, основанных на знаниях. – стр.30
Стратегии управления выводом – стр.41
III. Технологическая часть.
Руководство пользователя – стр. 46
Заключение – стр. 49
Список литературы – стр. 50

Работа содержит 1 файл

Курсач.doc

— 2.11 Мб (Скачать)

  Шаг 3. Текущей цели нет в рабочем множестве. Рассмотрим правило 1, которое содержит цель в правой части. Обе компоненты его условия имеются в рабочем множестве, так что условие истинно. Применяем привило 1; в результате выводим утверждение “Скоро пойдет дождь”; которое было нашей предыдущей целью.

  Шаг 4. Применяем правило 2, условием которого является данное утверждение. Получаем вывод исходного утверждения.

    Заметим, что для упрощения  ситуации мы предположили, что  в обоих случаях факты “Небо покрыто тучами”  и “Барометр падает” уже известны системе. На самом деле система выясняет истинность или ложность факта, входящего в условие некоторого правила, спрашивая об этом пользователя в тот момент, когда она пытается применить правило.

    Интерпретатор правил работает циклически. В каждом цикле он просматривает все правила, чтобы выявить среди них те посылки, которые совпадают с известными на данный момент фактами из рабочего множества. Интерпретатор определяет также порядок применения правил. После выбора правило срабатывает, его заключение заносится в рабочее множество, и затем цикл повторяется сначала.

    В одном цикле может сработать  только одно правило. Если несколько  правил успешно сопоставлены  с фактами, то интерпретатор  производит выбор по определенному  критерию единственного правила, которое и срабатывает в данном цикле. Цикл работы интерпретатора схематически представлен на рис.4.

     

 

 

 

 

 

 

    
 

 

 

   
 
 
 

Рис. 4 Цикл работы интерпретатора. 

    Информация из рабочего множества  последовательно сопоставляется с посылками правил для выявления успешного сопоставления. Совокупность отобранных правил составляет так называемое конфликтное множество. Для разрешения конфликта интерпретатор имеет критерий, с помощью которого он выбирает единственное правило, после чего оно срабатывает. Это выражается в занесении фактов, образующих заключение правила, в рабочее множество или в изменении критерия выбора конфликтующих правил. Если же в заключение правила входит название какого-нибудь действия, то оно выполняется (например, подается звуковой сигнал, начинает выполняться процедура и т.д.).

    Новые данные, введенные в систему  с работавшим правилом, в свою  очередь могут изменить критерий  выбора правила. В том случае, если, например, компьютерная система, предназначенная для игры в шахматы, разыгрывает партию за двух игроков, то она может принять решение придерживаться атакующей стратегии через ход, т.е. атаковать будет один из партнеров. Если вы сами играете с этой системой, то в какой- то момент она может перейти к использованию оборонительной стратегии (по крайней мере, временно), а затем опять вернуться к наступательной игре. Изменение критерия основывается на заключениях, полученных после анализа положения на доске, которое представлено в рабочем множестве системы, а также правил игры (статических структурных знаний) и структурных динамических знаниях (эвристиках).

    В действительности ЭС не располагают  процедурами, которые могли бы  построить в пространстве состояний  сразу весь путь решения задачи. Более того, зачастую даже не удается определить, имеется ли вообще какое - нибудь решение задачи. Тем ни менее поиск решения выполняется, поскольку движением в пространстве состояний управляют скрытые или виртуальные процедуры. Они получили название демонов, поскольку во время работы системы находятся в “засаде” и активизируются только тогда, когда их просят о помощи, т.е. на самом деле ведут себя как добрые демоны.

    Свое название демоны получили  от “демона Максвелла действующего  лица одного из мысленных экспериментов, предложенного его автором для критики законов термодинамики. Другим их прообразом является Пандемониум Оливера Селфриджа - первой модели человека, в котором деятельность биологической системы представлялась как работа вызываемых по образцу демонов. Если же воспользоваться научной терминологией, то такие управляющие процедуры получили название недетерминированных. Это означает, что траектория поиска решения в пространстве состояний полностью определяется данными.

    При разработке управляющего  компонента механизма (подсистемы) вывода необходимо решить вопрос о том, по какому критерию следует выбирать правило, которое будет применено в конкретном цикле.

    Уже на ранней стадии разработки  ЭС необходимо знать, что будет  вводить конечный пользователь. Это нужно для того, чтобы убедиться, будет ли система достаточно практична и сможет ли она вжиться в среду, в которой ей предстоит работать.

    Участие пользователя выражается  в следующем: 

- конкретные  задачи. Пользователь, сталкиваясь  с конкретными проблемами, может объяснить возникновение проблем и предложить возможные варианты их решения;

- общение.  Интерфейс пользователя должен  соответствовать словарю пользователя  и уровню его подготовки;

- установление  связей. Знакомство пользователя  с причинами и последствиями, вызывающими то или иное действие в процессе функционирования системы, неоценимо в определении взаимосвязей фактов в базе знаний;

- обратная  связь. Отличительной особенностью  удобной в использовании ЭС  является ее способность объяснить  конечному пользователю ход своих рассуждений.   

«5»  Диалог с ЭС. Объяснение. 

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

    Итак, на примере простой ЭС  и базы знаний диалог пользователя  с системой можно представить себе следующим образом: 

     Система: Вы хотите узнать, нужно  ли взять с собой зонтик?

     Пользователь:  Да.

     Система:            Верно ли, что небо покрыто  тучами?

     Пользователь:  Да.

     Система:            Верно ли, что барометр падает?

     Пользователь:  Да.

     Система: (после некоторого “размышления”)  Нужно взять с собой зонтик.

    Как видно из этого примера,  в ходе консультации инициатива  диалога принадлежит системе,  а сама консультация у ЭС  выглядит так же, как и консультация  у эксперта- человека: задается ряд  вопросов и на основании их  анализа выдается экспертное заключение. Однако в отличие от беседы со специалистом, диалог с ЭС имеет свои психологические особенности: большинство пользователей (по вполне понятным причинам, таким, как отсутствие опыта работы на компьютерах, лаконичность диалога с ЭС, отсутствие пояснений в ходе консультации и другим) склонны меньше доверять “мнению” ЭС, чем мнению “живого” эксперта.

    Чтобы удостовериться в “разумности”  и “компетентности” ЭС, пользователь может обратиться к ее подсистеме объяснения.

     Для того, чтобы понять как она работает, нам необходимо рассмотреть вопрос о том в какой форме ЭС хранить информацию о процессе своих рассуждений.

    В ЭС принято представлять  процесс логического вывода в  виде схемы, которая называется  деревом вывода. В нашем примере дерево вывода будет иметь вид:    

 

  

 

       

  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  Здесь в простых рамках приведены узлы дерево вывода, соответствующие фактам, в двойных- узлы, соответствующие названием правил. Сверху от узла- правила изображен факт, находящийся в его правой части (в принятой терминологии- предок узла- правила). Листья дерева (узлы, образующие его нижний “ярус”), соответствуют фактам, истинностные значения которых запрашиваются у пользователя, или первоначально известным фактам из базы знаний, корень дерева (самый верхний узел)- целевому утверждению.

    В процессе консультации ЭС  строит дерево вывода и хранит  его в памяти в некоторой внутренней форме. Успешному применению правила соответствует добавление узла с его именем, потомками которого являются узлы, соответствующие некоторым из уже выведенных фактов, а предком - новый узел, соответствующий факту, содержащемуся в правой части правила.

    Рассмотрим теперь работу подсистемы  объяснения. Для получения объяснения в процессе консультации пользователь может “перехватить инициативу” диалога в тот момент, когда система задает очередной вопрос, “переспросив” в ответ систему, почему она его задала. Таким образом, вместо ответа на вопрос системы, пользователь может задать ей встречный вопрос:

   ПОЧЕМУ?

(“  Почему система задала такой вопрос?”). Система интерпретирует вопрос “Почему?” в “понятных” ей терминах дерева вывода, поднимаясь по нему на один ярус выше и находя правило, для применения которого система задает этот вопрос. Пользователю выдается информация об этом правиле, о состоянии вычисления его условиям о заключении данного правила (текущей цели).

    Пусть в нашем примере диалога  с ЭС пользователь вместо ответа  на вопрос системы: “Верно ли, что барометр падает?” задает ей встречный вопрос: ”ПОЧЕМУ?”. ЭС обращается к подсистеме объяснения, которая выдает пользователю следующее сообщение: 

[1.0]  Эта информация необходима, чтобы  установить, что скоро пойдет  дождь. 

   Ранее было установлено, что: 

[1.1]  Небо покрыто тучами.

   Следовательно, если:

[1.2]  Барометр падает, то скоро пойдет дождь.

    (Правило 1).

    Двойные номера в квадратных  скобках имеют следующий смысл.  Для облегчения работы пользователя  подсистема объяснения нумерует  свои ответы (номер ответа, в данном  случае- 1. является первой цифрой номера), а в каждом ответе- нумерует также утверждения, о которых в нем идет речь. Пользователь может использовать двойные номера для ссылок на утверждения, не выписывая их явно. Например, номер 1.1 обозначает утверждение “Небо покрыто тучами”.

    Допустим, что пользователь хочет еще дальше проследить логику рассуждений системы и узнать, почему ей необходимо установить, скоро ли пойдет дождь. Для этого он может повторно задать ей вопрос:

   ПОЧЕМУ?

(“Почему  необходимо установить, что скоро  пойдет дождь?”). Второй ответ системы аналогичен первому; в нем указывается, что это необходимо для применения правила 2 с целью установить, что нужно взять с собой зонтик:

  [2.0] Эта информация необходима, чтобы  установить, что нужно взять с  собой зонтик. Если:

  [2.1] Скоро пойдет дождь, то нужно взять с собой зонтик.

      (Правило 2).

   Утверждение [2.0] является исходным  целевым утверждением системы.  Таким образом, теперь ход рассуждений системы пользователю полностью понятен. Вопрос “ПОЧЕМУ?” позволяет проследить ход рассуждений системы от посылок к заключениям. Однако для более детального осмысления процесса вывода удобно было бы иметь возможность изучать его и в противоположном порядке- от заключений к посылкам. Для этого служит другой вопрос, который также “понимает” подсистема объяснений:

    

  КАК  N?

Информация о работе Разработка электронного учебника по Экспертным системам