Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab1_1hse.doc
Скачиваний:
5
Добавлен:
08.02.2015
Размер:
102.5 Кб
Скачать

15

Аннотация

Оценка достижимости какой-либо цели при экспертном выборе решения часто сводится к поиску последовательности допустимых трансформаций состояния задачи. С математической точки зрения это задачи поиска пути на графе пространства состояний, если эти состояния логически связаны между собой. Они образуют вершины связного графа, в котором необходимо найти путь от исходной вершины до целевой, или от целевой до исходной. Если состояния задачи логически не связаны между собой, и, следовательно, не образуют логической сети, то трансформация состояний осуществляется с помощью не связанных между собой эвристических правил по модели продукционной системы. Пролог реализует первую, детерминированную, логически “жесткую” модель. Вторая недетерминированная модель, основанная на эвристических правилах, может быть реализована на объектно-продукционном языке CLIPS. Но на нем можно программно реализовать и поиск пути на графе. Пример такой задачи для сравнения с Прологом включен в работу №1.

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

Лабораторная работа № 1 «Логическое программирование задачи поиска пути на конечных графах пространства состояний»

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

  • прямой и обратный методы поиска в пространстве состояний;

  • стратегии поиска «в глубину» и «в ширину»;

  • ориентированный ациклический граф (дерево);

  • ориентированный граф с циклами;

  • неориентированный граф (сеть);

  • поиск в псевдо бинарном дереве по числовым ключам вершин;

  • логическая модель поиска на продукционном языке CLIPS.

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

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

Пространство состояний может быть конечным, заданным изначально фактами связи соседних вершин, или “бесконечным”, порождаемым от начальной вершины (корня дерева) в соответствии с логикой возможных трансформаций состояний. Хорошим примером являются игровые задачи (подробнее см. л.р. №3), но такие задачи требуют, как правило, разработки эвристик, ограничивающих пространство поиска. Целью поиска в конечном пространстве состояний является определение «видимости» (достижимости) конечной (целевой) вершины Yиз начальнойX, необязательно корневой. Такой поиск можно рассматривать как доказательство, что из утвержденияXлогически следует утверждениеY. Фактически следует подтвердить принадлежность вершиныYдереву или поддереву, начинающемуся от вершиныX. Часто при этом требуется вывести путь изXвY(показать ход “рассуждений”). В таких простейших задачах не используются ограничивающие эвристики, происходит полный перебор логически возможных вариантов.

Задание 1.1. Поиск пути в ориентированном ациклическом графе (дереве).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]