Гиперграфы. Покрытия. Жадный алгоритм
TRANSCRIPT
![Page 2: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/2.jpg)
Гиперграфы
Гипеграф — это пара , где• — конечное множество вершин,• — набор непустых подмножеств — (гипер-)рёбра.
Т.е. гиперграф в общем случае — это просто набор/семейство/совокупность непустых подмножеств конечного множества.
![Page 3: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/3.jpg)
Гиперграфы
Гиперграф -однородный, если .Так что граф — это -однородный гиперграф.
Пример -однородного гиперграфа:
![Page 4: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/4.jpg)
Аналоги теоретико-графовых понятийПолный гиперграф — тот, в котором есть все возможные (в данном контексте) рёбра.
Например, полный -однородный гиперграф — тот, в котором
Независимое множество — это такое , что .
Правильная вершинная раскраска — такая, при которой совокупности вершин одного цвета образуют независимые множества.
![Page 5: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/5.jpg)
Аналоги теоретико-графовых понятийЦепь в гиперграфе — это последовательность вершин и рёбер
такая, что• ,• все различны,• все различны (не как множества, а как элементы ).
Цикл определяется аналогично, с той разницей, что и совпадают.
![Page 6: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/6.jpg)
Аналоги теоретико-графовых понятийПодгиперграф гиперграфа , порождённый множеством вершин — это пара , где
12
34
5
12
4
1,2,4
3,4 34
![Page 7: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/7.jpg)
Аналоги теоретико-графовых понятийОбласть связности гиперграфа — это такое множество , что • найдётся цепь из в ,• к нельзя добавить ни одной вершины, так, чтобы предыдущее
свойство сохранилось.Компонента связности — это подгиперграф, порождённый областью связности.
![Page 8: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/8.jpg)
Матрица инцидентности
Матрица инцидентности гиперграфа — это матрица , где
Пример:
(1 0 1 00 1 1 01 1 0 11 1 0 10 0 1 1
)12
34
5
![Page 9: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/9.jpg)
Покрытия
Если вершина гиперграфа входит в ребро , то говорим, что покрывает или протыкает .
Вершинное покрытие гиперграфа — это такое множество вершин , что
Вершинное покрытие называется ещё
• протыкающим множеством,
• трансверсалью,
• системой общих представителей (с.о.п.)
для семейства множеств .
![Page 10: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/10.jpg)
Покрытия в терминах матриц
На языке матриц инцидентности, строка покрывает/протыкает столбец, если у них на пересечении стоит .
Покрытие матрицы — это такое подмножество строк, что каждый столбец покрывается одной из этих строк.
Пример:
(1 0 1 00 1 1 01 1 0 11 1 0 10 0 1 1
)12
34
5
![Page 11: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/11.jpg)
Покрытия в терминах матриц
Число трансверсальности гиперграфа — это минимальный размер покрытия.
Формально, если , то
Будем также писать .
Аналогично, для любой булевой матрицы без нулевых столбцов через будем обозначать мощность минимального покрытия (называемую также глубиной матрицы).
![Page 12: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/12.jpg)
Системы общих представителей
Пример прикладной задачи.
Есть набор экспертов . Каждый эксперт, может быть, разбирается не только в одной области.
Пусть — множества экспертов, разбирающихся в -й, …, -й области знания.
Как набрать команду экспертов для решения задачи, требующей владения всеми указанными областями знания?
![Page 13: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/13.jpg)
Жадный алгоритм построения с.о.п.Для гиперграфа рассмотрим алгоритм:
1.
2.
3. if :
4.
5.
6. goto 2.
7. — искомая с.о.п.
То есть на каждом шаге добавляем в любую из вершин, покрывающих наибольшее число из ещё не покрытых рёбер.
![Page 14: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/14.jpg)
Жадный алгоритм построения покрытия матрицыДля матрицы рассмотрим алгоритм:
1.
2.
3. if :
4.
5.
6. goto 2.
7. — искомое покрытие матрицы
То есть на каждом шаге добавляем в любую из строк, покрывающих наибольшее число из ещё не покрытых столбцов.
![Page 15: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/15.jpg)
Теорема о мощности жадного покрытияТеорема.Пусть в каждом столбце матрицы не менее единиц, и при этом .
Тогда мощность покрытия, построенного ж.а.,
Следствие.Для таких матриц .
![Page 16: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/16.jpg)
Доказательство теоремы о мощности жадного покрытияПусть уже сделано шагов алгоритма, в результате чего и остаются непокрытыми столбцов, где .
Рассмотрим матрицу , образованную строками из и непокрытыми столбцами.
Имеем .
В каждом столбце не менее единиц, а значит, всего в не менее единиц.
Значит, в есть строка, в которой единиц.
![Page 17: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/17.jpg)
Доказательство теоремы о мощности жадного покрытияПусть уже сделано шагов алгоритма, в результате чего и остаются непокрытыми столбцов, где .
Есть строка, в которой единиц.
Следовательно, ж.а. выберет строку, покрывающую не менее новых столбцов.
После -го шага непокрытыми останутся
столбцов, то есть
![Page 18: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/18.jpg)
Доказательство теоремы о мощности жадного покрытияПусть после шагов алгоритма остаются непокрытыми столбцов.
Имеем и .
Отсюда .
Пусть ж.а. выполнил шагов.
Имеем
![Page 19: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/19.jpg)
Доказательство теоремы о мощности жадного покрытияПосле шагов,с учётом неравенства , имеем
После -го шага остаются непокрытыми
столбцов. Даже если на покрытие каждого из них потребуется по одному шагу, общее число шагов алгоритма будет
![Page 20: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/20.jpg)
Труднопокрываемые матрицы
Теорема о мощности «жадного» покрытия.Пусть в каждом столбце матрицы не менее единиц, и при этом . Тогда у мощность «жадного» покрытия .
Теорема о существовании «труднопокрываемых» матриц (явная конструкция).Пусть таковы, что .
Тогда найдётся матрица , каждый столбец которой содержит единиц, и мощность минимального покрытия которой .
![Page 21: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/21.jpg)
Построение труднопокрываемой матрицыРассмотрим матрицу , состоящую из всех столбцов высоты , в каждом из которых ровно единиц.
Имеем .
Положим
Получаем , в каждом столбце ровно единиц.
![Page 22: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/22.jpg)
Построение труднопокрываемой матрицыДля матрицы имеем
Рассмотрим матрицу
Имеем , и в каждом столбце ровно единиц.
![Page 23: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/23.jpg)
Построение труднопокрываемой матрицыИтак, для любых существует матрица , в каждом столбце которой единиц, и для которой .
По условию, .
Пусть , и . Тогда в
![Page 24: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/24.jpg)
Построение труднопокрываемой матрицыИтак, при найдётся матрица , такая, что
• ,
Дополним нулевыми строками, а затем единичными столбцами, до матрицы размера .
В каждом столбце полученной матрицы не менее единиц,и , что и требовалось.
![Page 25: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/25.jpg)
Соотношение мощностей жадного и оптимального покрытийТеорема (без д-ва).Пусть — произвольная матрица, в каждой строке которой не более единиц. Тогда покрытие, построенное ж.а., имеет размер не более .
Теорема (без д-ва).Для любого существует матрица , в каждой строке которой не более единиц, а покрытие, построенное для с помощью ж.а., имеет размер не менее .
![Page 26: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/26.jpg)
Перманент
Перманент матрицы — это функционал, определяемый так:
Отличие от только в отсутствии знака перед слагаемыми.
Значение не меняется при перестановке строк и/или столбцов в .
![Page 27: Гиперграфы. Покрытия. Жадный алгоритм](https://reader035.vdocuments.net/reader035/viewer/2022062300/5583fba7d8b42af00a8b45e5/html5/thumbnails/27.jpg)
Разложение по строке/столбцу
Пусть — матрица, получаемая из удалением элементов -й строки и -го столбца.
Тогда для любых выполнено