Реферат: Алгоритмы трассировки

При построении Н-пути для обхода препятствий используется алгоритм Н-слежения, а при построении Р-пути – Р-слежение.

При отрицательном направлении Р-слежения двоичный код приоритетного направления опреднляется соотношением

,

а при положительном

.

Если направление с высшим приоритетом запрещено, то выбирается первое возможное направление с низшим приоритетом. Определяемое соотношением

,

где n – двоичный код чисел из последовательности 1, 2, …,8.

Суммирование по модулю 8 выполняется при отрицательном направлении слежения, вычитание – при положительном.

Важным моментом является определение элемента, в котором заканчивается обход препятствий и начинается построение пути в оптимальном направлении (по прямой к элементу db ). Если в нужный момент не прекратить обход препятствий, то неизбежно зацикливание пути вокруг препятствий. Элемент пути, в котором прекращается обход препятствий, назовем элементом спуска. На рисунке 2 элементом спуска является элемент 19. Здесь приведен путь в лабиринте, построенный согласно этой методике от элемента da к элементу db . От элемента da до элемента 1, который является элементом встречи, выполняется построение пути согласно этапу 1. Обход препятствий начинается от элемента встречи 1 в отрицательном направлении (этап 2) и заканчивается элементом спуска 19. От элемента спуска 19 до конечного элемента пути выполняется
этап 1.

Для определения элемента спуска пути предлагается следующий алгоритм:

a) определяем двоичный код угла поворота вектора перехода относительно вектора Z’ из соотношения

;

причем суммирование выполняется при отрицательном направлении обхода препятствий, вычитание – при положительном.

b) В каждом элементе излома проверяем значение двоичного кода ak и направление построения пути в наилучшем направлении. Если ak ³0 и направление обхода препятствий совпадает с наилучшим направлением построения пути, то элемент dk будет элементом спуска. В противном случае dk не является элементом спуска.

Этап 3. Минимизация длинны пути сводится к построению выпуклого контура, описанного вокруг первоначального пути. Если нет возможности получить выпуклый контур из-за наличия препятствий, то строится сглаженный контур, т.е. контур, имеющий меньшую длину, чем первоначальный.

Находим все элементы спуска первоначального пути и разбиваем его на отдельные участки, разграниченные элементами спуска. Последовательно минимизируем все участки пути.

1) Находим все элементы излома соответствующего участка пути, и если имеется не более одного излома, то он не подлежит минимизации если элементов излома два и более, то минимизация заключается в том, что строится новый путь Lн (da , dj ) пути L(da , dj ), где dj - элемент излома пути, самый близкий к конечному элементу.

2) Построенный вновь подпуть Lн (da , dj ) сравнивается по длине с путем L(da , dj ), и если новый путь меньше, то L(da , dj ) заменяется на Lн (da , dj ).

3) Минимизация повторяется для следующего элемента излома, самого близкого к dj , и до тех пор, пока на Lн (da , dj ) или L(da , dj ) останется один элемент излома.

Осуществляется минимизация обоих первоначально построенных путей, полученных при положительном (левом) и отрицательном (правом) обходе группы препятствий, из которых выбирается минимальный
(рисунок 3).

2. Волновой алгоритм трассировки.

Дискретное поле платы разбивают на три множества, описываемых с помощью булевых матриц:

С – множество элементов поля, требующих соединения между собой (на рисунке 4 множество , где i=0, 1, 2, 3);

Р – множество элементов поля, запрещенных для трассировки (на рисунке 4,а(б) это множество закрашено черным);

S – множество свободных элементов поля платы.

Требуется, используя элементы множества S, соединить элементы множества С в одну цепь, не пересекающую Р.

Процесс нахождения минимального пути состоит из двух этапов:

- Распространение волны от источника до встречи с одним из приемников;

- Определение пути от источника к приемнику.

В качестве источника выбирается один из элементов множества С, все остальные элементы являются приемниками. Обозначим через Rk множество элементов волны на шаге k и назовем его k-фронтом волны, тогда Rk +1 принадлежит Н-окрестности Rk .

На каждом шаге расширения делается проверка пересечения фонта волны с приемником. Как только какой-либо элемент приемника будет включен в волну, процесс распространения волны завершается, и от ближайшего к источнику элемента приемника начинается построение пути.

Для построения волны используются матрицы распространения волн в горизонтальном (Rk ’), и вертикальном (Rk ) направлении и матрицы точек поворота с вертикального направления на горизонтальное (Mk ) и с горизонтального направления на вертикальное (Mk ’), где

;

;

.

На рисунке 5, а - г приведены соответственно матрицы Rk , Rk ’, Mk , Mk ’, построенные для k=12. Источником является фрагмент С0 . Для наглядности в клетках, занятых волной, указывается номер шага, на котором достигнута эта точка.

К-во Просмотров: 537
Бесплатно скачать Реферат: Алгоритмы трассировки