Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2013-ПОИСК-Задания и теор мат / 4.Формализ. опис Алг-мов поиска -

..doc
Скачиваний:
8
Добавлен:
27.04.2015
Размер:
34.3 Кб
Скачать

4

АЛГОРИТМЫ ПОИСКА – ФОРМАЛИЗОВАННОЕ ОПИСАНИЕ

ПОИСК НА ДЕРЕВЕ

А. ОСНОВНОЙ ПОИСК (Basic Search) – поиск какого-либо (любого) пути

А/1. "Слепые методы"

1.Поиск в глубину Winst/ 68

1. Сформировать одноэлементную очередь, включающую путь длины 0, который содержит только КОРНЕВОЙ УЗЕЛ.

2. До тех пор, пока первый путь в очереди не закончится ЦЕЛЕВЫМ УЗЛОМ или очередь не станет пустой, выполнять следующие операции:

2.1.Удалить из очереди первый путь

2.2. Создать новые пути посредством удлиннения первого пути на один шаг, т. е. ко всем соседям (дочерним узлам) его терминального узла

2.3. Ввести новые пути в НАЧАЛО ОЧЕРЕДИ.

3. Если ЦЕЛЕВОЙ УЗЕЛ найден, то решение получено (УСПЕХ), если не найден - НЕУДАЧА (задача не имеет решения).

2. Поиск в ширину Win\68

1. Сформировать одноэлементную очередь, включающую путь длины 0, который содержит только КОРНЕВОЙ УЗЕЛ.

2. До тех пор, пока первый путь в очереди не закончится ЦЕЛЕВЫМ УЗЛОМ или очередь не станет пустой, выполнять следующие операции:

2.1.Удалить из очереди первый путь

2.2. Создать новые пути посредством удлиннения первого пути на один шаг, т. е. ко всем соседям (дочерним узлам) его терминального узла

2.3. Ввести новые пути в КОНЕЦ ОЧЕРЕДИ .

3. Если ЦЕЛЕВОЙ УЗЕЛ найден, то решение получено (УСПЕХ), если не найден - НЕУДАЧА (задача не имеет решения).

3. Недетерминированный поиск Win\69

1. Сформировать одноэлементную очередь, включающую путь длины 0, который содержит только КОРНЕВОЙ УЗЕЛ.

2. До тех пор, пока первый путь в очереди не закончится ЦЕЛЕВЫМ УЗЛОМ или очередь не станет пустой, выполнять следующие операции:

2.1.Удалить из очереди первый путь

2.2. Создать новые пути посредством удлиннения первого пути на один шаг, т. е. ко всем соседям (дочерним узлам) его терминального узла

2.3. Ввести новые пути в СЛУЧАЙНЫЕ ПОЗИЦИИ В ОЧЕРЕДИ

3. Если ЦЕЛЕВОЙ УЗЕЛ найден, то решение получено (УСПЕХ), если не найден - НЕУДАЧА (задача не имеет решения).

А/2. Методы, использующие дополнительную эвристическую информацию (Heuristically Informed Methods)

Алгоритм наискорейшего подъема(спуска) - Hill Climbing Win./70

1. Сформировать одноэлементную очередь, включающую путь длины 0, который содержит только КОРНЕВОЙ УЗЕЛ.

2. До тех пор, пока первый путь в очереди не закончится ЦЕЛЕВЫМ УЗЛОМ или очередь не станет пустой, выполнять следующие операции:

2.1.Удалить из очереди первый путь

2.2. Создать новые пути посредством удлиннения первого пути на один шаг, т. е. ко всем соседям (дочерним узлам) его терминального узла.

2.2.а. Упорядочить новые пути, если они есть (т.е.провести их сортировку), в соответствии с оценкой расстояний h между их терминальными узлами и целевым узлом.

2.3. Ввести новые пути в НАЧАЛО ОЧЕРЕДИ так, чтобы пути, соот- ветствующие меньшим значениям h, предшествовали путям с большим значениям h.

3. Если ЦЕЛЕВОЙ УЗЕЛ найден, то решение получено (УСПЕХ), если не найден - НЕУДАЧА (задача не имеет решения).

В. ОПТИМАЛЬНЫЙ ПОИСК (Optimal Search) – поиск наилучшего пути

Алгоритм АТ - Оптимальный поиск наилучшего пути (пути минимальной стоимости) на дереве.

(Winst / 83 - совпадает с Алг. поиска в глубину за исключением пп. 2.3 и 2.4)

1. Сформировать одноэлементную очередь, включающую путь длины 0, который содержит только КОРНЕВОЙ УЗЕЛ.

2. До тех пор, пока первый путь в очереди не закончится ЦЕЛЕВЫМ УЗЛОМ или очередь не станет пустой, выполнять следующие операции:

2.1.Удалить из очереди первый путь

2.2. Создать новые пути посредством удлиннения первого пути на один шаг, т. е. ко всем соседям (дочерним узлам) его терминального узла

2.3. Ввести новые пути в ОЧЕРЕДЬ

2.3.а. Если имеется несколько путей к какому-либо одному и тому же узлу, то УДАЛИТЬ из очереди все такие пути, кроме одного, а именно, того пути к данному узлу, который имеет минимальную стоимость.

2.4 Провести сортировку всех путей в очереди в соответствии с их стоимостью (упорядочить их) так, чтобы пути наименьшей стоимости были в начале очереди (перейти к п.2.1)

3. Если ЦЕЛЕВОЙ УЗЕЛ найден, то решение получено (УСПЕХ), если не найден - НЕУДАЧА (задача не имеет решения).

Алгоритм АКТ - Оптимальный поиск наилучшего пути на дереве при использовании дополнительной информации

(отличается от Алгоритма АТ только шагом 2.4) - Winst/88

1. Сформировать одноэлементную очередь, включающую путь длины 0, который содержит только КОРНЕВОЙ УЗЕЛ.

2. До тех пор, пока первый путь в очереди не закончится ЦЕЛЕВЫМ УЗЛОМ или очередь не станет пустой, выполнять следующие операции:

2.1.Удалить из очереди первый путь

2.2. Создать новые пути посредством удлиннения первого пути на один шаг, т. е. ко всем соседям (дочерним узлам) его терминального узла

2.3. Ввести новые пути в ОЧЕРЕДЬ

2.4. Выполнить сортировку ВСЕХ путей, находящихся в очереди, в соответствии с величиной f(S) = g(S) + h(S), (где h(S) - НИЖНЯЯ ОЦЕНКА стоимости пути от узла S до цели) так, чтобы пути, соответствующие наименьшим значениям f(S) находились в начале очереди.

3. Если ЦЕЛЕВОЙ УЗЕЛ найден, то решение получено (УСПЕХ), если не найден - НЕУДАЧА (задача не имеет решения).