Дистрибутивная ограниченная решетка, в которой для каждого элемента существует дополнение, называется булевой алгеброй.
Свойства булевой алгебры:
1. а а = а, a
a = a
по определению решетки;
2. a b = b
a, a
b = b
a
по определению решетки;
3. а (b
с) = (а
b)
с, a
(b
c) = (a
b)
c
по определению решетки;
4. (а b)
а = а, (a
b)
a = a
по определению решетки;
5. а (b
с) = (а
Ь)
(а
с), a
(b
с) = (а
b)
(а
с)
по свойству дистрибутивности;
6. а 1= 1, а
0 = 0
по свойству ограниченности;
7. а 0 = а, а
1 = 0
по следствию из теоремы ограниченности;
8. а" = а
по теореме о свойствах дополнения;
9. (а b)' = а'
b' (a
b)' = а'
b'
по теореме о свойствах дополнения;
10. а а' = 1, a
а' = 0
так как дополнение существует.
Пример
1. <2M;
,
,- > - булева алгебра, 1 = U, 0 = Ǿ,
=
.
2. <Е2;
&, V, ¬> — булева алгебра, 1 = 1,0=1, =
.
3. Пусть π(р)
: = {q | q N—
простое & q
р} — множество простых чисел,
не превосходящих р.
множество произведений различных чисел из π (р).
Тогда <Р; Н.О.Д., Н.О.К., ДОП> — булева алгебра, где Н.О.Д. - наибольший общий делитель, Н.О.К. — наименьшее общее кратное,
ДОП(n): = .
1:= , 0: = 1, m
n: = n делится на m.
2.7. Матроиды
Матроиды, рассматриваемые в этом разделе, вообще говоря, не являются алгебраическими структурами в том смысле, который был придан этому понятию в первом разделе данной главы. Однако, во-первых, матроиды имеют много общего с рассмотренными алгебраическими структурами (в частности, с линейно независимыми множествами в векторных пространствах) и изучаются сходными методами, а во-вторых, они являются теоретической основой для изучения и анализа «жадных» алгоритмов. Ясное понимание природы и области применимости жадных алгоритмов совершенно необходимо всякому программисту.
2.7.1. Определения
Матроидом М = <Е, e> называется конечное множество Е, |Е| = n и семейство его
подмножеств e2Е, такое что
выполняются следующие три аксиомы:
М1: Ǿ e;
М2: Аe&В
A
В
e;
М3: А, Вe & |В| = |А| +
1
e
В\
А А
{е}
e.
Элементы множества e называются независимыми, а остальные подмножества Е (2Е \ e) — зависимыми множествами.
ЗАМЕЧАНИЕ———————————————––––––––––––––––––––————–––––––––––––––––––––––
Аксиома М1 исключает из рассмотрения вырожденный случай e = Ǿ.
————————————————————————––––––––––––––––––––————–––––––––––––––––––––––
Пример
Семейство линейно независимых множеств векторов любого векторного пространства является матроидом. Действительно, по определению можно считать,
что пустое множество линейно независимо. Всякое подмножество линейно независимого множества векторов линейно независимо. Пусть A:={а1...,аm} и В: ={b1,..., bm+1} — линейно независимые множества. Если бы все векторы из множества В выражались в виде линейной комбинации векторов из множества А, то множество В было бы линейно зависимым. Стало быть, среди векторов множества В есть по крайней мере один вектор b, который не входит в множество A и не выражается в виде линейной комбинации векторов из множества А. Добавление вектора b к множеству А образует линейно независимое множество.
ЗАМЕЧАНИЕ———————————————––––––––––––––––––––————–––––––––––––––––––––––
Само понятие матроида возникло в результате исследований линейной независимости в векторных пространствах.
————————————————————————––––––––––––––––––––————–––––––––––––––––––––––
2.7.2. Максимальные независимые подмножества
Пусть XЕ — произвольное множество.
Максимальным независимым подмножеством множества X называется
множество У, такое что
УХ & У
Е &
Z
Е Z
X =Z
У.
Множество
максимальных независимых подмножеств множества X обозначим . Рассмотрим следующее утверждение:
М4: Х (У
& Z
|У|=|Z|), то есть
максимальные независимые подмножества данного множества равномощны.
ТЕОРЕМА Пусть М = <Е, e> и выполнены аксиомы M1 и М2. Тогда аксиома M3 и утверждение М4 эквивалентны, то есть
(A,BE &|B|=|A|+1
e
B\A A
{e}E)
тогда и только тогда, когда
X (У, Z
|У|=|Z|)
Доказательство
Необходимость. Пусть выполнены
утверждения М1, М2, М3 (то есть М
— матроид). Покажем от противного, что выполняется и М4.
Пусть У,Z, |У|
|Z| и для
определенности |У| > |Z|. Возьмем У'
У, так что |У'| = |Z| + 1. Тогда по
свойству М3 имеем:
е
У'\ Z W:=Z
{е}
e. Таким образом,
имеем W
e, Z
W, W
X, что противоречит
предположению Z
.
Достаточность. Пусть выполнены
утверждения М1, М2, М4. Покажем от
противного, что выполняется и М3. Возьмем A,Вe, так что |В|=|А|+1.
Допустим, что ¬
е
В\А А
{е}
e, то есть
е
В\А А
{е}
e. Рассмотрим С:=А
В.
Имеем А
. Но В
e, поэтому
В' В
В'&В'
e&В'
. По условию М4
имеем |В'| = |А|. Но |А|=|В'|
|В|=|А|+1 - противоречие.
ЗАМЕЧАНИЕ———————————————––––––––––––––––––––————–––––––––––––––––––––––
Таким образом, M1, М2, М4 — эквивалентная система аксиом матроида.
————————————————————————––––––––––––––––––––————–––––––––––––––––––––––
2.7.3. Базисы
Максимальные независимые подмножества множества Е называются базами, или базисами, матроида М = <Е, e>. Всякий матроид имеет базисы, что видно из следующего алгоритма.
Алгоритм 2.1. Алгоритм построения базиса матроида
Вход: Матроид М = <Е, e>.
Выход:
Множество ВЕ элементов, образующих базис.
В : = 0 { вначале базис пуст }
for еЕ do
if В{е}
E then
В : = В {е} {
расширяем базис допустимым образом }
end if
end for
Обоснование
Алгоритм вычисляет базу матроида М.
Действительно,
пусть В0 = Ǿ, В1,…,Вk = В — последовательность
значений переменной В в процессе работы алгоритма. По построению i Вi
Е. Пусть В
, то есть В не является максимальным. Тогда
В' В В' & В'
В & В' Е. Возьмем В"
В', так что |В"| = |В| +
1, В
В" и В"
Е. Рассмотрим е В' \ В.
Элемент е не попал в множество В, но алгоритм про сматривает все элементы,
значит, элемент е был отвергнут на некотором шаге i, то есть (Вi-1
{е})
E. Но е
В" & Вi-1
В"
(Вi-1
{е}) е Е. По аксиоме М2 имеем: (Вi-1
{е})
Е — противоречие.
СЛЕДСТВИЕ Все базы матроида равномощны.
2.7.4. Ранг
Мощность максимального независимого подмножества данного множества X называется рангом множества:
ЗАМЕЧАНИЕ———————————————––––––––––––––––––––————–––––––––––––––––––––––
Это определение корректно, потому что все максимальные независимые подмножества данного множества равномощны.
————————————————————————––––––––––––––––––––————–––––––––––––––––––––––
ЛЕММА XE & Y
X = Y
Доказательство
XX & X
E & Y
X
Y
X
X = Y
ТЕОРЕМА:XE
r (X) = |X|
Доказательство
X E
(X
E & Y
X = Y)
(r (x) = |X|)
ТЕОРЕМА: A, B
E
e1, e2
E
R1 : 0 r(A)
|A|
R2
: АВ
r(A)
r(B)
R3
: r(AB) +
r(A
B)
r(A)+ r(B)
R4
: r(A) r(A
{e})r(A)+1
R5
: r(A{e1})
= r(A
{e2})=
r(A)
r(A
{e1,e2})
= r(A)
Доказательство
R1 : очевидно;
R2 : очевидно;
R3 :
Пусть {е1,…,еi}. Тогда {е1,…,еi,
d1,…,di }
и
затем {е1,…,еi, d1,…,dj, c1,…,ck,}
. Имеем i = r (A
B), Bi+j = r(A), i +
k
i + j + k = r(A
В)
r(A
B) + r(A
B) = (i + j +k) + i = (i + j) + (i + k)
r(А) + r(В);
R4: очевидно;
R5 : r(A) r(А
{е1, е2}) = r(А
{e1}
{е2})
r(А
{е1})+ r(A
{е2}) - r((A
{e1})
(A
{е2})) = r(A) + r(A) - r(A) = r(А).
2.7.5. Жадный алгоритм
Пусть имеются
конечное множество Е, |Е| = n, весовая функция w: ЕR+ и семейство e
2Е.
Рассмотрим
следующую задачу: найти Xe, такое что
, где
Другими словами, необходимо выбрать в указанном семействе подможество наибольшего веса.
Не ограничивая
общности, можно считать, что w(e1) …
w(en) > 0
Рассмотрим следующий алгоритм.
Алгоритм 2.2. Жадный алгоритм
Вход: множество Е = {е1 , . . . , еn}, семейство его подмножеств e и весовая функция w
Множество Е упорядочено в порядке убывания весов элементов
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.