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

ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

УДК 519.1

В. Т. Тозик

АЛГЕБРАИЧЕСКИЙ МЕТОД ОПРЕДЕЛЕНИЯ ПОЛНОГО МНОЖЕСТВА ПРОСТЫХ РАЗРЕЗОВ В ДВУХПОЛЮСНЫХ СЕТЯХ

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

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

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

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

Как было показано в работе [1], структура двухполюсной сети (а, в) может быть представлена булевой структурной функцией (СФ) в дизъюнктивной нормальной форме (ДНФ) с помощью простых цепей (элементарных конъюнкций К ^ ранга г):

т т '

/ав= V К} = Г\Ах1 ],

;=1 ;=1 г=1

где т — число простых цепей сети.

Ту же функцию (1) можно представить в конъюнктивной нормальной форме (КНФ) с помощью простых разрезов (элементарных дизъюнкций ранга

г г

= л д = л /=1 г /=1

У, х

1=1

где г — число простых разрезов двухполюсной сети.

В работе [1] представлен алгоритм, позволяющий определить кубическое покрытие П(А), соответствующее ДНФ булевой СФ, записанной в виде простых цепей (1). Теперь

рассмотрим выражение (2). С помощью правила де Моргана [2] можно перейти к дизъюнктивной форме отрицания булевой СФ:

_ г _

/аР = V ,

j=1

В] = Х1УХ2V х2V... V = Х1 х2 ... Х .

Отрицанию булевой СФ (3) соответствует покрытие П(¿0) множества вершин п-мерного куба ¿0 , на которых данная функция принимает нулевые значения, причем каждой конъюнкции Б] ранга ^ (4) соответствует некоторый куб С] е П(¿0 ) • Целью настоящей ра-

г

боты является создание метода определения полного множества таких кубов и С] , каждый

]=1

куб С] которого соответствует конъюнкции В] (4), поставленной в соответствие простому

разрезу. Приведем теоретико-множественное представление этой двойственной задачи: Ь1 — подмножество состояний связности сети (/ар = 1):

т т

¿1 СиС} ^ /ар= УК] ,

]=1 ]=1

К] — конъюнкция, поставленная в соответствие простой цепи; ¿о — подмножество состояний несвязности сети (/ар = 0):

¿0 С П(!о)= и С] ^ 7ар = У В] ,

]=1 ]=1

В ] — конъюнкция, поставленная в соответствие простому разрезу.

Введем некоторые определения, основанные на положениях работы [2]. Определение 1. Куб С = ((о^,..., ап) размерности п есть п-мерный вектор, каждая координата которого а{ принимает значения из множества {0,1, X}. Координаты а{ е {0,1} называются связанными, а1 = X — свободными.

Определение 2. Кубы С] =(а1,а2,..., ап) и С3 =(Ъ2,..., Ьп) равны между собой С] = С8, если V, ( = Ъ ).

Определение 3. Кубы С] =(а1,а2, ..., ап) и С3 =(Ъ1,Ъ2,..., Ъп) находятся в отношении строгого включения С] е С5, если (а, е {0,1} & Ъ1 = X) и не (а, = Х& Ъ е {0,1} Vа, = Ъ ).

Определение 4. Кубы С] и С5 находятся в отношении нестрогого включения С] с С5, если С] = С3 или С] е С3.

Определение 5. Множество кубов П и множество вершин Ь[ находятся в отношении нестрогого включения Ц сП, если любая вершина I е Ц включена в некоторый куб С е П , т.е. I с С. В дальнейшем будем говорить, что множество П покрывает множество ¿¡, если СП.

Определение 6. Кубы С] и С8 несравнимы (С] ~ С8 ), если С] ^ С и Сц ^ С].

Ниже дается определение операции объединения, которое отличается от приведенного в

работе [2]. Чтобы различать эти две операции, будем обозначать определенную ниже опера-

+

цию символом "и" .

Определение 7. Результат операции объединения двух кубов Си С5 определяется как

Cj и Cs

C,

если Cs е Cj;

C s, если Cj е Cs; {Cs, Cj }, если Cj ~ Cs.

Операция объединения У обладает свойством коммутативности и ассоциативности. Результат операции объединения двух множеств кубов П^ и Пе определяется как множество

+

П = Пd и Пe, полученное объединением Пd и Пe в обычном теоретико-множественном смысле с последующим удалением кубов Cj таких, что Cj е Cs, или Cs таких, что Cs е Cj ; Cj, Cs е П .

Объединение множества П с самим собой приводит к множеству, в котором каждая па-

+

ра кубов несравнима. В дальнейшем, чтобы отобразить это свойство, будем писать: П = У П.

Определение 8. Результат #-операции двух кубов CJ = (a1, a2, ..., an ) и Cs = (¿1, Ъ2, ..., Ьп ) определяется как

если (а = Ъ);

С j # Cs И

cj,

0, если С ^ е С3;

п

{С,С2,..., Сг, ..., Ск}, причем каждой паре координат V (, Ъ) таких, что

г=1

ai = X, b Ф X, соответствует куб Ct = (, a2, ..., at—, bt, ai+1, ..., an-1, an ). #-операция некоммутативна и неассоциативна. Для множества кубов и одного куба, а также для двух множеств кубов Пd ={Cd, Cd, . ••, C^} и Пе = {Cf,C2, •••, Cf} #-операция определяется следующим образом:

П # Cj = {c1 #Cj, C2 #Cj, Cj, • ••, Cm #Cj } ; П # П = ((... ((п # Cf) # C2) #...) # Cf).

Определение 9. Максимальным для заданного множества кубов П^ называется такой куб Cj, что Cj # Пd = 0, и при замене в Cj хотя бы одной связанной координаты на свободную Cj # П d ф 0.

Множество, содержащее все максимальные для Пd кубы, будем обозначать тах(П) Легко показать, что для Пd множество тах ^d ) единственное.

Определение 10. Простым кубом Cj для булевой СФ называется такой, что

Cj е тах (n(-L)) либо Cj е max (П(^о )) . Иными словами, простым кубом называется такой куб Cj, для которого в П(Li) или П(^о) не существует Cs такой, что Cj е Cs .

В дальнейшем множества простых кубов будем обозначать Z.

Можно показать, что

У (I # П) = тах (I # П), где I — куб размерности п, в котором все компоненты свободные.

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

В работе [1] было предложено осуществлять решение первой задачи на п-мерном кубическом комплексе Sп, это позволило найти покрытие булевой СФ в виде множества кубов П(¿1 ) = {С,С2,..., Cm } , соответствующих простым цепям.

Отрицанию булевой СФ (3) соответствует покрытие П(¿0) множества вершин п-

мерного куба ¿0, на которых данная функция принимает нулевые значения, причем каждой

конъюнкции Б] (4) соответствует С] е П(^0 ) -

Утверждение 1. Если куб С] е П(^0 ) соответствует конъюнкции Б] (4), поставленной в

соответствие]-му простому разрезу, то С] е Z(¿0), т.е. С] является простым кубом для ¿0 .

Доказательство. Каждый простой разрез отличается от другого по крайней мере одним элементом, поэтому любые две конъюнкции Б] и Б5, поставленные в соответствие

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

В соответствии с этим кубы С] и С5 несравнимы (С] ~ С5), т.е. С]^С5 и С5^С] для

С], С5 е П(¿0 ) . Поскольку в каждую конъюнкцию Б] буквы входят только в инверсном виде

и в силу того, что простой разрез является минимальным по включению множеством элементов, для любого куба С] е П(¿0) с ценой Я] не существует куба Сг е П(¿0) с ценой

Яг < Я{ -1 такого, что С] е Сг. Таким образом, все кубы С] е П(^0 ) являются простыми.

Утверждение 2. Множество простых кубов Z(¿0) является покрытием П(¿0) множества вершин п-мерного куба ¿0, каждый куб С] е П(^0) которого соответствует конъюнкции Б], записанной с помощью простых разрезов.

Доказательство. Предположим обратное. Без потери общности можно допустить, что существует простой куб С] е Z (¿0) такой, что С] £ П(¿0). В соответствии с утверждением 1 все кубы С] е П(^0 ) являются простыми. Отсюда П(^0 ) С 7 (¿0 ) и можно записать

7

Так как оба множества простых кубов 7 (¿0) и ПС^) покрывают одно и то же множество вершин ¿0 , и только ¿0 , то

7

Поскольку множество простых кубов для ¿0 единственно, то из (6) и (7) следует, что либо С] £ 7 (¿0), либо С] е П(¿0) . Полученное противоречие доказывает данное утверждение.

На основании вышеизложенного можно предложить алгоритм определения множества кубов П(¿0) , соответствующих множеству простых разрезов. Алгоритм

1) определить множество кубов ПО^!), соответствующих множеству простых цепей, с

помощью алгоритма, предложенного в [1];

+

2) тогда П(0) = и[1 #П(4)] ;

3) конец.

Утверждение 3. В результате алгоритма получается множество кубов П(¿о ) , соответствующее полному множеству простых разрезов.

Доказательство. Для полностью определенной булевой СФ множество простых

кубов 2(¿о) совпадает с множеством максимальных кубов для ¿о. Поэтому из (5) следует

+

2 (Ь0 ) = У [I # П (Ц)], а из утверждения 2 — П(Ь0 ) = 2 (Ь0 ) . Утверждение доказано.

+

Замечание. Выполнение У -операции можно осуществлять как после завершения I # П(А )], так и после каждого #-вычитания куба е П(¿1) , проводимого на г-м шаге

алгоритма. В приведенном ниже примере используется вторая модификация выполнения

+

У -операции.

Пример. Рассмотрим предложенный метод на примере сети, представленной на рисунке. Применение алгоритма определения полного множества простых цепей к данной сети разобрано в [1]. Поэтому рассмотрим только работу алгоритма определения полного множества простых разрезов, считая заданным исходное 3

множество простых цепей и соответствующих им кубов

П(¿1) . Для упрощения примера предположим существование только реберных разрезов

в

П( ¿1) = П1 =

П2 = I # С1 =

Пз =П2# С =

X X 1 1 X

1 1 X X X

1 X X 1 1

X 1 1 X 1

X X X X X).

перации

= 1 X X 0 X X1

=1 X X X 0 X1

0 X 0 X X С,3

X 0 0 X X с2

0 X X 0 X с3

X 0 X 0 X с4

С11

с2 С С.

П4 = Пз # с1 =

0 X 0 X X

о 0 0 X X

X 0 0 0 X

X 0 0 X 0

0 X X 0 X

X 0 X 0 X

с4 = с3 # с = с3

С24

С34

с44

с54 = с 3

с 4 = с 3 с6 = с4

с2#с1,

П5 = У П

' 0 X 0 X X С15 = с,- =с2

X 0 0 X 0 с5 'о' =

< 0 X X 0 X Сз5 = С-

X 0 X 0 X С45 ii 6 =с?

Пб =П5# с! =

0 X 0 X X

X 0 0X0

0 0 X 0 X

0 X 0 0 X

0 X X 0 0

X 0 X 0 X

с6 = с5

с26 = с25

с6

С46

с6

>сз5# с4

С6 = С4

п(ц ) = П7 = и П

' 0 X 0 X X С,7 = с,6 3 с

X 0 0 X 0 с7 = с6

< 0 X X 0 0 Сз7 = с6

X 0 X 0 X с-7 II 6 3 с

6 4

6 -3

Покрытие П7 представляет собой множество кубов П(¿0 ), соответствующее полному

множеству простых разрезов: {(1,3), (2,3,5),(1,4, 5), (2,4)} .

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

Другой класс составляют переборные алгоритмы, связанные с просмотром возможных ситуаций — „кандидатов в ответ" задачи. Обычно число ситуаций экспоненциально возрастает относительно размерности задачи. Тем самым экспоненциальная (а тем более фактори-альная) трудоемкость переборного алгоритма растет быстрее, чем любая степенная функция.

В работе [1] доказана теоретическая эффективность алгоритма определения простых цепей. Оценка трудоемкости для него, измеряемая числом А -операций, ниже квадратичной относительно размерности задачи, представляемой числом простых цепей сети.

Трудоемкость алгоритма определения простых разрезов оценим по числу #-операций и

+

операций сравнения кубов при выполнении У -операции. Число простых цепей будем по-

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

Число #-операций может быть оценено как произведение числа кубов т в исходном покрытии П(Ц) на среднее число кубов в покрытии П, при выполнении (( #с!). Среднее

число кубов в П может быть принято равным I, поскольку после выполнения

Пг +1 = У (Пг #с].) число кубов в Пг+1 приблизительно равно t. Таким образом, число

#-операций при выполнении алгоритма приблизительно равно mt.

+

Число попарных операций сравнения при выполнении У Пг равно g ( -1)2, где g — число кубов в Пг. Приняв поправочный коэффициент, учитывающий превышение числа кубов в (( #с1) над У (( #с1), равным в среднем к, можно записать, что число сравнений

+ 2 / при выполнении У -операции равно к( -1)2 « (kt) /2. Таким образом, общая трудоемкость алгоритма может быть оценена как Т = mt + (kt)2/2, т.е. трудоемкость алгоритма

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

список литературы

1. Тозик В. Т. Математический аппарат для анализа структурных свойств сетей // Изв. вузов. Приборостроение. 2010. Т. 53, № 12. С. 22—30.

2. Миллер Р. Теория переключательных схем. Т.1. М.: Наука, 1970. 416 с.

Сведения об авторе

Вячеслав Трофимович Тозик — канд. техн. наук, доцент; Санкт-Петербургский государственный уни-

верситет информационных технологий, механики и оптики, кафедра инженерной и компьютерной графики; заведующий кафедрой; E-mail: tozik@mail.ifmo.ru

Рекомендована кафедрой Поступила в редакцию

инженерной и компьютерной графики 11. 02.10 г.

УДК 621.3.088.7

Г. А. Польте, А. П. Саенко

КОЛИЧЕСТВЕННАЯ ОЦЕНКА КАЧЕСТВА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ НЕЧЕТКОЙ ЛОГИКИ

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

Ключевые слова: нечеткая логика, обработка изображений.

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