"УТВЕРЖДАЮ" Ректор университета _______________ А.В. Лагерев "____" ______________ 2005 г. СИСТЕМЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА РЕШЕНИЕ ЗАДАЧИ ЭВРИСТИЧЕСКОГО ПОИСКА В ПРОСТРАНСТВЕ СОСТОЯИЙ Методические указания к выполнению лабораторной работы для студентов всех форм обучения специальностей 230201 – «Информационные системы и технологии», 230104 – «Системы автоматизированного проектирования», 050501 – «Профессиональное обучение» БРЯНСК 2006 2 УДК 004.896 Системы искусственного интеллекта. Решение задачи эвристического поиска в пространстве состояний. Методические указания к выполнению лабораторной работы для студентов всех форм обучения специальностей 230201 – «Информационные системы и технологии», 230104 – «Системы автоматизированного проектирования», 050501 – «Профессиональное обучение». – Брянск: БГТУ, 2006. – 16 с. Разработал: П.В. Казаков, канд. техн. наук, доц., В.А. Шкаберин, канд. техн. наук, доц. Рекомендовано кафедрой «Компьютерные технологии и системы» БГТУ (протокол № 6 от 7.04.2005 ) 3 1. ЦЕЛЬ РАБОТЫ Лабораторная работа познакомит студентов, изучающих курсы «Системы искусственного интеллекта», «Интеллектуальные информационные системы», «Интеллектуальные подсистемы САПР» с особенностью организации планирования решения задач с использованием методов эвристического программирования. Это позволит совершенствовать навыки учащихся в определении стратегии поиска наилучшего плана действий при решении сложно структурированных задач. В методическом указании изложены общие положения метода эвристического поиска в пространстве состояний, а также приводится примеры решения подобных задач. Целью работы является оказание методической помощи студентам при определении оптимального плана действий, ведущего из начального состояния задачи в одно из конечных. Задачи лабораторной работы: - освоить принципы эвристического поиска; - разобрать алгоритм поиска пути на графе пространства состояний; - самостоятельно решить задания лабораторной работы в соответствии с изложенными теоретическими и практическими положениями. Продолжительность лабораторной работы - 4 часа. Первые два часа отводятся на ознакомление с методическими указаниями (п.1-3), оставшиеся часы рассчитаны на решение индивидуальных заданий к лабораторной работе (п.4) и оформление отчета по результатам их выполнения. Результаты, полученные при применении методический указаний, также могут быть использованы студентами специальностей 230104, 050501 для решения задач, связанных с автоматизацией инженерного творчества, а также при курсовом и дипломном проектировании. 2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ Последовательность выполнения лабораторной работы. 1. Изучить теоретические положения и разобрать предлагаемые в методических указаниях примеры. 2. Решить прилагаемые индивидуальные задания. Руководством к пункту 1 являются §1 - 3 методических указаний. Дополнительно можно воспользоваться книгами [1-3]. 4 3. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ 3.1. Постановка задачи эвристического поиска В основе методов эвристического программирования лежит понятие эвристики, которое может рассматриваться, с одной стороны, как информация, отражающая специфику задачи, с другой – как некоторое предположение о способе разрешения проблемы на основе имеющегося опыта решения подобных задач. Сам процесс эвристического программирования можно рассматривать как построение некоторого плана действий (планирование решения) с применением эвристик. Задача эвристического поиска содержательно может быть представлена следующим образом. Заданы начальная ситуация (объект, состояние), конечная ситуация и множество операторов, преобразующих одну ситуацию в другую. Требуется найти такую последовательность операторов, которая преобразует начальную ситуацию в конечную наилучшим образом. Математически данная задача описывается с помощью четырех множеств S0 , S , F , T , где S – множество состояний; S0 S - множество начальных состояний; T S - множество конечных состояний; F – множество операторов. Метод решения задачи S0 , S , F , T называется методом эвристического поиска, если он на каждом шаге находит все возможные применения операторов к данному текущему состоянию, а порядок рассмотрения состояний и порядок применения операторов управляется свойствами уже рассмотренных до этого шага состояний. 3.2. Эвристический поиск в пространстве состояний Представление пространства состояний. Пространство состояний может быть представлено как граф G(X, E), где X {x0 , x1,..., xn 1} - множество (в общем случае бесконечное) вершин графа, каждая из которых отождествляется с одним из состояний sS ; E {( xi , x j ) | xi , x j X , x j Г ( xi )} - множество дуг или ребер графа бесконечное, если бесконечно множество X. Все ребра в графе являются взвешенными, т.е. им присвоено некоторое значение (вес), позволяющее оценить с помощью оценочной функции (x) переход от одного состояния к другому; 5 Г(x) – преобразование, порождающее все дочерние вершины от x. | Г(x) | - количество дочерних вершин от x, т.е. вершин, соединенных с x дугой. Структура графа пространства состояний представляется в виде матрицы весов (значений оценочной функции) графа: W [ wi, j ] , i 0,1,2,..., n 1, в которой wi , j соответствует значение веса ребра ( xi , x j ) или 0, если вершины xi , x j не связаны ребром ( xi , x j ). Если граф пространства состояний не является простым, то он должен быть преобразован в него посредством исключения всех петель и заменой каждого множества параллельных ребер кратчайшим ребром (ребром с наименьшим весом) из этого множества, каждое неориентированное ребро заменяется парой ориентированных. В множестве вершин X выделяют подмножество вершин X 0 X , соответствующее множеству начальных состояний S0 S и X t X , соответствующих множеству конечных состояний T S . Определим путь в графе G как r ( x1, x2 ...xk 1 ) , где ( xi , xi 1 ) E и i 1,2,..., k 1. Если x1 X 0 , xk X t , то решение задачи эвристического поиска в пространстве состояний сводится к задаче поиска пути r на графе G. Сумма всех ребер в пути называется длиной пути. Алгоритмы поиска различаются порядком раскрытия вершин: поиск в ширину и поиск в глубину, а также отличаются полнотой просмотра пространства состояний. Эвристический алгоритм поиска в графе пространства состояний. Пространство состояний можно исследовать как с помощью слепого перебора, так и с применением эвристического (упорядоченного) поиска. Идея, лежащая в основе большинства эвристических алгоритмов, состоит в том, чтобы оценивать перспективность нераскрытых вершин пространства состояний, и выбирать для продолжения поиска наиболее перспективную вершину. Для этого используется эвристическая оценочная функция. Эта функция определяется на множестве вершин пространства состояний и принимает числовые значения, которые могут интерпретироваться как перспектива раскрытия вершины или вероятность ее расположения на решающем пути. 6 Далее приводятся основные шаги алгоритма эвристического поиска. Пусть имеются: одна начальная вершина x0 X 0 ; S – множество уже выбранных вершин, S - множество вершин – кандидатов в S, при этом S S 0 ; X t - множество конечных вершин; x – текущая вершина; xi - дочерняя вершина x. Тогда алгоритм поиска в графе пространства состояний заключается в поиске пути, начиная из вершины x0 , просматривая граф в ширину, и представляется следующими шагами. 1. Поместить x0 в S и вычислить оценочную функцию ( x0 ) . 2. Выбрать такую x S , что ( x) min( ( y )) и поместить ее в S, yS изъяв из S . В случае равенства выбрать любую. 3. Если x X t - путь найден, иначе продолжить. 4. Найти все xi Г (x) , если Г ( x) 0 , то перейти к шагу 2, иначе вычислить все ( xi ) . 5. Для каждого xi : а) если xi S S , то поместить xi в S ; б) если xi Г ( x) S , то сопоставить xi наименьшее из старой и вновь полученной оценки ( xi ) ; в) если xi Г ( x) S , то сопоставить xi наименьшее из старой и вновь полученной оценки ( xi ) , поместить xi в S (изъяв ее из S); г) в остальных случаях не изменять S и S . 6. Перейти к шагу 2. Пункты 5(б), 5(в) отражают действие алгоритма в случае, когда оператор Г порождает уже рассмотренные вершины, которые к этому моменту находятся в S или S , поэтому этим вершинам приписываются наименьшие из возможных оценочных функций. В качестве примера рассмотрим игру в восемь. В ней используется восемь (начиная с первой) подвижных фишек, расположенных в клетках квадрата 3x3. Одна клетка этого квадрата остается всегда пустой. Передвигая соседние с ней фишки, необходимо добиться упорядоченного расположения их номеров. На рис.1 показано дерево игры, построенного алгоритмом эвристического перебора с указанной оценочной функцией. Оценка каждой вершины приведена рядом с ней внутри кружка. Отдельно стоящие цифры показывают порядок, в котором раскрывались вершины. 7 Рис.1. Пример дерева поиска Рассмотрим процесс построения дерева поиска пути на основе изложенного ранее алгоритма. Результаты поиска будем представлять в виде двух множеств S и S , содержащих вершины с указанием в скобках значений весов входящих в них дуг. В качестве оценочной функции будем использовать следующую: ( x) D( x) K ( x) , где D(x) – глубина вершины x или число ребер дерева на пути от этой вершины к начальной; K(x) – число фишек позиции – вершины x, лежащие не на «своем» месте. 1. S {x0 (4)}; S {x1 (6), x2 (6), x3 (4)}. Вершины x1 , x2 , x3 являются дочерними для вершины x0 . Вершина x3 имеет наименьшее значение оценочной функции, поэтому она исключается из S и добавляется в S. 2. S {x0 (4), x3 (4)}; S {x1 (6), x2 (6), x4 (5), x5 (6), x6 (5)}. Новые вершины в S есть дочерние для последней добавленной вершины. Вершины x4 , x6 имеют одинаковую минимальную оценку, выберем из них любую и добавим в S. 8 3. 4. 5. S {x0 (4), x3 (4), x6 (5)}; S {x1 (6), x2 (6), x4 (5), x5 (6), x9 (5), x10 (7)}. S {x0 (4), x3 (4), x6 (5), x9 (5)}; S {x1 (6), x2 (6), x4 (5), x5 (6), x10 (7), x11 (5)}. S {x0 (4), x3 (4), x6 (5), x9 (5), x11 (5)}; S {x1 (6), x2 (6), x4 (5), x5 (6), x10 (7), x13 (7), x12 (5)}. 6. S {x0 (4), x3 (4), x6 (5), x9 (5), x11 (5), x12 (5)}. Последняя вершина, добавленная в S x12 T , следовательно, путь найден: x0 x3 x6 x9 x11 x12 . В ходе решения задачи может возникнуть ситуация, когда при выборе вершин для множества S совпадают их оценочные функции, в этом случае необходимо проанализировать все возможные альтернативные пути, начиная с данного этапа. Алгоритм поиска пути на графе. В ряде случаев при наличии графа, описывающего полное пространство состояний и динамически изменяющейся игровой ситуации, возникает задача поиска за минимальное время короткого пути, ведущего из начальной ситуации x0 в одно из конечных xt . Для ее решения существует несколько алгоритмов, один из которых состоит в следующем. Рассматриваемый алгоритм определяет расстояние между вершинами в простом орграфе с неотрицательными весами. Алгоритм, начиная из вершины x0 , просматривает граф в ширину, помечая вершины x j значениями – метками их расстояний от x0 . Временная метка вершины x j - это минимальное расстояние от x0 до x j , когда в определении пути на графе учитываются не все маршруты из x0 в x j . Окончательная метка x j содержит минимальное расстояние на графе от x0 до x j . Таким образом, в каждый момент времени работы алгоритма некоторые вершины будут иметь окончательные метки, а остальная их часть – временные. Алгоритм заканчивается, когда вершина xt получает окончательную метку, то есть расстояние от x0 до xt . Вначале вершине x0 присваивается окончательная метка 0 (нулевое расстояние до самой себя), а каждой из остальных | X | - 1 вершин присваивается временная метка (бесконечность). На каждом шаге алгоритма одной вершине с временной меткой присваивается окончательная и поиск продолжается дальше. На каждом шаге вершины меняются следующим образом. 9 1. Если имеется дуга из xi в x j , то каждой вершине x j , не имеющей окончательной метки, присваивается новая временная метка – наименьшая из ее временной и числа ( wi , j +окончательная метка xi ), где xi - вершина, которой присвоена окончательная метка на предыдущем шаге. 2. Определяется наименьшая из всех временных меток, которая становится окончательной меткой своей вершины, в случае равенства меток выбирается любая из них. Циклический процесс п.1, п.2 продолжается до тех пор, пока вершина xt не получит окончательной метки, которая представляет собой короткое расстояние от этой вершины до начала x0 . Рассмотрим работу изложенного выше алгоритма для графа, заданного в виде матрицы весов графа (табл.1). Таблица1 Матрица весов графа W X0 X1 X2 X3 X4 X5 X6 X0 0 0 0 0 0 0 0 X1 7 0 3 0 0 0 0 X2 2 0 0 0 8 0 0 X3 0 1 5 0 0 0 0 X4 0 5 0 3 0 5 0 X5 0 0 0 7 5 0 0 X6 0 10 0 0 2 6 0 Граф со структурой, соответствующей данной матрице, представлен на рис.2. X6 10 2 X1 X4 5 6 1 7 X0 3 2 X2 3 8 3 5 X3 5 7 X5 Рис.2. Граф для демонстрации работы алгоритма 10 Процесс назначения меток вершинам графа на каждом шаге представлен в табл. 2. Таблица 2 Процесс работы алгоритма Шаг X0 X1 X2 X3 X4 X5 Xt 0 0 2 1 7 2 5 7 6 10 15 9 13 15 12 11 3 4 5 Квадратами выделены окончательные метки. Путь перемещения от xt к x0 отмечен в таблице ломаной кривой через вершины x0 x2 x1 x3 x4 x6 и его длина равна 11 (рис .3). X6 10 2 X1 X4 5 6 1 7 X0 3 2 X2 3 8 3 5 X3 5 7 X5 Рис.3. Представление найденного пути на графе примера Далее приводится алгоритм для создания компьютерной программы поиска пути на графе. For x X do Begin Mark[x] = FALSE; Dist[x] = ; End; y = x0; 11 Mark[x0] = TRUE; Dist[x0] = 0; While not Mark[xt] do Begin For x X do If not Mark[x] and Dist[x]>Dist[y]+W[y,xt] then Begin Dist[x]=Dist[y]+w[y,x]; Prev[x]=y; End; {Поиск новой вершины y X с минимальной временной меткой} Dist[y] = min(Dist[x]); { x X and Mark[x]=FALSE} Mark[y] = TRUE; End. В приведенном алгоритме граф представляется матрицей весов W. Вектор Mark[x] меток вершин устанавливает принадлежность вершины x X постоянной (TRUE) или временной (FALSE) метке. Вектор Dist в алгоритме фиксирует текущие значения вершин. Вектор Prev позволяет восстановить в обратной последовательности вершины найденного пути. Prev[x] указывает на вершину с окончательной меткой, ближайшую к вершине x. Последовательность вершин найденного пути будет иметь следующий вид: xt, Prev[xt], Prev[Prev[xt]], Prev[Prev[Prev[xt]]], … , x0, а значение Dist[xt] составит длину пути из x0 d xt. Очередная новая вершина, претендующая на постоянную метку, обозначается через y. 4. ВАРИАНТЫ ЗАДАНИЙ Задания к лабораторной работе состоят из двух частей. 1. Определение оптимального плана действий для игры в восемь - задача №1. 2. Нахождение пути в графе пространства состояний - задача №2. Данные к выполнению заданий сгруппированы в таблицах (табл. 3, 4). Таблица 3 Исходные данные для решения задачи №1 № варианта Начальная ситуация 1 1 8 3 6 7 4 2 5 № варианта 6 Начальная ситуация 8 7 6 1 4 2 3 5 12 2 2 1 8 6 4 7 3 7 5 2 1 7 8 5 8 3 5 6 8 1 7 6 3 2 8 4 7 1 2 4 2 1 8 3 6 7 4 8 7 1 4 6 2 3 5 1 8 7 4 6 5 2 8 1 2 5 3 6 4 3 4 5 9 5 10 3 7 3 6 4 5 Таблица 4 Исходные данные для решения задачи №2 № варианта Матрица весов графа 1 W X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X0 0 0 0 0 0 0 0 0 0 0 0 0 X1 5 0 0 0 0 0 0 0 0 0 0 0 X2 2 2 0 0 0 0 0 0 0 0 0 0 X3 3 0 3 0 0 0 0 0 0 0 0 0 X4 0 2 0 0 0 0 0 0 0 0 0 0 X5 0 0 3 7 1 0 0 0 0 0 0 0 X6 X7 X8 X9 X10 X11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 4 0 0 0 0 5 0 2 0 0 0 0 0 5 0 0 0 0 2 0 0 5 0 0 0 3 4 0 0 0 0 0 0 4 0 0 0 0 0 6 0 0 0 0 0 0 0 2 W X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X0 0 0 0 0 0 0 0 0 0 0 0 0 X1 2 0 0 0 0 0 0 0 0 0 0 0 X2 3 0 0 0 0 0 0 0 0 0 0 0 X3 5 2 3 0 0 0 0 0 0 0 0 0 X4 0 4 0 2 0 0 0 0 0 0 0 0 X5 0 0 4 2 0 0 0 0 0 0 0 0 X6 X7 X8 X9 X10 X11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 2 0 0 0 0 5 3 0 0 0 0 4 6 0 0 0 0 1 0 4 0 0 0 0 1 4 4 0 0 0 0 0 4 0 0 0 0 0 3 0 0 0 0 0 0 0 13 3 W X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X0 0 0 0 0 0 0 0 0 0 0 0 0 X1 2 0 0 0 0 0 0 0 0 0 0 0 X2 6 3 0 0 0 0 0 0 0 0 0 0 X3 4 0 1 0 0 0 0 0 0 0 0 0 X4 0 5 1 0 0 0 0 0 0 0 0 0 X5 0 0 2 0 2 0 0 0 0 0 0 0 X6 X7 X8 X9 X10 X11 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 0 0 6 3 0 0 0 1 0 4 0 0 0 0 3 7 0 0 0 0 2 0 3 5 0 0 0 2 6 0 0 0 0 0 4 4 0 0 0 0 0 5 0 0 0 0 0 0 0 4 W X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X0 0 0 0 0 0 0 0 0 0 0 0 0 X1 3 0 0 0 0 0 0 0 0 0 0 0 X2 7 3 0 0 0 0 0 0 0 0 0 0 X3 2 0 3 0 0 0 0 0 0 0 0 0 X4 0 5 3 0 0 0 0 0 0 0 0 0 X5 0 0 4 6 0 0 0 0 0 0 0 0 X6 X7 X8 X9 X10 X11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 3 0 0 0 0 3 0 0 5 0 0 1 6 2 0 0 0 0 3 0 5 8 0 0 0 2 1 0 0 0 0 0 3 4 0 0 0 0 0 3 0 0 0 0 0 0 0 5 W X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X0 0 0 0 0 0 0 0 0 0 0 0 0 X1 2 0 0 0 0 0 0 0 0 0 0 0 X2 7 4 0 0 0 0 0 0 0 0 0 0 X3 1 0 5 0 0 0 0 0 0 0 0 0 X4 0 6 3 0 0 0 0 0 0 0 0 0 X5 0 0 2 3 2 0 0 0 0 0 0 0 X6 X7 X8 X9 X10 X11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 4 7 0 0 0 0 7 0 0 0 0 3 0 0 6 0 0 0 3 2 0 0 0 0 0 1 0 2 0 0 0 0 2 4 0 0 0 0 0 4 0 0 0 0 0 0 0 6 W X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X0 0 0 0 0 0 0 0 0 0 0 0 0 X1 6 0 0 0 0 0 0 0 0 0 0 0 X2 4 2 0 0 0 0 0 0 0 0 0 0 X3 2 0 1 0 0 0 0 0 0 0 0 0 X4 0 6 0 0 0 0 0 0 0 0 0 0 X5 0 0 3 0 2 0 0 0 0 0 0 0 X6 X7 X8 X9 X10 X11 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 7 0 0 0 0 0 0 3 5 0 0 0 4 5 0 0 0 0 0 0 0 6 0 0 0 4 1 2 0 0 0 0 3 0 7 0 0 0 0 0 4 0 0 0 0 0 8 0 0 0 0 0 0 0 14 7 W X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X0 0 0 0 0 0 0 0 0 0 0 0 0 X1 7 0 0 0 0 0 0 0 0 0 0 0 X2 2 3 0 0 0 0 0 0 0 0 0 0 X3 6 0 3 0 0 0 0 0 0 0 0 0 X4 0 1 4 2 0 0 0 0 0 0 0 0 X5 0 5 0 0 1 0 0 0 0 0 0 0 X6 X7 X8 X9 X10 X11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 4 0 0 0 0 0 0 0 0 0 0 5 0 7 0 0 0 0 2 4 0 0 0 0 0 5 2 9 0 0 0 3 6 3 0 0 0 0 3 0 0 0 0 0 0 5 0 0 0 0 0 0 0 8 W X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X0 0 0 0 0 0 0 0 0 0 0 0 0 X1 3 0 0 0 0 0 0 0 0 0 0 0 X2 5 4 0 0 0 0 0 0 0 0 0 0 X3 2 0 4 0 0 0 0 0 0 0 0 0 X4 0 7 0 0 0 0 0 0 0 0 0 0 X5 0 8 7 0 4 0 0 0 0 0 0 0 X6 X7 X8 X9 X10 X11 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 8 0 0 0 0 0 0 5 2 0 0 0 0 0 2 3 0 0 0 0 4 0 0 0 0 2 0 2 3 0 0 0 4 1 0 0 0 0 2 3 4 0 0 0 0 0 8 0 0 0 0 0 0 0 9 W X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X0 0 0 0 0 0 0 0 0 0 0 0 0 X1 5 0 0 0 0 0 0 0 0 0 0 0 X2 4 2 0 0 0 0 0 0 0 0 0 0 X3 2 0 3 0 0 0 0 0 0 0 0 0 X4 0 5 2 0 0 0 0 0 0 0 0 0 X5 0 3 3 2 3 0 0 0 0 0 0 0 X6 X7 X8 X9 X10 X11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 3 0 0 0 0 5 5 3 0 0 0 0 2 6 0 0 0 0 4 0 1 7 0 0 0 1 3 0 0 0 0 0 5 8 0 0 0 0 0 9 0 0 0 0 0 0 0 10 W X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X0 0 0 0 0 0 0 0 0 0 0 0 0 X1 3 0 0 0 0 0 0 0 0 0 0 0 X2 7 3 0 0 0 0 0 0 0 0 0 0 X3 4 0 2 0 0 0 0 0 0 0 0 0 X4 0 7 0 0 0 0 0 0 0 0 0 0 X5 0 0 2 3 4 0 0 0 0 0 0 0 X6 X7 X8 X9 X10 X11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 6 0 0 0 0 5 4 2 0 0 0 0 4 0 5 0 0 0 5 3 0 0 0 0 0 4 3 8 0 0 0 0 0 2 0 0 0 0 0 6 0 0 0 0 0 0 0 15 5. ОФОРМЛЕНИЕ И ПОРЯДОК КОНТРОЛЯ РЕЗУЛЬТАТОВ Результатом выполнения лабораторной работы являются последовательно решенные задания и разработанная компьютерная программа. Отчет о лабораторной работе оформляется на листах формата A4 и сдается в написанном от руки или распечатанном виде. Отчет должен содержать задание к лабораторной работе, построенные графы пространства состояний, а также основные и промежуточные этапы решения индивидуальных заданий. Кроме этого, для задачи 2 должен быть представлен листинг компьютерной программы ее решения. Преподаватель проверяет правильность построенных графов пространства состояний, а также корректность работы алгоритма программы. При защите лабораторной работы преподаватель вправе задать вопросы по теоретической части. 6. КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Что такое эвристика? 2. В каких случаях целесообразно применять эвристики? 3. Как представляется пространство состояний? 4. Опишите основные шаги алгоритма эвристического поиска в пространстве состояний. 5. Почему эвристические методы поиска эффективней полного перебора пространства состояний? 6. Опишите алгоритм поиска пути на графе. В каком случае его использование наиболее эффективно? СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ 1. Искусственный интеллект: в 3 кн.: Справ. / под ред. Э.В. Попова. – М.: Радио и связь, 1990. – 464 с. 2. Лорьер, Ж. Л. Системы искусственного интеллекта / пер. с фр. Ж.Л. Лорьер. - М.: Мир, 1991. – 568 с. 3. Иванов, Б.Н. Дискретная математика / Б.Н. Иванов. – М.: Лаборатория базовых знаний, 2001. – 288 с. 16 Системы искусственного интеллекта. Решение задачи эвристического поиска в пространстве состояний. Методические указания к выполнению лабораторной работы для студентов всех форм обучения специальностей 230201 – «Информационные системы и технологии», 230104 – «Системы автоматизированного проектирования», 050501 – «Профессиональное обучение». КАЗАКОВ ПАВЕЛ ВАЛЕРЬЕВИЧ ШКАБЕРИН ВИТАЛИЙ АЛЕКСАНДРОВИЧ Научный редактор Редактор издательства Компьютерный набор Ю.М. Казаков Т.И. Королева П.В. Казаков Темплан 2005 г., п. 213 Подписано в печать 05.12.05 Формат 60х84 1/16 Бумага офсетная Офсетная печать Усл. печ. л. 0,93 Уч.-изд. л. 0.93 Тираж 50 экз. Заказ Бесплатно Брянский государственный технический университет, 241035, Брянск, бульвар им. 50 - летия Октября, 7, БГТУ, (4832) 55-90-49. Лаборатория оперативной полиграфии БГТУ, ул. Институтская, 16.