Задача о художественной галерее или музее — хорошо изученная задача видимости в вычислительной геометрии . Она берет свое начало из следующей реальной задачи:
« Каково минимальное количество охранников в художественной галерее , которые вместе могут наблюдать за всей галереей?»
В геометрической версии задачи макет художественной галереи представлен простым многоугольником , а каждый охранник представлен точкой в многоугольнике. Говорят, что набор точек охраняет многоугольник, если для каждой точки в многоугольнике есть некоторые такие, что отрезок прямой между и не покидает многоугольник.
Проблема художественной галереи может применяться в нескольких областях, например, в робототехнике , когда искусственный интеллект (ИИ) должен выполнять движения в зависимости от своего окружения. Другие области, где применяется эта проблема, — это редактирование изображений , проблемы освещения сцены или установка инфраструктур для предупреждения стихийных бедствий.
Существует множество вариаций исходной задачи, которые также называются задачей художественной галереи. В некоторых версиях охранники ограничены периметром или даже вершинами многоугольника. В некоторых версиях требуется охранять только периметр или подмножество периметра.
Решение версии, в которой охранные устройства должны быть размещены на вершинах и охранять нужно только вершины, эквивалентно решению задачи доминирующего множества на графе видимости многоугольника.
Теорема Хватала о художественной галерее, названная в честь Вацлава Хватала , дает верхнюю границу минимального числа охранников. Она гласит:
«Чтобы защитить простой многоугольник с вершинами, всегда достаточно иметь охрану, а иногда она просто необходима».
Вопрос о том, сколько вершин/сторожей/охранников необходимо, был задан Хваталу Виктором Клее в 1973 году. [1] Хватал вскоре доказал это. [2] Доказательство Хватала позже было упрощено Стивом Фиском с помощью аргумента о трехцветной раскраске . [3] У Хватала более геометрический подход, тогда как Фиск использует известные результаты из теории графов .
Доказательство Стива Фиска настолько короткое и элегантное, что оно было выбрано для включения в Доказательства из КНИГИ . [4] Доказательство выглядит следующим образом:
Во-первых, многоугольник триангулируется (без добавления дополнительных вершин), что возможно, поскольку существование триангуляций доказано при определенных проверенных условиях. Вершины полученного графа триангуляции могут быть раскрашены в 3 цвета . [a] Очевидно, что при раскраске в 3 цвета каждый треугольник должен иметь все три цвета. Вершины с любым одним цветом образуют допустимый набор защит, поскольку каждый треугольник многоугольника защищен своей вершиной с этим цветом. Поскольку три цвета разделяют n вершин многоугольника, цвет с наименьшим количеством вершин определяет допустимый набор защит с не более чем защитами.
Для иллюстрации доказательства рассмотрим многоугольник ниже. Первым шагом является триангуляция многоугольника (см. Рисунок 1 ). Затем применяется правильная -раскраска ( Рисунок 2 ) и наблюдается наличие красных, синих и зеленых вершин. Цвет с наименьшим количеством вершин - синий или красный, поэтому многоугольник может быть покрыт защитными ограждениями ( Рисунок 3 ). Это согласуется с теоремой о художественной галерее, поскольку многоугольник имеет вершины, и .
Верхняя граница Хватала остается справедливой, если ограничение на установку защитных устройств в углах ослабить и установить их в любой точке, не являющейся внешней по отношению к многоугольнику.
Существует ряд других обобщений и специализаций оригинальной теоремы об художественной галерее. [6] Например, для ортогональных многоугольников , чьи ребра/стенки сходятся под прямым углом, нужны только защитные ограждения. Существует по крайней мере три различных доказательства этого результата, ни одно из которых не является простым: Кана, Клаве и Клейтмана ; Любива ; и Сака и Туссэна . [7] [8]
В смежной задаче требуется определить количество охранников для покрытия внешней части произвольного многоугольника («задача крепости»): иногда необходимо и всегда достаточно, если охранники размещены на границе многоугольника, в то время как иногда необходимо и всегда достаточно, если охранники размещены в любом месте внешней части многоугольника. [9] Другими словами, бесконечную внешнюю часть сложнее покрыть, чем конечную внутреннюю часть.
В версиях задачи решения проблемы художественной галереи в качестве входных данных даются как многоугольник, так и число k , и необходимо определить, можно ли охранять многоугольник с помощью k или меньшего количества охранников. Эта задача является -полной , как и версия, в которой охранники ограничены краями многоугольника. [10] Более того, большинство других стандартных вариаций (таких как ограничение мест охранников вершинами) являются NP-трудными . [11]
Что касается алгоритмов аппроксимации для минимального числа охранников, Eidenbenz, Stamm & Widmayer (2001) доказали, что проблема является APX-трудной, подразумевая, что маловероятно, что какое-либо отношение аппроксимации, лучшее, чем некоторая фиксированная константа, может быть достигнуто с помощью алгоритма аппроксимации за полиномиальное время . Ghosh (1987) показал, что логарифмическое приближение может быть достигнуто для минимального числа охранников вершин путем дискретизации входного многоугольника в выпуклые подобласти, а затем сведения проблемы к проблеме покрытия множеств . Как показал Valtr (1998), система множеств, полученная из проблемы художественной галереи, имеет ограниченную размерность VC , что позволяет применять алгоритмы покрытия множеств, основанные на ε-сетях , отношение аппроксимации которых является логарифмом оптимального числа охранников, а не числа вершин многоугольника. [12] Для неограниченных охранников бесконечное число потенциальных позиций охранников делает проблему еще более сложной. Однако, ограничивая охранные функции, чтобы они лежали на мелкой сетке, можно вывести более сложный алгоритм логарифмической аппроксимации при некоторых мягких дополнительных предположениях, как показано в работе Bonnet & Miltzow (2017). Однако известны эффективные алгоритмы для нахождения набора из не более чем вершинных охранных функций, соответствующих верхней границе Chvátal. Дэвид Авис и Годфрид Туссен (1981) доказали, что размещение этих охранных функций может быть вычислено за время O(n log n) в худшем случае с помощью алгоритма «разделяй и властвуй» . Кушеш и Морет (1992) предложили линейный алгоритм времени , используя короткое доказательство Фиска и линейный алгоритм триангуляции плоскости времени Бернара Шазелла .
Для простых многоугольников, не содержащих отверстий, существование алгоритма аппроксимации с постоянным множителем для вершинных и рёберных защит было высказано Гошем. Первоначально было показано, что гипотеза Гоша верна для вершинных защит в двух специальных подклассах простых многоугольников, а именно монотонных многоугольников и многоугольников, слабо видимых с ребра. Крон и Нильссон (2013) представили алгоритм аппроксимации, который вычисляет за полиномиальное время набор вершинных защит для монотонного многоугольника таким образом, что размер набора защит не превышает 30 оптимального числа вершинных защит. Бхаттачарья, Гош и Рой (2017) представили алгоритм аппроксимации, который вычисляет за время O(n 2 ) набор вершинных защит для простого многоугольника, слабо видимого с ребра таким образом, что размер набора защит не превышает 6 оптимального числа вершинных защит. Впоследствии Бхаттачарья, Гош и Пал (2017) заявили, что полностью разрешили эту гипотезу, представив алгоритмы аппроксимации с постоянным множителем для защиты общих простых многоугольников с использованием защит вершин и защит ребер. Для защиты вершин подкласса простых многоугольников, которые слабо видны с ребра, схема аппроксимации с полиномиальным временем была предложена Ашуром и др. (2019).
Точный алгоритм был предложен Couto, de Rezende & de Souza (2011) для vertex guards. Авторы провели обширные вычислительные эксперименты с несколькими классами полигонов, показывающие, что оптимальные решения могут быть найдены за относительно небольшое время вычислений даже для экземпляров, связанных с тысячами вершин. Входные данные и оптимальные решения для этих экземпляров доступны для загрузки. [13]
Если музей представлен в трех измерениях как многогранник , то размещение охранника в каждой вершине не гарантирует, что весь музей находится под наблюдением. Хотя вся поверхность многогранника будет осмотрена, для некоторых многогранников есть точки внутри, которые могут не находиться под наблюдением. [15]