Матроиды в дискретной оптимизации

МАТРОИДЫ В ДИСКРЕТНОЙ ОПТИМИЗАЦИИ 1

© С. В. Кольцова

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

З а д а ч а 1. Даны конечное множество E, семейство его подмножеств J и функция

и : E ^ R. Найти подмножество S Е J с наименьшей суммой ^ u(e).

вея

Эту задачу можно пытаться решить следующим образом: будем выбирать элементы e Е E последовательно, причем каждый раз будем выбирать наибольший из элементов, которые мы можем добавить, не нарушая условия, чтобы формируемое подмножество принадлежало J. Будем действовать так вплоть до момента, пока добавление любого из оставшихся элементов нарушит указанное выше условие. Алгоритм такого типа называют жадным. Но не всегда следует быть жадным! Будет ли жадный алгоритм правильно решать нашу задачу, зависит от семейства J. Оказывается, для того чтобы жадный алгоритм давал правильный ответ для произвольной функции и, достаточно, чтобы пара (E, J) образовывала так называемый матроид.

Напомним, что матроид — это пара M = (E,J), где E — конечное множество, а J — семейство подмножеств E, удовлетворяющее следующим условиям:

1. Если A Е J и B С A, то B Е J.

2. Для произвольных A,B Е J, таких что |A| < \B\, существует элемент e Е B \ A такой, что A U {e} Е J.

Множества семейства J называются независимыми, остальные подмножества E называются зависимыми множествами матроида M. Каждое максимальное (по включению элементов) независимое множество матроида M называется базой этого матроида. Легко видеть, что каждые две базы матроида имеют одинаковое число элементов. Это число называется рангом матроида. Количество элементов в E называют порядком матроида. Циклом матроида называют каждое минимальное зависимое множество, то есть такое зависимое множество C, что C \ {e} является независимым для произвольного e Е C.

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

хРабота выполнена при поддержке РФФИ (проекты № 06-06-96318р-центр-а, № 05-01-00074), научной программы «Развитие Научного Потенциала Высшей Школы» (РНП.2.1.1.351) и темпла №1.2.02.

и : E ^ R — действительнозначная функция. Значение и(е) называется весом элемента е. Пусть А — подмножество из E. Вес A определим формулой

и(А) = ^ и(е). вЄА

Алгоритм

1. begin

2. упорядочить множество E по убыванию весов так, чтобы E = {еі, Є2, . . . , en}, где и

3. S := 0

4. for i := 1 to n do

5. if S U {єі} Є J then S := S U {ei}

6. end

Имеет место

Теоремаї. Если M = (E, J ) — матроид, то множество S, найденное жадным алгоритмом, является независимым множеством с наибольшим весом. Напротив, если M = (E, J) не является матроидом, то существует такая функция и : E ^ R, что S не будет независимым множеством с наибольшим весом (Радо, Эдмондс [1]).

Заметим, что множество S оптимально в очень сильном смысле. У него не только максимальна сумма элементов, но также в любом независимом множестве T вес i-го по величине элемента не больше веса i-го по величине элемента в S. Этот факт называют оптимальностью по Гейлу [1]. Таким образом, в матроиде нельзя выбрать независимое множество, состоящее из меньшего числа больших по весу элементов.

Остановимся подробнее на примере, когда E — множество ребер произвольного простого графа G = (V, E ). Определим M (G) = (E, J ), где

J = {А С E\ граф (V,A) не содержит циклов}.

Теорема 2. M (G) является матроидом для произвольного графа [1].

Матроид M(G) называется графовым или циклическим матроидом графа. Каждый такой матроид можно трактовать как матричный матроид, соответствующий матрице инцидентности графа G, рассматриваемой над полем Z2 = {0,1}. Строки матрицы инцидентности при этом соответствуют ребрам, а столбцы — вершинам графа. Элементами матричного матроида являются строки матрицы, независимыми множествами — множества линейно независимых (над полем Z2) строк.

Теорема 3. Пусть G = (V, E ) — произвольный простой граф, А — его матрица инцидентности. Подмножество строк матрицы A является линейно зависимым над полем %2 тогда и только тогда, когда соответствующее ему подмножество 'ребер содержит цикл [1].

Данная теорема позволяет решать задачу о нахождении базы с наименьшим весом матроида M(G) при помощи двух вариантов жадного алгоритма. Один вариант применяется к матричному матроиду, второй непосредственно к графовому. Второй вариант оказывается значительно более эффективным (см. [1]).

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

Ответом на этот вопрос является следующая доказанная нами

Теорема 4. Пусть G = (V, E ) — простой граф, А — его матрица инцидентности. Подмножество строк матрицы А является линейно зависимым над полем R тогда и только тогда, когда соответствующее ему подмножество 'ребер содержит либо цикл

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

Замечание. Если G — двудольный граф, то заключение данной теоремы совпадает с заключением предыдущей, так как все циклы двудольного графа имеют четную длину.

Из нашей теоремы следует, что с любым графом, имеющим циклы нечетной длины, можно связать еще один вид матроидов, названный нами в [2] матроидами Радона графа (МРГ). Элементами МРГ являются ребра графа, базами — объединения ребер уницикли-ческих подграфов остовных для каждой компоненты с циклами нечетной длины.

Из сказанного выше следует, что при помощи жадного алгоритма можно решить, например, следующую оптимизационную задачу на графе.

З а д а ч а 2. Пусть G = (V,, E) — простой связный граф без изолированных вершин, и : E ^ R — весовая функция. Найти остовный унициклический подграф максимального веса с циклом нечетной длины.

ЛИТЕРАТУРА

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

2. Кольцова С.В., Поленкова С.В. Матроид Радона графа // Вестник ТГУ. Сер.: Естеств. и техн. науки.

Тамбов, 2006. Т. 11. Вып. 3. С. 257-261.

Кольцова Светлана Васильевна Тамбовский государственный ун-т Россия, Тамбов e-mail: rvc44@tsu.tmb.ru

Поступила в редакцию 5 мая 2007 г.

МАТЕМАТИЧЕСКИЕ ОСНОВЫ ТЕОРИИ УСТОЙЧИВОСТИ ДЕТЕРМИНИРОВАННОГО ДИНАМИЧЕСКОГО СОСТОЯНИЯ

© П. А. Котов

Возможный аналитический вариант ускоряемого детерминированного перемещения материального твердого притягиваемого объекта постоянной массы в однородном протяженном астрономическом пространстве предлагается векторным дифференциальным непрерывным вещественным уравнением с измеряемыми фиксированными коэффициентами:

рУйрУП = цУ ряУ рЛЬ

Лемма. Предлагаемое решение разработанного вещественного векторного дифференциального детерминированного уравнения с ограниченными постоянными коэффициентами измеримыми фиксированными безрезонансными начальными условиями в классе