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

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

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

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

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

A P3 graph has two maximal independent sets. {a} or {c} alone forms an independent set, but it is not maximal.
Две верхние Графы - это максимальные независимые множества, а два нижних - независимые, но не максимальные. Максимальный независимый набор представлен в верхнем левом углу.

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

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

Independent sets for a star graph is an example of how vastly different the size of the maximal independent set can be to the maximum independent set. In this diagram, the star graph S8 has a maximal independent set of size 1 by selecting the internal node. It also has an maximal (and also maximum independent set) of size 8 by selecting each leave node instead.
Два независимых набора для звездный график покажите, насколько сильно могут быть разные по размеру два максимальных независимых множества (правый - максимум).

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

Определение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Учитывая График G (V, E), легко найти одну ИСУ, используя следующий алгоритм:

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

Время выполнения - O (м), поскольку в худшем случае мы должны проверить все ребра.

O (m), очевидно, является наилучшим временем выполнения для последовательного алгоритма. Но параллельный алгоритм может решить проблему намного быстрее.

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

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

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

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

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

  • По крайней мере 1/2 всех краев всегда хороши. ДОКАЗАТЕЛЬСТВО: Постройте направленную версию G, направляя каждое ребро к узлу с более высокой степенью (разрывая связи произвольно). Таким образом, для каждого плохого узла количество исходящих ребер более чем в 2 раза превышает количество входящих ребер. Таким образом, каждое плохое ребро, которое входит в узел v, может быть сопоставлено с отдельным набором из двух ребер, которые выходят из узла v. Следовательно, общее количество ребер как минимум в 2 раза превышает количество плохих ребер.
  • Для каждого хорошего узла u вероятность того, что сосед u будет выбран для S, является по крайней мере некоторой положительной константой. ДОКАЗАТЕЛЬСТВО: вероятность того, что для S не выбран ни один из соседей u, не превышает вероятности того, что ни один из u не нижние соседи выбрано. Для каждого младшего соседа v вероятность того, что он не будет выбран, составляет (1-1 / 2d (v)), что не превышает (1-1 / 2d (u)) (поскольку d (u)> d (v )). Число таких соседей не меньше d (u) / 3, так как u хороший. Следовательно, вероятность того, что не будет выбран ни один младший сосед, не превышает 1-exp (-1/6).
  • Для каждого узла u, который выбран для S, вероятность того, что u будет удалена из S, не превышает 1/2. ДОКАЗАТЕЛЬСТВО: Эта вероятность является не более чем вероятностью того, что старший сосед u выбран для S. Для каждого старшего соседа v вероятность того, что он выбран, составляет не более 1 / 2d (v), что не более 1 / 2d (u) (поскольку d (v)> d (u)). По объединению вероятность того, что не будет выбран ни один из старших соседей, не превосходит d (u) / 2d (u) = 1/2.
  • Следовательно, для каждого хорошего узла u вероятность того, что сосед u будет выбран для S и останется в S, является некоторой положительной константой. Следовательно, вероятность того, что u удаляется на каждом шаге, является как минимум положительной константой.
  • Следовательно, для каждого хорошего ребра e вероятность того, что e удаляется на каждом шаге, является как минимум положительной константой. Таким образом, на каждом шаге количество хороших ребер уменьшается по крайней мере на постоянный коэффициент.
  • Поскольку по крайней мере половина ребер в порядке, общее количество ребер также уменьшается на постоянный коэффициент на каждом шаге.
  • Следовательно, количество шагов равно O (log м), куда м количество ребер. Это ограничено .

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

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

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

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

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

АНАЛИЗ:

  • Узел имеет вероятность не менее быть удаленным. ДОКАЗАТЕЛЬСТВО: для каждого ребра, соединяющего пару узлов , замените его двумя направленными ребрами, одним из и другие . Заметь теперь вдвое больше. Для каждой пары направленных ребер , определите два события: и , заблаговременно удаляет и заблаговременно удаляет , соответственно. Событие происходит когда и , куда является соседом и сосед . Напомним, что каждому узлу дается случайное число из того же диапазона [0, 1]. В простом примере с двумя непересекающимися узлами каждый имеет вероятность быть самым маленьким. Если есть три непересекающихся узла, каждый имеет вероятность быть самым маленьким. В случае , имеет вероятность не менее быть самым маленьким, потому что возможно, что сосед также является соседом , поэтому узел становится двойным. Используя ту же логику, событие также имеет вероятность не менее быть удаленным.
  • Когда события и происходят, они удаляют и направленные исходящие ребра соответственно. ДОКАЗАТЕЛЬСТВО: В случае , когда удаляется, все соседние узлы также удаляются. Количество исходящих направленных ребер из удалено . По той же логике, удаляет направленные исходящие края.
  • Ожидается, что на каждой итерации шага 2 удаляется половина ребер. ДОКАЗАТЕЛЬСТВО: Если событие происходит тогда все соседи удалены; следовательно, ожидаемое количество ребер, удаленных из-за этого события, не менее . То же верно и для обратного события. , т.е. ожидаемое количество удаленных ребер не менее . Следовательно, для каждого неориентированного ребра , ожидаемое количество ребер, удаленных из-за того, что один из этих узлов имеет наименьшее значение, равно . Суммируя по всем краям, , дает ожидаемое количество ребра удаляются на каждом шаге, но каждое ребро считается дважды (по одному разу на направление), что дает края убираются в ожидании каждого шага.
  • Следовательно, ожидаемое время работы алгоритма равно который .[9]

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

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

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

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

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

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

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

  • Если на шаге я, мы выбираем , куда D - максимальная степень узла в графе, то WHP все узлы, оставшиеся после шага я иметь высшее образование . Таким образом, после журнала (D) шагов, все остальные узлы имеют степень 0 (так как D<п), и их можно удалить за один шаг.
  • Если на любом этапе степень каждого узла не превышает d, и мы выбираем (для любой постоянной C), тогда WHP самый длинный путь в ориентированном графе, определяемый фиксированным порядком, имеет длину . Следовательно, полностью параллельный алгоритм занимает не более шагов (так как самый длинный путь - это наихудший предел количества шагов в этом алгоритме).
  • Объединение этих двух фактов дает, что, если мы выберем , то WHP время выполнения частично параллельного алгоритма равно .

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

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

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

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

История

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

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

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

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

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

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

Примечания

  1. ^ Эрдёш (1966) показывает, что количество МИС разного размера в п-вершинный граф может достигать п - бревно п - O (журнал журнал п) и никогда не превышает п - бревно п.
  2. ^ а б Алгоритм Луби, в: Конспект лекций по рандомизированным алгоритмам, последнее обновление Эриком Вигода 2 февраля 2006 г.
  3. ^ Вейгт и Хартманн (2001).
  4. ^ Информационная система по включению классов графов: максимальные кликовые неприводимые графы В архиве 2007-07-09 в Wayback Machine и наследственные максимальные неприводимые клики графы В архиве 2007-07-08 на Wayback Machine.
  5. ^ Бысков (2003). Для более ранних результатов см. Кроитору (1979) и Эппштейн (2003).
  6. ^ Чиба и Нишизеки (1985). Чиба и Нишизеки выражают условие наличия O (п) ребер эквивалентно, в терминах родословие графиков в семье постоянны.
  7. ^ Бисдорф и Маричал (2007); Эйлер (2005); Фюреди (1987).
  8. ^ а б Луби, М. (1986). «Простой параллельный алгоритм для задачи о максимальном независимом множестве». SIAM Журнал по вычислениям. 15 (4): 1036–1053. CiteSeerX  10.1.1.225.5475. Дои:10.1137/0215074.
  9. ^ а б c «Принципы распределенных вычислений (лекция 7)» (PDF). ETH Zurich. Архивировано из оригинал (PDF) 21 февраля 2015 г.. Получено 21 февраля 2015.
  10. ^ Métivier, Y .; Робсон, Дж. М .; Saheb-Djahromi, N .; Земмари, А. (2010). «Рандомизированный распределенный алгоритм MIS оптимальной битовой сложности». Распределенных вычислений. 23 (5–6): 331. Дои:10.1007 / s00446-010-0121-5. S2CID  36720853.
  11. ^ Блеллох, Гай; Fineman, Джереми; Шун, Джулиан (2012). «Жадный последовательный максимальный независимый набор и сопоставление в среднем параллельны». arXiv:1202.3205 [cs.DS ].
  12. ^ Эппштейн (2003); Бысков (2003).
  13. ^ Эппштейн (2003). Для оценки соответствия для широко используемых Алгоритм Брона – Кербоша, видеть Томита, Танака и Такахаши (2006).
  14. ^ Bomze et al. (1999); Эппштейн (2005); Дженнингс и Мотицкова (1992); Джонсон, Яннакакис и Пападимитриу (1988); Лоулер, Ленстра и Риннуй Кан (1980); Лян, Дхалл и Лакшмиварахан (1991); Макино и Уно (2004); Мишра и Питт (1997); Стикс (2004); Цукияма и др. (1977); Ю и Чен (1993).
  15. ^ Макино и Уно (2004); Эппштейн (2005).
  16. ^ Кук, Стивен (июнь 1983 г.). «Обзор вычислительной сложности» (PDF). Commun. ACM. 26 (6): 400–408. Дои:10.1145/358141.358144. S2CID  14323396. Архивировано из оригинал (PDF) на 2016-03-04.
  17. ^ а б Барба, Луис (октябрь 2012 г.). «ОБЗОР ЛИТЕРАТУРЫ: Параллельные алгоритмы решения задачи о максимальном независимом множестве в графах» (PDF).
  18. ^ Karp, R.M .; Вигдерсон, А. (1984). «Быстрый параллельный алгоритм для задачи максимального независимого множества». Proc. 16-й симпозиум ACM по теории вычислений.
  19. ^ а б Алон, Нога; Ласло, Бабай; Алон, Итаи (1986). «Быстрый и простой рандомизированный параллельный алгоритм для задачи максимального независимого множества». Журнал алгоритмов. 7 (4): 567–583. Дои:10.1016/0196-6774(86)90019-2.
  20. ^ Пелег, Дэвид (2000). Распределенные вычисления: подход, учитывающий особенности местности. Дои:10.1137/1.9780898719772. ISBN  978-0-89871-464-7.
  21. ^ Линч, Н.А. (1996). «Распределенные алгоритмы». Морган Кауфманн.
  22. ^ Ваттенхофер, Р. «Глава 4: Максимальный независимый набор» (PDF).
  23. ^ Métivier, Y .; Робсон, Дж. М .; Saheb-Djahromi, N .; Земмари, А. (2010). «Рандомизированный распределенный алгоритм MIS оптимальной битовой сложности». Распределенных вычислений.

Рекомендации