Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
111
Добавлен:
15.02.2021
Размер:
3.2 Mб
Скачать

овальную, вытянутую вдоль приоритетного направления (Рис.2.11.).

Поскольку направления приоритетов в слоях взаимно перпендикулярны, то кратчайшие пути будут состоять из прямых (или близких к прямым)

проводников в одном слое, переходных отверстий и также почти прямых проводников в другом слое.

B

A

Рис. 2.11. Распространение волны в слоях с разными приоритетными направлениями.

Другой способ заставить волну распространяться в нужном направлении – это лучевой алгоритм, его еще называют поиском в глубину, в отличие от алгоритма Ли, называемого поиском в ширину. Смысл алгоритма в том, если в алгоритме Ли сначала исследуются клетки соседи, а затем клетки наследники, то в лучевом алгоритме сначала изучаются наследники одного из соседей (например, соседа с самого перспективного направления). Таким образом, первоначально вместо волны образуется направленный луч.

Проблема состоит в том, что в какой-то момент этот луч нужно прервать и перейти к анализу других соседей, иначе луч может распространиться очень далеко в бесперспективном направлении (рис.2.12.). Проблему решает двухлучевой метод - метод, когда лучи выпускаются сразу и из источника и из приемника. Как только лучи пересеклись – путь найден. Это самый быстрый и эффективный, при низкой и средней насыщенности плат, метод.

Компьютерные технологии проектирования. Часть 2

Стр. 21

Практически все современные автотрассировщики начинают трассировку именно с него.

Рис. 2.12. Лучевая трассировка.

На основе лучевого алгоритма создано множество эвристических (не являющихся математически точными алгоритмов) манипулирующих лучами.

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

Компьютерные технологии проектирования. Часть 2

Стр. 22

3. ТРАССИРОВКА

Трассировка соединений – этап определения точных путей проводников,

соединяющих контакты компонентов в соответствии с электрической схемой при соблюдении заданных конструктивно-технологических ограничений.

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

Принято [7] выделять четыре основных этапа трассировки:

1.Составление списка соединений.

2.Распределение соединений по слоям (задача расслоения) или зонам

(макротрассировка).

3.Определение порядка трассировки для всех соединений.

4.Трассировка проводников.

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

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

Компьютерные технологии проектирования. Часть 2

Стр. 23

3.1. Задача расслоения

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

(совмещенная топология), а затем решается задача ра сслоения с

минимизацией числа межслойных переходов (эта задача будет описана позже).

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

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

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

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

Компьютерные технологии проектирования. Часть 2

Стр. 24

Пусть имеется отрезок A, который пересекает точно два других отрезка B и C.

Если в нашем распоряжении имеется три слоя и отрезки B и C уже назначены на слои,

то всегда найдется слой, на котором нет ни B ни C.

В литературе описано несколько подходов к распределению соединений

по слоям.

1.Раскраска вершин графа пересечений,

2.Последовательное выделение в графе максимальных плоских суграфов,

3.Нахождение кликового покрытия графа, в котором вершины,

соответствующие непересекающимся отрезкам, соединены ребром.

Итак, Раскраска вершин графа пересечений (попытка минимизации числа слоев).

Поставим в соответствие множеству отрезков множество вершин графа,

соединив ребром пары вершин, соответствующих пересекающимся о трезкам.

Такой граф принято называть графом пересечений (Рис. 3.1).

Рис. 3.1. Пересекающиеся отрезки и граф пересечений

Требуется раскрасить вершины в минимальное количество цветов таким

Компьютерные технологии проектирования. Часть 2

Стр. 25

образом, чтобы не было ни одного ребра, соединяющего вершины одного цвета. Отрезки, соответствующие одноцветным вершинам, назначаются в один слой.

Окрасив, например, вершину 1 в красный цвет, а вершину 5 – в синий получаем, что для окраски вершины 2 необходим еще один цвет, например,

зеленый, при этом для вершин 3 и 4 возможны варианты: соответственно,

зеленый и красный, синий и красный, синий и зеленый.

Задача NP трудна и не решает проблемы, потому что число слоев обычн о ограничено, а хроматическое число (минимальное число цветов) может оказаться больше заданного числа слоев, кроме того, не учитывается возможность перехода со слоя на слой в произвольном месте - это совсем другая задача.

Немного подробнее о задаче раскр аски графов:

Исторически раскрасочная терминология пришла в теорию графов из задачи о раскраске стран на карте: “Сколько цветов требуется для раскраски различных стран на карте так, чтобы каждые 2 смежные страны были окрашены по-разному?” Эта задача сводится к проблеме определения максимального хроматического числа плоских графов. По одним сведениям,

об этой задаче знал еще в 1840 г. немецкий математик Мёбиус. По другим же данным она возникла в 1852 г., когда некий Франсис Гатри спросил своего брата Фредерика, в то время студента-математика в Кембридже, верно ли,

что каждую карту можно окрасить в четыре цвета так, чтобы смежные страны имели разные цвета. Эта задача, получившая название проблемы

(гипотезы) четырех красок, была впервые предложена вниманию общественности в выступлении Кэли на заседании Лондонского математического общества в 1878 г.

Компьютерные технологии проектирования. Часть 2

Стр. 26

Теорема о 4 красках. Всякий плоский граф можно раскрасить четырьмя красками.

Годом позже Кемпе опубликовал неправильное доказательство, которое было в 1890 г. переделано Хивудом в доказательство теоремы о пяти красках.

Теорема о пяти красках. Всякий плоский граф можно раскрасить пятью красками.

В середине ХХ века при попытке решить проблему 4 красок были доказаны следующие теоремы.

Теорема Татта (1956 г.). Каждый 4-связный планарный граф имеет

гамильтонов цикл.

Теорема Грёцша (1959 г.). Каждый плоский граф, не содержащий треугольника, можно раскрасить тремя красками.

Тем не менее доказать теорему о 4 красках не могли в течение 125 лет после ее первоначальной формулировки и в течение 99 лет после ее формулировки для научной общественности.

Первое общепризнанное доказательство теоремы о четырех красках было опубликовано Аппелем и Хакеном в 1977 г. Доказательство основано на идеях, восходящих еще к статье Кемпе и далеко продвинутых Биркгофом и Хеешем. Говоря очень приблизительно, доказательство сводится, во-первых,

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

3) должна содержать, по крайней мере, одну из 1482 «неизбежных конфигураций» (конфигурация – это связный подграф плоского графа; более подробно см. Кузнецов О.П., Адельсон -Вельский Г.М. Дискретная математика для инженеров. М.: Энергоатомиздат, 1988. 2 -е изд.). На втором этапе с помощью компьютера показывается, что каждая из этих конфигураций «редуцируема», т.е. что любая плоская триангуляция,

Компьютерные технологии проектирования. Часть 2

Стр. 27

содержащая такую конфигурацию, может быть 4-раскрашена, исходя из 4-

раскрасок меньших триангуляций. Вместе взятые эти два шага состав ляют индуктивное доказательство того, что все плоские триангуляции, а

следовательно, и все плоские графы можно раскрасить в четыре цвета.

Доказательство Аппеля и Хакена не было обойдено критикой, и не только из-за использования ими компьютера. Авторы ответили 741-страничной алгоритмической версией доказательства, которая учитывает различные критические замечания и исправляет множество ошибок (например, ими добавлено еще 450 конфигураций к «неизбежному» сп иску): В результате,

компьютер, проработав 1500 часов, показал, что из 1932 конфигураций 1931

редуцируема. Последнюю конфигурацию исследовали вручную, применив более тонкие методы редукции, не заложенные в програ мму. Проверка показала, что и эта конфигурация редуцируема. Так проблема четырех красок была решена.

Алгоритмы раскраски графа.

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

Задача. Раскрасить вершины графа так, чтобы любые две сме жные вершины были раскрашены в разные цвета, при этом число использованных цветов должно быть наименьшим. Это число называется хроматическим

(цветным) числом графа, будем его обозначать = (G) (если G –

данный граф).

Функцией Гранди называется функция на вершинах графа, отображающая вершины в множество {1,2,…, a}, причем если вершина xi окрашена в цвет с номером k, то функция Гранди h(xi) = k.

Компьютерные технологии проектирования. Часть 2

Стр. 28

Ясно, что для данного графа хроматическое число является единственным, но функций Гранди может быть очень много. Естественно, что найти хотя бы одну функцию Гранди – это значит, найти одну из возможных “наилучших” раскрасок (таких раскрасок может быть много).

Заметим, что если данный граф является полным, т.е. любые две вершины являются смежными, то хроматическое число такого графа равно п, где п –

число вершин.

Для дальнейшего описания нам понадобится следующее определение. Набор вершин графа называется максимальной независимой системой

(МНС), если любые две вершины из этого набора не являются смежными и нельзя включить в этот набор другую вершину, чтобы это условие сохранилось. Заметим, что нахождение МНС в графе достаточно просто: берем произвольную вершину, затем находим любую вершину, не смежную с ней, затем находим вершину, не смежную с отобранными вершинами и т .д. Естественно, что МНС в данном графе может быть много и они могут содержать разное число вершин.

Перейдем к описанию алгоритма нахождения наилучшей раскраски вершин графа. Пусть имеем граф G, найдем в нем какую-либо МНС, которую обозначим S1, и все вершины, входящие в эту МНС, окрасим в цвет № 1. Далее, удалим из данного графа все вершины, входящие в эту МНС (вместе с ребрами), и для нового графа снова найдем МНС, которую обозначим S2. Эти новые вершины окрасим в цвет № 2, затем удалим эти вершины из гра фа вместе с соответствующими ребрами и снова находим МНС, которую окрасим в цвет № 3, и т. д. Можно доказать, что при любом способе осуществления этой процедуры придем к наилучшей раскраске и найдем некоторую функцию Гранди и хроматическое число данного гр афа.

Пример. У графа (рис. 3.2.) имеется 3 максимально независимых системы вершин: {5}, {1,3} и {2,4}. Ясно, что при любой процедуре нахождения хроматического числа в этом графе, получим число 3.

Компьютерные технологии проектирования. Часть 2

Стр. 29

Теорема. Если максимальная степень вершин в графе равна , то хроматическое число этого графа не превосходит + 1. При этом хроматическое число графа равно + 1 только в двух случаях: во-первых,

если граф является полным и, во-вторых, если = 2 и при этом данный граф содержит контур нечетной длины (такой граф изображен на рис. 3.3,

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

Рис. 3.2.

Рис. 3.3.

 

 

Примечание. Оценка хроматического числа, даваемого этой теоремой,

является достаточно грубой. Особенно наглядно это выглядит на примере

дерева (разд. 14), для которого степень вершин может быть как угодно велика, а хроматическое число равно 2.

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

Граф называется плоским, если он нарисован на плоскости, причем любые 2 ребра могут пересекаться только в вершине.

Графы называются изоморфными, если существует такая нумерация вершин в этих графах, что они имеют одну и ту же матрицу смежности

(фактически изоморфные графы – это одинаковые графы, которые отличаются только другим изображением).

Компьютерные технологии проектирования. Часть 2

Стр. 30