Задача о картинной галерее

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

Двумерное пространство 

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

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

Теорема Хватала о картинной галерее 
Теорема Хватала о картинной галерее (канадского математика, родившегося в Праге, Вацлава Хватала), даёт верхнюю границу минимального числа охранников. Теорема утверждает, что  охранников всегда достаточно, а иногда и необходимо, чтобы охранять простой многоугольник с  вершинами.

Вопрос о количестве вершин/охранников поставил для Хватала в 1973 Виктор Кли. Хватал вскоре после этого доказал теорему. Доказательство Хватала позднее упростил Стив Фиск, используя раскраску в 3 цвета (Фиск был профессором математики в Боудин-колледже).

Короткое доказательство Фиска 

Доказательство Стива Фиска настолько коротко и элегантно, что приведено в книге «Доказательства из Книги».

Доказательство:

Триангулируем многоугольник без добавления вершин.

Заметим, что вершины получившегося триангуляционного графа можно раскрасить в три цвета так что каждый треугольник имеет вершины всех трёх цветов.
Действительно двойственный граф триангуляции, имеющий по одной вершине для каждого треугольника и по одному ребру для каждой пары смежных треугольников является деревом.
Поскольку любой цикл в двойственном графе образовал бы дыру внутри многоугольника, что противоречит условию отсутствия дыр (по условию многоугольник простой).
Если в триангуляции существует более одного треугольника, двойственный граф (как и всякое дерево) должен иметь вершину, у которой всего один сосед, что соответствует треугольнику, смежному лишь одному другому треугольнику.
Многоугольник с меньшим числом треугольников, полученный путём удаления этого крайнего треугольника, имеет раскраску в три цвета (используем математическую индукцию), так что раскраску легко распространить и на дополнительную вершину удалённого треугольника.

Далее заметим, что вершины одного цвета образуют правильное множество охранников, поскольку каждый треугольник полностью просматривается из вершины с выбранным цветом.
Три цвета разбивают n вершины многоугольника на 3 множества и цвет с меньшим числом вершин образует правильное множество максимум  охранников.

Вычислительная сложность 
В версиях задачи охраны галереи, поставленной как задача разрешимости, на входе задаётся как многоугольник, так и число k, результатом же решения задачи должен быть ответ, достаточно ли k охранников для охраны многоугольника. Эта задача и все её стандартные варианты (такие как ограничение размещения охранников в вершинах или на рёбрах многоугольника) являются NP-трудными. 
Для аппроксимационных алгоритмов задачи определения минимального числа охранников, Айденбенц, Штамм и Видмейер доказали, что задача APX-трудна, откуда следует, что вряд ли найдётся аппроксимационный алгоритм полиномиального времени с гарантированной эффективностью, лучшей, чем некоторая фиксированная константа. Однако константа гарантированной эффективности не известна. Может быть получена логарифмическая аппроксимация для минимального числа охранников в вершине путём сведения задачи к задаче задаче о покрытии множества. Как показал Вальтр, задача о покрытии множеств, полученная из задачи о картинной галереи, имеет ограниченную размерность Вапника — Червоненкиса, что позволяет применение алгоритмов покрытия множеств, основанных на , гарантированная эффективность которых логарифмически зависит от оптимального числа охранников, а не от числа вершин многоугольника.
Когда размещение охранников не ограничивается, бесконечное число возможных положений охранников делает задачу ещё более сложной.

Однако известны эффективные алгоритмы для поиска максимум  охранников, расположенных в вершинах, что соответствует верхней границе Хватала. Дэвид Авис и Годфрид Туссэн доказали, что размещение охранников можно вычислить в худшем случае за время O(n log n) с помощью алгоритма «разделяй и властвуй».
Кушеш и Морэ предложили алгоритм c линейным временем работы, в котором используется короткое доказательство Фиска и алгоритма плоской триангуляции Бернарда Шазелла с линейным временем работы.

Точный алгоритм для охранников в вершинах предложили Коуту, де Резенде, де Соуза. Авторы провели интенсивные вычислительные эксперименты на некоторых классах многоугольников, которые показали, что оптимальные решения могут быть найдены за относительно малое вычислительное время даже для задач с тысячами вершин. Входные данные и оптимальные решения этих задач доступны для скачивания.

Вариации и обобщения 

Есть много других обобщений и конкретизаций исходной теоремы о галерее.
Например, для , в которых рёбра/стены находятся под прямыми углами, нужно только  охранников. Существует по меньшей мере три различных доказательства этого результата, и ни одно из них не является простым, это доказательство Кана,  и , доказательство  и доказательство Ёрга-Рюдигера Сака и Туссэна.

Связанная задача спрашивает о числе охранников для перекрытия внешней области произвольного многоугольника ("Задача о крепости") — иногда необходимо иметь  охранников и этого числа всегда достаточно. Другими словами, бесконечная внешняя область более сложна для охраны, чем конечная внутренняя область.

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

См. также

Примечания

Литература 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Вычислительная геометрия
Многоугольники
Вычислительные задачи
Комбинаторная геометрия