Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры 1-32.doc
Скачиваний:
141
Добавлен:
15.06.2014
Размер:
622.08 Кб
Скачать

28. Модификация волнового алгоритма.

Наиболее эффективные способы кодирования состояния ячеек ДРП – метод путевых координат, кодирование по модулю 3 и метод Акерса.

Метод путевых координат.При выборе последовательности ячеек по этому методу для каждой ячейки, начиная с В, в случае соседства по ребрам достаточно знать, от какой соседней ячейки в нее пришла волна: сверху, слева, снизу, справа, что задается стрелками (,,,). Следовательно, ячейка может иметь следующие признаки: свободна, занята или одну из путевых координат. Число разрядов на кодирование состояния ячеекN=log 26Г=3. Если в данную ячейку волна приходит из нескольких соседних, то присвоение путевых координат производят по заранее заданному правилу приоритетов. При проведении пути достаточно переходить по путевым координатам из ячейки В ячейку А. Пример проведения пути при использовании данного метода показан на рис.11.4,а.

Кодирование по модулю 3. В этом методе ячейкам, включаемым в последовательные фронты, можно присваивать не сами веса, а их значения по модулю 3, т. е. 1,2,3,1,2,3,…Количество разрядов на кодирование состояния ячеек также равно 3. Проведение пути заключается в отслеживании отметок. Если ячейка имеет несколько соседних с одинаковыми отметками, то используют правило приоритетных направлений. При движении от ячейки В на рис. 11.4, б используется следующее правило приоритетов: налево, вверх, налево, вниз.

Метод Акерса. Для определения последовательности ячеек, составляющих путь, достаточно чтобы при распространении волны ячейкам присваивались значения отметок из заданной последовательности, в которой каждый член имеет разных соседей слева и справа. В методе Акерса такой последовательностью являются 1, 2, 1, 2, 1, 1, 2, 2, … При построении пути находят ячейки, входящие в заданную последовательность. В этом методе количество разрдов памяти на одну ячейку составляет всего 2. Если построение последовательности возможно по нескольким направлениям, то выбор осуществляется по приоритетам. Пример нахождения пути с использованием отметок Акерса изображен на рис. 11.4, в.

29. Алгоритм встречной волны и лучевой алгоритм.

Волновой алгоритм характеризуется высокой эффективностью нахождения пути за счет исследования всех свободных ячеек ДРП, но требует значительного времени на распространение волны, Поэтому используют различные методы ускорения выполнения первого этапа алгоритма. Один из них – выбор начальной точки пуска волны. На рис. 11.5, а видно, что при выборе точки пуска волны максмально удаленной от центра платы, просматривают меньшее число свободных ячеек ДРП. По мере роста числа протрассированных цепей это становится не очевидным.

Более эффективен метод встречной волны (рис.11.5, б). Выигрыш во времени пропорционален отношению числа исследуемых ячеек при одновременном распространении волны и при распространении волны из одного источника, при этом отношенеие исследуемых площадей приблизительно равно 2 (см. рис. 11.5,б). Для реальных состояний ДРП выигрыш во времени может отличаться, однако в среднем оценка является объективной. Использование данной идеи незначительно усложняет алгоритм, обеспечивая существенный выигрыш во времени.

Поле распространения волны можно уменьшить, ограничивая его прямоугольником, внутри которого находятся соединяемые выводы. Начальная площадь прямоугольника обычно на 10…20 % больше площади прямоугольника, проходящего через эти выводы. Если соединение найти не удалось, то границы прямоугольника расширяют. Данный метод обладает большей эффективностью ускорения работы алгоритма по сравнению с вышеописанными методами.

Другая идея ускорения поиска пути заключается в исследовании не всех свободных ячеек ДРП, а лишь по заданным направлениям. Один из таких алгоритмов – лучевой алгоритм. Для площадок А и В задают количество распространяемых лучей и разрешение направления их движения. При прохождении луча через ячейку ей присваивают путевую координату. На рис. 11.6, а показан пример проведения пути двухлучевым алгоритмом, причем лучу А1 разрешено движение вправо и вниз, лучу А2 – вниз и вправо, лучу В1 – вверх и влево, лучу В2– влево и вверх. Вероятность нахождения пути этим алгоритмом меньше, чем волновым.