Методы повышения эффективности волнового алгоритма

Недостатки волнового алгоритма трассировки соединений:

  •А      
         
    •В    
         
         
•А      
       
    •В    
         
       

1) Большие затраты времени (невысокое быстродействие).
2) Большие затраты памяти - на каждую ячейку требуется n = ]log2(L+2)[ бит, где L - максимально возможный путь (максимальное число, которое можно получить, распространяя волну), еще два состояния - свободно/занято.

 

•А      
       
    •В    
         
         
  •А      
         
    •В    
         
         

Методы повышения быстродействия:
1. Целенаправленно выбирать из двух контактов место испускания волны так, чтобы фронт волны был меньше. Так, если у нас один контакт в углу монтажного поля, а второй - в середине, то целесообразно испускать волну из первого.

2. Испускать волну из двух контактов одновременно (встречная волна)
3. Метод рамки - соединяемые контакты ограничиваются рамкой, на 15-20% превышающей минимальный прямоугольник. Волна за эту рамку не распространяется. Если путь не был найден, то рамка либо увеличивается, либо убирается совсем.

1     А ®      

1. Метод путевых координат.

Путевая координата - указание, откуда пришла волна (сверху(¯) /слева(®) /справа()/снизу(­)).

n = ⌈log2(4+2)⌉ = 3.

Для разрешения конфликтов первой фазы надо указать приоритеты направлений.

2 ¯ ¯ ¯ ¯ ¯      
3 ¯ ¯ ¯          
4 ¯ ¯ ¯   В      
5 ¯ ¯ ¯   ­ ®    
6 ¯ ¯ ¯ ® ® ® ®  
7 ¯              
8 ¯              
1 3 2 1 А 1      

2. Использования веса по модулю 3 (Pi-1 ≠ Pi ≠ Pi+1). Веса равны 1, 2, 3. (0 ® ячейка не занята)

n = ⌈log2(3+2)⌉ = 3.

Здесь, как и в предыдущем методе, надо указать приоритеты направлений.

Ищем маршрут 1®3®2®1®3®2®…

2 1 3 2 1 1      
3 2 1 3          
4 3 2 1   В      
5 1 3 2   3 1    
6 2 1 3 1 2 3 1  
7 3              
8 1              
1 2 1 1 А 1      

3. Метод Акерса (самый эффективный). Веса назначаются фронтам в соответствии со следующей последовательностью: 1122112211...

n = ⌈log2(2+2)⌉ = 2.

У каждого элемента обязательно различаются соседи слева и справа (1 и 2 или 2 и 1).

Построение трассы сводится к выделению искомой последовательности, опять же, необходима система приоритетов. Ищем маршрут 1®1®2®2®1®1®…

2 2 2 1 1 1      
3 1 2 2          
4 1 1 2   В      
5 2 1 1   1 1    
6 2 2 1 2 2 1 1  
7 1              
8 1              

Методы снижения затрат памяти:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: