МЕТОДЫ И ТЕХНОЛОГИИ ПРИНЯТИЯ РЕШЕНИЙ
УДК 004.89, 004.832 DOI: 10.18287/2223-9537-2021-11-4-521-532
Интеграция методов поиска в ширину и логического вывода для удовлетворения табличных ограничений
А.А. Зуенко
Институт информатики и математического моделирования - обособленное подразделение Федерального государственного бюджетного учреждения Федерального исследовательского центра «Кольский научный центр Российской академии наук» (ИИММКНЦРАН), Апатиты, Мурманской обл., Россия
Аннотация
В рамках технологии программирования в ограничениях широко применяются табличные ограничения: обычные таблицы, compressed-таблицы, smart-таблицы, сегментированные таблицы и т.п. С их помощью могут быть представлены любые другие виды ограничений, а алгоритмы распространения табличных ограничений (логического вывода на табличных ограничениях) позволяют отфильтровывать «лишние» значения из доменов переменных, обладая при этом низкой вычислительной сложностью. В предыдущих исследованиях автора было предложено smart-таблицы подразделять на структуры С- и D-типов. Общепринятая методология решения задач удовлетворения ограничений заключается в совместном применении методов распространения ограничений и методов поиска в глубину с возвратами. В настоящем исследовании предлагается интегрировать методы поиска в ширину с авторским методом распространения табличных ограничений. Smart-таблицы D-типа предлагается представлять как соединение нескольких ортогонализованных smart-таблиц С-типа. Шаг поиска заключается в выборе пары smart-таблиц С-типа для соединения и последующем распространении ограничений. Для определения порядка соединения ортогонализованных smart-таблиц на каждом шаге поиска используется специализированная эвристика, которая обеспечивает сокращение пространства поиска с учётом дальнейших вычислений. При распространении ограничений ускорение процесса вычислений достигается за счёт применения разработанных правил редукции для случая smart-таблиц С-типа. Разработанный гибридный метод позволяет отыскивать все решения задач удовлетворения ограничений, моделируемых с помощью одной или нескольких smart-таблиц D-типа, без разложения табличных ограничений в элементарные кортежи.
Ключевые слова: программирование в ограничениях, smart-таблицы, поиск в ширину, распространение ограничений, задача удовлетворения ограничений.
Цитирование: Зуенко, А.А. Интеграция методов поиска в ширину и логического вывода для удовлетворения табличных ограничений/ А.А. Зуенко // Онтология проектирования. - 2021. - Т.11, №4(42). - С.521-532. - DOI: 10.18287/2223-9537-2021-11-4-521-532.
Введение
Во многих системах искусственного интеллекта (ИИ) применяются методы логического анализа. Они активно развиваются в рамках такого направления ИИ, как программирование в ограничениях, которое основывается на декларативной парадигме представления знаний в форме задачи удовлетворения ограничений [1].
Задача удовлетворения ограничений описывается множеством переменных Х\, Х2,..., Хп и множеством ограничений С\, С2,..., Ст [2, 3]. Каждая переменная X\ имеет непустую область определения Д-. Каждое ограничение С^ на некотором подмножестве переменных задаёт допустимые комбинации значений для этого подмножества. Решением задачи является полное
присваивание значений всем переменным {X1 = vi,..., 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 долларам, в противном случае. На языке логических формул это ограничение можно выразить следующим образом:
(Х > 15) л (X = Х2) л (С = 35) v (X < 15) л (С = 50) v (X ф Х2) л (С = 50),
где Х1 - количество закупаемого товара 1, Х1 е [0, 111]; Х2 - количество закупаемого товара 2, Х2 е [0, 250]; С - цена товара, С е {35, 50}.
Данное ограничение в виде smart-таблицъl С-типа запишется так:
"> 15 * {35} ="
Т [ Х1, X2, С, Х1X2] =
< 15
*
* {50}
* {50}
ф
Каждая строка этой ¿та^-таблицы соответствует некоторому дизъюнкту приведённой логической формулы. Данная ¿таг^таблица содержит в описании своей схемы составной атрибут Х1Х2, доменом которого является множество бинарных отношений {=,
Как видно из примера 1, с помощью ¿та^-таблиц С-типа удобно представлять дизъюнктивные нормальные формы (ДНФ) конечных предикатов.
С помощью ¿та^-таблиц О-типа моделируются коньюнктивные нормальные формы (КНФ) конечных предикатов. Содержимое ¿таг^таблицы О-типа заключается в перевёрнутые прямые скобки. ¿таг^таблицы О-типа позволяют легко вычислять дополнение ¿таН-таблиц С-типа относительно заданного универсума: требуется взять дополнение каждой компоненты ¿таг^таблицы. Например, дополнением ¿таг^таблицы Т [Х1, Х2, С, Х1Х2] является ^mart-таблица О-типа:
Т [ X, Х2, С, Х Х 2] =
< 15 > 15
0
0 0 0
{50} {35} {35}
ф 0
¿таг^таблицу О-типа Т можно представить в виде:
[(Х1 < 15) л (Х1 ф Х2) л (С = 50)] V [(Х1 > 15) л (С = 35)] V [(Х1 = Х2) л (С = 35)],
Поскольку ¿таг^таблицы являются «сжатым» представлением многоместных отношений (обычных таблиц), то к ним могут быть применены все операции реляционной алгебры. Стоит подчеркнуть, что при выполнении операций дополнения и соединения не требуется раскладывать ¿таг^таблицы в совокупность элементарных кортежей.
Любую ¿таг^таблицу О-типа можно представить как соединение (обозначено символом М)нескольких диагональных ¿таг^таблиц С-типа, каждая из которых соответствует некоторой строке исходной ¿таг^таблицы О-типа. Например:
Т[ Хх, Х2, С, Х1Х2] =
< 15 * * *
* * {50} *
* * * ф
м
> 15
*
{35}
м
< 15 > 15
0 * *
* *
0 {50} 0 {35}
0 {35}
{35} ' *
ф 0
< 15
> 15
*
{35} {50} {35}
ф
(1)
Диагональной называется квадратная ¿таг^-таблица, в которой только на главной диагонали могут находиться нефиктивные компоненты. В приведённом выражении из диагональных ¿таг^-таблиц С-типа исключены строки, содержащие пустые компоненты.
Результирующая ¿таН-таблица С-типа «сжато» описывает множество всех выполняющих подстановок КНФ, которая представлена исходной ¿таг^-таблицей Дтипа. Элементарные подстановки легко получить, рассматривая в отдельности каждую строку ¿таг^-таблицы С-типа. Поскольку рассматриваемая ¿таг^-таблица является дополнением ¿таг^-таблицы Т, то она описывает запрещённые комбинации количества товаров и цен. В частности, из первой строки результирующей ¿таг^-таблицы С-типа следует, что товар 1 не может быть закуплен по цене 35 долларов, если его количество меньше 15 штук.
Иллюстрацией того, как выполняется соединение ¿таг^-таблиц С-типа, может служить соединение второй и третьей таблиц в приведённом выражении (1):
> 15
*
{35}
М
"> 15 * {35}
* * {35} * > 15 * *
* * * = * * {35}
* * {35}
При соединении двух ¿таг^-таблиц С-типа выполняется соединение каждой строки первого операнда с каждой строкой второго операнда. При соединении строк для компонент, соответствующих общим атрибутам обоих операндов, выполняется операция пересечения множеств.
Так решается задача нахождения множества всех выполняющих подстановок КНФ конечного предиката. В таком виде решение задачи оказывается слишком трудоёмким.
Одним из методов ускорения вычислений может служить ортогонализация, основанная
на известном соотношении Порецкого: А v В = А v АВ [3]. В частности, справедливы соотношения:
> 15
*
{35}
{35} *
{35} *" {50} =
> 15 * * < 15 * {35} :
Соединение этих двух ортогонализованных ¿таг^-таблиц С-типа имеет вид:
"> 15 * {35} *
> 15 < 15
{35}
М
{35} * {50} =
>15 < 15
{50} = {35} *
В результате такого соединения получено меньшее количество строк результирующей таблицы, чем при их соединении без предварительной ортогонализации.
В общем случае порядок соединения диагональных ¿таг^-таблиц С-типа оказывает существенное влияние на скорость процесса вычислений. Следует отметить, что:
> 15
> 15
{35}
*
{35} {35}
> 15
> 15 < 15
{35} {50} {35}
Данные ¿таг^-таблицы моделируют одно и то же множество элементарных кортежей и в этом смысле являются эквивалентными: одно и то же множество элементарных кортежей может моделироваться ¿таг^-таблицами С-типа, которые внешне могут выглядеть по-
*
*
*
*
*
*
*
разному. Две эквивалентные ¿таг^таблицы С-типа могут быть получены одна из другой в результате эквивалентных преобразований. Часть из этих преобразований лежит в основе предлагаемого метода вывода на ¿таг^таблицах С-типа (метод распространения для случая ¿таг^таблиц С-типа), целью которого является редукция пространства поиска за полиномиальное время.
Установлены следующие правила редукции для случая ¿таг^таблиц С-типа, позволяющие удалять отдельные «лишние» значения из доменов атрибутов, компонент ¿та^-таблицы, а также исключать из рассмотрения целые строки и столбцы.
Утверждение 1 (У1). Если все строки ¿таг^таблицы С-типа пусты, то есть содержат хотя бы по одной пустой компоненте каждая, то ¿таН-таблица пуста.
Утверждение 2 (У2). Если все компоненты некоторого атрибута (столбца ¿таг^таблицы С-типа) являются полными, то данный атрибут можно удалить из ¿таг^таблицы С-типа (удаляются все компоненты, стоящие в соответствующем столбце), а пара «удаляемый атрибут - его домен» сохраняется в векторе частичного решения.
Утверждение 3 (У3). Если домен некоторого атрибута ¿таг^таблицы С-типа содержит значения, не встречающиеся в соответствующем столбце, то эти значения удаляются из данного домена.
Утверждение 4 (У4). Если строка ¿таг^таблицы С-типа содержит хотя бы одну пустую компоненту (строка пуста), то строка удаляется.
Утверждение 5 (У5). Если компонента некоторого атрибута ¿таг^таблицы С-типа содержит значение, не принадлежащее соответствующему домену, то это значение удаляется из компоненты.
Утверждение 6 (У6). Если в строке ¿таг^таблицы С-типа усечена компонента, соответствующая простому атрибуту, который формирует некоторый составной атрибут, то в этой строке компонента, соответствующая упомянутому составному атрибуту, должна быть изменена с учётом нового значения компоненты простого атрибута.
Утверждение 7 (У7). Если в строке ¿таг^таблицы С-типа усечена компонента, соответствующая составному атрибуту, то в этой строке должны быть изменены компоненты соответствующих простых атрибутов с учётом вновь выведенной компоненты.
Утверждение 8 (У8). Если в ¿таг^таблице С-типа усечён домен простого атрибута, который входит в некоторый составной атрибут, то домен составного атрибута должен быть изменён с учётом нового домена простого атрибута.
Утверждение 9 (У9). Если усечён домен составного атрибута, то должны быть изменены и домены соответствующих простых атрибутов с учётом вновь выведенного домена составного атрибута.
Аналогичные правила редукции для случая ¿таН-таблиц О-типа приведены в [17].
2 Предлагаемый метод
В задачах удовлетворения ограничений, где требуется нахождение всех решений, представляется целесообразным совместно использовать стратегию поиска в ширину и авторские методы распространения нечисловых ограничений. В настоящем исследовании рассматривается случай, когда задача удовлетворения ограничений представляется в виде единственной или нескольких ¿таН-таблиц О-типа. Предлагаемый гибридный метод основан на представлении ¿таг^таблиц О-типа в виде соединения нескольких ортогонализованных ¿таг^таблиц С-типа. Ортогонализованной называется ¿таН-таблица С-типа, все кортежи (строки) которой попарно ортогональны. Метод позволяет определять такую очерёдность пересечения ортогонализованных ¿таг^таблиц, которая бы способствовала сокращению вычислений.
На каждом шаге поиска предлагается выбирать пару ¿таг^-таблиц С-типа таким образом, чтобы максимально сократить область поиска. При выборе ¿таг^-таблиц для соединения используется следующая эвристика, заимствованная из работы [18]:
7Я]) = \КЩ х |71Д]| х х |Я\£|, где К[$] - первая из пары выбираемых ¿таг^-таблиц, 7[Я] - вторая из пары ¿таг^-таблиц, выбираемых на текущем шаге поиска, S — схема (набор атрибутов) ¿таг^-таблицы К, Я — схема (набор атрибутов) ¿таг^-таблицы Т. Запись |К[$] | обозначает число (элементарных) кортежей данной ¿таг^-таблицы С-типа.
После соединения пары ¿таг^-таблиц С-типа может оказаться, что в каком-либо из столбцов ¿таг^-таблицы С-типа, содержащей результат соединения, отсутствуют некоторые значения соответствующей переменной. Поэтому, после каждого соединения требуется осуществлять процесс распространения ограничений с применением утверждений У1-У8. При исключении «лишних» значений все ¿таг^-таблицы по-прежнему остаются ортогонализо-ванными.
Значения функции ^К[$], 7[Я]) могут значительно отличаться в зависимости от трактовки понятия «кортеж ¿таг^-таблицы С-типа». Можно в качестве кортежей ¿таг^-таблицы С-типа рассматривать: а) ¿таг^-кортежи (строки ¿таг^-таблицы); б) элементарные кортежи, получающиеся при преобразовании ¿таг^-таблицы в обычную таблицу.
При рассмотрении альтернативы (б) следует иметь ввиду, что, если диагональная ¿таН-таблица С-типа ортогонализована, то по её виду легко вычислить мощность множества элементарных кортежей данной ¿таг^-таблицы без разложения её в обычную реляционную таблицу. Для этого нужно перемножить мощности всех непустых компонент, стоящих в одной строке, а результаты перемножений, полученных для каждой из строк, сложить.
Чтобы оценить, какая из трактовок понятия «кортеж ¿таг^-таблицы С-типа» позволяет лучше осуществлять выбор пары соединяемых ¿таг^-таблиц на шаге поиска, рассмотрен пример.
Пример 2. Пусть имеется ¿таг^-таблица, заданная в S = Х1 х Х2 х Х3 х Х4 = {1, 2, 3, 4, 5}:
1" {2,3} 0 {1,2,3} 0
2 {2} {1,2,5} {4} 0
3 0 {1,2,4} {3,4} {3,5}
4 {1,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
Данная ¿таг^-таблица Дтипа может быть представлена как соединение следующих ¿таг^-таблиц С-типа:
К1Х1 Х3] М К2Х1 Х2 Х3] М Кэ[Х2 Х3 Х4] М К4[Х1 Х2 Х4] М К5[Хэ Х4] М Кб[Х2 Х3 Х4] М
Кт[Х1 Х3 Х4] М Кв[Х1 Х3 Х4] М К9[Х1 Х3],
где
" {2,3} * {1,4,5} {1,2,3}
К1Х1 Х3] =
ЫХ1Х2 Х3] -
К4Х1 Х2 Х4] -
{2} * * " {1,3,4,5} {1,2,5} * {1,3,4,5} {3,4} {4}
{1,2} * {3,4,5} {3,4,5} {3,4,5} {1,2}
, Kз[X2 Х3 Х4] -
{1,2,4} {3,5} {3,5}
{3,4} * {1,2,5} {3,5}
{3}
, ^[Х3 Х4] -
{1,5} {2,3,4}
{4}
К6[Х2 Х3 Х4] -
" {2,3} * {1,4,5} {1,2,3} {1,4,5} {4,5}
{1}
, K7[Xl Х3 Х4] -
"{2,4,5} * {1,3} {3,5} {1,3} {2,4,5}
{3,5}
Кв[Х Х3 Х4] -
{5} * {1,2,3,4} {2,3,4} {1,2,3,4} {1,5}
{1,3,4}
, К9Х1 Х3] -
" {1,3} * {2,4,5} {4,5}
В данном случае произведена ортогонализация, целью которой является подсчёт элементарных кортежей в каждой из перечисленных ¿та^-таблиц С-типа.
Элементарный шаг поиска заключается в том, что сначала выполняется соединение двух ¿та^-таблиц С-типа, выбор которых осуществляется согласно приведённой выше эвристике, а затем выполняется процедура распространения ограничений.
Для двух упомянутых интерпретаций понятия «кортеж ¿таг^таблицы С-типа» значения эвристической функции для каждой пары соединяемых на первом шаге поиска ¿та^-таблиц представлены в таблицах 1 и 2.
Таблица 1- Оценка размерности результирующего отношения после выполнения первого шага поиска для варианта с элементарными кортежами
*
К К2 К3 К4 К5 К6 К К8 К9
К1
к2 0
К 4066 9951
К4 3838 9393 10807
К 247 2418 0 2626
Кб 3838 9393 0 10201 0
К 0 9951 11449 10807 0 10807
К 0 10137 11663 11009 0 11009 0
К 0 0 3424 3232 208 3232 0 0
Таблица 2 - Оценка размерности результирующего отношения после выполнения первого шага поиска для варианта со ¿таГ-кортежами
К1 К2 К3 К4 К5 К6 К7 К8 К9
К1
К2 0
К3 12 9
К4 12 9 9
К5 4 12 0 12
К6 12 9 0 9 0
К7 0 9 9 9 0 9
К8 0 9 9 9 0 9 0
К9 0 0 12 12 4 12 0 0
Фактическая размерность результирующего отношения, которое получается при соединении пары ¿та^-таблиц, приведена в таблице 3.
Таблица 3 - Фактическая размерность результирующего отношения после соединения пары smart-тaблиц на первом шаге поиска
К1 К2 К3 К4 К5 К6 К7 К8 К9
К1
К2 207
К3 205б 1644
К4 1076 1380 1660
К5 141 916 153 1036
Кб 2404 1444 255 1612 150
К7 234 1596 1876 1732 165 1660
К8 249 1696 1964 1764 147 1796 279
К9 20 180 1384 1312 132 1120 186 204
Из анализа таблицы 1 и 2 следует, что при обеих интерпретациях понятия «кортеж ¿таН-таблицы С» значение «ноль» эвристической функции соответствует одним и тем же парам соединяемых ¿та^-таблиц. Для вычисления таблицы 1 требуется гораздо больше арифметических операций. Основанием для использования в качестве мощности ¿таг^таблицы количества её ¿та^-кортежей, а не элементарных кортежей, состоит в том, что минимальному (максимальному) значению в таблице 2 соответствует минимальное (максимальное) значение в таблице 3.
С применением предложенной эвристики выбраны для соединения ¿та^-таблицы, имеющие одинаковые схемы: К\\Х\ Х3] и К9\Х1 Х3]. Результат их соединения представлен так:
"(3) *
К1Х1 Хз] М К9Х1 Хз] =
(2,3} * (1,4,5} (1,2,3}
М
(1,3) * (2,4,5) (4,5)
(2} (1)
(4,5} (1,2,3}
Согласно утверждениям У1-У8 можно «сузить» домен переменной Х1 до множества (1, 2, 3}, «просуммировав» значения первого столбца ¿та^-таблицы К1\Х1 Х3] М К9\Х1 Х3].
Теперь следует произвести «настройку» остальных ¿та^-таблиц С-типа (К1 - К8) на новый домен переменной Х1. На текущем шаге поиска получаются следующие домены переменных и набор ¿та^-таблиц.
Домены: Х1 - (1, 2, 3}, Х2 - (1, 2, 3, 4, 5}, Х3 - (1, 2, 3, 4, 5}, Х4 - (1, 2, 3, 4, 5}. Ограничения:
"(1,3}
К1Х1 Х3] М К9\Х1 Х3] =
(2,3}
(1,2,3} (4,5}
К2Х1 Х2 Х3] -
(2} (1,3} (1,3}
(1,2,5} (3,4}
(4}
К3\ Х2 Х3 Х4] -
(1,2) * (3) (3,4) (3) (1,2,5)
(3,5)
К4\Х1 Х2 Х4] -
(1,2) * * " (3) (3,4,5) * (3) (1,2) (3)
, К5\Х3 Х4] -
(1,} (2,3}
(4}
*
{2,3} * *
- {1} {1,2,3} *
_ {1} {4,5} {1}_
{2} * *
{1,3} {3,5} *
_{1,3} {2,4,5} {3,5}_
{1,2,3} {2,3,4} *
{1,2,3} {1,5} {1,3,4}
Кб[Х X3 X4] -
ВД X3 X4] -
Kg[Xi X3 X4] -
В ¿та^-таблицах К2-К7 были откорректированы первые столбцы, в ¿та^-таблице К8 удалена первая строка. Дальнейшие шаги процесса поиска выполняются по аналогии.
Заключение
В работе предложен поиск всех решений задачи удовлетворения ограничений, представленной с использованием ¿та^-таблиц О-типа, и сводится к определению порядка соединения нескольких ортогонализованных ¿та^-таблиц С-типа. Использована эвристика для выбора на каждом шаге поиска пары соединяемых ¿таг^таблиц С-типа. Рассмотрены два варианта использования данной эвристики. Показано, что при определении размерности ¿та^-таблицы целесообразно использовать количество её ¿таг^кортежей, а не количество элементарных кортежей отношения. Предложены правила редукции для случая ¿таг^таблиц С-типа.
В случае алгоритмов поиска в глубину с возвратами их временная сложность оценивается как произведение доменов всех переменных. Временная сложность предложенного метода оценивается как произведение, в котором каждый множитель равен количеству непустых компонент соответствующей строки исходной ¿таг^таблицы О-типа. Предложенный метод даёт значительный выигрыш при большом количестве переменных, высокой размерности их доменов и сравнительно малом количестве строк ¿та^-таблицы О-типа.
Разработанный метод позволяет эффективно находить все решения задач удовлетворения ограничений без разложения табличных ограничений в элементарные кортежи и легко адаптируется для решения оптимизационных задач. Предложенный метод ориентирован на применение в интеллектуальных системах, предназначенных для слабо формализованных предметных областей.
Благодарности
Исследование выполнено при финансовой поддержке РФФИ в рамках научных проектов № 20-07-00708-а, 19-07-00359-а.
Список источников
[1] Russel, S. Artificial Intelligence: A Modern Approach. 3rd edition / S. Russel, P. Norvig. - Prentice Hall, 2010. -1132 p.
[2] 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.
[3] 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.
[4] 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.
[5] 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.
[6] 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.
[7] 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.
[8] 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.
[9] 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.
[10] 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.
[11] Jefferson, C. Extending simple tabular reduction with short supports / C. Jefferson, P. Nightingale // Proceedings of IJCAI 2013, 2013. P.573-579.
[12] 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.
[13] 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.
[14] 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.
[15] 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.
[16] 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.
[17] Зуенко А.А. Компактное представление ограничений на основе новой интерпретации понятия «кортеж многоместного отношения» / А.А. Зуенко // Онтология проектирования. 2020. Т.10. №4(38). С.503-515. DOI: 10.18287/2223-9537-2020-10-4-503-515.
[18] Moller, G. On the Technology of Array-Based Logic. / G. M0ller // Ph. D. thesis. - 1995. -http://www.arraytechnology.com/documents/lic.pdf.</bib>.
Сведения об авторе
Зуенко Александр Анатольевич, 1983 г.р., кандидат технических наук, ведущий научный сотрудник Института информатики и математического моделирования - обособленного подразделения ФИЦ «Кольский научный центр Российской академии наук». Области научных интересов: программирование в ограничениях; моделирование слабо формализованных предметных областей. Author ID (RSCI): 528493; Author ID (Scopus): 26536974000; Researcher ID (WoS): E-7944-2017. zuenko@iimm.ru.
Поступила в редакцию 08.12.2021, после рецензирования 17.12.2021. Принята к публикации 22.12.2021.
Breadth First Search and Inference Methods Integration to satisfy table constraints
A.A. Zuenko
Institute for Informatics and Mathematical Modeling - Subdivision of the Federal Research Centre "Kola Science Centre of the Russian Academy of Sciences", Apapity, Russia
Abstract
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 authors 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.
Key words: constraint programming, smart tables, breadth first search, constraint propagation, constraint satisfaction problem.
Citation: Zuenko AA. Breadth First Search and Inference Methods Integration to satisfy table constraints [In Russian]. Ontology of designing. 2021; 11(4): 521-532. DOI: 10.18287/2223-9537-2021-11-4-521-532.
Acknowledgment: This work was supported by the Russian Foundation for Basic Research (RFBR), project numbers 20-07-00708-a, 19-07-00359-a.
List of tables
Table 1 - The estimation of the size of the resulting relation after the first step of the search for the case of elementary tuples
Table 2 - The estimation of the size of the resulting relation after the first step of the search for the case of smart tuples Table 3 - The actual size of the resulting relation after joining a pair of smart tables at the first step of the search
References
[1 ] Russel S, Norvig P. Artificial Intelligence: A Modern Approach. 3rd ed. Prentice Hall, 2010. 1132 p.
[2] Mackworth A. Consistency in networks of relations. Artificial Intelligence. 1977; 8(1): 99-118. DOI: 10.1016/0004-3702(77)90007-8.
[3] Bartak R. Constraint Programming: In Pursuit of the Holy Grail. Proc. of the Week of Doctoral Students (WDS99), Part IV. Prague: MatFyzPress, 1999: 555-564.
[4] Charlier B, Khong M, Lecoutre C, Deville Y. Automatic Synthesis of Smart Table Constraints by Abstraction of Table Constraints. Proc. of IJCAI 2017, 2017: 681-687. DOI: https://doi.org/10.24963/ijcai.2017/95.
[5] Audemard G, Lecoutre C, Maamar M. Segmented Tables: An Efficient Modeling Tool for Constraint Reasoning. Proc. of the ECAI 2020, 2020: 315-322.
[6] Yap R, Wang W. Generalized Arc Consistency Algorithms for Table Constraints: A Summary of Algorithmic Ideas. Proc. of the AAAI 2020, 2020: 13590-13597. DOI: https://doi.org/10.1609/aaai.v34i09.7086.
[7] Perez G, Regin JC. Improving GAC-4 for table and MDD constraints. CP 2014. LNCS, 2014; 8656: 606-621. DOI: http://dx.doi.org/10.1007/978-3-319-10428-7_44.
[8] Verhaeghe H, Lecoutre C, Schaus P. Extending compact-table to negative and short tables. Proc. of AAAI 17, 2017: 3951-3957. DOI: https://dl.acm.org/doi/abs/10.5555/3298023.3298142.
[9] Ingmar L, Schulte C. Making Compact-Table Compact. CP 2018, LNCS, 2018; 11008: 210-218. DOI: https://doi.org/10.1007/978-3-319-98334-9_14.
[10] Cheng K, Yap R. An MDD-based generalized arc consistency algorithm for positive and negative table constraints and some global constraints. Constraints, 2010; 15(2): 265-304. DOI: http://dx.doi.org/10.1007/s10601-009-9087-y.
[11] Jefferson C, Nightingale P. Extending simple tabular reduction with short supports. Proc. of IJCAI 2013. 2013: 573-579.
[12] Mairy J, Deville Y, Lecoutre C. The Smart Table Constraint. Integration of AI and OR Techniques in Constraint Programming. CPAIOR 2015. LNCS, 2015; 9075: 271-287.
[13] Verhaeghe H, Lecoutre C, Deville Y, Schaus P. Extending Compact-Table to Basic Smart Tables. Principles and Practice of Constraint Programming. CP 2017. LNCS, 2017; 10416: 297-307. DOI: http://dx.doi.org/10.1007/978-3-319-66158-2_19.
[14] Schneider A, Choueiry B. PW-CT: Extending Compact-Table to Enforce Pairwise Consistency on Table Constraints. CP 2018. LNCS, 2018; 11008: 345-361. DOI: https://doi.org/10.1007/978-3-319-98334-9_23.
[15] Zuenko A, Fridman A. Development of n-tuple algebra for logical analysis of databases with the use of two-place predicates. Journal of Computer and Systems Sciences International. 2009; 48(2): 254-261. DOI: http://dx.doi.org/10.1134/S1064230709020099.
[16] Zuenko A. Local Search in Solution of Constraint Satisfaction Problems Represented by Non-Numerical Matrices. Proc. of the 2nd Int. Conf. on Computer Science and Application Engineering (CSAE '18), 2018: 45. DOI: 10.1145/3207677.3277959.
[17] Zuenko A.A. Compact representation of constraints based on a new interpretation of the concept "tuple of a multi-place relation" [In Russian]. Ontology of designing. 2020; 10(4): 503-515. DOI: 10.18287/2223-9537-2020-10-4503-515.
[18] Moller G. On the Technology of Array-Based Logic. Ph. D. thesis, 1995; http://www.arraytechnology.com/documents/lic.pdf.
About the author
Alexander Anatolievich Zuenko, (b. 1983) PhD, a leading researcher of Institute for Informatics and Mathematical Modeling - Subdivision of the Federal Research Centre "Kola Science Centre of the Russian Academy of Sciences". Research interests: constraint programming; poorly formalized subject domains modeling. Author ID (RSCI): 528493; Author ID (Scopus): 26536974000; Researcher ID (WoS): E-7944-2017. zuenko@iimm.ru.
Received December 08, 2021. Revised December 17, 2021. Accepted December 22, 2021.