1) создать граф поиска G (с вершиной S0). Занести S0 в список открытых (OPEN)-вершины, возможные кандидаты на раскрытие;
2) создать список закрытых вершин (CLOSED)- в него заносится вершины, путь до которых из S0 найден;
3) LOOP: если OPEN пусть, неудача, конец.
4) Выбрать первую вершину. N из OPEN перенести в CLOSED
5) Если n- целевая, конец, успех;
6) Раскрыть n – найти множество ее потомков, не являющихся ее предками;
7) Выбрать из n те вершины, которые не встречались в графе поиска G (ни в OPEN, ни в CLOSED). Добавить их в OPEN, связать указателем с вершиной n. Для тех элементов из n, которые, уже есть в списке CLOSED, решить надо ли переустанавливать указатели.
8) Переупорядочить OPEN в соответствии с некоторой произвольной схемой или эвристической зависимостью. Фактически это – выбор одного из возможных путей.
9) Перейти на метку цикла Пример: Игра в восьмерки. Пусть эвристическая функция f(n)=d(n)+W(n).
d – глубина поиска или количество шагов от исходной.
W – количество фишек, стоящих не на своем месте.
Наилучшим будет считаться ход, у которого функция f – максимальна : Исх.______________________Целев
Опубликовал Kest
January 11 2010 11:47:50 ·
0 Комментариев ·
7728 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.