Метод Магу для нахождения максимальных внутренне устойчивых подмножеств орграфа
Пусть U - максимальное внутренне устойчивое множество вершин в орграфе D=(V,X), A(D)={aij}- матрица смежности орграфа D. Каждой вершине vi орграфа поставим в соответствие булеву переменную yi по следующему правилу: если vi U , то yi = 0 (или =1).
Тогда для любых двух вершин vi, vj (ij) выполняется: если вершина vi U, а vj Гvi (ij), то вершина vj U . Запишем это выражение с помощью логических связок, учитывая при этом, что, если vj Гvi, то aij = 1, а если vj Гvi , то aij = 0. В результате получим (yi &aij) 1. Преобразуем это выражение: 1 или 1.
Рассмотрим конъюнкцию по всем вершинам
= ( ) 1.
Если aij=0, то =1, 1 =1 и эту дизъюнкцию можно опустить. Если aij=1, то =0 и 0 = . Тогда
= ( ) 1.
Раскрывая в данном выражении скобки и пользуясь законом поглощения А (А&В) А, приведем данную формулу к ДНФ. Тогда каждый дизъюнктивный член … даст внутренне устойчивое множество, причем это множество образуют те вершины, которые не входят в данный член. Т.к. каждый дизъюнктивный член содержит только переменные с отрицанием, то к множеству U нельзя добавить ни одной переменной yi, содержащейся в элементарной конъюнкции, а значит, каждое множество U является максимальным внутренне устойчивым множеством.
Пример.
Найти максимальные внутренне устойчивые множества вершин для орграфа D, заданного матрицей смежности
.
Решение.
Запишем формулу Ф для данного орграфа
Ф= ( )=( )( )( )( )( )( )1.
Упростим эту формулу, пользуясь законами А&А=А, А(В&А)=А, А(В&С)=(АВ)&(АС)
Ф=( )( )( )
( )( )
)
1.
В результате имеем четыре внутренне устойчивых множества: {v2,v4}, {v1,v4}, {v2,v5 }, {v3,v5}.
-
Содержание
- Раздел 2.Независимые множества вершин и родственные задачи
- Независимые множества
- Метод Магу для нахождения максимальных внутренне устойчивых подмножеств орграфа
- Метод Магу для нахождения семейства минимальных внешне устойчивых подмножеств орграфа
- Найти все минимальные опоры в заданном орграфе, используя алгоритм с возвратом для нахождения независимых множеств.
- Найти наименьшую опору в заданном орграфе, используя алгоритм с возвратом для нахождения независимых множеств.
- Найти все максимальные клики в заданном орграфе, используя алгоритм нахождения независимых множеств.
- Найти наибольшую клику в заданном орграфе, используя алгоритм нахождения независимых множеств.
- Раскраска графа