Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 9-14.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
394.55 Кб
Скачать

Пример волнового алгоритма

Пример алгоритма для поиска пути между двумя ячейками – источником и приемником дискретного рабочего поля (ДРП).

ДРП – это прямоугольник, разбитый на квадратные ячейки одинакового размера. Ячейки ДРП подразделяются на свободные, препятствия, источники и приемники. На рис. 9.2 свободные ячейки имеют светло-зеленый цвет, а препятствия – светло-розовый. Источник залит синим цветом, а приемник – черным.

Путь может быть проложен только по свободным ячейкам.

Волновой алгоритм находит, в частности, применение в САПР печатных плат и интегральных схем при решении задачи трассировки. Иная сфера применения волнового алгоритма – это игровые приложения.

Путь может быть двух видов: ортогональный и ортогонально-диагональный. Путь первого вида состоит из отрезков, параллельных сторонам ДРП. Путь второго вида может вдобавок содержать диагональные отрезки (угол между таким отрезком и стороной ДРП равен 45 или 135 градусов).

В первом случае каждая ячейка имеет 4 соседа, а во втором – 8 (рис. 2).

О писание волнового алгоритма

Рассматривается алгоритм построения ортогонального пути. Алгоритм состоит из двух частей. В первой от источника к приемнику распространяется волна. Во второй выполняется обратный ход, в процессе которого из ячеек волны формируется путь.

Волна, идущая от источника к приемнику, на каждом шаге первой части алгоритма пополняется свободными ячейками ДРП, которые, во-первых, еще не принадлежат волне, и, во-вторых, являются 4-соседями ячеек, попавших в волну на предыдущем шаге.

Процесс распространения волны иллюстрируют рис. 9.3-9.6.

Р ис. 9.3. Первый шаг распространения волны

Р ис. 4. Второй шаг распространения волны

Рис. 9.5. Третий шаг распространения волны

Р ис. 9.6. Последний шаг распространения волны

В примере волна достигла ячейку-приемник за 23 шага.

П ри обратном ходе в путь включается по одной ячейке каждого шага распространения волны. При выборе из двух ячеек приоритет имеет ячейка, обеспечивающая горизонтальное продвижение, что приводит к пути, показанному на рис. 9.7.

Рис. 7. Обратный ход: формирование пути

Волновой алгоритм либо находит кратчайший путь от источника к приемнику, либо информирует о неудаче, если путь к приемнику блокируется препятствиями.

Оглавление

Лекция 9 1

Трассировка соединений 1

Алгоритмы трассировки соединений 5

Алгоритмы трассировки проводных соединений 8

Алгоритм Прима 10

Пример 13

Алгоритм разводки проводных соединений с заданными начальной и конечной вершинами 16

Построение печатных соединений 21

Пример волнового алгоритма 25

Описание волнового алгоритма 26

32

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