ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА
УДК 519.1
В. Т. Тозик
АЛГЕБРАИЧЕСКИЙ МЕТОД ОПРЕДЕЛЕНИЯ ПОЛНОГО МНОЖЕСТВА ПРОСТЫХ РАЗРЕЗОВ В ДВУХПОЛЮСНЫХ СЕТЯХ
Рассматривается задача поиска простых разрезов в двухполюсных структурно-сложных сетях. В основу предлагаемого метода положена алгебраическая модель сети, базирующаяся на алгебре кубических комплексов. Это позволяет предложить эффективную с точки зрения трудоемкости процедуру определения полного множества простых разрезов.
Ключевые слова: двухполюсная сеть, простой разрез, структурная функция, алгебра кубических комплексов.
Задача определения полного множества простых разрезов в двухполюсных сетях нетривиальна. Конструктивный метод ее решения предложен только для плоских графов путем построения полного множества циклов в соответствующих двойственных графах. Однако для достаточно больших графов с нетривиальной структурой (не сводимой к плоской) задача становится непреодолимо сложной ввиду комбинаторных трудностей полного перебора.
В основу предлагаемого в настоящей работе метода положена алгебраическая модель графа, использующая введенную алгебру простых цепей [1] и алгебру кубических комплексов [2], что позволяет предложить достаточно эффективную с точки зрения трудоемкости процедуру определения простых разрезов.
Как было показано в работе [1], структура двухполюсной сети (а, в) может быть представлена булевой структурной функцией (СФ) в дизъюнктивной нормальной форме (ДНФ) с помощью простых цепей (элементарных конъюнкций К ^ ранга г):
т т '
/ав= V К} = Г\Ах1 ], (1)
;=1 ;=1 г=1
где т — число простых цепей сети.
Ту же функцию (1) можно представить в конъюнктивной нормальной форме (КНФ) с помощью простых разрезов (элементарных дизъюнкций ранга
г г
= л д = л /=1 г /=1
У, х
1=1
(2)
где г — число простых разрезов двухполюсной сети.
В работе [1] представлен алгоритм, позволяющий определить кубическое покрытие П(А), соответствующее ДНФ булевой СФ, записанной в виде простых цепей (1). Теперь
рассмотрим выражение (2). С помощью правила де Моргана [2] можно перейти к дизъюнктивной форме отрицания булевой СФ:
_ г _
/аР = V , (3)
j=1
В] = Х1УХ2V х2V... V = Х1 х2 ... Х . (4)
Отрицанию булевой СФ (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 — куб размерности п, в котором все компоненты свободные.
(5)
Поиск простых разрезов может быть осуществлен в два этапа. Вначале определяется полное множество простых цепей, а затем с помощью введенных выше операций и отношений алгебры кубов определяется полное множество простых разрезов.
В работе [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 (¿0 ) = {П(А,), с ]}. (6)
Так как оба множества простых кубов 7 (¿0) и ПС^) покрывают одно и то же множество вершин ¿0 , и только ¿0 , то
7 (¿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: [email protected]
Рекомендована кафедрой Поступила в редакцию
инженерной и компьютерной графики 11. 02.10 г.
УДК 621.3.088.7
Г. А. Польте, А. П. Саенко
КОЛИЧЕСТВЕННАЯ ОЦЕНКА КАЧЕСТВА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ НЕЧЕТКОЙ ЛОГИКИ
Рассматриваются пути улучшения и оценки качества изображения методами нечеткой логики, в частности, с помощью известного способа определения границ объекта.
Ключевые слова: нечеткая логика, обработка изображений.
Введение. Применяемые в настоящее время способы измерения параметров деталей приборов можно разделить на контактные и бесконтактные — по типу взаимодействия с исследуемым объектом. При изготовлении оптических объективов высокого качества любой