Визуализация графов: нижние оценки и np-трудность
TRANSCRIPT
![Page 1: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/1.jpg)
Визуализация графов
Computer Science клуб, март 2014
Александр Дайняк, ФИВТ МФТИ
www.dainiak.com
![Page 2: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/2.jpg)
Рассказ будет по гл. 11 из этой книги:
![Page 3: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/3.jpg)
Трудноукладываемый граф
![Page 4: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/4.jpg)
Прямолинейные упорядоченные укладки
![Page 5: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/5.jpg)
![Page 6: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/6.jpg)
![Page 7: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/7.jpg)
![Page 8: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/8.jpg)
Оцениваем площади
![Page 9: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/9.jpg)
Оцениваем площади
![Page 10: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/10.jpg)
Оцениваем площади
![Page 11: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/11.jpg)
Планарные графы
![Page 12: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/12.jpg)
Число скрещиваний (crossing number)
![Page 13: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/13.jpg)
Лемма о видах скрещиваний
![Page 14: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/14.jpg)
Лемма о видах скрещиваний
![Page 15: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/15.jpg)
Лемма о видах скрещиваний
![Page 16: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/16.jpg)
Число скрещиваний
![Page 17: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/17.jpg)
Число скрещиваний
![Page 18: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/18.jpg)
Число скрещиваний
![Page 19: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/19.jpg)
Д-во теоремы о числе скрещиваний
![Page 20: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/20.jpg)
Д-во теоремы о числе скрещиваний
![Page 21: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/21.jpg)
Плоская единичная укладка
![Page 22: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/22.jpg)
Задача Not-All-Equal-SAT
![Page 23: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/23.jpg)
Задача Not-All-Equal-SAT
![Page 24: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/24.jpg)
Сведение SAT к NAE-SAT
![Page 25: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/25.jpg)
Логическая машина (Logic Engine)
вращающиеся независимые звеньяфлажки
вращающиеся независимые рамы
не
по
дви
жн
ая р
ама
неподвижная ось
• Если флажки на соседних рамах поворачиваются друг к другу, они сталкиваются.
• Задача «о логической машине»: существует ли такое положение машины, при котором флажки не сталкиваются?
![Page 26: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/26.jpg)
Сведение NAE-SAT к Logic Engine
вращающиеся независимые звеньяфлажки
• Каждая рама, кроме внешней и внутренней, соответствует переменной.
• Положение рамы — значение переменной True/False.
• На внешней и внутренней раме везде устанавливаем флажки.
• Каждая линия звеньев соответствует скобке NAE-SAT.
![Page 27: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/27.jpg)
Сведение NAESAT к Logic Engine
FALS
E
вн
утр
енн
яя р
ама
TRU
E
внеш
няя
рам
а
12
33
21
![Page 28: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/28.jpg)
Сведение NAESAT к Logic Engine
FALS
E
вн
утр
енн
яя р
ама
TRU
E
внеш
няя
рам
а
12
33
21
![Page 29: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/29.jpg)
Сведение Logic Engine к ULPGD
Естественная идея: нужен «жёсткий граф».
Жёсткий кусок, допускающий единственную единичную укладку, и этот же кусок с флагом.
![Page 30: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/30.jpg)
Граф, моделирующий Logic Engine
![Page 31: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/31.jpg)
Ещѐ NP-трудные задачи
![Page 32: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/32.jpg)
Планарная версия задачи SAT
Planar 3-SAT:
• Вход: набор скобок, по 3 литерала разных переменных в каждой. Граф соответствий скобок/литералов планарен (паре противоположных литералов отвечает пара смежных вершин)
• Вопрос: можно ли так присвоить значения литералам, чтобы в каждой скобке оказался хотя бы один истинный литерал?
Задача NP-трудна (D. Lichtenstein ’1981).
![Page 33: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/33.jpg)
Сведение 3-SAT к Planar 3-SAT
Для удобства сначала рассмотрим Weak Planar 2-3-SAT:
• В скобках может быть 2 или 3 литерала.
• Каждой переменной соответствует не две, а одна вершина.
![Page 34: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/34.jpg)
Переход от 3-КНФ к «слабопланарной» 2-3-КНФ
Пусть задана произвольная 3-КНФ.
Уложим её в два слоя, невзирая на скрещивания:
Дальше поднимаемся по каждому ребру снизу вверх и устраняем скрещивания…
![Page 35: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/35.jpg)
![Page 36: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/36.jpg)
Фрагмент, устраняющий скрещивание
![Page 37: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/37.jpg)
Борьба с единичным скрещиванием
Ниже черты эта пара рёбер не участвует ни в каких скрещиваниях
![Page 38: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/38.jpg)
Переход от слабопланарной к планарной КНФ
Берём укладку графа, в котором литералы одной переменной склеены.
Нужно построить граф,в котором противоположным литералам отвечают смежные вершины.
При этом КНФ можно менять на эквивалентную.
![Page 39: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/39.jpg)
Переход от переменных к литералам
?
Если каждую вершину просто
«расщепить», то может
исчезнуть планарность.
Выход: введение
дополнительных переменных.
![Page 40: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/40.jpg)
Переход от переменных к литералам
![Page 41: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/41.jpg)
Переход от переменных к литералам
![Page 42: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/42.jpg)
Переход от 2-3-КНФ к 3-КНФ
![Page 43: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/43.jpg)
О планарных версиях SAT
Positive Planar 1-in-3-SAT:
• Вход: набор скобок, по 3 литерала без отрицаний в каждой. Граф соответствий скобок/литералов планарен.
• Вопрос: можно ли так присвоить значения литералам, чтобы в каждой скобке оказался ровно один истинный литерал?
Задача NP-трудна (W. Mulzer, G. Rote ’2006).
![Page 44: Визуализация графов: нижние оценки и NP-трудность](https://reader031.vdocuments.site/reader031/viewer/2022020105/559bbbec1a28aba21a8b46bd/html5/thumbnails/44.jpg)
О планарных версиях SAT
Planar NAE-SAT:
• Вход: набор скобок. Граф соответствий скобок/литералов планарен (паре противоположных литералов отвечает пара смежных вершин).
• Вопрос: можно ли так присвоить значения литералам, чтобы в каждой скобке не все литералы были равны?
Задача полиномиально разрешима (B.M.E. Moret ’1988).