Зада́ча викона́ння обме́жень (Constraint satisfaction problem) (ЗВО) — це математичні проблеми, визначені як сукупність об'єктів, стан яких має задовільняти ряду обмежень. ЗВО представляє сутності проблеми як однорідний набір обмежень, що накладаються на змінні, які розв'язуються методами виконання обмежень. ЗВО є предметом інтенсивних досліджень і в галузі штучного інтелекту, і дослідженні операцій, оскільки закономірності у формулюванні цих задач складають загальну основу для аналізу та вирішення проблем в багатьох неспоріднених областях. ЗВО часто мають високу складність, що вимагає поєднання евристичних та комбінаторних методів пошуку для швидкого вирішення.Приклади простих задач, які можуть розглядатись як задачі виконання обмежень: Задача про вісім ферзів, Проблема чотирьох фарб, Судоку.
В загальному випадку, проблема виконання обмежень може бути складнішою і не зводитись до цих простих систем.
Формальне визначення Формально задача виконання обмежень визначається трійкою , де — множина змінних, — область значень і — множина обмежень. Кожне обмеження, своєю чергою, є парою (зазвичай представляються матрицею), де — кортеж з змінних та — -місне відношення . Оцінка змінної — це функція, що відображає множину змінних на область значень, . Оцінка задовільняє обмеження якщо . Розв'язок — це оцінка, що задовільняє всім обмеженням.
Розв'язання Задача виконання обмежень на скінченних областях зазвичай вирішується за допомогою алгоритмів пошуку. Найчастіше використовуються пошук з поверненнями, з обмеженням глибини та локальний пошук.
Пошук з вертанням — це рекурсивний алгоритм. Він підтримує часткове означення змінних. Спочатку всі змінні невизначені. На кожному кроці обираємо змінну та по черзі перебираємо всі можливі її значення. Кожне значення з послідовності зіставляється з обмеженнями; при невідповідності значення обмеженням рекурсивний виклик не виконується. Коли всі значення було переглянуто, алгоритм повертається. В цьому простому алгоритмі з поверненнями під відповідністю розуміємо задоволення всіх обмежень, всі змінні яких були визначені. Існує кілька варіантів повернення. Пошук з вертанням підвищує ефективність перевірки відповідності. Пошук з вертанням дозволяє в деяких випадках пришвидшити пошук за рахунок виключення «більше ніж однієї змінної».
Теоретичні аспекти задачі виконання обмежень
Проблеми розв'язання Задачі виконання обмежень також вивчаються в теорії складності обчислень та теорії кінцевої моделі. Важливе питання полягає в тому, що для кожного набору відношень, множина всіх задач виконання обмежень, що може бути представлена лише за допомогою відношень з цієї множини, є P- або NP-повною задачею. Якщо така дихотомічна теорема справедлива, то задачі виконання обмежень забезпечують одну з найбільших відомих підмножин складності NP, що дозволяє уникнути проміжних задач NP-складності, існування якої було продемонстровано в теоремі ладнері в припущенні, що P ≠ NP. Дихотомічна теорема Шафера оброблює той випадок, коли всі наявні відношення є логічними операторами, тобто множина значень має розмір 2. Дихотомічна теорема Шафера була узагальнена до ширшого класу відношень.
Див. також Зворотний перехід
Примітки
Використані посилання CSP Tutorial
ISBN 0-12-701610-4
ISBN 1-55860-890-7 ISBN 0-521-82583-0 ISBN 978-1-84821-106-3 Tomás Feder, Constraint satisfaction: a personal perspective , manuscript. Constraints archive Forced Satisfiable CSP Benchmarks of Model RB Benchmarks — XML representation of CSP instances Dynamic Flexible Constraint Satisfaction and Its Application to AI Planning, Ian Miguel — slides. Constraint Propagation — Dissertation by Guido Tack giving a good survey of theory and implementation issues