Экспертные системы

Автор: Пользователь скрыл имя, 18 Февраля 2012 в 15:10, курсовая работа

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

Экспертная система состоит из базы знаний (части системы, в которой содержатся факты), подсистемы вывода (множества правил, по которым осуществляется решение задачи), подсистемы объяснения, подсистемы приобретения знаний и диалогового процессора.

При построении подсистем вывода используют методы решения задач искусственного интеллекта.

Содержание

Введение 3
1 Экспертные системы, их особенности. Применение экспертных систем. История развития. 4
2 Структура систем, основанных на знаниях. 18
2.1 Категории пользователей экспертных систем. 18
2.2 Подсистема приобретения знаний. 18
2.3 База знаний. 19
2.4 Подсистема вывода. 21
2.5 Диалог с экспертной системой. Объяснение. 26
3 Стратегии управления выводом. 30
3.1 Разработка стратегии управления выводом. 30
3.2 Повышение эффективности поиска. 30
3.3 Представление задач в пространстве состояний. 32
4 Методы поиска в пространстве состояний. 35
Заключение 44
Список литературы 45

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

Курсовая ИТУ.doc

— 294.00 Кб (Скачать)

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

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

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

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

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

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

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

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

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

                                                

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Методы  поиска в пространстве состояний
 

    Процессы  поиска на графе

    Граф  определяется как множество вершин вместе с множеством ребер, причем каждое ребро задается парой вершин. Если ребра направлены, то их также называют дугами. Дуги задаются упорядоченными парами. Такие графы называются направленными. Ребрам можно приписывать стоимости, имена или метки произвольного вида, в зависимости от конкретного приложения.

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

    Начальная вершина соответствует описанию начального состояния. Вершины, непосредственно следующие за данной вершиной, получаются в результате использования операторов, которые применимы к описанию состояния. Пусть Г- некоторый специальный оператор, который строит все вершины, непосредственно следующие за данной. Мы будем называть процесс применения оператора Г к вершине раскрытием вершины.

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

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

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

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

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

    Методы  полного перебора

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

    1)  Поместить вершину в список, называемый  ОТКРЫТ.

    2) Если список ОТКРЫТ пуст, то  на выход подается сигнал о  неудаче поиска, в противном случае переходить к следующему шагу.

    3) Взять первую вершину из списка  ОТКРЫТ и перенести ее в  список ЗАКРЫТ; назовем эту вершину n.

    4) Раскрыть вершину n, образовав  все вершины, непосредственно  следующие за n. Если непосредственно следующих вершин нет, то переходить сразу же к шагу (2). Поместить имеющиеся непосредственно следующие за n вершины в конец списка ОТКРЫТ и построить указатели, ведущие от них назад к вершине n.   

Информация о работе Экспертные системы