Задача виконання обмежень

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Зада́ча викона́ння обме́жень (Constraint satisfaction problem) (ЗВО) — це математичні проблеми, визначені як сукупність об'єктів, стан яких має задовільняти ряду обмежень. ЗВО представляє сутності проблеми як однорідний набір обмежень, що накладаються на змінні, які розв'язуються методами виконання обмежень. ЗВО є предметом інтенсивних досліджень і в галузі штучного інтелекту, і дослідженні операцій, оскільки закономірності у формулюванні цих задач складають загальну основу для аналізу та вирішення проблем в багатьох неспоріднених областях. ЗВО часто мають високу складність, що вимагає поєднання евристичних та комбінаторних методів пошуку для швидкого вирішення.
Приклади простих задач, які можуть розглядатись як задачі виконання обмежень: Задача про вісім ферзів, Проблема чотирьох фарб, Судоку.

В загальному випадку, проблема виконання обмежень може бути складнішою і не зводитись до цих простих систем.

Формальне визначення[ред. | ред. код]

Формально задача виконання обмежень визначається трійкою , де  — множина змінних,  — область значень і  — множина обмежень. Кожне обмеження, своєю чергою, є парою (зазвичай представляються матрицею), де  — кортеж з змінних та  — -місне відношення . Оцінка змінної — це функція, що відображає множину змінних на область значень, . Оцінка задовільняє обмеження якщо . Розв'язок — це оцінка, що задовільняє всім обмеженням.

Розв'язання[ред. | ред. код]

Задача виконання обмежень на скінченних областях зазвичай вирішується за допомогою алгоритмів пошуку. Найчастіше використовуються пошук з поверненнями, з обмеженням глибини та локальний пошук.

Пошук з вертанням — це рекурсивний алгоритм. Він підтримує часткове означення змінних. Спочатку всі змінні невизначені. На кожному кроці обираємо змінну та по черзі перебираємо всі можливі її значення. Кожне значення з послідовності зіставляється з обмеженнями; при невідповідності значення обмеженням рекурсивний виклик не виконується. Коли всі значення було переглянуто, алгоритм повертається. В цьому простому алгоритмі з поверненнями під відповідністю розуміємо задоволення всіх обмежень, всі змінні яких були визначені. Існує кілька варіантів повернення. Пошук з вертанням підвищує ефективність перевірки відповідності. Пошук з вертанням дозволяє в деяких випадках пришвидшити пошук за рахунок виключення «більше ніж однієї змінної».

Теоретичні аспекти задачі виконання обмежень[ред. | ред. код]

Проблеми розв'язання[ред. | ред. код]

Задачі виконання обмежень також вивчаються в теорії складності обчислень та теорії кінцевої моделі. Важливе питання полягає в тому, що для кожного набору відношень, множина всіх задач виконання обмежень, що може бути представлена лише за допомогою відношень з цієї множини, є P- або NP-повною задачею. Якщо така дихотомічна теорема справедлива, то задачі виконання обмежень забезпечують одну з найбільших відомих підмножин складності NP, що дозволяє уникнути проміжних задач NP-складності, існування якої було продемонстровано в теоремі ладнері в припущенні, що P ≠ NP. Дихотомічна теорема Шафера оброблює той випадок, коли всі наявні відношення є логічними операторами, тобто множина значень має розмір 2. Дихотомічна теорема Шафера була узагальнена до ширшого класу відношень.[1]

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Bodirsky, Manuel; Pinsker, Michael (2010). Schaefer's theorem for graphs. CoRR. abs/1011.2894: 2894. arXiv:1011.2894. Bibcode:2010arXiv1011.2894B.

Використані посилання[ред. | ред. код]