Алгебра и логика, 44, № 1 (2005), 97—113
УДК 512.53
АМАЛЬГАМЫ КЛОНОВ
Е. С. СКВОРЦОВ Введение Количество и многообразие комбинаторных алгоритмов, постоянно возникающих в теоретической информатике и её приложениях, вызывают естественное стремление систематизировать и унифицировать это разнообразие, разработать универсальные алгоритмы, не зависящие от частных особенностей той или иной задачи. Один из возможных путей сделать это заключается в рассмотрении задачи CSP∗) . Исследования, связанные с задачей CSP, начались с работ [1, 2] и ведутся с тех пор с возрастающей интенсивностью. В последнее время была установлена связь проблематики задачи CSP с универсальной алгеброй [3, 4]. В задаче CSP требуется выяснить, выполнима ли заданная диофантова формула в данной модели. Под диофантовой понимается экзистенциальная формула первой ступени, безкванторная часть которой является конъюнкцией атомарных формул. Такие формулы называются также примитивно позитивными. Хотя эта задача является лишь одной из многих известных комбинаторных задач, в последнее десятилетие стало ясно, что она занимает особое место. Основным направлением изучения задачи CSP в настоящее время является поиск решения проблемы, поставленной Шефером [2]. Естествен∗)
От английского „Constraint Satisfaction Problem“, в русскоязычной литературе на
эту тему встречаются также названия „обобщённая выполнимость“ и „задача удовлетворения ограничениям“.
c Сибиpский фонд алгебpы и логики, 2005
98
Е. С. Скворцов
ный способ выделения подзадач задачи CSP состоит в ограничении класса моделей для диофантовых формул из условия задачи CSP, что эквивалентно заданию множества отношений — интерпретаций предикатных символов формулы. В дальнейшем нам будет удобнее говорить именно о множествах отношений, а не о моделях. Для каждого такого класса Γ через CSP(Γ) обозначается множество задач CSP, в которых множество отношений, заданное в условии, содержится в Γ. Проблема из [2] может быть сформулирована следующим образом: для каждого конечного множества отношений Γ оценить сложность задачи CSP(Γ) и найти для неё полиномиальный алгоритм, если таковой существует. Если для каждого конечного множества отношений Γ′ , содержащегося в Γ, задача CSP(Γ′ ) полиномиальна, то множество Γ называется полиномиальным. Напомним некоторые понятия из теории клонов функций и отношений. Пусть A — конечное множество, ρ ⊆ Am — отношение на A, и f (x1 , . . . , xn ) : An → A — операция на A. Положим ar(ρ) = m и ar(f ) = n, соответственно, и будем говорить, что f сохраняет ρ (или ρ инвариантно относительно f ), если для любых (a11 , . . . , am1 ), . . . , (a1n , . . . , amn ) ∈ ρ кортеж (f (a11 , . . . , a1n ), . . . , f (am1 , . . . , amn )) также содержится в ρ. Пусть Υ и Γ — множества функций и отношений, соответственно, тогда полагаем Inv Υ = {ρ | ∀f ∈ Υ функция f сохраняет отношение ρ} и Pol Γ = {f | ∀ρ ∈ Γ функция f сохраняет отношение ρ}. Множества вида Inv Υ и Pol Γ могут быть охарактеризованы и иным способом. Клоном функций называется множество функций, замкнутое относительно суперпозиции и содержащее все проекции, т. е. функции вида ein (x1 , . . . , xn ) = xi . Если ρ — отношение, то через Pρ обозначается ar(ρ)местный предикат, истинный только на векторах из ρ. Множество отношений Γ, содержащее в качестве элементов отношение равенства и пустое множество, называется клоном отношений, если для любых ρ1 , . . . , ρk ∈ Γ отношение ρ, определяемое предикатом Pρ (x1 , . . . , xn ) = ∃y1 , . . . , ym Φ(x1 , . . . , xn , y1 , . . . , ym ),
(1)
где формула в правой части диофантова и ее атомарные подформулы сов-
Амальгамы клонов
99
падают с Pρ1 , . . . , Pρk , также содержится в Γ. Известно [5], что множества вида Pol Γ — это в точности клоны функций, а множества вида Inv Υ — клоны отношений. Если M — множество функций или множество отношений, то через hM i обозначается клон, порожденный M , т. е. наименьший клон функций или отношений, соответственно, содержащий M . Клоны отношений играют важную роль в изучении задачи CSP: если Γ полиномиально, то клон отношений, порожденный Γ, также полиномиален [4]. Кроме того, было показано [3, 4], что вычислительная сложность задачи CSP(Γ) тесно связана со свойствами клона функций, сохраняющих Γ. Одним из путей нахождения новых полиномиальных задач является конструирование новых полиномиальных клонов отношений из уже известных. В [6, 7] была введена операция амальгамирования множеств отношений. Амальгама множеств отношений Γ1 , . . . , Γn определяется следующим образом: A(Γ1 , . . . , Γn ) = {ρ1 ∪ . . . ∪ ρn | ∀i ∈ {1 . . . n} ρi ∈ Γi и ar(ρi ) = ar(ρ1 )}. Для случая дизъюнктности областей определения операндов была описана структура клона функций, соответствующего амальгаме, и установлена полиномиальность амальгамы полиномиальных клонов. Можно ожидать, что взятию амальгамы и в общем случае соответствует некоторая конструкция на клонах функций. Поэтому естественно возникает следующая ПРОБЛЕМА 1. Для любых клонов функций F1 , . . . , Fn выразить Pol (A(Inv (F1 ), . . . , Inv (Fn ))) через F1 , . . . , Fn . Пусть RA и RB — клоны отношений на множествах A и B, соответственно. Нетрудно проверить, что клоны hA(RA , RB )i|A , hA(RA , RB )i|B могут не совпадать с RA , RB , соответственно. С алгоритмической точки зрения это означает, что задачи, соответствующие амальгаме, сложнее задач, соответствующих исходным клонам. Поэтому возникает ПРОБЛЕМА 2. Сформулировать условия, при которых амальгама клонов RA и RB , суженная на области определения клонов RA и RB , сов-
100
Е. С. Скворцов
падает с ними. В настоящей работе решаются обе эти проблемы. В [6] была исследована вычислительная сложность амальгамы в предположении дизъюнктности областей определения клонов R1 и R2 . В этом случае (при некоторых незначительных ограничениях) амальгама полиномиальна тогда и только тогда, когда исходные множества полиномиальны. В [8], для случая равенства множеств, на которых заданы отношения, указано несколько частных типов полиномиальных амальгам, важных с прикладной точки зрения. В [9], опираясь на результаты, установленные в данной работе, найдены необходимые и достаточные условия полиномиальности амальгамы двух клонов в общем случае.
§ 1. Строение клона функций, сохраняющих амальгаму 1.1. Дизъюнктный случай. В этом параграфе считаем, что A1 , . . . . . . , Ap — некоторые множества, D = A1 ∪ . . . ∪ Ap , Z = {A1 , . . . , Ap }. Пусть R1 , . . . , Rp — клоны отношений на множествах A1 , . . . , Ap , F1 , . . . , Fp — соответствующие им клоны функций. Пусть RD = A(R1 , . . . , Rp ), FD = = Pol (RD ). В этом пункте считаем, что A1 , . . . , Ap дизъюнктны. Случай дизъюнктных A1 , . . . , Ap проще общего, однако основные понятия остаются похожими. Для облегчения понимания сначала разбирается этот случай, обобщая результат из [6] на случай произвольного числа аргументов амальгамы, а потом рассматривается общий. Целью данного параграфа является описание строения клона FD . Нам понадобится несколько новых понятий. В этом пункте они вводятся для случая дизъюнктных A1 , . . . , Ap , а в следующем обобщаются на случай пересекающихся A1 , . . . , Ap . ОПРЕДЕЛЕНИЕ 1. Шаблоном вектора ~x = (x1 , . . . , xn ), где xi ∈ D, называется вектор Φ(~x) = (X1 , . . . , Xn ), где Xi ∈ Z и xi ∈ Xi . ∞ S Z n. Также шаблонами называются и элементы множества Отметим, что Φ — функция из
∞ S
n=1
Dn в
∞ S
n=1
n=1
Z n , причем образ Dn в
Амальгамы клонов
101
точности равен Z n . Если ~x, ~y — векторы, Ψ = Φ(~y ), а Ai ∈ Z и ~x получен из ~y выбрасыванием координат, не принадлежащих Ai , то будем использовать запись ~x = ~yΨցAi . ОПРЕДЕЛЕНИЕ 2. Функцию f : Dn → D будем называть разложимой на метакомпоненты (или просто разложимой), когда для нее выполняются два следующих условия: 1) если Φ(~x) = Φ(~y ), то Φ(f (~x)) = Φ(f (~y )); 2) если ~x и ~y — векторы из Dn такие, что Φ(~x) = Φ(~y ) и ~xΦ(~x)ցΦ(f (~x)) = ~yΦ(~x)ցΦ(f (~x)) , то f (~x) = f (~y ). ОПРЕДЕЛЕНИЕ 3. Пусть f — n-местная разложимая функция. Метафункцией для f называется функция f , определённая на множестве Z n следующим образом: для произвольного ~x ∈ Dn положим f (Φ(~x)) равным Φ(f (~x)) (данное определение корректно в силу условия 1 определения разложимой функции). Кроме метафункции разложимую функцию характеризуют ее метакомпоненты. ОПРЕДЕЛЕНИЕ 4. Пусть f — m-местная разложимая функция, Ψ ∈ Z m , число n — количество вхождений f (Ψ) в Ψ. Метакомпонентой f по шаблону Ψ называется функция fΨ , определенная на n-й степени множества f (Ψ) так, что fΨ (~xΨցf (Ψ) ) = f (~x) для любого вектора ~x размерности m, шаблон которого равен Ψ. Из определения разложимой функции следует, что она обладает (причем единственной) метакомпонентой по любому шаблону. Отметим, что метафункция f и набор метакомпонент {fΨ }Ψ∈Z ar(f ) однозначно задают разложимую функцию. ПРИМЕР 1. Пусть имеются множества A = {a1 , a2 }, B = {b1 , b2 }, D = A ∪ B, Z = {A, B}, векторы ~x = (a1 , a2 , b2 , a1 ), ~y = (a1 , a2 , b1 , a1 ), шаблон Ψ = (A, A, B, A) и разложимая функция f , удовлетворяющая равенству f (~y ) = a1 . Тогда по определению шаблона Φ(~x) = Φ(~y ) = Ψ. В силу определения разложимой функции справедливо f (~x) ∈ A и f (~x) = f (~y ). Из определения f вытекает f (Ψ) = A. По определению метакомпоненты fΨ является тернарной функцией и fΨ (a1 , a2 , a1 ) = a1 .
102
Е. С. Скворцов Обозначим через A(F1 , . . . , Fp ) множество всех разложимых функ-
ций, определённых на A1 ∪ . . . ∪ Ap , причем все их метакомпоненты содержатся в F1 ∪ . . . ∪ Fp . Множество A(F1 , . . . , Fp ) будем называть амальгамой клонов функций F1 , . . . , Fp . Пусть f — n-местная функция, ρ — m-местное отношение, M — матрица размерности m × n. Обозначим через f (M ) m-мерный вектор, i-я компонента которого равна образу i-й строки M под действием f . Будем использовать запись M ∈ ρ, если каждый столбец M принадлежит ρ. Решение проблемы 1 для случая дизъюнктных множеств даёт ТЕОРЕМА 1. Справедливо равенство Pol (A(R1 , . . . , Rp )) = A(Pol (R1 ), . . . , Pol (Rp )). ДОКАЗАТЕЛЬСТВО. Для доказательства перепишем искомое равенство в виде A(F1 , . . . , Fn ) = Pol (A(Inv (F1 ), . . . , Inv (Fp ))). 1)
Проверим
включение
A(F1 , . . . , Fn )
⊆
Pol (A(Inv (F1 ), . . .
. . . , Inv (Fp ))). Пусть f ∈ A(F1 , . . . , Fp ). Покажем, что f сохраняет всякое отношение ρ ∈ A(Inv (F1 ), . . . , Inv (Fp )). Пусть M — матрица размерности ar(ρ) × ar(f ) и все её столбцы принадлежат ρ. Покажем, что шаблон всех строк матрицы M один и тот же. В силу включения ρ ∈ ∈ A(Inv (F1 ), . . . , Inv (Fp )) можно представить ρ в виде ρ = ρ1 ∪ . . . ∪ ρn , где ρl ∈ Inv (Fl ), l = 1, . . . , p. Пусть ~x — i-ый столбец матрицы M . Так как ~x ∈ ρ, то ~x ∈ ρk ⊆ Inv (Fk ) для некоторого k. Поскольку Inv (Fk ) является множеством отношений на Ak , каждая координата вектора ~x принадлежит Ak . Следовательно, в каждой строке на i-ом месте стоит элемент из Ak , а значит, шаблоны всех строк одинаковы. Пусть Ψ — шаблон всех строк матрицы M , N — матрица, полученная из M опусканием столбцов, элементы которых не содержатся в Ah = f (Ψ). По определению метакомпоненты f (M ) = fΨ (N ). Всякий столбец N принадлежит (Ah )ar(ρ) , поэтому все столбцы N принадлежат ρh ∈ Inv (Fh ). Поскольку fΨ сохраняет ρh , получаем f (M ) ∈ ρh . Следовательно, f (M ) ∈ ρ.
Амальгамы клонов 2)
Проверим
включение
A(F1 , . . . , Fp )
103 ⊇
Pol (A(Inv (F1 ), . . .
. . . , Inv (Fp ))). Отметим, что по построению в A(Inv (F1 ), . . . , Inv (Fp )) содержатся следующие отношения: S a) δ = A2i ; ! S 2 b) πi = (∆Ai ) ∪ Aj , где (∆Ai ) — отношение равенства на Ai ; j6=i ! S t c) θiρ = ρ ∪ Aj , где ρ ∈ Inv (Fi ) и t = ar(ρ). j6=i
Возьмём функцию f из Pol (A(Inv (F1 ), . . . , Inv (Fp ))). Она сохраняет
δ, поэтому удовлетворяет условию 1 из определения разложимой функции. Используя отношения πi , докажем, что f удовлетворяет и условию 2 упомянутого определения. Рассмотрим произвольные вектор-строки ~x, ~y ∈ Dn такие, что Φ(~x) = Φ(~y ) и ~xΦ(~x)ցΦ(f (~x)) = ~yΦ(~x)ցΦ(f (~x)) .
Пусть Ai = Φ(f (~x)). Тогда все столбцы матрицы
жат πi и, в частности,
f (~x)
~x ~y
принадле-
∈ πi . С другой стороны, Φ(f (~x)) = Ai , а f (~y ) значит, f (~x) = f (~y ), следовательно, функция f разложима. S Проверим, что все метакомпоненты f лежат в Fj . Рассмотрим про-
извольный шаблон Ψ и соответствующую ему метакомпоненту fΨ . Пусть Ai = f (Ψ). Возьмём произвольное отношение ρ ∈ Inv (Fi ). Функция f сохраняет θiρ , поэтому fΨ сохраняет ρ, т. е. fΨ ∈ Fi . 2 1.2. Общий случай. Формулировка результата, аналогичного теореме 1 для случая пересекающихся A1 , . . . , Ap , не изменится. Все, что необходимо сделать — это обобщить определение разложимой функции, для чего требуется обобщить понятие шаблона. ОПРЕДЕЛЕНИЕ 5. Шаблоном вектора ~x = (x1 , . . . , xn ), где xi ∈ D, будем называть любой вектор (X1 , . . . , Xn ) такой, что Xi ∈ Z и xi ∈ Xi . Множество шаблонов для ~x будем обозначать через Φ(~x). Таким образом, Φ(~x) = {(X1 , . . . , Xn ) ∈ Z n | ∀i ∈ {1, . . . , n} xi ∈ Xi }. Как и ранее, элементы из
∞ S
n=1
Z n будем называть шаблонами.
104
Е. С. Скворцов Если Ψ — шаблон вектора ~x, то через ~xΨցAi обозначается вектор, по-
лученный из ~x опусканием компонент, на которых в Ψ находится элемент, отличный от Ai . Если ~x1 , . . . , ~xn — все строки матрицы M и Φ(~x1 ) = . . . = Φ(~xn ) = = Ψ, то через MΨցAi обозначается матрица, строками которой являются ~x1ΨցAi . . . ~xnΨցAi . Через ♯Ai Ψ обозначается количество вхождений Ai в Ψ. Обобщением определения 2 является ОПРЕДЕЛЕНИЕ 6. Функция f : Dn → D называется разложимой на метакомпоненты из клонов F1 , . . . , Fp , если существуют функция f : Z n → Z и семейство функций D = {fΨ | Ψ ∈ Z n и ar(fΨ ) = ♯f (Ψ) (Ψ)}, содержащееся в
S
Fi , для которых справедливо равенство f (~x) =
i=1,...,n
= fΨ (~xΨցf (Ψ) ) при каждом Ψ ∈ Φ(~x). Функцию f назовем метафункцией, а функции из множества D — метакомпонентами функции f . Другими словами, разложимой называется такая функция, которая на векторах данного шаблона действует как некоторая, определяемая по шаблону, функция fΨ , принадлежащая одному из клонов F1 , . . . , Fp . Через A(F1 , . . . , Fp ) будет обозначаться множество всех функций, разложимых на метакомпоненты из F1 ∪ . . . ∪ Fp . В отличие от случая дизъюнктных A1 , . . . , Ap разложимую функцию, невозможно определять независимо на различных шаблонах, т. к. множества векторов, удовлетворяющих различным шаблонам, могут пересекаться. Например, если a принадлежит каждому Ai , то вектор (a, a, a) удовлетворяет любому шаблону размерности 3. Особенно ограничен выбор метакомпонент в случае, когда область определения одного клона содержится в другом. Следующее предложение не требуется для доказательства основной теоремы данного параграфа, но представляет самостоятельный интерес, и понадобится в § 2. ПРЕДЛОЖЕНИЕ 1. Пусть f — n-арная функция на D, A ⊆ D. Если f ∈ A(FD , FA ), то верно одно из следующих условий:
Амальгамы клонов
105
a) для любых Ψ ∈ Z n , ~x, ~y ∈ Dn таких, что Ψ ∈ Φ(~x) ∩ Φ(~y ) и ~xΨցD = ~yΨցD , справедливо f (~x) = f (~y ); b) существуют такое натуральное число k 6 n и функция g(xk ) ∈ ∈ FA , не являющаяся постоянной, такие, что f (~x) = g(xk ), если xk ∈ A. ДОКАЗАТЕЛЬСТВО. Покажем, что справедливо условие „b“, если не выполняется условие „a“. Пусть нашлись векторы ~z, w ~ и шаблон Ψ ∈ ∈ Φ(~z)∩Φ(w) ~ такие, что ~zΨցD = w ~ ΨցD , а f (~z) 6= f (w). ~ Тогда Ψ 6= (D . . . D) и существуют ~x и ~y , удовлетворяющие тем же условиям, но отличающиеся лишь одной координатой, принадлежащей A. Пусть это 1-я координата. Рассмотрим шаблон Ω = (A, D, . . . , D) той же размерности, что и ~x, ~y . Очевидно, Ω ∈ Φ(~x) ∩ Φ(~y ). Действительно, все координаты этих векторов принадлежат D, а первые координаты обоих векторов принадлежат A. Тогда метакомпонента fΩ для f должна принадлежать FA и зависеть от единственной переменной x1 . Таким образом, f (~x) = fΩ (x1 ) всегда, когда x1 ∈ A. 2 Для доказательства теоремы, описывающей Pol (A(F1 , . . . , Fp )), потребуется еще одно понятие из теории клонов. ОПРЕДЕЛЕНИЕ 7. Пусть множество M упорядочено некоторым фиксированным способом. Для натурального n рассмотрим лексикографический порядок на M n . Обозначим через AnM матрицу размерности |M |n × n, i-я строка которой совпадает с i-й в лексикографическом порядке последовательностью из n элементов множества M . Матрица AnM называется n-ой абсциссой на M . Если FM — клон функций заданных на множестве M , то n-ым графиком FM называется отношение χFnM = {f (AnM ) | f — n-местная функция из FM }. Известно [5], что χFnM всегда принадлежит Inv (FM ). Решение проблемы 1 для общего случая дает ТЕОРЕМА 2. Справедливо равенство Pol (A(R1 , . . . , Rp )) = A(Pol (R1 ), . . . , Pol (Rp )). ДОКАЗАТЕЛЬСТВО.
Проверим
включение
A(F1 , . . . , Fp )
⊆
⊆ Pol (A(R1 , . . . , Rp )). Необходимо показать, что произвольная функция
106
Е. С. Скворцов
f , разложимая на метакомпоненты из клонов F1 , . . . , Fp , сохраняет любое отношение ρ = ρ1 ∪ . . . ∪ ρp , где ρl ∈ Rl для l ∈ {1, . . . , p}. Рассмотрим матрицу T , в которой ar(f ) столбцов, причём они являются векторами из ρ. Необходимо проверить, что f (T ) ∈ ρ. Построим шаблон Ψ, в котором i-я координата равняется Ak , если i-й столбец матрицы T принадлежит только ρk , и значение i-й координаты Ψ выбирается произвольно, если i-й столбец принадлежит нескольким ρk . Пусть At = f (Ψ). Функция f разложима, поэтому f (T ) = g(TΨցAt ). Однако, все столбцы TΨցAt принадлежат ρt , и в силу включения g ∈ FAt получаем g(TΨցAt ) ∈ ρt . Таким образом, f (T ) ∈ ρ. Проверим включение Pol (A(R1 , . . . , Rp )) ⊆ A(F1 , . . . , Fp ). Необходимо показать, что любая функция, сохраняющая все отношения вида ρ1 ∪ ∪ . . .∪ρp , где ρl ∈ Rl для l ∈ {1, . . . , p}, является разложимой на метакомпоненты из клонов F1 , . . . , Fp , т. е. для произвольных f ∈ Pol (A(R1 , . . . , Rp )) и Ψ ∈ Z ar(f ) необходимо указать f (Ψ) и fΨ . Пусть на D задан некоторый порядок. Рассмотрим матрицу T с ar(f ) p Q столбцами и |Ai |♯Ai Ψ строками, s-я строка которой является s-м в лекi=0
сикографическом порядке вектором с шаблоном Ψ. Пусть ρi = {h(TΨցAi ) |
h — (♯Ai Ψ)-местная функция из Fi )}. Покажем, что для каждого i отношение ρi принадлежит Ri . Действительно, множество строк матрицы ♯Ai Ψ
TΨցAi совпадает с множеством Ai из матрицы
♯A Ψ AAii
, поэтому она может быть получена
последовательным применением операций перестановки
строк и удвоения строк, перестановочных с применением функции. Если Pσ (x1 , . . . , xi , . . . , xj , . . . , xn ) — предикат, соответствующий отношению σ, то предикат отношения, получающегося перестановкой i-й и j-й компонент каждого вектора из отношения σ, имеет вид Pσ (x1 , . . . , xj , . . . , xi , . . . , xn ). Предикат отношения, получающегося из σ удвоением первой компоненты каждого вектора, имеет вид Pσ (x1 , x3 , . . . , xn+1 ) ∧ (x1 = x2 ). Следовательно, отношение ρi получается при помощи диофантовой формулы p S из отношения χF♯Ai Ψ , принадлежащего Ri . Из ρi ∈ Ri следует ρi ∈ i
i=1
∈ A(R1 , . . . , Rp ). Клоны функций Fi содержат проекции, поэтому множе-
Амальгамы клонов ство столбцов матрицы T содержится в f (T ) ∈
p S
p S
107
ρi , следовательно, справедливо
i=1
ρi .
i=1
Значит, существуют k и h ∈ Fk такие, что f (T ) = h(TΨցAk ). Положим f (Ψ) = Ak , fΨ = h. Возьмём произвольный вектор ~x с шаблоном Ψ. Этот вектор является одной из строчек матрицы T , поэтому для него выполняется равенство f (~x) = fΨ (~xΨցAk ). Итак, f ∈ A(F1 , . . . , Fp ). 2 § 2. Согласованность двух клонов В этом параграфе рассматриваются амальгамы двух клонов. Обобщение определения согласованности, а также формулировки и доказательства критерия согласованности клонов не представляют сложности, однако для простоты изложения и в силу того, что именно случай двух клонов представляет интерес с алгоритмической точки зрения, здесь проводятся все рассуждения для амальгамы двух аргументов. В этом параграфе считается, что справедливы равенства D = A ∪ B, Z = {A, B}, C = A∩B. На множествах A и B заданы клоны отношений RA и RB , клоны функций FA и FB определяются равенствами FA = Pol (RA ), FB = Pol (RB ). Обозначим через f |A сужение f на A. Если R — клон отношений, то через R|C обозначается множество {ρC | ρC = ρ ∩ C ar(ρ) , ρ ∈ RA }, а через PolC (R) — множество функций на C, сохраняющих R|C . Если F — клон функций, то полагаем F |C = {f |C | f ∈ F ∩ Pol (C)}. Покажем основное различие амальгам клонов, определённых на дизъюнктных и пересекающихся множествах. Допустим, A ∩ B = ∅. Возьмём произвольную n-арную функцию g из FA . На Dn определим функцию g(~x), если ~x ∈ An , f (~x) = x1 в противном случае.
Она разложима, т. к. для неё определимы метафункция и метакомпоненты: g, если Ψ = (A, . . . , A), f (Ψ) = Ψ1 , fΨ = x1 в противном случае.
108
Е. С. Скворцов Таким образом, для произвольной g из FA нашлась f из A(FA , FB )
такая, что f |A = g. Итак, в случае дизъюнктных A и B все функции клонов FA и FB можно получить сужением функций из A(FA , FB ). В случае пересекающихся A и B это верно не всегда, что показывает ПРИМЕР 2. Пусть A = {0, 1}, B = {1, 2}, C = A ∩ B = {1}, FA = = h{g}i, FB = h{h}i, где функция g — это перестановка g(1) = 0, g(0) = 1, а h — перестановка h(1) = 2, h(2) = 1. Покажем, что нет функции f ∈ ∈ A(FA , FB ) со свойством f |A = g. В силу включений A ∈ Inv (FA ), B ∈ Inv (FB ), ∅ ∈ Inv (FA ) ∩ Inv (FB ) имеем A = A ∪ ∅ ∈ hA(RA , RB )i, B = B ∪ ∅ ∈ hA(RA , RB )i. Значит, A ∩ B = C ∈ hA(RA , RB )i, т. к. это клон отношений, а предикат, соответствующий множеству C, можно представить как конъюнкцию предикатов, соответствующих A и B. По теореме 2 любая функция f ∈ A(FA , FB ) сохраняет C. Таким образом, f (1) = 1. Значит, нет функции f ∈ A(FA , FB ), со свойством f |A = g. ОПРЕДЕЛЕНИЕ 8. Будем говорить, что клоны функций FA и FB (а также соответствующие им клоны отношений RA и RB ) согласованы, если любую функцию из FA ∪ FB можно получить сужением некоторой функции из A(FA , FB ). Если сформулировать понятие согласованности на языке отношений, то становится очевидна эквивалентность вопроса о согласованности клонов и проблемы 2. ОПРЕДЕЛЕНИЕ 8′ . Будем говорить, что клоны отношений RA и RB (а также соответствующие им клоны функций FA и FB ) согласованы, если hA(RA , RB )i|A = RA , hA(RA , RB )i|B = RB . Эквивалентность приведённых определений согласованности показывают теорема 2 и следующее ПРЕДЛОЖЕНИЕ 2. Для любого клона функций F , определённого на A и сохраняющего C ⊆ A, клон отношений R = Inv F удовлетворяет равенству PolC (R|C ) = F |C .
Амальгамы клонов
109
ДОКАЗАТЕЛЬСТВО. Включение F |C ⊆ PolC R|C очевидно. Действительно, F сохраняет R|C , следовательно, F |C также его сохраняет. Докажем обратное включение. Для каждого n ∈ N построим отношение ρ так, чтобы все n-арные функции из клона PolC R|C сохраняли его, в то время как каждая n-арная функция, сохраняющая ρ, принадлежала F |C . Рассмотрим n-ый график χn клона F . Вычеркнем из χn все строчки, в которых в абсциссе графика χn встречаются компоненты, не принадлежащие C. Полученное отношение обозначим через ρ. Все компоненты векторов этого отношения принадлежат C, т. к. F сохраняет C. Заметим, что клон отношений по своему определению замкнут относительно операции вычёркивания строк. Таким образом, ρ ∈ R, а поскольку ρ ⊆ C arρ , верно ρ ∈ R|C . Значит, все функции из PolC R|C сохраняют ρ. Докажем, что всякая n-арная функция f , сохраняющая ρ, принадлежит F |C . Все столбцы AnC принадлежат ρ. Применим f к абсциссе AnC . Получим столбец, принадлежащий ρ. Этот столбец является результатом вычеркивания некоторых элементов из столбца, принадлежащего χn , который является результатом применения некоторой функции g ∈ F к абсциссе графика χn . Ясно, что f = g|C . 2 Таким образом, проблему 2 можно переформулировать следующим образом. ПРОБЛЕМА 2′ . Сформулировать условия, при которых клоны FA и FB согласованы. ~ — вектор, то обозначим чеВведём следующие обозначения. Если X ~ α→β вектор, получающийся из X ~ заменой компонент, равных α, на рез X β. Если Λ = {α1 , . . . , αk } — множество, то определим ~ Λ⇉β = X ~ α1 →β,...,αk →β . X Если Ψ ∈ Z n , то обозначим через ΨA вектор ΨB→C , а через ΨB — вектор ΨA→C . Напомним, что для произвольной функции f (~x) через f −1 (z) обозначается множество {~x | f (~x) = z}. ЛЕММА 1. Если функция f принадлежит A(FA , FB ), то fA = f |A , fB = f |B удовлетворяют следующим условиям:
110
Е. С. Скворцов 1) выполняется равенство fA |C = fB |C ; 2) справедливы включения fA ∈ A(FA , FB |C ), fB ∈ A(FB , FA |C ); 3) для fA и fB можно выбрать метафункции так, чтобы для любого
Ψ ∈ Z ar(fA ) выполнялось равенство (fA (ΨA ))C→B = (fB (ΨB ))C→A . Верно и обратное: если fA , fB — функции, зависящие от одинакового числа переменных, принадлежат клонам FA , FB , соответственно, и удовлетворяют условиям 1–3, то существует функция f ∈ A(FA , FB ) такая, что fA = f |A , fB = f |B . ДОКАЗАТЕЛЬСТВО. 1) Очевидно, т. к. fA |C = f |C = fB |C . 2) Функция fA разложима на метакомпоненты из клонов FA , FB |C , поскольку для неё можно указать метафункцию fA : {A, C}ar(f ) → {A, C} и набор метакомпонент D ⊆ FA ∪ FB |C . А именно, пусть f , если f (Ψ) = A; Ψ fA (ΨA ) = f (Ψ)B→C , fAΨA = fΨ |C , если f (Ψ) = B.
Проверим, что fA и D = {fAΨA } — метафункция и метакомпоненты
функции fA . Убедимся, что метакомпоненты выбираются из подходящих клонов. В самом деле, если f (Ψ) = A, то fΨ ∈ FA , а если f (Ψ) = B, то fΨ ∈ FB , следовательно, fΨ |C ∈ FB |C . Если ~x ∈ Aar(f ) и ΨA — шаблон вектора ~x, то fA (~x) = f (~x) = fΨ (~xΨցf (Ψ) ) = fAΨA (~xΨA ցfA (ΨA ) ). Итак, fA удовлетворяет определению разложимой функции. Доказательство для fB аналогично. 3) Проверяется непосредственно: (fA (ΨA ))C→B = ((f (Ψ))B→C )C→B = f (Ψ) = ((f (Ψ))A→C )C→A = (fB (ΨB ))C→A . Докажем обратное утверждение. Пусть функции fA , fB удовлетворяют условиям 1–3. Построим разложимую функцию f , сужениями которой
Амальгамы клонов
111
будут fA и fB . Положим f AΨA , если f (Ψ) = A, f (Ψ) = (fA (ΨA ))C→B , fΨ = fBΨ , если f (Ψ) = B. B
В силу условия 3 выполняется f (Ψ) = (fB (ΨB ))C→A . Для любых ~x и Ψ ∈ Φ(~x) положим f (~x) равным fΨ (~xΨցf (Ψ) ). Проверим корректность данного определения, т. е. покажем, что значение f (~x) не зависит от выбора Ψ. Пусть c — произвольный элемент из C. Возьмём произвольные Ψ1 , Ψ2 ∈ Φ(~x) и установим равенство fΨ1 (~xΨ1 ցf (Ψ1 ) ) = fΨ2 (~xΨ2 ցf (Ψ2 ) ). Допустим, f (Ψ1 ) = f (Ψ2 ) и для определенности положим их равными A. Тогда fΨ1 (~xΨ1 ցA ) = fAΨ1 (~xΨ1 ցA ) = fA (~x(B\C)⇉c ) = fAΨ2 (~xΨ2 ցA ) = fΨ2 (~xΨ2 ցA ) A
A
и в этом случае определение f корректно. Допустим теперь, что f (Ψ1 ) 6= f (Ψ2 ) и для определенности положим f (Ψ1 ) = A, f (Ψ2 ) = B. Рассмотрим два случая. С л у ч а й 1. Пусть функция fC = fA |C = fB |C тождественно равна c0 ∈ C. В этом случае для функций fA , fB выполняется условие „а“ предложения 1. Из fA (Ψ2A ) = C следует fA (~x(B\C)⇉c ) = c0 , а fB (Ψ1B ) = C влечёт fB (~x(A\C)⇉c ) = c0 . В этом случае определение f корректно, т. к. fΨ1 (~xΨ1 ցA ) = fAΨ1 (~xΨ1 ցA ) = fA (~x(B\C)⇉c ) = c0 = fB (~x(A\C)⇉c ) = fBΨ2 (~xΨ2 ցB ) = fΨ2 (~xΨ2 ցB ). С л у ч а й 2. Пусть функция fC = fA |C = fB |C не является константой. Тогда для функций fA , fB выполняется условие „b“ предложения 1. Пусть g, k — функция и число такие, как в упомянутом условии. Тогда для любых ~x ∈ Aar(f ) , ~y ∈ B ar(f ) , удовлетворяющих включениям xk ∈ C, yk ∈ C, выполняются равенства fA (~x) = g(xk ), fB (~y ) = g(yk ). Покажем, что f (Ψ1 ) = A влечёт Ψ1k = A. Допустим противное, т. е. Ψ1k = B. Для любых ~z1 , ~z 2 ∈ C ar(f ) , отличающихся только k-ой координатой, справедливо 1 2 равенство zΨ = zΨ , из которого следуют равенства 1 ցB 1 ցB 1 2 g(zk1 ) = fA (z 1 ) = fAΨ1 (zΨ ) = fAΨ1 (zΨ ) = fA (z 2 ) = g(zk2 ), 1 ցB 1 ցB
112
Е. С. Скворцов
противоречащие тому, что функция g(xk ) является константой. Аналогично, f (Ψ2 ) = B влечёт Ψ2k = B. Следовательно, xk ∈ A ∩ B = = C. Поэтому fΨ1 (~xΨ1 ցA ) = fAΨ1 (~xΨ1 ցA ) = fA (~x(B\C)⇉c ) = g(xk ) = fB (~x(A\C)⇉c ) = fBΨ2 (~xΨ2 ցB ) = fΨ2 (~xΨ2 ցB ). Корректность определения функции f доказана. В клонах FA , FB нет нульместных функций. Следовательно, справедливо равенство f (A, . . . , A) = A, откуда fA = fA(A,...,A) = f(A,...,A) = f |A . Аналогично получаем fB = f |B . 2 ТЕОРЕМА 3. Клоны FA , FB согласованы тогда и только тогда, когда для любой fA ∈ FA можно найти fB ∈ FB , удовлетворяющую условиям 1–3 леммы 1, и для любой fB ∈ FB можно найти fA ∈ FA , удовлетворяющую условиям 1–3 леммы 1. ДОКАЗАТЕЛЬСТВО. Н е о б х о д и м о с т ь. Если клоны согласованы, то для произвольной fA ∈ FA существует f ∈ A(FA , FB ) со свойством fA = f |A . По лемме 1 существует fB ∈ FB , удовлетворяющая условиям 1–3 леммы 1. Аналогично находим fA ∈ FA для fB ∈ FB . Д о с т а т о ч н о с т ь. В силу леммы 1 для любой fA ∈ FA существует f ∈ A(FA , FB ), удовлетворяющая равенству fA = f |A . Аналогично, для произвольной fB ∈ FB существует f ∈ A(FA , FB ) со свойством fB = f |B . 2 СЛЕДСТВИЕ 1. Если клоны RA и RB согласованы, то 1) FA |C = FB |C , RA |C = RB |C ; 2) FA = A(FA , FA |C ), FB = A(FB , FB |C ), RA = hA(RA , RA |C )i, RB = = hA(RB , RB |C )i. ДОКАЗАТЕЛЬСТВО. Равенства клонов функций следуют из теоремы 3, а равенства клонов отношений — из равенств клонов функций, предложения 2 и теоремы 2. 2 Автор благодарен за продуктивное обсуждение результатов данной работы всем участникам семинара „Дискретная математика“, проходящего в Уральском гос. университете, и в особенности А. А. Булатову и Е. В. Суханову.
Амальгамы клонов
113
ЛИТЕРАТУРА 1. U. Montanari, Networks of constraints: fundamental properties and applications to picture processing, Inform. Sciences, 7 (1974), 95—132. 2. T. J. Schaefer, The complexity of satisfiability problems, in: Proc. 10th ACM Symp. Theory Comput., STOC’78, 1978, 16—226. 3. A. A. Bulatov, A. A. Krokhin, P. G. Jeavons, Constraint satisfaction problems and finite algebras, in: U. Montanari (ed.) et al., Automata, Languages and Programming, 27th Intern. Colloq., ICALP 2000 (Lect. Notes Comput. Sci., 1853), 2000, 272—282. 4. P. G. Jeavons, On the algebraic structure of combinatorial problems, Theor. Comput. Sci., 200, N 1-2 (1998), 185—204. 5. R. P¨ oschel, L. A. Kaluznin, Funktionen- und Relationenalgebren, DVW, Berlin, 1979. 6. D. Cohen, P. Jeavons, R. Gault, New tractable classes from old, in: CP 2000. 6th intern. conf., Singapore, Sept. 18–21, 2000. Proc. (Lect. Notes Comput. Sci., 1894), Berlin, Springer, 2000, 160—171. 7. D. A. Cohen, P. G. Jeavons, M. Koubarakis, Tractable disjunctive constraints (Lect. Notes Comput. Sci., 1330), 1997, 478—490. 8. D. Cohen, P. Jeavons, M. Koubarakis, Building tractable disjunctive constraints, J. ACM, N 4 (2000), 826—853. 9. А. Булатов, Е. Скворцов, Амальгамы комбинаторных задач, Российская конф. „Дискретный анализ и исследование операций“, тез. докл., Новосибирск, 2002, 136.
Поступило 2 июня 2003 г. Адрес автора: СКВОРЦОВ Евгений Сергеевич, каф. алгебры и дискрет. матем., Уральский гос. университет, пр. Ленина, 51, г. Екатеринбург, 620083, РОССИЯ. Тел.: (3432) 50-75-79. e-mail:
[email protected]