Экспертные системы. Классификация экспертных систем. Разработка простейшей экспертной системы
Категория реферата: Рефераты по информатике, программированию
Теги реферата: исторические рефераты, контрольная по физике
Добавил(а) на сайт: Юренев.
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата
Для вершин, следующих за данной, делается проверка, не являются ли они целевыми вершинами. Если целевая вершина еще не найдена, то продолжается процесс раскрытия вершин (и установки указателей). Когда же целевая вершина найдена, эти указатели просматриваются в обратном направлении- от цели к началу, в результате чего выявляется путь решения. Тогда операторы над описаниями состояний, связанные с дугами этого пути, образуют решающую последовательность.
Этапы, указанные выше, описывают просто основные элементы процесса перебора. При полном описании процесса перебора нужно еще задать порядок, в котором следует раскрывать вершины. Если вершины раскрываются в том же порядке, в котором они порождаются, то получается процесс, который называется полным перебором, Если же сначала раскрывается всегда та вершина, которая была построена самой последней, то получается процесс перебора в глубину. Процессы полного перебора в глубину можно назвать также процедурами слепого перебора, поскольку расположение цели не влияет на порядок, в котором раскрываются вершины.
Возможно, однако, что у нас имеется некоторая эвристическая информация о глобальном характере графа и общем расположении цели поиска. Такого рода информация часто может быть использована для того, чтобы “подтолкнуть” поиск в сторону цели, раскрывая в первую очередь наиболее перспективные вершины.
Рассмотрим более подробно методы слепого перебора. Деревом называется
граф, каждая вершина которого имеет ровно одну непосредственно
предшествующую ей (родительскую) вершину, за исключением выделенной
вершины, называемой корнем дерева, которая вовсе не имеет предшествующих ей
вершин. Таким образом, корень дерева служит начальной вершиной. Для
перебора деревья проще графов прежде всего потому, что при построении новой
вершины мы можем быть уверены, что она никогда раньше не строилась и
никогда не будет построена вновь. Таким образом, путь от корня до данной
вершины единственен.
4.2. Методы перебора
4.2.1. Методы полного перебора
В методе полного перебора вершины раскрываются в том порядке, в котором
они строятся. Простой алгоритм полного перебора на дереве состоит из
следующей последовательности шагов:
1) Поместить вершину в список, называемый ОТКРЫТ.
2) Если список ОТКРЫТ пуст, то на выход подается сигнал о неудаче поиска, в противном случае переходить к следующему шагу.
3) Взять первую вершину из списка ОТКРЫТ и перенести ее в
список ЗАКРЫТ; назовем эту вершину n.
4) Раскрыть вершину n, образовав все вершины, непосредственно следующие за
n. Если непосредственно следующих вершин нет, то переходить сразу же к шагу
(2). Поместить имеющиеся непосредственно следующие за n вершины в конец
списка ОТКРЫТ и построить указатели, ведущие от них назад к вершине n.
5) Если какие- нибудь из этих непосредственно следующих за n вершин
являются целевыми вершинами, то на выход выдать решение, получающееся
просмотром вдоль указателей; в противном случае переходить к шагу (2).
В этом алгоритме предполагается, что начальная вершина не удовлетворяет
поставленной цели, хотя нетрудно ввести этап проверки такой возможности.
Блок- схема алгоритма показана на рис.6. Вершины и указатели, построенные в
процессе перебора, образуют поддерево всего неявно определенного дерева
пространства состояний. Мы будем называть такое поддерево деревом
перебора.
В методе полного перебора непременно будет найден самый короткий путь к целевой вершине при условии, что такой путь вообще существует. (Если такого пути нет, то в указанном методе будет объявлено о неуспехе в случае конечных графов, а в случае бесконечных графов алгоритм никогда не кончит свою работу.)
Пуск
Поместить S в список
ОТКРЫТ
нет да
Пуст ли список
Неудача
ОТКРЫТ?
Взять первую вершину из списка ОТКРЫТ и поместить ее в список ЗАКРЫТ.
Обозначить эту вершину через n
Раскрыть n. Поместить дочерние вершины в конец списка ОТКРЫТ.
Провести от них к n указателю.
нет Являются ли да какие-либо из
Успех дочерних вершин целевыми?
рис.6 Блок- схема программы алгоритма полного перебора для дерева.
4.2.2 Метод равных цен.
Могут встретится задачи, в которых решению предъявляются какие-то иные
требования, отличные от требования получения наикратчайшей
последовательности операторов. Присваивание дугам деревьев определенных цен
(с последующим нахождением решающего пути, имеющего минимальную стоимость)
соответствует многим из таких обещанных критериев. Более общий вариант
метода полного перебора, называемый методом равных цен, позволяет во всех
случаях найти некоторый путь от начальной вершины к целевой, стоимость
которого минимальна. В то время как в выше описанном алгоритме
распространяются линии равной длины пути от начальной вершины, в более
общем алгоритме, который будет описан ниже, распространяются линии равной
стоимости пути. Предполагается, что нам задана функция стоимости c(ni,nj), дающая стоимость перехода от вершины ni к некоторой следующей за ней
вершине nj.
В методе равных цен для каждой вершины n в дереве перебора нам нужно
помнить стоимость пути, построенного от начальной вершины s к вершине n.
Пусть g(n)- стоимость от вершины s к вершине n в дереве перебора. В случае
деревьев перебора мы можем быть уверены, что g(n) является к тому же
стоимостью того пути, который имеет минимальную стоимость (т.к. этот путь
единственный).
В методе равных цен вершины раскрываются в порядке возрастания
стоимости g(n). Этот метод характеризуется такой последовательностью шагов:
1) Поместить начальную вершину s в список, называемый ОТКРЫТ. Положить
g(s)=0.
2) Если список ОТКРЫТ пуст, то на выход подается сигнал о неудаче поиска, в противном случае переходить к следующему шагу.
3) Взять из списка ОТКРЫТ ту вершину, для которой величина g имеет
наименьшее значение, и поместить ее в список ЗАКРЫТ. Дать этой вершине
название n. (В случае совпадения значений выбирать вершину с минимальными g
произвольно, но всегда отдавая предпочтение целевой вершине.)
4) Если n есть целевая вершина, то на выход выдать решающий путь, получаемый путем просмотра назад в соответствии с указателями; в противном
случае переходить к следующему шагу.
5) Раскрыть вершину n, построив все непосредственно следующие за ней
вершины. (Если таковых нет переходить к шагу (2).) Для каждой из такой
непосредственно следующей (дочерней) вершины ni вычислить стоимость g(n), положив g(ni)=g(n)+c(n,ni). Поместить эти вершины вместе с соответствующими
им только что найденными значениями g в список ОТКРЫТ и построить
указатели, идущие назад к n.
6) Перейти к шагу (2).
Рекомендуем скачать другие рефераты по теме: конспекты 9 класс, курсовые рефераты.
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата