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

Существует многочисленные варианты исходной задачи, и все они называются задачей о галерее. В некоторых вариантах охранники должны находиться по периметру или, даже, в вершинах многоугольника. В некоторых вариантах требуется охрана только периметра или части периметра.
Решение варианта, в котором охрана должна размещаться только в вершинах и только вершины следует охранять, эквивалентна решению задачи о доминирующем множестве на графе видимости многоугольника.
Теорема Хватала о картинной галерее
Теорема Хватала о картинной галерее (канадского математика, родившегося в Праге, Вацлава Хватала), даёт верхнюю границу минимального числа охранников. Теорема утверждает, что охранников всегда достаточно, а иногда и необходимо, чтобы охранять простой многоугольник с вершинами.
Вопрос о количестве вершин/охранников поставил для Хватала в 1973 Виктор КлиШаблон:Sfn. Хватал вскоре после этого доказал теоремуШаблон:Sfn. Доказательство Хватала позднее упростил Стив Фиск, используя раскраску в 3 цветаШаблон:Sfn (Фиск был профессором математики в Боудин-колледже[1]).
Короткое доказательство Фиска

Доказательство Стива ФискаШаблон:Sfn настолько коротко и элегантно, что приведено в книге «Доказательства из Книги».
Доказательство:
Триангулируем многоугольник без добавления вершин.
Заметим, что вершины получившегося триангуляционного графа можно раскрасить в три цвета так что каждый треугольник имеет вершины всех трёх цветов. Действительно двойственный граф триангуляции, имеющий по одной вершине для каждого треугольника и по одному ребру для каждой пары смежных треугольников является деревом. Поскольку любой цикл в двойственном графе образовал бы дыру внутри многоугольника, что противоречит условию отсутствия дыр (по условию многоугольник простой). Если в триангуляции существует более одного треугольника, двойственный граф (как и всякое дерево) должен иметь вершину, у которой всего один сосед, что соответствует треугольнику, смежному лишь одному другому треугольнику. Многоугольник с меньшим числом треугольников, полученный путём удаления этого крайнего треугольника, имеет раскраску в три цвета (используем математическую индукцию), так что раскраску легко распространить и на дополнительную вершину удалённого треугольника.
Далее заметим, что вершины одного цвета образуют правильное множество охранников, поскольку каждый треугольник полностью просматривается из вершины с выбранным цветом. Три цвета разбивают n вершины многоугольника на 3 множества и цвет с меньшим числом вершин образует правильное множество максимум охранников.
Вычислительная сложность
В версиях задачи охраны галереи, поставленной как задача разрешимости, на входе задаётся как многоугольник, так и число k, результатом же решения задачи должен быть ответ, достаточно ли k охранников для охраны многоугольника. Эта задача и все её стандартные варианты (такие как ограничение размещения охранников в вершинах или на рёбрах многоугольника) являются NP-труднымиШаблон:SfnШаблон:SfnШаблон:Sfn. Для аппроксимационных алгоритмов задачи определения минимального числа охранников, Айденбенц, Штамм и ВидмейерШаблон:Sfn доказали, что задача APX-трудна, откуда следует, что вряд ли найдётся аппроксимационный алгоритм полиномиального времени с гарантированной эффективностью, лучшей, чем некоторая фиксированная константа. Однако константа гарантированной эффективности не известна. Может быть получена логарифмическая аппроксимация для минимального числа охранников в вершине путём сведения задачи к задаче задаче о покрытии множестваШаблон:Sfn. Как показал ВальтрШаблон:Sfn, задача о покрытии множеств, полученная из задачи о картинной галереи, имеет ограниченную размерность Вапника — Червоненкиса, что позволяет применение алгоритмов покрытия множеств, основанных на Шаблон:Не переведено 5, гарантированная эффективность которых логарифмически зависит от оптимального числа охранников, а не от числа вершин многоугольникаШаблон:Sfn. Когда размещение охранников не ограничивается, бесконечное число возможных положений охранников делает задачу ещё более сложнойШаблон:Sfn.
Однако известны эффективные алгоритмы для поиска максимум охранников, расположенных в вершинах, что соответствует верхней границе Хватала. Дэвид Авис и Годфрид ТуссэнШаблон:Sfn доказали, что размещение охранников можно вычислить в худшем случае за время O(n log n) с помощью алгоритма «разделяй и властвуй». Кушеш и МорэШаблон:Sfn предложили алгоритм c линейным временем работы, в котором используется короткое доказательство Фиска и алгоритма плоской триангуляции Бернарда Шазелла с линейным временем работы.
Точный алгоритм для охранников в вершинах предложили Коуту, де Резенде, де Соуза. Авторы провели интенсивные вычислительные эксперименты на некоторых классах многоугольников, которые показали, что оптимальные решения могут быть найдены за относительно малое вычислительное время даже для задач с тысячами вершин. Входные данные и оптимальные решения этих задач доступны для скачиванияШаблон:Sfn.
Вариации и обобщения
Есть много других обобщений и конкретизаций исходной теоремы о галерееШаблон:Sfn. Например, для Шаблон:Не переведено 5, в которых рёбра/стены находятся под прямыми углами, нужно только охранников. Существует по меньшей мере три различных доказательства этого результата, и ни одно из них не является простым, это доказательство Кана, Шаблон:Не переведено 5 и Шаблон:Не переведено 5Шаблон:Sfn, доказательство Шаблон:Не переведено 5Шаблон:Sfn и доказательство Ёрга-Рюдигера Сака и ТуссэнаШаблон:SfnШаблон:Sfn.
Связанная задача спрашивает о числе охранников для перекрытия внешней области произвольного многоугольника ("Задача о крепости") — иногда необходимо иметь охранников и этого числа всегда достаточно. Другими словами, бесконечная внешняя область более сложна для охраны, чем конечная внутренняя областьШаблон:Sfn.
- Трёхмерный случай
Если музей представлен в трёхмерном пространстве как многогранник, то расположение охранников во всех вершинах не обеспечивает обзор всего музея. Хотя все поверхности многогранника будут наблюдаемы, для некоторых многогранников часть пространства внутри многогранника не наблюдаемыШаблон:Sfn.
