Методы ускорения комбинаторного поиска на основе матричного представления качественных зависимостей в задачах удовлетворения ограничений

Оригинальная статья / Original article УДК 004.832

DOI: http://dx.d0i.0rg/l0.21285/1814-3520-2018-7-69-87

МЕТОДЫ УСКОРЕНИЯ КОМБИНАТОРНОГО ПОИСКА НА ОСНОВЕ МАТРИЧНОГО ПРЕДСТАВЛЕНИЯ КАЧЕСТВЕННЫХ ЗАВИСИМОСТЕЙ В ЗАДАЧАХ УДОВЛЕТВОРЕНИЯ ОГРАНИЧЕНИЙ

© А.А. Зуенко1

Институт информатики и математического моделирования - обособленное подразделение Федерального исследовательского центра «Кольский научный центр Российской академии наук» (ИИММ КНЦ РАН), 184209, Российская Федерация, г. Апатиты, ул. Ферсмана, 24а.

РЕЗЮМЕ. ЦЕЛЬ. Актуальность представленных исследований определяется важностью моделирования слабо формализованных предметных областей, знания о которых разнородны, носят как количественный, так и качественный характер. С появлением технологии программирования в ограничениях появились предпосылки для унификации совместной обработки разнородных ограничений предметной области, однако, на настоящий момент обработка качественных зависимостей реализуется недостаточно эффективно. Статья посвящена разработке способов экономного представления нечисловых ограничений, а также эффективных методов их удовлетворения. Исследования направлены на ускорение процедур комбинаторного поиска при решении задач удовлетворения ограничений в слабо формализованных предметных областях. МЕТОДЫ. Предлагаемые методы развивают теорию удовлетворения ограничений в части представления и повышения эффективности совместной обработки количественных и качественных зависимостей слабо формализованной предметной области. Для представления и обработки нечисловых (качественных) ограничений предметной области предполагается использовать специализированные матрицеподобные структуры (С- и D-системы), а рассуждения на данных структурах реализовывать в форме процедур удовлетворения ограничений. РЕЗУЛЬТАТЫ И ИХ ОБСУЖДЕНИЕ. Сформулированы две теоремы о свойствах матрицеподобных структур и следствия из них, которые в совокупности с предлагаемыми правилами редукции позволяют успешно распространять нечисловые ограничения: выявлять в пространстве поиска подпространства допустимых и недопустимых присваиваний, проверяя лишь часть значений из области определения переменной. На основе следствий из упомянутых теорем разработаны модификации известных методов распространения ограничений, обеспечивающие достижение вершинной и дуговой совместностей для случая нечисловых ограничений. Данные модификации, в отличие от большинства аналогов, позволяют эффективно редуцировать задачу CSP, даже если она изначально не была представлена посредством совокупности лишь унарных и бинарных ограничений. ВЫВОДЫ. В работе предложен комплексный подход к представлению и обработке качественных зависимостей в слабо формализованных предметных областях, позволяющий обеспечить приемлемую скорость вычислений при исследовании предметных областей со сложными многочисленными связями.

Ключевые слова: теория удовлетворения ограничений, распространение ограничений, матрицеподобные структуры, нечисловые ограничения, алгоритмы достижения совместности, нечисловые ограничения над конечными доменами.

Информация о статье. Дата поступления 04 апреля 2018 г.; дата принятия к печати 04 июня 2018 г.; дата он-лайн-размещения 31 июля 2018 г.

Формат цитирования. Зуенко А.А. Методы ускорения комбинаторного поиска на основе матричного представления качественных зависимостей в задачах удовлетворения ограничений // Вестник Иркутского государственного технического университета. 2018. Т. 22. № 7. С. 69-87. DOI: 10.21285/1814-3520-2018-7-69-87

METHODS FOR ACCELERATING COMBINATORIAL SEARCH BASED ON MATRIX REPRESENTATION OF QUALITATIVE RELATIONSHIPS IN CONSTRAINT SATISFACTION PROBLEMS

A.A. Zuenko

1

Зуенко Александр Анатольевич, кандидат технических наук, старший научный сотрудник, e-mail: zuenko@iimm.ru

Alexander A. Zuenko, Candidate of technical sciences, Senior Researcher, e-mail: zuenko@iimm.ru

Institute of Informatics and Mathematical Modeling - a separate subdivision of the Federal State Budgetary Institution of the Federal Research Center "Kola Scientific Center of the Russian Academy of Sciences" (IIMM KSC RAS), 24а, Fersman St., Apatity, 184209, Russian Federation

ABSTRACT. PURPOSE. The relevance of the presented studies is determined by the importance of modeling of poorly formalized subject domains, the knowledge of which is heterogeneous and has both quantitative and qualitative nature. With the advent of constraint programming technology the conditions for unifying the joint processing of heterogeneous constraints of the subject domain have emerged. However, today qualitative dependencies are not processed effectively enough. The article is devoted to the development of methods for economical representation of non-numerical constraints, as well as effective methods for their satisfaction. The research is aimed at acceleration of the combinatorial search procedures when solving constraint satisfaction problems in poorly formalized subject domains. METHODS. The methods proposed in the article develop the constraint satisfaction theory in the part of representing and improving the efficiency of joint processing of quantitative and qualitative relationships of a poorly formalized subject domain. Presentation and processing of non-numerical (qualitative) constraints of the subject domain is proposed to perform with the use of specialized matrix-like structures (C- and D-systems). The reasoning on these structures should be implemented in the form of constraint satisfaction procedures. RESULTS AND THEIR DISCUSSION. Two theorems on the properties of matrix-like structures and their corollaries are formulated. Together with the proposed reduction rules they can successfully propagate non-numerical constraints: identify the subspaces of legal and illegal assignments in the search space by checking only a part of the values from the variable domain. Based on the corollaries of the theorems mentioned above, the modifications are developed to the known methods of constraint propagation, which provide node and arc consistency for the case of non-numerical constraints. Unlike most analogs these modifications allow the CSP to be effectively reduced, even if it was not originally represented by a set of unary and binary constraints only. CONCLUSIONS. The paper offers a complex approach to the representation and processing of qualitative dependencies in poorly formalized subject domains, which allows to provide an acceptable computational speed in the study of subject domains with complicated multiple relationships.

Keywords: constraint satisfaction theory, constraint propagation, matrix-like structures, non-numerical constraints, consistency algorithms, non-numeric constraints over finite domains

Information about the article. Received April 04, 2018; accepted for publication June 04, 2018; available online July 31, 2018.

For citation. Zuenko A.A. Methods for accelerating combinatorial search based on matrix representation of qualitative relationships in constraint satisfaction problems. Vestnik Irkutskogo gosudarstvennogo tekhnicheskogo universiteta = Proceedings of Irkutsk State Technical University, 2018, vol. 22, no. 7, pp. 69-87. DOI: 10.21285/1814-3520-2018-7-6987 (In Russian).

Введение

Актуальность исследований, представленных в статье, определяется важностью моделирования слабо формализованных предметных областей, знания о которых разнородны, носят как количественный, так и качественный характер. Качественные соотношения (многоместные отношения, логические формулы, экспертные правила и т.п.), описывающие еще до конца не изученные аспекты функционирования системы, органично дополняют аналитические закономерности, уже известные для полностью изученных фрагментов системы. К тому же размерность решаемых задач может быть достаточно большой, что обуславливает применение специализированных методов ускорения вычислительных процедур.

По мнению автора, в рамках технологии программирования в ограничениях имеются предпосылки для унификации способов представления разнородной информации и повышения эффективности совместной обработки качественной и количественной информации.

Программирование в ограничениях - это мощная парадигма для решения задач комбинаторного поиска, которая интегрирует широкий спектр методов таких направлений исследований, как: искусственный интеллект, computer science, исследование операций, математическая логика, теория графов, теория алгоритмов и т.д.

Ключевым понятием данной парадигмы является понятие ограничения, которое трактуется довольно широко. Под ограничением понимается любое соотношение между переменными предметной области. В качестве ограничений могут выступать арифметические выра-

жения (в частности, линейные уравнения/неравенства); логические формулы; таблицы; выражения, формулируемые на языке специализированных теорий (например, теории графов, теории конечных автоматов и т.п.).

Технология программирования в ограничениях позволяет представлять модель задачи в декларативном стиле на языке, близком к языку математики. Для применения рассматриваемой технологии необходимо, чтобы прикладная задача была сформулирована в виде задачи удовлетворения ограничений.

Согласно [1] задача удовлетворения ограничений (Constraint Satisfaction Problem) состоит из трех компонент -X, D, C:

- X - множество переменных {Xi, X2, ..., Xn};

- D- множество доменов {D1, D2, ..., Dn}, где D, является доменом переменнойX;

- C - множество ограничений {C1, C2, ..., Cm}, которые предписывают допустимые комбинации значений переменных.

Каждый домен D, описывает множество допустимых значений V ..., vk} для переменной X. Каждое ограничение есть пара <scope, rel>, где scope - множество переменных, которые участвуют в ограничении, а rel - отношение, регламентирующее допустимые комбинации значений, которые переменные из scope могут принимать.

Ограничения могут быть представлены эксплицитно, то есть путем перечисления всех допустимых комбинаций значений для указанного набора переменных, а могут быть представлены имплицитно, в форме абстрактного отношения, поддерживающего две операции: проверка на принадлежность некоторого кортежа данному отношению, перечисления всех элементов отношения. Второй способ, по сути, требует указания характеристической функции данного отношения.

Состояние задачи описывается как присваивание значений некоторым (частичное присваивание) или всем переменным (полное присваивание): {Xi = v; Xj = Vj, ...}. Решением задачи CSP является полное присваивание, которое удовлетворяет всем ограничениям.

Далее нас будут интересовать только задачи удовлетворения ограничений с конечными областями определения переменных.

В теории удовлетворения ограничений для ограничений над конечными доменами (областями определения переменных) разработаны специализированные алгоритмы, направленные на решение задач комбинаторного поиска [2]. Однако, как и в случае бесконечных доменов, эти ограничения обычно носят характер числовых зависимостей и задаются с помощью базового набора арифметических операций, бинарных отношений равно/неравно, больше/меньше, встроенных функций и т.п., для которых разработаны специализированные процедуры-пропагаторы. Принципиальное отличие качественных ограничений от количественных (числовых) состоит в том, что переменные даже в рамках одного ограничения могут иметь различные типы, а сами ограничения, как правило, не являются бинарными. Существующие на данный момент в теории удовлетворения ограничений методы удовлетворения нечисловых ограничений с конечными доменами недостаточно эффективны.

Недостаточная проработка подобных методов ограничивает возможности решения различных прикладных задач анализа систем со сложными многочисленными связями. Данная работа посвящена разработке компактного («сжатого») представления нечисловых ограничений, позволяющего снизить расход памяти компьютера на представление задачи, а также созданию эффективных методов распространения качественных ограничений, использующих преимущества упомянутого представления.

В статье предлагается качественные зависимости представлять в виде матриц ограничений (С- и D-систем), а вывод на С- и D-системах выполнять с помощью авторских методов распространения нечисловых ограничений.

Возможности унификации представления и обработки количественных и качественных ограничений в рамках парадигмы удовлетворения ограничений

Процесс вывода на ограничениях сводится к поэтапному усечению изначально заданных областей определения переменных. Любой метод удовлетворения ограничений должен проектироваться особым образом и состоять из двух основных частей: части, реализующей поиск, и части, реализующей вывод на ограничениях.

Начнем с описания части, отвечающей за вывод. Как правило, под выводом на ограничениях понимается процесс сокращения размерности пространства поиска, обеспечивающий «сужение» доменов переменных, упрощение ограничений и т.п., при этом имеющий низкую вычислительную сложность (оценивается полиномом низкой степени). Алгоритмы, реализующие вывод на ограничениях, называются алгоритмами-распространителями или алгоритмами-пропагаторами. Данные алгоритмы исключают из областей определения переменных заведомо лишние значения, то есть значения, которые не входят ни в одно из допустимых присваиваний. Завершение алгоритмов-распространителей может произойти с тремя возможными исходами. Во-первых, в результате работы алгоритмов-распространителей может быть получено решение исходной задачи CSP: все домены переменных сужаются до одноэлементных множеств. Во-вторых, может быть установлено, что область определения некоторой переменной пуста, и тогда решения соответствующей задачи CSP не существует. Наконец, алгоритмы-распространители могут остановиться, достигнув некоторой неподвижной точки, а решение задачи CSP еще не получено. В этом случае в дело вступают методы, реализующие стратегии интеллектуального поиска. Эти методы, в отличие от методов вывода, имеют существенную вычислительную сложность, поскольку сопряжены с перебором вариантов гипотез о возможных значениях тех или иных переменных. В отличие от методов динамического программирования, например, метода перемножения числовых матриц (matrix multiplication method), в качестве стратегий поиска в рамках парадигмы программирования в ограничениях используются в основном различные варианты информированного поиска в глубину с возвратами, а также методы локального поиска.

Архитектура систем программирования в ограничениях напоминает архитектуру вычислительных машин (рис. 1). В качестве своеобразной шины данных в системах программирования в ограничениях выступает так называемое хранилище ограничений, представляющее собой помимо собственно ограничений список пар «переменная - перечень значений переменной, которые она может принимать на текущем этапе вывода». Аналогом центрального процессора выступает алгоритм-дирижер (управляющая подпрограмма), реализующий базовую стратегию поиска.

В качестве сопрограмм выступают подпрограммы, реализующие вывод на ограничениях, - распространители ограничений. Для различных типов ограничений и типов областей определения переменных разрабатываются различные алгоритмы -распространители. В частности, для арифметических и логических ограничений целесообразно иметь различные алгоритмы-распространители, учитывающие специфику данных типов ограничений. Продолжая аналогию с архитектурой вычислительных машин, процедуры-распространители соотносятся с дополнительными устройствами (оперативная память, жесткий диск и т.п.), достаточно гибко подключаемыми через шину данных. Кроме стандартных типов ограничений и алгоритмов-распространителей в рамках библиотек программирования в ограничениях существует возможность создания пользовательских типов ограничений и соответствующих процедур распространения. В частности, автором были введены новые типы ограничений - С- и D-системы, а также созданы высокоэффективные методы рассуждений на данных структурах, которые подробно описаны ниже.

Алгоритм-дирижер

Рис. 1. Архитектура системы программирования в ограничениях Fig. 1. Architecture of the constraint-based programming system

Пользователь-программист может изменять логику управляющей программы, в частности, в случае поиска с возвратами пользователь может задавать эвристики для выбора на текущем шаге переменной, а также значения самой переменной. Могут задаваться действия, выполняемые в случае обнаружения тупиковой вершины и т.п.

В процессе решения конкретной задачи CSP используется следующий механизм активации ограничений (соответствующих процедур-распространителей) по событиям: ограничение активируется, если домен какой-либо переменной, которая входит в данное ограничение, был усечен. Также при активации ограничений имеются определенные приоритеты: сначала активируются более простые ограничения, затем - более сложные, то есть содержащие большее количество переменных. Так, обычно сначала активируются унарные ограничения, затем бинарные и т.д. Дело в том, что для простых ограничений (унарных, бинарных, редко используемых тернарных) алгоритмы их распространения имеют низкую вычислительную сложность.

Именно особенности архитектуры систем программирования в ограничениях создают предпосылки для унификации совместной обработки разнородной (количественной и качечтвенной) информации (ограничений). Однако на практике эффективность процедур подобной совместной обработки страдает из-за отсутствия высокопроизводительных процедур-распространителей для качественных ограничений.

Теперь перейдем к описанию авторских методов вывода на нечисловых ограничениях.

Матрицеподобные структуры для представления ограничений

В математике для представления зависимостей предметной области нет более общего понятия, чем понятие многоместного отношения. Многоместное отношение - это множество кортежей, являющихся подмножеством определенного декартова произведения множеств. В информационных системах отношения представляются таблицами. Каждая ячейка таблицы содержит конкретное значение переменной, строка таблицы - это комбинация значений.

Отношение может быть выражено более компактно, чем полным перечислением своих кортежей. Любое отношение может быть представлено как объединение декартовых произведений некоторых множеств. Эта мысль наглядно проиллюстрирована на рис. 2, где слева показано отношение, записанное в виде обычной таблицы, а справа - «сжатая» форма записи многоместного отношения в виде специализированной матрицы.

X Y

c 1

c 2

c 4

c 5

b 2

b 4

d 1

d 5

X

{c} {b} {d}

{1,2,4,5}

{2,4}

{1,5}

a b

Рис. 2. А - табличное представление ограничения; b - представление ограничения в виде специализированной матрицы Fig. 2. А - Table representation of the constraint; b - representation of the constraint in the form of the specialized matrix

Здесь области определения переменных: X- Y- {1,2,3,4,5},

Фактически при матричной записи на рис. 2, Ь между компонентами одной строки опускается знак операции * (декартово произведение), а между строками явно не записывается знак операции и (объединение множеств).

Предлагаемый математический аппарат для «сжатого» представления многоместных отношений использует два типа матрицеподобных структур [3, 4]. Первый вид матрицеподоб-ных структур - это С-системы. С-система - это нечисловая матрица, где в качестве ячеек выступают не отдельные элементы, а множества.

Распишем С-систему, представленную на рис. 2, Ь, в явном виде, то есть в форме алгебраического выражения над множествами:

T [ XY ] =

{с} {1,2,4,5}

{b} {2,4} {d} {1,5}

= {с} x {1,2,4,5} u{b} x {2,4} u {d} x {1,5}.

Графически каждый С-кортеж соответствует некоторой области в признаковом пространстве (декартову произведению множеств), а вся С-система - объединению этих областей (рис. 3, a). Различная штриховка на рисунке соответствует различным кортежам С-системы TXY|: вертикальная штриховка соответствует первой строке С-системы, горизонтальная - второй строке, диагональная - третьей строке.

X

a b c d

a b c d

a b

Рис 3. Графическое представление С-системы

Другой вид матрицеподобных структур, обеспечивающий компактное представление многоместных отношений, - это D-система. Данная матрица записывается в обратных скобках. Ниже приводится D-система P[XY], которая эквивалентна рассмотренной ранее С-системе T[XY] в том смысле, что обе структуры описывают одну и ту же таблицу, представленную на рис 2, а:

=

~{c, d} {2,4} P[ XY ] = {b, c} {1,5}

_ 0 {1,2,4,5} n({b, c} x {1,2,3,4,5} u {a, b, c, d} x{1,5}) n ({a, b, c, d} x{1,2, 4,5}).

О-система также расшифровывается как сложное алгебраическое выражение. Каждая строка О-системы описывает область в признаковом пространстве, которая имеет более сложную структуру, чем декартово произведение (по сути это объединение декартовых произведений). Вся О-система есть пересечение областей, соответствующих отдельным строкам (рис. 3, Ь). Здесь горизонтальная штриховка соответствует первой строке О-системы Р[ХУ], вертикальная - второй строке, а выделение цветом - третьей строке О-системы.

С помощью С-систем удобно моделировать дизъюнктивные нормальные формы (ДНФ) конечных предикатов. Продемонстрируем это на примере. Пусть задан конечный предикат:

ф(х, у, г) = (х=а,Ь) л (у=а,с) V (г=б).

Для простоты все переменные определены на множестве {а, Ь, с, б}. Здесь и далее будем использовать запись вида (х = а,Ь) для обозначения выражения (х = а) V (х = Ь). Учитывая, что область истинности одноместного предиката (х = а, Ь) есть {а, Ь}, то область истинности предиката ф(х, у, г) может быть представлена в виде следующей С-системы:

R[ XYZ ] =

{ a, b} { a, c}

{d}

Атрибуты X, У, Z отношения R[XYZ] соответствуют переменным x, y, z формулы

*

ф(х, у, г). Заметим, что «*» - сокращенное обозначение всего диапазона возможных значений (домена) атрибута. С-систему R[XYZ] можно преобразовать в многоместное отношение следующим образом: ({аЬ^асМаДс^М^Дс^МаДс^МсТ}).

С помощью О-систем моделируются конъюнктивные нормальные формы (КНФ) конечных предикатов. О-система записывается как матрица компонент-множеств, которые заключены в перевернутые скобки. О-системы позволяют легко вычислять дополнение С-систем: берется дополнение для каждой компоненты-множества.

Например, предикат -ф = (-( х = а,Ь ) V -(у=а,с)) л - ( г = d ), что с учетом конечных областей определения переменных равносильно -ф = ((x=c,d) V (y=b,d)) л (г=а,Ь,с). Предикат -Ф может быть выражен как О-система ху2 ]:

R[ XYZ ] =

{с, d} {b, d} 0 0 0 {a, b, с}

Пустая компонента «0» - это фиктивная компонента, не содержащая значений.

В настоящей работе сформулированы две теоремы (для О-систем), лежащие в основе описанных ниже методов локального поиска.

В О-системе со схемой Э и множеством номеров кортежей {пт} выберем некоторый атрибут X (X входит в схему Э) с доменом Ох = {ак}. Для значений из Ох введем отношение частичного порядка «<» следующим образом: а/< а/, тогда и только тогда, когда {п} с {п/}, где а, а] е Ох, а {п/}с{пт} и {п/}с{пт} есть множества номеров строк (кортежей) О-системы, компоненты которых в атрибуте X содержат значения а, и а/, соответственно.

Например, пусть в пространстве Э = {а, Ь, с}*^, е, /}*{Л, д, к} имеется О-система:

1

2

3

4

X {a, b, с} {с} {a} 0 0

Y

{d, e, f} {d, e}

{e} {f}

{f}

Z

{h, g, k}

{h} { g}

{h} {k}

Для удобства объяснения здесь и далее в верхних двух строках О-системы записываются имена атрибутов и множества допустимых значений этих атрибутов (домены атрибутов), а строки О-системы пронумерованы.

Выберем атрибут Y. Множество {п} строк О-системы, содержащих в компонентах Y значение d, представляет собой одноэлементное множество - {1}. Для значения е множество строк - {1, 2}.

Поскольку {1} с {1,2}, то d < е.

Теорема 1. Если некоторое значение а/ атрибута X входит в недопустимое присваивание, то при замене этого значения на другое значение а/ атрибута X, такое, что аI < а/, также получится недопустимое присваивание.

Пусть для приведенной в примере О-системы получено частичное решение: Y - {е}. Это решение является недопустимым, то есть ни один элемент из подпространства {а, Ь, с}*{е}*{Л, д, к} не является решением поставленной ОБР. Вспомним, что d < е. Тогда, по теореме 1 из пространства поиска Э = {а, Ь, с}*^, е, /}*{Л, д, к} можно исключить область {а, Ь, с}*{^ е}*{Л, д, к}. Другими словами, домен переменной Y сужается до одноэлементного множества {/}, и решение (если оно существует) следует искать в подпространстве {а, Ь, с}*{/}*{^, д, к}._

Теорема 2. Если некоторое значение a; атрибута X входит в допустимое присваивание, то при замене этого значения на другое значение aj атрибута X, такое, что ai < a, также получится допустимое присваивание.

Если получено некоторое решение задачи CSP, то на основе теоремы 2, проанализировав одно конкретное решение, иногда удается выделить подпространство в пространстве допустимых присваиваний.

Далее в кратком изложении приведем упомянутые методы решения задач CSP, опишем используемые эвристики и применяемые правила редукции пространства поиска.

Методы удовлетворения ограничений

Как известно, алгоритмы распространения ограничений позволяют свести исходную задачу CSP - <X, D, C>, к более простой задаче - <X', D', C>, где каждая область определения переменных в D' является подмножеством соответствующей области в D, а ограничения C содержат то же множество решений CSP, что и ограничения C, но вид ограничений C', как правило, существенно проще. Наиболее популярными в теории удовлетворения ограничений являются методы, обеспечивающие вершинную совместность (Node Consistency - NC) и дуговую совместность (Arc Consistency - AC) [5, 6]. При этом полагается, что переменным соответствуют вершины некоторого графа, а бинарным ограничениям - его дуги. Строгое определение понятия совместности громоздко, поэтому здесь не приводится.

Далее предлагаются модификации этих алгоритмов, опирающиеся на свойства упомянутых матричных структур. Разработанные автором методы позволяют существенно ускорить достижение вершинной и дуговой совместностей по сравнению с прототипами, основанными на табличном представлении ограничений.

Будем считать, что задача удовлетворения ограничений < X, D, C > описывается в виде единственной D-системы, где каждая строка соответствует определенному ограничению, каждая переменная соотносится с некоторым атрибутом D-системы (столбцом D-системы), а область определения переменной отвечает домену соответствующего атрибута.

В качестве примера возьмем один из вариантов задачи «Магический квадрат».

Пример 1. Пусть имеется квадрат размером 3*3 клетки. В каждой строке (столбце) не должно стоять одинаковых чисел. Множество чисел, которыми заполняется квадрат, -{1, 2, 3}. Каждой клетке сопоставим некоторую переменную Х\ (атрибут D-системы), которая задана на домене - {1, 2, 3}.

Изначально конкретные числа стоят только в трех клетках. Значения остальных переменных не определены (рис. 4). Несмотря на то что в примере областями определения переменных является множество чисел, сами ограничения имеют качественный характер, так как отношение линейного порядка внутри домена не учитывается. Другими словами, числовые значения переменных можно заменить символьными.

Рис. 4. Вариант задачи «Магический квадрат» Fig. 4. Variant of the "Magic square" problem

Решение. Покажем, как с помощью О-системы представить ограничения, выражающие запрет на присутствие одинаковых чисел в первой строке. Остальные ограничения формализуются по аналогии. Сначала рассмотрим следующее ограничение: «в двух клетках Х\ и X/ не может быть одинаковых чисел». Оно является отрицанием утверждения «в двух клетках Х\ и X/ находятся одинаковые числа», которое записывается с помощью такой С-системы:

S[X X/] =

{1} {1} " {2} {2} {3} {3}

Тогда требуемое ограничение для двух клеток будет выражаться как О-система, являющаяся дополнением С-системы X/] относительно {1,2,3} * {1,2,3}:

"{1} {1} " {2,3} {2,3}

WXi X/] = S[XiXj] = {2} {2} = {1,3} {1,3}

_{3} {3}_ {1,2} {1,2}

Теперь выпишем ограничение для всей первой строки магического квадрата: СЭ^ X2 Л3] = W[X1 X2] пе Щ*1 Xз] пе Щ*2 Xз].

В результирующей О-системе 9 строк (кортежей).

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

Факт нахождения в верхней левой клетке магического квадрата числа 3 описывается с помощью еще одного ограничения - десятой строки О-системы.

Имеем следующую задачу ОБР:

X1 {1,2,3} {2,3} {1,3} {1,2} {2,3} {1,3} {1,2} 0 0 0 {3}

1

2

3

4

5

6 7 S

9

10

X2 {1,2,3}

{2,3} {1,3} {1,2} 0 0 0 {2,3} {1,3} {1,2} 0

X3

{1,2,3} 0 0 0 {2,3} {1,3} {1,2} {2,3} {1,3} {1,2} 0

Состояние задачи CSP помимо самой матрицы D-системы характеризуется еще и списком пар «атрибут - домен атрибута», представляющим собой частичное решение.

Теперь уточним некоторые особенности процесса редуцирования пространства поиска (распространения ограничений) на основе матриц ограничений, а именно:

- как уменьшить размерность пространства поиска (упростить описание задачи CSP), не прибегая к ветвлению;

- что служит признаком успешного завершения процесса поиска (в частности, распространения ограничений);

- каков признак того, что поиск зашел в тупик (в частности, признак неуспеха при распространении ограничений).

Для того чтобы ответить на эти вопросы, рассмотрим следующие утверждения, приводимые здесь без доказательств.

Утверждение 1 (У1). Если хотя бы одна строка D-системы пуста (содержит все пустые компоненты), то D-система пуста (CSP несовместна).

Утверждение 2 (У2). Если все компоненты некоторого атрибута пусты, то данный атрибут можно удалить из D-системы (удаляются все компоненты, стоящие в соответствующем столбце), а пара «удаляемый атрибут - его домен» сохраняется в векторе частичного решения.

Утверждение 3 (У3). Если в D-системе есть строка (кортеж), содержащая лишь одну непустую компоненту, то все значения, не входящие в эту компоненту, удаляются из соответствующего домена.

Утверждение 4 (У4). Если строка D-системы содержит хотя бы одну полную компоненту, то данная строка удаляется (можно удалить соответствующее ограничение из системы ограничений).

Утверждение 5 (У5). Если компонента некоторого атрибута D-системы содержит значение, не принадлежащее соответствующему домену, то это значение удаляется из компоненты.

Утверждение 6 (У6). Если одна строка D-системы полностью доминирует (покомпонентно содержит) другую строку, то доминирующая строка удаляется из D-системы.

Ответом на первый вопрос и служит большинство из приведенных утверждений, часть из которых позволяет исключать значения из доменов атрибутов (У3, У5) или даже сами столбцы-атрибуты (У2), а часть дает возможность исключать из рассмотрения лишние строки (У4, У6).

Признак успешного завершения процесса поиска - элиминация из D-системы всех строк и столбцов без образования пустых строк. Другими словами, результирующее состояние в этом случае будет характеризоваться только совокупностью непустых усеченных доменов в векторе решения.

Ответ на третий из поставленных вопросов дает нам У1, то есть признаком несовместности CSP является пустота D-системы.

Утверждения У1-У6 широко используются в разработанных автором алгоритмах распространения ограничений, которые приводятся ниже.

Прежде чем перейти к их изложению, сделаем несколько замечаний и введем понятия, которые потребуются в дальнейшем.

Значение в домене некоторого атрибута будем называть лишним, если не существует решения задачи CSP, куда бы входило данное значение переменной (атрибута D-системы).

Подматрицей D-системы будем называть D-систему, полученную из исходной путем выбора тех компонент, которые стоят на пересечении некоторых строк и столбцов исходной D-системы.

Будем говорить, что значение переменной (атрибута D-системы) в заданном

ограничении имеет поддержку (support), если существуют такие значения для других переменных в этом ограничении, при которых ограничение удовлетворяется.

Предлагаемые в работе алгоритмы не требуют, чтобы производилась предварительная бинаризация всех ограничений. Их основная идея состоит в том, чтобы анализировать не всю исходную D-систему, а выбирать ее подматрицы, которые соответствуют унарным и бинарным ограничениям, то есть ограничениям, где участвуют одна или две переменных. Анализ таких подматриц позволяет рассматривать меньшее число строк и столбцов, чем в исходной матрице D-системы. При этом выявление «лишних» значений в доменах атрибутов подматрицы влечет удаление этих же значений из доменов атрибутов всей исходной D-системы, что в свою очередь приводит к элиминации значений из компонент D-системы, к удалению строк/столбцов D-системы. Когда исходная D-система «настраивается» на новые домены, могут появляться новые унарные и бинарные ограничения, к которым вновь применяются алгоритмы распространения ограничений.

Достижение совместности в узлах. Алгоритмы, обеспечивающие достижение совместности в узлах, позволяют удалить из областей определения всех переменных задачи CSP значения, которые не удовлетворяют унарным ограничениям. Типичный порядок действий при реализации данного алгоритма состоит в том, чтобы просмотреть каждый элемент в области определения каждой переменной и проверить, удовлетворяет ли значение унарным ограничениям на эту переменную. Все значения, которые нарушают унарные ограничения, удаляются из соответствующих областей. После завершения алгоритма исходная задача будет сведена к задаче, которая является совместной в узлах. Пусть a - максимальный размер областей, и n - число переменных в задаче. Так как каждое значение проверяется один раз, то временная и емкостная сложности алгоритма равны O(an).

Алгоритм, обеспечивающий совместность в узлах, в рассматриваемых матрицеподоб-ных структурах может быть записан следующим образом:

Алгоритм «Достижение совместности в узлах»

Для каждого кортежа D-системы G выполнить:

Если кортеж содержит лишь одну непустую компоненту (В), то все значения, не входящие в эту компоненту, удаляются из соответствующего домена D, то есть Di = Bi n D.

После этого сам кортеж элиминируется из G, D-система «настраивается» на новый усеченный домен.

Конец алгоритма.

Другими словами, для достижения совместности в узлах требуется применить сначала У3, а затем У4.

При анализе унарных ограничений (кортежей D-системы специального вида) домены соответствующих атрибутов сужаются. Особенность представления ограничений с конечными доменами в виде D-систем состоит в том, что по мере конкретизации доменов атрибутов имеется возможность легко «настраивать», согласно У5, ограничения (кортежи D-системы) на новые домены, исключая тем самым из пространства поиска подобласти недопустимых присваиваний. При «настройке» ограничений могут появляться новые унарные ограничения, также сужающие области определения некоторых переменных (атрибутов). Описанная процедура распространения ограничений носит итеративный характер и состоит в циклическом применении утверждений У3, У4 и У5.

Используя задачу «Магический квадрат», проиллюстрируем технику итеративной обработки унарных ограничений. Вернемся к D-системе, состоящей из 10-ти строк. Десятая строка содержит лишь одну непустую компоненту, соответствующую атрибуту X1. Опираясь на утверждение У3, усекаем домен атрибута X1 до одноэлементного множества {3}. Теперь элиминируем десятую строку по У4. Имеем:

X1 X2 X3

{3} {1,2,3} {1,2,3}

1 " {2,3} {2,3} 0

2 {1,3} {1,3} 0

3 {1,2} {1,2} 0

4 {2,3} 0 {2,3}

5 {1,3} 0 {1,3}

б {1,2} 0 {1,2}

l 0 {2,3} {2,3}

S 0 {1,3} {1,3}

9 0 {1,2} {1,2} _

Первый столбец содержит значения, которые уже не принадлежат домену атрибута Х\. Поэтому применяем У5 и «настраиваем» компоненты первого столбца на новый домен, исключая значения, не принадлежащие новому домену. Тогда одни компоненты первого столбца становятся пустыми, а другие - полными. После исключения на основе У4 из О-системы строк 1, 2, 4, 5, в первом столбце остаются только пустые компоненты. Значит, можно, воспользовавшись утверждением У2, исключить первый столбец из О-системы и пополнить вектор частичного решения. Имеем:

Частичное решение: X - {3}. Остаток О-системы:

X2 X3

{1,2,3} {1,2,3}

3 " {1,2} 0

б 0 {1,2}

l {2,3} {2,3}

S {1,3} {1,3}

9 {1,2} {1,2}

В полученной О-системе строки с номерами 3 и 6 имеют по одной непустой компоненте. Значит, принимая во внимание У3, домены атрибутов Х2 и Х3 редуцируются до множества {1, 2}. Затем по У4 из О-системы исключаются сами строки 3 и 6. После чего, согласно У5, производится 2настройка2 О-системы на новые домены. Получаем: Частичное решение: X - {3}. Остаток О-системы:

X2

{1,2} {1,2}

l " {2} {2}

S {1} {1}

9 {1,2} {1,2}

По У4 из оставшейся D-системы элиминируется строка 9, поскольку она содержит полные компоненты. Далее распространить ограничения не представляется возможным. Действительно, применив естественные рассуждения, мы получаем тот же результат: поскольку в крайней левой клетке первой строки магического квадрата уже стоит цифра 3, то в оставшихся двух клетках могут быть только цифры 1 и 2, но какая цифра и где она стоит, однозначно сказать нельзя без анализа других ограничений магического квадрата.

Достижение совместности по дугам. В отличие от алгоритмов достижения совместности в узлах алгоритмы этого типа более сложны. В настоящее время существует ряд алгоритмов достижения совместности по дугам [5-8]. Наиболее используемым из этого множества является алгоритм AC-3 [6], который также применяется и в алгоритмах установления совместности для непрерывных областей. Здесь рассматривается только этот алгоритм, точнее, его модификация, учитывающая особенности матричного представления ограничений.

Алгоритмы достижения совместности по дугам в общем случае удаляют больше «лишних» значений из доменов переменных, чем алгоритмы, работающие с унарными ограничениями. Основное действие в алгоритме достижения совместности по дугам - это установление совместности для каждой дуги. Уточним понятие дуги.

Сформируем подматрицу исходной D-системы следующим образом: выберем все строки исходной D-системы, которые содержат непустые компоненты только в позициях, соответствующих фиксированным атрибутам X и У. Такая подматрица моделирует некоторое бинарное отношение (ограничение). Данное бинарное отношение на графе можно изобразить двумя дугами: дугой (X, У) и дугой (У, X), где X, У - некоторые переменные (в нашей терминологии - атрибуты). По сути, дуги задают направление проверки бинарного отношения: в первом случае исключаются «лишние» значения из домена переменной X (DX), во втором - из домена переменной У (Dy).

Дугу (X, У) можно сделать совместной, удаляя из DX все значения, для которых не существует таких значений в Dy, чтобы удовлетворялось соответствующее бинарное ограничение. Другими словами, из DX исключаются все значения, не имеющие поддержки в Dy. При таком удалении из DX заведомо не выкидывается ни одного решения исходной задачи CSP. Процедура достижения совместности для одной дуги может быть сформулирована следующим образом:

Процедура REVISE_DOMAIN

DELETED <- ложь;

Для каждого значения a е DXвыполнить шаги:

Вычислить C[XV] og Q[XV], где Q[XY] = ]{a} 0 - унарное ограничение, описывающее присваивание переменной X значения a; ЦХУ - рассматриваемое бинарное отношение (ограничение).

Проверить c применением алгоритма достижения совместности в узлах справедливость утверждения C[XT] og QXT] 4 0.

Если С^У og О[ХУ] = 0 (не существует значения b е Dy, соответствующего значению a е DX, которые вместе входили бы в допустимое присваивание для CXT]) то усечь домен Dx: Dx = Dx \ {a};

DELETED <- истина

Возврат с DELETED

Данную процедуру можно существенно ускорить, если использовать следствия из ранее введенных теорем 1, 2.

Следствие 1 (из теоремы 1). Если при проверке совместности дуги (X, У) значение aj атрибута X оказывается «лишним», то «лишними» также являются и все значения множества {a}} с DX, такие, что: a< a.

Следствие 2 (из теоремы 2). Если при проверке совместности дуги (X, У) найдется такое значение a, атрибута X, что оно имеет поддержку в домене атрибута У, то и все

элементы множества^;} с DX, такие, что a, < a, также имеют поддержку.

Для того чтобы сделать граф ограничений совместным по дугам, как правило, недостаточно выполнить процедуру REVISE для каждой дуги однажды, требуется многократная проверка дуг. Эту проверку предлагается реализовывать по аналогии с алгоритмом AC-3.

Приведем пример, иллюстрирующий совместную работу рассмотренных алгоритмов достижения вершинной и дуговой совместностей. Содержательная интерпретация данного примера несущественна.

Пример 2. Пусть задача CSP записана в пространстве {с, d, e}*{a, b, c, d, e}*{b, d} в виде D-системы:

X2 X3

{с, d, e} {a, b, с, d, e} {b, d}

1 " {с} {b, e} {d}

2 {e} 0 {b}

3 {d, e} {b, d} 0

4 {e} {a, с} 0

5 0 {a, с} {b}

б {с, d} { a, d} 0

Требуется найти хотя бы одно решение задачи ОБР. Решение. В данной О-системе выделим следующую подматрицу:

3

4 б

{с, d, e} {d, e} {e} {с, d }

X2

{a, b, с, d, e} {b, d } {a, с} { a, d}

Рассмотрим дугу (Х1, Х2). Исходя из анализа первого столбца, для значений атрибута Х1 можно задать следующее отношение частичного порядка с < б, значение е несравнимо с остальными значениями. Для атрибута Х1 сначала будем проверять значение с, опираясь на следствие 2. При выборе данного значения первые компоненты строк 3 и 4 становятся пустыми, а вторые компоненты этих строк противоречат друг другу. Следовательно, проверка показывает, что значение с является «лишним» значением в домене атрибута Х1. Новый домен атрибута Х1 - {б, е}. После «настройки» подматрицы на новый домен атрибута Х1 получаем:

Хх Х2 {й, е} {а, Ь, с, й, е}

4 б

{e} {d}

{ a, с} { a, d}

Затем проверяем значения б и е. Проверка этих значений не позволяет сузить домен атрибута Х1.

Рассматриваем дугу (Х2, Х1). Для атрибута Х2 частично упорядоченное множество значений домена выглядит следующим образом: б < а; с < а, остальные значения несравнимы. Проверяем сначала значения с и б. Данные значения имеют поддержку в домене атрибута Х1, а именно, {б} и {е} соответственно. Значит, согласно следствию 2, значение а также будет иметь поддержку. Осталось проверить значения Ь и е. Оба эти значения не имеют поддержки в атрибуте Х1, значит, их можно исключить из домена атрибута Х2. Проверка выбранной подматрицы завершена, соответствующая подзадача ОБР совместна по дугам.

После «настройки» исходной О-системы на вновь полученные домены имеем:

Xl X2 X3

{d, e} {a, с, d} {b, d}

1 " 0 0 {d}

2 {e } 0 {b }

4 {e} {a, с} 0

5 0 {a, с} {b}

б {d} { a, d} 0

Далее запускается процедура обработки унарных ограничений. В итоге решение задачи ОБР будет следующим: Х1 - {е}, Х2 - {а}, Х3 - {б}.

Все строки О-системы были вычеркнуты в результате «настройки» на вновь полученные домены, следовательно, получено допустимое решение ОБР.

В разбираемом примере применение разработанных автором алгоритмов распространения ограничений позволило получить решение задачи ОБР.

Однако в некоторых случаях предлагаемые методы останавливаются, достигнув неподвижной точки, при этом решение задачи CSP может быть еще не получено. Поэтому подобные методы обычно применяются совместно со стратегиями поиска с возвратами [8, 9], обеспечивающими систематическое исследование пространства поиска, и/или с методами обработки глобальных ограничений [10, 11].

Организация поиска в глубину с возвратами. Все задачи удовлетворения ограничений можно разделить на следующие категории:

1) задачи, в которых достаточно найти одно любое решение;

2) задачи, в которых требуется найти все решения;

3) задачи, в которых надо найти оптимальное решение, где оптимальность определяется в соответствии с некоторым критерием. В таких задачах часто бывает достаточно найти почти оптимальное решение.

Здесь кратко рассмотрим один из методов поиска в глубину с возвратами, основанный на матричном представлении ограничений и использующий описанные ранее алгоритмы распространения ограничений для нахождения одного из решений задачи ОБР. Его подробное описание можно найти в [12]. При внесении незначительных изменений метод может быть адаптирован и для решения задач ОБР двух других категорий. В предлагаемом методе дерево поиска представляется как дерево частичных присваиваний - это дерево, где каждая вершина соответствует некоторому частичному присваиванию. Корень дерева отвечает пустому присваиванию. В каждой вершине V выбирается лишь одна переменная, которой еще не было присвоено значение на предыдущих уровнях дерева поиска. Заметим, что это далеко не

единственный способ построения дерева поиска. В работе [13] описан разработанный автором метод, который строит дерево поиска, сопоставляя его уровням не переменные (атрибуты), а уравнения системы ограничений.

Среди методов поиска в глубину, используемых при решении CSP, можно выделить те методы, где переменные просматриваются в некотором заранее выбранном порядке. Однако такое статическое упорядочение переменных редко приводит к эффективному поиску. Следовательно, выбор переменной и присваиваемого ей значения должен осуществляться динамически на каждом шаге поиска. Для осуществления подобного выбора применяются различного рода эвристики, позволящие отложить исследование менее перспективных ветвей дерева поиска, отдав предпочтение более перспективным с точки зрения скорейшего получения решения.

Далее опишем используемый в предлагаемом методе эвристики механизм возврата из тупиковых вершин.

Выбор наилучшего преемника на основе эвристик. Для выбора наилучшего преемника текущей вершины дерева поиска необходимо ответить на вопросы:

1. Какой переменной на данном шаге присваивать значения?

2. Какое из выбранных значений переменной быстрее всего может привести к цели?

Для ответа на данные вопросы в настоящей работе предлагаются эвристики:

31. Выбирать атрибут с доменом, содержащим наименьшее количество значений, что позволяет проверять меньшее количество преемников.

32. В случае неоднозначности выбора, производимого согласно Э1, выбирать атрибут, количество непустых компонент которого максимально.

33. Для формирования нового одноэлементного домена выбирать наиболее часто встречающееся в соответствующем столбце D-системы значение атрибута.

Предлагаемый метод предназначен для систематического исследования пространства поиска на основе анализа дерева частичных присваиваний, то есть гарантированно позволяет либо получить решение, либо установить, что его не существует. Систематичность достигается благодаря тому, что производится регистрация ранее исследованных альтернатив. После обнаружения тупиковой вершины осуществляется возврат к некоторой точке ветвления, расположенной выше в дереве поиска. При этом используется механизм обратного перехода, управляемого конфликтами (conflict-directed backjumping).

Выводы

В работе сформулированы две теоремы о свойствах D-систем и следствия из них, которые в совокупности с предлагаемыми правилами редукции позволяют успешно распространять нечисловые ограничения над конечными доменами: выявлять в пространстве поиска подпространства допустимых и недопустимых присваиваний, проверяя лишь часть значений в домене.

На основе следствий из упомянутых теорем разработаны модификации известных методов распространения ограничений, в частности, обеспечивающие достижение вершинной и дуговой совместностей для случая нечисловых ограничений. Данные модификации, в отличие от большинства аналогов, позволяют редуцировать задачу CSP, даже если она изначально не была представлена посредством совокупности лишь унарных и бинарных ограничений. Предлагаемые методы носят итеративный характер и позволяют некоторые экземпляры задач CSP сводить к задачам меньшей размерности без организации ветвлений.

Для случая, когда методы редукции останавливаются, не достигнув решения CSP, автором описан метод систематического поиска решений задачи удовлетворения ограничений, где, помимо упомянутых алгоритмов достижения совместностей, применяются оригинальные эвристики. Динамически управляя выбором столбцов D-системы (атрибутов) и значений атри-

бутов, то есть, формируя дерево поиска на основе анализа текущего состояния задачи CSP, удается свести к минимуму вероятность выполнения возвратов из тупиковых вершин дерева поиска.

Работа выполнена при поддержке РФФИ (проекты №№ 16-07-00377a, 16-07-00562a, 16-07-00273a, 18-07-00615а).

Библиографический список

1. Bartak R. Constraint Programming: In Pursuit of the Holy Grail: Proceedings of the Week of Doctoral Students (WDS99). Prague: MatFyzPress. 1999. Vol. IV. P. 555-564.

2. Russel S., Norvig P. Artificial Intelligence: A Modern Approach. 3nd ed. Pearson Education. (2010).

3. Кулик Б.А. Зуенко А.А., Фридман А.Я. Алгебраический подход к интеллектуальной обработке данных и знаний. СПб.: Изд-во Политехнического ун-та. 2010. 235 с.

4. Zakrevskij A. Integrated Model of Inductive-Deductive Inference Based on Finite Predicates and Implicative Regularities // In Diagnostic Test Approaches to Machine Learning and Commonsense Reasoning Systems. IGI Global. 2013. P. 1-12. DOI: 10.4018/978-1 -4666-1900-5.ch001

5. Mackworth A.K. Consistency in Networks of Relations // Artificial Intelligence. 1977. Vol. 8. No. 1. P. 99-118.

6. Mackworth A.K. The complexity of some polynomial network consistency algorithms for constraint satisfaction problems // Artificial Intelligence. 1997. Vol. 8. P. 99-118.

7. Bessiere C. Using constraint metaknowledge to reduce arc consistency computation // Artificial Intelligence. 1994. Vol. 65. P. 179-190.

8. Regin J-C. A Filtering Algorithm for constraints of difference in CSPs. Proceedings AAAI-94. Seattle. Washington. 1994. P. 362-367.

9. Ruttkay Zs. Constraint satisfaction a survey // CWI Quarterly. 1998. Vol. 11. P. 163-214.

10. Regin J-C. Generalized arc consistency for global cardinality constraint. Proceedings of the Thirteenth National Conference on Artificial Intelligence. Portland. 1996. P. 209-215.

11. Rossi F., van Beek P. & Walsh T. Constraint Programming. In F. van Harmelen, V. Lifschitz, B. Porter (Eds.). Foundations of Artificial Intelligence. Handbook of Knowledge Representation. 2008. Vol. 3. P. 181 -211.

12. Зуенко А.А. Вывод на ограничениях с применением матричного представления конечных предикатов // Искусственный интеллект и принятие решений. 2014. Вып. 3. С. 21-31.

13. Зуенко А.А., Очинская А.А. Эвристический метод удовлетворения ограничений на основе их матричного представления // Открытые семантические технологии проектирования интеллектуальных систем: материалы IV Междунар. научн.-техн. конф. (Минск, 19-21 февраля 2015 г.). Минск: Изд-во БГУИР. 2015. С. 297-302.

References

1. Bartak R. Constraint Programming: In Pursuit of the Holy Grail: Proceedings of the Week of Doctoral Students (WDS99). Prague: MatFyzPress. 1999, vol. IV, pp. 555-564.

2. Russel S., Norvig P. Artificial Intelligence: A Modern Approach. 3nd ed. Pearson Education. (2010).

3. Kulik B.A. Zuenko A.A., Fridman A.Ya. Algebraicheskii podhod k intellektual'noi obrabotke dannykh i znanii [Algebraic approach to intelligent processing of data and knowledge]. Saint-Petersburg: Polytechnic University Publ., 2010, 235 p. (In Russian).

4. Zakrevskij A. Integrated Model of Inductive-Deductive Inference Based on Finite Predicates and Implicative Regularities // In Diagnostic Test Approaches to Machine Learning and Commonsense Reasoning Systems. IGI Global. 2013, pp. 1-12. DOI: 10.4018/978-1-4666-1900-5.ch001

5. Mackworth A.K. Consistency in Networks of Relations. Artificial Intelligence. 1977, vol. 8, no. 1, pp. 99-118.

6. Mackworth A.K. The complexity of some polynomial network consistency algorithms for constraint satisfaction problems. Artificial Intelligence. 1997, vol. 8, pp. 99-118.

7. Bessiere C. Using constraint metaknowledge to reduce arc consistency computation. Artificial Intelligence. 1994, vol. 65, pp. 179-190.

8. Regin J-C. A Filtering Algorithm for constraints of difference in CSPs. Proceedings AAAI-94. Seattle. Washington. 1994, pp. 362-367.

9. Ruttkay Zs. Constraint satisfaction a survey. CWI Quarterly. 1998, vol. 11, pp. 163-214.

10. Regin J-C. Generalized arc consistency for global cardinality constraint. Proceedings of the Thirteenth National Conference on Artificial Intelligence. Portland. 1996, pp. 209-215.

11. Rossi F., van Beek P. & Walsh T. Constraint Programming. In F. van Harmelen, V. Lifschitz, B. Porter (Eds.). Foundations of Artificial Intelligence. Handbook of Knowledge Representation. 2008, vol. 3, pp. 181 -211.

12. Zuenko A.A. Vyvod na ogranicheniyah s primeneniem matrichnogo predstavleniya konechnyh predikatov [Conclusion

on constraints using the matrix representation of finite predicates] Iskusstvennyi intellekt i prinyatie reshenii [Scientific and Technical Information Processing]. 2014, issue 3, pp. 21-31. (In Russian).

13. Zuenko A.A., Ochinskaya A.A. Evristicheskii metod udovletvoreniya ogranichenii na osnove ikh matrichnogo pred-stavleniya [Heuristic method of constraint satisfaction based on their matrix representation]. Materialy IV Mezhdunarod-noi nauchno-tekhnicheskoi konferentsii. "Otkrytye semanticheskie tekhnologii proektirovaniya intellektual'nykh system" [Proceedings of IV International scientific and technical conference " Open Semantic Technologies for Intelligent Systems Design"]. Minsk: Belarusian State University of Informatics and Radioelectronics Publ., 2015, pp. 297-302.

Критерии авторства

Зуенко А.А. провел исследование, подготовил статью к публикации и несет ответственность за плагиат.

Authorship criteria

Zuenko A.A. has conducted the study, prepared the article for publication and bears the responsibility for plagiarism.

Конфликт интересов

Зуенко А.А. заявляет об отсутствии конфликта интересов.

Conflict of interests

Zuenko A.A. declares that there is no conflict of interests regarding the publication of this article.