Задачи удовлетворения ограничений (ЗУО) — это математические задачи, определяемые как набор объектов, состояние которых должно соответствовать ряду ограничений[англ.] или рамок. ЗУО представляют сущности в задаче как однородную совокупность конечных ограничений над переменными, которые решаются методами удовлетворения ограничений[англ.]. ЗУО являются предметом исследований как в области искусственного интеллекта и исследования операций, поскольку регулярность их формулировки обеспечивает общую основу для анализа и решения задач из многих, казалось бы, несвязанных семейств. ЗУО часто демонстрируют высокую сложность[англ.], требуя комбинации эвристических методов[1] и методов комбинаторного поиска для решения в разумные сроки. Программирование в ограничениях — это область исследований, которая главным образом фокусируется на решении такого рода задач[2]. Кроме того, задача выполнимости булевых формул, задача выполнимости формул в теориях, смешанное целочисленное программирование и программирование на основе набора ответов — всё это области исследований, сосредоточенные на решении конкретных форм задачи удовлетворения ограничений.

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

Эти примеры часто используются в учебных пособиях для решения задач программирования в ограничениях, программирования на основе набора ответов, выполнимости булевых формул и выполнимости формул в теориях. В общем случае задачи с ограничениями могут быть гораздо сложнее и не всегда выразимы в некоторых из этих более простых систем. Примеры из «реальной жизни» включают автоматизированное планирование[8][9], разрешение лексической многозначности[10][11], музыковедение[12], системы «Конфигурация–Цена–Предложение»[англ.][13] и оптимальное распределение ресурсов[14].

Некоторые задачи искусственного интеллекта и комбинаторной оптимизации, а также некоторые индустриальные применений, обсуждались в терминах ЗУО. К ним относятся задачи планирование, в управление воздушным движением, гражданское строительство, машиностроение, когнитивные процессы, веб-приложения, сетевая безопасность, защита персональных данных или конфиденциальности, и даже контекст осведомлённости[6].

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

Формальное определение

править

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

  • — набор переменных,
  • — набор областей значений этих переменных
  • — набор ограничений.

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

Подстановка является согласованной, если она не нарушает ни одно из ограничений. Подстановка является полной, если она включает все переменные. Подстановка является решением, если она согласованная и полная[17].

Решение

править

Задачи удовлетворения ограничений на конечных областях обычно решаются с помощью различных методов поиска. Наиболее распространёнными из них являются варианты поиска с возвратом, методы распространения ограничений[англ.] и локального поиска. Эти методы часто комбинируются, как, например, в методе «очень крупномасштабного поиска по соседству»[англ.], а современные исследования включают и другие технологии, такие как линейное программирование[18].

Поиск с возвратом[19][20][21] — это рекурсивный алгоритм. Он поддерживает частичное присвоение значений переменным. Изначально все переменные не имеют значений. На каждом шаге выбирается переменная, и ей поочерёдно присваиваются все возможные значения. Для каждого значения проверяется согласованность частичного присвоения с ограничениями. В случае согласованности выполняется рекурсивный вызов. Когда все значения испробованы, алгоритм возвращается назад. В этом базовом алгоритме поиска с возвратом согласованность определяется как выполнение всех ограничений, чьи переменные уже имеют значения. Существует несколько вариантов поиска с возвратом. Проставление обратных отметок[англ.][22] повышает эффективность проверки согласованности. Обратный переход[англ.][23][24] позволяет сэкономить часть поиска, в некоторых случаях возвращаясь назад «более чем на одну переменную». Определения ограничений с помощью обучения[англ.] выводит и сохраняет новые ограничения, которые могут быть использованы позже для избежания части поиска. Просмотр вперёд[англ.][25] также часто используется в поиске с возвратом для попытки предвидеть последствия выбора переменной или значения, тем самым иногда заранее определяя, когда подзадача является разрешимой или неразрешимой.

Техники распространения ограничений[англ.][26][27] используются для изменения задач удовлетворения ограничений. Точнее, они являются методами, обеспечивающими локальную согласованность[англ.], которая относится к согласованности группы переменных и/или ограничений. Распространение ограничений имеет несколько применений. Во-первых, оно преобразует задачу в эквивалентную, но обычно более простую для решения. Во-вторых, оно может доказать разрешимость или неразрешимость задач. Это не гарантируется в общем случае, но всегда происходит для некоторых форм распространения ограничений и/или для определённых типов задач. Наиболее известные и используемые формы локальной согласованности — это согласованность по дугам[англ.][28][29], согласованность по гипердугам[англ.][30] и согласованность по путям[англ.][31][32]. Самый популярный метод распространения ограничений — алгоритм AC-3[англ.][33], который обеспечивает совместимость по дугам.

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

Теоретические аспекты

править

Вычислительная сложность

править

ЗУО также изучаются в теории сложности вычислений, теории конечных моделей[англ.] и универсальной алгебре. Выяснилось, что вопросы о сложности ЗУО сводятся к важным универсально-алгебраическим вопросам о базовых алгебрах. Этот подход известен как алгебраический подход к ЗУО[37].

Поскольку любая вычислительная задача разрешимости полиномиально эквивалентна ЗУО с бесконечным шаблоном[38], общие ЗУО могут иметь произвольную сложность. В частности, существуют ЗУО, относящиеся к классу NP-промежуточных[англ.] задач, существование которых было продемонстрировано Ладнером[англ.] при условии, что P ≠ NP.

Однако большой класс ЗУО, возникающих из естественных приложений, удовлетворяет дихотомии сложности, что означает, что каждая ЗУО в этом классе либо принадлежит P либо является NP-полной задачей. Таким образом, эти ЗУО представляют собой одно из крупнейших известных подмножеств NP, которое избегает NP-промежуточных[англ.] задач. Дихотомия сложности была впервые доказана Шефером[англ.] для булевых ЗУО, то есть ЗУО с двуэлементной областью и где все доступные отношения являются булевыми операторами. Этот результат был обобщён для различных классов ЗУО, в первую очередь для всех ЗУО с конечными областями. Эта гипотеза о дихотомии для конечных областей была впервые сформулирована Томасом Федером и Моше Варди[39], а окончательно доказана независимо Андреем Булатовым[40] и Дмитрием Жуком в 2017 году[41].

Другие классы, для которых подтверждена дихотомия сложности, включают

Большинство классов ЗУО, которые известны как разрешимые, это те, где гиперграф ограничений имеет ограниченную древовидную ширину[50][51], или где ограничения имеют произвольную форму, но существуют эквационально нетривиальные полиморфизмы множества отношений ограничений[52].

Гипотеза дихотомии для бесконечных областей[53] была сформулирована для всех ЗУО редукций конечных однородных структур, утверждающая, что ЗУО такой структуры находится в P тогда и только тогда, когда её клон полиморфизмов[англ.] эквационально нетривиален, и в противном случае задача является NP-трудной.

Сложность таких ЗУО, а также других обобщений, (ЗУО с оценками[54][55][56], кванторная ЗУО[57][58], «ЗУО с обещаниями») остаётся областью активных исследований[59].

Любая ЗУО может рассматриваться как задача содержания конъюнктивных запросов[англ.][60].

Функциональные классы

править

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

Варианты

править

Классическая модель задачи удовлетворения ограничений определяет модель статических, негибких ограничений. Эта жёсткая модель является недостатком, затрудняющим простое представление задач[62]. Было предложено несколько модификаций базового определения ЗУО для адаптации модели к широкому кругу задач.

Динамические ЗУО

править

Динамические ЗУО[63][64] (ДЗУО) полезны, когда исходная формулировка задачи каким-либо образом изменяется, обычно потому, что набор рассматриваемых ограничений меняется из-за окружающей среды[65]. ДЗУО рассматриваются как последовательность статических ЗУО, каждая из которых является преобразованием предыдущей, в которой переменные и ограничения могут быть добавлены (усиление ограничений) или удалены (ослабление ограничений)[66]. Информация, найденная в исходных формулировках задачи, может быть использована для уточнения последующих. Метод решения может быть классифицирован в соответствии со способом передачи информации:

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

Гибкие ЗУО

править

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

  • MAX-ЗУО[71][72], допускается нарушение некоторого количества ограничений, а качество решения измеряется количеством удовлетворённых ограничений.
  • Взвешенные ЗУО[англ.][73] — это, MAX-ЗУО, в котором каждое нарушение ограничения взвешивается в соответствии с заранее определённым предпочтением. Удовлетворение ограничения с бо́льшим весом является предпочтительным.
  • Нечёткие ЗУО[74] моделируют ограничения как нечёткие отношения, в которых удовлетворение ограничения является непрерывной функцией значений его переменных, варьируясь от полностью удовлетворённого до полностью нарушенного.

Децентрализованные ЗУО

править

В ДЗУО[75][76][b] каждая переменная ограничения рассматривается как имеющая отдельное географическое положение. Строгие ограничения накладываются на обмен информацией между переменными, требующие использования полностью распределённых алгоритмов для решения задачи удовлетворения ограничений.

См. также

править

Примечания

править
  1. Редукция первого порядка осуществляется в случае однотипных теорий с общими понятиями и едиными принципами, описывающими одно- родные явления. Редукция второго порядка направлена на синтез неоднотипных теорий, описывающих и объясняющих разнородные классы феноменов, с целью сведения их к единому теоретическому компендиуму[42].
  2. В книге «Handbook of Constraint Programming» - Distributed Constraint Programming (распределённое ЗУО)[77].
  1. Kosheleva, Ceberio, Kreinovich, 2014, с. 79.
  2. Lecoutre, 2013, с. 26.
  3. Chandra, Gordon и др., 2016, с. 410–429.
  4. Jim, Trevor, Jens Palsberg. "Type inference in systems of recursive types with subtyping." Available on authors' web page (1999).
  5. Apt, 2003, 2.1 Basic concepts, с. 14.
  6. 1 2 3 4 5 Ghédira, 2013, 1.2.2. Areas of application.
  7. Farhi, Edward; Aram W Harrow (2016). Quantum Supremacy through the Quantum Approximate Optimization Algorithm. arXiv:1602.07674 [quant-ph].
  8. Ghallab, Nau, Traverso, 2004, с. 1–.
  9. Dynamic Flexible Constraint Satisfaction and Its Application to AI Planning, [{{{1}}} Архивировано] 6 февраля 2009 года. Ian Miguel – slides.
  10. Demetriou, 1993, с. 431–436.
  11. MacDonald, Seidenberg, 2006.
  12. Toro, Agon, Rueda, Assayag, 2016, с. 327–331.
  13. Yang, Dong, 2013, с. 99–111.
  14. Modi, Jung и др., 2001.
  15. Russell, Norvig, 2010, Chapter 6.
  16. Apt, 2003, 2.1 Basic concepts.
  17. 1 2 Ghédira, 2013, 1.2.1. Formalism.
  18. Milano, Van Hentenryck, 2011.
  19. Handbook, 2006, 2.2.4 Search: Backtracking.
  20. Handbook, 2006, 4 Backtracking Search Algorithms.
  21. Ghédira, 2013, 3.1.1. The backtracking algorithm.
  22. Ghédira, 2013, 3.1.3.4. The backmarking algorithm.
  23. Handbook, 2006, 4.5.1 Backjumping.
  24. Ghédira, 2013, 3.1.2.1. The backjumping algorithm.
  25. Ghédira, 2013, 3.1.3. Look-ahead algorithms.
  26. Handbook, 2006, 3 Constraint Propagation.
  27. Apt, 2003, 3.2.6 Constraint Propagation.
  28. Apt, 2003, 5.2 Arc consistency.
  29. Handbook, 2006, 3.3 Arc Consistency.
  30. Apt, 2003, 5.3 Hyperarc consistency.
  31. Apt, 2003, 5.5 Path consistency.
  32. Handbook, 2006, 3.4.1 Path Consistency.
  33. Ghédira, 2013, 2.2.3. AC-3.
  34. Handbook, 2006, 5 Local Search Methods.
  35. Handbook, 2006, The Min-Conflicts Heuristic.
  36. Ghédira, 2013, 3.1.2.5. The informed-backtrack algorithm.
  37. Barto, Brady и др., 2024.
  38. Bodirsky, Grohe, 2008, с. 184–196.
  39. Feder, Vardi, 1998, с. 57–104.
  40. Bulatov, 2017, с. 319–330.
  41. Zhuk, 2020, с. 1–78.
  42. Антух Г. Г. ПАРАДОКС НЕРЕДУКТИВНОГО ОБЪЯСНЕНИЯ // Вестник Томского государственного университета. — 2019. — № 51. — С. 5. — doi:10.17223/1998863Х/51/2.
  43. Bodirsky, Kára, 2010, с. 9:1–9:41.
  44. Pinsker, Bodirsky, 2011, с. 655–664.
  45. Bodirsky, Jonsson, Pham, 2017, с. 23:1–23:42.
  46. Kompatscher, Pham, 2017, с. 47:1–47:12.
  47. Bodirsky, Martin, Pinsker, Pongrácz, 2019, с. 1224–1264.
  48. Bodirsky, Mottet, 2018.
  49. Bodirsky, Madelaine, Mottet, 2018, с. 105–114.
  50. Barto, Kozik, 2014, с. 3:1–3:19.
  51. Handbook, 2006, 7.2 Structure-Based Tractability in Inference.
  52. Bodirsky, 2021.
  53. Bodirsky, Pinsker, Pongrácz, 2021, с. 148–161.
  54. Marcin Kozik, Joanna Ochremiak. Algebraic Properties of Valued Constraint Satisfaction Problem. arXiv:1403.0476v3 [cs.CC].
  55. Handbook, 2006, 9.3.2 Valued Constraints.
  56. Ghédira, 2013, 1.2.3.8. Valued CSP.
  57. Гасанов и др., 2024, с. 19.
  58. Handbook, 2006, 16.6.1 Extending Interval Constraints.
  59. Pinsker, Michael (31 марта 2022). Current Challenges in Infinite-Domain Constraint Satisfaction: Dilemmas of the Infinite Sheep. arXiv:2203.17182 [cs.LO].
  60. Kolaitis, Vardi, 2000, с. 302–332.
  61. Cai, Chen, 2012, с. 909–920.
  62. Miguel, Ian (Июль 2001). Dynamic Flexible Constraint Satisfaction and its Application to AI Planning (Ph.D. thesis). University of Edinburgh School of Informatics. CiteSeerX 10.1.1.9.6733. hdl:1842/326.
  63. Dechter, Dechter, 1988, с. 37–42.
  64. Ghédira, 2013, 1.2.3.1. Dynamic CSP.
  65. Verfaillie, Schiex, 1994, с. 307-312.
  66. Handbook, 2006, 21.4 Problems that Change.
  67. Handbook, 2006, 21.4.3 Predicting Changes.
  68. Handbook, 2006, 21.4.1 Pure Reaction.
  69. Handbook, 2006, 21.4.2 Preparing to React by Recording Information.
  70. Handbook, 2006, 21.3 Uncertain Problems.
  71. Handbook, 2006, MaxSAT, с. 294.
  72. Ghédira, 2013, 1.2.3.7. Maximal CSP.
  73. Handbook, 2006, 9.2.2 Weighted Constraints.
  74. Handbook, 2006, 21.3.1 Fuzzy Problems.
  75. Duffy, Leith, 2013, с. 1298–1308.
  76. Ghédira, 2013, 1.2.3.3. Distributed CSP.
  77. Handbook, 2006, Chapter 20.

Литература

править

Литература для дальнейшего чтения

править

📚 Artikel Terkait di Wikipedia

Управляемый локальный поиск

 321—361. M. Yokoo, K. Hirayama. Distributed breakout algorithm for solving distributed constraint satisfaction problems // Proceedings of the Second International

Геометрический решатель САПР

C-tree decomposition algorithm for 2D and 3D geometric constraint solving (англ.). Samy Ait-Aoudia, Sebti Foufou. A 2D geometric constraint solver using a graph

Глубокое обучение

20 февраля 2018 года. Rina Dechter (1986). Learning while searching in constraint-satisfaction problems. Архивная копия от 19 апреля 2016 на Wayback Machine

Булатов, Андрей Арнольдович

достижения в учебно-методической деятельности в 2006 году. Bulatov, Andrei A. Constraint satisfaction problems: complexity and algorithms. (English) Zbl 06894736

Задача поиска изоморфного подграфа

 — С. 1058–1063.. Julian R. Ullmann. Bit-vector algorithms for binary constraint satisfaction and subgraph isomorphism // Journal of Experimental Algorithmics

Обучение ассоциативным правилам

Press, 1995. Roberto J. Bayardo Jr., Rakesh Agrawal, Dimitrios Gunopulos. Constraint-based rule mining in large, dense databases // Data Mining and Knowledge

Алгоритм Шёнинга

e^{-10}\leqslant 5\cdot 10^{-5}} . T. Schoning. A probabilistic algorithm for k-SAT and constraint satisfaction problems // 40th Annual Symposium on Foundations

Список эпизодов телесериала «4исла»

определить координаты " морского клада" Математики применяли: Fluid dynamics, constraint и Оптимизация 51 14 «Ликвидация» «Take Out» Лесли Либман Шон Кроч 2 февраля