stringtranslate.com

Максимальный независимый набор

Граф куба имеет шесть различных независимых множеств (два из них максимальные), показанных в виде красных вершин.

В теории графов максимальное независимое множество ( MIS ) или максимальное стабильное множество — это независимое множество , которое не является подмножеством какого-либо другого независимого множества. Другими словами, нет вершины вне независимого множества, которая могла бы присоединиться к нему, поскольку оно является максимальным по отношению к свойству независимого множества.

Например, в графе P 3 , пути с тремя вершинами a , b , и c , и двумя ребрами ab и bc , множества { b } и { a , c } оба максимально независимы. Множество { a } независимо, но не является максимально независимым, потому что оно является подмножеством большего независимого множества { a , c }. В этом же графе максимальными кликами являются множества { a , b } и { b , c }.

MIS также является доминирующим множеством в графе, и каждое доминирующее множество, которое является независимым, должно быть максимально независимым, поэтому MIS также называются независимыми доминирующими множествами .

Граф P3 имеет два максимальных независимых множества. {a} или {c} по отдельности образуют независимое множество, но оно не является максимальным.
Два верхних графика P 3 — это максимальные независимые множества, а два нижних — это независимые множества, но не максимальные. Максимальное независимое множество представлено в верхнем левом углу.

Граф может иметь много MISs самых разных размеров; [a] самый большой или, возможно, несколько одинаково больших MISs графа называются максимальным независимым множеством . Графы, в которых все максимальные независимые множества имеют одинаковый размер, называются хорошо покрытыми графами .

Фраза «максимальное независимое множество» также используется для описания максимальных подмножеств независимых элементов в математических структурах, отличных от графов, и в частности в векторных пространствах и матроидах .

Независимые множества для звездного графа — пример того, насколько сильно может отличаться размер максимального независимого множества от максимального независимого множества. На этой диаграмме звездный граф S8 имеет максимальное независимое множество размера 1, выбрав внутренний узел. Он также имеет максимальное (и также максимальное независимое множество) размера 8, выбрав вместо этого каждый оставшийся узел.
Два независимых множества для звездного графа S 8 показывают, насколько сильно могут различаться по размеру два максимальных независимых множества (правое из них является максимальным).

С MIS связаны две алгоритмические проблемы : поиск одной MIS в заданном графе и перечисление всех MIS в заданном графе.

Определение

Для графа независимое множество является максимальным независимым множеством , если для выполняется одно из следующих условий: [1]

  1. где обозначает соседей

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

Обратите внимание, что ни один сосед вершины в независимом множестве не может входить в него , поскольку эти вершины не пересекаются по определению независимого множества.

Связанные наборы вершин

Если S — максимальное независимое множество в некотором графе, то это максимальная клика или максимальный полный подграф в дополнительном графе . Максимальная клика — это множество вершин, которое индуцирует полный подграф , и которое не является подмножеством вершин какого-либо большего полного подграфа. То есть, это множество S , такое, что каждая пара вершин в S соединена ребром, и каждая вершина, не входящая в S, не имеет ребра по крайней мере с одной вершиной в S. Граф может иметь много максимальных клик различных размеров; нахождение наибольшей из них является задачей максимальной клики .

Некоторые авторы включают максимальность в определение клики и называют максимальные клики просто кликами.

Слева — максимальное независимое множество. Середина — клика, , на дополнении графа. Справа — вершинное покрытие на максимальном независимом дополнении множества.

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

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

Характеристики семейства графов

Некоторые семейства графов также были охарактеризованы в терминах их максимальных клик или максимальных независимых множеств. Примерами являются неприводимые графы с максимальной кликой и наследственные неприводимые графы с максимальной кликой. Граф называется неприводимым графом с максимальной кликой , если каждая максимальная клика имеет ребро, которое не принадлежит никакой другой максимальной клике, и наследственным неприводимым графом с максимальной кликой , если то же свойство верно для каждого индуцированного подграфа. [3] Наследственные неприводимые графы с максимальной кликой включают графы без треугольников , двудольные графы и интервальные графы .

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

Ограничение количества наборов

Мун и Мозер (1965) показали, что любой граф с n вершинами имеет не более 3 n / 3 максимальных клик. Дополнительно, любой граф с n вершинами также имеет не более 3 n /3 максимальных независимых множеств. Граф с ровно 3 n /3 максимальными независимыми множествами легко построить: просто возьмите непересекающееся объединение n /3 треугольных графов . Любое максимальное независимое множество в этом графе образуется выбором одной вершины из каждого треугольника. Дополнительный граф с ровно 3 n /3 максимальными кликами является особым типом графа Турана ; из-за их связи с границей Муна и Мозера эти графы также иногда называют графами Муна-Мозера. Более строгие границы возможны, если ограничить размер максимальных независимых множеств: число максимальных независимых множеств размера k в любом графе с n вершинами не превышает

Графы, достигающие этой границы, снова являются графами Турана. [4]

Однако некоторые семейства графов могут иметь гораздо более строгие ограничения на количество максимальных независимых множеств или максимальных клик. Если все n- вершинные графы в семействе графов имеют O( n ) ребер, и если каждый подграф графа в семействе также принадлежит семейству, то каждый граф в семействе может иметь не более O( n ) максимальных клик, все из которых имеют размер O(1). [5] Например, эти условия верны для планарных графов : каждый n- вершинный планарный граф имеет не более 3 n  − 6 ребер, и подграф планарного графа всегда является планарным, из чего следует, что каждый планарный граф имеет O( n ) максимальных клик (размером не более четырех). Интервальные графы и хордовые графы также имеют не более n максимальных клик, хотя они не всегда являются разреженными графами .

Число максимальных независимых множеств в n- вершинных графах циклов задается числами Перрена , а число максимальных независимых множеств в n -вершинных графах путей задается последовательностью Падована . [6] Следовательно, оба числа пропорциональны степеням числа 1,324718, пластическому коэффициенту .

Нахождение единственного максимального независимого множества

Последовательный алгоритм

Для графа G(V,E) легко найти одну MIS, используя следующий алгоритм:

  1. Инициализируем I пустым набором.
  2. Пока V не пусто:
    • Выберите узел v∈V;
    • Добавить v к множеству I;
    • Удалим из V узел v и всех его соседей.
  3. Возвращение И.

Параллельный алгоритм случайного выбора [Алгоритм Луби]

Следующий алгоритм находит MIS за время O(log n ). [1] [7] [8]

  1. Инициализируем I пустым набором.
  2. Пока V не пусто:
    • Выбираем случайный набор вершин S ⊆ V, выбирая каждую вершину v независимо с вероятностью 1/(2d(v)), где d — степень v (количество соседей v).
    • Для каждого ребра в E, если обе его конечные точки находятся в случайном множестве S, то удаляем из S конечную точку, степень которой ниже (т.е. имеет меньше соседей). Разрывайте связи произвольно, например, используя лексикографический порядок имен вершин.
    • Добавьте множество S к I.
    • Удалим из V множество S и всех соседей узлов в S.
  3. Возвращение И.

АНАЛИЗ : Для каждого узла v разделите его соседей на младших соседей (степень которых ниже степени v) и старших соседей (степень которых выше степени v), разрывая связи, как в алгоритме.

Назовите узел v плохим , если более 2/3 его соседей являются соседями более высокого уровня. Назовите ребро плохим , если обе его конечные точки плохие; в противном случае ребро хорошее .

Худший граф, в котором среднее число шагов равно , представляет собой граф, состоящий из n /2 связанных компонентов, каждый из которых имеет 2 узла. Степень всех узлов равна 1, поэтому каждый узел выбирается с вероятностью 1/2, а с вероятностью 1/4 оба узла в компоненте не выбираются. Следовательно, число узлов уменьшается в 4 раза на каждом шаге, а ожидаемое число шагов равно .

Параллельный алгоритм со случайным приоритетом

Следующий алгоритм лучше предыдущего тем, что в каждый связанный компонент всегда добавляется по крайней мере один новый узел: [9] [8]

  1. Инициализируем I пустым набором.
  2. Пока V не пуст, каждый узел v выполняет следующие действия:
    • Выбирает случайное число r(v) в диапазоне [0,1] и отправляет его соседям;
    • Если r(v) меньше чисел всех соседей v, то v вставляет себя в I, удаляет себя из V и сообщает об этом своим соседям;
    • Если v услышал, что один из его соседей попал в I, то v удаляет себя из V.
  3. Возвращение И.

Обратите внимание, что на каждом шаге узел с наименьшим номером в каждом связанном компоненте всегда входит в I, поэтому всегда есть некоторый прогресс. В частности, в худшем случае предыдущего алгоритма ( n /2 связанных компонентов с 2 узлами в каждом) MIS будет найден за один шаг.

АНАЛИЗ :

Параллельный алгоритм случайной перестановки [Алгоритм Блеллока]

Вместо рандомизации на каждом шаге можно рандомизировать один раз, в начале алгоритма, зафиксировав случайный порядок узлов. Учитывая этот фиксированный порядок, следующий параллельный алгоритм достигает точно такой же MIS, как и алгоритм #Sequential (т.е. результат детерминирован): [10]

  1. Инициализируем I пустым набором.
  2. Пока V не пусто:
    • Пусть W — множество вершин в V, не имеющих более ранних соседей (на основе фиксированного порядка);
    • Добавьте W к I;
    • Удалим из V узлы множества W и всех их соседей.
  3. Возвращение И.

Между полностью последовательными и полностью параллельными алгоритмами существует континуум алгоритмов, которые являются частично последовательными и частично параллельными. При фиксированном порядке узлов и факторе δ∈(0,1] следующий алгоритм возвращает тот же MIS:

  1. Инициализируем I пустым набором.
  2. Пока V не пусто:
    • Выберите фактор δ∈(0,1].
    • Пусть P — набор из δ n узлов, которые являются первыми в фиксированном порядке.
    • Пусть W — МИС на P, использующая полностью параллельный алгоритм.
    • Добавьте W к I;
    • Удалим из V все узлы в префиксе P и всех соседей узлов в наборе W.
  3. Возвращение И.

Установка δ=1/ n дает полностью последовательный алгоритм; установка δ=1 дает полностью параллельный алгоритм.

АНАЛИЗ : При правильном выборе параметра δ в частично параллельном алгоритме можно гарантировать, что он завершится после не более чем log(n) вызовов полностью параллельного алгоритма, а количество шагов в каждом вызове не более log(n). Следовательно, общее время выполнения частично параллельного алгоритма составляет . Следовательно, время выполнения полностью параллельного алгоритма также не более . Основные этапы доказательства:

Перечисление всех максимальных независимых множеств

Алгоритм для перечисления всех максимальных независимых множеств или максимальных клик в графе может быть использован в качестве подпрограммы для решения многих NP-полных задач графа. Наиболее очевидно, что решения задачи максимального независимого множества, задачи максимальной клики и задачи минимального независимого доминирования должны быть максимальными независимыми множествами или максимальными кликами и могут быть найдены с помощью алгоритма, который перечисляет все максимальные независимые множества или максимальные клики и сохраняет те, которые имеют наибольший или наименьший размер. Аналогично, минимальное вершинное покрытие может быть найдено как дополнение одного из максимальных независимых множеств. Лоулер (1976) заметил, что перечисление максимальных независимых множеств также может быть использовано для поиска 3-раскрасок графов: граф может быть 3-раскрашен тогда и только тогда, когда дополнение одного из его максимальных независимых множеств является двудольным . Он использовал этот подход не только для 3-раскраски, но и как часть более общего алгоритма раскраски графа, и с тех пор аналогичные подходы к раскраске графа были усовершенствованы другими авторами. [11] Другие более сложные проблемы также могут быть смоделированы как поиск клики или независимого множества определенного типа. Это мотивирует алгоритмическую задачу эффективного перечисления всех максимальных независимых множеств (или, что эквивалентно, всех максимальных клик).

Легко превратить доказательство ограничения Муна и Мозера 3 n /3 для числа максимальных независимых множеств в алгоритм, который перечисляет все такие множества за время O(3 n /3 ). [12] Для графов, которые имеют наибольшее возможное число максимальных независимых множеств, этот алгоритм занимает постоянное время на выходной набор. Однако алгоритм с таким ограничением времени может быть крайне неэффективным для графов с более ограниченным числом независимых множеств. По этой причине многие исследователи изучали алгоритмы, которые перечисляют все максимальные независимые множества за полиномиальное время на выходной набор. [13] Время на максимальный независимый набор пропорционально времени для умножения матриц в плотных графах или быстрее в различных классах разреженных графов. [14]

Подсчет максимальных независимых множеств

Проблема подсчета, связанная с максимальными независимыми множествами, была исследована в теории вычислительной сложности . Задача спрашивает, сколько максимальных независимых множеств содержит неориентированный граф. Эта задача является #P -трудной уже тогда, когда входные данные ограничены двудольным графом . [15]

Однако эта проблема разрешима на некоторых конкретных классах графов, например, на кографах . [16]

Распараллеливание поиска максимальных независимых множеств

История

Первоначально считалось, что задача максимального независимого множества нетривиальна для параллелизации из-за того, что лексикографическое максимальное независимое множество оказалось P-полным ; однако было показано, что детерминированное параллельное решение может быть получено путем сведения либо из задачи упаковки максимального множества , либо из задачи максимального соответствия , либо путем сведения из задачи 2-выполнимости . [17] [18] Как правило, структура приведенного алгоритма следует другим параллельным графовым алгоритмам — то есть они подразделяют граф на более мелкие локальные задачи, которые решаются параллельно путем запуска идентичного алгоритма.

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

Класс сложности

В 1984 году Карп и др. показали, что детерминированное параллельное решение на PRAM для максимального независимого множества принадлежит зоопарку сложности класса Ника . [19] То есть их алгоритм находит максимальное независимое множество в , используя , где — размер множества вершин. В той же статье также было предоставлено рандомизированное параллельное решение со временем выполнения с использованием процессоров. Вскоре после этого Люби и Алон и др. независимо улучшили этот результат, перенеся задачу максимального независимого множества в область со временем выполнения с использованием процессоров, где — количество ребер в графе. [18] [7] [20] Чтобы показать, что их алгоритм находится в , они изначально представили рандомизированный алгоритм, который использует процессоры, но может быть дерандомизирован с помощью дополнительных процессоров. Сегодня остается открытым вопрос о том, находится ли задача максимального независимого множества в .

Связь и обмен данными

Распределенные алгоритмы максимального независимого множества находятся под сильным влиянием алгоритмов на модели PRAM. Оригинальная работа Luby и Alon et al. привела к нескольким распределенным алгоритмам. [21] [22] [23] [20] С точки зрения обмена битами эти алгоритмы имели нижнюю границу размера сообщения на раунд битов и требовали дополнительных характеристик графа. Например, размер графа должен быть известен или максимальная степень соседних вершин для заданной вершины могла быть запрошена. В 2010 году Métivier et al. уменьшили требуемый размер сообщения на раунд до , что является оптимальным и устраняет необходимость в каких-либо дополнительных знаниях графа. [24]

Сноски

  1. ^ Эрдёш (1966) показывает, что число различных размеров МИС в графе с n вершинами может достигать n – log n – O (log log n ) и никогда не превышает n – log n .

Примечания

  1. ^ ab Алгоритм Луби, в: Заметки лекций по рандомизированным алгоритмам, последнее обновление Эрика Вигоды 2 февраля 2006 г.
  2. ^ Вайгт и Хартманн (2001).
  3. ^ Информационная система по включениям классов графов: максимальные кликовые неприводимые графы. Архивировано 09.07.2007 на Wayback Machine и наследственные максимальные кликовые неприводимые графы. Архивировано 08.07.2007 на Wayback Machine .
  4. ^ Бысков (2003). Для более ранних результатов см. Croitoru (1979) и Eppstein (2003).
  5. ^ Чиба и Нишизеки (1985). Чиба и Нишизеки выражают условие наличия O( n ) ребер эквивалентно, в терминах древовидности графов в семействе, которая является постоянной.
  6. ^ Бисдорф и Маричал (2008); Эйлер (2005); Фюреди (1987).
  7. ^ ab Luby, M. (1986). «Простой параллельный алгоритм для задачи максимального независимого множества». SIAM Journal on Computing . 15 (4): 1036–1053. CiteSeerX  10.1.1.225.5475 . doi :10.1137/0215074.
  8. ^ abc "Принципы распределенных вычислений (лекция 7)" (PDF) . ETH Zurich. Архивировано из оригинала (PDF) 21 февраля 2015 г. Получено 21 февраля 2015 г.
  9. ^ Métivier, Y.; Robson, JM; Saheb-Djahromi, N.; Zemmari, A. (2010). «Оптимальный битовый алгоритм рандомизированной распределенной MIS». Distributed Computing . 23 (5–6): 331. doi :10.1007/s00446-010-0121-5. S2CID  36720853.
  10. ^ Блеллок, Гай; Файнман, Джереми; Шун, Джулиан (2012). «Жадный последовательный максимальный независимый набор и сопоставление в среднем параллельны». arXiv : 1202.3205 [cs.DS].
  11. ^ Эппштейн (2003); Бысков (2003).
  12. ^ Эппштейн (2003). Для оценки соответствия широко используемому алгоритму Брона–Кербоша см. Томита, Танака и Такахаши (2006).
  13. ^ Бомзе и др. (1999); Эппштейн (2005); Дженнингс и Мотыцкова (1992); Джонсон, Яннакакис и Пападимитриу (1988); Лоулер, Ленстра и Риннуй Кан (1980); Лян, Дхалл и Лакшмиварахан (1991); Макино и Уно (2004); Мишра и Питт (1997); Стикс (2004); Цукияма и др. (1977); Ю и Чен (1993).
  14. ^ Макино и Уно (2004); Эппштейн (2005).
  15. ^ Прован, Дж. Скотт; Болл, Майкл О. (ноябрь 1983 г.). «Сложность подсчета разрезов и вычисления вероятности связности графа». Журнал SIAM по вычислениям . 12 (4): 777–788. doi :10.1137/0212053. ISSN  0097-5397.
  16. ^ Корнейл, Д. Г.; Лерчс, Х.; Берлингхэм, Л. Стюарт (1981-07-01). «Дополнительные сводимые графы». Дискретная прикладная математика . 3 (3): 163–174. doi :10.1016/0166-218X(81)90013-5. ISSN  0166-218X.
  17. Кук, Стивен (июнь 1983 г.). «Обзор вычислительной сложности». Commun. ACM . 26 (6): 400–408. doi : 10.1145/358141.358144 . S2CID  14323396.
  18. ^ ab Barba, Luis (октябрь 2012 г.). "ОБЗОР ЛИТЕРАТУРЫ: Параллельные алгоритмы для задачи максимального независимого множества в графах" (PDF) .
  19. ^ Карп, Р. М.; Вигдерсон, А. (1984). «Быстрый параллельный алгоритм для задачи максимального независимого множества». Труды 16-го симпозиума ACM по теории вычислений .
  20. ^ ab Алон, Нога; Ласло, Бабай; Алон, Итай (1986). «Быстрый и простой рандомизированный параллельный алгоритм для задачи максимального независимого множества». Журнал алгоритмов . 7 (4): 567–583. doi :10.1016/0196-6774(86)90019-2.
  21. ^ Пелег, Дэвид (2000). Распределенные вычисления: подход, чувствительный к локальности . doi : 10.1137/1.9780898719772. ISBN 978-0-89871-464-7.
  22. ^ Линч, NA (1996). «Распределенные алгоритмы». Морган Кауфманн .
  23. ^ Ваттенхофер, Р. «Глава 4: Максимальное независимое множество» (PDF) .
  24. ^ Метивье, И.; Робсон, Дж. М.; Сахеб-Джахроми, Н.; Земмари, А. (2010). «Распределенный алгоритм MIS с оптимальной битовой сложностью с рандомизацией». Распределенные вычисления .

Ссылки