Определение задачи удовлетворения ограничений
Использование подходов и алгоритмов искусственного интеллекта (ИИ) позволяет решать многие прикладные задачи, такие, как задачи теории расписаний, задачи проектирования экспертных систем и систем поддержки принятия решений[1], доказательство теорем, задачи тестирования электронных схем, обработка изображений.
Одной из важных задач ИИ является задача удовлетворения ограничений (УО) (constraint satisfaction problem). Теория УО предлагает удобный аппарат и простую формальную схему для представления и решения комбинаторных задач ИИ. Целью решения задачи УО является нахождение значений переменных, удовлетворяющих заданным ограничениям.
Парадигма УО является обобщением пропозициональной логики, в которой переменным могут быть присвоены значения из множества любого числа переменных, а не только «истина» и «ложь».
Проблема существования решений задачи УО является NP-полной.
В искусственном интеллекте парадигма УО признана в качестве удобного и эффективного способа моделирования и решения многих прикладных задач, таких как планирование и календарное планирование, задачи назначения радиочастот, обработка изображений, тестирование сверхбольших интегральных схем СБИС (VLSI), анализ языков программирования и понимание естественного языка. В теории баз данных показано, что ключевая задача оценки конъюнктивных запросов может рассматриваться как задача УО.
Программирование в ограничениях является парадигмой программирования для декларативного описания и эффективного решения комбинаторных задач, тесно связанной с теорией УО.
Многие классические комбинаторные задачи, такие как известная теорема Ферма, задача выполнимости (SAT) из пропозициональной логики, задача раскраски графа и задача изоморфизма графов из теории графов могут формулироваться в виде задач УО (ЗУО).
Остановимся подробнее на одной из давно поставленных задач в математике ‑ задаче о раскраске графа (раскраска карты ‑ частный случай этой задачи, описанной в разделе 4.2.1). Формулировка задачи о раскраске в виде задачи УО ставит в соответствие вершинам раскрашиваемого графа переменные, возможные цвета представляют собой домены (области определения) переменных, а ограничения-неравенства между смежными вершинами являются ограничениями задачи.
Разумеется, в рамках данных обзорных лекций невозможно подробно описать все аспекты и направления теории удовлетворения ограничений и программирования в ограничениях, поэтому более полную информацию можно найти в монографии [33], а также в переводной монографии [26].
Цель настоящей главы ‑ дать представление об основных направлениях теории УО и программирования в ограничениях.
Коснемся вначале терминологии и истории возникновения методов УО.
Montanari[2] предложил использовать модели УО для описания ряда комбинаторных задач, возникающих при компьютерной обработке изображений, и назвал эти задачи УО «сетями ограничений» (networks of constraints). Это связано с тем, что систему ограничений можно представить в виде неориентированного графа с вершинами-переменными и ребрами, соответствующими ограничениям между двумя переменными. По мнению Dechter [33], сети ограничений являются графовым представлением, используемым для поиска стратегий решения задач УО.
Достаточно быстро этот подход был использован для решения гораздо более широкого класса задач. В научной литературе используются оба этих термина ‑ сети ограничений и задачи удовлетворения ограничений.
Задача удовлетворения ограничений (УО) представляет собой кортеж , где ‑ множество переменных, ‑ множество доменов значений переменных, ‑ множество ограничений.
Дата добавления: 2016-06-05; просмотров: 1763;