Автор работы: Пользователь скрыл имя, 26 Апреля 2013 в 09:13, курсовая работа
При создании ЭС возникает ряд затруднений. Это прежде всего связано с тем, что заказчик не всегда может точно сформулировать свои требования к разрабатываемой системе. Также возможно возникновение трудностей чисто психологического порядка: при создании базы знаний системы эксперт может препятствовать передаче своих знаний, опасаясь, что впоследствии его заменят “машиной”. Но эти страхи не обоснованы, т. к. ЭС не способны обучаться, они не обладают здравым смыслом, интуицией. Но в настоящее время ведутся разработки экспертных систем, реализующих идею самообучения. Также ЭС неприменимы в больших предметных областях и в тех областях, где отсутствуют эксперты.
Система: Вы хотите узнать, нужно ли взять с собой зонтик?
Пользователь: Да.
Система: Верно ли, что небо покрыто тучами?
Пользователь: Да.
Система: Верно ли, что барометр падает?
Пользователь: Да.
Система: (после
некоторого “размышления”)
Как видно
из этого примера, в ходе
консультации инициатива
Чтобы удостовериться
в “разумности” и “
Для того,
чтобы понять как она работает,
нам необходимо рассмотреть
В ЭС принято
представлять процесс логическо
Нужно взять с собой зонтик.
правило 2
Скоро пойдет дождь.
правило 1
Небо покрыто тучами. Барометр падает.
Здесь в простых рамках приведены узлы дерево вывода, соответствующие фактам, в двойных - узлы, соответствующие названием правил. Сверху от узла- правила изображен факт, находящийся в его правой части (в принятой терминологии- предок узла- правила). Листья дерева (узлы, образующие его нижний “ярус”), соответствуют фактам, истинностные значения которых запрашиваются у пользователя, или первоначально известным фактам из базы знаний, корень дерева (самый верхний узел) - целевому утверждению.
В процессе консультации ЭС строит дерево вывода и хранит его в памяти в некоторой внутренней форме. Успешному применению правила соответствует добавление узла с его именем, потомками которого являются узлы, соответствующие некоторым из уже выведенных фактов, а предком- новый узел, соответствующий факту, содержащемуся в правой части правила.
Рассмотрим теперь работу
подсистемы объяснения. Для получения
объяснения в процессе
ПОЧЕМУ?
(“ Почему система задала такой вопрос?”). Система интерпретирует вопрос “Почему?” в “понятных” ей терминах дерева вывода, поднимаясь по нему на один ярус выше и находя правило, для применения которого система задает этот вопрос. Пользователю выдается информация об этом правиле, о состоянии вычисления его условиям о заключении данного правила (текущей цели).
Пусть в нашем примере
диалога с ЭС пользователь
вместо ответа на вопрос
[1.0] Эта информация необходима, чтобы установить, что скоро пойдет дождь.
Ранее было установлено, что :
[1.1] Небо покрыто тучами.
Следовательно, если:
[1.2] Барометр падает, то скоро пойдет дождь.
(Правило 1).
Двойные номера в квадратных скобках имеют следующий смысл. Для облегчения работы пользователя подсистема объяснения нумерует свои ответы (номер ответа, в данном случае- 1. является первой цифрой номера), а в каждом ответе- нумерует также утверждения, о которых в нем идет речь. Пользователь может использовать двойные номера для ссылок на утверждения, не выписывая их явно. Например, номер 1.1 обозначает утверждение “Небо покрыто тучами”.
Допустим, что пользователь хочет еще дальше проследить логику рассуждений системы и узнать, почему ей необходимо установить, скоро ли пойдет дождь. Для этого он может повторно задать ей вопрос:
ПОЧЕМУ?
(“Почему необходимо
[2.0] Эта информация необходима, чтобы установить, что нужно взять с собой зонтик. Если:
[2.1] Скоро пойдет дождь, то нужно взять с собой зонтик.
(Правило 2).
Утверждение [2.0] является
исходным целевым утверждением
системы. Таким образом,
КАК N?
где N- номер утверждения, выданный подсистемой объяснения на одном из предыдущих шагов диалога. Например, в ответ на вопрос:
КАК 2.0?
“Как получен утверждение 2.0?” подсистема объяснения выдает информацию в правиле, которое было применено для его получения:
[3.1] Используется
правило 2, заключением которого
является,
Чтобы получить более подробную информацию о том, как было использовано правило 2, следует повторно задать вопрос “КАК?”:
КАК 3.1?
“Как было использовано правило 2?”. Ответ системы:
Ранее установлено, что:
[4.1] Скоро пойдет дождь.
Следовательно, нужно взять с собой зонтик.
Выясним теперь, как получено утверждение 4.1:
КАК 4.1?
Ответ системы:
[5.1] Используется правило 1, заключением которого является, что скоро пойдет дождь. Наконец, выясним. как использовано правило 1:
КАК 5.1?
Ответ системы:
Ранее установлено, что:
[6.1] Небо покрыто тучами.
[6.2] Барометр падает.
Следовательно, скоро пойдет дождь.
Как были получены утверждения 6.1 и 6.2 пользователь помнит, поскольку он отвечал на вопросы системы относительно этих утверждений. Если все же он задаст системе вопрос КАК 6.1? или КАК 6.2?, то система напомнит ему об этом.
Описанная модель объяснения используется в системе MYCIN. Достоинством ее является возможность получения объяснения любого шага работы системы, недостатком - жесткая привязка к дереву вывода.14 Для пользователя- непрограммиста такой способ объяснения может показаться излишне детализованным и слишком формальным, а нужно было бы объяснение на “более высоком уровне”- с точки зрения здравого смысла и без углубления в детали. Подобные модели объяснения только начинают появляться в ЭС и требуют более сложной организации знаний.
1.8. Стратегии управления выводом
1.8.1. Разработка стратегии.
Одним из важных
вопросов, возникающих при
При разработке стратегии управления выводом необходимо ответить на два вопроса:
1. Какую точку в пространстве состояний принять в качестве исходной? Дело в том, что еще до начала поиска решения система, основанная на знаниях, должна каким- то образом выбрать исходную точку поиска- в прямом или обратном направлении.
2. Как повысить эффективность поиска решения? Чтобы добиться повышения эффективности поиска решения, необходимо найти эвристики разрешения конфликтов, связанных с существованием нескольких возможных путей для продолжения поиска в пространстве состояний, поскольку требуется отбросить те из них, которые заведомо не ведут к искомому решению.
1.8.2. Повышение эффективности поиска
В системах, база знаний которых насчитывает сотни правил, весьма желательным является использование какой- либо стратегии управления выводом, позволяющей минимизировать время поиска решения и тем самым повысить эффективность вывода. К числу таких стратегий относятся поиск в глубину, поиск в ширину, разбиение на подзадачи и альфа- бета алгоритм.
а) Сопоставление методов поиска в глубину и ширину.
Суть поиска
в глубину состоит в том,
что при выборе очередной
Пространство состояний - это граф, вершины которого соответствуют ситуациям, встречающимся в задаче (“проблемные ситуации”), а решение задачи сводится к поиску пути в этом графе.
При поиске
в ширину, напротив, система проанализирует
все признаки, находящиеся на
одном уровне пространства
Специалисты в какой-либо узкой области выше оценивают поиск в глубину, поскольку он позволяет собрать воедино все признаки, связанные с выдвинутой гипотезой. Универсалы же отдают предпочтение поиску в ширину, т.к. в этом случае анализ не ограничивается заранее очерченным кругом признаков. Особенности пространства поиска во многом определяют целесообразность применения той или иной стратегии: например, программы для игры в шахматы строятся на основе поиска в ширину, поскольку при использовании поиска в глубину число анализируемых ходов может быть и очень большим.
б) Альфа- бета алгоритм.
Задача сводится
к уменьшению пространства
в) Разбиение на подзадачи.
При такой стратегии в исходной задаче выделяются подзадачи, решение которых рассматривается как достижение промежуточных целей на пути к конечной цели. Если удается правильно понять сущность задачи и оптимально разбить ее на систему иерархически связанных целей- подцелей, то можно добиться того, что путь к ее решению в пространстве поиска будет минимален. Однако если задача является плохо структурированной, то сделать это невозможно.
При сведении
задачи к подзадачам
Рассмотрим, например,
задачу о проезде на
Подзадача 1. Проехать из Пало-Альто в Сан-Франциско.
Подзадача 2.Проехать из Сан-Франциско в Чикаго.
Подзадача 3. Проехать из Чикаго в Олбани.
Подзадача 4. Проехать из Олбани в Кембридж.
Здесь решение всех четырех подзадач обеспечило бы некоторое решение первоначальной задачи.
Каждая из
подзадач может быть решена
с применением какого-либо