Аноним

Разбиение схемы: сбалансированный подход с минимальным разрезом на базе сетевого потока: различия между версиями

Материал из WEGA
м
нет описания правки
мНет описания правки
Строка 3: Строка 3:


== Постановка задачи ==
== Постановка задачи ==
Разбиение схемы является фундаментальной задачей в сфере проектирования и разработки СБИС. ''Сбалансированное биразбиение с минимальным разрезом'' представляет собой задачу разбиения схемы на два отдельных компонента с равными весами, такого, что количество сеток, соединяющих эти два компонента, минимально. Было показано, что задача сбалансированного биразбиения с минимальным разрезом является NP-полной [5].  Эта задача была решена при помощи эвристических алгоритмов, таких как методы итеративного улучшения Кернигана и Лина (эвристика K&L) [4, 11], алгоритм имитации отжига [10] и аналитические методы для рационального разреза [2, 7, 13, 15]. Несмотря на то, что техника нахождения максимального потока и минимального разреза [6, 8] представляется естественным способом поиска минимального разреза, она практически не использовалась в контексте разбиения схем. В работе [16] был предложен метод точного моделирования таблицы соединений сети (или, что эквивалентно, ее гиперграфа) при помощи сети потока, а также алгоритм нахождения сбалансированного биразбиения на основе неоднократного применения алгоритма нахождения максимального потока и минимального сечения. Представленный здесь алгоритм имеет ту же асимптотическую сложность, что и вычисление минимального потока.
Разбиение схемы является фундаментальной задачей в сфере проектирования и разработки СБИС. ''Сбалансированное биразбиение с минимальным разрезом'' представляет собой задачу разбиения схемы на два отдельных компонента с равными весами, такого, что количество сеток, соединяющих эти два компонента, минимально. Было показано, что задача сбалансированного биразбиения с минимальным разрезом является NP-полной [5].  Эта задача была решена при помощи эвристических алгоритмов, таких как методы итеративного улучшения Кернигана и Лина (эвристика K&L) [4, 11], алгоритм имитации отжига [10] и аналитические методы для рационального разреза [2, 7, 13, 15]. Несмотря на то, что техника нахождения максимального потока и минимального разреза [6, 8] представляется естественным способом поиска минимального разреза, она практически не использовалась в контексте разбиения схем. В работе [16] был предложен метод точного моделирования таблицы соединений сети (или, что эквивалентно, ее гиперграфа) при помощи транспортной сети, а также алгоритм нахождения сбалансированного биразбиения на основе неоднократного применения алгоритма нахождения максимального потока и минимального разреза. Представленный здесь алгоритм имеет ту же асимптотическую сложность, что и вычисление минимального потока.
   
   


Строка 12: Строка 12:
   2. найти минимальный сетевой разрез C в N;
   2. найти минимальный сетевой разрез C в N;
    
    
         пусть X – подсхема, достижимая из s по дополняющим путям в сети потока, а <math>\bar{X}</math> – остальная часть схемы;
         пусть X – подсхема, достижимая из s по дополняющим путям в транспортной сети, а <math>\bar{X}</math> – остальная часть схемы;
    
    
   3. '''if''' <math>(1 - \epsilon)rW \le w(X) \le (1 + \epsilon)rW \;</math>  
   3. '''if''' <math>(1 - \epsilon)rW \le w(X) \le (1 + \epsilon)rW \;</math>  
Строка 40: Строка 40:
Процедура инкрементного вычисления потока
Процедура инкрементного вычисления потока


   1. '''while''' <math>\exists</math> добавочный дополняющий путь из s в t, увеличить значение потока вдоль дополняющего пути;
   1. '''while''' <math>\exists</math> добавочный дополняющий путь из s в t, увеличить величину потока вдоль дополняющего пути;
    
    
   2. пометить все вершины u, такие, что <math>\exists</math> дополняющий путь из s в u;
   2. пометить все вершины u, такие, что <math>\exists</math> дополняющий путь из s в u;
Строка 64: Строка 64:
== Основные результаты ==
== Основные результаты ==
Сбалансированное биразбиение с минимальным сетевым разрезом на базе оптимального сетевого потока
Сбалансированное биразбиение с минимальным сетевым разрезом на базе оптимального сетевого потока
Задача нахождения минимального сетевого разреза в N = (V, E) сводится к задаче нахождения разреза минимальной пропускной способности, которая решается при помощи техники вычисления максимального потока и минимального разреза. Сетевой поток N0 = (V0, E0) строится из N = (V, E) следующим образом (см. рис. 4 и 5):
Задача нахождения минимального сетевого разреза в N = (V, E) сводится к задаче нахождения разреза минимальной пропускной способности, которая решается при помощи техники вычисления максимального потока и минимального разреза. Транспортная сеть N0 = (V0, E0) строится из N = (V, E) следующим образом (см. рис. 4 и 5):


1. V0 содержит все вершины из V.
1. V0 содержит все вершины из V.
Строка 81: Строка 81:
[[Файл:CP_4.png]]
[[Файл:CP_4.png]]


Рисунок 4. Моделирование сетки в N в сети потока N'
Рисунок 4. Моделирование сетки в N в транспортной сети N'
   
   


[[Файл:CP_5.png]]
[[Файл:CP_5.png]]


Рисунок 5. Сеть потока для рис. 3
Рисунок 5. Транспортная сеть для рис. 3
   
   


Строка 122: Строка 122:
   
   


Заметим, что все вершины, инцидентные сетке n, привязаны к n1, а также к ним привязана n2 в N0. Следовательно, построение сети потока симметрично относительно всех вершин, инцидентных сетке. Это построение можно провести также в случае, если таблица соединений представлена гиперграфом.
Заметим, что все вершины, инцидентные сетке n, привязаны к n1, а также к ним привязана n2 в N0. Следовательно, построение транспортной сети симметрично относительно всех вершин, инцидентных сетке. Это построение можно провести также в случае, если таблица соединений представлена гиперграфом.




Строка 139: Строка 139:
Эвристика для сбалансированного биразбиения с минимальным разрезом
Эвристика для сбалансированного биразбиения с минимальным разрезом


Вначале неоднократно применяется эвристический алгоритм вычисления максимального потока и минимального разреза, затем выполняется сбалансированное биразбиение потока (FBB) для нахождения r-сбалансированного биразбиения, минимизирующего количество пересекаемых сеток. Затем разрабатывается эффективная реализация FBB, имеющая ту же асимптотическую сложность, что и однократное вычисление минимального потока. Ради упрощения представления алгоритм FBB излагается здесь в формулировке для исходной схемы, а не для сети потока, построенной из этой схемы. Эвристический алгоритм представлен на рис. 1, на рис. 6 приведен пример использования.
Вначале неоднократно применяется эвристический алгоритм вычисления максимального потока и минимального разреза, затем выполняется сбалансированное биразбиение потока (FBB) для нахождения r-сбалансированного биразбиения, минимизирующего количество пересекаемых сеток. Затем разрабатывается эффективная реализация FBB, имеющая ту же асимптотическую сложность, что и однократное вычисление минимального потока. Ради упрощения представления алгоритм FBB излагается здесь в формулировке для исходной схемы, а не для транспортной сети, построенной из этой схемы. Эвристический алгоритм представлен на рис. 1, на рис. 6 приведен пример использования.




Строка 145: Строка 145:




При реализации алгоритма FBB был выбран метод коллапсирования вершин, а не более постепенный (например, из [9]), чтобы гарантировать, что пропускная способность разреза всегда отражает реальный размер сетевого разреза. При выборе вершины на шагах 4.2 и 5.2 задан порог R для количества вершин в несколлапсированной подсхеме. Вершина выбирается случайным образом, если количество вершин больше R. В противном случае проверяются все вершины, смежные с C, и выбирается та, коллапс которой порождает минимальный сетевой разрез наименьшего размера. Прямолинейная реализация шага 2, заключающаяся в вычислении максимального потока начиная с нулевого, приведет к резкому росту временной сложности. Вместо этого сохраняется значение потока в сети потока и исследуется дополнительный поток для насыщения мостовых ребер минимального сетевого разреза между двумя итерациями. Процедура представлена на рис. 2. Вначале сеть потока сохраняет функцию потока, вычисленную на предыдущей итерации. Поскольку вычисление максимального потока при помощи метода приращения путей нечувствительно к изначальным знамениям потока и порядку нахождения дополняющих путей, вышеописанная процедура корректно находит максимальный поток с тем же значением потока, что и у максимального потока, вычисленного в коллапсированной сети потока из нулевого значения.
При реализации алгоритма FBB был выбран метод коллапсирования вершин, а не более постепенный (например, из [9]), чтобы гарантировать, что пропускная способность разреза всегда отражает реальный размер сетевого разреза. При выборе вершины на шагах 4.2 и 5.2 задан порог R для количества вершин в несколлапсированной подсхеме. Вершина выбирается случайным образом, если количество вершин больше R. В противном случае проверяются все вершины, смежные с C, и выбирается та, коллапс которой порождает минимальный сетевой разрез наименьшего размера. Прямолинейная реализация шага 2, заключающаяся в вычислении максимального потока начиная с нулевого, приведет к резкому росту временной сложности. Вместо этого сохраняется значение потока в транспортной сети и исследуется дополнительный поток для насыщения мостовых ребер минимального сетевого разреза между двумя итерациями. Процедура представлена на рис. 2. Вначале сеть потока сохраняет функцию потока, вычисленную на предыдущей итерации. Поскольку вычисление максимального потока при помощи метода приращения путей нечувствительно к изначальным величинам потока и порядку нахождения дополняющих путей, вышеописанная процедура корректно находит максимальный поток с той же величиной потока, что и у максимального потока, вычисленного в коллапсированной транспортной сети из нулевого значения.




Строка 157: Строка 157:


== Применение ==
== Применение ==
Разбиение схемы является фундаментальной задачей в сфере проектирования СБИС и автоматизации разработки. Алгоритм FBB представляет собой первое эффективное прогнозируемое решение задачи сбалансированного разбиения схемы с минимальным разрезом. Установлена прямая зависимость эффективности и качества решения, производимого алгоритмом, от коэффициента отклонения e. Алгоритм можно легко расширить для применения к сеткам с различными весами, присваивая вес сетки ее мостовому ребру в сети потока. K-стороннее разбиение с минимальным разрезом для K > 2 можно получить при помощи рекурсивного применения FBB либо положив r = UK и затем используя FBB для поиска разбиений по одному. Метод прямого решения задачи с использованием потоков приводится в [ ]. Кластеризацию схемы перед разбиением согласно данным о связях или расчетам времени можно легко встроить в алгоритм FBB, рассматривая кластер как вершину. Эвристические решения на базе эвристики K&L или алгоритма имитации отжига с низкой температурой могут использоваться для дальнейшей настройки решения.
Разбиение схемы является фундаментальной задачей в сфере проектирования СБИС и автоматизации разработки. Алгоритм FBB представляет собой первое эффективное прогнозируемое решение задачи сбалансированного разбиения схемы с минимальным разрезом. Установлена прямая зависимость эффективности и качества решения, производимого алгоритмом, от коэффициента отклонения e. Алгоритм можно легко расширить для применения к сеткам с различными весами, присваивая вес сетки ее мостовому ребру в транспортной сети. K-стороннее разбиение с минимальным разрезом для K > 2 можно получить при помощи рекурсивного применения FBB либо положив r = UK и затем используя FBB для поиска разбиений по одному. Метод прямого решения задачи с использованием потоков приводится в [ ]. Кластеризацию схемы перед разбиением согласно данным о связях или расчетам времени можно легко встроить в алгоритм FBB, рассматривая кластер как вершину. Эвристические решения на базе эвристики K&L или алгоритма имитации отжига с низкой температурой могут использоваться для дальнейшей настройки решения.


== Экспериментальные результаты ==
== Экспериментальные результаты ==
4430

правок