Труды КНЦ вып.9 (ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ) вып. 9/2019(10)
л4 5к«сЗ Э- о о Н К ао■■ < сі ч: «к я <D trк ясЗ а1-о Л Ж п К (L> ё к СD F в Кей КсЗ ноо Он и о с Ио К а «Он1 о СD £ tr н КК и Он о о ч и Ч < ч п Рис. 1. Архитектура системы программирования в ограничениях Пользователь-программист может изменять логику управляющей программы, в частности в случае поиска с возвратами пользователь может задавать эвристики для выбора переменной на текущем шаге, значения переменной. Могут задаваться действия, выполняемые в случае обнаружения тупиковой вершины и т.п. В процессе решения конкретной задачи CSP используется следующий механизм активации ограничений (соответствующих процедур- распространителей) по событиям: ограничение активируется, если домен какой- либо переменной, которая входит в данное ограничение, был усечен. Также при активации ограничений имеются определенные приоритеты: сначала активируются наиболее простые ограничения, затем - более сложные, то есть содержащие большее количество переменных. Так, обычно, сначала активируются унарные ограничения, затем бинарные и т.д. Дело в том, что для простых ограничений (унарных, бинарных, иногда используются тернарные) алгоритмы их распространения имеют низкую вычислительную сложность. Именно особенности архитектуры систем программирования в ограничениях создают предпосылки для унификации совместной обработки разнородной (количественной и качественной) информации (ограничений). 130
Made with FlippingBook
RkJQdWJsaXNoZXIy MTUzNzYz