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

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

Журнал: Онтология проектирования @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   |   DOI: 10.18287/2223-9537-2021-11-4-521-532

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

Во многих системах искусственного интеллекта (ИИ) применяются методы логического анализа. Они активно развиваются в рамках такого направления ИИ, как программирование в ограничениях, которое основывается на декларативной парадигме представления знаний в форме задачи удовлетворения ограничений [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
Еще
Статья научная