Смекни!
smekni.com

Модификация алгоритма определения клик графа с параметрической адаптацией (стр. 1 из 2)

В.А. Литвиненко И.Ю. Черненко

1. Основные положения

Кликой графа называется максимальный полный подграф, который не входит ни в один полный подграф более высокого порядка /1/ .

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

Рассматривается класс нериентированных графов без петель и кратных ребер.

Комбинаторная сложность точных алгоритмов определения клик графа приводит к необходимости использовать приближенные методы при решении задач большой размерности. К таким задачам, в частности, относятся различные задачи конструкторского проектирования интегральных схем, в которых алгоритмы определения клик графа применяются в качестве алгоритмов проектных операций . Известные алгоритмы /1,2/ позволяют определять только такие семейства клик графа, свойства и мощность которых зависят от структуры решаемых графов и последовательности выполнения самого алгоритма. От качественного решения алгоритмов проектных операций существенно зависит качество решения алгоритмов проектных процедур.

Основными факторами, влияющими на качество выполнения алгоритмов проектных операций, являются:

требуемая точность решения;

ресурс времени, отведенный на выполнение проектной операции;

размерность конкретной задачи.

Из указанных факторов известные приближенные методы позволяют учитывать только ограничение на время выполнения алгоритма - ресурс времени путем прерывания решения в момент его истечения /2/ .

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

Возможность алгоритмическими методами учитывать такие случаи позволяет оптимизировать время выполнения алгоритма проектной операции проектной процедуры и тем самым повышать эффективность использования математического и программного обеспечения САПР.

2. Базовый алгоритм

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

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

В основу базового алгоритма положена следующая теорема, доказанная в работе /4/.

Пусть в графе G=(X,U) имеется вершина

и определена клика
с множеством вершин
, где
. Тогда, если
выделены все клики, то и
будут выделены все клики.

Практическое значение этой теоремы заключается в следующем.

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

В соответствие с теоремой для каждой вершины

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

Если для каждой вершины

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

Обозначим такое число клик l. Тогда, задавая значения l, можно “управлять” точностью решения, получаемого базовым алгоритмом, настраиваивая его на получение решение с различной степенью точности.В таком случае l является параметром базового алгоритма определения клик графа. Использование параметра для адаптации алгоритма к внешним условиям – требуемой точности решения и послужило введением названия класса алгоритмов – алгоритмы с параметрической адаптацией.

Отметим, что при увеличении l в предельном случае точность решения, которую можно получить с помощью базового алгоритма, соответствует количеству клик графа, которое может быть получена с помощью алгоритма определения клик, покрывающих все ребра графа /1,2/.Это означает, что с помощью базового алгоритма нельзя получить решение с нулевой точностью.

Рассмотренный базовый алгоритм положен в основу модифицированного алгоритма, предлагаемого в дипломной работе.

3. Модифицированный алгоритм

Процесс перебора полных подграфов для каждой вершины

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

В соответствие с рассмотренной выше теоремой для каждой вершины

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

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

4. Оценка сложности модифицированного алгоритма

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

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

Пусть n – количество столбцов первой строки матрицы, а b - средняя мощность клик в графе. Тогда, если оценивать количество операций логического умножения элементов двух столбцов двух строк матрицы смежности, то количество операций определения одной клики будет составлять сумму членов арифметической прогрессии с шагом 1, первый член которой равен (n-1), а количество членов прогресси равно (b-1), т.е.

0,5(b-1)(2n-b-n).

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