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

Автор: Зуенко Александр Анатольевич

Журнал: Онтология проектирования @ontology-of-designing

Рубрика: Методы и технологии принятия решений

Статья в выпуске: 4 (42) т.11, 2021 года.

Бесплатный доступ

В рамках технологии программирования в ограничениях широко применяются табличные ограничения: обычные таблицы, compressed -таблицы, smart -таблицы, сегментированные таблицы и т.п. С их помощью могут быть представлены любые другие виды ограничений, а алгоритмы распространения табличных ограничений (логического вывода на табличных ограничениях) позволяют отфильтровывать «лишние» значения из доменов переменных, обладая при этом низкой вычислительной сложностью. В предыдущих исследованиях автора было предложено smart -таблицы подразделять на структуры С - и D -типов. Общепринятая методология решения задач удовлетворения ограничений заключается в совместном применении методов распространения ограничений и методов поиска в глубину с возвратами. В настоящем исследовании предлагается интегрировать методы поиска в ширину с авторским методом распространения табличных ограничений. Smart -таблицы D -типа предлагается представлять как соединение нескольких ортогонализованных smart -таблиц С -типа. Шаг поиска заключается в выборе пары smart -таблиц С -типа для соединения и последующем распространении ограничений. Для определения порядка соединения ортогонализованных smart -таблиц на каждом шаге поиска используется специализированная эвристика, которая обеспечивает сокращение пространства поиска с учётом дальнейших вычислений. При распространении ограничений ускорение процесса вычислений достигается за счёт применения разработанных правил редукции для случая smart -таблиц C -типа. Разработанный гибридный метод позволяет отыскивать все решения задач удовлетворения ограничений, моделируемых с помощью одной или нескольких smart -таблиц D -типа, без разложения табличных ограничений в элементарные кортежи.

Еще

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

Короткий адрес: https://sciup.org/170191753

IDR: 170191753   |   УДК: 004.89,   |   DOI: 10.18287/2223-9537-2021-11-4-521-532

Breadth first search and inference methods integration to satisfy table constraints

Within the Constraint Programming technology, so-called table constraints such as typical tables, compressed tables, smart tables, segmented tables, etc, are widely used. They can be used to represent any other types of constraints, and algorithms of the table constraint propagation (logical inference on constraints) allow eliminating a lot of "redundant" values from the domains of variables, while having low computational complexity. In the previous studies, the author proposed to divide smart tables into structures of C - and D -types. The generally accepted methodology for solving constraint satisfaction problems is the combined application of constraint propagation methods and backtracking depth-first search methods. In the study, it is proposed to integrate breadth-first search methods and author`s method of table constraint propagation. D-type smart tables are proposed to be represented as a join of several orthogonalized C-type smart tables. The search step is to select a pair of C-type smart tables to be joined and then propagate the restrictions. To determine the order of joining orthogonalized smart tables at each step of the search, a specialized heuristic is used, which reduces the search space, taking into account further calculations. When the restrictions are extended, the acceleration of the computation process is achieved by applying the developed reduction rules for the case of C-type smart tables. The developed hybrid method allows one to find all solutions to the problems of satisfying constraints modeled using one or several D-type smart tables, without decomposing tabular constraints into elementary tuples.

Еще

Текст научной статьи Интеграция методов поиска в ширину и логического вывода для удовлетворения табличных ограничений

Во многих системах искусственного интеллекта (ИИ) применяются методы логического анализа. Они активно развиваются в рамках такого направления ИИ, как программирование в ограничениях, которое основывается на декларативной парадигме представления знаний в форме задачи удовлетворения ограничений [1].

Задача удовлетворения ограничений описывается множеством переменных X1, X2,…, Xn и множеством ограничений С1, С2,…, Cm [2, 3]. Каждая переменная Xi имеет непустую область определения Di. Каждое ограничение Сi на некотором подмножестве переменных задаёт допустимые комбинации значений для этого подмножества. Решением задачи является полное присваивание значений всем переменным {X1 = v1,^, Xn = vn}, которое удовлетворяет всем ограничениям.

В настоящей работе рассматриваются задачи программирования в ограничениях, где переменные дискретны и определены на конечных множествах значений. Статья посвящена вопросам обработки табличных ограничений [4-14]. Простейшим примером табличных ограничений являются реляционные таблицы. В виде реляционных таблиц, содержащих множество выполняющих подстановок, может быть представлен любой конечный предикат. Такое эксплицитное представление для многих отношений нецелесообразно, поскольку приводит к экспоненциальному росту сложности процедур удовлетворения ограничений. Поэтому предпринимаются попытки разработать более компактное табличное представление качественных зависимостей, в частности были предложены такие виды табличных ограничений как compressed -таблицы ( compressed tables ) и smart -таблицы ( smart tables ) [8-14].

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

Некоторые исследования автора, посвящённые обработке табличных ограничений, описаны в [15, 16], подробный анализ приведён в [17].

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

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

  • 1    Табличные ограничения для представления знаний

В работе [17] предложено рассматривать следующие виды табличных ограничений: обычная реляционная таблица, compressed таблица, basic smart таблица, smart таблица. Smart таблицы являются обобщением всех названных типов табличных ограничений. Smart таблицы предложено подразделять на структуры С - и D -типа. Smart -таблицы могут в своей схеме содержать не только простые, но и составные атрибуты, значениями которых являются отношения из предопределённого множества. Smart -таблицы С -типа соответствуют дизъюнктивным нормальным формам логических формул с элементарными одно и двуместными предикатами, а smart -таблицы D -типа соответствуют конъюнктивным нормальным формам таких формул.

В настоящей работе при записи содержимого smart -таблиц используются две фиктивные компоненты: полная компонента (обозначается « * ») - это множество, равное домену соответствующего (по месту её расположения в кортеже) атрибута; пустое множество - 0 .

Smart -таблица С -типа записывается в виде матрицы, ограниченной прямыми скобками.

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

составляет 35 долларов, при этом должно быть закуплено больше 15 единиц товара 1 и столько же единиц товара 2, либо цена товара 1 равняется 50 долларам, в противном случае.

На языке логических формул это ограничение можно выразить следующим образом:

(X! > 15) л(X1 = X2)л(С = 35) v (X1 < 15)л(С = 50) v (X1 * X2)л(С = 50), где Xi - количество закупаемого товара 1, X1 е [0, 111]; X2 - количество закупаемого товара 2, X2 е [0, 250]; C - цена товара, C е {35, 50}.

Данное ограничение в виде smart -таблицы С -типа запишется так:

> 15

T [ X 1 , X 2 , C , X 1 X 2 ] =

< 15

*

* {35} =

* {50} *

* {50} *

Каждая строка этой smart -таблицы соответствует некоторому дизъюнкту приведённой логической формулы. Данная smart -таблица содержит в описании своей схемы составной атрибут XX 2 , доменом которого является множество бинарных отношений {=, #}.

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

С помощью smart -таблиц D -типа моделируются коньюнктивные нормальные формы (КНФ) конечных предикатов. Содержимое smart -таблицы D -типа заключается в перевёрнутые прямые скобки. Smart -таблицы D -типа позволяют легко вычислять дополнение smart -таблиц С -типа относительно заданного универсума: требуется взять дополнение каждой компоненты smart -таблицы. Например, дополнением smart -таблицы T [ X 1 , X 2 , C , XX 2] является smart -таблица D -типа:

T [ X 1 , X 2 , C , X 1 X 2 ] =

< 15 0 {50}   *

> 15 0 {35} 0

0  0   {35}   =

Smart -таблицу D -типа T можно представить в виде:

[( X , 15) л ( X 1 * X 2 ) л ( С = 50)] v [( X , 15) л ( С = 35)] v [( X 1 = X 2 ) л ( С = 35)],

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

Любую smart -таблицу D -типа можно представить как соединение (обозначено символом Х )нескольких диагональных smart -таблиц C -типа, каждая из которых соответствует некоторой строке исходной smart -таблицы D -типа. Например:

< 15

0

T [ X 1 , X 2 , C , X 1 X 2 ] =

> 15

0

0

0

{50} *

{35} 0

{35}   =

> 15

*

< 15 *   *

*    * {50}

***

*

*

*

*

*

*

- *

*

*

{35}

*

_ *

*

{35} *

*

< 15 *

> 15 *

**

{35} *

{50} =

{35} *

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

Результирующая smart -таблица С -типа «сжато» описывает множество всех выполняющих подстановок КНФ, которая представлена исходной smart -таблицей D -типа. Элементарные подстановки легко получить, рассматривая в отдельности каждую строку smart -таблицы С -типа. Поскольку рассматриваемая smart -таблица является дополнением smart -таблицы T , то она описывает запрещённые комбинации количества товаров и цен. В частности, из первой строки результирующей smart -таблицы С -типа следует, что товар 1 не может быть закуплен по цене 35 долларов, если его количество меньше 15 штук.

Иллюстрацией того, как выполняется соединение smart -таблиц C -типа, может служить соединение второй и третьей таблиц в приведённом выражении (1):

> 15

*    *    * 1

" * *

{35}

*

*

* {35} * _

* *

*

=

’> 15

*

{35}

* 1

> 15

*

*

=

*

*

{35}

*

*

*

{35}

=

При соединении двух smart -таблиц C -типа выполняется соединение каждой строки первого операнда с каждой строкой второго операнда. При соединении строк для компонент, соответствующих общим атрибутам обоих операндов, выполняется операция пересечения множеств.

Так решается задача нахождения множества всех выполняющих подстановок КНФ конечного предиката. В таком виде решение задачи оказывается слишком трудоёмким.

Одним из методов ускорения вычислений может служить ортогонализация, основанная на известном соотношении Порецкого: A v B = A v AB [3].

В частности, справедливы соотношения:

Соединение этих двух ортогонализованных smart -таблиц C -типа имеет вид:

* *1

г * * {35} * 1

-> 15 * {35}  *

=

> 15 * {50} =

{35} * _

* * {50} =

< 15 * {35} *

-> 15  *    *    * 1 -> 15  *    *    * 1  г *  *  {35}  * I г *  *

*    *  {35}   * ~ <  15  *  {35}  * ’ *  *    *     = " *   *

{35}  * 1

{50} =_

> 15 *

< 15 *

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

В общем случае порядок соединения диагональных smart-таблиц C-типа оказывает суще- ственное влияние на скорость процесса вычислений.

Следует отметить, что:

-> 15

*

{35}

* 1

-> 15

* {35}

* 1

>15

*

*

=

> 15

* {50}

=

*

*

{35}

*

< 15

* {35}

*

*

*

{35}

=.

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

Установлены следующие правила редукции для случая smart -таблиц C -типа, позволяющие удалять отдельные «лишние» значения из доменов атрибутов, компонент smart -таблицы, а также исключать из рассмотрения целые строки и столбцы.

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

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

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

Утверждение 4 (У4). Если строка smart -таблицы C -типа содержит хотя бы одну пустую компоненту (строка пуста), то строка удаляется.

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

Утверждение 6 (У6). Если в строке smart -таблицы C -типа усечeна компонента, соответствующая простому атрибуту, который формирует некоторый составной атрибут, то в этой строке компонента, соответствующая упомянутому составному атрибуту, должна быть изменена с учётом нового значения компоненты простого атрибута.

Утверждение 7 (У7). Если в строке smart -таблицы C -типа усечена компонента, соответствующая составному атрибуту, то в этой строке должны быть изменены компоненты соответствующих простых атрибутов с учётом вновь выведенной компоненты.

Утверждение 8 (У8). Если в smart -таблице C -типа усечён домен простого атрибута, который входит в некоторый составной атрибут, то домен составного атрибута должен быть изменён с учётом нового домена простого атрибута.

Утверждение 9 (У9). Если усечён домен составного атрибута, то должны быть изменены и домены соответствующих простых атрибутов с учётом вновь выведенного домена составного атрибута.

Аналогичные правила редукции для случая smart -таблиц D -типа приведены в [17].

  • 2    Предлагаемый метод

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

На каждом шаге поиска предлагается выбирать пару smart -таблиц С -типа таким образом, чтобы максимально сократить область поиска. При выборе smart -таблиц для соединения используется следующая эвристика, заимствованная из работы [18]:

J ( K [ 5 ], T[ R ]) = | K [ 5 ]| х | T R ]| х | S \ R | х | R \ S |, где K [ S ] - первая из пары выбираемых smart -таблиц, T [ R ] - вторая из пары smart -таблиц, выбираемых на текущем шаге поиска, S - схема (набор атрибутов) smart -таблицы K , R - схема (набор атрибутов) smart -таблицы T . Запись | K [ S ]| обозначает число (элементарных) кортежей данной smart -таблицы С -типа.

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

Значения функции J ( K [ S ], T [ R ]) могут значительно отличаться в зависимости от трактовки понятия «кортеж smart -таблицы C -типа». Можно в качестве кортежей smart -таблицы C -типа рассматривать: а) smart -кортежи (строки smart -таблицы); б) элементарные кортежи, получающиеся при преобразовании smart -таблицы в обычную таблицу.

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

Чтобы оценить, какая из трактовок понятия «кортеж smart -таблицы C -типа» позволяет лучше осуществлять выбор пары соединяемых smart -таблиц на шаге поиска, рассмотрен пример.

Пример 2. Пусть имеется smart -таблица, заданная в S = X 1 х X 2 х X 3 х X 4 = {1, 2, 3, 4, 5}:

1

{2,3}

0

{1,2,3}

0

2

!2)

{1,2,5}

{4}

0

з

0

{1,2,4}

{3,4}

{3,5}

4

{I,2}

{3,4,5}

0

{3}

5

0

0

{1,5}

{4}

6

0

{2,3}

{1,2,3}

{1}

7

{2,4,5}

0

{3,5}

{3,5}

8

{5}

0

{2,3,4}

{1,3,4}

9 _

{1,3}

0

{4,5}

0

Данная smart -таблица D -типа может быть представлена как соединение следующих smart -таблиц С -типа:

K i [ X i X з ] М K 2 [ X i X 2 X з ] М K з [ X 2 X з X 4 ] М K 4 [ X 1 X 2 X 4 ] М K 5 [ X з X 4 ] М K б [ X 2 X з X 4 ] М

K7[Xi Xз X4] М Kз[Xi Xз X4] М K9[Xi Xз], где

K 1 [ X 1 X з ] =

{2,3} {1,4,5}

*

{1,2,з}

K 2 [ X 1 X 2 X 3 ] =

{2} {1,3,4,5} {1,3,4,5}

*

*

K 4 [ X ( X 2 X 4 ] =

K 6 [ X 2 X 3 X 4 ] =

{1,2,5} {3,4}

{1,2}

{3,4,5}

{3,4,5}

{2,3}

{1,4,5}

{1,4,5}

*

*

{4}

*

{3, 4,5} {1, 2}

*

K 8 [ X 4 X 3 X 4 ] =

, K з [ X 2 X 3 X 4 ] =

*

*

{3}

{1,2,3} {4,5}

*

{1}

{5}

{1,2,3,4}

{1,2,3,4}

*

{2,3,4} {1,5}

{1,2,4} {3,5} {3,5}

, K 5 [ X 3 X 4 ] =

, K 7 [ X 4 X 3 X 4 ] =

*

*

{1,3,4}

*

*

{3, 4}

{1, 2,5}

*

,

{3,5}

{1,5}     *

{2,3,4} {4} _ ,

{2,4,5} {1,3} {1,3}

, K 9 [ X 4 X 3 ] =

*

*

{3,5} {2,4,5}

{1,3}

*

,

{3,5}

*

{2,4,5} {4,5}

.

В данном случае произведена ортогонализация, целью которой является подсчёт элементарных кортежей в каждой из перечисленных smart -таблиц С -типа.

Элементарный шаг поиска заключается в том, что сначала выполняется соединение двух smart -таблиц С -типа, выбор которых осуществляется согласно приведённой выше эвристике, а затем выполняется процедура распространения ограничений.

Для двух упомянутых интерпретаций понятия «кортеж smart -таблицы C -типа» значения эвристической функции для каждой пары соединяемых на первом шаге поиска smart -таблиц представлены в таблицах 1 и 2.

Таблица 1- Оценка размерности результирующего отношения после выполнения первого шага поиска для варианта с элементарными кортежами

K 1

K 2

K 3

K 4

K 5

K 6

K 7

K 8

K 9

K 1

K 2

0

K 3

4066

9951

K 4

3838

9393

10807

K 5

247

2418

0

2626

K 6

3838

9393

0

10201

0

K 7

0

9951

11449

10807

0

10807

K 8

0

10137

11663

11009

0

11009

0

K 9

0

0

3424

3232

208

3232

0

0

Таблица 2 - Оценка размерности результирующего отношения после выполнения первого шага поиска для варианта со smart -кортежами

K 1

K 2

K 3

K 4

K 5

K 6

K 7

K 8

K 9

K 1

K 2

0

K 3

12

9

K 4

12

9

9

K 5

4

12

0

12

K 6

12

9

0

9

0

K 7

0

9

9

9

0

9

K 8

0

9

9

9

0

9

0

K 9

0

0

12

12

4

12

0

0

Фактическая размерность результирующего отношения, которое получается при соединении пары smart -таблиц, приведена в таблице 3.

Таблица 3 - Фактическая размерность результирующего отношения после соединения пары smart -таблиц на первом шаге поиска

K 1

K 2

K 3

K 4

K 5

K 6

K 7

K 8

K 9

K 1

K 2

207

K 3

2056

1644

K 4

1076

1380

1660

K 5

141

916

153

1036

K 6

2404

1444

255

1612

150

K 7

234

1596

1876

1732

165

1660

K 8

249

1696

1964

1764

147

1796

279

K 9

20

180

1384

1312

132

1120

186

204

Из анализа таблицы 1 и 2 следует, что при обеих интерпретациях понятия «кортеж smart - таблицы C » значение «ноль» эвристической функции соответствует одним и тем же парам соединяемых smart -таблиц. Для вычисления таблицы 1 требуется гораздо больше арифметических операций. Основанием для использования в качестве мощности smart -таблицы количества её smart -кортежей, а не элементарных кортежей, состоит в том, что минимальному (максимальному) значению в таблице 2 соответствует минимальное (максимальное) значение в таблице 3.

С применением предложенной эвристики выбраны для соединения smart -таблицы, имеющие одинаковые схемы: K 1 [ X i X 3] и K 9[ X i X 3 ]. Результат их соединения представлен так:

K i [ X i X j ] М K 9 [ X i X j ] =

{2,3}      * м   {13}      *

{1,4,5} {1,2,3} J   L {2,4,5}  {4,5}

{3}

{2}

{1}

*

{4,5} {1,2,3}

Согласно утверждениям У1-У8 можно «сузить» домен переменной X 1 до множества {1, 2, 3}, «просуммировав» значения первого столбца smart -таблицы K 1[ X l X 3] М K 9[ X l X 3].

Теперь следует произвести «настройку» остальных smart -таблиц C- типа ( K 1 - K 8) на новый домен переменной X 1. На текущем шаге поиска получаются следующие домены переменных и набор smart -таблиц.

Домены : X 1 - {1, 2, 3}, X 2 - {1, 2, 3, 4, 5}, X 3 - {1, 2, 3, 4, 5}, X 4 - {1, 2, 3, 4, 5}.

Ограничения :

K 1 [ X 1 X 3 ] М K 9 [ X 1 X 3 ] =

:Н: ОДЗЯ

[ {2,3}   {4,5} J

K 2 [ X 1 X 2 X 3 ] =

Г {2}

_ {1,3}

*

{1,2,5} {3,4}

* -

*

{4}

, K э [ X 2 X 3 X 4 ] =

Г {1,2

{3 _ {3}

}      *

{3, 4}

{1,2,5}

*

*

{3,5} _

K 4 [ X 1 X 2

X 4 ] =

Г {1,2} {3}

*

{3,4,5}

* 1

*

, K 5 [ X 3 X 4 ] =

" {1,}     * -

Z      -s i        4

,

_ {3}

{1,2}

{3} _

[{2,3} {4}_

" {2,3}      *      * "

K 6 [ X 2 X 3 X 4 ] =

{1}    {1,2,3}   *

_ {1}     {4,5}    {1} _

" {2}       *        *

K 7 [ X 1 X 3 X 4 ] =

{1,3}    {3,5}      *

_ {1,3} {2,4,5} {3,5} _

K 8 [ X 1 X 3 X 4 ] =

{1,2,3}

{1,2,3}

{2,3,4} {1,5}

*

{1,3,4}

В smart -таблицах К 2 - K 7 были откорректированы первые столбцы, в smart -таблице К 8 удалена первая строка. Дальнейшие шаги процесса поиска выполняются по аналогии.

Заключение

В работе предложен поиск всех решений задачи удовлетворения ограничений, представленной с использованием smart -таблиц D -типа, и сводится к определению порядка соединения нескольких ортогонализованных smart -таблиц C -типа. Использована эвристика для выбора на каждом шаге поиска пары соединяемых smart -таблиц C -типа. Рассмотрены два варианта использования данной эвристики. Показано, что при определении размерности smart -таблицы целесообразно использовать количество её smart -кортежей, а не количество элементарных кортежей отношения. Предложены правила редукции для случая smart -таблиц C -типа.

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

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

Исследование выполнено при финансовой поддержке РФФИ в рамках научных проектов № 20-07-00708-а, 19-07-00359-а.

Список литературы Интеграция методов поиска в ширину и логического вывода для удовлетворения табличных ограничений

  • Russel, S. Artificial Intelligence: A Modern Approach. 3rd edition / S. Russel, P. Norvig. - Prentice Hall, 2010. -1132 p.
  • Mackworth, A. Consistency in networks of relations / A. Mackworth // Artificial Intelligence. - 1977. - 8(1). -P. 99-118. DOI: 10.1016/0004-3702(77)90007-8.
  • Bartak, R. Constraint Programming: In Pursuit of the Holy Grail / R. Bartak // Proceedings of the Week of Doctoral Students (WDS99), Part IV. - Prague: MatFyzPress, 1999. P.555-564.
  • Charlier, B. Automatic Synthesis of Smart Table Constraints by Abstraction of Table Constraints / B. Charlier, M. Khong, C. Lecoutre, Y. Deville // Proceedings of IJCAI 2017. 2017. P. 681-687. DOI: https://doi.org/10.24963/ijcai.2017/95.
  • Audemard, G. Segmented Tables: An Efficient Modeling Tool for Constraint Reasoning / G. Audemard, C. Lecoutre, M. Maamar // Proceedings of ECAI 2020. 2020. P.315-322.
  • Yap, R. Generalized Arc Consistency Algorithms for Table Constraints: A Summary of Algorithmic Ideas / R. Yap, W. Wang // Proceedings of AAAI 2020. 2020. P.13590-13597.
  • DOI: https://doi.org/10.1609/aaai.v34i09.7086.
  • Perez, G. Improving GAC-4 for table and MDD constraints / G. Perez, J.C. Regin // CP 2014. LNCS. 2014. 8656. P.606-621. DOI: http://dx.doi.org/10.1007/978-3-319-10428-7_44.
  • Verhaeghe, H. Extending compact-table to negative and short tables / H. Verhaeghe, C. Lecoutre, P. Schaus // Proceedings of AAAI 17. 2017. P.3951-3957. DOI: https://dl.acm.org/doi/abs/10.5555/3298023.3298142.
  • Ingmar, L. Making Compact-Table Compact / L. Ingmar, C. Schulte // Proceedings of CP 2018, Lecture Notes in Computer Science. 2018. Vol.11008. P.210-218. DOI: https://doi.org/10.1007/978-3-319-98334-9_14.
  • Cheng, K. An MDD-based generalized arc consistency algorithm for positive and negative table constraints and some global constraints / K. Cheng, R. Yap // Constraints. 2010. 15(2). P.265-304. DOI: http://dx.doi.org/10.1007/s10601-009-9087-y.
  • Jefferson, C. Extending simple tabular reduction with short supports / C. Jefferson, P. Nightingale // Proceedings of IJCAI 2013, 2013. P.573-579.
  • Mairy, J. The Smart Table Constraint / J. Mairy, Y. Deville, C. Lecoutre // In: Michel, L. (eds.) Integration of AI and OR Techniques in Constraint Programming. CPAIOR 2015. Lecture Notes in Computer Science. - Springer. Cham, 2015. Vol.9075. P.271-287.
  • Verhaeghe, H. Extending Compact-Table to Basic Smart Tables. Principles and Practice of Constraint Programming / H. Verhaeghe, C. Lecoutre, Y. Deville, P. Schaus // CP 2017, Lecture Notes in Computer Science. 2017. 10416. P.297-307. DOI: http://dx.doi.org/10.1007/978-3-319-66158-2_19.
  • Schneider, A. PW-CT: Extending Compact-Table to Enforce Pairwise Consistency on Table Constraints / A. Schneider, B. Choueiry // CP 2018, Lecture Notes in Computer Science. 2018. 11008. P.345-361. DOI: https://doi.org/10.1007/978-3-319-98334-9_23.
  • Zuenko, A. Development of n-tuple algebra for logical analysis of databases with the use of two-place predicates / A. Zuenko, A. Fridman // Journal of Computer and Systems Sciences International. 2009. Vol.48(2). P.254-261. DOI: http://dx.doi.org/10.1134/S1064230709020099.
  • Zuenko, A. Local Search in Solution of Constraint Satisfaction Problems Represented by Non-Numerical Matrices / A. Zuenko // Proceedings of the 2nd International Conference on Computer Science and Application Engineering (CSAE '18) 2018. 45. DOI: 10.1145/3207677.3277959.
  • Зуенко А.А. Компактное представление ограничений на основе новой интерпретации понятия «кортеж многоместного отношения» / А.А. Зуенко // Онтология проектирования. 2020. Т.10. №4(38). С.503-515. DOI: 10.18287/2223-9537-2020-10-4-503-515.
  • Moller, G. On the Technology of Array-Based Logic. / G. M0ller // Ph. D. thesis. - 1995. -http://www.arraytechnology.com/documents/lic.pdf
Еще