Скажите, пожалуйста, можно ли еще получить документ о прохождении курса ("Графы и алгоритмы", декабрь 2020) после предоставления всех дополнительных необходимых документов? |
Лекция 9: Независимые множества, клики, вершинные покрытия.
Будем теперь рассматривать множества из одно за другим и пусть - очередное такое множество. Положим . Если не является максимальным независимым множеством графа , то переходим к следующему элементу списка . Если же - максимальное независимое множество в , то рассматриваем множество . Если оно является лексикографически первым среди максимальных независимых множеств подграфа, порожденного множеством , то включаем в список .
Выберем в графе произвольную вершину и пусть - множество всех вершин графа, смежных с (окрестность вершины ), - множество всех вершин, не смежных с и отличных от . Обозначим через подграф, получающийся удалением из графа вершины , а через подграф, получающийся удалением из всех вершин множества . Иначе говоря, - подграф графа , порожденный множеством , а - подграф, порожденный множеством .
Допустим, что имеется список всех максимальных независимых множеств графа . На основании вышеизложенного можно предложить следующую процедуру получения списка всех максимальных независимых множеств графа .
- Взять очередной элемент списка .
- Если , то добавить к списку множество и перейти к 1, иначе добавить к списку множество .
- Если множество не является максимальным независимым множеством в графе , то перейти к 1.
- Если множество является лексикографически первым максимальным независимым множеством подграфа, порожденного множеством , то добавить к списку множество .
- Если список не исчерпан, перейти к 1.
Начиная с одновершинного графа (у которого список максимальных независимых множеств состоит из одного элемента), добавляя последовательно по одной вершине, получаем последовательность графов . Применяя для каждого описанный алгоритм для построения списка всех максимальных независимых множеств графа по такому списку для графа , в конце концов получим список всех максимальных независимых множеств графа . По сути дела, этот алгоритм представляет собой поиск в ширину в дереве вариантов. Для того чтобы не хранить все получающиеся списки, его можно преобразовать в поиск в глубину. Заметим, что приведенная процедура для каждого максимального независимого множества графа находит одно или два максимальных независимых множества графа . Одно из этих новых множеств рассматривается на следующем шаге, другое, если оно есть, запоминается в стеке.
Изложенный алгоритм можно применить для поиска наибольших независимых множеств в графах, про которые известно, что в них мало максимальных независимых множеств. Одним из классов графов с таким свойством является класс всех графов, не содержащих в качестве порожденного подграфа. Известно, что в графе с ребрами из этого класса число максимальных независимых множеств не превосходит .