Проблема удовлетворения ограничений
Эта статья нуждается в дополнительных цитатах для проверки . ( ноябрь 2014 г. ) |
Проблемы удовлетворения ограничений ( CSP это математические вопросы, определяемые как набор объектов, состояние ряду ограничений которых должно удовлетворять ) — . CSP представляют объекты задачи как однородный набор конечных ограничений над переменными , который решается методами удовлетворения ограничений . CSP являются предметом исследований как в области искусственного интеллекта , так и в исследованиях операций , поскольку регулярность в их формулировке обеспечивает общую основу для анализа и решения проблем многих, казалось бы, не связанных друг с другом семейств. CSP часто демонстрируют высокую сложность , требующую сочетания эвристики и комбинаторных методов поиска для решения в разумные сроки. Программирование с ограничениями (CP) — это область исследований, которая специально фокусируется на решении подобных проблем. [1] [2] Кроме того, булева проблема выполнимости (SAT), теории выполнимости по модулю (SMT), смешанное целочисленное программирование (MIP) и программирование множеств ответов (ASP) - все это области исследований, сосредоточенные на решении конкретных форм проблемы удовлетворения ограничений.
Примеры проблем, которые можно смоделировать как задачу удовлетворения ограничений, включают:
- Вывод типа [3] [4]
- Загадка «Восемь королев»
- Проблема с раскраской карты
- Проблема максимального разреза [5]
- Судоку , кроссворды , футосики , Какуро (Кросс-суммы), Нумбрикс / Хидато и многие другие логические головоломки.
Они часто сопровождаются учебными пособиями по решателям CP , ASP, Boolean SAT и SMT. В общем случае проблемы с ограничениями могут быть намного сложнее и могут быть невыразимы в некоторых из этих более простых систем. Примеры из «реальной жизни» включают автоматическое планирование , [6] [7] лексическое устранение неоднозначности , [8] [9] музыковедение , [10] конфигурация продукта [11] и распределение ресурсов . [12]
Существование решения CSP можно рассматривать как проблему принятия решения . Это можно решить, найдя решение или не сумев найти решение после исчерпывающего поиска ( стохастические алгоритмы обычно никогда не приходят к исчерпывающему выводу, в то время как направленный поиск часто делает это для достаточно небольших задач). В некоторых случаях можно заранее узнать, что CSP имеет решения посредством какого-либо другого математического процесса вывода.
Формальное определение
[ редактировать ]Формально задача удовлетворения ограничений определяется как тройка , где [13]
- представляет собой набор переменных,
- представляет собой набор соответствующих им областей значений, и
- представляет собой набор ограничений.
Каждая переменная может принимать значения в непустой области . Каждое ограничение в свою очередь является парой , где является подмножеством переменные и это -арное отношение на соответствующем подмножестве областей . Оценка . переменных представляет собой функцию перехода от подмножества переменных к определенному набору значений в соответствующем подмножестве областей Оценка удовлетворяет ограничению если значения, присвоенные переменным удовлетворить отношение .
Оценка является последовательной , если она не нарушает ни одно из ограничений. Оценка считается полной , если она включает все переменные. Оценка является решением , если она последовательная и полная; Говорят, что такая оценка решает проблему удовлетворения ограничений.
Решение
[ редактировать ]Проблемы удовлетворения ограничений на конечных областях обычно решаются с использованием формы поиска . Наиболее часто используемые методы — это варианты обратного отслеживания , распространения ограничений и локального поиска . Эти методы также часто комбинируются, как в методе VLNS , и текущие исследования включают другие технологии, такие как линейное программирование . [14]
Обратное отслеживание — это рекурсивный алгоритм. Он поддерживает частичное присвоение переменных. Изначально все переменные не назначены. На каждом шаге выбирается переменная и ей поочередно присваиваются все возможные значения. Для каждого значения проверяется соответствие частичного присвоения ограничениям; в случае согласованности рекурсивный выполняется вызов. Когда все значения будут проверены, алгоритм возвращается. В этом базовом алгоритме поиска с возвратом согласованность определяется как удовлетворение всех ограничений, все переменные которых назначены. Существует несколько вариантов возврата. Обратная маркировка повышает эффективность проверки согласованности. Обратный переход позволяет в некоторых случаях сэкономить часть поиска за счет возврата «более чем одной переменной». Обучение ограничениям выводит и сохраняет новые ограничения, которые позже можно использовать, чтобы избежать части поиска. Упреждающий просмотр также часто используется при обратном отслеживании, чтобы попытаться предвидеть последствия выбора переменной или значения, таким образом иногда заранее определяя, является ли подзадача выполнимой или невыполнимой.
Методы распространения ограничений — это методы, используемые для модификации проблемы удовлетворения ограничений. Точнее, это методы, которые обеспечивают некую форму локальной согласованности , то есть условий, связанных с согласованностью группы переменных и/или ограничений. Распространение ограничений имеет различные применения. Во-первых, это превращает проблему в эквивалентную, но обычно более простую для решения. Во-вторых, это может доказать выполнимость или нерешаемость задач. В целом это не гарантировано; однако это всегда происходит при некоторых формах распространения ограничений и/или при определенных видах задач. Наиболее известными и используемыми формами локальной согласованности являются согласованность по дуге , согласованность по гипердуге и согласованность по пути . Самый популярный метод распространения ограничений — алгоритм AC-3 , который обеспечивает согласованность дуги.
Методы локального поиска представляют собой алгоритмы неполной выполнимости. Они могут найти решение проблемы, но могут потерпеть неудачу, даже если проблема выполнима. Они работают путем итеративного улучшения полного присваивания переменных. На каждом этапе значение небольшого количества переменных изменяется с общей целью увеличения количества ограничений, которым удовлетворяет это присвоение. Алгоритм минимальных конфликтов — это алгоритм локального поиска, специфичный для CSP, и основан на этом принципе. На практике локальный поиск работает хорошо, когда на эти изменения также влияет случайный выбор. Была разработана интеграция поиска с локальным поиском, что привело к созданию гибридных алгоритмов .
Теоретические аспекты
[ редактировать ]Вычислительная сложность
[ редактировать ]CSP также изучаются в теории сложности вычислений , теории конечных моделей и универсальной алгебре . Оказалось, что вопросы о сложности CSP переходят в важные универсально-алгебраические вопросы о лежащих в их основе алгебрах. Этот подход известен как алгебраический подход к CSP. [15]
Поскольку каждая проблема вычислительного решения является полиномиально эквивалентной CSP с бесконечным шаблоном, [16] общие CSP могут иметь произвольную сложность. В частности, существуют также CSP в классе NP-промежуточных задач, существование которых было продемонстрировано Ладнером в предположении, что P ≠ NP .
Однако большой класс CSP, возникающих в результате естественных приложений, удовлетворяет дихотомии сложности, что означает, что каждый CSP внутри этого класса является либо P- , либо NP-полным . Таким образом, эти CSP предоставляют одно из крупнейших известных подмножеств NP , которое позволяет избежать промежуточных NP- проблем. Дихотомия сложности была впервые доказана Шефером для логических CSP, то есть CSP в двухэлементной области, где все доступные отношения являются логическими операторами . Этот результат был обобщен для различных классов CSP, особенно для всех CSP в конечных областях. Эта гипотеза дихотомии конечной области была впервые сформулирована Томасом Федером и Моше Варди: [17] и наконец доказано независимо Андреем Булатовым [18] and Dmitriy Zhuk in 2017. [19]
Другие классы, для которых была подтверждена дихотомия сложности:
- все первого редукции порядка , [20]
- все редукции первого порядка счетного случайного графа , [21]
- все редукции первого порядка модели -компаньона класса всех C-отношений, [22]
- все редукции первого порядка универсального однородного частичного множества , [23]
- все редукции первого порядка однородных неориентированных графов, [24]
- все редукты первого порядка всех унарных структур, [25]
- все CSP класса сложности MMSNP. [26]
Большинство классов CSP, которые, как известно, являются управляемыми, - это те, в которых гиперграф ограничений имеет ограниченную ширину дерева . [27] или когда ограничения имеют произвольную форму, но существуют эквационально нетривиальные полиморфизмы множества отношений ограничений. [28]
Гипотеза о дихотомии бесконечной области [29] был сформулирован для всех CSP редуктов конечно ограниченных однородных структур, утверждая, что CSP такой структуры находится в P тогда и только тогда, когда ее клон полиморфизма является эквационально нетривиальным и NP-трудным в противном случае.
Сложность таких CSP с бесконечной областью, а также других обобщений (Valued CSP, Quantified CSP, Promise CSP) все еще остается областью активных исследований. [30] [1] [2]
Каждый CSP также может рассматриваться как проблема сдерживания конъюнктивных запросов . [31]
Функциональные проблемы
[ редактировать ]Аналогичная ситуация существует между функциональными классами FP и #P . По обобщению теоремы Ладнера , также существуют проблемы ни в FP, ни в #P-полноте, пока FP ≠ #P. Как и в случае принятия решения, проблема в #CSP определяется набором отношений. Каждая задача принимает на вход булевую формулу, и задача состоит в том, чтобы вычислить количество удовлетворяющих заданий. Это можно еще более обобщить, используя домены большего размера, присваивая вес каждому удовлетворяющему заданию и вычисляя сумму этих весов. Известно, что любая комплексно-взвешенная задача #CSP находится либо в FP, либо в #P-hard. [32]
Варианты
[ редактировать ]Классическая модель проблемы удовлетворения ограничений определяет модель статических, негибких ограничений. Эта жесткая модель является недостатком, который затрудняет простое представление проблем. [33] Было предложено несколько модификаций базового определения CSP, чтобы адаптировать модель к широкому кругу проблем.
Динамические CSP
[ редактировать ]Динамические CSP [34] ( DCSP ) полезны, когда исходная формулировка проблемы каким-либо образом изменяется, обычно потому, что набор рассматриваемых ограничений меняется из-за окружающей среды. [35] DCSP рассматриваются как последовательность статических CSP, каждый из которых является преобразованием предыдущего, в котором переменные и ограничения могут быть добавлены (ограничение) или удалены (релаксация). Информация, содержащаяся в первоначальных формулировках задачи, может быть использована для уточнения последующих. Методы решения можно классифицировать по способу передачи информации:
- Оракулы : решения, найденные для предыдущих CSP в последовательности, используются в качестве эвристики для определения текущего CSP с нуля.
- Локальное восстановление: каждый CSP рассчитывается, начиная с частичного решения предыдущего и устраняя несогласованные ограничения с помощью локального поиска .
- Запись ограничений: новые ограничения определяются на каждом этапе поиска, чтобы представить обучение противоречивой группе решений. Эти ограничения переносятся и на новые проблемы CSP.
Гибкие CSP
[ редактировать ]Классические CSP рассматривают ограничения как жесткие, то есть как императивные (каждое решение должно удовлетворять всем из них) и негибкие (в том смысле, что они должны быть полностью удовлетворены, иначе они полностью нарушаются). Гибкие CSP ослабляют эти предположения, частично ослабляя ограничения и позволяя решению не соответствовать всем из них. Это похоже на предпочтения при планировании на основе предпочтений . Некоторые типы гибких CSP включают в себя:
- MAX-CSP, где допускается нарушение ряда ограничений, а качество решения измеряется количеством удовлетворенных ограничений.
- Взвешенный CSP — MAX-CSP, в котором каждое нарушение ограничения взвешивается в соответствии с заранее определенным предпочтением. Таким образом, предпочтение отдается удовлетворению ограничения с большим весом.
- Ограничения нечеткой модели CSP как нечеткие отношения, в которых удовлетворение ограничения является непрерывной функцией значений его переменных, переходя от полностью удовлетворенного к полностью нарушенному.
Децентрализованные CSP
[ редактировать ]В DCSP [36] каждая переменная ограничения рассматривается как имеющая отдельное географическое положение. На обмен информацией между переменными накладываются сильные ограничения, требующие использования полностью распределенных алгоритмов для решения проблемы удовлетворения ограничений.
См. также
[ редактировать ]- Составной граф ограничений
- Программирование ограничений
- Декларативное программирование
- Ограниченная оптимизация (COP)
- Оптимизация распределенных ограничений
- Гомоморфизм графов
- Гипотеза об уникальных играх
- Проблема удовлетворения взвешенных ограничений (WCSP)
Ссылки
[ редактировать ]- ^ Лекутр, Кристоф (2013). Сети ограничений: методы и алгоритмы . Уайли. п. 26. ISBN 978-1-118-61791-5 .
- ^ «Ограничения – включая возможность публикации в открытом доступе» . Springer.com . Проверено 3 октября 2019 г.
- ^ Чандра, Сатиш и др. « Вывод типов для статической компиляции JavaScript ». Уведомления ACM SIGPLAN 51.10 (2016 г.): 410–429.
- ^ Джим, Тревор и Йенс Палсберг. « Вывод типов в системах рекурсивных типов с подтипированием ». Доступно на веб-странице авторов (1999).
- ^ Фархи, Эдвард; Арам В. Харроу (2016). «Квантовое превосходство посредством алгоритма квантовой приближенной оптимизации». arXiv : 1602.07674 [ квант-ph ].
- ^ Малик Галлаб; Дана Нау; Паоло Траверсо (21 мая 2004 г.). Автоматизированное планирование: теория и практика . Эльзевир. стр. 1–. ISBN 978-0-08-049051-9 .
- ^ Удовлетворение динамических гибких ограничений и его применение к планированию ИИ , Архивировано 6 февраля 2009 г. в Wayback Machine , Ян Мигель - слайды.
- ^ Деметриу, Джордж К. « Лексическая неоднозначность с использованием обработки ограничений в Прологе (CHIP) ». Материалы шестой конференции европейского отделения Ассоциации компьютерной лингвистики. Ассоциация компьютерной лингвистики, 1993.
- ^ Макдональд, Мэриеллен К. и Марк С. Зайденберг. « Счета удовлетворения ограничений при лексическом понимании и понимании предложений ». Справочник по психолингвистике (второе издание). 2006. 581–611.
- ^ Маурисио Торо, Карлос Агон, Камило Руэда, Жерар Ассаяг. « GELISP: РАМКА ДЛЯ ПРЕДСТАВЛЕНИЯ МУЗЫКАЛЬНЫХ ОГРАНИЧЕНИЙ ПРОБЛЕМ УДОВЛЕТВОРЕНИЯ И СТРАТЕГИЙ ПОИСКА ». Журнал теоретических и прикладных информационных технологий 86 (2). 2016. 327–331.
- ^ Применение подхода удовлетворения ограничений для решения проблем конфигурации продукта с помощью правил конфигурации на основе мощности , Донг Ян и Мин Донг, Журнал интеллектуального производства, том 24, страницы 99–111 (2013).
- ^ Моди, Прагнеш Джей и др. « Подход к распределению ресурсов, основанный на динамическом распределенном удовлетворении ограничений ». Международная конференция по принципам и практике программирования с ограничениями. Шпрингер, Берлин, Гейдельберг, 2001 г.
- ^ Стюарт Джонатан Рассел; Питер Норвиг (2010). Искусственный интеллект: современный подход . Прентис Холл. п. Глава 6. ISBN 9780136042594 .
- ^ Милано, Микела ; Ван Хентенрик, Паскаль, ред. (2011). Гибридная оптимизация: десять лет CPAIOR . Международная конференция по интеграции методов искусственного интеллекта и ОР в программировании с ограничениями для задач комбинаторной оптимизации. Нью-Йорк: Спрингер. ISBN 9781441916440 . OCLC 695387020 .
- ^ Барто, Либор; Брейди, Заратустра; Булатов Андрей; Козик, Марцин; Жук, Дмитрий (15 мая 2024 г.). «Объединение трех алгебраических подходов к CSP с помощью минимальных алгебр Тейлора». Теоретика . 3 : 11361. arXiv : 2104.11808 . doi : 10.46298/theoretics.24.14 . ISSN 2751-4838 .
- ^ Бодирский, Мануэль; Гроэ, Мартин (2008). «Недихотомии в сложности удовлетворения ограничений» . В Ачето, Лука; Дамгорд, Иван; Голдберг, Лесли Энн; Халльдорссон, Магнус М.; Ингольфсдоттир, Анна; Валукевич, Игорь (ред.). Автоматы, языки и программирование . Конспекты лекций по информатике. Том. 5126. Берлин, Гейдельберг: Springer. стр. 184–196. дои : 10.1007/978-3-540-70583-3_16 . ISBN 978-3-540-70583-3 .
- ^ Федер, Томас; Варди, Моше Ю. (1998). «Вычислительная структура монотонного монадического SNP и удовлетворение ограничений: исследование с помощью журнала данных и теории групп» . SIAM Journal по вычислительной технике . 28 (1): 57–104. дои : 10.1137/S0097539794266766 . ISSN 0097-5397 .
- ^ Булатов, Андрей (2017). «Теорема дихотомии для неоднородных CSP». Материалы 58-го ежегодного симпозиума IEEE по основам информатики, FOCS 2017 . Компьютерное общество IEEE. стр. 319–330. arXiv : 1703.03021 . дои : 10.1109/FOCS.2017.37 . ISBN 978-1-5386-3464-6 .
- ^ Жук, Дмитрий (2020). «Доказательство гипотезы дихотомии CSP». Журнал АКМ . 67 (5): 1–78. arXiv : 1704.01914 . дои : 10.1145/3402029 .
- ^ Бодирский, Мануэль; Кара, Ян (08 февраля 2010 г.). «Сложность задач удовлетворения временных ограничений» . Дж. АКМ . 57 (2): 9:1–9:41. дои : 10.1145/1667053.1667058 . ISSN 0004-5411 .
- ^ Бодирский, Мануэль; Пинскер, Майкл (2011). «Теорема Шефера для графов». Материалы 43-го ежегодного симпозиума по теории вычислений (STOC '11) . Ассоциация вычислительной техники . стр. 655–664. arXiv : 1011.2894 . дои : 10.1145/1993636.1993724 . ISBN 978-1-4503-0691-1 . S2CID 47097319 .
- ^ Бодирский, Мануэль; Йонссон, Питер; Фам, Трунг Ван (2 августа 2017 г.). «Сложность проблем удовлетворения ограничений филогении» . АКМ Транс. Вычислить. Логика . 18 (3): 23:1–23:42. arXiv : 1503.07310 . дои : 10.1145/3105907 . ISSN 1529-3785 .
- ^ Компачер, Майкл; Фам, Трунг Ван (2017). «Дихотомия сложности для удовлетворения ограничений Посета» . DROPS-IDN/V2/Document/10.4230/LIPIcs.STACS.2017.47 . Замок Дагштуль – Центр информатики Лейбница. doi : 10.4230/LIPIcs.STACS.2017.47 .
- ^ Бодирский, Мануэль; Мартин, Барнаби; Пинскер, Майкл; Понграч, Андраш (январь 2019 г.). «Задачи удовлетворения ограничений для редукций однородных графов» . SIAM Journal по вычислительной технике . 48 (4): 1224–1264. arXiv : 1602.05819 . дои : 10.1137/16M1082974 . ISSN 0097-5397 .
- ^ Бодирский, Мануэль; Мотте, Антуан (20 мая 2018 г.), «Дихотомия для редукций первого порядка унарных структур», Logical Methods in Computer Science , 14 (2), arXiv : 1601.04520 , doi : 10.23638/LMCS-14(2:13) )2018
- ^ Бодирский, Мануэль; Мадлен, Флоран; Мотте, Антуан (9 июля 2018 г.). «Универсально-алгебраическое доказательство дихотомии сложности монотонного монадического SNP» . Материалы 33-го ежегодного симпозиума ACM/IEEE по логике в информатике . ЛИКС '18. Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники. стр. 105–114. arXiv : 1802.03255 . дои : 10.1145/3209108.3209156 . ISBN 978-1-4503-5583-4 .
- ^ Барто, Либор; Козик, Марцин (1 января 2014 г.). «Проблемы удовлетворения ограничений, решаемые методами локальной согласованности» . Дж. АКМ . 61 (1): 3:1–3:19. дои : 10.1145/2556646 . ISSN 0004-5411 .
- ^ Бодирский, Мануэль (2021). Сложность удовлетворения ограничений в бесконечной области . Конспект лекций по логике. Кембридж: Издательство Кембриджского университета. ISBN 978-1-107-04284-1 .
- ^ Бодирский, Маноэль; Пинскер, Майкл; Понграч, Андраш (март 2021 г.). «Проективные клоновые гомоморфизмы» . Журнал символической логики . 86 (1): 148–161. arXiv : 1409.4601 . дои : 10.1017/jsl.2019.23 . ISSN 0022-4812 .
- ^ Пинскер, Майкл (31 марта 2022 г.). «Текущие проблемы удовлетворения ограничений в бесконечной области: дилеммы бесконечной овцы». arXiv : 2203.17182 [ cs.LO ].
- ^ Колайтис, Фокион Г.; Варди, Моше Ю. (2000). «Сдерживание конъюнктивного запроса и удовлетворение ограничений» . Журнал компьютерных и системных наук . 61 (2): 302–332. дои : 10.1006/jcss.2000.1713 .
- ^ Цай, Джин-И; Чен, Си (2012). «Сложность подсчета CSP с комплексными весами». Материалы сорок четвертого ежегодного симпозиума ACM по теории вычислений (STOC '12) . стр. 909–920. arXiv : 1111.2384 . дои : 10.1145/2213977.2214059 . ISBN 978-1-4503-1245-5 . S2CID 53245129 .
- ^ Мигель, Ян (июль 2001 г.). Удовлетворение динамических гибких ограничений и его применение к планированию ИИ (кандидатская диссертация). Школа информатики Эдинбургского университета . CiteSeerX 10.1.1.9.6733 . HDL : 1842/326 .
- ^ Дектер Р. и Дектер А., Поддержание убеждений в сетях динамических ограничений. Архивировано 17 ноября 2012 г. в Wayback Machine In Proc. АААИ-88, 37–42.
- ^ Повторное использование решений в задачах удовлетворения динамических ограничений , Томас Шикс
- ^ Даффи, КР; Лейт, DJ (август 2013 г.), «Удовлетворение децентрализованных ограничений», Транзакции IEEE/ACM в сети, 21(4) , vol. 21, стр. 1298–1308, arXiv : 1103.3240 , doi : 10.1109/TNET.2012.2222923 , S2CID 11504393
Дальнейшее чтение
[ редактировать ]- Краткое введение в удовлетворение ограничений на YouTube
- Мануил Бодирский (2021). Сложность удовлетворения ограничений в бесконечной области . Издательство Кембриджского университета. https://doi.org/10.1017/9781107337534
- Стивен Минтон; Энди Филипс; Марк Д. Джонстон; Филип Лэрд (1993). «Минимизация конфликтов: эвристический метод устранения проблем удовлетворения ограничений и планирования». Журнал исследований искусственного интеллекта . 58 (1–3): 161–205. CiteSeerX 10.1.1.308.6637 . дои : 10.1016/0004-3702(92)90007-к . S2CID 14830518 .
- Цанг, Эдвард (1993). Основы удовлетворения ограничениями . Академическая пресса. ISBN 0-12-701610-4
- Чен, Хуби (декабрь 2009 г.). «Свидание логики, сложности и алгебры». Обзоры вычислительной техники ACM . 42 (1): 1–32. arXiv : cs/0611018 . дои : 10.1145/1592451.1592453 . S2CID 11975818 .
- Дектер, Рина (2003). Обработка ограничений . Морган Кауфманн. ISBN 1-55860-890-7
- Апт, Кшиштоф (2003). Принципы программирования в ограничениях . Издательство Кембриджского университета. ISBN 9780521825832 . ISBN 0-521-82583-0
- Лекутр, Кристоф (2009). Сети ограничений: методы и алгоритмы . ИСТЭ/Уайли. ISBN 978-1-84821-106-3
- Томас Федер, Удовлетворение ограничений: личный взгляд , рукопись.
- Архив ограничений
- Принудительно удовлетворительные тесты CSP для модели RB. Архивировано 25 января 2021 г. на Wayback Machine.
- Тесты — XML-представление экземпляров CSP.
- XCSP3 — формат на основе XML, предназначенный для представления экземпляров CSP.
- Распространение ограничений - диссертация Гвидо Така, дающая хороший обзор теории и проблем реализации.