Лекция 2. Виды матроидов

Begin

Упорядочить веса элементов так, что

ω (e [1]) >= ω (е [2]) >=... >= ω (е [ n ]);

S:=Æ; // Сначала отобранное подмножество пусто

for i:= 1 n // Цикл выбора элементов

if (S Ç { e [ i ]}) Î J then S:= S Ç { е [ i ]}; // Проверка принадлежности допустимому множеству

еnd.

Замечание. Для упрощения определения GREEDY алгоритма мы, не теряя общности, считаем, что после упорядочения элементов множества Е они получили имена (и номера) е [1], е [2],..., е [ n ].

Типичной иллюстрацией частного случая использования GREEDY алгоритма является стратегия «иди в ближайший» для задачи о кратчайшем пути в графе.

Очевидно, что сложность GREEDY алгоритма определяется сложностью задачи сортировки n-элементного множества, которая может быть оценена как О(nlogn), и сложностью nкратной проверки свойства (S Ç { e [ i ]}) Î J. Если эта проверка реализуема с полиномиальной сложностью, то и GREEDY алгоритм в целом имеет полиномиальную сложность.

Простота GREEDY алгоритма делает его привлекательным и определяет важность постановки следующего вопроса: каким условиям должно удовлетворять семейство J из задачи 9.3, чтобы GREEDY - алгоритм правильно решал эту задачу для произвольной функции w?Оказывается, для решения поставленной проблемы достаточно, чтобы пара <Е,J> образовывала так называемый матроид.

Определение 8.2. Матроидом называется пара М=<Е,J>, где Е - конечное множество. J Í 2Е - семейство его подмножеств, удовлетворяющих условиям:

М1) пустое множество принадлежит J и, если АÎ J и ВÍ А, то BÎ J;

М2) для любых множеств А и В таких, что АÎ J, BÎ J и | В | = | А | + 1, найдется элемент е Î В \ А такой, что А Ç{ eJ.

Множества семейства J называют независимыми, а остальные множества из { 2E \ J }- зависимыми.

Определение 8.3. Максимальным независимым подмножеством множества С Í Е называется такое независимое подмножество А Í С, что не существует независимого множества В, удовлетворяющего включениям: А Ì В Í С.

Условия М1) и М2) в определении 8.2 иногда называют аксиомами матроида.

Теорема 8.1. Пусть Е - конечное множество, J Í 2Е и J удовлетворяет условию М1. Тогда пара М = <Е,J> является матроидом в том и только том случае, если выполняется условие:

МЗ) для любого подмножества С Í Е каждые два максимальных независимых подмножества множества С имеют одинаковую мощность.

Доказательство. Теорема устанавливает равносильность аксиом М2 и МЗ, поэтому в символической записи следует доказать М1ÙМ2ÞМ3 и М1ÙМ3ÞМ2.

Докажем М1ÙМ2ÞМ3. Последнее равносильно тому, что ØМ3ÞØМ1ÚØМ2. Если аксиома М3 не выполняется, то для некоторого подмножества С Í Е найдутся два максимальных независимых множества и такие, что . Тогда существует множество такое, что , но для любого соотношение не может выполняться, поскольку это противоречит максимальности множества , то есть М2 не выполняется.

Покажем справедливость соотношения ØМ2ÞØМ1ÚØМ3. Если не выполняется аксиома М2, то найдутся независимые множества и такие, что , но для любого имеет место . Поэтому - максимальное независимое множество в , и при этом в существует максимальное множество большей мощности. Таковым является либо множество , либо его расширение : , то есть М3 не выполняется.

Определение 8.4. Мощность максимального независимого подмножества множества С Í Е называется рангом этого множества С и обозначается r (С).

Определение 8.5. Каждое максимальное независимое подмножество множества Е из определения матроида М = <Е,J> называется базой этого матроида, а ранг r(E) - рангом матроида.

Следствие 8.1. Каждые две базы матроида равномощны.

Теорема 8.2. (Радо-Эдмондса) Если м = <Е,J> - матроид, то множество S, найденное GREEDY- алгоритмом при решении задачи 9.3, является независимым множеством с наибольшим весом . Если М = <Е,J> не является матроидом, то найдется такая функция w: Е ® R +, что множество S, найденное GREEDY - алгоритмом, не будет являться множеством с наибольшим весом.

Доказательство. Пусть М = <Е,J> - матроид и - независимое множество, построенное GREEDY - алгоритмом. Тогда . Рассмотрим произвольное независимое множество , элементы которого упорядочены по весу: . S - база матроида, поскольку каждый элемент , не включенный в S на некотором шаге алгоритма, не может пополнить окончательно построенное множество S. Действительно, если на некотором шаге было сформировано независимое множество и затем элемент был отвергнут, как нарушающий условие (St È { ei }) Î J, то для любого независимого множества такого, что , выполнение условия (А È { ei }) Î J означало бы, что (St È { ei })(А È { ei }), (А È { ei }) Î J, но (St È { ei }) J, что противоречит аксиоме М1 матроида. Тогда, поскольку S - база, должно выполняться соотношение . В этом легко убедиться, если предположить, что . Тогда для двух независимых множеств S и V таких, что , по аксиоме М2 в сужении таком, что , обязан найтись такой элемент , что . А это противоречит тому, что S - база матроида. Для доказательства неравенства , учитывая, что , достаточно показать справедливость соотношения для любого . Предположим противное: для некоторого и рассмотрим два независимых множества и . По аксиоме М2 - независимое множество, если . Тогда имеем Следовательно, существует такой индекс , что . Множество является независимым по аксиоме М1 и имеет больший вес, чем множество . Последнее противоречит тому, что множество выбрано GREEDY - алгоритмом.

Теперь предположим, что М = <Е,J> не является матроидом. Тогда нарушается хотя бы одна из аксиом матроида М1, М2.

Пусть не выполняется М1. Тогда найдутся подмножества А и В такие, что AÎ J,

B А, но BÏ J. Определим функцию w так:

Множество BÏ J не будет содержаться во множестве S, выбранном жадным алгоритмом. Поэтому w (S) < w (B) = w (A). Тогда S не является множеством с максимальным весом, а таковым является независимое множество A.

Если же не выполняется аксиома М2, то найдутся множества А Î J и B Î J такие, что | А |= k, | B |= k +1, и для любого e Î{ B\A } будет иметь место { A Ç{ e }} Ï J. Обозначим р = | A Ç B |; Должно выполняться неравенство р < k, поскольку, в противном случае, если р = k, то , и тогдадля любого e Î{ B\A } должно выполняться { A Ç{ e }} Î J. Определим функцию w так:

w (e)=

Тогда жадный алгоритм сначала выберет все элементы множества А, затем во всех случаях отбросит элементы множества B \ A. Будет получено множество S с весом w (S) = w (A) = k (1 ). Найдем вес независимого множества B, которое, очевидно, не может быть отобрано жадным алгоритмом: w (B) = p (1+ ε) +(k +1- p) ·1 = k + + 1. Если w (B) >w(A), то GREEDY - алгоритм находит решение, не являющееся оптимальным. Последнее имеет место при выполнении неравенства k + + 1 > k+ kε, равносильного условию .

Таким образом, мы установили, что если в задаче 8.3 множество допустимых решений J является семейством независимых множеств матроида <Е,J>, то эта задача точно решается GREEDY -алгоритмом.

Литература:

1. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982. – 416 с.

2. Ахо А., Хопкрофт Д., Ульман Д. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979. – 536 с.

3. Грэхем Р., Кнут Д., Паташник О. Конкретная математика (основание информатики). М.: Мир, 1998. – 703 с.

4. Донской В. И. Дискретная математика. –Симферополь: Сонат, 2000. –356 с.

5. Липский В. Комбинаторика для программистов. М.: Мир, 1988. – 215 с.

6. Лавров И. А., Максимова Л. Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Физико-математическая литература, 1995. – 256 с

7. Линдон Р. Заметки по логике. М.: Мир, 1968. – 128 с.

8. Оре О. Теория графов. М.: Наука, 1980. – 336 с.

9. Шоломов Л. А. Основы теории дискретных логических и вычислительных устройств. М.: Наука, 1980. – 400 с.

1) Графовые матроиды [1,2,3,4,5,6,7,8,9]

Графовый матроид строится на основе задания конечного графа. В качестве множества берется множество ребер графа , и рассматриваются такие подмножества ребер , что подграф не содержит циклов.

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

Доказательство. Вспомним, что граф, не содержащий циклов, является деревом (если он связный, это означает существование для любой его пары вершин соединяющего их пути) или, в противном случае, лесом, состоящим из конечного числа деревьев – компонент связности. Используя метод математической индукции, легко показать, что любое дерево, содержащее вершин, имеет ровно ребер. Если лес содержит компонент связности с числом вершин соответственно : , то этот лес имеет ровно ребер. Рассмотрим любое максимальное подмножество ребер в произвольном множестве такое, что граф не содержит циклов. Если граф связен, то - дерево, и мощность максимального множества определяется соотношением . Если граф не связен и имеет компонент связности, то - лес, и тогда мощность максимального множества есть . Таким образом, мощности любых максимальных множеств в произвольного множества равны, что обеспечивает выполнение для пары условия М2.

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

Матроид , удовлетворяющий условию теоремы, называют графовым.

Практическая полезность понятия графового матроида становится очевидной при рассмотрении алгоритма Краскала решения задачи о кратчайшем стягивающем лесе.

Задача 9.4 (о кратчайшем стягивающем лесе).

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

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

Обозначим - вершины и - ребра графа .

Упорядочить ребра по стоимости: .

// После упорядочения, не теряя общности, считаем, что последовательность

// индексов отсортированных элементов есть 1,2,…, n.

; // Начальное разбиение

// на одноэлементные подмножества.

; // Множество отобранных ребер сначала пусто.

for i:=1 to m do // Оно пополняется, если граф не имеет циклов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow