Проблема удовлетворения ограничений

Проблемы удовлетворения ограничений ( CSP это математические вопросы, определяемые как набор объектов, состояние ряду ограничений которых должно удовлетворять ) — . CSP представляют объекты задачи как однородный набор конечных ограничений над переменными , который решается методами удовлетворения ограничений . CSP являются предметом исследований как в области искусственного интеллекта , так и в исследованиях операций , поскольку регулярность в их формулировке обеспечивает общую основу для анализа и решения проблем многих, казалось бы, не связанных друг с другом семейств. CSP часто демонстрируют высокую сложность , требующую сочетания эвристики и комбинаторных методов поиска для решения в разумные сроки. Программирование с ограничениями (CP) — это область исследований, которая специально фокусируется на решении подобных проблем. [1] [2] Кроме того, булева проблема выполнимости (SAT), теории выполнимости по модулю (SMT), смешанное целочисленное программирование (MIP) и программирование множеств ответов (ASP) - все это области исследований, сосредоточенные на решении конкретных форм проблемы удовлетворения ограничений.

Примеры проблем, которые можно смоделировать как задачу удовлетворения ограничений, включают:

Они часто сопровождаются учебными пособиями по решателям CP , ASP, Boolean SAT и SMT. В общем случае проблемы с ограничениями могут быть намного сложнее и могут быть невыразимы в некоторых из этих более простых систем. Примеры из «реальной жизни» включают автоматическое планирование , [6] [7] лексическое устранение неоднозначности , [8] [9] музыковедение , [10] конфигурация продукта [11] и распределение ресурсов . [12]

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

Формальное определение [ править ]

Формально задача удовлетворения ограничений определяется как тройка , где [13]

  • представляет собой набор переменных,
  • представляет собой набор соответствующих им областей значений, и
  • представляет собой набор ограничений.

Каждая переменная может принимать значения в непустой области .Каждое ограничение в свою очередь является парой , где является подмножеством переменные и это -арное отношение на соответствующем подмножестве областей . Оценка . переменных представляет собой функцию перехода от подмножества переменных к определенному набору значений в соответствующем подмножестве областей Оценка удовлетворяет ограничению если значения, присвоенные переменным удовлетворить отношение .

Оценка является последовательной , если она не нарушает ни одно из ограничений. Оценка считается полной , если она включает все переменные. Оценка является решением , если она последовательная и полная; Говорят, что такая оценка решает проблему удовлетворения ограничений.

Решение [ править ]

Проблемы удовлетворения ограничений на конечных областях обычно решаются с использованием формы поиска . Наиболее часто используемые методы — это варианты обратного отслеживания , распространения ограничений и локального поиска . Эти методы также часто комбинируются, как в методе VLNS , и текущие исследования включают другие технологии, такие как линейное программирование . [14]

Обратное отслеживание — это рекурсивный алгоритм. Он поддерживает частичное присвоение переменных. Изначально все переменные не назначены. На каждом шаге выбирается переменная и ей поочередно присваиваются все возможные значения. Для каждого значения проверяется соответствие частичного присвоения ограничениям; в случае согласованности рекурсивный выполняется вызов. Когда все значения будут проверены, алгоритм возвращается. В этом базовом алгоритме поиска с возвратом согласованность определяется как удовлетворение всех ограничений, все переменные которых назначены. Существует несколько вариантов возврата. Обратная маркировка повышает эффективность проверки согласованности. Обратный переход позволяет в некоторых случаях сэкономить часть поиска за счет возврата «более чем одной переменной». Обучение ограничениям выводит и сохраняет новые ограничения, которые позже можно использовать, чтобы избежать части поиска. Упреждающий просмотр также часто используется при обратном отслеживании, чтобы попытаться предвидеть последствия выбора переменной или значения, таким образом иногда заранее определяя, является ли подзадача выполнимой или невыполнимой.

Методы распространения ограничений — это методы, используемые для модификации проблемы удовлетворения ограничений. Точнее, это методы, которые обеспечивают некую форму локальной согласованности , то есть условий, связанных с согласованностью группы переменных и/или ограничений. Распространение ограничений имеет различные применения. Во-первых, это превращает проблему в эквивалентную, но обычно более простую для решения. Во-вторых, это может доказать выполнимость или нерешаемость задач. В целом это не гарантируется; однако это всегда происходит при некоторых формах распространения ограничений и/или при определенных видах задач. Наиболее известными и используемыми формами локальной согласованности являются согласованность по дуге , согласованность по гипердуге и согласованность по пути . Самый популярный метод распространения ограничений — алгоритм AC-3 , который обеспечивает согласованность дуги.

Методы локального поиска представляют собой алгоритмы неполной выполнимости. Они могут найти решение проблемы, но могут потерпеть неудачу, даже если проблема выполнима. Они работают путем итеративного улучшения полного присваивания переменных. На каждом этапе значение небольшого количества переменных изменяется с общей целью увеличения количества ограничений, которым удовлетворяет это присвоение. Алгоритм минимальных конфликтов — это алгоритм локального поиска, специфичный для CSP, и основан на этом принципе. На практике локальный поиск работает хорошо, когда на эти изменения также влияет случайный выбор. Была разработана интеграция поиска с локальным поиском, что привело к созданию гибридных алгоритмов .

Теоретические аспекты [ править ]

Проблемы с решением [ править ]

CSP также изучаются в теории сложности вычислений и теории конечных моделей . Важная теорема дихотомии утверждает, что для каждого набора отношений набор всех CSP, которые могут быть представлены с использованием только отношений, выбранных из этого набора, является либо P , либо NP-полным . Таким образом, CSP предоставляют одно из крупнейших известных подмножеств NP , которое позволяет избежать NP-промежуточных проблем, существование которых было продемонстрировано теоремой Ладнера в предположении, что P ≠ NP . Теорема Шефера о дихотомии рассматривает случай, когда все доступные отношения являются булевыми операторами , то есть для области размера 2. Теорема Шефера о дихотомии позже была обобщена на более широкий класс отношений: [15] а теорема о полной дихотомии была впервые выдвинута как гипотеза Федера – Варди. [16] и окончательно доказано независимо Андреем Булатовым [17] and Dmitriy Zhuk. [18]

Большинство классов CSP, которые, как известно, являются управляемыми, - это те, в которых гиперграф ограничений имеет ограниченную ширину дерева (и нет ограничений на набор отношений ограничений) или где ограничения имеют произвольную форму, но существуют по существу неунарные полиморфизмы. [ нужны разъяснения ] множества отношений ограничений.

Каждый CSP также может рассматриваться как проблема сдерживания конъюнктивных запросов . [19]

Функциональные проблемы [ править ]

Аналогичная ситуация существует между функциональными классами FP и #P . По обобщению теоремы Ладнера , также существуют проблемы ни в FP, ни в #P-полноте, пока FP ≠ #P. Как и в случае принятия решения, проблема в #CSP определяется набором отношений. Каждая задача принимает на вход булеву формулу, и задача состоит в том, чтобы вычислить количество удовлетворяющих заданий. Это можно дополнительно обобщить, используя домены большего размера, присваивая вес каждому удовлетворяющему заданию и вычисляя сумму этих весов. Известно, что любая комплексно-взвешенная задача #CSP находится либо в FP, либо в #P-hard. [20]

Варианты [ править ]

Классическая модель проблемы удовлетворения ограничений определяет модель статических, негибких ограничений. Эта жесткая модель является недостатком, который затрудняет простое представление проблем. [21] Было предложено несколько модификаций базового определения CSP для адаптации модели к широкому кругу задач.

Динамические CSP [ править ]

Динамические CSP [22] ( DCSP ) полезны, когда исходная формулировка проблемы каким-либо образом изменяется, обычно потому, что набор рассматриваемых ограничений меняется из-за окружающей среды. [23] DCSP рассматриваются как последовательность статических CSP, каждый из которых является преобразованием предыдущего, в котором переменные и ограничения могут быть добавлены (ограничение) или удалены (релаксация). Информация, содержащаяся в первоначальных формулировках задачи, может быть использована для уточнения последующих. Методы решения можно классифицировать по способу передачи информации:

  • Оракулы : решения, найденные для предыдущих CSP в последовательности, используются в качестве эвристики для определения текущего CSP с нуля.
  • Локальное восстановление: каждый CSP рассчитывается, начиная с частичного решения предыдущего и устраняя несогласованные ограничения с помощью локального поиска .
  • Запись ограничений: новые ограничения определяются на каждом этапе поиска, чтобы представить обучение противоречивой группе решений. Эти ограничения переносятся и на новые проблемы CSP.

Гибкие CSP [ править ]

Классические CSP рассматривают ограничения как жесткие, то есть как императивные (каждое решение должно удовлетворять всем из них) и негибкие (в том смысле, что они должны быть полностью удовлетворены, иначе они полностью нарушаются). Гибкие CSP ослабляют эти предположения, частично ослабляя ограничения и позволяя решению не соответствовать всем из них. Это похоже на предпочтения при планировании на основе предпочтений . Некоторые типы гибких CSP включают в себя:

  • MAX-CSP, где допускается нарушение ряда ограничений, а качество решения измеряется количеством удовлетворенных ограничений.
  • Взвешенный CSP — MAX-CSP, в котором каждое нарушение ограничения взвешивается в соответствии с заранее определенным предпочтением. Таким образом, предпочтение отдается удовлетворению ограничения с большим весом.
  • Нечеткие ограничения модели CSP как нечеткие отношения, в которых удовлетворение ограничения является непрерывной функцией значений его переменных, переходя от полностью удовлетворенного к полностью нарушенному.

Децентрализованные CSP [ править ]

В DCSP [24] каждая переменная ограничения рассматривается как имеющая отдельное географическое положение. На обмен информацией между переменными накладываются сильные ограничения, требующие использования полностью распределенных алгоритмов для решения проблемы удовлетворения ограничений.

См. также [ править ]

Ссылки [ править ]

  1. ^ Лекутр, Кристоф (2013). Сети ограничений: методы и алгоритмы . Уайли. п. 26. ISBN  978-1-118-61791-5 .
  2. ^ «Ограничения – включая возможность публикации в открытом доступе» . Springer.com . Проверено 3 октября 2019 г.
  3. ^ Чандра, Сатиш и др. « Вывод типов для статической компиляции JavaScript ». Уведомления ACM SIGPLAN 51.10 (2016 г.): 410–429.
  4. ^ Джим, Тревор и Йенс Палсберг. « Вывод типов в системах рекурсивных типов с подтипированием ». Доступно на веб-странице авторов (1999).
  5. ^ Фархи, Эдвард и Харроу, Арам. « Квантовое превосходство посредством алгоритма квантовой приближенной оптимизации ». arXiv:1602.07674
  6. ^ Малик Галлаб; Дана Нау; Паоло Траверсо (21 мая 2004 г.). Автоматизированное планирование: теория и практика . Эльзевир. стр. 1–. ISBN  978-0-08-049051-9 .
  7. ^ Удовлетворение динамических гибких ограничений и его применение к планированию ИИ , Архивировано 6 февраля 2009 г. в Wayback Machine , Ян Мигель - слайды.
  8. ^ Деметриу, Джордж К. « Лексическая неоднозначность с использованием обработки ограничений в Прологе (CHIP) ». Материалы шестой конференции европейского отделения Ассоциации компьютерной лингвистики. Ассоциация компьютерной лингвистики, 1993.
  9. ^ Макдональд, Мэриеллен К. и Марк С. Зайденберг. « Счета удовлетворенности ограничениями при понимании лексики и предложений ». Справочник по психолингвистике (второе издание). 2006. 581–611.
  10. ^ Маурисио Торо, Карлос Агон, Камило Руэда, Жерар Ассаяг. « GELISP: РАМКА ДЛЯ ПРЕДСТАВЛЕНИЯ МУЗЫКАЛЬНЫХ ОГРАНИЧЕНИЙ ПРОБЛЕМ УДОВЛЕТВОРЕНИЯ И СТРАТЕГИЙ ПОИСКА ». Журнал теоретических и прикладных информационных технологий 86 (2). 2016. 327–331.
  11. ^ Применение подхода удовлетворения ограничений для решения проблем с конфигурацией продукта с помощью правил конфигурации на основе мощности , Донг Ян и Мин Донг, Журнал интеллектуального производства, том 24, страницы 99–111 (2013).
  12. ^ Моди, Прагнеш Джей и др. « Динамический подход к распределению ресурсов, удовлетворяющий распределенным ограничениям ». Международная конференция по принципам и практике программирования с ограничениями. Шпрингер, Берлин, Гейдельберг, 2001 г.
  13. ^ Стюарт Джонатан Рассел; Питер Норвиг (2010). Искусственный интеллект: современный подход . Прентис Холл. п. Глава 6. ISBN  9780136042594 .
  14. ^ Милано, Микела ; Ван Хентенрик, Паскаль, ред. (2011). Гибридная оптимизация: десять лет CPAIOR . Международная конференция по интеграции методов искусственного интеллекта и ИЛИ в программировании с ограничениями для задач комбинаторной оптимизации. Нью-Йорк: Спрингер. ISBN  9781441916440 . OCLC   695387020 .
  15. ^ Бодирский, Мануэль; Пинскер, Майкл (2011). «Теорема Шефера для графов». Материалы 43-го ежегодного симпозиума по теории вычислений (STOC '11) . Ассоциация вычислительной техники . стр. 655–664. arXiv : 1011.2894 . Бибкод : 2010arXiv1011.2894B . дои : 10.1145/1993636.1993724 . ISBN  978-1-4503-0691-1 . S2CID   47097319 .
  16. ^ Федер, Томас; Варди, Моше Ю. (1998). «Вычислительная структура монотонного монадического SNP и удовлетворение ограничений: исследование с помощью журнала данных и теории групп» . SIAM Journal по вычислительной технике . 28 (1): 57–104. дои : 10.1137/S0097539794266766 . ISSN   0097-5397 .
  17. ^ Булатов, Андрей (2017). «Теорема дихотомии для неоднородных CSP». Материалы 58-го ежегодного симпозиума IEEE по основам информатики, FOCS 2017 . Компьютерное общество IEEE. стр. 319–330. дои : 10.1109/FOCS.2017.37 .
  18. ^ Жук, Дмитрий (2020). «Доказательство гипотезы дихотомии CSP». Журнал АКМ . 67 (5): 1–78. arXiv : 1704.01914 . дои : 10.1145/3402029 .
  19. ^ Колайтис, Фокион Г.; Варди, Моше Ю. (2000). «Сдерживание конъюнктивного запроса и удовлетворение ограничений» . Журнал компьютерных и системных наук . 61 (2): 302–332. дои : 10.1006/jcss.2000.1713 .
  20. ^ Цай, Джин-И; Чен, Си (2012). «Сложность подсчета CSP с комплексными весами». Материалы сорок четвертого ежегодного симпозиума ACM по теории вычислений (STOC '12) . стр. 909–920. arXiv : 1111.2384 . дои : 10.1145/2213977.2214059 . ISBN  978-1-4503-1245-5 . S2CID   53245129 .
  21. ^ Мигель, Ян (июль 2001 г.). Удовлетворение динамических гибких ограничений и его применение к планированию ИИ (кандидатская диссертация). Школа информатики Эдинбургского университета . CiteSeerX   10.1.1.9.6733 . HDL : 1842/326 .
  22. ^ Дектер Р. и Дектер А., Поддержание убеждений в сетях динамических ограничений. Архивировано 17 ноября 2012 г. в Wayback Machine In Proc. АААИ-88, 37–42.
  23. ^ Повторное использование решений в задачах удовлетворения динамических ограничений , Томас Шикс
  24. ^ Даффи, КР; Лейт, DJ (август 2013 г.), «Удовлетворение децентрализованных ограничений», Транзакции IEEE/ACM в сети, 21(4) , vol. 21, стр. 1298–1308, arXiv : 1103.3240 , doi : 10.1109/TNET.2012.2222923 , S2CID   11504393

Дальнейшее чтение [ править ]