Экспертные системы в информатике

Характеристика экспертных систем: определение, особенности и области применения, главное достоинство и их назначение. Экспертные системы первого и второго поколения, ограничения в их применении. Преимущества экспертных систем перед человеком – экспертом.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 04.12.2010
Размер файла 54,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ПОЧЕМУ?

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

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

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

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

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

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

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

(Правило 1).

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

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

ПОЧЕМУ?

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

[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. Достоинством ее является возможность получения объяснения любого шага работы системы, недостатком- жесткая привязка к дереву вывода. Для пользователя- непрограммиста такой способ объяснения может показаться излишне детализованным и слишком формальным, а нужно было бы объяснение на “более высоком уровне” с точки зрения здравого смысла и без углубления в детали. Подобные модели объяснения только начинают появляться в ЭС и требуют более сложной организации знаний.

Глава 3. Стратегии управления выводом

3.1 Разработка стратегии

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

При разработке стратегии управления выводом необходимо ответить на два вопроса:

1. Какую точку в пространстве состояний принять в качестве исходной? Дело в том, что еще до начала поиска решения система, основанная на знаниях, должна каким- то образом выбрать исходную точку поиска- в прямом или обратном направлении.

2. Как повысить эффективность поиска решения? Чтобы добиться повышения эффективности поиска решения, необходимо найти эвристики разрешения конфликтов, связанных с существованием нескольких возможных путей для продолжения поиска в пространстве состояний, поскольку требуется отбросить те из них, которые заведомо не ведут к искомому решению.

3.2 Повышение эффективности поиска

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

а) Сопоставление методов поиска в глубину и ширину.

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

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

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

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

б) Альфа- бета алгоритм.

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

в) Разбиение на подзадачи.

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

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

Рассмотрим, например, задачу о проезде на автомобиле из Пало-Альто (штат Калифорния) в Кембридж (штат Массачусетс). Эта задача может быть сведена, скажем, к следующим подзадачам:

Подзадача 1. Проехать из Пало-Альто в Сан-Франциско.

Подзадача 2.Проехать из Сан-Франциско в Чикаго.

Подзадача 3. Проехать из Чикаго в Олбани.

Подзадача 4. Проехать из Олбани в Кембридж.

Здесь решение всех четырех подзадач обеспечило бы некоторое решение первоначальной задачи.

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

г) Использование формальной логики при решении задач.

Часто для решения задач либо требуется проведение логического анализа в определенном объеме, либо поиск решения существенно отличается после такого анализа. Иногда такой анализ показывает, что определенные проблемы неразрешимы.

3.3 Представление задач в пространстве состояний

3.3.1 Описание состояний

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

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

3.3.2 Операторы. Состояния и операторы

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

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

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

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

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

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

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

Таким образом, мы видим, что для полного представления задачи в пространстве состояний необходимо задать:

а) форму описания состояний и, в частности, описание начального состояния;

б) множество операторов и их воздействий на описания состояний;

в) свойства описания целевого состояния.

Пространство состояний полезно представлять себе в виде направленного графа.

3.4.3 Запись в виде графа

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

Последовательность вершин ni1,ni2,...,nik., в которой каждая вершина nij дочерняя для ni,j-1, j=2,k, называется путем длины k от вершины ni1, к вершине nik. Если существует путь, ведущий от вершины ni к вершине nj, то вершину nj называют достижимой из вершины ni или потомком вершины ni . В этом случае вершина ni называется также предком для вершины nj. Видно, что проблема нахождения последовательности операторов, преобразующих одно состояние в другое, эквивалентна задаче поиска пути на графе.

Размещено на Allbest.ru


Подобные документы

  • Определение экспертных систем, их достоинство и назначение. Классификация экспертных систем и их отличие от традиционных программ. Структура, этапы разработки и области применения. Классификация инструментальных средств и технология разработки систем.

    курсовая работа [78,0 K], добавлен 03.06.2009

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

    реферат [140,8 K], добавлен 27.03.2010

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

    реферат [33,9 K], добавлен 25.02.2013

  • Сущность, виды, направления использования и основные понятия экспертных систем. Понятие и характеристика основных элементов структуры экспертной системы. Основные виды классификаций экспертных систем: по решаемой задаче и по связи с реальным временем.

    доклад [104,5 K], добавлен 09.06.2010

  • Назначение и архитектура экспертных систем, их применение в сфере образования. Экспертные системы тестирования, принципы их функционирования. Инструментальные средства создания приложения и разработка программы тестирования. Описание программы, листинг.

    дипломная работа [706,4 K], добавлен 07.05.2012

  • Экспертные системы – интеллектуальные программы и устройства, использующие знания и процедуры рассуждения для решения задач, стоящих перед экспертом: назначение, свойства, преимущества использования, режимы работы; характеристики неформализованных задач.

    презентация [132,5 K], добавлен 14.08.2013

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

    реферат [260,9 K], добавлен 25.06.2015

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

    презентация [169,1 K], добавлен 14.08.2013

  • Изучение характеристик, классификации, функций и основных элементов экспертных систем. Исследование их структуры и отличительных особенностей от другого программного обеспечения. Описания методов проектирования и области применения экспертных систем.

    реферат [38,1 K], добавлен 18.09.2013

  • Участники и инструментальные средства создания экспертной системы. Классификация, преимущества, сферы применения экспертных систем. Разработка блок-схемы алгоритма и программы на языке Турбо Паскаль для решения задачи по теме "Двумерные массивы".

    курсовая работа [1,0 M], добавлен 18.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.