Книга
Книга
СОДЕРЖАНИЕ
Математические вопросы
р. д. мак-элис, е. р, родемич, г. рамсей мл. и л. р. велч. Новые верхние границы для скорости кода, основанные на неравенствах Дельсарта — Мак-Вильямс. Перевод Г. А. Каботянского 6
М. Р. БЕСТ, А. Е. БРАУЭР, Ф. ДЖ- МАК-ВИЛЬЯМС, А. М ОДЛИЖКО, Н. ДЖ.
слоен. Границы для двоичных кодов длины меньше 25. Перевод Г. А. Каботянского '28
роберт ЭНДРЕ тарьяН. Сложность комбинаторных алгоритмов. Перевод
Б. Алексеева 61
в. Р. ПРАТТ. Влияние базиса на сложность булевых формул. Перевод
О. М. Касим-Заде114
К. Л. мандерс и Л. эдлимэн. Л^-полные проблемы разрешения для квадратных уравнений с двумя неизвестными. Перевод А. А. Мучника . . . . 124
в. ф. мак-колл. . м- с- патерсон Глубина всех булевых функций. Пе
ревод В. М. Храпченко.154
РИЧАРД э. ЛАДНЕР. Применение теоретике-модельных игр к линейным порядкам и конечным автоматам. Перевод А. А. Мучника.,164
Математические вопросы в биологии
А. ЛИНДЕнмайер. Биологические аспекты развивающихся систем и языков.
Перевод М. И. Кратко192
Математические вопросы
Новые верхние границы для скорости кода, основанные на неравенствах Дельсарта—Мак-Вильямс
Р. Д. Мак-Элис, Е. Р. Родемич, Г. Рамсей мл. и Л. Р. Велч *)
С помощью неравенств Дельсарта — Мак-Вильямс получена верхняя граница для скорости двоичного кода как функция его минимального расстояния. Эта верхняя граница асимптотически меньше, чем границы Левенштейна и Элайса. •'
ВВЕДЕНИЕ
Пусть Vn обозначает множество всех 2” двоичных n-ок и для х, ye Vn через [|х — у|| обозначим расстояние Хэмминга) между х и у, т. е. число компонент, по которым х и у различаются. Подмножество С = {хь ..., хм} ^ Vn называется кодом длины п, Xi называются кодовыми словами, величина dmin(C) = min {!|хх —Х/||: i =#/} называется минимальным расстоянием кода С, а величина R (С) = пгх log2 М — скоростью кода. Нас интересует связь между скоростью -кода и его минимальным расстоянием, и в этой статье мы получим асимптотическую верхнюю границу величины /?(С) как функцию от dmin (С).
Для сжатого описания наших результатов необходимо ввести дополнительные обозначения. Сначала определим М^п, d) как наибольшее возможное число кодовых слов в коде длины п с минимальным расстоянием не менее d. Затем определим R (п, d) = пгх log2 М (п, d) как скорость наилучшего кода длины п с минимальным расстоянием не менее d. Наконец, для любого вещественного 6, 0 ^ 6 ^ 1, определим величину
R (б) = sup lim R (п, dn), '(1.1)
П-»оо.
где верхняя грань в (1.1) берется по всем последовательностям dn, для которых dn/n 6.
9 R. J; McEliece, Е. R. Rodemich, Н. Rumsey, jr., and L. R. Welch. New upper bounds on the rate of a code via the Delsarte — MacWilliams inequalities. IEEE Trans. Inform. Theory, IT-23, № 2 (1977), 157—166.
Известно (см., например, [2, гл. 13]), что /? (0) = 1 и /?(6) = 0 при 1/2^6^ 1, но /?(6) неизвестно при 0<6< 1/2. До весьма недавнего времени наилучшими верхними и нижними границами /? (6) для этого диапазона были
1 - g (46 (1 - 6)) < R (6) < 1 - g (26), (1.2) где в (1.2) функция g(x), ’изображенная на рис. 1, определяется для O^x^l выражениями
g (х) = Н2 ((1 — V1 — )/2),
Н2(х) = — xlog2x — (1 — x)log2(l — х). (1.3) Функция g(x) монотонно возрастает и выпукла вверх на отрезке [0, 1]. Нижняя граница в (1.2), которая обычно записывается как 1—#2(6), принадлежит Гилберту1),
Элайсу. Границы Гилберта и Элайса изображены на рис. 2,
неизвестная функция /?(6) лежит где-то между ними. В то время как нижняя граница Гилберта остается до сих пор наилучшей, Сидельников [6] и Левенштейн [5] получили новые верхние границы величины /?(6), которые строго меньше, чем гра- ница_Элайса при 0<6<1/2. Однако численное улучшение границы Элайса невелико.
В этой работе получена новая верхняя граница величины /?(6) при 0<6< 1/2, которая, насколько нам известно, строго
меньше, чем любая другая граница. Это граница
/?(6)^ min 1 + g (м2) — g (и2 + 26м + 26).(1.4)
0< «< 1-26
Заметим, что, вычисляя выражение 1 + g(м2) — g(м2 + 26м + + 26) при м = 1— 26, получаем ^((1—26)2), и таким образом, из (1.4) следует существование границы
/?(б)<§((1-26)2).(1.5)
Как ни странно, границы (1.4) и (1.5) в действительности совпадают при 0,273 < 6 ^ 1/2, и поэтому минимизация по и улучшает (1.5) только при относительно малых значениях 6.
Рис. 3. Сравнение границ (1.4) и (1.5) с границей Левенштейна.
Отметим также, что при м = 0 (1.4) приводит к границе Элай- са; легко проверить, что производная от g^u?^— g(u2 + 26u + + 26) при и = 0 отрицательна, и поэтому граница (1.4) всегда меньше границы Элайса. (Однако граница (1.5) больше, чем граница Элайса при 6 <0,150, а при 6 <0,114 даже больше, чем граница Хэмминга 1 — Я2(б/2).) Границы (1.4), (1.5) и граница Левенштейна изображены на рис. З1).
Изложим план оставшейся части статьи. В разд. 2 содержится набросок доказательств (1.4) и (1.5). В разд. 3 доказывается (1.5), а в разд. 4 доказывается (1.4). Как отмечалось выше, (1.4) включает в себя (1.5) как частный случай, и поэтому разд. 3 не строго обязателен для законченности изложе-
9 Один из рецензентов предложил нам высказать предположение о связи между нашей границей Af(6), границей Гилберта 6(6) и истинным значением 7? (6). Наше предположение таково: 6(6) < 7? (6) < N (6) для всех 0 < 6 < 1/2 (см. также сноски на стр. 10 и стр. 12).
ния. Однако мы приводим отдельное доказательство (1.5), с тем чтобы ввести читателей в довольно сложный круг идей, необходимых для полного доказательства (1.4). Во всяком случае, общая граница (1.4) ненамного лучше, чем минимум из границ Элайса и (1.5), поэтому мы рассматриваем (1.5) как наиболее значительное достижение настоящей работы.
НЕРАВЕНСТВА ДЕЛЬСАРТА — МАК-ВИЛЬЯМС И ГРАНИЦАЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Пусть С = {xiхм} — код длины п и Нхц —xv||^d при p#=v. Для каждого i =0, 1, ..., п определим щ как среднее число, кодовых слов, находящихся на расстоянии i от данного кодового слова ), т. е.
а<=^-iKl*. v): ||хц —Xvl| = Z}|.(2.1)
Вектор а = (о0, «ь • •., «„) называется распределением расстояний кода. Из определения непосредственно следует, что
.а0=1,
01 = 02= ••• =od_i=0,•(2.2)
Оо + О] + ... + о„ = М.■
Пусть K/(i)—коэффициент при у* в многочлене (1—уУ(Д +. + «/)"-'. Неравенства Дельсарта — Мак-Вильямс имеют следующий вид:
£ atK, (<) > 0, / = О, 1, ..., п.(2.3)
(Простое доказательство этих неравенств дано в [8]. Числа К/(0 подробно обсуждаются в приложении А.)
Обозначим теперь через MLp(n, d) величину, получаемую в результате решения следующей задачи линейного программирования:
максимизировать о0 + О] + ... + о„ при условиях:
Оо= 1,
. (2.4а)
01 =
... =od_i = 0,
(2.4b)
0/ ^ 0, i
= d, d + 1, .... п,
' (2.4с)
z=o
SO, / = 0, 1, ..., п.
(2.4d)
Тогда из (2.2) и (2.3) следует, что М(п, d) ^ AfLp(n, d). Это неравенство и называется границей линейного программирования. Определим также для 0 ^ б ^ 1 величину
Rlp (6) = sup lim 4 *og2 Mlp (n, d„),(2.5)
П->оо Л
где верхняя грань берется так же, как в (1.1). Очевидно, что /?(6) ^ /?lp(6). В разд. 3 будет показано *), что для 0 ^ б ^ 1/2
/?Lp(d)<g((l — 2d)),(2.6)
что и доказывает (1.5).
Опишем теперь, как возникает более точная граница (1.4). Для произвольного подмножества Вс У„ обозначим через Мв(п, d) максимальное число кодовых слов хь ..., хм, которые можно выбрать в В так, что Пх^ — xv||^d для всех p,^v. Тогда, как хорошо известно,
М(п, d)<-^MB(n, d).(2,7)
(Доказательство (2.7) можно найти в [5, следствие 1 леммы 3] или в [3, теорема 3.7]. Этот результат приписывается различными авторами Элайсу или Бассалыго.)
Если в (2.7) выбрать в качестве В множество всех (") векторов веса w для некоторого фиксированного w е (0, 1, ... ..., [п/2]} и обозначить соответствующее Мв(п, d) через М(п, d, w), то (2:7) принимает вид '
'М(п, dX-^-^M^n, d, w\(2.8)
(.)
Теперь определим /?(б, а) как
/?(б, a) —sup lim ^-Vog2 М(п, dn, w^,(2.9)
n->oo n
где верхняя грань в (2.9) берется по всем последовательностям (dn) и (фл), для которых dn/п-^б и Wn/n->a. Тогда из (1.1) и (2.8) следует, что2)
R (б) < 1 - Н2 (а) + R (б, а)(2.10)
для всех 0 < а ^ 1/2.
В разд. 4 мы ограничимся исключительно задачей получения границы для М(п, d, w). Асимптотическая форма этой гра-
*) Мы не верим, что эта граница точна при каком-либо 0 < 6 < 1/2.
ницы в сочетании с (2.10) и даст наш главный результат (1.4). Настоящий раздел заканчивается кратким описанием нашей техники оценивания величины М(п, d, ty).
Пусть (хь ..., Хм} — множество, состоящее из М двоичных кодовых слов длины п и веса w, таких, что Их^ — xv||>:d при р ^= v. Для каждого t = 0,1, ..., w пусть at будет средним числом кодовых слов, находящихся на расстоянии 2i от произвольного кодового слова *), т. е.'-
Дг=^1{(Н, v): ||xu-xv|| = 2/}|.(2.11)
Как и выше (см. 2.2), непосредственно видно, что•
До = 1,■
аг = 0 для l^t<d/2,(2.12)
<io + ... + д® = М.
Дельсарт [3; теорема 3.3] открыл числа Q/(i), которые играют здесь ту же роль, что и числа К/(0 ранее, а именно
■ZafQ/(0>0, / = 0, 1w.(2.13}
(В действительности Дельсарт создал красивую общую теорию «ассоциативных схем», в которой основные неравенства (2.3) и (2.13) возникают как очень частные случаи. Определение и многие свойства чисел Q/(i) даны в приложении В.) Как и раньше, если обозначить через Мьр(п, d, ty) величину, возникающую в результате решения следующей задачи линейного программирования:
■ максимизировать до + Д1 + ... + aw при условиях'
«0=1,(2.14а)
д, = 0 для l^i<d/2,"(2.14b)
Д/>0 для всех I,(2.14с)
Да^ДОХ), 7 = 0, 1w, " (2.14d)
то М(п, d, w)^MlpVi, d, w). Определим теперь /?lp(6, а) как /?ьр(6, a) = sup lim -^log2A4Lp(«, dn, Wn), (2.15) П->оо a
9 Отметим, что так как все xt имеют одинаковый вес, то расстояние между любыми двумя словами обязательно четное.
где верхняя грань берется так же, как и в (2.9). В разд. 4 будет доказано1), что для фиксированного 6, 0<б< 1/2,.
/?ьр(6, «)^/?ьр(6, «)^О, g^,О, g^,0<а<б*, б* < а < 1/2,0<а<б*, б* < а < 1/2,(2.16)(2.16)
/?ьр(6, «)^
/?ьр(6, «)^
О, g^,
О, g^,
0<а<б*, б* < а < 1/2,
0<а<б*, б* < а < 1/2,
(2.16)
(2.16)
где б* = (1 - Vl-26)/2 и и = — 6 + (62 — 26 + 4а (1 — а))1/2. При изменении а от 6* до 1/2 величина и монотонно возрастает от 0 до 1 — 26, и так как #2(а) = g^u? + 26ц + 26), то (2.10) и (2.16) вместе дают границу (1.4). В [5]х Левенштейном была построена верхняя граница для /?(6, а). Сложность границы Ле- венштейна не позволила нам осуществить аналитическое сравнение двух границ, но, по-видимому, граница (2.16) лучше границы Левенштейна, по крайней мере для сравнительно больших 6. Для сравнения в табл. 1 приведены численные значения (для
Таблица /
Границы для /?(6,а) при 6 = 0.48 (6 * = 0Л0)
а
' Верхние границы
Гилберта (нижняя)
ЛгЗенштейна
(2,16)
.40
0. 00000
0.00000
0.00000
,41
0.00117_
O.OOO27
0.00004
.42
0.00361-
0.00085
0.00016
.43
•0.00657-
0.00158
0.00031
.44
0.00965
0.00236
С.00049
.45
0.01240
0.00311
0.00066
.46
0.01457
0.00378
0.00082
.47
0.01612
0.00433
0.00096
.48
0.01721
0.00475
0.00107
.49
0.01764
0.00501
0.00113
.50
0.01764
0.00509
0.00115 -
6 = 0.48 и 0.40 ^ а ^ 0.50) границы Левенштейна, нашей границы (2.16) и нижней границы Гилберта //2(a)—о№(б/2а)— -(1—«№(6/2(1—а)).
0 Мы не думаем, что интересующая нас часть этой границы точна, т. е. мы предполагаем, что /?Lr(6, a) < g(u^ для 0 < б < 1/2, б* < а ^ 1/2.
ДОКАЗАТЕЛЬСТВО (2.6)
Наш первый результат фактически является формулировкой теоремы двойственности применительно к задаче линейного программирования (2.4).
Теорема 1. Пусть (Хо, Хь ..., Х„)— вещественные числа, удовлетворяющие условиям
Яо > О, kj>0, /=1,(3.1)
£я,К/(0^0, i = d, d+1п. (3.2) /-о '
Тогда
&Ып, d)<-l-£4^,(0).(3.3)
0 /-о■'
Доказательство. Пусть («о, аь •••> «п)— вещественные числа, удовлетворяющие ограничениям (2.4), для которых а0 + п'
«!+... + ап = Мкр.(1п, d), и пусть 6/ = У, atKj (0- Тогда (ввиду (3.1) и (2.4d))"
XobQ < Z Xjb,XiKt (i) < Z Х,К, (0)(3.4)
/-0i-0/-0/-0 -
(в силу (3.2) и (2.4a, b, с). Теперь по определению Ko(j} равно коэффициенту при 1 в выражении (1—уУ(Х + у)^1, т. е. еди- п
нице, и, следовательно, b0 = Z cti = Mlp (n, d). Этот факт в со- z-o
четании с (3.4) дает теорему 1.
Известно, что КУГ) является многочленом степени / относительно переменной I. Этот многочлен, который мы обозначим КДхУ называется многочленом Кравчука. В последующих рассуждениях мы будем часто ссылаться на результаты, касающиеся многочленов Кравчука, и отсылать читателя за подробностями к приложению А. Вначале п и d будут фиксированными целыми числами, затем после получения границы (3.13) для величины М (n, d) мы перейдем к асимптотическому анализу.
Пусть t— целое число, 1 ^ t ^ п/2, и пусть а — вещественное число на отрезке [0, л]. (Эти числа будут заданы более точно позже.) Введем многочлен
Р* (х) = Kw (х) Kt (а) - Kt (х) Кил (а).
В соответствии со свойством (А. 16)
-(з.5)
6-° U) '
Определим теперь многочлен
==■(3.6)
(3.8)(3.8)Для каждого / (см. приложение A) KiW имеет / различных вещественных корней на интервале (0, п). Обозначим через ^ наименьший такой корень. Тогда по свойству (А.17) х(/+1) < х^. Выберем теперь а так, чтобы выполнялось
(3.8)
(3.8)
х^+п <а< х^.
Тогда из неравенства К/(0)=(?}>0 (А.8) следует, что К/(а)>0 для j^t и К<+1(^)<0 (см. рис. 4). Следовательно,
Рис. 4. Соотношения между Kt+i (х) и Kj^x\ f^t.Рис. 4. Соотношения между Kt+i (х) и Kj^x\ f^t.
Рис. 4. Соотношения между Kt+i (х) и Kj^x\ f^t.
Рис. 4. Соотношения между Kt+i (х) и Kj^x\ f^t.
в (3.7) Р(х) представляется в виде суммы произведений многочленов Кравчука, взятых с неотрицательными коэффициентами. По свойству (А. 19) любое произведение Kz(x)K/(x) может быть представлено как сумма. У, а^Кь (х), где все си ^ б. Отсюда заключаем, что и сам многочлен Р(х) разлагается с неотрицательными коэффициентами по многочленам Кравчука.
Далее заметим, что из (3.6) вытекает, что Р(х)^0 при х ^ а. Поэтому, если предположить, что a^d, то Р (х) ^ О
при x^d. Следовательно, если Р(х) = У, X,Kj (х), то коэффициенты X/ удовлетворяют условиям теоремы 1 и Мьр(п, d)^
Р (0) /Хо. Из (3.6) имеем
^^(лл^-с?)'^]2-
(e=-W)-<3-9)
Для вычисления Хо воспользуемся формулой (А. 12)Хо= ^ Р(х)Х
Xdp(x) и свойствами ортогональности (А.11):
Хо= - -4т • Kw (a) Kt (a) J Kt W dp (х) =
— ттгО^^. (ЗЛО)
Объединяя (3.9) и (3.10), получим следующую границу:
MLp(«, d)<(^)MLp(«, d)<(^)(»-/-« +1) QP— 2а (/+ 1) Q(»-/-« +1) QP— 2а (/+ 1) Q(ЗЛ1)(ЗЛ1)
MLp(«, d)<(^)
MLp(«, d)<(^)
(»-/-« +1) QP— 2а (/+ 1) Q
(»-/-« +1) QP— 2а (/+ 1) Q
(ЗЛ1)
(ЗЛ1)
cQ-Kw(a)fKt(a),где ] x^<a<x^\
A a<d.
Для упрощения выберем t так, чтобы x^^d, и а так, чтобы Q = Kt+i(a) /Kt(a) =—1 (см. рис. 4). Тогда (3.11) принимает вид
Мь,(п. dX^^L (3.12)
(при условии x^^d, t^n,2y Теперь, так как а^х</+1) и, согласно (А. 18), х(#+1)^1, получаем
Мы>(л, d)<(")Мы>(л, d)<(")(n +1)2 2« + D(n +1)2 2« + D<(?)(«+0*<(?)(«+0*(3.13)(3.13)
Мы>(л, d)<(")
Мы>(л, d)<(")
(n +1)2 2« + D
(n +1)2 2« + D
<(?)(«+0*
<(?)(«+0*
(3.13)
(3.13)
(при условии ^^d, t^n/2"j.
Перейдем к асимптотическому анализу границы (3.13). Выберем т так, чтобы- 1/2 — V^(l — 6) < т < 1/2, и пусть (drt) и (/п) — последовательности целых чисел, такие, что dn/n-*-b и
tn/п -^ т. Теперь, согласно (А.20), Пт х^/п^ 1/2 — л/т (1 — т) < < б, и поэтому для достаточно больших п условия, при которых установлено (3.13), выполнены. Таким образом,
Пт -^ log2 Mlp (п, dn) < lim Ц- log2 ( 7 ) + 4" log2 (n + D21 = n->oo n n->oo L " X tn / «, J
= lim4-log2(” ) = Я2(т), (3.14) так как n-1 log2 ( 4 ) " ^2 (Vn)- Объединяя (3.14) c (2.5), видим, что Rlp (6) ^ Hi (т) при 1/2—V$U — 6) < т < 1/2. Так как Hi (т) — непрерывная функция от т, то из этого следует Plp (6) ^ < Hi (1/2 - V6(l-6)) = 8 «1 - 2d)2),' что и есть обещанная граница (2.6). .
ДОКАЗАТЕЛЬСТВО (2.16).
Методы, используемые в этом разделе, по существу идентичны примененным в разд. 3, и поэтому мы будем опускать Некоторые детали вычислений.
Наш первый результат аналогичен теореме 1, его доказательство фактически такое же, поэтому мы его опускаем.
Теорема 2. Если вещественные числа Хо, Xb ..., Xw удовлетворяют условиям''
Яо > О, Я/>0, /=1, .... го, _(4.1)
ZX/Q/OXO для i^d!2,(4.2)
ТО
. MLp(п, ^, ф)<4;£xiQi(°)-■(4-3>
° /=0
■ Для заданных (n, d, w) выберем целое число /, 1 ^ t ^ w, действительное число а в интервале (0, w) и положим
.P*(x) = Qt+i(x)Q,(a)-Qf(x)Qt+1(a).(4.4)
Согласно (В.14)1), .
■ Р (х) = (а - х) -(Т+Т^^Т-ТЙ^Т^Т)- ^' L^• (4-5)
где tyz = п — w, а константы р* задаются (В.1).
(4.6)(4.6)Определим теперь *)
(4.6)
(4.6)
Р (х) = Р* WKQ ~ ^) =
T^^RS^ I*- К-« W » W - Q. MQW W1X
ttXZk-QXZk-QQk 00 Qk (a)^kQk 00 Qk (a)^k(4.7)(4.7)
t
t
XZ
k-Q
XZ
k-Q
Qk 00 Qk (a)^k
Qk 00 Qk (a)^k
(4.7)
(4.7)
Для любого / многочлен Q/(x) имеет / различных вещественных корней в интервале (0, w^ (см. приложение В), и если через хР обозначить наименьший корень Q/(x), то х*/+1) < х^^см. (В. 16)). Если выбрать а так, чтобы выполнялось неравенство
(4.8)(4.8)х(/+1) < а < хр,
(4.8)
(4.8)
то из Q/(0)= р/> О (В.10) следует, что Q/(a)'>0 для j'С t и Qf+i(a)<0. (Ситуация такая же, как и на рис. 4.) Следовательно, в (4.7) Р(х) представляется в виде суммы произведений многочленов Q/(x), взятых с неотрицательными коэффициен-
W
тами.Согласно (В.17), (В.18),это означает, чтоР(х) =
/-0
где все X/ ^ 0. Заметим далее, что из (4.6) следует, что Р(х)^ ^ 0 при х > а, и если предположить, что а ^ d/2, то Р(х) ^ 0 при х ^ d/2. Применяя теорему 2, делаем вывод, что Mtp(n, d, w)^ P(0)/Xq. Если к тому же предположить, что x^^d,2, а а выбрано в интервале (х(/+1), xj0) так, что Qf+i(a)/Q<(a) = —1, то, используя (4.6) и (4.4), можно подсчитать, что
(4.Ю)(4.Ю)Для вычисления Хо применим формулу (В.14) Хо= j P(x)d0(x) к (4.6) и воспользуемся соотношениями ортогональности (В. 13). В результате получим
(4.Ю)
(4.Ю)
Л° — И< (/ + 1) (w - t) (w' - 0 ** W '
9 Многочлен, определяемый (4.6), может иметь степень больше w. Мы в действительности определяем Р^ как единственный многочлен степени не более w, значение которого совпадает со значением правой части (4.5) для х = 0, 1, ..., w.
Объединяя эти результаты и вспоминая, что х)*+1> < а, получим следующую границу для A4Lp(n, d, ty):.
Mlp^i, d, w)^
^ К U ?/+» « + 1) (n - / 4-1) (n - 2t - 1) (n - 2/) (n - 2< + 1)^ '
при условии x^^d/2.
Приступим теперь к исследованию асимптотического поведения границы (4.11). Пусть (dn), (^п) и (/„)—последовательности целых чисел, такие, что,
dja^-b, WtJn-xi,(4.12)
.0<р<а<1/2.
В силу (В.10), многочлен Q^"' ш”) (х) положителен при х = 0, а в силу (В.11), он также положителен при х = 1 для достаточно больших п. Следовательно, если у него вообще есть корни в интервале (0, 1), то их в этом интервале по крайней мере два. Это, однако^невозможно, так как, ввиду замечания после (В. 16), между любыми двумя корнями есть целое число, и, следовательно, ■
х^"^!, когда п достаточно велико. (4.13)
Это означает, что дробь в правой части (4.1,1) растет не быстрее, чем О(п6), и поэтому в границе доминирующим является биномиальный коэффициент ("). Но n~l log2 ( ^->Н2 (р) и, объединяя (4.11) с (2.15), получаем границу 7?lp(6, а) ^ Я2(Р) при условии, что р выбрано так, что x^^dn/2 для больших п. Но, согласно (В.21), это будет иметь место, если (а(1 — а) —РХ Х(1 — Р)) -(1 — 2 Vp(l —Р))/(1 —2Р)2<6/2. Подводя итог, получаем границу
/?ьр(6, а)<Я2(р),(4.14а)
если■
а° "а^вГ^(I-2 VRi^Pj)<6/2.(4Л4Ь)
Если уже а(1 — а) ^6/2, то (4.14b) выполняется при р = 0, и прэтому.
/?ьр(6, а) = 0 при а(1—а)<6/2.(4.15)
В противном случае определим v и и посредством равенств у2/4 = а(1 — а), ы2/4 = Р(1 — р). Тогда условия (4.14b) становятся . проще: (о2— и2)/(1 + и) ^ 26. Очевидно, что наименьшее и, для которого это условие выполняется, есть единственное положительное решение уравнения (у2—u2)/(l+«) = 26,
т. е. уравнения м2 + 26м + 26 = и2. А это означает, ввиду Hi^gW, что
/?lp(6, a)^g(M2) при а (1—а) >6/2.(4.16)
Последнее неравенство в сочетании с (4.15) и дает обещанную границу (2.16).
БЛАГОДАРНОСТЬ
Авторам хотелось бы поблагодарить Филиппа Дельсарта, Эндрю Одлижко и • Нейла Слоэна за их полезные замечания по этой статье.
ПРИЛОЖЕНИЕ А
НЕКОТОРЫЕ СВОЙСТВА МНОГОЧЛЕНОВ КРАВЧУКА
В этом приложении собраны в виде справочного пособия некоторые важные свойства многочленов Кравчука А/(х), определенных в разд. 21). Напомним определение,
'К, (г) = коэф. (1 — у) (1 + у)"-*.(А. 1)
У1
Из (АЛ) следует, что
^-Е^ЧОС-»)-(А-2)
£-0-
Если в (АЛ) подставить (1—уУ = (1+у— 2уУ и раскрыть, то получится другая формула
fc-0
Из (А.2) или (А.З) следует, что А/(х) является многочленом относительно х степени /, и легко проверяется, что-
■' Хо(х) = 1,_(А.4)
Ki (х) = - 2х + п,(А.5)
Кг (х) = 2х2 - 2хп + (п2 - n)/2,.(А.б)
К, (х) = ^ х* + меньшие степени х,(А.7)
К/(0) = (")'(А18)
KiW=2L=TLCi-\) для /¥=0-(А,9)
С помощью (АЛ) легко проверить, что ( ^ ) Kj (0 равно коэффициенту при у1 г1 в (1 + у + г — угу, а так как последнее выражение симметрично относительно у и г, то
■ (АЛ0)
Перейдем теперь к важнейшим свойствам ортогональности. Пусть р(х) —
функция скачков со скачками 2 пфункция скачков со скачками 2 пв точках х = к, 6 = 0, 1, ..., п.в точках х = к, 6 = 0, 1, ..., п.
функция скачков со скачками 2 п
функция скачков со скачками 2 п
в точках х = к, 6 = 0, 1, ..., п.
в точках х = к, 6 = 0, 1, ..., п.
ккРассмотрим р(х) как интегрирующую функцию в интеграле Стильтьеса, т. е. для каждого многочлена Р(х) определим Р (х) dp (х) = 2”rt ^ Р (6) ( 2 У
к
к
Многочлены А/(х) ортогональны относительно р, т. е.
(А.11)(А.11)$ К, (х) К, (х) dp (х) — ( ") »,.,
(А.11)
(А.11)
(см. Сеге [7, § 2.82]). Отсюда для любого Р(х) степени не более п имеем
РЮ-У Ч^кЮ. , = 0> 1п>
'"л-0(А. 12)
Ч=СкУ
Много важных фактов следует из этого свойства ортогональности. (Формулы (А.13)—(А.18) выведены на основании результатов, содержащихся в работе Сеге [7, §§ 3.2—3.4]). Например, имеет место рекуррентная формула
(/ + 1) К1+1 (х) - (« - 2х) к, (х) + («-/+!) Kj.! (X) = 0. (А.13)
Используя формулу взаимности (АЛО), легко преобразовать (А.13) в разностное уравнение
кп - о Kj U + 1) - кп - 2/) К/ (О + iK, (< - 1) = о. (А. 14)
Имеется также формула Кристоффеля — Дарбу, которая утверждает, что если Ро, Pi, ... — многочлены, ортогональные относительно интегрирующей функции а(х), т. е. ^ Pt (х) Ру (х) da (х) = ^ц^р то
], (А.15)], (А.15)у Рк м W1 Lj Г p/+l (х) Р, (у) - Р, (х) Р/+1 (у)
], (А.15)
], (А.15)
Zj gA ц, L/+1 L ■ X —у
где L} — старший коэффициент Р/(х). Для многочленов Кравчука р,^ = ^ ^ J согласно (А.11), a L//L/+1 = -—(/+1)/2 согласно (А.7), и (А.15) принимает вид.
Ау+1(х)Ку(^)~/<у(х)Ку+1(^)=.
■2(у-х) ,пх Л Kk{x)Kk(y)
Кроме того, KjW имеет / различных вещественных корней х\^ < х^ < ...
... < х^ в интервале (0, п), в корни KjW и A/+i(x) чередуются:
х\-\ <*(/+1) <*(Д * = 1, 2,/ + 1,(А. 17)
где в (А.17) по определению х^ = 0, х^ — л. Кроме того, каждый интервал (х(/\ ^(/+i) содержит точку роста Р(х), т.е. целое число. Так как, согласно (А.8), К/(0)< 0, а, в силу (А.9), К/(1) > 0, то отсюда следует
х^>1 для / < п/2.(А. 18)
Опишем подробно два следующих результата о многочленах Кравчука. Первый результат состоит в том, что любое произведение Kz(x)K/(x) может быть представлено как линейная комбинация многочленов Км с неотрицательными коэффициентами), т. е.
к (х) к (х) = £ afcKk (х).(АЛ 9)
Чтобы доказать (А. 19), заметим, что KiWKfW — это коэффициент при у121 в
(1 — у)х(1 + у)"~*(1 — z)X(l + z)"-x =
= (1 + yz)» (1 - (у + z)/(l + yz))x (1 + (у + z)/(l + yz))"-x =
- a + yz)" Z ч w «у+zw + u^k -T. Kk w ^+*)* d+yzf~k'. к-6к-6
Очевидно, что коэффициенты последнего многочлена относительно у и г неотрицательны, и фактически эти выкладки показывают, что в (А. 19)
°6=(«+”/- А)/2 )((/-/ + к^У
где биномиальный коэффициент с дробным или отрицательным нижним индексом полагается равным нулю).
Наконец, перейдем к важному результату об асимптотическом поведении наименьшего корня х^ многочлена К^ (х). Пусть (/„) будет последовательностью целых чисел, для которых ]п!п-^т, 0 < т < 1, и пусть х^п^ обозначает наименьший корень ^/^ (*)• Тогда
Нт —!<1/2-Vt(1 - т).(А.20)
П->оо П
(На самом деле можно доказать, что для т < 1/2 предел в (А.20) существует и равен 1/2— V?(l — т) (для т ^ 1/2 предел равен 0), но приведенная оценка достаточна для наших целей и проще доказывается.)
Чтобы доказать (А.20), предположим противное. Тогда для любого достаточно малого *) е существует бесконечная последовательность п, таких, что х^ ^п (г + 2е), где г = г (т) = 1/2 — Vt (1 — т). Определим для каждого п из этой последовательности целые числа I и / следующим образом:
< = «n = L«(r + e) J,(О
i = in-(2)
Пусть Kj (х) = (—2///! (х — х^ (х — х2) ... (х — хД Тогда
, к,(1 + 1) Z 1 \
Но из (1) следует | i — xk |> еп и, таким образом, log (1 + Q х^ 1) =* = (I — ^)-1 + О (п~2). Поэтому
Kj + 1)1, п
т^77 + °(" )-
к-1 R
Аналогично
108 —га2 т^;*0^
к-1"
Отсюда
KjU+1), KjW , _h
10g—ктю—‘^^-d”0^ >
Kj (I) — K, (i _ 1) V + 0 Л.(3)
Теперь перепишем разностное уравнение (А.14) в виде
.^уа+п Kfw,„.х к^п п
,(д ° К,^ * ^/(i-l)(" 2/) Kf(i-1) +‘~°’
Обозначив отношение K/(0/A/(i—1) через р, преобразуем это уравнение в (п - <) р2 (1 + О (п-1» - (п - 21) р + i = 0.(4)
Так как р — вещественное число, то дискриминант уравнения должен быть неотрицателен, т. е.
(п - 2/)2 - 4t (n — Z) + О (п) > 0.
Однако, согласно (1) и (2), это-эквивалентно
(1 - 2т)2 - 4 (г + е) (1 - г - е) + О (п-1) > О,' но (1 — 2т)2 = 4г(1 — г) и, таким образом,
-е(1-2г) + е2 + О(п-1)>0.(5)
В приводимом ниже рассуждении е должно рассматриваться как фиксированное число. Более точно его величина задается позже (см. замечание, следующее за (5)).
Но если выбрать в таким, что —е(1 — 2г) + е2 < О, т. е. 8<1—2г, то очевидно, что (5) не выполняется для достаточно больших п. Полученное противоречие и доказывает (А.20).
ПРИЛОЖЕНИЕ В'
* НЕКОТОРЫЕ СВОЙСТВА <?-МНОГОЧЛЕНОВ
В этом приложении собраны в виде справочного пособия некоторые важные свойства чисел Q/(0, введенных в разд. 2 (2.13). Большинство из этих свойств были открыты Дельсартом [3], и мы будем в соответствующих местах ссылаться на его работу. -
Числа Q/(0 на самом деле зависят от /, /, п и w, и при необходимости подчеркнуть эту зависимость мы будем использовать обозначение Qy”’ “^ (/) Чтобы определить эти числа, введем вначале вспомогательные константы
'гСНмНЛЖ
”|~(")(” )’(В.2)
Теперь дадим определение
'' Qj^^^-K^AY-tizV^-Vti^-’^A-zr'"1.(В.З)
Если в (В.З) раскрыть выражение
(1 + «Г-1 = ((1 - уг) + у (1 + г^™-1 =
w—j
'= £ ( ^ Г D(1 ~ 9^а’-,~к Ук о + ^ ’
£=0
то получится формула (см. [3, уравнение (4.33)]).
w—j
1 к-о
Аналогично, раскрывая (1 — угУ = ^ ( £ ) (” #2)^ получим (см. [3, урав- к=0
нение между (4.33) и (4.34)])
1 k-0
Раскрывая
(1 - И = [(1 + у) (1 - z) + (1 - у) (1 + г)/2]/ =
. =2-/ 2 (D °+^ ° ■2)6 ° ~ ^'~к (1+^~к*
'к-0
и используя формулы (А.1) и (А. 10), получим
QI(0 =?Е Т^Т^х K*k (0 «Г (0.(В.6)
Наконец, заметим, что многочлен Q/(x) принадлежит к семейству многочленов Хана и может быть представлен в виде ([1], [4]):
Qj (*) = Нуз^2 A — xJ — n—X;—^ — w'-, 1) =
'Г'и“+1_П
<в-7>
k-° U )G)
Формулы (В.6) и (В.7) показывают, что Q/(0 —это многочлен степени / относительно переменной I. Будем обозначать эти многочлены через Q/(x) или Qp* ™* (х). Справедливость следующих элементарных свойств легко проверяется на основании (В.З)—(В.6)
Qo (*) = !>(В.8)
Q.W = («-1)(1—^r).(В.9)
Q,№ = №p(B.10)
e,(i)-.,(i-'("+„1,"').<B.u>
у- p)
Q^ (x) = ^ ^"""’/^—ЦрГ x^ + меньшие степени x. (В. 12) \w — j )
Дельсарт показал ([3, части 2, 4]), что многочлены Q/(x) ортогональны от- / w wf X носительно интегрирующей функции Р(х) со скачками величины 1)1 . I
в точках 1 = 0, 1w, т. е. что
(B.13)(B.13)^ Qj (*) Qk W <<Р (*) = H/6/, k-
(B.13)
(B.13)
Отсюда следует, что любой многочлен Р(х) степени не больше w представим в виде
p/=ZaA^’ < = 0,1ш>j-0
где
W
а, = ^\Р W Qj (х) dp (х) = И/-‘ ^ Р W Qt (0 ( “
(В.14)
Теперь из общей теории ортогональных многочленов (см. Сеге [7, часть 2] и приложение А) получается формула Кристоффеля — Дарбу для многочленов Q/(x), а именно:
^/+1 ^) ^/ ^^ Q/ ^^ ^/+1 ^^ =
(» —2/) («—2/—1) Л Qft (х) Qfe (у)
= (у - х) • -ГГ-7-ГГ7ТТ-7Т И/ / —•(В. 15)
.6-0*
Каждый многочлен QiW имеет / различных вещественных корней х\^<х^< ... < х^ в интервале (0, ty), и корни многочленов Q/(x) и Q/+i(x) чередуются:•
.х'/1, < х</+*> < х</>, г=1, 2/+1,(В. 16)
где в (В. 16) по определению х^ = 0, x^x = w. Каждый интервал (х(Д х{+1) должен содержать точку роста функции 0 (х), т. е. содержать целое число.
Если представить произведение Q/(x)Q/(x) а виде
Qj W Qt (0 - Е ^fik^(В.17)
где, согласно (В.14), константы q^t задаются формулой
^/ = ИГ1 $ Qi м Ql (х) Qk (X) ^ (X),(В. 18)
то, как показал Дельсарт ([3, лемма 2.4]),
q^^Q для всех /, k, I е {0, 1, ..., ш}.(В. 19)
Последним результатом, заимствованным у Дельсарта ([3, стр. 49]), является следующее разностное уравнение:
(^ — Z) (w' — Z) Qj (i + 1) — ^ww' — Цп — 2i) — / (n + 1 — i^ Qj ^ +
+ z2Q/G-l) = o. (B.20)
Наш заключительный результат касается асимптотического поведения наименьшего корня х^ многочлена Q(p* w^ (х), когда / и ty растут линейно сростом п. Пусть (гуя) и (/п) — последовательности целых чисел, такие, что Wnln^a, jn/n-^^ 0 ^ а ^ 1/2, и пусть Xi(j, ty, п} обозначает наименьший корень многочлена Q^’ w^ (х). Тогда
ita х. (М». П) < а(1 — а) — Р(1 — р) (1 _ 2 >^г—^)^ n->ooaU
(На самом деле можно показать, что для всех 0 ^ а ^ 1/2 предел в (B.2I) существует и равен правой части (В.21), но так как это не требуется при получении границы (2.15), а доказательство очень длинно, то оно здесь опущено.)
Чтббы доказать (В.21), предположим противное. Тогда для любого достаточно малого *) е существует последовательность п, такая, что
^ В приводимом рассуждении 8 должно рассматриваться как фиксированное число. Более точно его величина задается позже (см. замечание, следующее за (И)).
XiUn, wn, п)^ n(F + 2e), где F обозначает константу в правой части (В.21). Определим для данного п из этой последовательности величины i = in=a = L Л(^+е) 3J=jn>w=wn> w'^n— wn, ипусть Q^ w4x) = bi(x — x\ny.. ... (x — хру Тогда '
(1)(1)Q/ (z ± 1),A 1
(1)
(1)
log— = > log. 1 ±--rr
Qj ^ k i ' Z x^
Ho i < n (F + e), xp ^n(F + 2e), и поэтому 11 — xp > ш для k = 1, ...,/, Таким образом,'
,ог(,±-г?1г)-7^7г+о<""’1'(2)
•\1 хк /1 хк
Объединяя (1) и (2), имеем
(/ ± 1)1
og Q,W = ± X i _ ^ + 0 ^п~'^(3)
■1А—1 к
Вычитая выражение (3) со знаком «+» из выражения (3) со знаком «—>,
получаем
Q/G+l)Q/0)
‘«i' Q,W ""'I(4)
и поэтому
q,«+^ а, и)
Q/W ^G -1) { +0Jzt )b(5)
Разностное уравнение (В.20) можно переписать в виде
^w 0(w0 Q (0Q(/_o
Qi (0
4-/2 = о.4-/2 = о.(6)(6)- (ww' - I (n- 2i) - / (n + 1 - 0) Q J_ ц
4-/2 = о.
4-/2 = о.
(6)
(6)
Если обозначить отношение Qj^lQi^i—1) через p, то (6) переходит в уравнение-
(ty — z) (w' — z) р2 (1 + О (я-1)) — ^w' — j (п — 21) —
-/(п + 1-/))р + »2 = 0.(7)
Так как р — вещественное число, то дискриминант квадратного уравнения (7) не меньше 0, т. е.
(wwz — / (я — 21) — / (тг + 1 — i)Y — 4 (ty — i) (xyz — i) i2 + О (n3) > 0.(8)
Вопреки видимости, это неравенство фактически только квадратное относительно Z, и небольшое преобразование (8) приводит к неравенству
(п — 2/)2 i2 — 2п^~ j) ^z — /) z + (ty — /)2 (wz — /)2 + О (п3) ^ 0-(9)
Два нуля квадратичного многочлена (п — 2/)2z2 — 2n^w — /) (ty' — j)i + + (ty — j)2^w' — j)2 задаются формулой
Вспоминая, что wnln-^at jnln-+$ и т. д., получаем, что для больших п
•г* v^"0”"^)*1-^1 ±2 vn™. do
Следовательно, если выбрать е таким, что i = in = «(F + e) заключено между 1Х и (2, то дискриминант в (9) будет для больших п вести себя как отрицательная константа, умноженная на п\ что приводит к противоречию и завершает доказательство (В.21)...
ЛИТЕРАТУРА
Askey R., Orthogonal polynomials and Special functions. SIAM Regjonal ■ Conference Lectures in Applied Math., v. 21, Philadelphia, 1975.
Berlekemp E. R., Algebraic coding theory, McGraw-Hill, N. Y., 1968. [Русский перевод: Берлекэмп Э. Алгебраическая теория кодирования. — М.: Мир, 1971.]-
Delsarte Р.. An algebraic approach to the association schemes of coding theory. Philips Res. Rep. Suppl., 10, Eindhoven, 1973. [Русский перевод: Дельсарт Ф. Алгебраический подход к схемам отношений теории кодирования.— М.: Мир, 1976.]
Karlin S. McGregor J. L., The Hahn polynomials, formulas and applications, Scripta Math., 26, 33—46, 1961.
Левенштейн В. И. О минимальной избыточности двоичных кодов, исправляющих ошибки. — Проблемы передачи информации, 10 (1974), № 2, 26—42.
Сидельников В. М. Верхние оценки числа точек двоичного кода с заданным кодовым расстоянием. — Проблемы передачи информации, 10 (1974), № 2, 43—51.
Szego G., Orthogonal polinomials, American Math. Soc., Providence, 1939. [Русский перевод: Сеге Г. Ортогональные многочлены. — М.: Физматгиз, 1962.1
Welch L. R., McEliece R. J., Rumsey H., jr., A low-rate improvment on the Elias bound, IEEE Trans. Inform. Theory IT-20,5, 676—678, 1974.
Границы для двоичных кодовдлины меньше 25
М. Р. Бест, А. Е. Брауер, Ф. Дж. Мак-Вильямс,А. М. Одлижко, Н. Дж. А. Слоэн *)
Для области п ^ 24, d < 10 представлены улучшенные границы величины А(п, d), равной максимальному числу слов в двоичном (линейном или нелинейном) коде длины п с минимальным расстоянием d, и величины А (п, d, ф), равной максимальному числу слов в двоичном коде с минимальным расстоянием d, состоящем из векторов длины п и веса w. Некоторые из новых значений — это А (9, 4)= 20 (что, как ранее считалось, следует из результатов Вакса), А (13,6) = 32, что доказывает оптимальность , кода Надлера), А (17,8) =36 или 37, и 4(21,8) =512. Верхние границы для A(n,d) найдены методом линейного программирования с использованием значений А (п, d, ф).
ВВЕДЕНИЕ
Главная цель этой работы — дать таблицы) значений в области п ^ 24, d^lO двух основных функций теории кодирования, а именно: - ■
4 (n, d) = максимальное число кодовых слов в произволь
ном (линейном или нелинейном) двоичном коде длины п с минимальным расстоянием d между кодовыми словами (см. табл. 1), и
4(n, d, w) = максимальное число кодовых слов в произволь
ном двоичном коде длины п, с минимальным расстоянием d, состоящем из векторов С постоянного веса оу (см. табл. 2).
!) М. R. Best, А. Е. Brouwer, F. J. MacWilliams, А. М. Odlyzko, N. J. A. Sloane, Bounds for binary codes ot length less than 25. IEEE Trans. Inform. Theory, IT-24, No. 1 (1978), 81—93.
Таблица 1
Значения A (п, d)
п
d=4
d=6
d=8
d=10
6
' 4’
' 2
1
1
7
8
2
1
1
8
а16
2
2
1
9
d20b
4
2
1
10
d38 - 40
6
2
2
11
d72 - 80
12
2
2
12
d144 - *160
24
4
2
13
256
32 е
4
2
14
512
64
8
2
15
1024
128
16
4
16
a2048
f256
32
4
17
d2560 - 3276
256 - 34o
36 - 37h
6
18
d5120 - 6552
512 - 680
64-?4
10
19
d9728 - 13104
1024 - 1288
128 - 144
20
20
d19456 - 26208
g2048 - 2372
256 - 279
40
21
d36864 - 43690
g2560 - 4096
512
40-55
22
d73726 - 87380
4096 - 6942
1024
^48 - 90
23
d1474$6 - 173784
8192 - 13774
2048
64 -150
24
d2949i2 - 344636
g16384 - 24106
^096
k128 - 280
а Код Хемминга [24].
b _
Теорема 6.
d Построены в [21], [35] или [57].
е Теорема 4.
^ Код Нордстрома —Робинсона [46].
8 Построен в [55].
Л Теорема 9.
1 Код Голея [20].
Получен из (24, 48, 12) кода Ада мара.
* Построен Оллтопом [1].
Расстояние 4: А(п, d, w)Расстояние 4: А(п, d, w)М. Р. Бест, Л. Е. Брауэр, Ф. Дж. Мак-Вильямс, Л. М. Одлижко
Расстояние 4: А(п, d, w)
Расстояние 4: А(п, d, w)
2
За 4£
5
6
7
8
9
10
11
12
2
1
1
2
2
1
1
4
3
1
1
-JL
7
7
3
1
1
4
8
14
8
4
1
1
4
12
18
18
12
4
1
1
5
13
3°
36
30
13
5
1
1
5
17
^5
бб
66
35
17
5
1
1
6-
20
51
Ь73-84
®132
73-84'
51
20
6
1
i;
б
26
65
Ь99-
-132
d143-
-182
143-
-182
99-
-142
■65
26
6
1j
7
28
91
d143- -182
d210-
-308
d232-
-364
210-
-308
143-
-182
91
28
7 ।
7
35
105
d213-
-271Г
321-
455
d435-
-660
-435-
-660
321-
-455
213-
-271
105
35
8
37
140
d3O5-
-336
513-
-722
?
-1040
d87O-
-1320
?
-1040
513-
-722
305-
-336
140
8
44
154-
-157
^424—
-4?б
792-
-952
-1753
?
-2210
-2210
-1753
792-
-952
424-
-476
9
48
а198
480-
-565
d1188-
-1428
?
-2448
7 -3944
-4420
-3944
-2448
1188-
-142-8
9
57
228
612-
-752
1428-
-1789
7
-3876
?
-5814
-8326
7 .-8326
-5814
-3876
10
60
285
816-
-912
2040-
-2506
-5111
-9690
-12920
-16652
-12920
?
-9690 1
10
70
315
1071-
-1197
2856-
-3192
7
-7518
7
-13416
?
-22610
-27132
?
-27132
? 1 -22610
11
73
385
1386
3927-
-4389
?
-10032
?
-20674
7
-32794
-49742-
-54264
-49742 ,
11
83
416- '419
1771
5313
?
-14421
?
-28842
-52833
-75426
T1Q4Q06
7 -104006
12
88
498
d1859-
-2011
e7084
-18216
-43263
?
-76912
?
-126799
-164565
-208012
Таблица 2А
“ Часть 4А.
b См. [40].
с См. [47].
d Разнообразные конструкции.
е Из теоремы 9 и существования систем Штейнера S (5, 6, 12), S (3, 5, 17), S (3, 6, 26), 5, 6, 24), S (5, 7, 28), S (5, 8, 24) ([13], [14], [66]).
f Из теоремы 6 и несуществования систем Штейнера S (4, 5, 15), S (4, 6, 18), ([44], [66]).
€ Циклический код.
* n\w
3
4
5
6
7
8
9
10
11
12
1 6
2
1
1
1
7
2
2
1
1
1
•
8
2
2
2
1
1
1
9
3
3
3
3
1
1
1
10
3
5
6
5
3
1
1
1
11
3
6
11
11.
6
3
1
1
1
12
4
9
h12q
22
12
9
4
1
1
1
13
4
13g
hlgq
«26
26
18
13
4
1
1
14
4
14
h28
h42
а42-51Г
42
28
14
4
1
15
5
15
h42
h70
16o-88
60-88
70
42
15
5
16
5
20
48
h112
4 90
-156
i120-
-150l
90
-156
112
48
20
17
5*
20d
e68
112
-136
112-
-244l
125
-283
125
-283
112
-244
112
. -136
68
18
6
b22
68
-72
d144?
-202-
1160
-349
4232r
-428L
24gf
-425“
23’2
-428
160
-349
144
-202
19 ••
6
c25
172
-83
1172
-228
4228-
-520L
1332
-739
d472f
-789L
472
-789
332
-739
228
-520
20
6
азо •
. 181-100
*232-
-276
ЗЮ
-651
4492f
-1199b
?672r
-1363
6944-
-1421L
672
-1363
492
-1199
21
7
a31
d102-
-126
4253
-350
465
-828
d668-
-1708
d1068-
-2364b
d1286-
-2702L
1286-
-2*/02
1068
-2364
22
7
a37
d132-
-136
294
-462
675
-1100
d7O8-
-2277
d1288-
-377$u
d145Qr
-4416l
d1574r
-5064l
1450
-4416
23
7
a40
dlU7-
' -17Q
399- “521
969-'
-1518
708
-3162'
а1Д28-
-58i^:
a1570r
-75?il
d1718r
-7953 .
1718
-7953
24
1
8
e42
e168-
-192
e532-
-680'
4368
-1786
708- t4554
dli<58-
-8432
1570- -12415L
di766-
-14682
2576- -15906l
Таблица 2 В
Из 3 —схемы с / = 3, и = 16, к=6, Х = 4, полученной из кода Нордстрома — Робинсо- па [46].
Расстояние 6: А (п, 6, w)Расстояние 6: А (п, 6, w)
Расстояние 6: А (п, 6, w)
Расстояние 6: А (п, 6, w)
456789101112
8
2
1
1
1
1
9
2
2
1
1
1
1
10
2
2
2
1
1
1
1
11
2
2
2
. 2
1
1
1
1
12
3
3
4
3
3
1
1
1
1
13
3
3
4
4
3
3
1
1
1
14
3
ч-
•7
8
7
4
3
1
1
15
3
6
k10
15
15
10
6
3
1
16
4
6
k16
16-22
30
16-22
16
6
4
17
4
7
Ь17
J21-31L
m34-35
3^-35
21-31
17
7
18
4
Jg
^20-21
J33-41L
^б-бЗ
^48-70
46-63
33-!ll
20-21
19
4
J12‘
J28
J52-57
J78-97
J88-122L
88-122
78-97
52-57
20
5
^16
40
80
^130-142
^160-215
j176-244L
160-215
130-142
21
5
J2i
J56
J120
^210
^ЗО-ЗЗ!
J336-399L
336-399
280-331
22
5
21b
J 77
^176
J330
280-497L
J*616-728
^672-798
616-728
23
5
62 3
77-80
J253
^506
^400-816
•616^1111L
J1288-1417L
.1288-1417
24
6
е24
77-92
253-274
J759
J640-1160L
J960-1639L
1288-2305^
J2576
*) См. подстрочные примечания к таблице 2А.
Таблица 2D
Расстояние 10: A (п, 10, w)
r\w
5
6
• 7
8
9
10
12
10
2
1
1
1
1
1
11
2
2
1
1
' 1
1
1
12
2
2
2
1
1
1
1
1
13
2
2
2
2
1
1
1
1
14
2
2
2
2
2
1
1
1
15
3
3
3
3
3
3
1
1
16
3
3
3
4
3
3
3
1
17
3
3
5
6
6
5
3
3
18
3
4
6
9
10
9
6
4
19
3
4
8
12b
19
19
12
8
20
4
5
п10
ь17-18
g20-24
38
20-24
17-18
21
4
7
13Ь
621-2б
g21-41L
38-49L
38-119
21-41
22
4
7
15-19
g22-35
g22^$7L
?-74L
?-82L
7-74
23
4
8
Ь16-23
к23-50^
g23-87L
?-117L
?-13SL
1 7-135
24
4
9
g24-27
g24-69
?-119L
?-171t
?-223L
?-247L
’) См. подстрочные примечания к таблице 2А.
Мы также приводим таблицу значений при п\ + п2 ^ 24, d = 10 функции
7(^1, пь ^2» ^2, ^) = максимальное число кодовых слов в двоичном коде с минимальным расстоянием d, состоящем из векторов длины ^1 + ^2, содержащих ровно wx единиц в первых п\ координатах и ровно w2 единиц в последних п2 координатах (см. табл. 3).
Все верхние границы величины А (п, d) вне области Плоткина п ^ 2d получены с помощью модификаций метода линейного программирования Дельсарта, использующих значения А^п, d, w). Таблицы величины А^п, d, w) важны как потому, что они приводят к границам для А (п, d), так и потому, что они дают объем наибольшего равновесного кода. Они также дают
Таблица ЗА
Верхние границы для Т (wv nv w2, п2, 10) п
w2
П2
5555555555555
10 11 12 13 14 15 16 17 18 19 20 21 22
66666666666
12 13 14 15 16 17 18 19 20 21 22
7 7. 777777 7.
14 15 16 17 18 19 20 21 22
*1 П1
12
13
14
15
16
17
18
19
1 10
1 11
1 12
1 13
114
2* 2*2*3*3*3*4*4*4*5*5* 6» 6*
2* 2*3*3*3*4*4*5*6*7*7* 9*
2* 2*3*3*4*4*5*6*7*8*9*
2* 2*3*3*4*5*6*7*7*8»
2* 2*3*3*^*6*6*7*8*
2* 2*3*3*4*6*6*7*
2* 2*3*3*4*6*6*
2* 2*3*3*4*6*
2* 2*3*3е4*
2* 2*3*3*
2* 2* з# 2* 2*
2^'
2* з*4*5* 66881014 14
3* 4*5*6 8912121521
4* 4*5*7 912161620
4* 4*5* Л Ю152020
4* 4*6*8 111721
4* 4* 7* 8*11 17
4# 4#7#8*12
4* 4#у»9»
4* 4* 7*
4* 4*
4*
4* 661012162026 38
6* 791518243039
6* 91220243240
6* 1015243040
6* 11182636
7* 111826
8* 11 18
8* 12
8*
*) Граница является точной.
Таблица ЗВ
Верхние границы для Т (та^, nv w2, п21 Ю)!)
*2
^2
444 4 444444444
8 9 10 11 12 13 14 15 16 17 18 19 20
55555555555
10 1112 13 14 15 16 17 18 19 20
66 6* 666666
12 13 14 15 16 17 18 19 20
W1 П1
24
25
26
2-7
28
29-
210
211
2 12
2 13-
2 14
2 15
2 16
2# 2*2*3*3*3*4*4*4*4*5*5* 5*
2* 2*3*3*3*4*4*5*5*5*6*6*
2* з*з#з#4*4*5#6*6*7*9
2* з#з*4*4*5*7*7*89
2* з*4*4*5*6*7*8 о।
2* 3*4*5*6*6*7*9
2* 3*5*5*6*.7*8
2* 3*5*5*6*7*
2* 3*5*6*6*
2* 3*5*6*
2* 3* 5*
2* 3*
2*
2*з#4*5*6681012-14 14
3*4*5*б81012151720
4*4*681015182021
4*5*7*912182124
4*5*811162124
4*69131621
5*6101519
5*71015
6* 7 12
6* 7
6*
4*681216182424 30
68121722304040
6111521304560
81421283858
^16253244
10183036
12 20 35
12 21
14
*) Граница является точной.
Таблица ЗС
Верхние границы для Т (wp nv w2l п2, 10) n
W2
П2
333 -3 33333333.3
6 7 8 9 ю 11 12 13 14 15 16 17 18
44444444444
8 9 Ю 11 12 13 14 15 16 17 .18
5555 5-5 555
10 11 12 13 14 15 16 17 18
W1 nI
3 6
3 7
3 8
3 .9
3 10
3 11
3 12
3 13
3 14
3 15
3 16
2* 2* 2*3*3*3*4’*4*4*4*4*4* 4*
2* 2*.3*3*3*4*4*4*5*5*5*5*
2* 2* 3* 3* 4* 4* 5* 5,* 5* 6* 6*
3* з« з#д*4#5#6#б*6*7*
3# з* 4*4*5*6778
3* 4* 4#5#б7*89
4* 4* 5*6*789
4* 4* 5*6*79
4* 5# 5#б*8
4# 5# б*7*
4* 5* 6*
2* 3*4*4*66789Ю 12
3* 4*5*67911131416
4* 5*681013171821
4* 6*71015182122
4* 7Ю13182023
5* 711162125
6* 9131924
6* 91519
6* 10 15
7 12
8
4* 681116202430 34
6 8121823334146’
8* -111824324856
9 1524334863
12 20304353
14 223654
18 28 40
18 30
20 /
1) Граница является точной.
Таблица 3D
Верхние границы для Т (та^, nv w2, п21 10) !)
*2
п2
8 8 8 8 8 8 8
16 17 18 19 20 21 22
9 9 9 9 9
18 19 20 21 22
*2
П2
6 6 6 6 6 6.6 12 13 14 15 16 17 18'
7 7 7 77
14 15 16 17 18
«1 П1
W1 П1
12
13
1 . 4
15
16
17
18
8 1218244052 70
12 1827366078
16 24364880
20 304-560
22 3654
22 38
22
20 38 52 82 114
30 57 78 123
40 76 104
50 95 .60
3 6
3 7
3 8
3 9
3 10
3 11
3 12
10 16 24 34 '44 60 80
14 25 35. 49 70 104
21 37 56 74 10?
27 48 75 9б
33 6'0 94
44 73
48
30 44 60 .100 120'
42 70 105 153
56 100148
84 129
104
*2
П2
7 7 7 7 7 7 7
14 15 16 17 18 19 20
8 8 8 8 8
16- 17 18 19 20
“1 П1
2 4
2 5
2 6
2 7
2 Р
2 9
2 10
10 141830Зб48-60
15 2230506080
18 30457290
21 386391
28 4472
36. 49
40
24 36 54 72 120
40 60 90 120
60 90 135
76 115
88
Таблица ЗЕ
Верхние границы для Т (wp nv w2, п^ 10)
w2
П2
444444444
8 9 10 11 12 13 14 15 16
55 5 5 5 5 5
10 11 12 13 14 15 16
6 6666
12 13 1^ 15 16
1 П1
4 8 4 9
И' 10 4 11 4 12 4 13 4 14
4* 6*810'14182122 28
6* 9*121821293137
8 1217253342.51
10 1825354855
14 21334863
18 294255
21 31 51
10* 16 24 36 46 63 70
18* 24 40 54 72 93
22 37 60 82 107
33 55 81 108
42 66 102
58 89
62
28 50 70 98 132
47 76 107 151
67 104 153
90 139
116
5 10
5 11
5 12
36* 48 73 96 125
48 77 106146
73 106 154
*) Граница является точной.
решение следующей широко изученной задачи упаковки (см. Эрдеш и Ханани [17], Калбфлейш и Стэнтон [36], Шёнхейм [51], Стентон, Калбфлейш и Маллин [59]): чему равно £)(/, 6, и)— максимальное число 6-подмножеств v-множества S,
11111111111100000000000000000000000 11100000000011111111100000000000000 00011100000011100000011111100000000 00010011000010011100011000011110000 00001000110010000011100110011101000 10000100101000010010010101010010110 01000110000100001001001010110001110
,00100001100101001000100011001010101
00100010011000100110010000101001101
10010000010101000101000100tool 10011 01001001001000110000101001000101011
Рис. 1. Столбцы этой матрицы образуют равновесный код длины 11, веса 4 и с расстоянием 4, состоящий из 35 слов. Таким образом Л (11, 4, 4) = 35
таких, что любое /-подмножество множества S содержится не более чем в одном из этих 6-подмножеств? Ответом служит равенство D^t, k, v) = А (и, 26— 2/ + 2, 6), и таким образом табл. 2является также и таблицей значений величины D^t, к, и).
В двух недавних работах Беста и Брауэра [3] и Мак-Элиса, Родемича, Рамсея и Велча [43] также использовался подход, основанный на линейном программировании.
Предыдущие таблицы границ величины 4(n, d) были даны Джонсоном [33], Мак-Элисом и др. [42] и Слоэном [53]. Пр-
видимому, до сих пор не было опубликовано ни одной таблицы значений А {п, d, w), хотя неопубликованные таблицы верхних границ существуют (например, Дельсарт и др. [12] и Джонсон [32]). Таблица значений Л(п, d, ^) была обещана в работе Стентона и др. [59], но не появилась. Таблица нижних и верхних границ для линейных кодов имеется у Хелгерта и Сти- наффа [29].
В статье используются следующие обозначения. Все коды двоичные, (n, М, й)-код состоит из М (М ^ 1) двоичных векторов (называемых кодовыми словами) длины п таких, что они различаются, по крайней мере в d позициях, т. е. находятся на расстоянии (Хэмминга) не менее d. Код называется равновесным кодом веса w, если каждое кодовое слово содержит ровно w единиц, т. е. имеет вес w. Оптимальный код — это код с максимальным числом кодовых слов для данных п и d (и для данного w в случае равновесных кодов).
Пусть С — произвольный (и, М, d)-код. Распределение весов кода С относительно вектора и — это (п + ^-последовательность целых чисел {Ai{u), i = 0, ..., п), где AL{u) равно числу кодовых слов иеС, таких, что расстояние Хэмминга dist(u, и) между и и и равно L Распределение расстояний кода С — это (n + 1)-последовательность рациональных чисел (Ло, Ль ..., Л^), определенных равенством
Л< = 1гХЛ‘^' 1 = 0,
иеС
Таким образом, Ло=1, Лг = 0 и У, Лi = М^ Л (п, d). i
ГРАНИЦЫ ДЛЯ ^п, d)
Первая теорема очевидна, тогда как вторая дает точное значение А (п, d) при п ^ 2d.
Теорема 1.
А^п- 1, 2d - 1) = Л(л, 2d),
Л (n, dX^A {п — 1, d).
Теорема 2 {Плоткин [48] и Левенштейн [39]). При условии, что существуют1) матрицы Адамара определенных порядков не выше п,■
Л(п, 26) = 2[-^-], если 46 > п ^26,(1)
*) Известно, что матрицы Адамара существуют для всех порядков, кратных 4 и меньших, чем 268. Во всяком случае правая часть как в (1), так и в (2) является верхней границей для левой части.
и
А (46, 26) = 86, А (п, 26) = 1, если п < 26,(2)
где здесь и далее [х] означает наибольшее целое, не больше х.
Метод линейного программирования основывается на следующей теореме.
Теорема 3 (Дельсарт [8—10]). Пусть С — произвольный ^п, М, йукод с распределением расстояний (До, ..., АпУ Тогда величины Bq, ..., Вп неотрицательны, где
Вк = АГ1 £А = 0, 1п,(2а)
Z=0
и Kk— многочлен Кравчука, определяемый следующим образом*.
Ktw=i>i)'("z9C)' б=о’1
/=оJ / \ J /
Для последующих ссылок дадим краткое доказательство.
Доказательство. Пусть w— слово веса i в множестве {0, 1}п. Легко проверяется, что .
£ ^у^-км
х г {0, 1}п'
wt W = k
где (w, х> по определению равно У, WiXt по модулю 2 и wt^x") — вес вектора х.*
Следовательно, согласно определению Ai,
пп
вк = м-1'2.А1кь^=м-2'^ ££ (_!)<“-"•« =
;=01=0 и, и е С хе{0, 1}и
wt^u-u^i wt^ — k
= м^ £ ^>0,(За)
х е {0, 1)"
wt W=k
где ъх = £ (-1)<и х>. ■(ЗЬ)
игС
Замечание. Если С — линейный код, то Ьх равно М или 0 в зависимости от того, принадлежит х к двойственному коду или нет, и Во, ..., Вп является распределением весов двойственного кода.
Чтобы применить теорему 3, возьмем в качестве С оптимальный код длины п, с минимальным расстоянием d. Тогда
М = А (п, d) = 1 + Ad + Л^+1 + • • • + Ап.
Пусть L*(n, d) является оптимальным решением следующей задачи линейного программирования: выбрать вещественные переменные Ad, Ad+1, ..., Ап так, чтобы максимизировать
L = Ad + Д^+1 + ... + Ап
при выполнении ограничений
At >0, i = d, ..., п,
Bk^0, k = 0, ..п, где
. B^M-^KdOHt-AiK^nYXi=d/
Тогда очевидно, что
А^п, d^\A-L4n, d).
Это простейший вариант границы линейного программирования для двоичных кодов (Дельсарт [8]).
Часто можно наложить дополнительные ограничения на Bi. Очевидно, что
В^А^п, d, i\(4)
и, таким образом, можно использовать границы для А^п, d, w) (см. табл. 2). Иногда, как показывает следующий пример, можно объединить несколько таких границ.
Теорема 4. Д( 13,6) = 32 и, следовательно, код Надлера оптимален.
Доказательство. В 1959 г. Стивенс и Боурициус [60] построили (13,32,6) и (14,64,6) коды, тем самым доказав, что А (13,6) >32.
Первый из этих кодов был переоткрыт Надлером [45], и о нем обычно упоминают как о коде Надлера (см. также Ван Линт [41]).
Чтобы доказать неравенство А (13,6)^32, поступим следующим образом. Сначала заметим, что, если укоротить (13, М, 6) код и затем добавить общую проверку на четность, то получится (13, М, 6) код С, в котором все расстояния четные.
Если (Д/)—распределение расстояний кода С, то Ао— 1, а остальные Ai равны нулю, за исключением, быть может, Д6, Аа,
Дю и Д12- Неравенства Bk ^ 0 принимают вид
13 + Д6 - ЗД8 - 7Д10 - 1Ы12 > о
^ 2 ^ — 6Д6 — 2Д8 + 18Дю + 54Д12^ О,
( J— 6Д6-J- 14Д8 14Д10— 154Д12^0,
( J + 15Л6 — 5Д8 — 25Д10 + 275Д12>0,
/ 1з \
г + 15Д6-25Д8 + 63Д10- 197Д12>0,
\ 5 /
/ 1 з \
-20Д6 + 20Д8-36Д10+ 132Д12^0.(5)
\ 6 /
Кроме того, имеем'
Д12М<Д(13, 6, 12) = Л(13, 6, 1)=1,
Д10М<Д(13, 6, 10) = Л(13, 6, 3) = 4.
Однако эти неравенства можно объединить. Если Д12(^) = 1, то Дю(и) = 0. Таким образом,
Дю (и) + 4Д12 (и) ^ 4, и усредняя по и, получим
Дю + 4Д12^4.(6)
В действительности оказалось, что ограничений (6) и первых двух из (5) уже достаточно. Поэтому мы рассмотрим следующую задачу: максимизировать
Дб + Да + ^ю + Дю
при условии, что
Дб 0, Д8 ^ 0, Дю^О, Дю^О и"
13 Дб — ЗД8— 7Дю11Д12^0,
78 — 6Дб — 2Д8 4* 18Дю 4* 54Д12 ^ 0,
4— Дю— 4Д12^0.(7)
Двойственная задача состоит в минимизации
13^1 4~ 78w2 4~ 4^зпри условии, что
^i > 0, и2 > 0, ^з > 0
1 Н- ^i Н™ 6^2 ^ о,,
1 — 3^! — 2^2 ^ О,
1 — 7t/i + 18^2 — ^з ^ О,
(8)(9)(Ю)(8)(9)(Ю)1 — 1 l«i + 54^2 — 4w3^ О.
(8)
(9)
(Ю)
(8)
(9)
(Ю)
Допустимыми решениями обеих задач являются Дб = 24, Д8 = 3, Дю ^ 4, Дю = О, _ _ 1_ 16
И\ ^2$ , W3 $ •
В действительности, так как значения соответствующих целевых функций совпадают, т. е.
24 + 3 + 4 + 0=13-у + 78-у + 4--^- = 31, то отсюда следует, что (9) и (10) являются оптимальными решениями (эти решения легко получить вручную, используя симплекс-метод — см. [18] или [52]).
Отсюда следует, что Д (12, 5) — Д (13, 6) ^ 32. |.
Замечание. Следующие рассуждения показывают, что (9) — единственное оптимальное решение. Пусть хе, х^ Хю, *12— произвольное оптимальное решение основной задачи. Значения щ в (10) все положительны и удовлетворяют со знаком равенства первым трем ограничениям из (8), но не четвертому.
Следовательно, по теореме о дополнительной нежесткости (Симмонард [52]), х; должны удовлетворять основным ограничениям (7) со знаком равенства и xi2 = 0. Эти три уравнения имеют единственное решение
х6 = 24, х8 = 3, Хю = 4.
Таким образом, (9) является единственным оптимальным решением. Поэтому распределение расстояний (13, 32, 6)-кода, в котором все расстояния четные, единственно. Этот результат был использован Гёталсом [19] для доказательства единственности (13, 32, 6)-кода и того, что существуют ровно два неэквивалентных (12,32,5)-кода (ср. Надлер [45], Ван Линт [41])
Если А (п, d) ^ 0(mod 4), то, как показывают теоремы 5 и F, правая часть неравенств Дельсарта Bk ^ 0 может быть иногда увеличена.
Теорема 5. Пусть С — (п, М, d)-код с М — A(n,d) и М нечетно. Тогда
9 Т п\
(Юа)(Юа)Вк>М"Ч I, fe = 0, 1, ..., п.
(Юа)
(Юа)
Доказательство. Если М нечетно, то и bx (см. (ЗЬ)) нечетно и, следовательно, отлично от нуля. Из (За) получаем
Вк^М^ £ Ь"х>М-ЧПД. ■№{0, 1}"wt ^=k
Замечание. В выражении (2а) для Вк член, соответствующий
i = 0 (с коэффициентом До=1), равенЛГ-1/<6(0) = ЛТ-1 |*|.
\ к / Поэтому неравенство (10а) позволяет переписать (2а) в виде
\п
Это означает, что, если нет дополнительных неравенств, то оптимальное решение (при новых ограничениях) есть просто оптимальное решение исходной задачи, умноженное на п
(М— 1)/М, и, следовательно, 2 Ai ^М — 1 понижает границу i=0
ровно на 1. Если добавлены дополнительные неравенства, то улучшение в общем случае меньше.
В качестве приложения докажем следующий результат. '
Теорема 6. А (9, 4) = 20.
Доказательство. Голей [21] нашел (9,20,4)-код, таким образом А (9, 4)^20. Циклический (8,20,3)-код был дан в работе Слоэна и Уайтхэда [57]. Чтобы доказать А (9,4)^20, пусть, как обычно, С- будет (8, М, 3)-кодом с М = А (8,3) = = А(9, 4) и пусть С будет (9, М, 4)-кодом, расширенным проверкой на четность, с распределением весов (Ао, ..., А9), где Ag === 1 И
Aj = А2 = A3 = А4 = А5 = А7 = Ад = 0.
Сначала максимизируем А4 + А6 + А8 при выполнении условий А, ^ 0, Bk ^ 0 и А8 ^ 1. Получим А4 + А6 + А8 ^ 201/3 и, следовательно, М 21.
Предположим, что М = 21. Тогда, согласно теореме 5, можно заменить Bk 0 на Bk (1/441) (I).
Так как М нечетно, то очевидно, что А8 ^ 20/21.
Следовательно, в этом случае, несмотря на дополнительное неравенство, все постоянные члены, встречающиеся в неравенствах, умножаются на 20/21 и, таким образом,
М<1+-5р-204<21.
Отсюда А (9, 4) = 20. 1
Если А (п, d) = 2(mod 4), то положительную границу снизу для Вк можно получить, замечая, что Вь не может равняться нулю слишком часто. Например, если вектора щ, ^2 и и3 различны, то bu? bu? Ьи1Л.и2 не могут все равняться нулю. На этом пути может быть получено следующее неравенство.
Теорема 7. Пусть С— (n, М, йукод с М — A(n,d) и М г = 2 (mod 4). Тогда
в 4 Г
Ок ЗМ2>
если (1) к — четно и 0(2/3) п или
если (2) d— четно, £^n(mod2) и (1 /3)п ^ к ^ п.
Несколько более сильный результат устанавливается следующей теоремой.
Теорема 8. Пусть С — ^п, М, dyKod с М — А(п, d) и Ms = 2(mod4). Тогда существует {0, 1, .п^ такое, что
Bfe>2M~2(( П) + 7<И/)\ й = 0, 1п.
\\ к )/
Так как | Кк (/) | <Так как | Кк (/) | <то это также усиливает теоремуто это также усиливает теорему
Так как | Кк (/) | <
Так как | Кк (/) | <
то это также усиливает теорему
то это также усиливает теорему
Доказательство. Так как М четно, то Ьи также четно для всех «е{0, 1}". Пусть в) — /-й единичный вектор в {0,1}". Тогда
bx~bx+e = I (1-(-1)<“’е/>)(-1)<в’Л
/ иг С
Отсюда вытекает, что для фиксированного j вычет числа Ьх — Ьх+е^ по модулю 4 четен и не зависит от выбора х.
Пусть I множество тех /е{1, 2, ..., п}, для которых Ьх — — Ьх+е^ = 2 (mod 4), и положим Z = J J | и 1=1£1е1. Тогда
^-^+e/ = 2(er^(mod4)-
Так как bo = М = 2 (mod 4), то индукцией по весу х получаем, что
^2 + 2<х, g) (mod 4).
Теперь для каждого к е (0, 1, ..., п} имеем
В» = М"2 £ Ь2х>2М""2 ^ (1 +(-lf^>) =
х г {0, 1)"X г {0, 1}л
wt (х)=кwt (х^к
= 2М-2(( п ) + ^(/)Y ■
\\ к ;/
Укажем на следующее непосредственное следствие теоремы 8, которое является более слабым утверждением, но более простым для применения.
Следствие. Пусть С — (п, М, йукод с М = А^п^ и М =
= 2 (mod 4). Тогда'
В*>2ЛГ2(Р] +min Ккф\
W R, )/е{0, 1п} /
в частности, В2 ^ (4/М2) ((”)— М2/4]).
Например, это следствие можно использовать для доказательства верхней границы в теореме 9; нижняя граница следует из [56], [57].
Теорема 9. А (17, 8) = 38 или 39.
Табл. 1 дает границы для величины A^n,dy
Много значений следует из теорем 1 и 2. В противном случае неотмеченные верхние границы получены методом линейного программирования, как это проиллюстрировано в теоремах 4 и 6. Остальные записи в таблице пояснены ключами.
Границы Л (9, 4X20, Л (10,4X39, Л (11, 4X78 и Л (12, 4)^ 154 были заявлены Ваксом [63] в 1959. Однако, как мы увидим в следующем разделе, такие границы нельзя получить его методом.
Мы закончим этот раздел повторением вопроса Элспаса [16]: может ли Л (n, d) быть нечетным числом, большим 1?
Из теоремы 2 и табл. 1 мы получаем следующую теорему.
Теорема 10. Если A^n.d) нечетно (и больше единицыу то А{п, d}^37. Если существуют матрицы Адамара всех порядков, кратных 4, то А ^п, d) четно всякий раз, когда п ^ 2d.
КОНЕЦ ГРАНИЦЫ ВАКСА
В 1959 г. Вакс [63] вычислил ряд верхних границ для двоичных кодов методом, который был использован Ранкиным [49] для получения границ упаковки на сфере в евклидовом пространстве (см. также Роджерс [50]). Большинство полученных им границ были довольно слабы, но среди них было три специальных случая, в которых его «мягкая шаровая модель», как казалось, приводила к удивительно хорошим результатам.
Эти случаи были
Л (8, 3X20,
Л(9, 3)<39 и, следовательно, Л (10, 3)^78)
Л(11, 3X154.
Первая граница подтверждается теоремой 6, но никаких доказательств других границ не известно.
Мы не смогли воспроизвести вычисления Вакса, но фактически в этой части мы докажем нижнюю границу для величины наилучшей верхней границы, которая может быть достигнута с помощью мягкой шаровой модели, независимо от того, какая весовая функция используется. Так как эта нижняя граница несовместима с данными, обнаруженными Ваксом, мы можем сделать вывод, что результаты Вакса, по крайней мере в упомянутых выше интересных случаях, ошибочны.
В настоящее время остаются следующие границы для А (8,3), 4(9,3), Л(10, 3) и4(11,3):
А (8, 3) = 20, 38 < А (9, 3) < 40,72<4(10, 3)<80, 144<4(11, 3X160.
А. МЯГКАЯ ШАРОВАЯ МОДЕЛЬ
Рассмотрим (п, М, d) код как подмножество вершин гиперкуба {0, 1}п в n-мерном евклидовом пространстве R". Евклидово расстояние между двумя точками кода, по крайней мере, л^. Поэтому шары радиуса 1/2 V^" с центрами в точках кода не перекрываются. Если V обозначает объем пересечения каждого шара с гиперкубом {0, 1}п (в силу симметрии эти объемы равны), то число точек в коде, очевидно, не превышает 1/V. Таким образом А ^п, d) <[1/V].
Этот метод, называемый «жесткой шаровой моделью», дает очень скромные результаты, например, А (9, 3) < 566 (а не 56,7 как в работе Вакса [63] или 4(10, 4) < 401.
Для того, чтобы усилить эти границы, жесткие шары заменяются на большие шары с переменной плотностью массы. В качестве основных условий требуется, чтобы выполнялось:
плотность р(х), связанная с одним шаром, неотрицательна и зависит только от расстояния до центра этого шара и
для любой конфигурации (частично перекрывающихся) шаров с центрами на расстоянии не менее 2R друг от друга, суммарная плотность в каждой точке не больше единицы.
Если ц— это масса пересечения каждого шара с гиперкубом !), то получим, что .
Л(п,<0<[1/|1].
Основная задача заключается в нахождении подходящей плотности, которая удовлетворяет основным условиям 1) и 2) и максимизирует массу ц. Ранкин изучал эту задачу в [49]. Для того, чтобы упростить вычисления, он требовал выполнения дополнительного условия
радиус шаров равен RV^ т. е. р(г) = 0 для r^R^.
Описанная модель с условиями 1), 2) и 3) называется «мягкой шаровой моделью». Обозначим через Д^(п, d) наименьшую верхнюю границу для А^п, d), которую можно получить с помощью этой модели. Наша цель состоит в получении нижней границы для Aw (п, d).
В. НИЖНЯЯ ГРАНИЦА ДЛЯ Aw(n. d)
Установим вначале верхнюю границу для р. Для каждого натурального числа m определим величину ym = V2 (^ — Ulm (заметим, что у\ = 0, у2 = 1) и зададим функцию о: [0, оо]-> “>[0, 1] следующим образом:
т *
если
Rym < г <
Rym+i, m= 1, 2, .
.., n,
а(г) =
1 п + 1
если
Ryn+iCr
<R ^2
. 0,
если
r>R-V2
Тогда справедлива следующая лемма.
Лемма 11. р^о*.
Доказательство. Мы должны доказать, что для т = 1,2, ... ..., п+1 имеет место p(r)^l/m, если r^Rym. Пусть те е {1,2, ..., п+1}. Предположим, что пг сфер с функцией плотности р расположены так, что их центры являются вершинами (т—1)-мерного правильного симплекса с ребрами длины 2R в пространстве Rn.
Тогда расстояние от центра тяжести симплекса до каждой из вершин равно
7? V2 (m — l)/m = Rym.
(Доказательство по индукции.)
Общая плотность в центре тяжести равна mp(Rym). Следовательно, p(Rym) ^ ^/т и тем более p(r)^l/m, если г^ ^ Rym* Я
Эта оценка для функции р приводит к верхней границе для массы ц.
Лемма 12.Лемма 12.
Лемма 12.
Лемма 12.
Доказательство. Обозначим через В (г) объем пересечения n-мерного гипершара радиуса г и центром 0 и n-мерного гиперкуба [0, 1р. Объем n-мерного единичного шара обозначим через 1п. Хорошо известно (см. Соммервиль [57а,стр. 136], Феллер [17а, стр. 52]), что
(п/2)!(zi/2)n/2V^(п/2)!(zi/2)n/2V^
(п/2)!(zi/2)n/2V^
(п/2)!(zi/2)n/2V^
1 m — 11 m — 1п + 1/ п+1п + 1/ п+1у 1Z-j (т — 1) m.m=2у 1Z-j (т — 1) m.m=2
1 m — 1
1 m — 1
п + 1
/ п+1
п + 1
/ п+1
у 1
Z-j (т — 1) m
.m=2
у 1
Z-j (т — 1) m
.m=2
Отсюда
R V2R 4^R^
р,= p(r)dB(r)^ а (г) dB (г) = — В (г) do (г) ^ 00о
/?V2
$ 2“%Pdo(r) = 2"n4 о
2ле V^ 1п ) л^тиг
2(m- 1) \п/22"/2
m ) п +
Это приводит к нижней границе для Aw (п, d\
Теорема 13.Теорема 13.Доказательство. R = 1/2 VdДоказательство. R = 1/2 Vd
Теорема 13.
Теорема 13.
Доказательство. R = 1/2 Vd
Доказательство. R = 1/2 Vd
вольной функции плотности р.
Примеры:
Л„,(8, 3)>45,
А^ДЭ, 3)>101, Лф(10, 3)>238, Лю(11, 3)^579,
и Лш(п, d) = [l/p] для произ- ■
Лш (9, 4) >27,
Лю(10, 4) >56,
ЛИ)(11, 4)> 119,
Л„,(12, 4) >259.
ГРАНИЦЫ ДЛЯ A(n, d, w).
Первые две теоремы хорошо известны (ср. Джонсон [33]).
Теорема 14. Пусть d, w, п — целые числа и d^O, ю^п. Тогда
А^п, d — 1, w)==A(n, d,w\ если d четно,
А (п, d,w) — A (п, d,n — х$А
А (п, d, w) = 1, если d>2w,
А (п, d, w) = ^], если d = w.
Теорема 15. Если существуют 2dX^d матрицы Адамара, то
A^d-2, d,d—l) — d
A(2d—l, d,d—\^ = 2d—\
A(2d, d, d) = 4d-2
Теоремы 16—18 принадлежат Джонсону [30], [31].
Теорема 16.
А(п, d, ау)^Г-з5-^7^1
v * *7 L dn — 2ty (n — w) J
при условии, что знаменатель положителен.
Несколько более сильный результат дает следующая теорема.
Теорема 17. Положим А (п, сЦ w) = М и определим q и г посредством равенства
wM = nq + г, 0 ^ г <п.
Тогда
nq^q- 1) + 2qr ^(w - d!2)M(M - 1).
Теорема 18.
А (д, d, w) ^ ^-A(n —- 1, d, w — 1)], (n^ w ^ 1),
A(n, d, ^)<[n2.ai, ^(» — h d, ay)], (n>ay^0).
Теорема 19. Если n^w^t, то
. ,,\ n n— 1 n — t +1- ,, , ,x
A (n, d, г • • •• Am — t, d, w — t).
Если выполняется равенство, то произвольный оптимальный код постоянного веса с параметрами п, d, w образует /-схему.
В частности,В частности,А ^п, 2d, w)А ^п, 2d, w)в пров про
В частности,
В частности,
А ^п, 2d, w)
А ^п, 2d, w)
в про
в про
п (л — 1) ... (п — ю + д)w (w — 1) ... d
тогда и только тогда, когда существует система Штейнера S(w — б+1,йУ,п). (Библиографию работ по системам Штейнера вплоть до 1973 года см. Дуайен и Роза [14].)
ОПТИМАЛЬНЫЕ РАВНОВЕСНЫЕ КОДЫ.
Как было отмечено во введении, определение величины А^п, сЦ w) эквивалентно определению величины ®(/, &, v), где у = п, k = w и t = fe + 1 — 1 /2 d (если d — четно).
Однако это требует построения /-системы Штейнера, что тривиально при /=1, тогда как при / = 2 имеется рекурсивная техника Ханани и Вильсона (см. например, Вильсон [64,65]).
Для больших / почти ничего не известно (наиболее изучен случай / = 3, ^ = 4). Известны следующие результаты:
/=1. Это теорема 14(4): А (п, 2w, w) = [п/w].
t = 2. В этом случае мы должны искать наибольшую
совокупность из йУ-подмножеств n-множества, такую, что ни
одно 2-подмножество не входит в два ^-подмножества (иными
словами, покрытие ^-кликами без общих ребер полного графа
с п вершинами)..
Если существует уравновешенная неполная блок-схема с параметрами (6, v = п, r,k = w,'k=\y т. е. система Штейнера
S (2, до, и), то очевидно, что А (п, d, w) = b
тивном случае необходимо искать наилучшее приближение к этой системе Штейнера.
d = 4, w = 3. Киркманом [38] для случаев п = 0, 1, 2 или 3(mod6) и Шонхеймом [51] для остальных случаев было
показано, что
I Гт Г” 7 '11 ПРИ n^5(mod6) 4, 3) = М3 Г
I [у- [~2—]] ~ 1 ПРИ » = 5 (mod 6)
(см. также Гюи [22], Спенсер [58] и Свифт [61]). Случаи п = 1 или 3(mod6) соответствуют тройкам Штейнера.
d = 6, w = 4. Как было показано Ханани [26], системы Штейнера S(2,4, га), существуют тогда и только тогда, когда п=1 или 4(mod 12). В работе Брауэра и Шривера [7] были построены схемы с групповой делимостью для всех п = = 2 (mod 6), п N= 8. Брауэр [5] построил уравновешенные по парам схемы PBD ({4, 7*}, га) для всех га = 7 или 10(modl2),
п=#10, 19. С помощью этих или подобных конструкций показывается, что, если определить величину,
I1 ПРИ п = ? или 10 (mod 12)
JB^n, 6, 4) =
в противном случае,
то Л (п, 6, 4) = JB ^п, 6, 4) при всех п, за исключением п = 8— 11, 17, 19. Значения Л (17, 6, 4) при п = 8—11 вычисляются вручную, значение Л(17,6,4) было определено Брауэром [4], а Л(19, 6, 4) — Финнеем [47] и Стинсоном [60а].
Мы предполагаем, что если t = 2, w фиксировано, а п достаточно велико (т. е. п^По(^)), то А^п, d, w) равно значению границы Джонсона (полученному из теорем 14 и 18) (см. Вильсон [64]).
d = 8, w = 5. Как показал Ханани [26], [27], системы Штейнера S(2,5, п) существуют тогда и только тогда, когда п = 1 или 5 (mod 20). Их укорочение дает оптимальные коды для п = 0 или 4 (mod 20).
Значения .Л (п, 8, 5) в табл. 2 для п ^15 получены с помощью следующего замечания.
Теорема 20. Если d четно, К = w— d[2 и М ^ w/X + Y то
2/
Известно много других значений величины Л(/г, 8, 5), но большинство их лежит вне диапазона этой таблицы.
/ = 3, d = 4, w = 4. Как показал Ханани [25], четверки Штейнера существуют для любого п = 2 или 4 (mod 6). Следовательно, для этих значений п А(п,А,А) — 1/4(з).
Укорочение этих кодов дает А^пЗЗ^= п^п—1)(п — 3)/24 для п = 1 или 3(mod6). Кроме того, из существования уравновешенных по тройкам схем TBD ({4, 6}; п), в которых блоки размера 6 образуют разбиение, следует, что Л(п, 4,4) = = п(п2— Зп— 6)/24 при п = 0 (mod 6) (см. Брауэр [6]). Точные значения для случая n = 5(mod6) не известны.
ГРАНИЦА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ ДЛЯ А^п, d, w)
Эта граница основана на следующей теореме.
Теорема 21 (Дельсарт [9], [10]). Пусть С — ^п, М, 26)-код постоянного веса w ^ п/2 с распределением расстояний (Ло, ..., A^wy Тогда величины Во, ..., B2w неотрицательны, где теперь
В26 = 4" X Л2^Ь ^’ П*^’ ^ ^ 0W*1=0
коэффициенты Q^i, п, w) задаются равенством
Q^n.w^-^^E^^ )/{.){ . J, (11)
и Ei(x) — многочлен Эберлейна {двойственный многочлену Ханау определяемый следующим образом;
п — W + / — X]п — W + / — X]
п — W + / — X]
п — W + / — X]
(Об этих многочленах см. Дельсарт [9], Эберлейн [15], Хан [23] и Карлин и Мак-Грегор [37].)
Как и в случае величины A{n,dy мы получим границу для А{п, d, wy максимизируя Л0 + ^2 + ... + А^ при ограничениях
Л2/ ^0, t = 6,..., w,
Л о = 1, Л2 — Л4 = ... = Л2§_2 ~ 0(12)
и
В^к>0, £ = 0, ..., W.(13)
Дополнительные ограничения на величины Ai могут быть выражены через функцию T{wx> пх, w^ п^ 26), определенную в части 1 (см. табл. 3). Пусть и е С. Рассмотрим кодовые слова v е С, такие, что dist(u, u) = 2i. Мы можем предполагать, переставив соответствующим образом координаты, что
w = (11 ... 1 11 ... 1 00 ... 0 00 ... 0),v = (ll ... 1 00 ... 0 11 ... 1 00 ... 0).
Число таких и равно А^{иУ и по определению Т имеем
А<^ (н) ^ Т {У w, i, п— w, 26), 1 = 6, ..., w,
и, таким образом,
(И)(И)Л2/ ^ Т {I, w, У п — w, 26), i = 6, ..., w.
(И)
(И)
Иногда, как показывает следующий пример, можно сказать больше.
Теорема 22. Л(17, 8, 7)<31.
Доказательство. Пусть С— равновесный код длины 17, с расстоянием 8 и весом 7. Предположим, что С содержит М = — Л (17, 8, 7) кодовых слов. Для и^С ненулевыми компонентами в распределении весов относительно вектора и могут быть только Л0(и) = 1, Л8(и), Лю(и), Л12(и) и Ли(^) и значит
Ai=^Mu\ 1 = 0,8,10,12,14.
иеС
Мы имеем
Л14(^Л(10, 8, 7) = Л(10, 8, 1)=1,
Л12М<Т(6, 7, 6, 10, 8) = Т(1, 7, 4, 10, 8) = 5.
Это означает, что Л12 ^ 5, Ли ^ 1, как ив (14). Но можно сказать больше. Ибо, если Ли(^)= 1, то Л12(и)^2. Поэтому для всех и ^ С
Л12М + ЗЛ14(и) ^ 5 и Л14(^)^1, и, таким образом,
Л12 + ЗЛ14<5 и Л14<1.(15)
Решение задачи линейного программирования при ограничениях (12), (13) и (15) дает сформулированный результат. ■
Табл. 2 дает границы для величины Л (n, d, w). Верхние границы, помеченные буквой L, получены методом линейного программирования, проиллюстрированным теоремой' 22. Непомеченные верхние и нижние границы получены из теорем 14—20. Следующий прием бывает полезен при получении нижних границ. Пусть С — (n, М, б/)-код и С* = а + С = {а + и, и е С} — произвольный сдвиг С, с распределением весов Л, (О). Тогда
ЛДОХЛ^, d, i\
Этот прием хорошо работает, например, в случае укороченных кодов Нордстрема — Робинсона и Голея. Остальные значения таблицы пояснены ключами. Буквы слева от значения относятся к нижней границе, справа — к верхней.
5. ГРАНИЦЫ ДЛЯ ВЕЛИЧИНЫ T^wv пх> wa, п21 d)
Величина T^wi, п\, w^, n2, d) равна максимальному числу двоичных векторов длины ni + ^2, имеющих ровно W\ единиц в первых ni координатах и ровно w2 единиц в последних п2 координатах и находящихся друг от друга на расстоянии Хэмминга не менее d. Например, 7(1, 2, 3, 4, 6) = 2, как показывает пример векторов (1001100), (0100011). Свойства этой величины даны в следующих теоремах.
Теорема 23 (Джонсон [34]).
Т(wy, Пу, w2, п2, d) = T(w2, п2, Wy, Пу, d\
Т (wy, riy, w2, п2, d) — T (п.у — tob Пу, w2, п2, d'),
T (0, tiy, w2, п^, d) = А (п2, d, w^
Т(wy, tiy, w2, п2, d)^A (п2, d — 2tob to2),
если d = 2wy + 2w2, то
T (wy, Пу, w2, п2, d) = min { [-^j, [у },
T (wy, ny, w2, n2, ^X[-^7 т (wy — 1, Пу —1, w2, n2, d)
T (Wy, tiy, w2, n2, d) < [-""„, -T (Wy, tiy — 1, ty2, n2, d\
T(wy, tiy, w2, n2, 26)^ Г—55—
I1h d — W\ — W2
L H\ n2 при условии, что знаменатель положителен.
Несколько более сильный результат по сравнению с теоремой 23 (й) дает
Теорема 24. Пусть T^Wx, пх, w2, п2> 26) = Л1 и qit ri(<i= 1, 2) определены посредством равенств
Mwt = q^t + гь 0 < гг < пь
Тогда
2
2 (.Пь Ai (Ai — 1) + 2а£гД < (wy + w2 — 6) М (М — 1), причем равенство достигается тогда и только тогда, когда все расстояния равны 26.
Для величины T(wx, пх, w2, п2, 26) также имеется граница линейного программирования, которая основана на теореме 25. Определим левый и правый вес вектора u = ^uv ..., ^ni+nJ как wL(u^ = wt(uxип^ и wR(u( = wt(un^x, .... ипу
Теорема 25.
Пусть С—(tiy + п2, М, 26)-код, такой, что wL(u^=wx, wr(u?)==w2 для всех иеС и пусть
А21,2/ (к) = | {о е С: wL (и + о) = 2i, wR (и + о) = 2/} |,
A2t,2j=-M ^ A2U2j(u).
и® С
Тогда
W\ W2
Bzk. 2г ~ ~д4~ У У ^2i, 2jQk (h «■!> Wl) Ql U» n2> ^2) ^ 0,
z=o/=0
где Qk^it n, ay) определены в (11).
Доказательство. Предположим, что для v = 1, 2 (A”(v>; /?ov), ..., /?п^)— ассоциативная схема отношений с индексами пересечений р^, матрицами инцидентности D^, идемпотентами J^ и собственными значениями Р^ (i) Q^(i) (ср. Дельсарт [9], [10], Слоэн [54]).
Тогда (XWXX№; RM = R^XR^, 0<t<»b 0<j<n2) является ассоциативной схемой (произведением схем), с индексами пересечений P^rPps, матрицами инцидентности D^®Df\ идемпотентами /^ ®//2) и собственными значениями Р^ (/) Р^ (/), Qk4i)Q?4iY Следовательно, С — это код в произведении двух схем Джонсона. Теперь утверждение теоремы следует из приведенной выше теоремы 21 и теоремы 3.3 Дельсарта [9].
Табл. 3 дает верхние границы для T(wi, п\, w2, п2, 10). Значения, помеченные звездочкой, являются точными.
Примечание при корректуре. Первый из авторов недавно показал, что А (9,3) = 40, Л (10, 3)^79, А (11,3)^ 158, Л (18, 3)^ > 10240, Л (19, 3)^20480, Л (20, 9)^54 и Л (21, 9) ^89.
ЛИТЕРАТУРА
Alltop W. О., personal communication.
Best М. R., The Wax bound for binary codes, Math. Centre Report ZW72, Amsterdam, 1976. (Preprint of Section III of this paper.)
Best M. R., Brouwer A. E., «The triply shortened binary Hamming code is optimal», Discrete Math., vol. 17, pp. 235—245, 1977.
Brouwer A. E., A (17, 6, 4) = 20, or the nonexistence of the scarce design SD(4,1; 17, 20), Math. Centre Report ZW62, Amsterdam, 1975.
Optimal packings of KTs into a Kn — the case n ^= 2 (mod 3), Math. Centre Report ZW76, Amsterdam, 1976.
Some triplewise balanced designs, Math. Centre Report ZWT7, Amsterdam, 1976.
Brouwer A. E., Schrijver A., A group-divisible design GD(4, 1, 2; n) exists if n 2 (mod 6), n ^ 8 (or: The packing of cocktail party graphs with K^s), «Math. Centre Report ZW64, Amsterdam, 1976).
Delsarte P., Bounds for unrestricted codes, by linear programming, Philips Research Reports, vol. 27, pp. 272—289, 1972.
An algebraic approach to the association schemes of coding theory, Philips Research Reports Supplements, no. 10, 1973. [Русский перевод: Дельсарт Ф., Алгебраический подход к схемам отношений теории кодирования.— М.: Мир, 1976.]
The association schemes of coding theory, in Combinatorics M. Hall, Jr., and J. H. van Lint, Eds. Amsterdam: Reidel, Dordrecht, and Mathematical Centre, 1975, pp. 143—161.
Properties and applications of the recurrence F(i + l,k + l,n + 1) — = qfe+1F(i, к + 1, n) — q*F(i, k, n), SIAM J. Appl. Math. vol. 31, pp. 262— 270, 1976.
Delsarte P., Haemers W., Weug C., unpublished tables, 1974.
Denniston R. H. F., personal communication.
Doyen J., Rosa A., A bibliography and survey of Steiner systems, Bolletino Unione Matematica Italiana, vol. 7, pp. 392—419, 1973.
Eberlein P. J., A two parameter test matrix, Math. Comp., vol. 18, pp. 296— 298, 1964.
Elspas B., A conjecture on binary nongroup codes, IEEE Trans. Inform. Theory, vol. IT-11, pp. 599—600, Opt. 1965.
Erdos P., Hanani H., On a limit theorem in combinatorical analysis, Publ. Math. Debrecen, vol. 10, pp. 10—13, 1963.
17a. Feller W., An Introduction to Probability Theory and its Applications, vol. 1, 2nd Ed. New York: Wiley, 1960. [Русский перевод: Феллер В., Введение в теорию вероятностей и ее приложения. — М.: Мир, 1963.]
Ficken F. A., The Simplex Method of Linear Programming. New York: Holt, Rinehart and Winston, 1961.
Goethals J. M., The extended Nadler code is unique, IEEE Trans. Inform. Theory, vol. IT-23, pp. 132—135, Jan. 1977.
Golay M. J. E., Notes on digital coding, Proc. IRE, vol. 37, p. 657, June 1949.
Binary Coding, IEEE Trans. Inform. Theory, vol. IT-4, pp. 23—28, Sept. 1954.'
Guy R. K., A problem of Zarankiewicz, in Theory of Graphs (Proc. Colloq., Tihany), New York: Academic,'1968, pp. 119—150.
Hahn W., Uber Orthogonalpolynome, die q-Differenzengleichungen geniigen, Math. Nachr., vol. 2, p. 4—34, 1949.’
Hamming R. W., Error detecting and error correcting codes, Bell Syst. Tech. J., vol. 29, pp. 147—160, Apr. 1950. [Русский перевод: Хэмминг P. В., Коды с обнаружением и исправлением ошибок, в сбор. Коды с обнаружением и исправлением ошибок. — М.: ИЛ, 1956, с. 7—23.]
Hanani Н., On quadruple systems, Canad. J. Math., vol. 12, pp. 145—157, 1960.
The existence and construction of balanced incomplete block designs, Annals Math. Stat., vol. 32, pp. 361—386, 1961.
A balanced incomplete block design, ibid., vol. 36, p. 711, 1965.
Balanced incomplete block designs and related designs, Discrete Math., vol. 11, pp. 255—369, 1975.
Helgert H. J., Stinaff R. D., Minimum-distance bounds for binary linear codes, IEEE Trans. Inform. Theory, vol. IT-19, pp. 344—356, May 1973.
Johnson S. M., A new upper bound for error-correcting codes, IEEE Trans. Inform. Theory, vol. IT-8, pp. 203—207, Apr., 1962. [Русский перевод: Джонсон С. М., Новая верхняя граница для кодов, исправляющих ошибки, в сб. Теория кодирования. — М.: Мир, 1964, с. 208—224.]
Improved asymptotic bounds for error-correcting codes, IEEE Trans. Inform. Theory, vol. IT-9, pp. 198—205, July 1963.
unpublished tables, 1970.
On upper bounds for unrestricted binary error-correcting codes, IEEE Trans. Inform. Theory, vol. IT-17, pp. 466—478, July 1971.
Upper bounds for constant weight error-correcting codes, Discrete Math., vol. 3, pp. 109—124, 1972.
Julin D., Two improved block codes, IEEE Trans. Inform. Theory, vol. IT-11, pp. 459, July 1965.
Xalbfleisch J. 6., Stanton R. G., Maximal and minimal coverings of (k—l)-tuples by k-tuples, Pacific. J. Math., vol. 26, pp. 131—140, 1968.
Karlin S., McGregor J. L, The Hahn polynomials, formulas and an application, Scripta Math., vol. 26, pp. 33—46, 1961.
Kirkman T. P., On a problem in combinations, Cambridge and Dublin Math. J., vol. 2, pp. 191—204, 1847.
[Левенштейн В. И. Применение матриц Адамара к одной задаче кодирования. Проблемы кибернетики, вып. 5. — М.: Физматгиз, 1961, с. 123— 137.]
Shen Lin, personal communication.
van Lint J. H., A new description of the Nadler code, IEEE Trans. Inform. Theory, vol. IT-18, pp. 825—826, Nov. 1972.
McEliece R. J., Rodemich E. R., Rumsey H. C., Jr., and L. R. Welch, unpublished tables, 1972.
New upper bounds on the rate of a code via the Delsarte— MacWilliams inequalities, IEEE Trans. Inform. Theory, vol. IT-23, pp. 157—166, Mar. 1977. [Русский перевод: Мак-Элис P. Д., Родемич Е. Р., Рамсей Г. К., Велч Л. Р., Новые верхние границы для скорости кода, основанные на неравенствах Дельсарта — Мак-Вильямс, Наст, сборник, с. 6.]
Mendelsohn N. S., Hung S. Н. Y., On the Steiner systems S(3, 4, 14) and S(4,5, 15), Notices Amer. Math. Soc., vol. 18, pp. 552—553, 1971; Abstract 71T-A78 and p. 792: erratum, and Utilitas Math., vol. 1, pp. 5—95, 1972.
Nadler M., A 32-point n = 12, d = 5 code, IEEE Trans. Inform. Theory, vol. IT-8, p. 58, Jan. 1962..
Nordstrom A. W., Robinson J. P., An optimum nonlinear code, Info. Control, vol. 11, pp. 613—616, 1967.
Phinney H. R., personnal communication.
Plotkin M., Binary codes with specified minimum distances, IEEE Trans. Inform., Theory, vol. IT-6, pp. 445—450, Sept. 1960. [Русский перевод: Плоткин M., Двоичные коды с заданным минимальным расстоянием, Киб. сборник, вып. 7. — М.: ИЛ, 1963.]
Rankin R. A., On the closest packing of spheres in dimensions, Annals of Math., vol. 48, pp. 1062—1081, 1947.
Rogers C. A., Packing and Covering. Cambridge: Cambridge University Press, 1964. [Русский перевод: Роджерс К., Укладки и покрытия. — М.: Мир, 1968.]-
Schonheim J., On maximal systems of k-tuples, Stud. Sci. Math. Hungar., vol. 1, pp. 363—368, 1966.
Simonnard M., Linear Programming. Englewood Cliffs, NJ: Prentice-Hall, 1966.
Sloane N. J. A., A survey of constructive coding theory, and a table of binary codes of highest known rate, Discrete Math., vol. 3, pp. 265—294, 1972. [Русский перевод: Слоэн H. Дж. А. Обзор конструктивной теории кодирования и таблицы двоичных кодов с наибольшими известными скоростями, Киб. сборник (нов. серия), вып. 10. — М.: Мир, 1973, с. 5—32.]
An introduction to association schemes and coding theory, in Theory and Application of Special Functions, R. Askey, Ed. New York: Academic, 1975, pp. 225—260.
Sloane N. J. A., Reddy S. M., Chen C. L., New binary codes, IEEE Trans. Inform. Theory, vol. IT-18, pp. 503—510, July 1972.
Sloane N. J. A., Seide J. J., A new family of nonlinear codes obtained from conference matrices, Annals New York Acad, of Sciences, vol. 175, pp. 363—365, 1970.
Sloane N. J. A., Whitehead D. S., A new family of single-error correcting codes, IEEE Trans. Inform. Theory, vol. IT-16, pp. 717—719, Nov. 1970.
57a. Sommerville D. M. Y. Sommerville, An Introduction the Geometry of N Dimensions. New York: Dover, 1958.
Spencer J., Maximal consistent families of triples, J. Combinatorial Theory, vol. 5, pp. 1—8, 1968.
Stanton R. G., Kalbfleisch J. G., Mullin R. C., Covering and packing designs, in Proc. 2nd Chapel Hill Conf. Combinatorial Mathematics and its Applications, R. C. Bose et al., Eds., Chapel Hill, NC, 1970, pp. 428—450.
Stevens R. F., Bouricius W. G., The heuristic generation of large error-correcting codes, unpublished memorandum, IBM Research Center, Yorktown Heights, Aug. 1, 1959.
60a. Stinson D., Determination of a Packing Number, preprint.
Swift J. C., Quasi-Steiner systems, Atti Acad. Naz. Lincei Rend. Cl. Sci. Fis. Mat. Natur. (8), vol. 44, pp. 40—44, 1968.
Valiant W. G., A(14, 6, 7) 52 or the nonexistence of a certain constant weight code, Math. Centre Report ZW71, Amsterdam, 1976.
Wax N., On upper bounds for error detecting and error-correcting codes of finite length, IEEE Trans. Inform. Theory, vol. IT-5, pp. 168—174, 1959.
Wilson R. M., The construction of group-divisible designs and partial planes having the maximum number of lines of a given size, in Proc. 2nd Chapel Hill Conf. Combinatorial Mathematics and its Applications, R. C. Bose et al., Eds., Chapel Hill, NC, 1970, pp. 488—497.
An existence theory for pairwise balanced designs, I, J. Combinatorial Theory vol. 13A, pp. 220—245, 1972, «II», ibid., vol. 13A, pp. 246—273, '1972; «III», ibid., vol. 18A, pp. 71—79, 1975.
Witt E., Ober Steinersche Systeme, Abh. Math. Sem. Univ. Hamburg, vol. 12, pp. 265—275, 1938.
Сложность комбинаторных алгоритмов1)
Роберт Эндре Тарьян
В данной статье рассматриваются недавние работы по сложности комбинаторных алгоритмов с выдвижением на первый план целей этих работ, используемых математических методов и важных результатов. Включены разделы, в которых обсуждаются способы измерения сложности алгоритмов, методы доказательства того, что некоторые проблемы являются очень трудными для решения, приемы, полезные при разработке хороших алгоритмов, и недавние достижения в построении алгоритмов для решения десяти характерных задач. В последнем разделе предлагаются некоторые направления для дальнейших исследований.
ВВЕДЕНИЕ *
В последние годы произошло резкое увеличение числа исследований, имеющих дело с развитием и анализом сложности комбинаторных алгоритмов. Несмотря на то что большинство этих исследований по существу являются теоретическими, многие из недавно открытых алгоритмов очень полезны на практике. Эти алгоритмы и методы работы с данными, которые они используют, представляют ценность как для комбинаторных, так и для численных вычислений. Некоторые задачи, которые на первый взгляд являются исключительно численными по характеру, требуют для эффективного решения не только подходящих численных методов, но и подходящего выбора структур данных и методов работы с данными. Примером такой задачи является решение системы линейных уравнений, когда матрица коэффициентов состоит в основном из нулей (Тьюарсон (1973), [167]).
В этой статье я дам обзор некоторых недавних результатов по сложности комбинаторных алгоритмов, рассмотрю некоторые идеи, связанные с ними, и предложу возможные направления для дальнейших исследований. В разд. 2 этой статьи обсуждаются способы измерения сложности алгоритмов. Хотя в различных ситуациях полезны несколько различных мер слож-
9 Robert Endre Tarjan, Complexity of combinatorial algorithms, SIAM Rew., 20, № 3, 1978, 457—491.
© 1978 Society for Industrial and Applied Mathematics
©Перевод на русский язык, «Мир», 1980
ности, я сконцентрирую внимание на одной мере — времени работы в худшем случае как функции от размера входа. В разд. 3 обсуждаются методы доказательства того, что некоторые комбинаторные задачи являются очень трудными для решения. Результаты в этой области являются естественным расширением, возможно более соответствующим реальным вычислениям, результатов. о неполноте и неразрешимости Гёделя, Тьюринга и других. В разд. 4 представлен небольшой набор основных приемов, полезных при построении эффективных комбинаторных алгоритмов. В разд. 5 обсуждаются эффективные алгоритмы для решения десяти характерных задач. Эти задачи иллюстрируют важность методов, описанных в разд. 4, и включают некоторые, естественно не все, комбинаторные задачи, для которых известны хорошие алгоритмы. В разд. 6 предложены несколько нерешенных проблем и направления для дальнейших исследований. В приложении содержится список терминов для тех, кто незнаком с теорией графов.
МОДЕЛИ МАШИН И МЕРЫ СЛОЖНОСТИ
На первых этапах развития программирования (прежде чем программирование стало академической дисциплиной) человек, столкнувшийся с комбинаторной задачей, должен был бы, вероятно, поступать следующим образом. Он или она ^ некоторое время обдумывали бы задачу, формулировали алгоритм для ее решения и писали бы программу для машины, которая должна была бы реализовать этот алгоритм. Для проверки корректности последнего он прогонял бы программу на некоторых множествах данных, «отлаживая» программу до тех пор, пока она не давала бы правильного выхода на каждом множестве выбранных входных данных. Для проверки эффективности алгоритма он измерял бы время и объем памяти, необходимые его программе для работы с выбранными входными данными, строил бы по этим измерениям кривые (на глаз, по методу наименьших квадратов или с помощью некоторого другого метода) и заявлял бы, что эти кривые измеряют эффективность алгоритма.
Недостатки такого эмпирического подхода очевидны. Развитие очень больших программ, таких, как компиляторы и операционные системы, требует намного более систематических методов проверки корректности. Эта необходимость побудила специалистов в области вычислительных наук разработать методы доказательства корректности (и других свойств) программ
В дальнейшем я буду использовать «он» для обозначения любого человека, мужчины или женщины,
(Флойд (1967), [53], Манна (1969), [119], Хоор (1969), [78]). Эти методы используют математическую индукцию для установления того, что некоторые инвариантные соотношения выполняются всякий раз, когда достигаются определенные точки в программе. Специалисты-вычислители развили также методы (такие, как «структурное программирование») построения легко понимаемых и легко проверяемых программ (Дал, Дейкстра и Хоор (1972), [34]) и описали новые языки программирования, чтобы сделать эти методы легко применимыми (Вирт (1971), [179]). Упор в этих исследованиях делается на то, чтобы продемонстрировать, что разработка алгоритма и разработка доказательства его корректности — это неотделимые части одного и того же процесса. Возможно, самым главным защитником этой точки зрения является Дейкстра (Дал, Дейкстра и Хоор (1972), [34]; Дейкстра (1976), [38]).
Измерение эффективности с помощью эмпирических тестов имеет те же недостатки, что и эмпирическая проверка корректности; нет гарантии, что результаты воспроизводимы на новых множествах данных. Если нужно сделать обоснованный выбор между двумя алгоритмами для решения одной и той же задачи, то необходима более систематическая информация о сложности алгоритмов. Чтобы быть наиболее полезной, эта информация должна быть независимой от машины; хорошие алгоритмы имеют тенденцию оставаться хорошими, даже если они выражаются в различных языках программирования или выполняются на различных машинах. Более того, мера сложности должна быть и реалистичной и поддаваться теоретическому изучению.
Имеются два сорта мер сложности: статические (не зависящие от размера и характеристик входных данных) и динамические (зависящие от входных данных). Типичной статической мерой является длина программы. Длина программы в некотором смысле измеряет простоту и элегантность алгоритма (алгоритм с короткой программой и коротким доказательством корректности является простым; алгоритм с короткой программой и длинным доказательством корректности является элегантным). Эта мера наиболее подходящая, если важно время программирования или если программа выполняется редко.
Динамические меры сложности дают информацию о ресурсах, требуемых алгоритмом, как функции от характеристик входных данных. Типичными динамическими мерами являются время работы и объем памяти. Эти меры являются подходящими, если программа должна выполняться часто. Время работы обычно наиболее важный фактор, ограничивающий размеры задач, которые могут быть решены с помощью вычислительной машины; большинство среди задач, рассматриваемых
в разд. 5, требуют только линейного объема памяти для их решения. Однако для задач с линейными по времени алгоритмами ограничивающим фактором может быть объем памяти. Объем памяти используется в качестве меры при доказательстве вычислительной неподатливости некоторых задач (см. разд. 3), однако большинство исследований эффективности придают основное значение времени работы.
Динамические меры требуют, чтобы мы задали входные данные. Одна из возможностей — считать, что данные для заданного размера задачи являются наиболее плохими. Мера времени работы или объема памяти в худшем случае, как функция от размера задачи, дает гарантированную эффективность; программа всегда будет требовать времени или памяти не больше, чем это определяется данной границей. Мера «в худшем случае» в этом смысле не очень отличается от доказательства корректности программы.
Для некоторых алгоритмов оценка худшего случая может быть чрезмерно пессимистичной; например, похоже, что симплексный метод в линейном программировании (Данциг (1963), [35]), который имеет экспоненциальную оценку времени в худшем случае (Кли и Минти (1972), [102]), на реальных задачах работает намного • быстрее, чем за экспоненциальное время. В таких ситуациях «средний» случай или «наиболее стандартный» случай могут дать более реалистическую оценку. Для некоторого круга задач, таких как сортировка и поиск (Кнут (1973), [107]), анализ среднего случая почти всегда более реалистичен, чем анализ худшего случая, и в этих областях выполнено много исследований среднего случая. Однако анализ среднего случая имеет свои недостатки. Может оказаться очень трудным выбрать хорошую вероятностную меру. Например, предположение о том, что различные части входных данных имеют независимые распределения, может сделать анализ более простым, но может быть нереалистичным предположением; более того, даже относительно простой алгоритм может быстро уничтожить независимость. В дополнение к этому при анализе среднего случая мы рискуем неожиданно столкнуться с очень редким, но очень плохим множеством входных данных.
Любая конкретная мера сложности должна базироваться на некоторой модели вычислительного устройства. Одним из возможных вариантов является машина с произвольным доступом к памяти (Кук, Рекхов (1973), [30]), которая является абстракцией цифровой вычислительной машины общего назначения. Память такой машины состоит из массива ячеек памяти, каждая из которых может содержать целое число. Ячейки памяти занумерованы последовательно, начиная с единицы; номер ячейки является ее адресом. Машина имеет также фиксирован-
ное конечное множество регистров, каждый из которых может содержать целое число. (Для задач, включающих в себя действительные числа, мы допускаем, чтобы ячейки памяти и регистры содержали действительные числа.) За один шаг машина может переслать содержимое регистра в ячейку памяти, адрес которой находится в некотором регистре, или переслать в регистр содержимое ячейки памяти, адрес которой находится в некотором регистре, или произвести арифметическую операцию над содержимым двух регистров, или сравнить содержимое двух регистров. Программа фиксированной конечной длины задает последовательность операций, которые должны выполняться. Начальная конфигурация памяти представляет входные данные, и конечная конфигурация памяти представляет выход. Детали этой модели машины несущественны, поскольку разумные вариации изменяют время работы или объем памяти не более чем в константу раз.
Машина с произвольным доступом к памяти является последовательной; она выполняет в каждый момент только один шаг. Много работ выполнено по вычислительной сложности параллельных алгоритмов, но я не буду обсуждать здесь эти работы.
Машина с произвольным доступом к памяти в качестве модели является полезным инструментом для реалистичных измерений эффективности отдельных алгоритмов, но она имеет серьезные недостатки для изучения нижних оценок. Поскольку одна ячейка памяти может содержать как угодно большое целое число, то на машине с произвольным доступом к памяти возможно выполнять вычисления параллельно, кодируя несколько маленьких чисел одним большим числом. Этой проблемы можно избежать, предполагая, что время, необходимое для операции над целым числом, пропорционально длине его двоичного представления (Ахо, Хопкрофти Ульман (1974), [2]), или требуя, чтобы все целые числа были ограничены по абсолютной величине некоторой константой, умноженной на размер входных данных.
Машины с произвольным доступом к памяти исключительно сильные: в частности, они могут производить арифметические операции с адресами. Эта способность полезна для представления многомерных массивов (Кнут (1968), [104]), выполнения цифровой сортировки (Кнут (1973), [107]), хранения хеш-таблиц (Кнут (1973), [107]) и т. п. Однако определение теоретических границ этой способности кажется очень трудной проблемой. Колмогоров (1953), [ПО], Колмогоров и Успенский (1958), [111], Кнут (1968), [104], Шёнхаге (1973), [147] и Тарьян (1977), [166] предложили модели машин, в которых доступ к памяти производится только с помощью явного ука-
зания, и невозможны арифметические операции с адресами. Я буду называть такую машину машиной со связанной памятью. Эти машины точно моделируют способности языков для работы со списками, таких, как LISP, и основные черты работы со списками языков общего назначения, таких, как АЛГОЛ- W и PL/1, и кажутся более подходящими для анализа, чем машины со случайным доступом.
Другая очень простая модель машины, машина Тьюринга (Тьюринг (1936—1937), [168]), использовалась во многих теоретических исследованиях. Машина Тьюринга имеет память в виде ленты. Лента разделена на ячейки, в каждой из которых может содержаться один из конечного числа символов. Машина обладает конечной внутренней памятью и читающей/пишущей головкой, которая может за один шаг сдвигаться на одну ячейку по ленте. За один шаг машина может прочесть содержимое ячейки ленты, записать новый символ в ячейку (стирая то, что находилось там раньше), сдвинуть читающую/пишущую головку на одну ячейку вперед или назад по ленте и изменить состояние внутренней памяти. Решение о том, что должно выполняться на каждом шаге, зависит только от текущего состояния внутренней памяти и содержимого ячейки ленты, которая прочитывается; это решение для каждого внутреннего состояния и каждого ленточного символа заносится в таблицу решений, которая образует программу машины.
Тьюринг предложил свою модель машины в 1936 г., раньше, чем появились электронные цифровые вычислительные машины; он пытался смоделировать вычислительный процесс абстрактно, без ссылки на какую-либо реальную вычислительную машину. Хотя модель Тьюринга неадекватна для большей части конкретных исследований сложности, ее простота и тот факт, что работа любой машины с произвольным доступом к памяти может быть смоделирована на машине Тьюринга всего лишь с полиномиальным увеличением времени работы, делают машину Тьюринга исключительно полезной для изучения очень трудных вычислительных задач. Она полезна также для изучения проблем, в которых устройством памяти являются ленты, как, например, в ленточной сортировке (Кнут (1973), [107]).
При изучении нижних границ часто сосредоточивают внимание на критических операциях; при подсчете времени работы учитывают наличие только этих критических операций. Например, в сортировке и задачах выбора полезно учитывать только сравнения (или более общие бинарные решения), измеряя сложность задачи глубиной дерева решений для нее (Ахо, Хопк- рофт и Ульман (1974), [2]). В арифметических и алгебраических задачах полезно учитывать только арифметические операции и считать, что никаких условных переходов не происходит,
т. е. последовательность вычислений не зависит от входных данных (для определенного размера задачи). В этом случае сложность задачи измеряется длиной неветвящейся программы (Ахо, Хопкрофт и Ульман (1974), [2]). В других ситуациях критическими операциями могут быть обращения к памяти.
В данной статье я буду использовать в качестве меры сложности алгоритмов время работы в худшем случае на машине с произвольным доступом к памяти. Эта мера является полезной и реалистичной для широкого круга комбинаторных проблем. Я буду игнорировать константный множитель во времени работы, поскольку такие константные множители зависят от точной модели вычисления, их часто трудно вычислить и они имеют тенденцию, по крайней мере для задач большого размера, затушевываться асимптотическими скоростями роста. Для указания соотношений между функциями я буду использовать следующие обозначения. Если f и g— функции от п, то «Цп) есть O(g(fz))» означает, что f^^cg^ для всех п, где с — подходящая положительная константа, и «f(n) есть tt^g^n^» означает, что f^^cg^n) для всех п, где п— подходящая положительная константа.
СЛОЖНОСТЬ НЕПОДДАЮЩИХСЯ ЗАДАЧ
Вдохновленные Гильбертом (1926), [77] и другими формалистами, математики начала двадцатого столетия надеялись найти формальную систему, которая была бы достаточной для выражения и проверки всех математических истин. Эти надежды были разрушены Гёделем (1931), [66], который в своей известной теореме о неполноте показал, что никакой метод доказательства не может одновременно и допускать механическую проверку, и быть достаточно мощным для доказательства всех теорем элементарной арифметики. Интерес к основаниям математики поставил логиков перед вопросом: «Что такое механическая проверка?», или, эквивалентно, «Что такое алгоритм?». Чёрч (1936), [26], Клини (1936), [103], Пост (1936), [132], Тьюринг (1936—1937), [168] и другие дали формальные определения алгоритма. Эти определения на вид различны, но можно доказать их эквивалентность в том смысле, что если проблема разрешима согласно одному определению алгоритма, тогда она разрешима согласно всем другим определениям. Эта устойчивость понятия алгоритма обычно формулируется как тезис Чёрча*, любой алгоритм (в неформальном смысле) может быть выражен как машина Тьюринга и любая машина Тьюринга выражает некоторый алгоритм.
Раз появилось формальное определение алгоритма, то для математиков стало возможным изучать возможности вычисле-
ния. Тьюринг доказал, что не существует алгоритма для определения того, остановится ли когда-нибудь данная машина Тьюринга с данным входом. Другие исследователи открыли множество таких неразрешимых проблем (Джоунс (1974), [94])4 которые соответствуют в теории вычислений результатам о неполноте Гёделя и других в логике. Возможно, венцом этих исследований вычислимости является доказательство Матиясе- вича (1970), основанное на более ранних работах Мартина Дэвиса и Джулии Робинсон, неразрешимости десятой проблемы Гильберта (Дэвис, Матиясевич и Робинсон (1976), [36]). Десятая проблема Гильберта состоит в определении того, имеет ли данное полиномиальное уравнение решение в целых числах.
Теория вычислимости пронизана двумя методами доказательства, диагонализацией и моделированием. Диагонализация основана на древнем парадоксе обращения к себе; Кантор (1874), [22] использовал его для доказательства того, что действительных чисел больше, чем целых, а Гёдель использовал его для доказательства своего результата о неполноте. Можно следующим образом использовать его для построения неразрешимой проблемы. Допустим, нас интересуют вопросы с ответами «да — нет» о целых числах, такие, как «Является ли п четным?» или «Является ли п простым?». Допустим, мы имеем список Ах, Л 2, Л3, ... всех алгоритмов, отвечающих на такие вопросы (для любого из стандартных определений алгоритма легко оргайизовать такой список). Рассмотрим множество S целых чисел, такое, что п является элементом S в том и только в том случае, если алгоритм Ап дает ответ «нет» (или вовсе не дает ответа) при входе п. Тогда вопрос «Является ли п элементом S?» неразрешим, поскольку каждый алгоритм в списке Аь Л 2, Л3, ... дает неправильный ответ по крайней мере при одном входе (Ап дает неправильный ответ при входе п) и по тезису Чёрча этот список содержит все возможные алгоритмы. Тьюринг использовал такую же идею для того, чтобы показать неразрешимость проблемы остановки для машин Тьюринга.
Моделирование — это метод преобразования одной задачи или метода решения задачи в другую. Как только мы имеем одну неразрешимую проблему Рх, мы можем доказать неразрешимость другой проблемы Р2, показав, что если для Р2 имеется алгоритм, то этот алгоритм можно использовать для решения Рх. Для этого мы строим алгоритм, который преобразует произвольный частный случай проблемы Рх в один или несколько частных случаев проблемы Р2, таким образом сводя Рх к Р2 (или трансформируя Рх в Р2у Подобным образом, чтобы показать, что два определения алгоритма эквивалентны, мы показываем, как произвольный алгоритм, соответствующий од-
ному определению, смоделировать с помощью алгоритма, соответствующего другому определению.
Развитие цифровых вычислительных машин общего назначения сделало возможным разработку и выполнение сложных алгоритмов, и теория вычислимости стала не только предметом математического ^интереса. Однако эта теория игнорирует вопрос об используемых ресурсах, что ограничивает ее способность определять, что возможно на практике. Похоже, что многие проблемы, для которых явно существуют алгоритмы, не имеют хороших алгоритмов. Рассмотрим, например, задачу о максимальном устойчивом множестве*, для данного графа найти в нем максимальное число вершин, никакие две из которых не смежны. Так как граф с п вершинами имеет только 2Л подмножеств вершин, то существует алгоритм для этой задачи с экспоненциальным временем. Однако пока не найдено существенно более быстрого алгоритма для этой задачи.
Таблица 1
Оценка времени работы. (Один шаг = одна микросекунда, логарифмы берутся по основанию два).
Размер
Слож-Х.
ность \
20
50
100
200
500
1000
1000 п
0,02 с
0,05 с
0,1 с
0,2 с
0,5 с
1 с
1000 п log л
0,09 с
0,3 с
0,6 с
1,5 с
4,5 с
10 с
100 л2
0,04 с
0,25 с
1 с
4 с
25 с
2 мин
10 л3
0,02 с
1 с
10 с
1 мин
21 мин
2,7 ч
0,4 с
1,1 Ч
220 дней
125 веков
5 • 108веков
2п/3
0,0001 с
0,1 с
2,7 ч
3 • 104веков
2"
1 с
35 лет
3 • 104веков
3"
58 мин
2 • 109веков
Табл. 1 и 2 иллюстрируют важность этого явления. Табл. 1 оценивает время работы алгоритмов с различными временными границами. Таблица показывает, что константный множитель становится все менее и менее важным, когда размер задачи возрастает; для больших задач асимптотика скорости роста временной границы доминирует над константным множителем. Таблица показывает также, что время работы растет крайне быстро, если временная граница является экспоненциальной. Табл. 2 оценивает максимальный размер задач, разрешимых за данное количество времени. Возрастание количества времени (или скорости машины) в большое число разке дает существен-
Таблица 2
Максимальный размер разрешимых задач. (Увеличение скорости машины в десять раз соответствует увеличению времени в десять раз.)
х. Время
Сложность X,
1 с
Ю2 с (1,7 мин)
104 с (2,7 ч)
10е с (12 чней)
108 с
(3 года)
1010 с (3 века)
1000 п
103
105
107
ю9
10“
1013
1000 п log п.
1,4X102
7,7X103
5,2X105
3,9X107
3,1 ХЮ9
2,6ХЮН
100 п?
102
103
104
105
10е
107
10 га3
46
2ДХЮ2
103
4.6ХЮ3
2,1 ХЮ4
105
n‘°gn
22
36
54
79
112
156
2"/3
59
79
99
119
139
159
2"
19
26
33
39
46
53
3"
12
16
20
25
29
33
ного роста размера разрешимых задач, если только временная граница не растет намного медленнее, чем экспонента.
Табл. 1 и 2 наводят на мысль о естественном разделении алгоритмов на хорошие (у которых граница времени в худшем случае полиномиальна относительно размера входа) и плохие. Эдмондс (1965), [43] был, очевидно, первым, кто отметил это различие. Я буду называть разрешимую проблему поддающейся, если она имеет полиномиальный по времени алгоритм, и неподдающейся в противном случае. Различие между поддающимися и неподдающимися проблемами не зависит от модели машины, поскольку любая из обычно используемых моделей машин может быть смоделирована с помощью любой другой модели с не более чем полиномиальной потерей времени работы. Как показывают табл. 1 и 2, невозможно выполнить экспоненциальный по времени алгоритм для большой задачи. Многие комбинаторные проблемы легко решаются за экспоненциальное время путем исчерпывающей проверки, однако похоже, что решение таких проблем за полиномиальное время требует намного большей проницательности. Большинство известных хороших алгоритмов имеют полиномиальную временную границу малой степени ^О^п^ или лучше). Определить, какие естественные проблемы являются поддающимися, а какие неподдающимися— это главная задача теории сложности.
Хартманне, Льюис и Стирнз сделали первый шаг к представлению естественной неподдающейся проблемы (Хартманне, Льюис и Стирнз (1965), [75]; Хартманне и Стирнз (1965), [76]). С помощью диагонализации по всем алгоритмам с дан-
ной оценкой памяти они смогли получить проблему, разрешимую с памятью S^n^, но не разрешимую с памятью а$1(п),для любых оценок памяти Si(n) и 82^, удовлетворяющих условию lim inf^ooSi (^)/S2(^) = 0 и некоторым другим техническим ограничениям. Они доказали подобный, но несколько более слабый результат для временной сложности. Из этих результатов вытекает, в частности, что имеются проблемы, разрешимые при экспоненциальной памяти, но неразрешимые при полиномиальной памяти, и проблемы, разрешимые за экспоненциальное время, но неразрешимые за полиномиальное время.
К сожалению, неподдающиеся проблемы, построенные с помощью диагонализации, не являются естественными. Мейер и Стокмейер (1972), [124] для некоторой естественной проблемы доказали, что она является неподдающейся. Они показали, что проблема определения того, задают ли два регулярных выражения с операцией возведения в квадрат одно и то же множество, требует экспоненциальной памяти (и, следовательно, экспоненциального времени) для ее решения. Регулярное выражение — это формула, построенная из символов А, 0, 1, [У, •, *, (,) согласно следующим правилам. Каждая такая формула задает множество строк из нулей и единиц.
0—-это регулярное выражение, задающее множество {0};
— это регулярное выражение, задающее множество
А — это регулярное выражение, задающее множество, единственным элементом которого является пустая строка.
Если А и В — регулярные выражения, задающие соответственно множества L(A) и L(B), то (A(JB)—регулярное выражение, задающее множество L^A^L^B);
(А • В) — регулярное выражение, задающее множество {ху|хе£(Д) и «еЦБ^,
А* — регулярное выражение, задающее множество, состоящее из пустой строки и всех строк, образованных конкатенацией одной или более строк из L(A).
Мейер и Стокмейер добавили дополнительное правило:
Если А — регулярное выражение, то и А2— регулярное выражение, задающее то же множество, что и (А-А).
Для доказательства того, что проблема эквивалентности двух таких выражений является неподдающейся, Мейер и Стокмейер использовали моделирование. Они построили полиномиальный по времени алгоритм, который по данной машине Тьюринга, входу и экспоненциальной оценке памяти строит ре-
гулярное выражение, представляющее вычисление на данной машине Тьюринга при данном входе. Это выражение таково, что оно задает то же множество, что и (OU 1)*, тогда и только тогда, когда машина Тьюринга не принимает данный вход в пределах данной оценки памяти. Отсюда следует, что проблема эквивалентности регулярных выражений с возведением в квадрат является такой же трудной (с точностью до полиномиального увеличения времени), как любой вопрос типа «да — нет», разрешимый некоторой машиной Тьюринга с экспоненциальной памятью. Так как из результата Хартманиса, Льюиса, Стирнза вытекает, что существует некоторая проблема, которая может быть решена при объеме памяти 2Л, но не может быть решена при объеме памяти ^(п, то проблема эквивалентности регулярных выражений должна требовать экспоненциальной памяти.
В последние пять лет было открыто еще несколько таких результатов. Хант (1973), [90] показал, что если вместо возведения в квадрат взять пересечение множеств, то проблема эквивалентности регулярных выражений все еще требует экспоненциальной памяти. Стокмейер и Мейер (1973), [153] показали, что если вместо возведения в квадрат взять разность множеств, то проблема эквивалентности регулярных выражений имеет неэлементарную оценку памяти. Фишер и Рабин (1974), [51] доказали, что проверка справедливости формулы в арифметике Пресбургера (теории натуральных чисел с единственной операцией «+») требует объема памяти 22СЛпри некоторой положительной константе с, Кардоза, Липтон и Мейер (1976), [23] показали, что проблема равенства слов для абелевых групп требует экспоненциальной памяти. Джазайери, Огден и Раундз (1975), [92] показали, что проверка циркулярности атрибутных грамматик (проблема, появляющаяся в семантике языков программирования) требует экспоненциального времени.
Идея во всех этих доказательствах одна и та же; показывается, как эффективно преобразовать любое вычисление с определенным объемом памяти или временной сложностью в частный случай данной проблемы, и делается ссылка на результаты Хартманиса, Льюиса, Стирнза, [75], чтобы заключить, что существует неподдающаяся проблема с данным объемом памяти или временной сложностью.
Знаменательно, что ряд проблем, кажущихся неподдающи- мися, таких, как задача о максимальном устойчивом множестве, не входят в список известных неподдающихся проблем. Эти проблемы обладают следующим свойством. Если такая проблема сформулирована как вопрос типа «да — нет», и ответ оказывается «да», то существует полиномиальное по длине доказательство этого ответа. Например, допустим, что мы пере-
формулировали задачу о максимальном устойчивом множестве следующим образом: «Содержит ли данный граф G устойчивое множество из к вершин?» Если ответ «да», то можно доказать его, представив устойчивое множество и показав, что все его вершины попарно несмежны.
Чтобы формализовать это понятие доказательства полиномиальной длины, мы введем недетерминированные машины. Недетерминированная машина может в различные моменты вычисления делать выбор, что ей делать дальше. Машина принимает данный вход, если существует некоторая последовательность выборов, которая вынуждает машину в конечном итоге ответить «да». Мы определим время (или объем памяти), которое требуется машине, чтобы принять некоторый вход, как минимальное количество времени (или минимальный объем памяти), используемое принимающим вычислением. Следующий недетерминированный алгоритм решает задачу о максимальном устойчивом множестве за полиномиальное время: сначала выбрать подмножество, содержащее к вершин; затем проверить все пары этих вершин на смежность; принять, если никакие две из этих вершин не смежны. Пусть ^ обозначает класс задач типа «да — нет», разрешимых детерминированно за полиномиальное время, и пусть Л9^ обозначает класс задач типа «да — нет», разрешимых недетерминированно за полиномиальное время. Нас интересует вопрос: «Имеются ли естественные задачи, которые содержатся в Л9^ и не содержатся в №»
Кук (1971), [29] показал, что класс Л9^ содержит некоторые «самые трудные» проблемы, называемые Л^-полными проблемами. Проблема Р является Л^-полной, если она удовлетворяет двум условиям:
Р содержится в Л9^
Если Q содержится в Л9^, то Q сводится к Р за полиномиальное время.
То, что Q сводится к Р за полиномиальное время, означает, что существует (детерминированный) полиномиальный по времени алгоритм, который преобразует произвольный данный частный случай проблемы Q в некоторый частный случай проблемы Р так, что ответом для данного случая проблемы Q является «да» тогда и только тогда, когда ответом на соответствующий случай проблемы Р также является «да». Если Q сводится к Р за полиномиальное время и Р имеет полиномиальный по времени алгоритм, то это же справедливо и для Q. Таким образом, если некоторая Л^-полная проблема имеет полиномиальный по времени алгоритм, то ^ = Л9^.
Основным результатом Кука явилось установление того, что проблема выполнимости для пропозиционального исчисления является Л^-полной. Проблема выполнимости состоит в опре-
делении, является ли данная логическая формула истинной хотя бы для одного приписывания значений «истина» и «ложь» переменным. Легко показать, что эта проблема удовлетворяет условию (3.4). Кук доказал (3.5), дав полиномиальный по времени алгоритм для построения по данной недетерминированной машине Тьюринга, данному входу и данной полиномиальной оценке времени логической формулы, такой, что эта формула выполнима в том и только в том случае, если машина Тьюринга принимает вход в пределах заданного времени.
Если известно, что одна проблема Р является УГ^-пол- ной, то можно доказать, что другая проблема Q является УГ^-полной, показав, что Q содержится в ЛЗ и что Р сводится к Q за полиномиальное время; свойство (3.5) следует тогда из транзитивности полиномиальной сводимости. Карп (1972), [95] использовал эту идею, чтобы представить ряд естественных УГ^-полных проблем. Эта работа была продолжена другими исследователями, и число известных в настоящее время УГ^-полных проблем исчисляется сотнями (см., например, Ивен, Итаи и Шамир (1976), [46]; Гэри, Джонсон и Тарьян (1976), [63]; Карп (1975), [96]; Сахни (1974), [142]; Сети (1975), [149]; Ульман (1973в), [170]). Кроме проблемы выполнимости и задачи о максимальном устойчивом множестве, УГ^-полными являются следующие проблемы.
Проблема подграфа (Кук (1971), [29]). Для данных двух графов Gi и G2 выяснить, изоморфен ли граф Gi какому-нибудь подграфу графа G2. .
Раскраска графов (Карп (1972), [95]). По данному графу выяснить, можно ли его вершины раскрасить к цветами так, чтобы никакие две смежные вершины не имели одного цвета. Эта проблема является УГ^-полной, даже если к = 3 и граф G — плоский (Гэри, Джонсон и Стокмейер (1976), [62]), тогда как из доказательства Аппеля и Хакена гипотезы четырех красок (Аппель и Хакен (1977), [7]) следует, что существует полиномиальный по времени алгоритм для раскраски любого плоского графа четырьмя красками.
Гамильтонов цикл (Карп (1972), [95]). Для данного графа G выяснить, содержит ли он цикл, проходящий через каждую вершину ровно один раз. Эта проблема является частным случаем проблемы коммивояжера (см. разд. 4). Она УГ^-полна, даже если G — плоский граф (Гэри, Джонсон и Тарьян (1976), [63]).
Сумма подмножества1) (Карп (1972), [95]). По данному множеству чисел п\, п^, ..., Пк и сумме s выяснить, имеется ли
*) Эта задача называется также задачей о рюкзаке. — Прим, перев.
некоторое подмножество этих чисел, сумма которых равна в точности s.
Максимальный плоский подграф (Лю и Джелдмахер (1976), [118]). По данному графу G выяснить, содержит ли он плоский подграф с не менее чем к ребрами.
Главная открытая проблема теории сложности — определить, верно ли, что ^ = Л9^. Естественным подходом к этой проблеме было бы попытаться использовать диагонализацию для получения проблемы, которая содержится в Jf^, но не содержится в ^. Однако недавняя работа Бейкера, Гилла и Соловей (1975), [10] наводит на мысль, что диагонализация бессильна разрешить вопрос: ^ = Л9^? Даже без доказательства того, что ^ = №3\ полезно еще добавлять новые проблемы к списку Л^-полных проблем; большое количество времени, потраченное способными людьми бесплодно в поисках полиномиальных по времени алгоритмов для Л^-полных проблем, является сильным свидетельством того, что Л^-полные проблемы являются на самом деле неподдающимися.
МЕТОДЫ ДЛЯ ХОРОШИХ АЛГОРИТМОВ
Хотя многие комбинаторные проблемы выглядят неподдающимися, для многих других проблем имеются хорошие алгоритмы. Небольшое число методов работы с данными образуют основу этих алгоритмов. В этом параграфе исследуются' эти методы, выписанные в табл. 3.
Таблица 3 Методы для хороших алгоритмов
Структуры данных (построенные из массивов и связанных структур). а. Списки
Ь. Неупорядоченные множества с. Упорядоченные множества d. Графы е. Деревья
Рекурсия.
а. Динамическое программирование
Поиск на графах.
В глубину
В ширину
L По кратчайшему пути И. Лексикографический
Методы оптимизации.
Решетка
Увеличение
Методы перестройки данных.
Сжатие пути
Измельчение разбиения с. Лйнейное упорядочение
Преобразование графов.
Декомпозиция (на подграфы)
Стягивание (с помощью гомоморфизма графа)
Структуры данных. Любой алгоритм (хороший или плохой) требует одной или более структур данных для представления элементов проблемы, которую нужно решить, и информации, вычисляемой в процессе решения. Структура данных — это составной объект, составленный из элементов, связанных специальным образом. Со структурой данных связано множество операций для работы с ее элементами. Как только известна хорошая реализация некой структуры данных и операций над ней, можно считать эти операции простейшими при реализации любого алгоритма, который использует эту структуру данных. Эффективность алгоритма в большой степени будет зависеть от реализации лежащей в его основе структуры данных.
Имеются две структуры данных, на которых базируются все остальные структуры: это массивы и связанные структуры. Массив — это набор ячеек памяти, занумерованных последовательно. С массивом связаны две операции: если дан ряд ячеек памяти, то можно или записать некоторое значение в ячейку (уничтожая текущее значение) или вызвать текущее значение из ячейки памяти. Память машины со случайным доступом и большинства цифровых вычислительных машин является массивом. Массивы можно использовать для представления векторов, матриц, тензоров и многомерных массивов (Кнут (1968), [104]).
Связанная структура состоит из набора записей. Каждая запись разделена на некоторое число полей, каждое с определяющим именем. Структура всех записей идентична. Имеются поля двух сортов; поля данных и поля ссылок. Поля данных содержат данные. Поля ссылок содержат указатели записей. На связанных структурах возможны две операции: по данному указателю записи можно либо занести значение в некоторое поле этой записи, либо вызвать текущее значение из некоторого поля этой записи. На рис. 1 показана связанная структура. Тогда как адреса массива являются целыми числами и допускают применение к ним арифметических операций, к указателям в связанной структуре не разрешается применять никаких операций, кроме занесения, вызова и проверки на равенство. Память машины со связанной памятью является связанной структурой, и большинство языков для работы со списками могут считаться работающими на связанных структурах.
Легко реализовать массивы и связанные структуры так, чтобы операции занесения и вызова требовали константного времени. Связанные структуры могут быть реализованы как наборы массивов (см. рис. 1); это делает легкой работу со списками в таких языках, как ФОРТРАН, которые не имеют явных средств работы со списками. Кажется невозможным реализовать массив в виде связанной структуры таким образом,
чтобы операции занесения и вызова занимали константное время, хотя я не знаю доказательства этого факта.
Используя массивы и связанные структуры, можно реализовать многие структуры данных. Я рассмотрю здесь пять классов структур данных: списки, неупорядоченные множества, упорядоченные множества, графы и деревья.
Значение СВязь 1 С бязь 2
Рис. 1. Связанная структура и ее представление с помощью массивов.
(а) —формат записи.„
(б)—связанная структура.
(в) —представление с помощью трех массивов.
Список — это последовательность элементов. Первый элемент списка является его головой; последний элемент — его хвостом. Простые операции над списком включают просмотр списка для вызова его элементов по порядку, добавление элемента в качестве новой головы списка (при этом старая голова становится вторым элементом); добавление элемента в качестве нового хвоста списка, удаление и вызов головы списка и удаление и вызов хвоста списка. Списки, на которых возможны только некоторые из этих операций, имеют специальные названия. Стек — это список, в котором добавления и удаления разрешены только в голове. Очередь — это список, в котором добавления разрешены только в хвосте, а удаления только в голове. Дек (двусторонняя очередь)—это список, в котором добавления и удаления -возможны в любом конце. Дек можно реализовать или как циклический массив (с адресами, вычисляемыми по модулю размера массива), или как структуру с одной связью (если не требуются удаления с хвоста) (рис. 2).
В любом случае все операции, за исключением просмотра, требуют константного времени. Представление в виде массива не использует памяти" для хранения указателей, но требует, чтобы количество ячеек, равное максимальному размеру списка, постоянно было выделено для списка.
Дек123456789Дек123456789442 25 а2 25 аГолова^3 11 | V Хвост-ТЕйМ Гзлоба = 6иЕйЕйЕйХвост-^А 10 | бГолова^3 11 | V Хвост-ТЕйМ Гзлоба = 6иЕйЕйЕйХвост-^А 10 | б
Дек
1
2
3
4
5
6
7
8
9
Дек
1
2
3
4
5
6
7
8
9
4
4
2 2
5 а
2 2
5 а
Голова^3 11 | V Хвост-Т
Ей
М Гзлоба = 6и
Ей
Ей
Ей
Хвост-^А 10 | б
Голова^3 11 | V Хвост-Т
Ей
М Гзлоба = 6и
Ей
Ей
Ей
Хвост-^А 10 | б
Рис. 2. Представление дека, содержащего 3, 2, 1, 5, 6, 4.
—представление массивом.
—связанное представление.
Другие важные операции над списками включают конкатенацию двух списков (при которой голова второго списка становится следующей за хвостом первого списка), вставку элемента перед или после элемента, положение которого в списке известно, и удаление элемента, положение которого в списке известно. Эти операции требуют связанной структуры для эффективной реализации. Структура с одной связью достаточна для конкатенации и вставки элемента после другого элемента. Для вставки элемента перед другим элементом и его удаления нужна структура дважды связанного списка (рис. 3). Другой путь выполнения операции удаления — снабдить каждый элемент ярлыком, которому придавать значение «истина», если элемент должен быть удален. Этот элемент явно не удаляется до следующего прохода по списку.
Наиболее трудными для реализации операциями над списками являются вставка элемента на А-е место в списке, вызов
элемента с к-го места в списке, или удаление элемента с к-го места в списке. Эти операции можно реализовать так, чтобы они выполнялись за время O(logn), где п — размер списка, с использованием АВЛ-деревьев (Кнут (1973), [107]). или 2—3- деревьев (Ахо, Хопкрофт и Ульман (1974), [2]), которые являются более сложными связанными структурами. Недавно Гай-
ЦЦАЦЦАллVVХбост—>| 4 | Ф | *~|Рис. 3. Представ-ление списка 3, 2,1, 5, 6, 4 дваждысвязанной струк-турой.Хбост—>| 4 | Ф | *~|Рис. 3. Представ-ление списка 3, 2,1, 5, 6, 4 дваждысвязанной струк-турой.бас, Мак-Крайт, Пласс и Робертс (1977), [70] нашли способ производить эти операции за время О (log k).
ЦЦ
А
ЦЦ
А
л
л
V
V
Хбост—>| 4 | Ф | *~|
Рис. 3. Представ-ление списка 3, 2,1, 5, 6, 4 дваждысвязанной струк-турой.
Хбост—>| 4 | Ф | *~|
Рис. 3. Представ-ление списка 3, 2,1, 5, 6, 4 дваждысвязанной струк-турой.
Неупорядоченное множество — это совокупность различных элементов без каких-либо отношений. Основными операциями над множествами являются добавление элемента к множеству, удаление элемента из множества и проверка того, принадлежит ли элемент множеству. Один из способов представления множества— представление с помощью списка с одной связь^о. Добавление тогда требует константного времени, но проверка и удаление требуют 0^ времени, где п— размер множества. Напротив, если элементами множества являются значения, которые нужно сравнивать и сортировать, то можно представлять множество с помощью АВЛ-деревьев или 2-3-деревьев так, чтобы все три операции требовали O(logn) времени (Кнут (1973), [Ю7]; Ахо, Хопкрофт и Ульман (1974), [2]).
Другой способ представления множества — представление с помощью двоичного вектора (Ахо, Хопкрофт и Ульман (1974), [2]), который является массивом, содержащим по одной
ячейке памяти для каждого возможного элемента. Для каждой ячейки возможны два значения: истина, указывающее, что множество содержит данный элемент, и ложь, указывающее обратное. Все три операции требуют константного времени при использовании этого представления. Представление с помощью
двоичного вектора возможно, только если число возможных элементов мало.
Если число возможных элементов велико, то можно имитировать поведение бинарного вектора, используя хеш-таблицы, (Кнут (1973), [107]). Хеш-таблица состоит из массива среднего размера и хеш-функции, которая отображает каждый возможный элемент в массив адресов. Если элемент присутствует, то он (или его указатель) хранится по адресу (или рядом), определяемому хеш-функцией. Так как два или более элементов могут отображаться на один и тот же адрес, то необходим не-
который механизм, обеспечивающий разрешение таких коллизий. Хеш-таблицы широко используются в компиляторах, и о них написано много статей (см. Кнут (1973), [107], Моррис (1968), [125]). При использовании хеш-таблиц добавление,удаление и проверка требуют О(п) времени в худшем случае, но только константного времени в среднем.
В тех случаях, когда имеется два или более множеств, полезны дополнительные операции над множествами. Они включают в себя возможность образования множества, которое является объединением, пересечением или разностью двух множеств. Для большинства представлений объединение, пересечение и разность требуют времени, пропорционального сумме размеров множеств. Однако если все множество элементов достаточно мало, так что двоичный вектор можно поместить в небольшое число машинных слов, и в машине имеются операции над двоичными векторами, то объединение, пересечение и разность требуют константного времени.
Упорядоченное множество — это совокупность элементов, каждому из которых сопоставлено численное значение. Двумя важными операциями на упорядоченных множествах являются сортировка элементов в возрастающем порядке и выбор элемента с А-м по величине, считая от наибольшего, значением. Существует множество способов отсортировать п элементов за время О^пХо^п^ (Кнут (1973), [107]); если при работе со значениями используются только операции бинарного сравнения, то для сортировки требуется O(nXogn) времени как в среднем, так и в худшем случаях (Кнут (1973), [107]). Выбор А-го наибольшего элемента требует 0^ времени (Блюм, Флойд, Ри- вест и Тарьян (1973), [16]; Шенхаге, Патерсон и Пиппинджер (1976), [148]).
Очередь с приоритетом — это упорядоченное множество, на котором разрешены следующие операции: добавление элемента к очереди, вызов элемента с наименьшим значением из очереди и удаление элемента, положение которого известно, из очереди. С помощью биномиальных деревьев (Вуиллемин (1977), [175] Браун (1977), [20]), самых левых деревьев (Кнут (1973), [Ю7]) или 2-3-деревьев (Ахо, Хопкрофт и Ульман (1974), [2]) можно реализовать операции над очередью с приоритетом так, чтобы они требовали O(logn) времени, где п— размер очереди. Эти реализации дают также возможность объединить две очереди в большую очередь (с разрушением меньших очередей) за время O(logn).
Если значениями элементов в упорядоченном множестве являются целые числа среднего размера, то операции над упорядоченным множеством могут быть ускорены. Используя цифровую сортировку с к прохождениями, можно отсортировать п
целых чисел в интервале от 1 до тк за время О(кгп + п) (Кнут (1973), [107]). Петер ван Эмде Боас разработал метод для реализации очередей с приоритетом с целыми значениями в интервале от 1 до п, такой, что операции над очередью требуют О (log log п) времени (ван Эмде Боас, Каас и Зайлстра (1975), [174]).
Рис. 4. Представление графа.
(а) —граф.
(б) —матрица смежностей.
(в) —структура смежностей.
Граф — это множество вершин и множество ребер, и каждое ребро — это пара вершин. Один из способов представления графа — представление его с помощью двумерного массива, называемого матрицей смежностей. Значение АЦ,^ равно единице, если (/,/)— ребро графа; в противном случае значение АЦ,^ равно нулю. Другим способом представления графа является представление его с помощью структуры смежностей, которая является массивом списков, по одному на каждую вершину. Список для вершины I содержит вершину / в том и только в том случае, если (/,/)—ребро графа (рис. 4).
Представление с помощью матрицы смежностей экономит пространство, если граф насыщенный (т. с. большинство возможных ребер присутствует в графе); оно также допускает проверку наличия данного ребра за константное время. Однако
Андераа и Розенбург высказали гипотезу (Розенбург (1973), [140]), а Ривест и Вуиллемин (1975), [135] доказали, что проверка любого нетривиального монотонного1) свойства на графе требует Q(n2) проверок матрицы где п— число вершин в графе. При испол! зовании структуры смежностей граф можно просмотреть за 0(n + m) времени, где m— число ребер в графе; поэто му для разреженных графов представление с помощью структуры смежностей предпочтительнее.Дерево — это граф без циклов. Поскольку дерево является графом, то его можно представлять с помощью структуры смежностей. Более компактный способ представления деревьев — выбрать корень в дереве, вычислить предшественника каждой вершины по отношению к этому корню и хранить эту информацию в массиве (рис. 5). Это представление пригодно, если дерево исследуетАндераа и Розенбург высказали гипотезу (Розенбург (1973), [140]), а Ривест и Вуиллемин (1975), [135] доказали, что проверка любого нетривиального монотонного1) свойства на графе требует Q(n2) проверок матрицы где п— число вершин в графе. При испол! зовании структуры смежностей граф можно просмотреть за 0(n + m) времени, где m— число ребер в графе; поэто му для разреженных графов представление с помощью структуры смежностей предпочтительнее.Дерево — это граф без циклов. Поскольку дерево является графом, то его можно представлять с помощью структуры смежностей. Более компактный способ представления деревьев — выбрать корень в дереве, вычислить предшественника каждой вершины по отношению к этому корню и хранить эту информацию в массиве (рис. 5). Это представление пригодно, если дерево исследуетсмежностей в худшем случае, Omen,смежностей в худшем случае, Omen,101112101112211222222227211222222227Рис. 5. Представление дерева.—дерево.— массив отцов при корне 1.Рис. 5. Представление дерева.—дерево.— массив отцов при корне 1.
Андераа и Розенбург высказали гипотезу (Розенбург (1973), [140]), а Ривест и Вуиллемин (1975), [135] доказали, что проверка любого нетривиального монотонного1) свойства на графе требует Q(n2) проверок матрицы где п— число вершин в графе. При испол! зовании структуры смежностей граф можно просмотреть за 0(n + m) времени, где m— число ребер в графе; поэто му для разреженных графов представление с помощью структуры смежностей предпочтительнее.
Дерево — это граф без циклов. Поскольку дерево является графом, то его можно представлять с помощью структуры смежностей. Более компактный способ представления деревьев — выбрать корень в дереве, вычислить предшественника каждой вершины по отношению к этому корню и хранить эту информацию в массиве (рис. 5). Это представление пригодно, если дерево исследует
Андераа и Розенбург высказали гипотезу (Розенбург (1973), [140]), а Ривест и Вуиллемин (1975), [135] доказали, что проверка любого нетривиального монотонного1) свойства на графе требует Q(n2) проверок матрицы где п— число вершин в графе. При испол! зовании структуры смежностей граф можно просмотреть за 0(n + m) времени, где m— число ребер в графе; поэто му для разреженных графов представление с помощью структуры смежностей предпочтительнее.
Дерево — это граф без циклов. Поскольку дерево является графом, то его можно представлять с помощью структуры смежностей. Более компактный способ представления деревьев — выбрать корень в дереве, вычислить предшественника каждой вершины по отношению к этому корню и хранить эту информацию в массиве (рис. 5). Это представление пригодно, если дерево исследует
смежностей в худшем случае, Omen,
смежностей в худшем случае, Omen,
10
11
12
10
11
12
2
1
1
2
2
2
2
2
2
2
2
7
2
1
1
2
2
2
2
2
2
2
2
7
Рис. 5. Представление дерева.
—дерево.
— массив отцов при корне 1.
Рис. 5. Представление дерева.
—дерево.
— массив отцов при корне 1.
ся от листьев к корню, что часто встречается в проблемах, включающих деревья.
Рекурсия. Важным и очень общим алгоритмическим приемом является рекурсия. Рекурсия — это метод решения задачи путем сведения ее к одной или более подзадачам. Подзадачи сводятся дальше тем же способом. В конечном итоге подзадачи становятся достаточно малыми, чтобы их можно было решить непосредственно. Затем решения меньших подзадач объединяются для получения решения большей подзадачи до тех пор, пока нс будет получено решение исходной задачи. В качестве простого примера рекурсивного алгоритма рассмотрим следующее определение n-го числа Фибоначчи:
F (п): = если (л = 1) или (л = 2), то 1, иначе
F(n — 1) + F(n -2)(4Л)
*) Свойство графа нетривиально, если для любого п хотя бы один граф с п вершинами им обладает и хотя бы один граф с п вершинами им не обладает. Свойство графа монотонно, если добавление ребер к графу не может привести к потере этого свойства.
Используя рекурсию, часто можно намного проще представить алгоритмы, чем без рекурсии. Многие языки программирования, включая АЛГОЛ, PL/1 и LISP, допускают рекурсивные процедуры (процедуры, которые обращаются к себе). В языке, нс имеющем таких возможностей, как, например, в ФОРТРАНс, рекурсивный алгоритм можно реализовать, используя стек для хранения порождаемых подзадач (Ахо, Хоп- крофт и Ульман (1974), [2]).
Динамическое программирование. Динамическое программирование (Беллман (1957), [11]) можно рассматривать как специальный вид рекурсии, в котором следят за порождаемыми подзадачами и никогда нс решают одну и ту же задачу дважды. В качестве примера работы, которая может быть сэкономлена на этом пути, рассмотрим вычисление n-го числа Фибоначчи. Рекурсивная процедура, основанная на (4.1), требует для вычисления F(n) времени, пропорционального величине F(n); такая процедура производит F(n+1—/) вычислений F(Z) для каждого / в интервале от 1 до п. Более хороший способ вычисления F(n) — вычислить каждое F(Z) только один раз для каждого значения I. Наиболее эффективный способ реализации алгоритма динамического программирования — завести таблицу решений для всех подзадач и заполнять эту таблицу от наименьшей подзадачи к наибольшей. Иногда в процессе решения можно выбрасывать решения для малых подзадач и заново использовать это пространство для больших подзадач. Используя эту идею, можно вычислить F(n) за время О(п) с двумя ячейками памяти. (Конечно, использование выражения для F(n) в замкнутой форме приводит к еще более быстрому вычислению.)
Динамическое программирование с большим успехом было использовано во многих комбинаторных проблемах, включая задачу о кратчайшем пути (Флойд (1962), [52]), задачу грамматического разбора в контекстно-свободных языках (Янгер (1967), [182], Эрлей (1970), [42]), исправление ошибок в контекстно-свободных языках (Ахо и Петерсон (1972), [3]) и построение оптимальных деревьев бинарного поиска (Кнут (1971) [106], Итаи (1976), [91]).
Поиск на графах. Многие задачи на графах требуют для своего решения систематического метода исследования графа. Поиск — это просмотр ребер графа с использованием следующей процедуры.
Шаг 1 (установка в исходное положение). Пометить все ребра и вершины графа как новые (неисследованные).
Шаг 2 (выбор новой начальной вершины). Если нет новых вершин, остановиться. (Весь граф исследован.) В противном случае выбрать новую вершину и пометить ее как старую (исследованную)'
Шаг 3 (исследование ребра). Если нет новых ребер, выходящих из старых вершин, перейти к шагу 2. (Вся часть графа, достижимая из текущей начальной вершины, исследована.) В противном случае выбрать новое ребро, выходящее из некоторой старой вершины. Пометить это ребро как старое. Если другая вершина ребра новая, то пометить ее как старую. Повторить шаг 3.
Предположим для простоты, что все вершины в графе, на котором нужно осуществить поиск, достижимы из первой начальной вершины, выбранной на шаге 2. Тогда поиск порождает остовное дерево. Корнем этого остовного дерева является начальная вершина. Ребрами этого остовного дерева являются ребра, которые в момент их исследования на шаге 3 ведут в новые вершины. Свойства этого остовного дерева зависят от критериев, используемых для выбора начальной вершины на шаге 2 и исследуемых ребер на шаге 3. Для некоторых простых задач на графах, таких как нахождение связных компонент (Хопкрофт и Тарьян (1973с), [86]), любой порядок исследования подходит. Однако для более трудных задач порядок исследования имеет решающее значение.
При поиске в глубину ребро, выбираемое на шаге 3, — это некоторое ребро, выходящее из последней исследованной вершины, имеющей неисследованные ребра. Если поиск в глубину производится на неориентированном графе, то порожденное им остовное дерево обладает тем свойством, что любое ребро, не принадлежащее дереву, соединяет вершины, зависимые в дереве (Тарьян (1972), [157]) (рис. 6). Если такой поиск производится на ориентированном графе и вершины нумеруются от 1 до п, когда они помечаются как старые, то никакое ребро, нс принадлежащее дереву, нс ведет из одной вершины в другую вершину, которая одновременной независима от первой в дереве и имеет больший номер (Тарьян (1972), [157]) (рис. 7). Поиск в глубину можно реализовать как рекурсивную процедуру или с помощью явного задания стека для хранения старых вершин.
При поиске в ширину ребро, выбираемое на шаге 3, — это некоторое ребро, выходящее из первой исследованной вершины, имеющей неисследованные ребра. Такой поиск разбивает вершины на уровни в зависимости от их расстояния от начальной вершины. В неориентированном графе каждое ребро соединяет вершины в одном и том же уровне или из двух соседних Уровней; в ориентированном графе никакое ребро не ведет из некоторого уровня в уровень выше, чем следующий (рис. 8).
Рис. 6. Поиск в глубину на неориентированном графе.
- граф.
—остовное дерево, порожденное поиском. Вершины занумерованы в порядке просмотра
Рис. 7. Поиск в глубину на ориентированном графе.Рис. 7. Поиск в глубину на ориентированном графе.
Рис. 7. Поиск в глубину на ориентированном графе.
Рис. 7. Поиск в глубину на ориентированном графе.
Рис. 8. Поиск в ширину. Уровень указан в скобках.Рис. 8. Поиск в ширину. Уровень указан в скобках.
Рис. 8. Поиск в ширину. Уровень указан в скобках.
Рис. 8. Поиск в ширину. Уровень указан в скобках.
—граф.
—остовное дерево, порожденное поиском. Вершины занумерованы в порядке просмотра
(а) —поиск на графе из рис. 4.6. (б)—-поиск на графе из рис. 4.7.
Поиск в ширину можно реализовать, используя очередь для хранения старых вершин.
И поиск в глубину, и поиск в ширину, если их реализовать соответствующим образом, используя структуру смежностей для хранения графа, требуют О(м + т) времени для исследования графа с п вершинами и m ребрами. Хотя это наиболее важные методы поиска, иногда полезны другие методы, такие, как топологический поиск (Кнут (1968), [104]), лексикографический поиск (Сети (1975), [149]); (Роуз, Тарьян и Люкер (1976), [139]) и поиск по кратчайшему пути (Дейкстра (1959), [37], Джонсон (1977), [93]).
Методы оптимизации. Большой класс задач требует максимизации некоторой функции, определенной на графе с взвешенными ребрами. Обычно эти задачи можно переформулировать как задачи линейного или целочисленного программирования (Данциг (1963), [35], Немхозер и Гарфинкель (1972), [127]), однако для их решения возможны более хорошие алгоритмы, чем общие методы линейного или целочисленного программирования. Эти алгоритмы используют два метода: жадность и увеличение. Наиболее общая постановка этих методов дастся в теории матроидов (Лолер (1976), [115]), но можно понять и применять эти методы к задачам теории графов без знания матроидов.
Рассмотрим задачу нахождения в множестве со взвешенными элементами максимального по весу подмножества, удовлетворяющего некоторым дополнительным ограничениям. Следующий жадный метод может быть полезен при решении этой задачи. Упорядочить элементы по весу. Просмотреть элементы по порядку, от самого тяжелого до самого легкого, строя подмножество элемент за элементом. При просмотре элемента добавить его к подмножеству, если некоторое расширение полученного подмножества удовлетворяет ограничениям. В противном случае выбросить этот элемент. Полученное в результате подмножество, конечно, удовлетворяет ограничениям. При подходящих условиях это подмножество будет иметь максимальный возможный вес. Одна из задач, к которой этот метод применим— задача о минимальном остовном дереве (Краскал (1956), [112], Прим (1957), [133], Дейкстра (1959), [37], Яо (1975), [180], Черитон и Тарьян (1976), [25]). Даже если жадный метод нс дает оптимальных решений, он может давать решения, близкие к оптимальным (Гэри и Джонсон (1976), [61]), и он обычно легко реализуется и является быстрым.
В тех ситуациях, когда жадный метод не работает, иногда работает метод повторных улучшений. Его идея — начать с некоторого решения, удовлетворяющего ограничениям, и искать
способ увеличить вес решения с помощью локальных изменений. Новое решение улучшается затем таким же способом, и процесс прекращается, когда никакие улучшения уже невозможны. При подходящих условиях такое локально максимальное решение является также глобально максимальным. Даже если нельзя гарантировать максимальность этого решения, метод увеличения может быть хорошей эвристикой; например, Лин (1965), [117] применил его с хорошими результатами к задаче коммивояжера. Задача коммивояжера состоит в нахождении кратчайшего Цикла по всем вершинам графа с расстояниями на ребрах. Задача о гамильтоновом цикле, частный случай задачи коммивояжера, является Л^-полной.
Методы перестройки данных. Некоторые задачи требуют более изощренных методов обработки данных, чем тс, которые возможны в простых структурах данных, рассмотренных выше в этом параграфе. Три прогрессивных метода развиты для трех различных задач, которые требуют динамической перестройки данных. Этими методами являются сжатие пути, измельчение разбиения и линейное упорядочение.
Сжатие пути — это метод решения следующей задачи. Рассмотрим совокупность элементов, разбитых в начале на одноэлементные множества. Пусть каждому элементу сопоставлено некоторое значение. Мы хотим иметь возможность производить следующие операции над этими множествами.
Объединение*, объединить два множества в единое множество, разрушив старые множества.
Перестройка*, модифицировать значения всех элементов в данном множестве подходящим образом.
Вычисление*, выдать значение, сопоставленное данному элементу.
Ситуация такого рода появляется при компиляции предложений COMMON и EQUIVALENCE в ФОРТРАНе (Галлер и Фишер (1964), [60]) и в некоторых других комбинаторных проблемах (Тарьян (1975b), [162]). Обсуждаемая в разд. 5 проблема объединения множеств является простейшей из таких проблем. Галлер и Фишер (1964), [60] предложили алгоритм для этой задачи, использующий в качестве структуры данных деревья. Мак-Илрой и Моррис столкнулись с проблемой объединения множеств при попытках вычисления минимальных остовных деревьев и предложили усовершенствованный метод, использующий сжатие пути на деревьях (Ахо, Хопкрофт и Ульман (1974), [2]). Их метод, который очень прост для программирования, но очень труден для анализа, обобщается на множество других задач (Тарьян (1975b), [162]). Я буду обсуждать этот метод и его замечательное время работы в разд. 5.
Другой задачей, включающей непересекающиеся множества, является следующая задача. Пусть вершины некоторого графа первоначально разбиты на некоторые подмножества. Мы хотим найти самое грубое разбиение, являющееся измельчением данного разбиения, которое сохраняется относительно смежности в том смысле, что если две вершины и и w содержатся в одном и том же подмножестве разбиения, то множества Д(и) = = (х|(и,х)—ребро} и A (w) = {х | (ну, х)—ребро} пересекаются по одинаковому количеству элементов с каждым подмножеством разбиения. Это сохраняющееся относительно смежности разбиение легко вычислить за время О (пт). Хопкрофт (1971), [80] разработал более тонкий алгоритм, который выполняется за время O(m\ogn). Грис (1973), [69] дал прекрасное описание этого алгоритма. Измельчение разбиения полезно при решении задачи минимизации числа состояний для конечных автоматов (Харрисон (1965), [73]) и при проверке изоморфизма графов (Корнейл и Готтлиб (1970), [32]).
Третья задача, требующая хорошего метода перестройки данных, — это задача линейного упорядочения*, по данному множеству с п элементами и семейству подмножеств этих элементов выяснить, можно ли данные элементы выстроить в линию так, чтобы каждое подмножество стояло непрерывно? Эта задача возникает в биохимии (Бензер (1959), [12]) и в археологии (Кендалл (1969), [99]). Бут и Люкер (1976), [17] разработали метод решения этой задачи за время О(пА-иг), где т— общая мощность подмножеств с использованием структуры данных, которую они назвали P-Q-деревом.
Преобразование графов. Имеются два метода решения задач на графах, декомпозиция и стягивание, которые связаны с алгебраическими понятиями подалгебры и гомоморфизма. Один из путей решения задач на графе — разбить граф на несколько подграфов, решить задачу на подграфах и объединить эти решения для получения решения на всем графе. В большинстве случаев, где эта техника полезна, подграфы являются компонентами (максимальными подграфами), удовлетворяющими некоторому отношению связности. Для того чтобы применять эту технику, нужно знать эффективный путь определения компонент. Для многих задач о связности существуют хорошие алгоритмы (Тарьян (1972), [157], Хопкрофт и Тарьян (1973а), [84], Хопкрофт и Тарьян (1973с), [86], Пакаулт (1974), [129], Тарьян (1974а), [158], Тарьян (1975с), [163]).
Другой путь решения некоторых задач на графе — стянуть часть графа в единую вершину, решить задачу на стянутом графе, применяя ту же идею рекурсивно, и по этому решению вычислить решение на исходном графе. Операция стягивания
соответствует взятию гомоморфного образа графа. Обычно в графе стягивается цикл или объединение циклов.
-5. ДЕСЯТЬ ПОДДАЮЩИХСЯ ЗАДАЧ
Имеются сотни комбинаторных задач, для которых известны хорошие алгоритмы. В этом разделе рассматриваются десять таких задач. Я выбрал эти задачи на основании их важности, широты методов, которые для них требуются, и моего знаком^ ства с ними. Это нс исчерпывающий, но представительный список задач с хорошими алгоритмами. Список этих задач и методов, используемых в хороших алгоритмах для них, приведен в табл. 4. На рис. 9 показаны улучшения времени решения, достигнутые недавно для этих задач.
- Таблица 4
Десять поддающихся задач и методы их решения
Дискретное преобразование Фурье (ДПФ): рекурсия
Умножение матриц (УМ): рекурсия
Линейные уравнения на плоском графе (ЛУГ): рекурсия, декомпозиция по связности, поиск в ширину
Глобальный анализ переходов (ГАП): декомпозиция по связности, сжатие путей, поиск в глубину
Нахождение образца на строках (НО): структуры данных
Сильные компоненты (СК): поиск в глубину
Проверка планарности (ПП): поиск в глубину
Максимальный поток в сети (МПС): увеличение, поиск в ширину
Паросочетание на графе (ПГ): увеличение, поиск в ширину, стягивание циклов 10. Объединение множеств (ОМ):
сжатие путей
Дискретное преобразование Фурье. Если дан n-мерный вектор (09, 0ь •••, 0n-i), то задача вычисления дискретного npe-z образования Фурье для него состоит в вычислении вектора п-1
(йо, 61, •••, 6л-1), задаваемого равенствами bfe=^aiWlk» где 1=0
w®, w1, ..., wn~x— (комплексные) корни n-й степени из еди-/ ницы. Эта задача возникает в обработке сигналов. Алгоритм для дискретного преобразования Фурье полезен как подпрограмма в различных арифметических и алгебраических задачах, включая вычисление и интерполяцию полиномов и умножение целых чисел и полиномов (Кнут (1969), [105], Ахо, Хопкрофт и Ульман (1974), [2], Бородин и Мунро (1975), [18]).
Экспонента п3 пт1 п4 п2т п3 пт пА/2т log п п2 п3'2 пЛо^п п log п + т п log п т log log п т log*п та (т.п) т + г п
ДПФ YM /М ГАП НО СК ПЛ М.ПС. ПГ. ОМ
Рис. 9. Последние улучшения для сложности
п = размер (число вершин в задачах о графах).
т = второй параметр (число ребер в задачах о графах).
Можно непосредственно вычислить дискретное преобразование Фурье за время О^У Кули и Тыоки (1965), [31] популяризовали метод с временем работы O(nlogn), называемый быстрым преобразованием Фурье. Они нс были первыми, кто использовал этот метод, который восходит по меньшей мере к Рунге и Кёнигу (1924), [141]. Быстрое преобразование Фурье использует рекурсию для сокращения количества вычислений. Недавно Виноград (1975), [177], (1976), [178] предложил метод вычисления дискретного преобразования Фурье с использованием только О^п) умножений. Этот метод, возможно, лучше на практике, чем быстрое преобразование Фурье, хотя Виноград нс проанализировал общее время работы его алгоритма.
Умножение матриц. Задача умножения матриц состоит в вычислении по двум данным матрицам порядка пХп их матричного произведения. Изучаемый в высшей школе стандартный метод умножения матриц требует времени О(п3). Штрассен (1969), [154] разработал способ умножения двух матриц порядка 2X2 с использованием только семи умножений и использовал его в рекурсивном алгоритме умножения матриц, требующем только О (n10g27) времени. Этот неожиданный результат явился стимулом для многочисленных исследований по сложности алгебраических задач. Никто не знает, улучшаем ли алгоритм Штрассена1). Алгоритм Штрассена был использован для вычисления транзитивных замыканий графов (Мунро (1971), [126], Фишер и Мейер (1971), [50]) и разбора контекстно-свободного языка (Валиант (1975а), [171]) за время
С умножением матриц связана задача о кратчайших путях. Задача о кратчайших путях с единственным источником состоит в нахождении в данном ориентированном графе с положительными расстояниями по ребрам минимальных расстояний от данной вершины до всех остальных вершин. Задача о кратчайших путях для всех пар вершин состоит в нахождении минимальных расстояний между всеми парами вершин. Дейкстра (1959), [37] разработал алгоритм для задачи с единственным источником, который требует О^п^ или O(mlogn) времени в зависимости от реализации, где п— число вершин и пт — число ребер в графе (Джонсон (1977), [93]). Флойд (1962), [52] дал способ решения задачи для всех пар за время О^п^У Фредман (1976),
*) В 1978—1979 гг. появилось сразу несколько работ, улучшающих результат Штрассена. Последний результат, полученный А. Шёнхаге, имеет вид: для любого е > 0 существует алгоритм умножения матриц порядка NyN за время O(NT^), где т = 3 In 17/1п26 < 2,609 (отметим, что log2 7 « 2,807). См. Schonhage A., Partial and total matrix multiplication, Mathematisches Insti- tut der Universitat Tubingen, June 1979, Preprint. — Прим, nepee.
[57] показал, что задачу для всех пар можно решить, используя О(п2’5) сравнений и только O(n3(loglogn/logn)1/3) времени в целом.
Линейные уравнения на плоском графе. Пусть А—^пХ^У матрица, b— (л X 1)-вектор констант, х — (nX 1)-вектор переменных, и мы хотим решить систему уравнений Ах = Ь. Стандартным методом для этого является алгоритм исключения Гаусса (Форсайт и Моулер (1967), [5 5], Тьюарсон (1973), [167]). Сначала матрица А представляется в виде произведения двух матриц А = LU, где L — нижняя треугольная матрица (т. с. L нс содержит ненулевых элементов выше диагонали) и U — верхняя треугольная матрица (т. с. U нс содержит ненулевых элементов ниже диагонали). После этого система Ах = b решается в два этапа, с помощью решения системы Ly = 6, называемого передним решением, и решения системы Ux = у, называемого задним решением. Ввиду того что L и U имеют специальную форму, переднее и заднее решения очень эффективны; наиболее медленной частью алгоритма исключения Гаусса является первый шаг, разложение А на LU.
Разложение А производится с помощью операций над строками. Операция над строками состоит в прибавлении одной строки матрицы Д, умноженной на некоторое число, к другой строке матрицы Д. При подходящем выборе множителя модифицированная строка будет иметь нуль в позиции, в которой до этого стоял ненулевой элемент. Путем систематического применения таких операций над строками можно преобразовать исходную матрицу А в верхнюю треугольную матрицу U; произведенные операции над строками определяют нижнюю треугольную матрицу L такую, что LU = Д.
Если матрица А первоначально является плотной (в основном ненулевой), то ее разложение на LU требует О (я2) памяти и О(п3) времени, и переднее, и заднее решения требуют О(п2) времени. Однако во многих больших системах уравнений матрица А является разреженной. Для разреженной матрицы время и объем памяти, требуемые алгоритмом исключения Гаусса, сложным образом зависят от распределения нулевых и ненулевых элементов в матрице. В частности, операция над строками может вводить новые ненулевые элементы (называемые пополнениями) на позиции, первоначально равные нулю. Желательно перестроить матрицу А путем перестановок строк и столбцов так, чтобы уменьшить количество пополнений и время работы алгоритма исключения Гаусса.
Для этой цели полезно представлять распределение нулевых и ненулевых элементов в Д с помощью графа G. Этот граф содержит по одной вершине для каждой строки и столбца мат-
рицы Д и по одному ребру (/, /) для каждого ненулевого (/, /)-го элемента в А. Если матрица А симметрична, то G— неориентированный граф; если А несимметрична, то G — ориентированный граф. Граф G представляет А и все матрицы, получаемые одновременной перестановкой строк и столбцов матрицы Д. Изучение свойств графа G может дать возможность
Рис. 10. Решетчатый граф размером 9X9. Вершины в кресте делят решетку на четыре решетки размером 4X4.
найти переупорядоченный вариант матрицы А такой, что алгоритм исключения Гаусса будет эффективным. (При этом необходимо знать, что перестановки нс нарушают численной устойчивости процесса исключения. Я буду игнорировать здесь эту проблему; см. Форсайт и Моулср (1967), [5 5], Тьюарсон (1973), [167].)
Одним из первых, кто показал полезность такого подхода, был Партер (1961), [130]. Эта идея получила широкое разви- гис. Основные результаты, касающиеся связи между алгоритмом исключения Гаусса и теорией графов, см. у Роуза (1970), [136], Харари (1971), [72]; Роуза (1973), [137]; Роуза, Тарья- на и Люксра (1976), [139]; Даффа (1976), [41]; Роуза и Гарьяна (1977), [138].
Как пример улучшения, возможного при использовании разреженности, рассмотрим граф на рис. 10. Такой решетчатый
граф размером k X к возникает при численном решении дифференциальных уравнений. Обычный алгоритм исключения Гаусса для плотных матриц требует О (и2) памяти и О^п^ времени на такой матрице, если п = к2. Схема разреженного исключения с ленточной шириной уменьшает память до О(м3/2) и время до О(п2) (Катхил и Мак-Ки (1969), [33], Тьюарсон (1973), [167]). Джордж (1973), [64] обнаружил еще лучший метод, названный гнездовым разрезанием, который требует O^nlogn) памяти и О(м3/2) времени. Хоффман, Мартин и Роуз (1973), [79] показали, что с точностью до постоянного множителя гнездовое разрезание требует наименьшего числа пополнений и времени работы среди всех схем упорядочения для алгоритма исключения Гаусса на решетчатом графе размером кХк.
Гнездовое разрезание — это рекурсивный метод, использующий тот факт, что решетчатый граф размером (2^+1)Х Х(2^+1) состоит из четырех решетчатых графов размером кХк и границы между ними*с 4^+1 вершинами (рис. 10). Многие разреженные матрицы, появляющиеся в практике, нс имеют такой хорошей структуры, и может возникнуть вопрос, имеет ли гнездовое разрезание какое-либо естественное обобщение. Недавно Липтон, Роуз и Тарьян (Тарьян (1976b), [165]) нашли путь обобщения гнездового разрезания на произвольные плоские графы так, что объем памяти остается еще O^nlogn) и время работы остается еще О(м3/2). Такие графы возникают в двумерных задачах о конечных элементах (Мартин и Кэри (1973), [120]).
Глобальный анализ переходов. Системы линейных уравнений возникают в некоторых вопросах, отличных от линейной алгебры. Например, задачу о кратчайшем пути можно сформулировать в виде системы уравнений с минимизацией вместо сложения и сложением вместо умножения (Бэкхауз и Карре (1975), [9]). Другим примером, где появляются системы линейных уравнений, является глобальный анализ переходов в машинных программах. Допустим, например, что мы хотим модифицировать некоторую машинную программу так, чтобы она нс вычисляла заново никакое выражение до тех пор, пока не изменится хотя бы одна переменная в выражении.
Первый шаг в анализе — представить программу с помощью графа переходов. Каждая вершина в графе переходов представляет основной блок программы (множество предложений программы, имеющих единственную точку входа и единственную точку выхода). Каждое ребро в графе переходов представляет передачу управления из одного основного блока в другой. Задача определения для каждого основного блока множества годных выражений (тех, которые не нужно вычислять заново) мо-
жет быть сформулирована как система линейных уравнений с переменными, взятыми по одной для каждого основного блока. Переменная является бинарным вектором, в котором каждому выражению программы соответствует один бинарный символ, и в системе уравнений вместо сложения и умножения стоят соответствующие операции над бинарными векторами. Структура разреженности матрицы соответствует графу переходов, представляющему программу. Дальнейшие детали этого соответствия см. у Килдалла (1973), [101], Шэфера (1973), [145] и Аллена и Кока (1976), [6].
Для вычисления годных выражений можно использовать стандартный метод исключения Гаусса, однако часто полезно воспользоваться разреженностью. Графы переходов многих машинных программ обладают специальным свойством, называемым сводимостью, которое по существу означает, что каждый цикл имеет единственную точку входа из начального блока программы. Аллен (1970), [5] и Кок (1970), [28] первыми сформулировали это понятие сводимости, дали алгоритм с временем О^ппг^ для проверки сводимости и использовали эту проверку в алгоритме с временем О (пт) для глобального анализа переходов сводимых графов. Хопкрофт и Ульман (1972), [88] нашли метод проверки сводимости за время О(m log и), и Ульман (1973), [169], объединив этот метод с умелым использованием 2-3-деревьев, дал метод глобального анализа переходов за время O(mlogn). Кеннеди (1975), [100] нашел несколько отличный метод анализа переходов, который, согласно результату Ахо и Ульмана (1975), [4], требует О (m log и) времени. Грэхем и Вегмен (1976), [68] нашли, как использовать сжатие пути для получения еще одного алгоритма с временем O(mlogn). Тарьян (1974с), [160] дал алгоритм проверки сводимости за время 0(ma(m,/г)) и позднее улучшил алгоритм Грэхема — Вегмана так, чтобы он работал 0(ma(m, и)) времени (Тарьян (1975с), [163]). Здесь а(т, п) — функция, обратная к функции Аккермана, которая будет определена ниже.
Нахождение образца на строках. Пусть х и у — две строки, составленные из букв некоторого конечного алфавита, и пусть мы хотим определить, содержится ли х как непрерывная подстрока в строке у. Если пт— длина строки х и п — длина строки у, то непосредственный алгоритм решает эту задачу за время О^пптУ Кнут, Моррис и Пратт (1977), [108] разработали алгоритм для нахождения образца за время О^п + т,). Их алгоритм обрабатывает образец х, создавая структуру данных, представляющую программу распознавания этого образца. Затем алгоритм просматривает строку у букву за буквой в соответствии с шагами построенной программы. Бойер и Мур
(1975), [19] предложили еще лучший алгоритм, который хотя и имеет время работы в худшем случае О(л + т) (Кнут, Моррис и Пратт (1977), [108]), в среднем требует только O(^(logqm)//n) времени, где q — мощность алфавита.
Обобщением задачи нахождения образца является задача нахождения наибольшей общей непрерывной подстроки двух строк х и у. Похоже, что упомянутые выше алгоритмы нахождения образца неприменимы к этой задаче. Карп, Миллер и Розенберг (1972), [97] описали алгоритм для нахождения наибольшей общей подстроки с временем О (m + п) log(m — п). Вайнер (1973), [176] нашел алгоритм, использующий новым способом деревья, который решает эту задачу за время О(п + + т). Мак-Крайт (1976), [121] дал упрощение и простое описание этого алгоритма.
Сильные компоненты. Задача о сильных компонентах состоит в определении сильно связных компонент данного ориентированного графа с п вершинами и m ребрами. Эта задача возникает при нахождении неприводимых блоков несимметричной матрицы (Форсайт и Моулер (1967), [55]), при нахождении эргодических подцепей и неустойчивых состояний цепи Маркова (Фокс и Лэнди (1968), [56]) и при нахождении множеств транзитивности для множества перестановок (Мак-Кей и Рид- женер (1974), [123]). Сарджент и Вестерберг (1964), [143] дали алгоритм с временем О^п?У Мунро (1971), [126] описал улучшенный алгоритм с временем работы О (л log л + ^)- Тарджен (1972), [157] привел для решения этой задачи алгоритм с временем 0(n + m), который использует поиск в глубину и несколько простых структур данных.
Проверка планарности. Пусть G— некоторый граф. Задача проверки планарности состоит в определении того, можно ли нарисовать граф G на плоскости так, чтобы никакие два ребра нс пересекались. Куратовский (1930), [114] дал элегантную математическую характеризацию планарных графов, показав, что граф планарен тогда и только тогда, когда он нс содержит подграфов, гомеоморфных графам, показанным на рис. И1). К сожалению, похоже, что критерий Куратовского бесполезен для практической проверки планарности. Аусландер и Партер (1961), [8] предложили алгоритм, который проверяет планарность путем попытки построения планарного представления для данного графа. Они не дали оценок времени работы для этого алгоритма, и их изложение содержит ошибку: предложенный
Л. С. Понтрягин доказал (но не опубликовал) этот критерий планар ности еще в 1927 г. — Прим, перев.
алгоритм может работать бесконечно. Голдстейн (1963), [67] корректно сформулировал этот алгоритм, а Шири (1969), [151] дал его реализацию с временем O^Y Хопкрофт и Тарьян (1972), [83] объединили просмотр в глубину и подходящие структуры данных в реализации с временем О (и log и), которая позднее была упрощена и улучшена до времени О (п) (Хопкрофт и Тарьян (1974), [87]).
Лсмпел, Ивен и Цедербаум (1967), [116] представили другой хороший алгоритм без явной оценки времени. Их алгоритм можно легко реализовать так, чтобы он работал О (и2) времени.
Рис. 11. Подграфы Куратовского.
(а)-К5.
(б)-К3,3.
Бут и Люкер (1976), [17] показали, как использовать их структуру данных в виде P-Q-дереваг для реализации этого алгоритма с временем O^nY
Максимальный поток в сети. Пусть G — ориентированный граф с двумя выделенными вершинами: источником s и стоком 1. Для каждого ребра е в графе G пусть с^ означает пропускную способность ребра е, которая является неотрицательным действительным числом. Поток f на G — это функция, сопоставляющая каждому ребру неотрицательное число f(e) так, что для любой вершины и, кроме s и /, суммарный поток по ребрам, входящим в и, равен суммарному потоку, выходящему из и. Величина потока — это суммарный поток, выходящий из s (равный суммарному потоку, входящему в /). Задача о максимальном потоке в сети состоит в определении потока /(е) максимальной величины, удовлетворяющего неравенствам f(e)^ с^ для всех ребер е.
В классической работе Форда и Фалкерсона (1962), [54] построен элегантный алгоритм, который увеличивает поток вдоль путей. К сожалению, в худшем случае их алгоритм нс сходится, хотя на практике он работает исключительно хорошо. Эдмондс и Карп (1972), [44], используя поиск в ширину для
выбора увеличивающих путей, построили алгоритм с временем работы О (пт2), являющийся вариацией алгоритма Форда — Фалкерсона. Независимо от них Е. А. Диниц (1970), [39] использовал поиск в ширину плюс улучшенные методы перестройки данных для получения оценки времени 0(n2m). Лучший из найденных к настоящему времени алгоритмов для этой задачи принадлежит А. В. Карзанову (1974), [98], который улучшил алгоритм Диница и получил оценку времени О(п3).
Паросочетание на графе. Пусть G— неориентированный граф. Задача о паросочетании на графе G состоит в нахождении максимального числа ребер в G, никакие два из которых не имеют общих вершин. Такое множество ребер называется максимальным паросочетанием. Важным частным случаем этой задачи является ее ограничение на двудольные графы. Граф называется двудольным, если его вершины можно разбить на два множества так, чтобы никакое ребро нс соединяло вершины из одного и того же множества.
Задачу о паросочетании на двудольном графе можно преобразовать посредством алгоритма с линейным временем в задачу о потоке в сети, в которой пропускные способности всех ребер равны 1 (Форд и Фалксрсон (1962), [54]); для такой задачи алгоритм Форда — Фалкерсона имеет оценку времени О (пт). Кун (1955), [ИЗ] использовал результат Эгсрвари для получения по существу того же алгоритма, называемого венгерским методом. Хопкрофт и Карп (1973), [81] используя поиск в ширину и улучшенные методы перестройки данных, получили оценку времени 0(n1/2m). Их алгоритм по существу такой же, как алгоритм Диница (Ивсн и Тарьян (1975), [48]).
Бсрж (1957), [13] и Норман и Рабин (1959), [128] доказали, что метод увеличивающих путей может решать задачу о максимальном паросочетании на недвудольных графах, хотя из их результатов нс вытекало хорошего алгоритма. Эдмондс (1965), [43] использовал стягивание циклов плюс идею увеличивающих путей для получения полиномиального алгоритма. Он получил оценку времени О(п4), хотя не трудно реализовать алгоритм Эдмондса так, чтобы он работал 0(n2m) времени. Лоулер (1976), [115] и Габов (1976), [58] независимо друг от друга дали алгоритмы с временем О (пт). Ивен и Карйв (1975), [47] объединили вместе идеи Хопкрофта и Карпа и структуры данных Габова и получили алгоритм с временем O(n1/2mlogn).
Объединение множеств. Пусть Sb S^ ..., Sn — я непересе- кающихся множеств, состоящих каждое из единственного элемента. Задача объединения непересекающихся множеств со-
стоит в выполнении последовательности операций на этих множествах следующих двух типов:
найти (х): определить имя множества, содержащего элемент х;
объединить ^А,Ву. добавить все элементы множества В к множеству А (разрушая множество В). Операции должны выполняться по очереди, т. с. выполнение каждой команды должно быть завершено прежде, чем будет известна следующая команда. Предположим для удобства, что последовательность операций содержит в точности п— 1 операций объединения (так
- fAW
Рис. 12. Представление множества А = {a, b, с, d, е, f, g} с помощью дерева.В скобках размер множества.
что после последнего объединения все элементы будут в одном множестве) и m ^ п перемешанных с ними операций нахождения (если m < п, то некоторые элементы никогда не ищутся).
Галлер и Фишер (1964), [60] предложили алгоритм для этой задачи, в котором каждое множество представляется в виде дерева. Каждая вершина дерева представляет один элемент. Корень дерева содержит имя множества, и каждая вершина дерева имеет указатель своего отца в дереве (рис. 12). Операция нахождения на элементе х выполняется следующим образом: начиная из вершины, представляющей х, мы следуем по указателям отцов, пока нс достигнем корня дерева; этот корень содержит имя множества. Для объединения множеств А и В корень дерева А делается отцом кррня дерева В.
Этот алгоритм требует времени О (пт?) в худшем случае, по-* скольку неудачная последовательность объединений может построить дерево, состоящее из единственного длинного пути. Галлер и Фишер модифицировали процедуру объединения следующим образом: если В содержит больше элементов, чем А, тогда корень дерева В делается отцом корня дерева А, и имя А переносится в старый корень дерева В (рис. 13). .Эта эвристика взвешенного объединения значительно улучшает алгоритм; Галлер и Фишер доказали оценку для времени О (m log и).
Мак-Илрой и Моррис (Ахо, Хопкрофт и Ульман (1974), [2]) модифицировали процедуру нахождения, добавив эвристику, называемую сжатием пути*, после выполнения операции нахожде-
объединение {A. BYобъединение {A. BYаа
объединение {A. BY
объединение {A. BY
а
а
Рис 13. Реализация объединения.
(а)— основной метод.
(б)—эвристика взвешивания.
Рис. 14. Реализация нахождения со сжатием пути.
ния на элементе х все вершины на пути из х к корню делаются детьми корня (рис. 14). Это увеличивает время нахождения в константу раз, но может дать выигрыш во времени при последующих нахождениях.
Алгоритм объединения множеств со сжатием пути очень легко программировать, но очень трудно анализировать. Фишер (1972), [49] доказал верхнюю оценку 0^тпх^ и нижнюю оценку Q(mlogn) для времени работы в худшем случае для алгоритма со сжатием путей, но без взвешенного объединения. Патерсон (1972), [131] улучшил верхнюю границу до O(mlogn) и таким образом определил время работы с точностью до постоянного множителя для случая, когда т есть О^пУ При использовании и сжатия путей, и взвешенного объединения алгоритм еще труднее анализировать. Фишер (1972), [49] доказал верхнюю оценку времени работы О (m log log п). Хопкрофт и Ульман (1973), [89] улучшили верхнюю оценку до О(mlog*и), где
раз
log*n = min {/1 log log ... logn^l}.
Тарджен (1975a), [161] улучшил верхнюю границу до О^та^т.п^У где а(т, и)—функция, обратная к функции Аккермана (Аккерман (1928), [1]), определяемая следующим образом.
Пусть функция А (/, /) определяется при / ^ 0, / ^ 0 равенствами
А (Z, 0) = 0,
А(0, /) = 2/ при /^ 1,
АЦ, 1) = АЦ— 1, 2)при /^ 1,
A (I, П = АЦ— 1, A (i, j — 1)) при Z ^ 1, j ^ 2. Положим
а ^т, ri) = min [Z ^ 1 | A (i, \JlmlnS) > log2n}\
Оценка 0(ma(m, и)) достаточно сложная для такого простого алгоритма. Естественно, можно спросить, является ли она неулучшаемой. Тарьян (1975а), [161] показал, что имеется пример худшего случая для задачи объединения множеств, который требует Q(ma(m, и)) времени при решении с помощью алгоритма сжатия путей. В действительности любая машина со связанной памятью требует Q(ma(m, п)) времени в худшем случае для решения задачи объединения множеств (Тарьян (1977), [166]). Таким образом, функция Аккермана существенна в этой задаче.
ДАЛЬНЕЙШИЕ НАПРАВЛЕНИЯ
Область комбинаторных алгоритмов слишком обширна, чтобы ее можно было охватить в одной статье или даже в одной книге. Я попытался отмстить некоторые из основных результатов и лежащих в их основе идей в этой области, но, конечно, многие важные результаты я должен был опустить. Хотя выполнено много работ по комбинаторным алгоритмам, многое остается несделанным. В этом заключительном разделе мне хочется предложить пять областей для дальнейших исследований, в которых относительно мало сделано, но в которых потенциально можно получить очень много.
Верно ли, что = Л9^? Ответ на этот вопрос явился бы решающим продвижением в теории сложности. Хотя много людей пыталось решить эту проблему, очень мало удалось сде- лась. Похоже, что необходима некоторая основная новая идея; доводы Бейкера, Гилла и Соловей (1975), [10] наводят на мысль, что диагонализация, стандартный метод доказательства трудности задач, нс является достаточно мощной для того, чтобы показать, что ^ #= Л9^. Возможно даже, что проблема ^ = Л9^? не может быть решена в рамках формальной теории множеств (Хартманне и Хопкрофт (1976), [74]).
Более широко, мы сейчас почти ничего не знаем об относительной силе детерминированных и недетерминированных алгоритмов и о связи между временем и объемом памяти как мерами сложности. Любые результаты в этой области были бы важны. Недавно Хопкрофт, Пауль и Валиант (1975), [82] сумели показать, что любое вычисление, требующее времени Цп) на многоленточной машине Тьюринга, может быть выполнено в памяти объемом /(л)/log/(л). Таким образом, по крайней мере для многоленточных машин Тьюринга, память более ценный ресурс, чем время. Это единственный известный такой результат. *
Один из подходов к вопросу ^ = Л9^?— рассматривать для конкретной Л9^9-пол ной задачи ограниченный класс алгоритмов и показывать, что любой алгоритм из этого ограниченного класса требует более чем полиномиального времени. Результаты такого рода получены для задачи о выполнимости (Галил (1975), [59]), задачи о максимальном устойчивом множестве (Хватал (1976), [27]) и задачи о раскраске графа (Мак-Диар- мид (1976),[122]).
Другой подход—рассматривать модели вычислений, отличные от машин Тьюринга. Одна из возможностей — изучать размеры булевских схем для вычисления булевских функций. Результаты в этой области см. у Севиджа (1976), [144]. Род-
ственной моделью является игра в камешки, использованная Хопкрофтом, Паулем и Валиантом [82] для получения их результата о сравнении времени и объема памяти. Изучение булевских схем и игры в камни быстро приводит к нерешенным комбинаторным вопросам (Валиант (1975в), [172], (1976), [173]).
Анализ среднего случая. Хотя в большинстве работ по комбинаторным алгоритмам вне областей сортировки и поиска анализируется худший случай, потенциально важным и полезным является анализ среднего случая. Результаты Эрдёша и Реньи (1960), [45] и других авторов по случайным графам явились отправной точкой для анализа среднего случая в алгоритмах на графах. Спира (1973), [152] разработал алгоритм со средним временем О (и2 log и) для задачи о кратчайших путях между всеми парами вершин, который Блониарц, Фишер и Мейер (1976), [15] модифицировали для вычисления транзитивных замыканий со средним временем O(^2logn). Шнорр (1977), [146] разработал алгоритм для транзитивного замыкания со средним временем О^п log п + #0- Яо (1976), [181], Дойл и Ривест (1976), [40] и Кнут и Шёнхаге (1977), [109] проанализировали поведение алгоритмов объединения множеств для различных распределений вероятности. В этой области необходимо сделать много больше.
Гилл (1974), [65] и Рабин (1976), [134] предложили другого сорта модель среднего случая для сложности, в которой алгоритм может использовать случайный выбор. Для такого алгоритма можно говорить, чдо алгоритм работает быстро независимо от распределения входов, так как среднее значение берется нс по входам, а по возможным вычислениям алгоритма на данном входе. Алгоритмы, хорошие в этом смысле, существуют для проверки простоты чисел (Штрасссн и Соловей (1977), [156], Рабин (1976), [134]), нахождения ближайших точек (Рабин (1976), [134]) и хеширования (Картер и Вегман (1977), [24]).
Константные множители и сравнение алгоритмов. Выбор алгоритма на практике может зависеть нс только от асимптотического времени работы. Простой алгоритм может быть лучше для задач среднего размера, чем более сложный алгоритм с более быстрым асимптотическим временем работы, но с большим константным множителем. Если два алгоритма имеют одинаковое асимптотическое время работы, тогда константный множитель может определять выбор между ними. Более тонкий анализ для определения константных множителей и сравнения алгоритмов был бы полезным вкладом в практическое програм-1
мирование. Такой анализ для многих задач имеется в книге Кнута (Кнут (1968), [104], (1969), [105], (1973), [107]). Более свежим примером такого исследования является работа Брауна (1977), [20], в которой сравниваются реализации очередей с приоритетом и показывается, что представление в виде биномиальных деревьев является наилучшим в большинстве случаев.
Нижние границы низкого порядка. Сколь мало известно о границе между поддающимися и неподдающимися проблемами, столь же мало известно и о том, можно ли улучшить существующие хорошие алгоритмы. Рис. 9 подсказывает некоторые дразнящие вопросы. Можно ли две матрицы перемножить за время, меньшее, чем О (и2’81) !)? Можно ли дискретное преобразование Фурье вычислить за время, меньшее, чем О (и log п)? Можно ли максимальный поток в сети найти за время, меньшее, чем О (и3)? Нелинейные нижние границы существуют только для нескольких задач, таких, как сортировка (Кнут (1973), [107]), объединение непересекающихся множеств (Тарьян (1977), [166]) и вычисление симметрических функций (Штрас- сен (1973), [155]).
Общие свойства структур данных и основные методы. Широта методов и алгоритмов, описанных в разд. 4 и 5, приводит к основному вопросу: как, столкнувшись с некоторой задачей, построить хороший алгоритм для нее? Имеется ли «исчисление структур данных», с помощью которого можно выбрать подходящее представление данных и метод для решения данной задачи? Что делает одну структуру данных лучшей по сравнению с другой для некоторого приложения? Известные результаты призывают лежащую в их основе теорию объяснить их. Это, возможно, одна из проблем, требующих наибольшего внимания среди проблем, с которыми сталкиваются исследователи в алгоритмической сложности.
Приложение: терминология (см. также Берж (1962), [14], Басакер и Саати (1965), [21] и Харари (1969), [71]). Граф G — (V,E)— это упорядоченная пара, состоящая из множества V вершин и множества Е ребер. Ребра являются или упорядоченными парами (v, w) различных вершин (тогда граф ориентированный^, или неупорядоченными парами различных вершин, также представляемыми в виде (v, w) (тогда граф неориентированный). Если (и, w)— ребро, то и и w— его концы и они являются смежными. Ребро ^v,w) ведет из и в w. (Вне-
}) См. сноску на стр. 90. — Прим, перев.
ориентированном случае это ребро ведет также из w в и.) Граф G' = (V', Е') является подграфом графа G, если V'^V и Е' г гЕ. Подграф G' остовный, если V'= V. Граф G' = (V', Е') является гомоморфным образом графа G, если существует отображение множества V на V' такое, что (х, у)^Е' в том и только в том случае, если х = f{v) и у = f(w) для некоторого ребра (v^^^E. Графы G и G' изоморфны, если это отображение является взаимно-однозначным. Граф G'= (V', Е')— обобщенный подграф графа G, если G'— подграф некоторого гомоморфного образа графа G.
Путь из vi в vn в графе G— это последовательность ребер (vi, v2), (vn-i, vn). Говорят, что этот путь содержит ребра (vi, v2), (vn-ь Vn) и вершины иь ..., Vn и не содержит все остальные ребра и вершины. Пусть называется простым, если вершины vi, ..., vn различны, исключая, возможно, щ и vn; этот путь называется циклом, если vi^= vn. Транзитивное замыкание графа G=(V, Е)— это граф G+ = (V, Е+), такой, что ^и/^еЕ^ в том и только в том случае, если существует путь из v в w в графе G.
Неориентированный граф называется связным, если из любой вершины в любую другую имеется путь. Ориентированный граф называется сильно связным, если из любой вершины в любую другую имеется путь. Максимальные связные (сильно связные) подграфы некоторого графа называются его связными компонентами (сильно связными компонентами). Граф называется планарным, если его можно нарисовать на плоскости (с вершинами в виде точек и ребрами в виде простых кривых) так, чтобы никакие два ребра нс пересекались нигде, кроме общих концов.
Дерево Т— это связный, неориентированный граф, нс содержащий циклов. В дереве между каждой парой различных вершин имеется единственный путь. Корневое неориентированное дерево (Т,г)— это дерево с выделенной вершиной г, называемой корнем. Корневое ориентированное дерево — это ориентированный граф Т с единственной вершиной г, такой, что
имеется путь из г в любую другую вершину;
(и) для каждой вершины, за исключением г, имеется ровно одно ребро, ведущее в эту вершину;
(Ш) нет ребер, ведущих в г.
Любое корневое неориентированное дерево (Т, г) можно преобразовать в корневое ориентированное дерево, задавая ориентацию (v, tv) каждого ребра так, чтобы вершина v содержалась в пути из г в w.
В корневом ориентированном дереве вершина w является потомком вершины v (a v— предком вершины tv), если имеется путь из v в tv. Вершина tv является сыном вершины v (a v —
отцом вершины w), если (v, w)—ребро в данном дереве. Эти определения расширяются на корневые неориентированные деревья с помощью ориентации ребер дерева, как указано выше. Если G — некоторый граф, то его остовным деревом называется корневое дерево, являющееся остовным подграфом графа G.
Разбиение 9 множества S— это совокупность подмножеств Si, S2, ..., S^ множества S, такая, 4Tot/?=iSt = S и S/П S/= = 0, если i^j. Если 9, 9'—разбиения S, то 9 называется измельчением 9' (а 9й — укрупнением 9), если для каждого Si г 9 найдется некоторое S/ е 9 , такое, что Si^S/.
ЛИТЕРАТУРА
Ackerman W. (1928). Zum Hilbertschen Aufbau der reellen Zahlen, Math. Ann., 99, pp. 118—133.
Aho A. V., Hopcroft J. E., Ullman J. D. (1974). The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, MA. [Русский перевод: Ахо А., Хопкрофт Дж. и Ульман Дж., Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979.]
Aho А. V., Peterson Т. G. (1972). A minimum distance error-correcting parser for context-free languages, SIAM J. Comput., 1, pp. 305—312.
Aho A. V., Ullman J. D. (1975). Node listings for reducible flow graphs, Proc. Seventh Annual ACM Symp. on Theory of Computing, Association for Computing Machinery, New York, pp. 177—185.
Allen F. E. (1970). Control flow analysis, SIGPLAN Notices, 5, pp. 1—19.
Allen F. E., Cocke J. (1976). A program data flow analysis procedure, Comm. ACM, 19, pp. 137—146.
Appel K., Haken W. (1977). The solution of the four-color-map problem, Sci. Amer. 237, pp. 108—121.
Auslander L., Parter S. V. (1961). On imbedding graphs in the plane, J. Math, and Meeh., 10, pp. 517—523.
Backhouse R. C., Carre B. A. (1975). Regular algebra applied to pathfinding problems, J. Inst. Math. Appl., 15, pp. 161—186.
Baker T., Gill J., Solovay R. (1975). Relativizations of the P = NP question, SIAM J. Comput., 4, pp. 431—442.
Bellman R. E. (1957). Dynamic Programming, Princeton University Press, Princeton, NJ. [Русский перевод: Беллман P. Динамическое программирование. — М.: ИЛ, I960.]
Benzer S. (1959). On the topology of the genetic fine structure, Proc. Nat. Acad. Sci. U. S. A., 45, pp. 1607—1620.
Berge C. (1957). Two theorems in graph theory, Ibid., 43, pp. 842—844.
— (1962). The Theory of Graphs and its Applications, A. Doig, transl., John Wiley, New York. [Русский перевод: Берж К. Теория графов и ее применения. — М.: ИЛ, 1962.]
Bloniarz Р. A., Fischer М. J., Meyer A. R. (1976). A note on the average time to compute transitive closures, Tech. Memorandum 76, Laboratory for Computer Science, Mass. Inst, of Tech., Cambridge.
Blum M., Floyd R., Pratt V., Rivest R., Tarjan R. (1973). Time bounds for selection, J. Comput. System Sci., 7, pp. 448—461.
Booth K. S. Lueker G. S. (1976). Testing for the consecutive ones property, interval graphs, and graph planarity using P-Q tree algorithms, Ibid., 13, pp. 335—379.
Borodin A., Munro I. (1975). The Computational Complexity of Algebraic and Numeric Problems, American Elsevier, New York
Boyer R. S., Moore J. S. (1975). A fast string searching algorithm, Stanford Research Institute and Xerox Palo Alto Research Center, Palo Alto, CA, unpublished manuscript.
Brown M. R. (1977). The analysis of a practical and nearly optimal priority queue, Ph. D. Thesis, STAN-CS-77-600, Computer Science Dept., Stanford Univ., Stanford, CA.
Busacker R. G., Saaty T. L. (1965). Finite Graphs and Networks: A Introduction with Application, McGraw-Hill, New York. [Русский перевод] Басакер P. и Саати Т. Л. Конечные графы и сети. — М.: Наука, 1974.]
Cantor G. (1874). Uber eine Eigenshaft des Inbegriffes aller reellen alge- braischen Zahlen, J. Reine Angew. Math., 77, pp. 258—262.
Cardoza E., Lipton R., Meyer A. R. (1976). Exponential space complete problems for Petri nets and commutative semigroups: preliminary report, Proc. Eight Annual ACM Symp. on Theory of Computing, Association for Computing Machinery, New York, pp. 50—54.*
Carter J. L., Wegman M. N. (1977). Universal classes of hash functions, Proc. Ninth ACM Symp. on Theory of Computing, Association for Computing Machinery, New York, pp. 106—112.
Cheriton D., Tarjan R. E. (1976). Finding minimum spanning trees, SIAM J. Comput., 5, pp. 724—742.
Church A. (1936). An unsolvable problem of elementary number theory, Amer. J. Math., 58, pp. 345—363.
Chvatal V. (1976). Determining the stability number of a graph, Tech. Rep. STAN-CS-76-583, Computer Science Dept, Stanford Univ., Stanford, CA.
Cocke J. (1970). Global common subexpression elimination, SIGPLAN Notices, 5, pp. 20—24.
Cook S. A. (1971). The complexity of theorem proving procedures, Proc. Third Annual ACM Symp. on Theory of Computing, Association for Computing Machinery, New York, pp. 151—158. [Русский перевод: Кук С. А. Сложность процедур вывода теорем, Кибернетический сборник, вып. 12.— М.: Мир, 1975, с. 5—15.].
Cook S. A., Reckhow R. А. (1973). Time-bounded random access machines, J. Comput. System Sci., 7, pp. 354—375.
Cooley J. M., Tukey J. W. (1965). An algorithm for the machine calculation of complex Fourier series, Math. Comput., 19, pp. 297—301.
Corneil D. G., Gotlieb С. C. (1970). An efficient algorithm for graph isomorphism, J. Assoc. Comput. Mach., 17, pp. 51—64.
Cuthill E., McKee J. (1969). Reducing the bandwidth of sparse symmetric Matrices, Proc. 24th National Conf. ACM, Association for Computing Machinery, New York, pp. 157—172.(
Dahl O. J., Dijkstra E. W., Hoare C. A. R. (1972). Structured Programming, Academic Press, New York.
Dantzig G. B. (1963). Linear Programming and Extensions, Princeton University Press, Princeton, NJ. [Русский перевод: Данциг Дж. Б. Линейное программирование, его применения и обобщения. — М.: Прогресс, 1966.]
Davis М,. Matijasevic Y., Robinson J. (1976). Hilbert’s tenth problem. Diophantine equations: positive aspects of a negative solution, Mathematical Developments Arising from Hilbert Problems, American Mathematical Society, Providence, RI, pp. 323—378.
Dijkstra E. W. (1959). A note on two problems in connexion with graphs, Numer. Math., 1, pp. 269—271.
— (1976). A Discipline of Programming, Prentice-Hall, Englewood Cliffs, NJ. [Русский перевод: Дейкстра Э. Дисциплина программирования. — Ми Мир, 1978.]
Диниц Е. А. (1970). Алгоритм решения задачи о максимальном потоке в сети со степенной оценкой. — ДАН СССР, т. 194, № 4, 754—757.
Doyle J., Rivest R. L. (1976). Linear expected time of a simple union-find algorithm, Information Processing Lett., 5, pp. 146—148.
Duff I. S. (1976). A survey of sparse matrix research, Tech. Rep. CSS 28, Computer Science and Systems Division, AERE Harwell, Oxfordshire, England.
Earley J. (1970). An efficient context-free parsing algorithm, Comm. ACM, 13, pp. 94—102. [Русский превод: Эрли Дж. Эффективный алгоритм анализа контекстно-свободных языков. В сб. переводов «Языки и автоматы».— М.: Мир, 1975.]
Edmonds J. (1965), Paths, trees, and flowers, Canad. J. Math., 17, pp. 449—467.
Edmonds J., Karp R. M. (1972). Theoretical improvements in algorithmic efficiency for network flow problems, J. Assoc. Comput. Mach., 19, pp. 248—264.
Erdos P., Renyi A. (1960). On the evolution of random graphs, Magyar Tud. Akad. Mat. Kut. Int. Kozl., 5, pp. 17—61.
Even S., Itai A., Shamir A. (1976). On the complexity of timetable and multicommodity flow problems, SIAM J. Comput., 5, pp. 691—703.
Even S., Kariv O. (1975). An O(n2>5) algorithm for maximum matching in general graphs, Conf. Record, IEEE 16th Annual Symp. on Foundations of Computer Science, Institute of Electrical and Electronics Engineers, New York, pp. 100—112.
Even S., Tarjan R. E. (1975). Network flow and testing graph connectivity, SIAM J. Comput., 4, pp. 507—518.
Fischer M. J. (1972). Efficiency of equivalence algorithms, Complexity of Computer Computations, R. E. Miller and J. W. Thatcher, eds., Plenum Press, New York, pp. 153—168.
Fischer M. J., Meyer A. R. (1971). Boolean matrix multiplication and transitive closure, Conf. Record, IEEE 12th Annual Symp. on Switching and Automata Theory, Institute of Electrical and Electronics Engineers, New York, p. 129—131.
Fischer M. J., Rabin M. O. (1974). Super-exponential complexity of Pres- burger arithmetic, Project MAC Tech. Memorandum 43, Mass. Inst, of Tech., Cambridge.
Floyd R. W. (1962). Algorithm 97: shortest path, Comm. ACM, 5, p. 345.
— (1967). Assigning meaning to programs, Mathematical Aspects of Computer Science, J. T. Schwartz, ed., American Mathematical Society, Providence, RI, pp. 19—32.
Ford L. R., Fulkerson D. R. (1962). Flows in Networks, Princeton University Press, Princeton, NJ. [Русский перевод: Форд Л. Р. и Фалкер- сон Д. Р. Потоки в сетях. — М.: Мир, 1966.]
Forsythe G., Moler. С. В. (1967). Computer Solution of Linear Algebraic Systems, Prentice-Hall, Englewood Cliffs, NJ.
Fox B. L., Landy D. M. (1968). An algorithm for identifying the ergodic subchains and transient states of a stochastic matrix, Comm. ACM, 11, pp. 619—621.
Fredman M. L. (1976). New bounds on the complexity of the shortest path problem, SIAM J. Comput., 5, pp. 87—89.
Gabow H. N. (1976). An efficient implementation of Edmonds’ algorithm for maximum matching on graphs, J. Assoc. Comput. Mach., 23, pp. 221— 234.
Galil Z. (1975). On the validity and complexity of bounded resolution. Proc. Seventh Annual ACM Symp. on Theory for Computing, Association for Computing Machinery, New York, pp. 72—82.
Galler В. A., Fischer М. J. (1964). An improved equivalence algorithm, Comm. ACM, 7, pp. 301—303.
Garey M. R., Johnson D. S. (1976). Approximation algorithms for combinatorial problems: an annotated bibliography, Algorithms and Complexity: New Directions and Recent Results, J. F. Traub, ed., Academic Press, New York, pp. 41—52.
Garey M. R., Johnson D. S., Stockmeyer L. J. (1976). Some simplified NP-complete graph problems, Theoret. Comput. Sci., 1, pp. 237—267.
Garey M. R., Johnson D. S., Tarjan R. E. (1976). The planar Hamiltonian circuit problem is NP-complete, SIAM J. Comput., 5, pp. 704—714.
George J. A. (1973). Nested dissection of a regular finite element mesh, SIAM J. Numer. Anal, 10, pp. 345—363.
Gill III J. T. (1974). Computational complexity of probabilistic Turing machines, Proc. Sixth Annual ACM Symp. on theory of Computing, Association for Computing Machinery, New York, pp. 91—95.
Godel K. (1931). Uber formal unentscheidbare Satze der Principia Mathe- matica und verwandter Systeme I, Monatsh., Math, und Phys., 38, pp. 173— 198.
Goldstein A. J. (1963). An efficient and constructive algorithm for testing whether a graph can be embedded in a plane, Graph and Combinatorics Conf., Contract No. NONR 1858-(21), Office of Naval Research Logistics Proj., Dept, of Math., Princeton Univ., Princeton, NJ.
Graham S. L., Wegman M. (1976). A fast and usually linear algorithm for global flow analysis, J. Assoc. Comput. Mach., 23, pp. 172—202.
Gries D. (1973). Describing an algorithm by Hopcroft, Acta Informat., 2, pp. 97—109.
Guibas L., McCfeight E., Plass M., Roberts J. (1977). A new representation for linear lists, Proc. Ninth Annual ACM Symp. on Theory of Computing,, Association for Computing Machinery, New York, pp. 49—60.
Harary F. (1969). Graph Theory, Addison-Wesley, Reading, MA. [Русский перевод: Харари Ф. Теория графов. — М.: Мир, 1973.]
— (1971), Sparse matrices and graph theory, Large Sparse Sets of Linear Equations, J. K. Reid, ed., Academic Press, London, pp. 139—150.
Harrison M. A. (1965). Introduction to Switching and Automata Theory, McGraw-Hill, New York.
Hartmanis J., Hopcroft J. E. (1976). Independence results in computer science, SIFACT News, 8, pp. 13—24.
Hartmanis J., Lewis II P. M., Stearns R. E. (1965). Classification of computations by time and memory requirements, Proc. IFIP Congress 65, International Federation for Information Processing, Spartan Books, Washington, DC, pp. 31—35.
Hartmanis J., Stearns R. E. (1965). On the computational complexity oT algorithms, Trans. Amer. Math. Soc., 117, pp. 285—306. [Русский перевод: Хартманне Дж., Стирнз Р. Е. О вычислительной сложности алгоритмов, Кибернетический сборник, вып. 4, новая серия, — М.: Мир, 1967, с. 57—85.]
Hilbert D. (1926). Uber das Unendliche, Math. Ann., 95, pp. 134—151.
Hoare C. A. (1969). An axiomatic basis of computer programming, Comm. ACM, 12, pp. 576—580, 583.
Hoffman A. J., Martin M. S., Rose D. J. (1973). Complexity bounds for regular finite difference and finite element grids, SIAM J. Numer. Anat, 10, pp. 364—369.
Hopcroft J. E. (1971). An n\ogn algorithm for minimizing states in a1 finite automation, Theory of Machines and Computations, Z. Kohavi and A. Paz, eds., Academic Press, New York, pp. 189—196. [Русский перевод:. Хопкрофт Дж., Алгоритм для минимизации конечного автомата, Кибернетический сборник, вып. 11, 1974, 177—184.]
Hopcroft J. Е., Karp R. М. (1973). An n5/2 algorithm for maximum matching in bipartite graphs, SIAM J. Comput., 2, pp. 225—231.
Hopcroft J., Paul W., Valiant L. (1975). On time versus space and related problems, Conf. Record. IEEE 16th Annual Symp. on Foundations of Computer Science, Institute of Electrical and Electronics Engineers, New York,* pp. 57—64.
Hopcroft J., Tarjan R. (1972). Planarity testing in V log V steps: extended abstract, Information Processing 71, Vol. 1—Foundations and Systems, North-Holland, Amsterdam, pp. 85—90.
— (1973a). Dividing a graph into triconnected components, SIAM J. Corn- put., 2, pp. 135—158.
— (1973b). A VlogV algorithm for isomorphism of triconnected planar graphs, J. Comput. System Sci., 7, pp. 323—331.
— (1973c). Algorithm 447: efficient algorithms for graph manipulation, Comm. ACM, 16, pp. 372—378.
— (1974). Efficient planarity testing, Assoc. Comput. Mach., 21, pp. 549— 568.
Hopcroft J. E., Ullman J. D. (1972). An n log n algorithm for detecting reducible graphs, Proc. 6th Annual Princeton Conf, on Info. Sciences and Systems, Dept, of Electrical Engineering, Princeton University, Princeton, NJ, pp. 119—122.
— (1973). Set merging algorithms, SIAM J. Comput., 2, pp. 294—303.
Hunt III H. B. (1973). The equivalence problem for regular expressions with intersection is not polynomial in tape, Tech. Rep. 73—156, Computer Science Dept., Cornell Univ., Ithaca, NY.
Itai A. (1976). Optimal alphabetic trees, SIAM J. Comput., 5, pp. 9—18.'
Jazayeri M., Ogden W. F., Rounds W. C (1975). The intrinsically exponential complexity of the circularity problem for attribute grammars, Comm. ACM, 18, pp. 697—706.
Johnson D. B. (1977). Efficient algorithms for shortest paths in sparse networks, J. Assoc. Comput. Mach., 24, pp. 1—13.
Jones J. P. (1974). Recursive undecidability — an exposition, Amer. Math. Monthly, 81, pp. 724—738.
Karp R. M. (1972). Reducibility among combinatorial problems, Complexity of Computer Computations, R. E. Miller and J. W. Thatcher, eds., Plenum Press, New York, pp. 85—104. [Русский перевод: Карп P. M. Сводимость комбинаторных проблем, Кибернетический сборник, вып. 12, 1975, с. 16—38.]
— (1975). On the computational complexity of combinatorial problems, Networks, 5, pp. 45—68.
Karp R. M., Miller R. E., Rosenberg A. L. (1972). Rapid identification of repeated patterns in strings, trees, and arrays, Proc. Fourth ACM Symp. on Theory of Computing. Association for Computing Machinery, New York, pp. 125—136.
Карзанов A. B. (1974), Нахождение максимального потока методом предпотоков, ДАН СССР, т. 215, № 1, 49—52.
Kendall D. G. (1969). Incidence matrices, interval graphs, and seriation in archaeology, Pacific J. Math., 28, pp. 565—570,
Kennedy K. W. (1975). Node listings applied to data flow analysis, Coni. Record, Second ACM Symp. on Principles of Programming Languages, Association for Computing Machinery, New York, pp. 10—21.
Kildall G. A. (1973). A unified approach to global program optimization. Conf. Record, ACM Symp. on Principles of Programming Languages, Association for Computing Machinery, New York, pp. 194—206.
Klee V., Minty G. J. (1972). How good is the simplex algorithm?, Inequa- lities-III, O. Shisha, ed., Academic Press, New York, pp. 159—175.
Kleene S. С. (1936). General recursive functions of natural numbers, Math. Ann., 112, pp. 727—742.
Knuth. D. E. (1968). The Art of Computer Programming, Vol 1: Fundamental Algorithms, Addison-Wesley, Reading, MA. [Русский перевод: Кнут Д. Искусство программирования для ЭВМ, т. 1. Основные алгоритмы.— М.: Мир, 1976.]
— (1969) The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Addison-Wesley, Reading, MA. [Русский перевод: Кнут Д. Искусство программирования для ЭВМ. Т. 2. Получисленные алгоритмы.— М.: Мир, 1977.]
— (1971). Optimum binary search trees, Acta Informat., 1, pp. 13—25.
— (1973). The Art of Computer Programming, Volume 3: Sorting and Searching, Addison-Wesley, Reading, MA. [Русский перевод: Кнут Д. Искусство программирования для ЭВМ. Т. 3. Сортировка и поиск. — М.: Мир, 1978.]
Knuth D. Е., Morris J. Н., Jr. and V. R. Pratt (1977). Fast pattern matching in strings, SIAM J. Comput., 6, pp. 323—350.
Knuth D. E., Schonhage A. (1977). The expected linearity of a simple equivalence algorithm, Tech. Rep. STAN-CS-77-599, Computer Science Dept., Stanford Univ., Stanford, CA.
НО. Колмогоров A. H. (1953). О понятии алгоритма. — Успехи матем. наук, т. 8, вып. 4, 175—176.
Колмогоров А. Н., Успенский В. А. (1958). К определению алгоритма.— Успехи матем. наук, т. 13, вып. 4, 3—28.
Kruskal J. В., Jr. (1956). On the shortest spanning subtree of a graph and the travelling salesman problem, Proc. Amer. Math. Soc., 7, pp. 48—50.
Kuhn H. W. (1955). The Hungarian method for the assignment problem, Naval Res. Logist. Quart., 2, pp. 83—97.
Kuratowski C. (1930). Sur le probleme des corbes gauches en topologic, Fund. Math., 15, pp. 271—283.
Lawler E. L. (1976). Combinatorial Optimization: Networks and Matroids, Holt, Rinehart, and Winston, New York.
Lempel A., Even S., Cederbaum I. (1967). An algorithm for planarity testing of graphs, Theory of Graphs: International Symposium: Rome, July, 1966, P. Rosenstiehl, ed., Gorddn and Breach, New York, pp. 215— 232.
Lin S. (1965). Computer solution of the travelling salesman problem, Bell System Tech. J., 44, pp. 2245—2269.
Liu P. C., Geldmacner R. C. (1976). On the deletion of nonplanar edges of a graph, Dept, of Electrical Engineering, Stevens Inst, of Tech., Hoboken, NJ.
Manna Z. (1969). The correctness of programs, J. Comput. System Set, 3, pp. 119—127.
Martin H. C., Carey G. F. (1973). Introduction to Finite Element Analysis, McGraw-Hill, New York.
McCreight E. M. (1976). A space-economical suffix tree construction algorithm, J. Assoc. Comput. Mach., 23, pp. 262—272.
McDiarmid C. (1976). Determining the chromatic number of a graph, Tech. Rep. STAN-CS-76-576, Computer Science Dept., Stanford Univ., Stanford, CA.
McKay J., Regener E. (1974). Algorithm 482: transitivity sets, Comm. ACM, 17, p. 470.
Meyer A. R., Stockmeyer L. (1972). The equivalence problem for regular expressions with squaring requires exponential space, Conf. Record, IEEE 13th Annual Symp. on Switching and automata Theory, Istitute of Electrical and Electronics Engineers, New York, pp. 125—129.
Morris R. (1968). Scatter storage techniques, Comm. ACM, 11, pp. 38—44.
Munro I. (1971). Efficient determination of the transitive closure of a directed graph, Information Processing Lett., 1, pp. 56—58.
Nemhauser G., Garfinkel R. (1972). Integer Programming, John Wiley, New York.
Norman R. Z., Rabin M. 0. (1959). An algorithm for a minimum cover of a graph, Proc. Amer. Math. Soc., 10, pp. 315—319.,
Pacault J. F. (1974), Computing the weak components of a directed graph, SIAM J. Comput., 3, pp. 56—61.
Parter S. V. (1961). The use of linear graphs in Gaussian elimination, this Review, 3, pp. 119—130.
Paterson M. (1972). Private communication.
Post E. L. (1936). Finite combinatory processes — formalism I, J. Symbolic Logic, 1/pp. 103—105.
Prim R. C. (1957). Shortest connection networks and some generalizations, Bell System Tech. J., 36, pp. 1389—1401. [Русский перевод: Прим. P. К. Кратчайшие связывающие сети и некоторые обобщения. — Кибернетический сборник, вып. 2, 1961, с. 95—107.]
Rabin М. О. (1976). Probabilistic algorithms, Algorithms and Complexity: New Directions and Recent Results, J. F. Traub, ed., Academic Press, New York, pp. 21—40.
Rivest R., Vuillemin J. (1975). A generalization and proof of the Anderaa- Roseburg conjecture, Proc. Seventh Annual ACM Symp. on Theory of Computing, Association for Computing Machinery, New York, pp. 6—11.
Rose D. J. (1970). Triangulated graphs and the elimination process, J. Math. Anal. Appl., 32, pp. 597—609.
— (1973). A graph-theoretic study of the numerical solution of sparse positive definite systems of linear equations, Graph Theory and Computing, R. Read, ed., Academic Press, New York, pp. 183—217.
Rose D. J., Tarjan R. E. (1977). Algorithmic aspects of vertex elimination on directed graphs, SIAM J. Appl. Math.
Rose D. J., Tarjan R. E., Lueker G. S. (1976). Algorithmic aspects of vertex elimination on graphs, SIAM J. Comput., 5, pp. 266—283.
Rosenburg A. L. (1973). On the time required to recognize properties of graphs: a problem, SIGACT News, 5, pp. 15—16.
Runge C., Konig H. (1924). Die Grundlehren der mathematischen Wissen- schaften, vol. 11, Springer, Berlin.*
Sahni S. (1974). Computationally related problems, SIAM J. Comput., 3, pp. 262—279.
Sargent R. W. H., Westerberg A. W. (1964). ‘Speed up’ in chemical engineering design, Trans. Inst. Chern. Engrs., 42, pp. 190—197.
Savage J. E. (1976). The Complexity of Computing, John Wiley, New York.
Schaefer M. (1973). A Mathematical Theory of Global Program Optimization, Prentice-Hall, Englewood Cliffs, NJ.
Schnorr С. P. (1977). An algorithm for transitive closure with linear expected time, unpublished manuscript, Fachbereich Mathematik, Universitat Frankfurt, Frankfurt, Germany.
Schonhage A. (1973). Real-time simulation of multidimensional Turing machines by storage modification machines, Project MAC Tech. Memorandum 37, Mass. Inst, of Tech., Cambridge.
Schonhage A., Paterson M., Pippenger N. (1975). Finding the median, J. Comput. System Sci., 13, pp. 184—199.
Sethi R. (1975). Complete register allocation problems, SIAM. J. Comput., 4, pp. 226—248.
— (1976). Scheduling graphs on two processors, Ibid., 5, pp. 73—82.
Shirey R. W. (1969). Implementation and analysis of efficiient graph planarity testing algorithms, Ph. D. thesis, Univ, of Wisconsin, Madison,
Spira Р. М. (1973). A new algorithm for finding shortest paths in a graph of positive arcs in average time 0 (n2 log2 n), SIAM J. Comput, 2, pp. 28—32.
Stockmeyer L. J., Meyer A. R. (1973). Word problems requiring exponential time: preliminary report, Proc. Fifth Annual ACM Symp. on Theory of Computing, Association for Computing Machinery, New York, pp. 1—9.
Strassen V. (1969). Gaussian elimination is not optimal, Numer. Math., 13, pp. 354—356.
— (1973). Die Berechnungskomplexetat von elementarysymmetrischen Funktionen und von Interpolations' koeffizienten, Ibid., 20, pp. 238—251. [Русский перевод: Штрассен Ф. Сложность вычисления элементарных симметрических функций и коэффициентов интерполяционного полинома, Кибернетический сборник, вып. 15, 1978, с. 5—21.]
Strassen V., Solovay R. (1977). A fast Monte-Carlo test for primality, SIAM J. Comput., 1, pp. 84—85.
Tarjan R. E. (1972). Depth-first search and linear graph algorithms SIAM J. Comput., 1, pp. 146—160.
— (1974a). A new algorithm for finding weak components; Information Processing Lett., 3, pp. 13—15.
— (1974b). Finding dominators in directed graphs, SIAM J. Comput., 3, pp. 62—89.
— (1974c). Testing flow graph reducibility. J. Comput. System Sci., 9, pp. 355—365.
— (1975a), Efficiency of a good but not linear disjoint set union algorithm, J. Assoc. Comput. Mach., 22, pp. 215—225.
— (1975b), Application of path compression on balanced trees, Tech. Rep. STAN-CS-75-412, Computer Science Dept, Stanford Univ., Stanford CA.
— (1975c). Solving path problems on directed graphs, Tech. Rep. STAN- CS-75-528, Computer Science Dept., Stanford Univ., Stanford, CA.
— (1976a). Graph theory and Gaussian elimination, Sparse Matrix Computations, J. R. Bunch and D. J. Rose, eds., Academic Press, New York, pp. 3—22.
—(1976b). Generalized nested dissection, unpublished notes.
— (1977). Reference machines require non-linear time to maintain disjoint sets, Proc. Ninth Annual ACM Symp. on Theory of Computing, Association for Computing Machinery, New York, pp. 18—29.
Tewarson R. P. (1973). Sparse Matrices, Academic Press, New York. [Русский перевод: Тьюарсон P. Разреженные матрицы. — М.: Мир, 1977.]
Turing А. М. (1936—7) On computable numbers, with an application to the Entscheidungs problem, Proc. London Math. Society, ser. 2, 42, pp. 230—265; corrections, 43 (1937), pp. 544—546.
Ullman J. D. (1973a). A fast algorithm for the elimination of common subexpressions, Acta Informat., 2, pp. 191—213.
— (1973b). Polynomial complete scheduling problems, Proc. Fourth Symp. on Operating System Principles, ACM Operating Systems Review, 7, Association for Computing Machinery, New York, pp. 96—101.
Valiant L. G. (1975a). General context-free recognition in less than cubic time, J. Comput. System Sci., 10, pp. 308—315.
— (1975b). On non-linear lower bounds in computational complexity, Proc. Seventh Annual ACM Symp. on Theory of Computing, Association for Computing Machinery, New York, pp. 45—53.
— (1976). Some conjectures relating to super linear complexity bounds, unpublished manuscript, Centre for Computer Studies, University of Leeds, England.
van Emde Boas P., Kaas R., Zijlstra E. (1975). Design and implementation of an efficient priority queue, Mathematisch Centrum, Amsterdam,
Vuillemin J. (1977). A data structure for manipulating priority queues, Comm. ACM, to appear.
Weiner P. (1973). Linear pattern matching algorithms, IEEE 14th Annual Symp. on Switching and Automata Theory, Institute for Electrical and Electronics Engineers, New York, pp. 1—11.
Winograd S. (1975). The effect of the field of constants on the number of multiplications, Proc. Sixteenth Annual Symp. on Foundations of Computer Science, Institute for Electrical and. Electronics Engineers, New York, pp. 1—2.
— (1976). On computing the discrete Fourier transform, Proc. Nat. Acad. Sci. U. S. A., 73, pp. 1005—1006..
Wirth N. (1971). The programming language Pascal, Acta Informat., 1, pp. 35—63.
Yao A. C, (1975), An O|E|log log| V| algorithm for finding minimum spanning trees, Information Processing Lett., 4, pp. 21—23.
— (1976). On the average behavior of set merging algorithms, Proc. Eighth Annual ACM Symp. on Theory of Computing, Association for Computing Machinery, New York, pp. 192—195.
Younger D. H. (1967). Recognition and parsing of context-free languages in time n3, Information and Control, 10, pp. 189—208. [Русский перевод: Янгер Д. X., Распознавание и анализ контекстно-свободных языков за время п3. В сб. переводов «Проблемы математической логики». — М.: Мир, 1970, с. 344—362.].
Влияние базиса на сложностьбулевых формул1)
В. Р. Пратт
РЕЗЮМЕ
Существует лишь два (с точностью до постоянных множителей) класса сложности полных бинарных базисов. Показано, что расхождение между ними составляет самое большее О ^10g310)# т е. приблизительно О (я2 095). Это дополняет результат Храпченко [1], устанавливающий для этого расхождения нижнюю границу порядка л2.
ВВЕДЕНИЕ
При реализации булевых функций формулами возможности синтеза ограничены выбором некоторого множества булевых функций, называемого базисом, из которых строятся формулы. Базис называется полным, если любую булеву функцию можно реализовать формулой в этом базисе. Базис называется бинарным, если входящие в него функции зависят нс более, чем от двух переменных.
Болес половины всех бинарных базисов (из общего числа 216) являются полными. Какому критерию следовать, выбирая один из них? Популярным критерием является сложность базиса. Другой критерий — сложность формул в этом базисе; насколько сжато позволяет базис представлять функции? Последний вопрос и будет темой нашего обсуждения.
Сложностью формулы Е называется число вхождений символов переменных в эту формулу. Сложность формулы Е обозначается через L^E). С каждым базисом связано отображение Y, сопоставляющее каждой булевой функции f число Y(f), равное наименьшей сложности формулы в этом базисе, реализующей функцию f. Мы называем отображение Y выразительной силой базиса. Говоря, что Y обладает некоторым свойством,
9 Pratt V. R., The effect ox basis on size of Boolean expressions, 16th Ann. Symp. Found. Comput. Sci., 1975, New York, N. Y., 1975, 119—121.
© 1975 IEEE. Translated, with permission, from 16th Annual Symposium on Foundations of Computer Science, Oct. 13—15, 1975/Long Beach, Calif., USA (75CH1003-3C). ' © Перевод на русский язык, «Мир», 198Q
мы будем иметь в виду, что для любой функции f Y (f) обладает этим свойством. Чтобы избежать возможной путаницы, мы предпочитаем говорить, что выразительная сила одного базиса лучше (хуже) выразительной силы другого, вместо того, чтобы говорить, что одна из них меньше (больше) другой.
Нетрудно убедиться, что для полных бинарных базисов могут существовать лишь две (с точностью до постоянных множителей) различных выразительных силы, в зависимости от присутствия в базисе линейных функций. Это вытекает из следующих трех фактов: во-первых, при добавлении отрицания (~) к любому полному базису его выразительная сила может стать лучше лишь в конечное число раз; во-вторых, любую булеву функцию от двух переменных можно реализовать с помощью нс более, чем трех отрицаний и одной из двух функций: или конъюнкции (&), или суммы по модулю 2(ф); наконец, в третьих, любой полный бинарный базис непременно содержит хотя бы одну из восьми нелинейных функций от двух переменных, а из любой такой функции при помощи отрицаний можно получить конъюнкцию. Поэтому выбор базиса может быть сужен до выбора одного из двух базисов {&, ~} и {&, ф, -} (или их эквивалентов). .
Храпчснко показал [1], что линейная функция Х1фх2ф • •• ... ®хп реализуется в первом из этих двух базисов формулами сложности нс меньше п2. Однако во втором базисе ее можно реализовать формулой сложности не больше п—1. Таким образом, дальнейшее сужение выбора базиса невозможно. Остается выяснить, насколько эти базисы отличаются друг от друга. Мы показываем, что разрыв между ними составляет О ^п0^ /0) где log3 10 = 2.095+. Это означает, что любая функция, допускающая реализацию формулой в базисе {&, ф, ~), содержащей п символов & и ф, реализуется в базисе {&, “} формулой, содержащей O(nlog310) символов &.
МЕТОД СПИРЫ
Определим длину пути в формуле1) как число бинарных связок, входящих в этот путь, и глубину формулы как длину самого длинного пути, ведущего от входных вершин формулы к ее выходной вершине. Напомним читателю метод Спиры [2], позволяющий по заданной булевой формуле сложности п строить формулу глубины 21og231og2 п, реализующую ту же
*) Имеется в виду путь в дереве, отвечающем рассматриваемой формуле. Здесь и дальше автор пользуется естественным геометрическим представлением формулы в виде дерева. — Прим, перев.
функцию. В соответствии с этим методом, исходная формула разбивается на две формулы, одна из которых представляет собой некоторую подформулу исходной формулы, а вторая получается из исходной формулы заменой этой подформулы на новую переменную. Обозначим первую из этих формул через G(x), а вторую — через F(x,y), где х обозначает совокупность переменных исходной формулы, а у — новую переменную. Нетрудно убедиться, что формула
F^ l)&G(x) V F(x, 0)&G(x)
реализует ту же функцию, что и исходная формула. Такое же преобразование рекуррентно применяется к формулам F и G.
Если сложность подформулы G выбирается в пределах от 1/3 до 2/3 сложности исходной формулы, то описанное преобразование при его рекуррентном применении строит формулу глубины 2 log2 3 log2 п, т. с. приблизительно 3.17 log2 п Это и есть результат Спиры [2].
Заметим, что при построении формулы по методу Спиры используются только связки &, V, “. Далее, сложность этой формулы ограничена сверху величиной 2глубина, т. с. приблизительно пЗЛ7. Поэтому этот метод фактически дает верхнюю оценку сложности, нс очень сильно отличающуюся от нижней оценки Храпчснко, имеющей порядок п2. (Об этом следствии у Спиры нс упоминалось.) Наша цель состоит в понижении указанной верхней оценки. '
АНАЛИЗ СЛОЖНОСТИ
Результат Спиры о глубине нельзя улучшить путем более тщательного анализа его метода, так как существуют формулы, глубина которых после преобразования достигает оценки, данной Спирой. Поэтому для получения лучшей оценки сложности требуется или лучший метод, или анализ старого метода с новой точки зрения, не связанной с глубиной. Наш результат получается главным образом за счет тщательного анализа старого метода.
Изменим немного метод Спиры: по-прежнему выбирая всякий раз подформулу, сложность которой лежит в пределах от 1/3 до 2/3 сложности преобразуемой формулы, будем выбирать ее так, чтобы ее сложность была как можно ближе к 1/2 сложности преобразуемой формулы. Иными словами, будем выбирать подформулу G настолько близкой по сложности к формуле F, насколько это возможно. Хотя это и нс ведет, быть может,
*) На самом деле, при применении метода Спиры коэффициент при log2rt получается равным 2/log2(3/2) « 3.42. — Прим. ред.
к лучшей оценке глубины, но зато облегчит нам последующий анализ.
Пусть п обозначает сложность исходной формулы, a t^ — сложность преобразованной формулы. Тогда
Ч«Х 2 (/ (рп) +1 (qn)) + 1,
где рп и qn — это, соответственно, сложности двух частей, на которые впервые разбивается исходная формула, причем q ^ ^р1). Слагаемое 1 появляется за счет используемых при преобразовании бинарных связок. Всего таких бинарных связок три, но по крайней мере две бинарных связки (нс обязательно из числа этих трех) удаляются при подстановке константы участвующей в преобразовании. Теперь, используя полученное рекуррентное соотношение для функции Цп) и некоторые ограничения на рп и qn, найдем верхнюю оценку скорости роста функции t^nY
Мы получим верхнюю оценку вида спа следующим образом. Будем действовать индукцией по п. Выбирая подходящую константу с, получим требуемую оценку для случая п = 1. Предположим теперь, что требуемая оценка установлена для всех значений, меньших некоторого числа п. Тогда, так как
Ц»Х 2(/(рп) 4-1(qn)) + 1,
то, по предположению индукции,
/ (п) < 2 (с (рп)а + с (qn)a) + 1.
Теперь для того, чтобы доказать соотношение / (п) ^ спа,
достаточно показать, что выражение, стоящее в правой части предыдущего неравенства, нс превосходит величины спа. Если пренебречь слагаемым 1, входящим в это выражение, то для этого достаточно показать, что
/7а + ^а^0.5.(1)
Чтобы убедиться, что слагаемым 1 действительно можно пренебречь, заметим, что каждой вершине преобразованного дерева соответствует не более одного слагаемого 1, поэтому, увеличив константу с в 2 раза, мы можем не обращать внимания на эти слагаемые.
Предыдущее неравенство получается при просмотре каждого шага построения1). Если просмотреть сразу два шага, то можно получить другое неравенство
/ (и)4/ (гм) + 4/ (sn) + 2/ ^qn\
где гп и sn— это соответственно сложности тех двух формул, на которые разбивается формула сложности рп при применении
Рис. 1.
к ней преобразования. Так же, как и выше, для получения тре
буемой оценки достаточно показать, что
2ra + 2sa + ?a^0.5.2ra + 2sa + ?a^0.5.(2)(2)
2ra + 2sa + ?a^0.5.
2ra + 2sa + ?a^0.5.
(2)
(2)
Соотношения (1) и (2) иллюстрируются рис. 1.
Можно было бы попытаться продолжить описанное построение, но, оказывается, что это ничего нс даст по сравнению с использованием только соотношений (1) и (2).
В силу соотношений (1) и (2), наша задача состоит в нахождении значения а, удовлетворяющего соотношению
min ((г + s)° + qa, 2ra + 2s° + 7“) С у,
где г-V s = р. Параметры г, q и s связаны следующими условиями:
г + s + 9 = 1;
^r + s, откуда 1/2 г + s;
(HI) s^r;
г ^ 2s;
г ^ q.
Условия (I), (II), (III) выполняются по определению параметров г, q и s, условие (IV) отражает расщепление формул в отношении 1/3 4-2/3, и лишь условие (V) нс является очевидным.. Обоснуем его. Рассмотрим выходную вершину R подформулы G в исходной формуле. Если сложность формулы G меньше сложности формулы F, т. с. если L^G)=qn, a L(F) = = рп, рассмотрим вместе с вершиной R еще две вершины — вершину, которая следует за ней в исходной формуле и вершину, за которой следует та же вершина, что за R. В противном случае, если L(G)=pn, рассмотрим вместе с вершиной R две предшествующие ей вершины. (При этом в обоих случаях игнорируются вершины-отрицания). Заметим, что в любом случае обе вершины, рассматриваемые вместе с вершиной R, принадлежат той части исходной формулы, которая имеет большую сложность (т. с. рп). В обоих случаях две из рассматриваемых трех вершин предшествуют третьей. Рассмотрим две подформулы исходной формулы, выходными вершинами которых служат эти две вершины, и формулу, получающуюся из исходной формулы удалением подформулы, выходной вершиной которой служит третья вершина. Сложности двух первых формул обозначим соответственно через Ьп и сп, а сложность третьей через ап. Очевидно, а = 1 — b — с.
Покажем, что q = шах (а, 6, с). Действительно, по построению одна из трех рассматриваемых формул имеет сложность qn, поэтому число q совпадает с одним из трех чисел а, 6, с. Так как все три числа а, 6, с положительны и их сумма равна 1, то среди них ближайшим к 1/2 оказывается то, которое больше двух других (имеются в виду нестрогие неравенства). Поэтому, если бы оказалось, что число q меньше величины шах (а, 6, с), то взяв формулу сложности max^an, bn, сп) и формулу, дополняющую ее до исходной формулы, мы пришли бы к лучшему разбиению исходной формулы.
Отбросим теперь наибольшее из чисел а, Ь, с. Величина г нс превосходит наибольшего из оставшихся двух чисел, так как эти два числа отвечают некоторому разбиению формулы сложности рп на две формулы, а числа г и s отвечают наилучшему из таких разбиений; остается заметить, что. сложность большей
формулы наилучшего разбиения не превосходит сложности большей формулы любого разбиения. Окончательно получаем, что г ^ q. Проверка условия (V) закончена.
При г = s = q = 1/3 значение а = log310 удовлетворяет соотношению (2), причем любое меньшее значение а нс удовлетворяет ни одному из соотношений (1) и (2). Покажем теперь,
что при любых значениях параметров г, s, q, удовлетворяющих условиям (I)—(V), указанное значение а удовлетворяет хотя бы одному из соотношений (1) или (2).
Условие (I) позволяет исключить из соотношений (1) и (2) параметр q.
Положим
Hr, s) = (r + s)a + (l~r~s)a, g (r, s) = 2ra + 2sa 4- (1 ~ Г - s)a, где a = log3 10 = 2.095 +• Рассмотрим единичный квадрат на координатной плоскости г, s, образованный осями координат и прямыми г = 1 и s = 1 (см. рис. 2).
Условиям (II) — (V) соответствуют прямые, ограничивающие некоторый четырехугольник. Пунктирная линия соответствует соотношению f = g, т. с.
(f + s)“ + 9° = 2r° + 2sa + <7°«
Полагая Р = —, приходим к следующему уравнению для Р:(1 +Р)а = 2 + 2ра.
Одним из корней этого уравнения является число р = = 0.6068193 + (второй корень — число, обратное к этому). Таким образом, пунктирная линия — прямая, описываемая уравнением s = рг, где р — указанное выше число.
Рис. 3.
Для удобства четырехугольник, выделенный условиями (II)— (V), изображен на рис. 3 в увеличенном виде.
Утверждение. В точках выделенного четырехугольника, лежащих выше прямой s = рг, выполняется соотношение^ ^ 1, а в точках, лежащих ниже этой прямой — соотношение 2/^1.
Замечание*, в точках некоторой части нижней области выполняется соотношение 2g > 1, а в точках некоторой части верхней области — соотношение 2f > 1 (на рис. 3 эти области за-
чернены точками). Именно поэтому мы вынуждены рассматривать два случая, а именно, / ^ g и / ^ g.
Доказательство. Докажем требуемое утверждение, постепенно повышая размерность:
для трех точек, обведенных на рис. 3 кружками;
для двух отрезков прямых г = q и s = рг, выделенных на рис. 3 жирной линией, соединяющих эти три точки, и, наконец,
для всего четырехугольника, двигаясь от отрезков, выделенных жирной линией, вдоль прямых г + s = const в направлении, указанном на рис. 3 стрелками (стрелки указывают направление убывания функции min(/, g)).
g(y, т)=$(т) =T (точное равенство)
( 2+ р ’ 2 + P ) = g G + ₽ ’ 2+0 ) = 01496946 + •
G + 2P ’ 2 + 2Р ) = g ( 2 + 20 ’ 2 + 20 ) = 01467843 + •
Достаточно показать, что вдоль каждого из отрезков, выделенных жирной линией, выполняется неравенство Drg^O» так как тогда значения функции g во внутренних точках отрезка нс превосходят наибольшего из двух значений, которые функция g принимает на концах отрезка.
На прямой г = q
g = 3ra + 2sa = 3ra + 2 (1 - 2r)a,
следовательно,
Z)^ = a (a - 1) (3ra~2 + 8(1- 2r)a-2),
21
поэтому Drg^O При
На прямой f = g
g=(r + s)a + (1 - r - s)a = (1 + P)V + (1 - (1 + P) r)a, откуда
D^g = a (a - 1) ((1 + P)°ra-2 + (1 + p)2 (1 - (1 + p) rf2), 21
поэтому Drg 0 при 0 r ^ у .
Для нижней области рассматриваемого четырехугольника требуемое утверждение немедленно следует из п. (II), так как функция / постоянна вдоль прямых г + $ = const.
Для верхней области имеем:
Drg = 2Dr(ra + sa)
(q постоянно при г + s = const), т. с.
Drg = 2а (га"1 — s^1)
(так как при r + s = const Drs = —1). Во всех точках рассматриваемого четырехугольника выполняется соотношение s ^ г, поэтому вдоль прямых г + s = const выполняется соотношение Drg ^ 0. А поскольку г убывает вдоль прямых г + 5 = = const, функция g также убывает вдоль этих прямых. Требуемое утверждение доказано.
Итак, установлено существование такой постоянной с, что /(n)^cnlog310.
Эта оценка ограничивает диапазон выразительных сил полных бинарных базисов.
Убедимся, что оставаясь в рамках рассматриваемого метода, полученный результат существенно усилить нельзя. Рассмотрим наименьшее множество формул, содержащее некоторую фиксированную формулу и замкнутое относительно операции образования формулы £®(£ф£) из произвольной формулы £, входящей в это множество. Применим рассматриваемый метод к формуле из этого множества. Очевидно, что при применении его к такой формуле будут чередоваться разбиения в отношении 1/3: 2/3 и в отношении 1/2: 1/2. Нетрудно убедиться, что в этой ситуации полученная оценка существенно неулучшаема.
БЛАГОДАРНОСТИ
Эта работа была выполнена совместно с А. Мейером. Советы М. Патерсона помогли нам улучшить нашу оценку. М. Фишер послужил источником полезных идей. Стимул к работе над задачей исходил от С. Кука.
ЛИТЕРАТУРА
Храпченко В. М., О сложности реализации линейной функции в классе л-схем, Мат. заметки, 9, № 1 (1971), 35—40.
Spira Р. М., On time hardware complexity tradeoffs for Boolean functions, Fourth Hawaii International Symposium on System Science, 525—527, 1971.
^P-пoлныe проблемы разрешениядля квадратных уравненийс двумя неизвестными1’
К. Л. Мандерс и Л. Эдлимэн
Вычислительная сложность проблем целочисленной разрешимости алгебраических уравнений с целыми коэффициентами изменяется от детерминированного полиномиального времени (для уравнений с одним неизвестным или уравнений первой степени) до неразрешимости (сегодня известной для уравнений с десятью и более неизвестными). Мы показываем, что для уравнений второй степени с двумя неизвестными вида ах2 + + Ру— V = 0, а, р, у^(о, эта проблема Л^-полна. Это влечет Л^-полноту некоторых проблем о решении сравнений х2 s = a(mod|3); а, р, хео). Будет также показано, что недетерминированная машина Тьюринга, ограниченная детерминированным вычислением полиномов данного вида при недетерминированно найденных значениях аргумента (ниже называемая недетерминированной диофантовой машиной), может решать Л^-полные проблемы за полиномиальное время.
ВВЕДЕНИЕ
Многие теоретико-числовые проблемы формулируются или могут быть сформулированы как в виде вопросов о разрешимости диофантовых уравнений (т. с. уравнений вида р(хь ... ..., хп) = 0, где р(х^ ..., хп) — полином от многих переменных с целыми коэффициентами) в натуральных или целых числах. Это бросается в глаза при рассмотрении разделов о диофантовых проблемах во всяком стандартном учебнике по теории чисел; это на самом деле математически точно обосновано теоремой Матиясевича [И] о том, что все рекурсивно перечислимые множества являются диофантовыми (т. с. элементы множества S соответствуют значениям параметра а, для которого подходящее диофантово уравнение ps(a, хь ..., хл) = О имеет решение). Поэтому исследование алгоритмов, выясняющих раз-
9 К. L. Manders and L. Adleman. ^^-Complete Decision Problems for Binary Quadratics. Jour. Comp. Syst. Sci. 16, 168—184 (1978).
© 1978 by Academic Press, Inc.
© Перевод на русский язык «Мир», 1980
решимость диофантовых уравнений, является задачей фундаментальной важности, как подчеркивал Гильберт, ставя 10-ю из своих знаменитых проблем в 1900 г. [8]. Желательно знать: (1) какова сложность определения разрешимости для различных классов диофантовых уравнений и, особенно, (2) для каких подклассов диофантовых уравнений существует приемлемая эффективная процедура (т. с. детерминированная с полиномиальным временем), выясняющая разрешимость.
Из теоремы Матиясевича следует, что для некоторого фиксированного п множество разрешимых диофантовых уравнений с п неизвестными является нерекурсивным. Много усилий затрачено на определение минимального п, для которого это остается верным. Наилучшим опубликованным результатом является п ^ 13 [12]; Матиясевич улучшил эту границу до п ^ 9 [13]. В [12] предполагается, что, возможно, п = 3, но это нс может быть установлено существующими методами. Даже для уравнений с двумя неизвестными проблема разрешимости является чрезвычайно трудной. Например, первым важным результатом после выступления Гильберта [8] была теорема Туэ [18] (1909 г.) о том, что для всякого полинома Цх^у), неприводимого над полем рациональных чисел и однородного степени ^3, уравнение f(x,y)—m = 0 имеет нс более чем конечное множество целочисленных решений. К сожалению, доказательство Туэ не содержало алгоритма, выясняющего разрешимость уравнений этого типа, и такого алгоритма не было найдено до фундаментальной работы Алэна Бэйкера [4] (1967), где был дан недетерминированный алгоритм, требующий экспоненциального времени. Методы Бэйкера распространяются на различные уравнения с двумя неизвестными [5].
С другой стороны, разрешимость (в целых или натуральных числах) линейных уравнений с двумя неизвестными выясняется за детерминированное полиномиальное время с применением алгоритма Евклида1). Таким образом, в промежутке между уравнениями, для которых выяснение разрешимости несложно (линейными с двумя неизвестными), и теми, для которых оно, вероятно, очень трудно (кубическими с двумя неизвестными), оставались только квадратные уравнения с двумя неизвестными. Ниже мы устанавливаем, что проблема выяснения разрешимости в натуральных числах для квадратных уравнений с двумя неизвестными вида ах? + Р2 — V = 0, а, р, у ^ со, является JV9>- полной. С помощью редукции устанавливается также Л^-пол- нота задачи разрешимости в натуральных числах сравнения х2 = a (mod Р), 0 ^ х ^ у Для а, р, Vе ^, даже при известном разложении числа р в произведение простых сомножителей.
Если снять ограничение на величину х, то эта задача может быть решена за детерминированное полиномиальное время, если известна факторизация |3 (см. [7], разд. 8.4).
Проблемы, Л^-полноту которых мы покажем, имеют отчетливый теоретико-числовой характер; они также отличаются от классических Л^-полных проблем (таких, как выполнимость пропозициональных формул) по числу входящих переменных: большинство известных Л^-полных проблем содержит неограниченное число переменных, тогда как в наших проблемах только две переменные. В силу этих особенностей мы надеемся, что Л^-полнота рассматриваемых нами проблем сыграет такую же роль в установлении Л^-полноты других проблем числовой природы, какую проблема пропозициональной выполнимости играет в установлении Л^-полноты комбинаторных проблем [6,9].
Наши результаты дают некоторую информацию о задаче другого типа; каковы потери в вычислительных возможностях и эффективности недетерминированной машины Тьюринга, ограниченной детерминированным вычислением полиномов фиксированного вида с недетерминированно определяемым значением аргумента и допускающей входное значение тогда и только тогда, когда вычисленное значение полинома равно 0? Этот вопрос представляет интерес ввиду теоретико-числового характера вычислительной модели; такие машины допускают в точности диофантовы множества. В разд. 3 мы рассмотрим эту модель вычисления, называемую недетерминированной диофантовой машиной (НДДМ). Мы дадим обзор того, что известно о вычислительной способности НДДМ, и свяжем результаты настоящей статьи с этим вопросом. Известные результаты подтверждают предположение о том, что недетерминированное вычисление можно изучать без уменьшения общности на модели НДДМ; такая возможность ставит перед исследователями много новых задач.■
. Результаты об Л^-полноте сформулированы и доказаны в разд. 2. Третий раздел посвящен обсуждению НДДМ. В конце этих разделов помещены нерешенные задачи.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ:
Напомним следующие (хорошо известные) определения: отношение R на натуральных числах распознается за полиномиальное время (детерминированно или недетерминированно) машиной Тьюринга М тогда и только тогда, когда существует полином ^(-), такой, что для всех хь ..., хп^т <хь ..., хл>& е R Ф=> существует вычисление М на входе <хь ..., хп>, которое завершается в допускающем состоянии за ^(|х|) шагов, где |х| — длина х в двоичном коде, х = <xb . <м х^).,
Семейство отношений на натуральных числах, распознаваемых за полиномиальное время на детерминированной машине Тьюринга (ДТМ), называется 5s; Л°2Р— название семейства отношений на натуральных числах, распознаваемых за полиномиальное время на недетерминированных машинах Тьюринга (НДТМ); множество S е JfSP называется Л^-полным, если для всякого отношения /?е/^ существует функция /(•), де- терминированно вычислимая за полиномиальное время, такая, что.
(Vx)[xeR^f(x)ES].
Теорема 1. Проблема разрешимости диофантовых уравнений (в стандартном двоичном кодировании) вида
■ах? + рх2 — у = 0, а, Р, у е (о
в натуральных числах хь х2 является ^-полной. -
Теорема 2. Проблема разрешимости квадратичных сравнений (в стандартном кодировании) x2 = a(modp), с ограничением на хею вида 0 ^ х ^ у; а, р, у е о, является Л^-пол- ной.
Замечание. Поскольку естественная стратегия решения каждой проблемы состоит в разложении р на простые сомножители и рассмотрении сравнений по модулю степеней простых делителей р, может показаться, что трудность этих проблем лежит в факторизации р. Однако это не так: доказательства теорем 1 и 2 покажут, что данные проблемы остаются Л^-полными, когда р задано в полностью факторизованном виде. Доказательства теорем 1 и 2 аналогичны.
Пусть S — множество выполнимых пропозициональных формул' в конъюнктивной нормальной форме с нс более чем тремя переменными. Согласно работе Кука [6], достаточно показать, что существует детерминированный алгоритм с полиномиальным временем работы, который сводит проблему принадлежности множеству S к проблеме того типа (тех типов), которые фигурируют в теореме, и что сами проблемы принадлежат Л9^. Обе задачи считаются разрешимыми недетерминированным алгоритмом «Угадать решение и проверить его правильность» за полиномиальное время и, следовательно, принадлежат NZP. Последнее имеет место потому, что, как легко проверить, существует верхняя граница возможных решений, заданная полиномом с ко ффициентами а, р, у (за исключением тривиального случая, когда а или р равны 0).
Дадим алгоритм редукции с доказательством корректности и анализом времени вычисления. Читатель может при желании
лишь бегло ознакомиться с ним вначале, возвращаясь к нему во время доказательства и анализа.
Алгоритмы редукции для теорем 1 и 2 совпадают во всем, за исключением последнего шага, который будет рассмотрен отдельно. Фактически первая часть алгоритмов сводит проблему 3-выполнимости к удобному частному случаю задачи о ранце (см. [9]). Основная идея алгоритма состоит в нахождении способа перехода от трактовки последовательности как цифровой записи числа в некоторой позиционной системе счисления к рассмотрению ее как последовательности вычетов числа по некоторой системе сравнений, а также способа обратного перехода (см. замечание (1) после доказательства).
АЛГОРИТМ
На входе ф читаем ф и удаляем повторения конъюнктов, а также тс из конъюнктов, в которые некоторая переменная Xi входит вместе с хд Пересчитываем переменные (числом /), входящие В ПОЛуЧСННуЮ формулу фд. Пусть 2={(Уь ..., От}— стандартная нумерация всех элементарных дизъюнкций, образованных из Xi, ..., xi и их отрицаний, содержащих не более трех букв и нс содержащих никакую букву дважды (с отрицанием или без него). Вычисляем тф =— У в7’, где, как и далее, °^r
знак е означает вхождение одного выражения в другое. (Замечание: тф является единственным вычисляемым числом, специально зависящим от фя, а не только от числа переменных.) Вычисляем также:
fi X 8/ (г = 1,2, ... ДУ
Положим /г = 2т + / и вычислим с,, j = 0,...,n, так: Со = 1, с, = у 8й при j = 2k — 1,
с/ = —8* при i = 2k, / = 1, ... 2m; c2m+j = -^(ft — fj\пI
/=1,2, ...,/ и т = То>+ У с/+ У fi. (Замечание: на этом/=0i-V
п месте мы фактически пришли к проблеме ранца £с/а; = т, «/ = {— 1, + 1), которая разрешима тогда и только тогда, когда Ф выполнима: кроме того, для каждого значения а / е {— 1, + 1}. п
I У cjaj — т| < 8'"+1, т.е. проблема ранца эквивалентна про- /=0
блеме разрешимости сравнения
У Cjaj = т(шоб8т+1), ауе{—1, + 1).
Эти утверждения станут очевидными при доказательстве корректности.)
Определим первые п + 1 простых чисел р0, Рь • • •, Рп, превосходящих (4(п + 1) 8zn+1)1/('l+1\ [Это выражение никогда не превосходит 12. Поэтому можем выбрать ро = 13.]
Определим параметры О/, / = 0, 1, ..., п так: О/— наименьшее натуральное число из со, такое, что
6/ в Cj (mod 8w+1), 6/ = 0 (mod Ц p?+1), 0/^0 (mod p/).
nn
Вычислим H =^9j, К =Д Р/+1 и выдадим в качестве результата:
а) для теоремы 1:
(7<+ l)3-2-8m+1 .(^-хО + ЯС^-т^-хг-г-З^1 -^ = 0, b) для теоремы 2:
х2 а (2 • S^1 + К")"1 • № + 2 • 8m+1 • Я2) (mod 2 • 8m+1 • К),
0<х<Н, где (2 • 8m+1 + К) является обратным к (2-8т+1 + Л) по модулю 2-в"1*1-К71.
АНАЛИЗ ВРЕМЕНИ ВЫЧИСЛЕНИЯ •
Число Z, а следовательно, также числа тип ограничены полиномом от длины входа ф. Следовательно (по Теореме о простых числах)) простые числа р0, ..., рп также ограничены таким полиномом. Отсюда следует, что размеры (т. с. число цифр в двоичном представлении) чисел р^1^ К и Н ограничены полиномом от длины ф; следовательно, это же верно для выхода алгоритма.
Кроме того, можно получить все необходимые числовые значения детерминированно за полиномиальное от длины входа время. Простые числа можно определить за время, экспоненциально зависящее от длины их двоичного представления, т. е мы можем применить решето для простых чисел. Каждое 0/ имеет вид X, • Ц р^ или (Х, + 8w+1) П p?+1, где
l^iНИ
/ п \
^ = С/(Пр"+1] (mod8m+1), 0<Az<8m+1,
//
а обратное число можно найти за полиномиальное время [10], используя алгоритм Евклида [16]. Все другие вычисления, очевидно, укладываются в полиномиальное время от оценок рассматриваемых чисел.
ДОКАЗАТЕЛЬСТВО КОРРЕКТНОСТИ
В этом разделе |х| означает абсолютную величину числах. Покажем сначала, что исходная пропозициональная формула Ф выполнима тогда и только тогда, когда разрешимо сравнение
У 6/а/вт(mod8w+1), а/е{—1, +1}, / = 0, /-о
Очевидно, что выполнимость ф/? равносильна выполнимости ф; Фя выполняется, если существует такое отображение или, как говорят, оценка переменных г:.
{xj, ..., xJ->{0, 1}, что для каждой элементарной дизъюнкции a*e{ai, ..., от} уравнение
0 = ^ =0 = ^ =Ук— Е r(xz) — £ (1 — r(xz)) + 1, если о6ефд, xieokxisok
0 = ^ =
0 = ^ =
Ук~ Е rfo) — Ц (1 — r(xz)), если а6^фя xiGOkxt^ak
если Оа^Фя, разрешимо при yk е{0, 1, 2, 3}. (В этом определении Rk символ г обозначает «входит в».) Для технического удобства при окончании доказательства добавим искусственное условие 0 = /?0 = ао + 1, «о ^ {— 1, +1}, которое не влияет на выполнимость системы.
Для каждой фя и каждой оценки г: {хь ..., X/}-> {0, 1}, и каждого у к е {0, 1, 2, 3} имеем —3 Rk ^ 4, 6=1, 2, ..., т; 0 ^ Ro ^ 2, и поэтому
Rfe = 0, £ = 0, 1т^Ц Rk.8k = 0
к=0
ИИтЕ Rk -8*Л-0тЕ Rk -8*Л-0< 8m+1, так что< 8m+1, так что
И
И
т
Е Rk -8*
Л-0
т
Е Rk -8*
Л-0
< 8m+1, так что
< 8m+1, так что
т
Rk = Qt k = Q, iт4^ ^^.e^modS^1).л—о
В этом условии мы заменим переменные ук и r(xz) на {—1,+1}- значные переменные агл-ь ^к и а^тл-и согласно формулам
Ук — "^ [(1а2Л-1) + 2(1— а2л)], г Ui) = ^(1а2т+1)’ '
Пусть R'k получается из R& в результате этих подстановок. Тогда условие
5 R' . 8* = 0 (mod 8m+1)
содержит только {—1, +1}-значные переменные ао, •••, «2т+/ и разрешимо тогда и только тогда, когда выполнима формула ф. Переобозначая термы и используя числовые значения, определенные данным алгоритмом, перепишем это условие в виде
У = r(mod 8w+1), а, е{—1, +1},
которое по определению 0/ при j = 0, ..., п эквивалентно
У 6,а, =т(шоб8т+1), а,е{—1, +1}. /=о
Лемма 1. Пусть К и Н суть числа из рассматриваемого алгоритма. Общее решение системы
•0<|х|<Я, xeZ,(1)
(Н + х) (Н - х) = 0 (mod К")(2)
п
задается формулой х= ^ a^j, а, е{—1, +1}, / = 0, 1, ..., п.
Доказательство. Легко проверить, что все х указанного вида
удовлетворяют системе (1) — (2). Докажем, что других решений
у системы (1) — (2) нет.
Предположим, что для некоторого /0 выполнено p^^H + x) и pio^(H — х\ (Обозначение: а\Ь означает, что а делит 6; это эквивалентно 6^=0 (mod а).) Тогда р^ | (И + х) + (И — х) = 2Н. Но р ^ > 2, р^ простое, так что должно иметь место р^ | Н. т. е.
п '
Р/о|6/ дляP/.I6/.’чтоР/о|6/ дляP/.I6/.’чтоУ 6/. Однако по определению 6/ имеет место всех / =/= io* Следовательно, должно иметь место противоречит третьему условию в определении 6,о.
Р/о|6/ для
P/.I6/.’что
Р/о|6/ для
P/.I6/.’что
Таким образом, наше предположение отвергается и мы видим, что для каждого / число р"+1 делит в точности одно из выражений, Н -\-х или Н— х. Положим
1,1,а,=а,=-1,-1,если р"+Ц(Н — х), если р^+х | (Н + х),если р"+Ц(Н — х), если р^+х | (Н + х),
1,
1,
а,=
а,=
-1,
-1,
если р"+Ц(Н — х), если р^+х | (Н + х),
если р"+Ц(Н — х), если р^+х | (Н + х),
х' = 2 «/9/.
Тогда мы получим, ввиду х' = а^ = а^Н в х (mod py+1), х' = х(шобр"+‘) для всех /, откуда х' = х (mod К),
-Н^х'^Н )
H/v/H f=^l-t —х'|<2Я.
Но согласно выбору р^ (4(м + 1) 8т+1)1Л'1+1> и тому, что (УПЛ^ОуП р?+1<2.8"ж>
каждое слагаемое Н ограничено величиной /С/2(п4-1). Следовательно, 2Н < К; теперь мы заключаем, что х = х\ Таким образом, всякое решение (1)—(2) действительно представляется в заданном в условии теоремы виде. Доказательство окончено. ч
Используя лемму, мы находим, что условие
У 0zaz = т (mod 8w+1), az е {— 1, +1} /-о
эквивалентно системе
0^|х|^Я, xeZ,
x^T^odS^1),(I)
(Я + x) (H — x) = 0 (mod K\
Лемма 2. Пусть т нечетно, х е Z, ^ ^ 3,
(т + х) (т — х) = 0 (mod 2^+1) <=>
^-либо т +x = 0(mod2^), либо т — х = 0 (mod 2^)е
(Очевидное доказательство оставляется читателю.) Заметим, что в нашем случае условия леммы 2 выполнены. Следовательно, решениями системы (I) служат тс и только тс значения х, которые являются решениями приводимой ниже системы (II):
0 ^ |х| ^ Я, хе Z,
(и) (т + х) (т —х) ^ 0(mod г-в^1),(II)
(Я + х)(Я — x) = 0(mod/<).
Если некое х удовлетворяет (I), то оно, очевидно, удовлетворяет и (II); если х удовлетворяет (II), то либо t + xs = 0 (mod 8m+1), либо т — х = 0(mod8m+1); во втором случае х удовлетворяет (I), в первом случае —х удовлетворяет условиям (i) и (iii), общим для обеих систем, и —х = T(mod8m+1), так что --х удовлетворяет системе (I).
Наконец, система (II) эквивалентна
0 ^ Xi < Н, xi е Z,
Ai • 2 • 8m+1 (Я2 - х?) + ХгК (т - х?) = О (mod 2 • 8m+1 • Л"),
(Ш)
НОД (Ль &) = НОД(Л2, 2-8т+1) = 1; Ль Z2eZ.
В самом деле, в систему (II) входит только х2 и |х|, так что без уменьшения общности можно предполагать х ^ 0, а сравнения (ii) и (iii) из (II) эквивалентны условиям (ii) и (iii) из (Ш), так как 2-8m+1 и К— взаимно простые числа. Параметры М и Х2 системы (III) можно выбрать свободно в соответствии с условиями (III) (iii) и они будут выбраны разными для доказательств теорем 1 и 2; условия (III) (i) и (ii) выполняются либо для всех М, ^2, удовлетворяющих (III) (iii), либо ни для каких М, Х2 с этим свойством.
Теперь завершим доказательство отдельно для теорем 1 и 2.
Теорема 1. Полагаем M=(^+l)3, Х2 =—1. Очевидно, что условие (III) (iii) выполнено.
Теперь для Xi > О имеем
(Я + I)3 • 2 * 8m+1 • (Я2-х?) + Я(х?-т2)>0^0<Х1<Я.
Первое неравенство можно переписать как
2 / ,,2 .. Н1 — Т2
х\^Н 45п=ri= прав. часть. .
Оценим т, полагая
'В = Е 8* = (8/7) (8m — 1),
Л-1.
и .
2mI
Т = Тф + Е с, + (1/2) Е (ft - П + 2fГ);
2mI
-В<тф<0, Т.с, = НШ B^^ft + f^^B,
так что |т( ^ 2В— 1 < 8m+1 < Н. Поэтому правая часть удовлетворяет неравенству № < прав, часть < Я2+1- Отсюда следует, что уравнение на выходе алгоритма разрешимо в натуральных Xi, х2 тогда и только тогда, когда имеет решение система (III), т. е. когда выполнима формула ф..
Теорема 2. Выбираем Xi = X2=l, удовлетворяющие (III) (iii). Тогда (III) (ii) принимает вид
(2 . 8m+1 + К) х ^ Кт + 2 • 8'"+1 • Я2 (mod 2 • 8m+1 • К\.
и, ввиду взаимной простоты 2-8'п+1 + ^С и й-В^-К, первый вычет имеет обратный по mod 2 • 8m+1 • К. Умножая сравнение на (2. 8m+1 + К)-1 • (mod 2 • 8m+1 • К^, получаем квадратное сравнение из условия на выходе алгоритма. Таким образом, опять условия на выходе алгоритма удовлетворяются тогда и только тогда, когда имеет решение система (III).
ЗАМЕЧАНИЯ О РЕДУКЦИИ
Представляет большой интерес основная идея алгоритма-редукции, из которой можно вывести общий метод сведения комбинаторных проблем к диофантовым уравнениям с помощью детерминированных вычислений. Решающие моменты содержатся в системе определений алгоритма и лемме 1 из приведенного выше доказательства. Некоторый сокращенный вариант для уяснения существенных черт этого метода получается, если выбрать достаточно большими простые числа рь ..., рп и для всех / найти минимальные 6/, такие, что
Оу = 2/-1 (mod2rt),
Оу = mod П (Pz)n+1\
X/
Qt ^ 0(modp/)иnн = 1л, k=HW+1.i-i
Тогда мы получаем следующее утверждение.
Лемма 3 (лемма конверсии). Для каждого а е ю, т. е.
п-1
а= V otz • 2* + а • 2", az е (О, 1}, а ею
<-о
единственным а е ю, удовлетворяющим условиям
(О а < К,
a = a(mod2n),
а (а - Я) s 0 (mod К)
является
а = £ af_fih
где а/ суть цифры приведенного выше двоичного разложения а,.
Конечно, доказательство леммы 3 аналогично доказательству леммы 1.
Главная идея нашего способа кодирования для проблемы выполнимости состоит в организации переходов в обе стороны: между трактовками последовательности символов как цифр числа в некоторой позиционной системе счисления с основанием b (например, 2), с одной стороны, и как вычетов по системе взаимно простых модулей, с другой. Первая трактовка позволяет дать глобальное описание сдвига последовательности, вторая позволяет дать общую формулировку (т. с. для всей последовательности в одном сравнении) условия, налагаемого на каждый элемент последовательности. Все известные редукции распознавания правильного вычисления на машине Тьюринга диофантовых уравнений с числом переменных, нс зависящим от длины входа, предусматривают некоторые средства сочетания упомянутых операций над рассматриваемой последовательностью, совершенно различных по своему виду; наличие подобных средств является главной проблемой таких редукций и принципиальным условием получения достаточно точных оценок сложности решения задач о разрешимости диофантовых уравнений.
Если Зе^П^, т- е. ЗеЛ^ и Sce^, то алгоритм редукции, описанный в доказательстве теоремы 1, сводит задачи х е S? хе Sc? к задаче о разрешимости двух очень тесно связанных диофантовых уравнений1). Этот факт может помочь в изучении класса Л^П*^^- Для примера рассмотрим следующую задачу.
Открытая проблема 1. Существует ли полное множество в классе JY^^Jf^0 (т. с. множество в JVgPV\Jf^c. к которому каждое множество из Л^^ПЛ9^ сводится детерминированным алгоритмом за полиномиальное время)?
В качестве кандидата мы предлагаем множество S:
S = {(а, р) | а, р s <о; Эг s со, 1 < 2 < Р и 2 | а}.
S принадлежит Л^ПЛ^С, и проблема распознавания S эквивалентна в смысле сведения за детерминированное полиномиальное время проблеме разложения на простые множители, а следовательно, по всей вероятности, нс принадлежит ^ (см. [14] в связи с этими утверждениями).
!) Если Л— класс множеств, то через Лс обозначается класс дополнений к множествам из Л относительно естественных объемлющих множеств. — Прим. ред.
3. НЕДЕТЕРМИНИРОВАННЫЕ ДИОФАНТОВЫ МАШИНЫ
Определим класс недетерминированных машин Тьюринга с ограниченными вычислительными возможностями, носящими чисто числовой характер. Полином от многих переменных р(хь ..., хт, ух, ..., уп) с целыми коэффициентами определяет недетерминированную диофантову машину (НДДМ), являющуюся недетерминированной машиной Тьюринга, реализующей следующий алгоритм:
«На входном наборе ах, ..., а^есо угадай подходящий набор Ьх, ..., Ьп е о). Если для некоторого набора 6Ь ..., Ьп р^х. • ••, ат, Ьх, ..., 6п) = 0, то набор <ах, ат$ допускается; в противном случае он отвергается». Например, если р (хр yj = хх — у\, то соответствующая НДДМ действует так: «На входеtti so угадай такое 6iS(o, что ах — Ь\ = О. Если Ьх найдется, то ах допускается». Легко видеть, что такая НДДМ допускает в точности множество полных квадратов целых чисел, причем за полиномиальное время.
Эта модель вычислений посредством НДДМ интересна по двум причинам. Во-первых, если по вычислительным возможностям НДДМ нс уступают произвольным недетерминированным машинам Тьюринга, то они оказываются предпочтительнее последних, так как непосредственное теоретико-числовое описание множеств, распознаваемых НДДМ, способствует применению методов и результатов теории чисел к изучению алгоритмических вычислений. С другой стороны, НДДМ по своему Определению отделяют «арифметический» аспект недетерминированного вычисления от «комбинаторного»; изучение степени превосходства в вычислительных возможностях НДТМ над НДДМ (если оно имеет место) прояснит существенность наличия преимущественно комбинаторных средств (по сравнению с числовыми) в недетерминированном варианте вычислений.
Развитие теории диофантовой определимости в теории чисел в связи с 10-й проблемой Гильберта сделало возможным сравнение этих моделей, так как диофантовыми отношениями являются те и только тс, что распознаются НДДМ. Из теоремы Матияссвича, упомянутой во введении, следует, что класс отношений, распознаваемых НДДМ, совпадает с классом отношений, распознаваемых машинами Тьюринга.
Можно уточнить наш вопрос так: как сравнить эффективность НДДМ и НДТМ? В [1,3] мы показали, что ограничение только числовыми операциями в НДДМ вызывает нс более чем экспоненциальное уменьшение эффективности; а именно, отношение, распознаваемое на НДТМ за время /, распознается на НДДМ не более чем за время 210*2 (для широкого класса произвольно больших или малых функций t, вычислимых за
время О1). Снизить эту границу уменьшения эффективности пока что нс удалось; мы предполагаем, что эффективность вообще существенно нс уменьшается. Это подтверждается рассмотрениями в [1,3].
Чтобы завершить сравнение эффективности НДДМ иНДТМ, сопоставим класс 3) отношений, распознаваемых НДДМ за полиномиальное время, с Л9^ и ^. Могут оказаться полезными следующие определения:
(i) (другое определение 3>у. Для всех new класс 3)п есть множество всех числовых отношений/?, определимых формулами вида:\
(•^ь .х^ s R <->- Эуь .уп ^
( I х1+ ••• +xm I ) гр /vY п „ \ ^, пт
где q и Р— полиномы и, как всюду в этом разделе, |х| обозначает длину х в двоичном коде. При этом оказывается, что
Ф= U
I е ©
(и) Для всякого m-местного числового отношения R и /-местного числового отношения S будем говорить, что R ^-сводится к$2) (обозначается R ^ a>Sy если R определяется некоторой формулой вида:
(яь ..., хт^ е= R '4—^ Зуь .у/, У1-\А' •••> Уп ^
<2</(pi+-+^i)[p(Xb Хт> УхУп)==о&
"&(</!У/>®5],
где q и Р суть полиномы.
(Hi) Для всякого числового отношения R в NS*'. R называется ^-полным, если всякое другое числовое отношение в JV9> ^-сводится к R. Очевидно, если R 35-полно, то R @ Ф <=> <=> N& = s).
Используя результаты предыдущего раздела, мы покажем теперь, что всякое недетерминированное вычисление за полиномиальное время можно разложить на детерминированное вычисление с полиномиальным временем и вычисление с полиномиальным временем на НДДМ, более того, эти вычисления будут проводиться на фиксированной детерминированной машине Тьюринга и фиксированной в существенном НДДМ. (Дру-
гие подобные разложения, может быть более естественные, но требующие более сильных методов доказательства, даны в [3].)
Теорема 3. (а) В Ф существует ЛФ-полная проблема (на сомом деле даже в Ф^.
(Ь) В Ф существует Ф-полная проблема.
Следствие, (а) Ф s 9 =ф- Ф = ЛФ.
(Ь) Ф е,Ф^Ф = .№Ф.*
Доказательство, (а) Пусть p(xv х2, х3, yv у^ = xty^ + х2у2 — — ху Тогда НДДМ, соответствующая р(хь х2, х3, z/i, у2), распознает отношение S:
S = {<«, 0, Y>la. 0, У^ю, 3yv z/2em[az/f + 0z/2 —y = 0]}, являющееся Л^-полным, как находящееся в детерминированном, полиномиальном по времени взаимно однозначном соответствии с множеством диофантовых уравнений, Л^-полнота которого доказана в теореме 1, причем эта НДДМ имеет полиномиальное время работы.
(Ь) Нам нужно указать отношение Se^ и для каждой НДТМ М, распознающей некоторое множество из Л9^, ^-сводящее диофантово уравнение рм(.. .) = 0. Рассмотрим недетерминированное моделирующее устройство для произвольной НДТМ М (где Месо является индексом НДТМ), работающее полиномиальное время, если такое время работает М. Вычисление в этом моделировании будет «разделено» на детерминированную и недетерминированную части; детерминированная часть даст нам определение отношения S, принадлежащего классу ^; недетерминированная часть определит «сведение» НДДМ, так как это будет диофантово отношение.
Алгоритм моделирования. «Для НДТМ М на входе хеш: угадать время /е (о (такое, что М на входе х может остановиться за / шагов). Согласно алгоритму Кука [6] построить пропозициональную формулу в дизъюнктивной форме с нс более чем тремя буквами в каждой элементарной конъюнкции, выполнимую в том и только в том случае, когда машина М на входе х останавливается за / шагов. Вычислить с помощью алгоритма редукции из доказательства теоремы 1 соответствующие а, р, у е со. Угадать хь х2 (такие, что ах^ + Рх2 — у = 0). Если axf + Рх2 — у = О, то х допускается. Останов».
S = {(M, х, /, а, р, у)|М, х, /, а, р, у^ш; а, р, у вычисляются вышеприведенным алгоритмом моделирования, исходя из М, х,/}. Рм (х1> УхУ») = W + УбУз - Уб)2 + (Ух- МУ + (^2 - xi)2-
Заметим, что
P^G-J = 0^Z/4t/2+t/5y8-t/6==0,
У1 = М, у2 = хх.
Теперь предположим, что М— это НДТМ, допускающая множество Зм^^З, т. с. время работы М является полиномом от длины входа. Тогда алгоритм моделирования будет распознавать 5м за полиномиальное время и требует только отгадать числа, ограниченные 2 для некоторого полинома (...), который может быть определен исходя из времени работы М посредством анализа алгоритма редукции, использованного в доказательстве теоремы 1. Итак, для всех Xi е со имеет место: х^Зм^Зуь .yaeto; уху8 2^(1 1 \
причем рм(хх,ух, ..., У8)=0, <yi, ..., уб>^3, и, следовательно, М Ф-сводится (посредством рм) kSe®. Так как М была выбрана произвольно, a S не зависит от М, то отношение 3 2)-полно. Доказательство окончено.
Теорема 3 даст ответ на открытую проблему из [2]:
«Найти множество Ле®, такое, что для всех В cz со из В^Ф следует, что В полиномиально сводимо к А». Что каждое такое множество должно быть Л^-полным (как следует из теоремы 3), было довольно неожиданным. Ожидалось, что Ф\ t е о образуют иерархию проблем возрастающей трудности (в смысле ^-сводимости); кроме того, было подозрение, что теоретико-числовые проблемы, с очевидностью принадлежащие ЛЗ, менее трудны, чем Л^-полные: глубинная структура теории чисел, казалось, позволяет построить нетривиальные и эффективные алгоритмы для таких проблем. Теорема 3 показывает, что эти ожидания нс оправдались. Существуют различные естественные подразделения класса Ф в соответствии с характеристиками полиномов, определяющих НДДМ, распознающих множества в Ф*. число переменных, степени переменных и величина границы времени. Это приводит к многим проблемам классификации множеств и может оказаться важным для теории сложности. Обсудим некоторые возможности. Через Ф^ обозначим подкласс ®2, где соответственно полином Р(%1, ..., хт, ух, Уг) оказывается степени ^К по переменным уь У2- Очевидно, что множество 3 в доказательстве теоремы 3 (а) лежит в Ф^Х Тогда из теоремы 3 (а) легко получится
Теорема 4. Следующие утверждения эквивалентны
З^^З»
(^2‘2))cs^,
low?,
где Ас обозначает множество дополнений к множествам из А, а А обозначает дополнение к А.
Теорема 4 во многих отношениях является предельно сильным утверждением: можно показать [3], что
(^)2 (1))с с ^> s ^^
(SyysSftS’c^1.
Очень интересно рассмотреть размеры ££№
Рассмотрим следующие множества:
Si = {а | (Эх, у е о) (у2 — ах2 = 1)},
S2 = {а | а составное},
Ss = «а, 0) |(Bz е ©) (1 < z < 0 & z |а)},
$4 = «а, 0, Y) I (Зу, zero) (ау2 + Pz — у = 0)}.
Все они лежат в <£№. Но также:
Si лежит в У9 (см. [16])•
S2 лежит в ^, если верна обобщенная гипотеза Римана (см.
[14,15])..
S3: как замечено в конце разд. 2, S3e^n^c; вероятно
S3^ ^.j
S4 является Л^-полным.
Эти примеры показывают, что З)2^ является «микромиром», в котором представлены все основные подклассы Л9^. Это наводит на мысль о том, что более детальное изучение размеров D2^ очень важно; примером служит
Открытая проблема 2.
Показать, что 3)2^#= ЛЗ.
Показать, что З^^ЗЬ2^. (Очевидно, что второе влечет за собой первое.)
Имеет ли каждая степень в ^3 относительно ^р (детерминированной полиномиальной сводимости) представителя В 2)2(2)?
Самая важная открытая проблема, относящаяся к НДДМ, состоит в том, эквивалентны ли НДДМ и НДТМ на уровне полиномиального времени, т. с.
Открытая проблема 3. ^) = ^^?
Если ответ на проблему 3 окажется утвердительным, особенно важно будет исследовать естественные разбиения в связи с их возможным вычислительным значением, т. с. детальным анализом эффекта ограничений ресурсов. Желательно получить решения следующих задач.
Открытая проблема 4 (роль числа переменных) 9:
Все ли включения ЗУ1 г 3)w строгие?
Открытая проблема 5 (роль временных границ).
Пусть для А > 1 3)к обозначает множество всех числовых отношений, определимых формулами вида
^(Зуь .... Уп^^"^^?^, ...,хт,уъ . . .,^„) = 0], где с>0 и Р— полином. Если k> I, то 3) (I) ^ 3) (к), 35(1) есть в точности класс, определение отношений которого можно задать в виде
3^1, . .., Уп<У(Х1, • Xm)[P(xb • хт, У1, .... Z/J = O],
где Р и q — полиномы.
Отношение х = у лежит в 3)^ [2].
Лежит ли оно в®(1)?
Строги ли включения Sy^®^ при k>№ Из 3) = Л9^ следовал бы положительный ответ с помощью диагональной процедуры над недетерминированными машинами Тьюринга с временем, ограниченным пк. Но этот вопрос может быть независим от Л9^ = 3).
С другой стороны, если 3) ф ^3, то 3) и 3 были бы аналогичны, как подклассы №3, определенные качественными ограничениями на способ допускаемых вычислений. В этом случае представляло бы интерес поставить проблемы другого типа, касающиеся 3, такие, как проблемы о детерминированных вычислениях с полиномиальным временем.
Классификация сложности проблем в ЛЗ относительно 2)- сводимости.
Открытая проблема 6. Какова структура ЛЗ относительно ^ s> (^-сводимости)? Существуют ли ^-степени между 0 (степень множеств в 3^ и степенью ^-полного множества теоремы 3? -
Открытая проблема 7 (классификация множества Рг простых чисел). РггЛЗ [17] и Рг е3(ERH) [15].
Рг е 2)?
Является ли Рг ^-полным?
БЛАГОДАРНОСТЬ
Авторы признательны Дж. Робинсон и Биллу Сакоде за комментарии к первоначальному варианту этой статьи.
ЛИТЕРАТУРА
Adleman L. Number Theoretic Aspects of Computational Complexity. Ph. D. Dissertation, Univ, of Calif., 1976.
Adleman L., Manders K. The computational complexity of decision procedures for polynomials Proc. 16th Ann. IEEE Symp. on Found, of Comp. Sci., 169—177, N. Y., 1975.
Adleman L, Manders K. Diophantine complexity. Proc. 17th Ann. IEEE Symp. on Found, of Comp. Sci., 81—88, N. Y., 1976.
Baker A., Contributions to the theory of Diophantine equations. I. On the representation of integers by binary forms, Philos. Trans. Roy. Soc. London $er. Л 263 (1967/68), 173—191.
Baker A. Transcendental Number Theory, Cambridge Univ. Press. 1975.
Cook S. A., The complexity of theorem-proving procedures, in <<Conf. Rec. 3rd ACM Symposium on Theory of Computing», pp. 155—158, 1971. [Русский перевод: Кук С. А. Сложность процедур вывода теорем. Кибернетический сборник № 12, нов. сер. — М.: Мир, 1975, с. 5—12.]
Hardy G., Wright Е. An Introduction to the Theory of Numbers, Oxford Univ. Press (Clarendon), London, 1938.
Hilbert D. Mathematische Probleme: Vortrag gehalten auf dem internatio- nalen Mathematiker — Kongress zu Paris, 1900, Nachr. Akad. Wiss. Gottingen, Math.-Phys. KL II (1900), 253—297.
Karp R. M., Reducibility among combinatorial problems, in «Complexity of - Computer Computation» (R. N. Miller and J. W. Tratcher, eds.), pp. 85—104, ; Plenum, New York, 1972. [Русский перевод: Карп P. M. Сводимость комбинаторных проблем. Кибернетический сборник № 12, нов. сер. — М.: Мир, 1975, с. 16—38.]
Lame М. Note sur la limite du nombre des divisions dans la recherche du plus grand commun diviseur..., C. R. Acad. Sci. Paris Ser. Л—В 19 (1844), 867—869.
Матиясевич Ю., Диофантовые перечислимые множества, ДАН СССР, 191 (1970), 279—282.
Matijasevic Y., Robinson J. Reduction of an arbitrary Diophantine equation to one in 13 unknowns, Acta Aritm. 27 (1975), 521—553.
Матиясевич Ю., личное сообщение.
Miller G. L., Ph. D. Dissertation, University of California, Berkeley, 1975.
Miller G. L. Riemann’s hypothesis and tests for primality, J. Comput. System, Sci. 13 (1976), 300—317.
Niven L, Zuckerman H. An Introduction to the Theory of Numbers, Wiley, New York, 1972.
Pratt V. Every prime has a succinct certificate, SIAM J. Computing 4 (1975), 214—220.
ThUQ A., Uber AnnSherungswerte algebraischer Zahlen, J. Reine Angew. Math. 135 (1909), 284—805.
ДОБАВЛЕНИЕ ПЕРЕВОДЧИКА
Решение линейных диофантовых уравнений, Уравнение с
однии известным
ax-Vb^O(1)
исследуется и решается тривиально. Пусть /(у)— длина двоичной записи целого числа у. Число операций над двоичными символами в случае, когда а и b записаны в двоичной системе, ограничено величиной порядка /(«)•/(&), а точнее min(/(«), /(6))Х|^(л)—/(£>)), и во всяком случае <.№, где М = = max(Z(a),/(6)). Далее, диофантово уравнение с двумя неизвестными
' ах + by + с = 0, (2)
где b >• 0, решается с помощью алгоритма Евклида и непре
O^ri < Ь;О < г2 < гьO^ri < Ь;О < г2 < гьрывных дробей:
O^ri < Ь;
О < г2 < гь
O^ri < Ь;
О < г2 < гь
а = q\b + г2,b = у2Г1 + г3,
r2 = qara + г4,r2 = qara + г4,О < г3 < г2;О < г3 < г2;
r2 = qara + г4,
r2 = qara + г4,
О < г3 < г2;
О < г3 < г2;
Гп-ч = qn-ifn-1 + Г„, о < гп_, < г„_2;
rn-\ = qnrn, 0<гп<гп_ь г„ = НОД(а, Ь\
Уравнение (2) имеет решение только при гп\с. Ясно, что п^ ^/(6)4-3. Число необходимых двоичных операций здесь ограничено сверху величиной /(а) • UW]2 ^ М3, где М = max (/(а), l^Y Если Гп|с, то решение находим так. Подходящие дроби для а/b вычисляются рекуррентно:
■ ^0=1» ^1 = ?Ь Pk+\ — Pk " qk+\ + Р k-b1~>ь>»1
Qo = O, Qi = l, Qfc+i = Qk • qk+x + Qk-i>/
Число двоичных операций тут ограничено сверху величиной Л13. Теперь общее решение уравнения (2) в целых числах выглядит так:
x = (-1)"^c,Q„-i-Q„Z, У = (-1Гс'Р„_1 + Р„Л (2')
где o' = с]п, a t = 0, ±1, ±2
Для нахождения c'Qn-\ и с'Рп-\ требуется не более 2Л1*/(с)' операций.. Итак, общее число операций для решения (2) в целых числах ограничено сверху величиной Л12 + 2ЛР + 2М X X/(c)^5L3, где L = max(/(a), /(6), /(c)) (оценка завышена).
Решение уравнения (2) в натуральных числах, если таковое существует, извлекается из (2') за полиномиальное от L время.
Разберем, наконец, часто встречающийся (особенно в приложениях) общий случай линейного диофантова уравнения с m неизвестными, решение которого будем искать в целых числах:
amxrn"Y am-xXm-x"Y ••• + a^j + с = 0.(3)
Заменой переменных вида x't = — xt можно добиться положительности всех аи Упорядочим коэффициенты аь а2э атпо величине: ат ^ ат~х ^ • • • ^ Дь Разобьем их на группы равных коэффициентов, если такие найдутся, и запишем уравнение (3) в виде,
Ьк(хп+ ... + x,6_1+i) + 6&-i (х^_, + ... +x/ft_2+i)+ • ••
+^(^,4- ... +х1) + с = 0. (4)
На это потребуется нс более чем пг^М операций, где М = = max (I (at) 11 ^ / ^ m), т. е. не превосходит Is, где J — длина двоичной записи массива (аь а2, ..., ат, с) (т. с. количество информации об уравнении (3)).
Положим
*1 + ♦•♦ +^, = Урх(-,+1 + • • • + х{1 = уу(5)
Х<6-1 + 1 +А""Хп = ук.
Уравнение (4) примет вид
ЬкУк + Ьк_\ук_\ + ... + Ь\У\ + с = 0,(6)
где Ьк < Ьк-х < ... <ЬХ.
К паре Ьк, bk-х применяем алгоритм Евклида, определяя НОД (bk, bk-x) = r, PW, QW, PW QW такие, что PW/QW — несократимая дробь, равная bk-x/bk, PW'/QW— предпоследняя подходящая дробь для bk_x[bk, PWQW —QWPW =(— I)"1, откуда
b^-VF* PW + Ьь-х (—l^Q*0 = r(1).(7)
Далее, (6) приводится к виду
r^(Qwyk + Р^Ук-i) + bk_2yk_2 + ... +61У1 + ^ = 0.(8)
Полагаем ^Qwyk + Р'ук_^ = y^_v Уравнение (8) перейдет в
г^_х + Ьк_2Ук_2 + ... + Ьхух + с = О,(8Э
где 0 < г^ < Ьк-2.
Применяем алгоритм Евклида к г(1) и Ьк-ъ и так далее. Пусть мы получили уравнение
г<0^1 ++^4-6 = 0,(8'«)
где 0 < rW^bk-t-x и
y^ = W^VWk_PО)
а 1 ^ / ^ /,
р№ = р, Q№ = Q, у^ = ук, У^х = Ук^
РУ\ Qy\ P(fy и Q^' получены применением алгоритма Евклида кг»-», ЬкЧ ^j<iY
Если г^’* = 1, то общее решение (8(1)) через целые параметры us задается в виде
(10)(10)Ук—i—s ^s»1 ^^ < ^ Л
(10)
(10)
Ук-1 =(^»-<-1И1 ++ ^l^k-i-1 + С)"
Обозначим п/ число операций в /-том применении алгоритма Евклида. Дальше, согласно (9)
У1^ = ((-I)"' PW +Ук_, + Q^t^
Ук-т = ((-1)”' РиУ + (-1)"/-1 Q^yk-i - РХ
где 1 ^ / ^ i, tj — параметры.
Если же г^^Х, то применяем алгоритм Евклида к г^ и bk-i-x. Число операций на /-м шаге ограничено, согласно (10) и (11), величиной /*У2^У3, так как все числа Ри\ Pw, Q^\ Q^f при 1 ^ / ^ / ограничены сверху числом bk-i-x- Кроме того, до Z-го шага мы i раз применяли алгоритм Евклида к числам, ограниченным сверху числом bk-t-x, на что ушло, как можно сосчитать, учитывая, что bk < Ьк-х < ... < bk-ц не более чем У3 операций, откуда общее число операций до Z-го шага ограничено 2У3.,
Если мы дойдем до (6— 1)-го шага, т. с.
rkk-X^k-X^c = Q^к-Х^
и fk—x ^ 1, то уравнения (8) и (3) имеют решение лишь при г^-^Ь. Тогда
укк-хх=_с[гкк-ххе(12)
Далее применяем (11) для нахождения уь у^ ..., ук. а из (5) определяем общее решение уравнения (3). Поскольку для нахождения— с/г^-1) достаточно У2 операций, то для решения уравнений (8) и (3) достаточно 2У3 + У2 операций (оценка, конечно, завышенная), во всяком случае имеется полиномиальная верхняя граница. Значительно более сложно решаются в целых числах системы линейных диофантовых уравнений. Алгоритмы решения общих таких систем и полиномиальные оценки сложности решения получены М. А. Фрумкиным (см. [1], где имеются также ссылки на другие, связанные с этим работы). Проблема нахождения решения уравнения ах + by + cz = к в натуральных числах, где а, Ь, с, к, х, у, z^w или двумерная задача целочисленного программирования решается за полиномиальное время (см. [2]). Вопрос о том? имеет ли проблема
решения одного линейного диофантова уравнения с любым фиксированным числом неизвестных, большим или 'равным четырех, в натуральных числах полиномиальную сложность, остается открытым. Проблема разрешимости систем линейных диофантовых уравнений в натуральных числах является Л9^- полной, так как к ней легко сводится Л^-полная проблема целочисленного решения системы линейных неравенств, к которой в свою очередь сводится Л^-полная проблема разрешимости системы диофантовых уравнений в числах 0, 1 [3].
Задача целочисленного программирования лежит в Л9^ (см. [4]). Там же доказано, что проблема разрешимости систем линейных диофантовых уравнений в натуральных числах и систем линейных неравенств в 0, 1 JV9>- полны, а проблема разрешимости системы линейных уравнений по modd полиномиально разрешима. Представляют большой интерес проблемы получения хороших нижних оценок сложности для решения линейных диофантовых уравнений или нахождения НОД в разных алгоритмических системах.
В этом разд, излагается почти без доказательств содержание доклада Эдлимэна и Мандерса на 17-th Symp. on Found, of Comp. Science (1976 г.), а в некоторых местах использованы материалы студенческой дипломной работы МГУ, 1979 г., с любезного согласия ее автора С. Л. Руденко, в которой восполнены пробелы, имевшиеся в указанном докладе.
В докладе этих авторов (см. [3] в ссылках к их статье в настоящем сборнике) вводится понятие диофантовой сложности распознавания разрешимого множества А, как всякой рекурсивной функции ф(х), такой что существует полином Р(х, хь ... ,..,хп) с натуральными коэффициентами для которого
хеД^Зхь ..., хп (max (/ (xj)< ф (х) Л Р (х, хь ..., хп) = 0),
где /(у)— длина двоичной записи числа у. Это определение обобщается на перечислимое множество А, если ф(х) считать частично рекурсивной функцией.!)
*) Чтобы объяснить такой выбор определения диофантовой сложности, напомним нормальную форму Клини частично рекурсивных функций:
Ф (?) = р [ру (0 (М У) = 0)].
Здесь р и 6 элементарные по Кальмару функции; 6 соответствует некоторой машине Тьюринга с входным набором х, а у — гезелев номер вычисления машины Тьюринга (т. е. последовательности ее конфигураций), а 6 (я, у) = 0 означает, что вычисление с номером у над входом х завершается. При этом ру(0(х, у) = 0) как функция х удовлетворяет аксиомам сложности Блюма (сб. «Проблемы математической логики». — Mj Мир, 1970, с. 404). При естественном кодировании длина вычисления находится в прямой (монотонной)
Определяются два класса функций сложности S7i и ST^*. ^^^STX, если существует полином Р с натуральными коэффициентами, такой, что
Vx (ф (х) = Р(1 (х)) или Vx (ф (х) = 2P(Z(X));
ф(х)е 57*2, если существует функция ф, являющаяся временем работы некоторой детерминированной машины Тьюринга, применимой к любому х, такая, что
Весьма специальный характер определений связан с методом доказательства основной теоремы.
Основная теорема.
Для всякого множества Л^о и всякой функции феSTiUST2: (а) Если А распознается с диофантовой сложностью ф, то существует НДТМ М, распознающая А за время ф2. (Ь) Если А распознается некоторой НДТМ за время ф, то А распознается с диофантовой сложностью 210ф2- Первое утверждение теоремы доказывается легко. Сложнее доказывается второе.
Доказательство пункта (Ь) опирается на ряд лемм.
Пусть М — НДТМ, хео), М завершает работу на входе х за время t и М имеет х команд п, ..., Тз и рабочий алфавит О, 1, b — пустой символ. Каждая команда имеет вид
<qtakatlqi) или {д^а^})
Определяются числа /0, Л, 1Ь, 1ьх> •••, 1ьг* Длина двоичной записи каждого из них равна /2 (некоторые могут начинаться с нулей). Двоичная запись каждого числа разделена на / отрезков длины 1. Отрезки нумеруются справа налево, а цифры внутри каждого отрезка нумеруются слева направо: n-ая цифра m-го отрезка, Zi равна 1 <=> после (т—1)-го шага вычисления машины М на входе х в /г-ой ячейке стоит 1. Аналогично определяются /0 и 1ь с заменой 1 на 0 и b соответственно: n-ая цифра m-ro отрезка /й/ равна 1 ФФ m-ая команда вычисления машины М на входе х есть а^ а считывающая головка перед выполнением а/ находилась в n-ой ячейке.
зависимости от величины у. Наконец, всякий частично рекурсивный предикат р выражается при подходящей 0 так:
р(х = 3у [О U, у) = 0]
или
pW^yCqWx, у) = Ц,
где q(х) = pu/[0(x, У) = 0]. Результат Матиясевича можно сформулировать так: в качестве функции 6 можно взять полином от х, у.
Числа т и п назовем несравнимыми, если для всякого i из того, что Z-ая цифра двоичной записи числа т есть 1, следует, что r-ая цифра двоичной записи п есть 0.
Лемма 1. Для каждой НДТМ М существует система условий
S такая, что Vx, t 1.
.(I) М заканчивает работу на входе х за время t=^
3(Т, /о, /ь 1ь, 1а‘, .... IOz, z0, Zb^y удовлетворяющие системе S;
3(70, /ь Ib, 10р 7Ог, z0, гь<2‘’) такие, что t, 10, 'II, Ib, lap •••, Iaz, Zo, zb удовлетворяют S.
V (7, 70, h, Ib, IaxIoz, Z0, Zb) (T, 70) h, Ib, IO1k, удовлетворяют S=>T^t).
: (II) 3 (T, I», Ii, Ib, Iox, • • •, IOz, Zo, zb), удовлетворяющие S =>M заканчивает работу на входе х не более чем за Т шагов, где условия системы S суть:
Zo, Ii, 1ь~ попарно несравнимы;
/о + Л + Л = 2л-1;
7j — х = 0 (mod 2Г);
7„_ = 2г-‘(mod2Г)Л(1О= 1а3=...= Ioz=0(mod2Г))V v(/a =2Г"'(mod 2Г)) Л (/„ = /„ =... ^/Oz^0(mod2r)).
.Не уменьшая общности, полагаем, что о^г^^О ...), °г2 = ^о1 • • •) и никакие другие команды не содержат
начального состояния qQ.
lo. + ^x^O.
Опять не уменьшая общности, полагаем, что oz_\ = = (qnHrqn\ °г = ^An^rq^ и никакие другие команды не содержат заключительного состояния qn.
1ах, ..., Iq^ попарно несравнимы.
^^т-х Z 4/ + 2г+* 2 1а,- 2 Io.-cq = о
(по одному такому равенству для каждого q в М), где Lq = (j\Cj сдвигает головку влево, переходя в q}, Rq = UI °i сдвигает головку вправо, переходя в q}, S^f/la^^...», С. = [2Гесли Ч = Ч» ■
I 0,если q ^ q^.
2 Л,» ^о» Л попарно несравнимы, i®Rv 1■ .
2 Ion Л, 1ь попарно несравнимы, j е Ro 1
2 Io,» 1о» Ii попарно несравнимы, i^Rb 1
где R\ = Vj 107 = (. 1 ...), a Ro и Rb определяются ана логично.
(zo + z» + x = 2r-l)A a^Zi-x)^^, £ ц^^ц- - Е Z - £ ZOA 0 (mod 2Г8)1 А
jGSX0 / JeSlb I)J
лГ(7о — z0) — 2г^0 + E 7a + E 7a.—
LV iesl0 1 i esb0 1
- E 7а,- E Z^A = 0 (mod 2Г,)"| л
i = s01 I j^sob VJ
лПМЧШ £ 7 + 2 Io -
LV isslb i i^sob '
- E 7 - E I W 0 (mod 2^)1
jeSbx ' fSSb0 i)J
где Soi = {/1^/= (-Ol ..)}, а остальные множества Suy (и =/= у; и, v = 0, 1, 6) определяются аналогично.
Доказательство леммы несложно, но громоздко. Поясним смысл отдельных условий из S.
Условия 1), 2) дают описание ленты с одним символом в каждой ячейке. Условие 3) означает, что сначала на ленте записано слово. Условие 4) означает применение одной из команд аь 02 к первому символу ленты. Условие 5) утверждает, что М завершает работу на входе х. Условия 4), 6) — 9) описывают вычисление машины М на входе х длины / ^ Г, что доказывается индукцией по m-му шагу вычисления. .
Лемма 2. (см. [10]) Vm, песо следующие условия эквивалентны*.
пг, п несравнимы,
(И) Ст+п нечетно,
(iii) (Эх, у ^ С/п+п) (х = Cm-vn А 2у -[-1 = х).
В системе S условие вида «числа m и п несравнимы» заменим уравнениями (iii), а условие вида a = 6(modc) — уравнением а — b = hc. Новую систему условий обозначим через S'.
Лемма 3. Vz, п, к е о существует система В (2, п, к) экспоненциально-полиномиальных уравнений, такая, что (i) 2 = = Сп=>Н решение B(z,n,k), не превосходящее-22п2+4, при котором значения экспонент (т. е. выражений вида ехрм), входящих в В (z, п, к), не превышают (^ + 2)п.
Система Bkz,n,k) разрешима в натуральных числах =^z = Cn к°м. [7], лемма 4.3).
Заменим в S' уравнение вида 2 = Сп на систему В (г, п, А). Новую систему, состоящую лишь из экспонент и полиномов, обозначим В". Рассмотрим решение в натуральных числах уравнения Пелля —х2— (Д2— l)z/2 = l, и n-ое по величине ре- шение для у обозначим через -фд.
Лемма 4. (Сж. [8]. Лемма, с. 535).
Vy, х, mw существует система уравнений Еку,х,п) с полиномами и функцией трл» такая, что:
у = хп ф существует решение системы Е ку, х, л), не превосходящее хуп- [8nx(y + 1) + х2 + х]2п, и единственная используемая функция ф есть ф4пх (!/+1)+х2+х (n + 1).
Система Еку, х, п) имеет решение фу = хп.
Заменим в системе S" уравнения вида у = хп на систему Еку, х, п), и получим систему S'", состоящую только из полиномов и функций ф.
Лемма 5 (см. [7], теорема 3.1)
Vа, у, k^a) существует система полиномиальных уравнений Рка,у, к), такая, что:
у = -фа к^ ^ существует решение системы Рка,у,к), не превосходящее 23а,2к;
Система Рка, у, k) имеет решение фу = фа(6).
Заменим теперь в системе S'" уравнение вида у = ^акк) на систему Рка, у, ку Новая система S"" состоит только из полиномов. Эту систему обычным образом можно заменить единственным уравнением Рм кх> Т, и) = 0, где Рм полином, а и-^- набор натуральных чисел.
Лемма 6 (слабая форма основной теоремы). Для каждой НДТММ, Vx, t^0),t> 1
М завершает работу на входе х в точности за время t=s-
(аг, u^^^mIx. т, и)=0);
(Зы < 222*№) (Рм (х, t, и) = 0);
(УГ, ы)фм(х, Т,и) = 0=^Т>О-
Если уравнение Рм = 0 кпРи данном х) разрешимо в на* туральных числах, то М заканчивает работу на входе х.
Ослабленная основная теорема (лемма 6) отличается от основной теоремы завышенной границей решений уравнений Рм = 0: тройной экспонентой вместо 2210f.
Лемма 7. Va, у, k, dew, к> 1, d > 1, а > к
(\) y = ^a,d(k)^(3x<A^ad)k)(3l(x, у, к, le^, k<(2ad)k удовлетворяют системе уравнений Pj).
Система Р' имеет решение х, у, к, 1^(й^
y = ^adto или
у ф ^ad (6) А х > (ad) > d , где система Р' есть
х^-(аМ2~\)у^=\.(1)
у — к = I (ad — 1) (то есть у = к (mod (ad — 1)))(2)
Выполнение (1) следует из определения функции гр, а (2) — из леммы 2.14 работы [7], что доказывает (i). Пункт (ii) следует из лемм 2.14 и 2.19 той же работы.
Существенным недостатком леммы 7 является то, что существование решений системы Р' нс гарантирует равенства у = ^аа(к), но мы исправим этот недостаток, выбрав такое d, что dd > х. В системе 8П выражение вида у = хп заменим на 2 = (xd) п, w = dn, 2 = yw.
Получим систему 8", от нес по лемме 4 перейдем к S/7. Выражение y = ^ad(k) в системе S"7 заменим системами Р\ Получим систему полиномиальных уравнений 8П,\ от которой перейдем к одному полиному Рм (х, d, Т, и).
Лемма 8. Для всякой НДТМ М, Vx, t, dem, t> 1
d < 22^ и M заканчивает работу на входе х за время 1=^- (ЗГ, и^^УР^х, d, Т, и)=оу,
d > 210<2 и (ЗГ, и < 221№)(Рм(х, d, Т, и) = 0) => М заканчивает работу на входе х.
Лемма 9. Существует система 4(t,d) полиномиальных уравнений, такая, что для всякого / g со, / ^ 1:
Существует решение системы 4(t,d) в натуральных числах, меньших чем 22.
Для каждого решения системы Т в натуральных числах d > 222*."(
Доказательство. Берется уравнение d = z + 222<. Оно заменяется системой Н:
( 2‘ = Х1 (1); 2х! = х3 (3)
12х, = х2 (2); x34-2 = d (4)
Уравнения 1 и 2 заменяются полиномиальными уравнениями. Согласно лемме 6, существует решение системы, не превосходящее 222l0< п
Уравнение 3 по лемме 4 заменяется системой уравнений, содержащих гра(&), где а > 222 . Уравнение с функцией ф заменяется системой Р\ У полученной системы существует решение, не превосходящее 22, а следовательно, некоторое решение
нс превосходит 222 . Ввиду а° > 222 y = tya(k) (согласно лемме 7), откуда й = г + 22^, 2^0.
Доказательство основной теоремы. Пусть множество А распознается НДТМ М за время ф^5Т2, т. с. существует НДТМ М с временем работы ф, таким, что
25Ф2(Х)+^ 4ф ^ ^ 22Ф(х)-1
для всех х, для которых определена функция ф. Заменим си* стемы Р^(х, t, и), Т(Т, d), Рм(х, d, Т', и') на одно уравнение ^ = 0
Пусть хе А. Тогда
М заканчивает работу на входе х за ф(х) шагов. По лемме 6 (i) (b) Р^ имеет решение с Т = ф^х) и другими числами, меньшими чем
22210фЧх) = 22(25Фад)2 ^фЗД
Согласно (а) и лемме 9 (i), Т имеет решение, нс превосходящее
210Т222юф2(х)
22<р х
в том числе и d ^ 22Ф?(Х).
М заканчивает работу на входе х за время ф(х), следовательно, по (6) и лемме 8(i), уравнение Рм = 0 имеет решение, не превосходящее 2210ф(х).%
По (а), (6), (с), уравнение Ра = 0 имеет решение, не превосходящее 2210ф2(х)
Пусть Ра = 0 имеет решение, не превосходящее 2210ф2(х), тогда
Рм имеет решение и по лемме 6 (i) (с) Т^ф(х);
Т имеет решение, не превосходящее
22ЮФ2(Х)2222Ф(Х)2222Г'
и по лемме 9 и (а)
d ^ 2?Т ^ 222W ^ 210ф2(х)
По (6) и лемме 8 (ii) М заканчивает работу на входе х, Т. е. хе А..
Пусть теперь ф е STi
Лемма 10. Для каждого полинома Р от одной натуральной переменной существует система Т'(х, d) равенств между полиномами, такая, что Vx^w
Существует решение системы Т'(х, d), не превосходящее 22р2(Н*))
Для всякого решения, не превосходящего ^pt№^ число d>2™^\
В самом деле, если Р(х) нс константа, то
(V°°x) (10Р2 (х) < ЮР2 (2Z(X)) < 2РЧ1^\
Пусть хо^о) таково, что для Ух>х0 выполнены эти неравенства. Как и в лемме 9, можно построить систему Т"(х, d) со следующими свойствами: Vx> 1
Существует решение T"(x,d), нс превосходящее 210Р’(*\
Для всякого решения T"(x,d), не превосходящего 22Р(*\ число d ^ 2pw. Перейдем к системе Т'(х, d^:
x = i^d = 2™^■ i= 1, 2, . / ., хо,, х = Хо + 1 + z =^ Т" (х, d).
Мы можем избавиться от связок V, W, а ввиду 1 (Р(х) = 0)<=Ф <=> (3z) (Р(х) = 1 +z) и от 1, а значит и от =>. Получим систему, удовлетворяющую пп. (i) и (ii) леммы. Если ф(х) = = Р^Цх)), то Рд получим из комбинации системы Т'(х, d) и Рм (х, d, Т, и) = 0. Случай ф (х) = 2P<ZW) разбирается аналогично. Основная теорема доказана.
ЛИТЕРАТУРА
Фрумкин М. А. Применение модульной арифметики к построению алгоритм мов для решения систем линейных уравнений. — ДАН 229, № 5 (1976), с. 1067—1070.'
Hirsberg D., Wong С. Journ. ACM, 23, No. 1 (1976), 147—154.
Карп P. M. Сводимость комбинаторных проблем. Кибернетический сборник № 12, новая сер. — М.: Мир, 1975, с. 16—38.
Kannan R., Monma С. L. On the computational complexity of integer programming problems. In: Optimization and Operations Research. Proc, of a Workshop Held at the Univ, of Bonn, Oct. 1977.
Михелович III. X. Теория чисел. — M.: Высшая школа, 1967.-
Боревич 3. И., Шафаревич И. Р. Теория чисел. — М.: Наука, 1972.
Davis М. Hilbert’s Tenth problem in Unsolvable.— Amer. Math. Monthly, 80 (1973), 233—269.
Matijasevic Y., Robinson J. Reduction of an Arbitrary Diophantine Equation to One 13 Unknown. — Acta Arithmetica, 27 (1975), 521—553.
Хассе Г. Лекции по теории чисел. — М.: ИЛ, 1953.
Матиясевич Ю. Новое доказательство теоремы об экспоненциальнодиофантовом представлении рекурсивно перечислимых предикатов. — Записки ЛОМИ, 1976, т. 60.
Глубина всех булевых функций1)
В. Ф. Мак-Колл, М, С. Петерсон
Показано, что в случае базиса, состоящего из всех двуместных функций, каждая булева функция от п переменных реализуется схемой глубины n+ 1.
ВВЕДЕНИЕ
В работе [3] Спира показал, что любая булева функция от А переменных реализуется схемой глубины п + log п, где
, *( 0, если п ^ 1,
log п = < ..
( log (log2n) + 1 в противном случае.
Препарата и Мюллер [2] для конкретных значений п дали следующие верхние оценки глубины:
п при и ^8,
п + 1 при и ^ 28 + 8 = 264,
п + 2 при п 2264 + 264, и т. д..
В то же время с помощью вычислительной машины Кнут показал, что существуют булевы функции от 4 переменных, требующие глубины 4.
В данной статье мы приводим конструкцию, дающую верхнюю оценку n+ 1 при всех значениях п и оценки вида п + 0(1) для схем в различных ограниченных базисах.
.2. УНИВЕРСАЛЬНЫЕ СХЕМЫ
Наша конструкция, как и все предыдущие известные нам конструкции, минимизирующие глубину, является «стандартной» для всех функций от п переменных. Для всех функций используется один и тот же ориентированный граф с той же самой расстановкой переменных на входах, а необходимое варьирование достигается приписыванием вершинам графа различ-
ных базисных функций. Конструкция О. Б. Лупанова [1], минимизирующая сложность формулы, уже не такая. Мы сформулируем это ограничение в виде определения универсальной схемы и покажем, что наша конструкция даст для универсальной схемы минимальную глубину с точностью до аддитивной константы.
Положим В = {0, 1} и Вп= {f: Bn->BY Пусть Хп = = {хо, хь ..., хп-1} — множество переменных, встречающихся в формулах и схемах. .
Определение. Универсальной схемой называется связный ациклический ориентированный граф, в котором входная степень любой вершины равна либо 2, либо 0, причем в первом случае
вершина называется элементом и входящие в нее дуги упорядочены, а во втором случае вершина называется входом и ей приписана переменная хь Универсальной формулой называется универсальная схема, в которой выходная степень каждого элемента нс больше 1.
Пусть Сп ^ Вп и Ьг В^. Будем говорить, что универсальная схема S покрывает Сп в базисе 6, если для любой функции f^Cn можно так приписать функции из b элементам схемы S, что полученная схема будет реализовать f. На рис. 1 показана универсальная формула, покрывающая В3 в базисе В2. Последнее следует из разложения
f (х0, ХЬ х2) = (х0 & fl (хь Х2)) © /о (хь х2),
где ф обозначает сумму по модулю 2, fo(xi, х2) = f (0,-хь х2) и fi(xb х2) = f(l, хь х2) ф /(О, хь х2). Мы проверили, что это единственная (с точностью до очевидных симметрий) универсальная формула менее чем из 5 элементов, покрывающая В3. Ее глубина равна 3, следовательно, она оптимальна. В общем случае нижняя оценка глубины универсальной схемы может быть получена простым подсчетом.
Теорема 1. Любая универсальная схема, покрывающая Вп в любом базисе b г В2, имеет глубину не менее п— 1. Кроме того, если |6|^4, то глубина не меньше п, а если 161 = 2, то глубина не меньше п + 1.
Доказательство. Универсальная схема глубины D содержит не более 2D—1 элементов, поэтому, варьируя в пределах b функции, приписанные ее элементам, можно покрыть множество*
содержащее самое большее | b р2^1 различных функций. Поскольку | Вп | = 22", мы имеем
| b l^-1 > 22П,
откуда следуют перечисленные выше оценки. |
В последующих трех разделах мы изложим основной результат статьи — универсальную схему глубины п+1, покрывающую Вп в базисе В2.
ИДЕЯ КОНСТРУКЦИИ
Нашей отправной точкой будет пара известных двойственных разложений булевых функций. Пусть У = (уь ..., у^ и Z = (2b ..., гт)—множества двоичных переменных. Всякую функцию f(Y, Z) из Bk+m можно представить в виде дизъюнктивного разложения относительно Z*.
f(Y,Z)= v (6с(2М(У,С)),
СеВт где
»( 1, если Z = С,
6с (2) = ) Л (О в противном случае.
Двойственное конъюнктивное разложение относительно Z имеет вид
fM = & (dc(Z)vf(y,C)),c®Bm
где бс— отрицание 6с.
Каждый из членов б и б требует для своей реализации формулы глубины лишь rlog2/n1, во всяком случае, общая глубина больше максимальной глубины для бс, 6С и /(У, С) на m + l, ибо внешние дизъюнкция или конъюнкция 2т подформул требуют глубины /п, и один дополнительный уровень используется для единственной конъюнкции или дизъюнкции, осуществляющей привязку б или 6. Накопление этих уровней в ре кур рентном разложении относительно последовательных подмножеств переменных приводит к появлению члена log* п в оценке Спиры.- Наша цель избежать этого.
Рассмотрим один член dc(Z) &/(У, С) в дизъюнктивном разложении. Мы можем представить /(У, С) в виде конъюнкции большого числа небольших членов, используя конъюнктивное разложение для следующего подмножества переменных. Пользуясь ассоциативностью конъюнкции, мы могли бы попытаться объединить бс с f(y, С), но, к сожалению, число членов в f(Y, С) равно в точности степени 2. Наше, казалось бы, безрассудное решение состоит в том, чтобы отбросить один из этих
членов, освобождая место для 6с, и удовлетвориться «приближением» к исходной функции. PQДИ этой уловки мы в каждом разложении чередуем дизъюнктивное и конъюнктивное разложение относительно последовательных подмножеств переменных. Результатом первой конструкции будет формула глубины п, но она реализует лишь приближение к требуемой функции.
Удивительный конечный результат таков: правильную функцию можно получить, складывая по модулю 2(ф) этот предварительный результат со второй функцией, которую можно реализовать, используя рекуррентно общую конструкцию также с глубиной п. В итоге вся схема получается глубины лг + 1.
В подробном описании первой конструкции следует обратить внимание на последовательность чисел переменных в разложениях, а также на то, что член удаляется из разложений не совсем тривиально. Мы опишем нашу конструкцию в терминах формул, а не в более абстрактных терминах универсальных схем. Однако будет ясно, что эти формулы являются стандартными.
ПЕРВОНАЧАЛЬНАЯ КОНСТРУКЦИЯ
Разобьем множество Хп на такие подмножества /?0, ^?ь ... ..., Rp, что |7?J = r/, а последовательность чисел (го, . •> гР\ задается следующим образом:
Го = 2,
^ — z + 1, если 0 < I < р, т-
Гр = п — Sp_b где Sm=£rz,ИНi=0
причем р— максимальное число, удовлетворяющее условию
Например, если п=\1, то мы получаем последовательность (2, 2, 3, 4, 5, 1). Вообще для наших целей годится любая последовательность натуральных чисел, удовлетворяющая четырем условиям:
(О Го = Г1 = 2,
Sp = n,
rm^2Sm-2 при четном m^2,
rm ^ 2Sm~2 — 2sm~3 при нечетном m^3.
Наиболее быстро растущая последовательность, удовлетворяющая этим условиям, имеет такой начальный отрезок: (2,2,4,12, 256,220 — 256, 2276, ...).
Следующее определение позволит нам указать вид функции, которую можно реализовать с помощью первоначальной конструкции.
Определение. Пусть S = {/?ь ..., R^, где Rj еХпЛ <J ^ к» Функцию g(Xn) будем называть S-простой, если g^Xn^ = 0 всегда, когда для какого-нибудь Rj е S выполнено соотношение Ri = 0 (здесь 0 = (0, ..., 0)).'
Благодаря разд. 3 мы подготовлены к первоначальной конструкции.
Теорема 2. При п>4 каждая {Rh • •> Rp-Л-простая функция g(Xn) имеет формулу глубины п.
Доказательство. Из того, что п > 4, следует, что р > 1. Представим g в виде дизъюнктивного разложения относительно Rp, если р нечетно, и в виде конъюнктивного разложения, если р четно. Каждый из 2гр членов разложения можно реализовать с глубиной Sp-i, что вытекает из следующей леммы. |
Для того чтобы провести доказательство по индукции, мы должны более точно описать строение формулы на каждом Шаге.
Лемма). Пусть Rq, Rx, ..., Rm(m> Ъ) — непересекающиеся множества переменных соответственно мощности rQ, гх, ..., rm, удовлетворяющие условиям (i), (Ш) и (iv). Тогда для любой {/?ь • ••> ктУпростой функции g^Ro, ...» Rm) существует формула, которая при нечетном пг является дизъюнкцией 2Гт — 1 подформул глубины Sm-\, а при четном пг является конъюнкцией ^ — 1 подформул глубины Sm-\ и еще одной подформулы глубины Sm-^
Доказательство проводим индукцией по пг, используя при нечетном пг разложение
S №01 •••> Rm) = V (^С (Rm) & Sc (R<h •••> Rm-x))>'
С¥=0
а при четном пг разложение
g (Rot Rm) = $0 (Rm) & & (^С (Rm) ^ Sc (Ro* Rm—i))»
С=/=0.
где в обоих случаях gc = g(Ro, • • •, Rm-ь Q-
Справедливость этих разложений легко проверяется. Если пг = 1, то первое разложение имеет требуемую форму, так как обе подформулы бс и gc имеют глубину 1, и, таким образом, это разложение является дизъюнкцией трех подформул глубины 2. Если пг *> 1 и пг нечетно* то в этом же разложении мы
Xi *16 *4 *5 *6 *0 *6 *0 х6 *0 Хб Xq *6 Хо Хб Хо Х6 Хо Хвpr ш pi pi pi pi pi pi pi\ 6d \\oooy \ Aqoi / \ A010 / \ Aon / \ Имо / \ Aioi / \ Auo / \ Am /
J у у у у у у у
&&&
&
&
&
go^Ro.Rx, Я2) &5р(^з)
Рис. 2.
Рис. 8.
можем (по индуктивному предположению) взять в качестве gc КОНЪЮНКЦИЮ 2Гт-х — 1 подформул глубины Sm—2 и еще. одной меньшей подформулы глубины 5т-з- Поскольку 6с — это конъюнкция Гт переменных и r„< 2s”*-2 — 2s"1-3, ее можно объединить с меньшей подформулой в формулу глубины Sm-2- Вся конъюнкция 2Гт-х формул глубины Sm-2 может быть представлена формулой глубины Гт-i + Sm-2 = Sm-b Следовательно, в
Рис. 4.
случае нечетного т требования леммы удовлетворены. Если т четно, то используется второе разложение. В данном случае просто 6с имеет глубину Sm-2 и, как легко проверить, требования леммы снова удовлетворены. |
Проиллюстрируем лемму в случае и =17, т = 3 и последовательности (2,2,3,10). Формула для g^Ro, R\, Ra, Rs) является дизъюнкцией 1023 формул, каждая из которых имеет вид, показанный на рис. 2. Самая левая подформула из изображенных на рис. 2 более детально показана на рис. 3, где базисные функции, приписанные некоторым элементам, не указаны, если они зависят от набора констант D.
Каждая из подформул hc(.Ro,Ri, R2), изображенных на рис. 2, имеет вид, показанный на рис. 4, где базисные функции, приписанные элементам без меток, зависят от набора констант С.
ОСНОВНОЙ РЕЗУЛЬТАТ
Остается показать, каким образом формула для произвольной функции получается из только что описанной конструкции для простой функции.
Лемма*. Пусть Rx, ..., Rk— непересекающиеся подмножества множества Хп. Для любой функции f(Xn) существуют такие функции fx(Xn — /?i),.. ,,fk^Xn — Rk), что функция gk(Xn) = = f ®®i=xh является ^Rx, ..., Rk}-простой.•
Доказательство проводится индукцией по й. При к = 0 утверждение тривиально. Пусть к > 0. Предположим, что утверждение справедливо для к—1. Тогда существуют такие функции h^Xn — Rx), ..., fk-x(Xn — Rk-x), что при любом /, 1^ ^j<k,
к-\
Rl = O^g^x(Xn) = f^®fi = O,/=1
Положим
| 0, если существует такое i, 1 ^Z <к, что Rt = 0, fk^Xn-—Rk) = ^ gk_x (••., 0, ...), где набор 0 подставлен вме- ( сто переменных из Rfe, в противном случае.
Очевидно, что gk обладает требуемым свойством. | Теперь легко доказать основной результат статьи.
Теорема 3. Для любого п ^ 1 существует универсальная формула глубины п+ 1, покрывающая Вп в базисе В2.
Доказательство. Универсальные формулы для Вх и В2 очевидны, а для В3 и В4 разложения соответственно относительно 1-й и 2-х переменных дают универсальные формулы глубины соответственно 3 и 4.
По предыдущей лемме, в силу свойств операции ф каждую функцию f(Xn) можно представить в виде .g^Хп)е ф^=1 ft (^ — Ri), где g^Xn) является {/?ь ..., Rp-\}-простой. При п > 4 теорема 2 дает формулу глубины п для gV^n), к которой надо прибавить подходящие функции /ь ..., fp_x, где fi— функция от щ = п— Z—1 переменных. При щ ^ 4 формула для fi строится непосредственно, в противном случае применяется ре- куррентно описанная конструкция, которая дает формулу глубины щ + 1 = п — i.
Таким образом, функция / представима в виде р-i
g W ® © fi ^ -R^,
или, после изменения порядка суммирования, в виде
§ф(Лф(/:2®(. .. ®fр-i)...)).
Поскольку // реализуется с глубиной п— /, /=1, ..., р—1, это представление является формулой глубины л+ 1.
Ясно также, что конструкция является стандартной и, таким образом. дает универсальную формулу. |
ОГРАНИЧЕННЫЕ БАЗИСЫ
В рассматривавшихся до сих пор формулах использовались все функции из базиса В2. В случае когда базис b позволяет построить универсальную формулу, покрывающую В2, и содержит хотя бы по одной функции каждого из трех типов
&-тип р* & ^*,’
V-тип " р* V q*, ©-тип p*^q, где переменная со звездочкой обозначает либо переменную, либо ее отрицание, конструкция более или менее сохраняется — надо только при необходимости брать отрицание подформулы. При этом получается верхняя оценка, равная я +(глубина универсальной формулы, покрывающей В2у
Интересным базисом является множество, не содержащее обеих функций ©-типа. В этом базисе операцию © мы можем заменить в соответствии с равенством
p®9 = (p&^)V(p&^).
Для того чтобы эффективно вычислять корректирующие функции, мы выбираем новую последовательность
(го, И, г2, . ..) = (2, 2, 4, 6, 8, 10, ...).
При этом у каждой функции у на 2 переменные меньше, чем у предыдущей. В итоге получаем универсальную формулу глубины п + 3.
Гипотеза. Для любого базиса b ^ В2, позволяющего построить универсальную формулу, покрывающую В2, существует такая константа с, что при любом п существует универсальная формула в базисе b глубины п + с, покрывающая Вп.
Для базиса b = ^NAND, Л1}, где NAND(p, q) = рУ q9 Л! (р, q) = р, мы до сих пор не получили ничего лучше, чем п + О (log* пУ
Следует различать понятия полных базисов для формул и для универсальных формул. Например, b = ^NAND^ является полным для формул, но, очевидно, никакой базис из одной функции не может быть полным для универсальной формулы. Поэтому в гипотезе условие на b является необходимым.
ЗАКЛЮЧЕНИЕ
Мы предложили для всех булевых функций от п переменных универсальную формулу глубины п + 1 и сопоставили верхнюю оценку с нижней оценкой п—1, полученной в рамках требования универсальности. Для базиса из всех нелинейных функций от двух переменных наша верхняя оценка равна п + 3.
В нашей конструкции мы использовали последовательность (2, 2, 3, 4, 5, ...), однако можно было бы использовать последовательность, растущую гораздо быстрее. Влияние выбора последовательности на сложность формулы не исследовалось, однако простой подсчет показывает, что возможная сложность для нашего метода заключена в пределах от 2n~1 до 2п+1. Конструкция О. Б. Лупанова [1] дает формулу сложности примерно 2n/log2n, хотя, конечно, она не является универсальной. Возникает следующий вопрос.
Открытая проблема. Верно ли, что для глубины формул так же, как и для глубины универсальных формул, справедлива нижняя оценка п—0(1)?
ЛИТЕРАТУРА
Лупанов О. Б., О сложности реализации функций алгебры логики формулами, сб. «Проблемы кибернетики», вып. 3. — М.: Физматгиз, 1960, 61—80.
Preprarata F. Р., Muller D. Е., On the delay required to realise Boolean functions, IEEE Trans. Computers, C-20 (1971), 459—461.
Spira P. M., On the time necessary to compute switching functions, IEEE Trans. Computers, C-20 (1971), 104—105.
ПРИМЕЧАНИЕ ПЕРЕВОДЧИКА
В работе С. Б. Гашкова «О глубине булевых функций» (сб. «Проблемы кибернетики», вып. 34, М., «Наука», 1978, с. 265—268) доказано, что любая булева функция от п переменных может быть реализована в базисе {&, V, —} формулой глубины Гп — log2 log2n +о(1) 3 +2.
Этот результат усиливает наиболее интересный из результатов статьи В. Ф. Мак-Колла и М. С. Патерсона и одновременно дает отрицательный ответ на открытую проблему, сформулированную в конце этой статьи.
Применение теоретико-модельных игрк дискретным линейным порядками конечным автоматам '>
Ричард Э. Ладнер
1Лъ\ применяем игровой метод теории моделей к теориям линейного порядка, и получаем известную «эквивалентность» между «-регулярными множествами и монадической теорией второй ступени структуры _(«, <) и другую известную эквивалентность между безытерационными регулярными множествами и теорией первой ступени конечных линейных порядков. В конце статьи мы даем новый разрешающий алгоритм для монадической теории второй ступени структуры (со, <), не основанный на редукции к проблеме пустоты для автоматов на «-словах.
В работах Бюхи [1,2] и ряде других работ была установлена тесная связь между конечными автоматами и монадическими теориями второй ступени линейного порядка. Один из наиболее важных результатов Бюхи показывает разрешимость монадической теории второй ступени Г2(«, <) (где о ={1,2, 3, ...}, а <—линейный порядок множества натуральных чисел) сведением вопроса об истинности некоторого предложения относительно теории Г2(о, <) к вопросу о том, будет ли конечный автомат некоторого вида допускать какое-нибудь бесконечное слово. С другой стороны, в работах [4] и [9] использовались определенные виды теоретико-модельных игр для установления разрешимости для линейных порядков некоторых теорий первой ступени и слабых монадических теорий второй ступени.
Метод Бюхи и методы Эренфойхта и Лайхли [4, 9] кажутся совершенно разными, но, как мы покажем далее, они тесно связаны друг с другом. Основная цель данной статьи — показать связь между теориями линейных порядков с монадическими предикатами, с одной стороны, и конечными автоматами, с другой, используя игровые методы теории моделей. Мы покажем «эквивалентность» между монадической теорией второй ступени конечных линейных порядков и регулярными множествами, а также «эквивалентность» между монадической теорией второй ступени (о, <) и «-регулярными множествами. В статьях Бюхи эти эквивалентности содержатся неявно. Мы
*) Ladner R. Е., Application of Model Theoretic Games to Discrete Linear Orders and Finite Automata, Information and, Control, 33 (1977), 281—303.
© 1977 by Academic Press, Inc. . .
© Перевод на русский язык, «Мир», 1980.
получим «эквивалентность» теории первой ступени конечных линейных порядков и регулярных звездно-свободных множеств (т. е. полученных без итерации Клини, лишь с помощью конкатенации и булевых операций из однобуквенных множеств слов). Эта эквивалентность впервые была установлена работой [10]. Понятие эквивалентности, которое здесь упоминается, точно будет определено ниже. Мы получим также сравнительно простые алгоритмы разрешения некоторых монадических теорий второй ступени линейных порядков, включая монадическую теорию второй ступени структуры (со, <).'
Хотя основные результаты, которые мы получим, не являются оригинальными, мы полагаем, что игровой метод теории моделей чрезвычайно упрощает их доказательства. Этот метод, по-видимому, минимизирует манипуляции с формулами, содержащиеся в прежних доказательствах, подчеркивая в то же время комбинаторные аспекты доказательств.
Мы принимаем следующие обозначения. Пусть 2 — конечный алфавит. Множество всех непустых конечных слов в алфавите 2 мы обозначаем через 2+, через е — пустое слово, и положим 2*=2+U{e}. Если х, у^^*, то ху обозначает конкатенацию слова х с у. Если хе^*, то х° = е, а хк = х • хк~х для fe^L Если А, В г 2*, то
АВ = ^ху\х^Х и у еВ),
А0 — {е}, Ак = ААк~х при ^^1,Л*— U А\ Л+ = Л*-{в}.
Определим ^-множество всех to-слов (или сверхслов, или бесконечных слов) в алфавите 2, как множество всех отображений со в 2. Элементы 2° мы обычно обозначаем через х = о1о2 • • •> где каждое ot е 2. Если хе2+, то хй = хх... . Если хе 2*, а у е 2°, то ху есть конкатенация х с у. Если А г 2*, а В ^ 2°, то
АВ = {х у | х е А, а уеВ),Ato = (xix2... для всех /, х/ е А П S+}.
Если xgS*, то |х| обозначает длину х, а если хе 2°, то И = ®.
Если S — множество, то || S || обозначает мощность S, а 2s — множество всех подмножеств S.
ЛИНЕЙНЫЕ ПОРЯДКИ
Пусть £—конечный алфавит, <—символ бинарного отношения, a Uа — унарный, или монадический, предикатный символ для каждого <je2.
В качестве логических символов мы вводим р, q, г, рь р^ ... как индивидные символы, Р, Q, R, Рь Р^ ... — как множественные или монадические предикатные переменные, Л, V, ~, zd — как символы логических операций, V, 3 — как кван- торные символы, = — как символ равенства.
(Монадические второй ступени) атомарные ^-формулы суть формулы вида p<q, p = q, Р(р) и U0(p) для a^S. (Монадические второй ступени) ^-формулы суть формулы, правильно построенные из атомарных S-формул посредством применения логических операций и квантификации, ^-формулы первой ступени суть S-формулы, не содержащие множественных переменных. Каждая монадическая S-формула может быть приведена к единственной эквивалентной ей формуле в предваренной форме, то есть к виду Xi^i%2^2 • • • Хт^Ф, где х, ^ е {V, 3}, ^ — индивидная или предикатная переменная, а формула ф не содержит кванторов, ^-предложением называется S-формула, не содержащая свободных переменных. Определим Ж^.п как множество монадических S-предложений второй ступени в предваренной форме с п кванторами. Положим Ж^ = = (J Жъ, п. Соответствующие классы S-предложений первой ступ
пени обозначим через 9?^ и 3^.
Интерпретируя S-предложение в модели, мы всегда интерпретируем < как отношение линейного порядка, т.е. < обладает свойствами транзитивности и трихотомии. Кроме того, ^Ua\o^^ суть попарно непересекающиеся множества, покрывающие универсум модели. Следовательно, мы можем интерпретировать конечные модели S-предложений просто как элементы S+ (множества всех непустых слов алфавита S). Далее, модели типа о суть просто элементы S® (множества всех сверхслов или со-слов в алфавите S).
Pl,.. А]Ть... Ji JPl,.. А]Ть... Ji JМожно формально определить отношение выполнимости |=. Пусть ф есть S-формула со свободными индивидными переменными рХ)...,рк и свободными предикатными переменными Р\, ..,, Pi, w @ S+; тогда
Pl,.. А]
Ть... Ji J
Pl,.. А]
Ть... Ji J
. Г Рь • • • >рьL ч, • • •
где 1 ^^ < | w | + 1, a Tie [1, | w | + 1) означает, что ф истинна в «модели» w, где pi интерпретируется как ti-ая буква w, a Pi интерпретируется как множество букв в w, определяемых множеством Ti.
Замечание. Обычно буквы «s» и «t» с индексами или б^з Них обозначают здесь натуральные числа. Аналогично, «5»
и «Т» с индексами или без них обозначают подмножества натуральных чисел. ,
Отношение выполнимости индуктивно определяется на S-формулах обычным образом (см. [5]). Обратим внимание на интерпретацию предикатов Uo для о е S. Пусть х = о^- • -О/, где о/ е S для 1 ^ i ^/. Если l^s^/, то х|= sf/a(p)KL тогда и только тогда, когда os = о. Остальные атомарные формулы интерпретируются так:
x|=2pi <р2x|=2pi <р2^1>^2^1>^2, если и только если tx < /2,, если и только если tx < /2,xt=Spl=/?2xt=Spl=/?2Л, ^2Л, ^2, если и только если /1=/2>, если и только если /1=/2>
x|=2pi <р2
x|=2pi <р2
^1>^2
^1>^2
, если и только если tx < /2,
, если и только если tx < /2,
xt=Spl=/?2
xt=Spl=/?2
Л, ^2
Л, ^2
, если и только если /1=/2>
, если и только если /1=/2>
Отношение выполнимости распространяется на неатомарные формулы обычным образом. Аналогично определяется и отношение [=s для (о-слов.
Для S-предложения ф определим
MODs (ф) = {х G S+ | X |=2 ф} и
MOD^ (ф) = {х G S® I X 1=2 ф}.
Мы пользуемся следующими сокращениями:
«р ^ q» для «р <qv р = q>,
«р=Ъ> для «V^(jD^^)»,
«p = Q» для «V^(^^p)»,
«р = q + 1» для «q < р л Чг (г < q vp < г)»,
«р = q + t» для «Зг (г = q + (/ — 1) д р = г + 1)», «р=Ь> для «Зг(r = t— 1др = г+ 1)»,
«ф (/)» для «Эр (/? — / л ф (р))»,
«ф (р + /)» для «3^ (^ = р + / л ф (^))».
^Замечание: р и q — переменные, а / —- число.) Наряду с этим мы используем другие стандартные обозначения.
Пример. Рассмотрим {0,1}-предложение
Ф = [/0(1) д Ux (й) л Vp (р < Q =) (([/0 (р) =)
^^(p+l^A^^O^o^+l)))).
Тогда МОО{о,1}(ф) = {0,1}+.
Пример. Рассмотрим {0,1}-предложение
ф = Ур №о (?) =) их (р + 1)) А ил (р) =) и0 (р 4-1))).
Тогда М00^,1}(ф) = {(О, 1)“, (1,0)*}.
КОНЕЧНЫЕ АВТОМАТЫ И РЕГУЛЯРНЫЕ МНОЖЕСТВА
^-полуавтоматом называется четверка (Q, 2, 6, X) = N, где Q — конечное множество состояний, AgQ, а 6 — отображение QX2 в 2Q. Область определения 6 можно расширить обычным образом на Q X S*, полагая 6(а, а) = {а}, и д (а, ха) = {^ | для некоторого Ьеб^а,хУ се 6(6, а)}. S-полуавтомат называется детерминированным, если ||6(а,а)||^1 для всех aeQ и o’ е S.
Если F ^ Q, то Л3 = (TV, F) называется ^-автоматом. Он допускает множество конечных слов.
ACCs (Л9) = {х е S+| 6 (Л, х) П F Ф ф}.
Подмножество S* называется ^-регулярным, если оно допускается некоторым S-автоматом. Хорошо известна теорема Клини (см. [15]), что S-регулярные множества образуют наименьший класс, содержащий пустое множество и все множества {а} для а е S, замкнутый относительно объединения, конкатенации и итерации (звезды) Клини. Позднее мы будем иметь дело со звездно-свободными ^-регулярными множествами, образующими наименьший класс, содержащий пустое множество и все множества {а} для а е S, замкнутый относительно объединения, конкатенации и взятия дополнения (до S*).
Имеется ряд эквивалентных определений допускаемости бесконечных слов конечными автоматами. Имеется превосходный обзор [3] этих понятий. Оказывается, что первоначальный подход Бюхи [1] к понятию допускаемости множеств бесконечных слов конечными автоматами лучше всего согласуется с нашим.
Если х = aia2... е S“, где о^ е S для всех I, то определим вычисление N на to-слове х как со-слово a0^i • •. ^ Q*, такое, что а0 = Х, a az+i s b(ai9 а^. Множество со-слов, допускаемых Л9 = (N, F), есть ACCs (Л9) — {xg S°| существует такое вычисление сад ... N на х, что at^F для бесконечно многих /}.
Подмножество S° называется (.to-^У регулярным, если оно допускается некоторым S-автоматом.
Непосредственно из определения следует, что множество является (со-З)-регулярным тогда и только тогда, когда оно является конечным объединением множеств вида АВ^, где А и В суть S-регулярные подмножества S+,
ТЕОРЕТИКО-МОДЕЛЬНЫЕ ИГРЫ
Опишем теперь теоретико-модельные игры, являющиеся нашим главным инструментом исследования. Видимо, впервые они были использованы в работе [8].
Монадическая (2, пУигра второй ступени — это игра с двумя участниками, в которой используются два элемента 2+ или два элемента 2°. Поскольку правила игры одинаковы как при использовании элементов 2+, так и элементов 2°, то мы опишем только правила игры для элементов х, у из 2+.
Пусть х = О\О2- • -^ и # = т1т2.. .Т/, так что |х| = s, а \ у\ = 1.
Двух игроков мы будем называть игрок I и игрок II. Существуют два вида полуходов, а именно индивидные полуходы и множественные полуходы. Индивидный полуход состоит в выборе игроком положения буквы в слове х или у. Множественный полуход состоит в выборе множества положений букв из х или множества положений букв из у.
Игроки I и II ходят по очереди, причем начинает игрок I. Игрок I может сделать любой вид полухода в слове х или у. Игрок II должен сделать полуход того же типа, но в другом слове. Ход состоит из полухода игрока I, за которым следует полуход игрока II. После п ходов игра заканчивается. Ходы можно записывать как пары, первые координаты которых обозначают полуходы в х, а вторые —- полуходы в у.
Вот примеры записи ходов:
к^</, sf S[1, 4 ^<=[1, 4к^</, sf S[1, 4 ^<=[1, 4где k + I = п, 1 ^ st ^ s, Игрок II выигрывает, еслигде k + I = п, 1 ^ st ^ s, Игрок II выигрывает, если{(^z, ti) I 1 ^ i ^ 6} для индивидных ходов и {(Sz, Т^ 11 ^ i ^ Z} для множественных ходов,
к^</, sf S[1, 4 ^<=[1, 4
к^</, sf S[1, 4 ^<=[1, 4
где k + I = п, 1 ^ st ^ s, Игрок II выигрывает, если
где k + I = п, 1 ^ st ^ s, Игрок II выигрывает, если
выполнены все перечисленные ниже
условия:
ors. = т/. для 1 ^ i ^ к,
s^Sj, если и только если ti^Tj для 1^/^£
•и 1 ^ к ^/,
сг < Sj, если и только если tt < // для 1 ^ i, ] ^ к.
Другими словами, игрок II выигрывает, если ходы не могут отличить х от у. Игрок I выигрывает в точности тогда, когда не выигрывает игрок II.
^, пУигра первой ступени есть монадическая (2, 4*игра второй ступени, в которой не допускаются множественные ходы.
Если х и уе^, то будем говорить, что х^х,п У в том и только том случае, когда игрок II обладает выигрышной стратегией в монадической (2, п)-игре второй ступени, играемой
в х н у. Ясно, что «х, п является отношением эквивалентности на 2+. Можно определить аналогичное отношение эквивалентности (1)^2 „ для монадической (2, п)-игры второй ступени на элементах 2ю; (2) ~z, „ для (2, п)-игры первой ступени на элементах 2+;(3)~£ п для (2, п)-игры первой ступени на элементах 2ю.
Лемма 3.1. Пусть х, z/e2+, а х, уе2™’.
Если х «s, п У, то для всех ф е Лъ, п , ■
х е MODs (ср) тогда и только тогда, когда
у е MODs (ф).
(П)£сл« x«s,»y, то для всех фе^, п,
х е MODs (ф) тогда и только тогда, когда
у е MOD£ (ф).
Если х ~х, п У, то для всех ф е 5?^, п ,
х е MODs (ф) тогда и только тогда, когда
у е MODs (ф).
Если х ~ s, п у, го для всех ф е 2?s, п, хе MODs (ф) тогда и только тогда, когда у е MODs (ф)-
Доказательство. В работах [4] и [6] содержатся доказательства, по существу совпадающие с доказательством леммы. Все четыре части леммы доказываются аналогично, поэтому мы докажем только часть (I).
Предположим,что хе MODs(ф), а у^МООз(ф) для некоторого ф е /^ „ , Пусть s = | х |, / = | у |, и пусть ф = XiCi ... ... Хп^пФ, где Xi е {V, 3), & — переменная при 1 < I < п, а ф — бескванторная формула. Мы получаем, что ~ ф эквивалентно Х&... Хп£п~Ф(где x = V, если х = Э, и х = Э, если x = V).
Определим индукцией по m выигрышную стратегию для игрока I в монадической (2, п)-игре второй ступени на х и у так, что если первые m ходов суть {(а;, р;) 11 ^z ^m} (где 1^а;^$, l^Pi^^, если £/ —индивидное переменное и az£[l,s], a PiS[l,/], если & —множественное переменное), тогда
Х|= sXm+l Ст+1 • ..Хп^пФХ|= sXm+l Ст+1 • ..Хп^пФ£b • • • >?т«1ат£b • • • >?т«1атaaУ l^s Хт+1 ?т+1У l^s Хт+1 ?т+1...х^„~фПьLP1....х^„~фПьLP1.^тРт^тРт(1)(1)
Х|= sXm+l Ст+1 • ..Хп^пФ
Х|= sXm+l Ст+1 • ..Хп^пФ
£b • • • >?т
«1ат
£b • • • >?т
«1ат
a
a
У l^s Хт+1 ?т+1
У l^s Хт+1 ?т+1
...х^„~фПь
LP1.
...х^„~фПь
LP1.
^т
Рт
^т
Рт
(1)
(1)
Последнее, очевидно, справедливо для т = 0. Предположим, что для первых m ходов (1) выполняется. Тогда I игрок свой (/п + 1)-ый полуход должен сделать на х, если Xm+i есть 3, и на у, если Xm+i есть V. Полуход является индивидным, если Cm+i — индивидная переменная, и множественным, если gm+i —
множественная переменная. Если, например, полуход сделан на х, то выбираем am+i так, чтобы выполнялось
с.с. , Г ^1’ • • • > £m + l I "
-YM Х^+2^т+2 • • • Хп^пФ IГ
L «Ь • • • , am + l J
Так как игрок II ходит на у, a x^+i есть V, то
е.с. , Г £1> • • • > Czn+1
У r““2 Хш+2^т+2 • • • XnQn I D п Р
L Р1> • • • , Pm+i J где pm+i является полуходом игрока II на у.
После п ходов мы получим
„И ^^-^ дд‘
L аь • • • , ^п JL рь • • • >Рп J
Поскольку ф является булевой комбинацией атомных фор* мул, то нетрудно видеть, что выигрывает игрок I. ■
Определим функцию g:NXN->N (Af = {0, 1, 2, ..,}), где g(0, п) = п, g(k +- 1,11^ = ^^' п\ Индекс отношения эквивалентности — это число классов данной эквивалентности.
Лемма 3.2.
Индекс каждого из отношений ^2 п и ^® п меньше ила равен g(n, £ £л^\\’п\
X /?=0 / = 1/
Индекс каждого из отношений ^^ п и ~® п меньше или (к\’’
п, X11S1И Л5 (п, /) , /=1/
где S (k, j) — числа Стирлинга второго рода.
Доказательство. Доказательство этой леммы неявно содержится в доказательстве работы [4].
Мы начнем с доказательства (I) для «2 п.
Пусть хе2+, х = охо2 • • • CTs- Для $ге[1,з] и Szs[l,s) определим
кь.Дх; Si, ..., з6; Зь ..., Sz) = (p, т, л), где_
р: [1,^->S, т: [1, £]->2[U1,'
я отображает [1, £] в [1, А] так, что для всех / е [2, 6], если я (/) =^ 0, то л (/1) ^4= 0,
и при этом выполняются условия:
Ost = Р (О,
Si^Sj тогда и только тогда, когда /ет(0, s{ < 3/ тогда и только тогда, когда л (Z) < л (/).
Для заданных х, Зь ..., sfc, SiS/ существует единственная тройка отображений (р, т, л) с этим свойством. Определим
^п+1, к, Лх> sb sfe; SiS/) =
= Vn, 64-1. / (-Ч Sb . .., S*+r, Si, . .., Si) | 5д+1 G [1, I X I]} U
U Vn, к, /4-1 (*> S1sfci S\, S/ + i) |S/4-i S [1, | X J]}.
Индукцией по n непосредственно доказывается, что у игрока II есть выигрышная стратегия в (2, и + & + /)-игре на х и у с п остающимися ходами и ходами {(sb /г)|1^г^А}и U {(Si, Т^)! 1 ^z’^Z}, сделанными до сих пор, если и только если tn, к, i(x'i sb •••> 5ь Sb ..., S/) = tn, h,i (y; Zb ..., tk; T\, ..., Г/). Следовательно, x»^ у, если и только если Zn,o,o(x) = tn,o, o(Z/)- Нам нужно оценить | {/„, 0, о W Iх G 2+} II- Определим Т/ = = {ti.k,ikx\ Sb . ••, S6; S,Sz) |xg2+, S/Glljxl], Sz s s[l,,|x|] и /' + к + / = «}. По этому определению, для каждого j <п каждый элемент Г/+1 является подмножеством Т$. Спедр- вательно, || Tj+l 1К2||Г/И. Кроме того, |Тп|| = || {zn>0,о (х)| х г 2+}|.
Подсчет показывает, что п к Il ^ II = 2 Sm's^'/w,/), к-0 J-1
где S (к, j) суть числа Стирлинга второго рода.
Доказательство для «^ п идентично только что приведенному.
Часть (И) леммы можно доказать, применяя этот же метод, но используя множества tn>fe(x; sb ..., з6) вместо Zn,6.z(x; Si, ..., Зд", Sb ..., Sz). 1
Обозначим индекс отношения «2 „ через zns(n), а индекс ^s п — через 1Х (п). По предыдущей лемме найдется константа с > 0, такая, что числа Zs(n) и пгг^ будут ограничены величиной g (zz + 1, с (|| 21| + п2)).
Завершим этот параграф примером теоретико-модельной игры. Рассмотрим два слова, 01 и 001, в алфавите S = {0, 1).
Игрок II выигрывает в игре I первой ступени на этих двух словах, тогда как игрок I выигрывает в (2, 2)-игре первой ступени на этих же двух словах.
Весьма тщательный анализ теоретико-мбдёльных игр первой ступени дан в работе [16].
КОНЕЧНЫЕ СЛОВА
В этом параграфе мы ограничимся рассмотрением S+ Первая лемма этого параграфа совсем простая, но фундаментальная по своим последствиям.
Лемма 4.1. Для всех х,уе1>+ и 2 е 2 ,
если х«^пу, то xz«^ nyz и'
если х~^пу, то xz~Snyz.
Доказательство. Мы докажем лишь (I), (II) доказывается аналогично. Предположим, что игрок II обладает выигрышной стратегией в монадической (2, п)-игре второй ступени на х и у. Выигрышная стратегия игрока II на xz и yz состоит просто в разбиении всех полуходов на две части, причем первая играется на х или у, а вторая — на z. Стратегия игрока II — делать полуходы на х или у в соответствии со своей выигрышной стратегией в (2, п)-игре на х и у и применять копирующую стратегию на z. Так, например, если полуход игрока I — множество S на xz, то S = SXUSZ, где Sxs[l,|x|] и Sz G [ | х | + 1, | xz |]. На yz ответ игрока II есть множество Т = Ти U Тг, где множество Ту будет ответом игрока II на Sx в его выигрышной стратегии в (2, п)-игре на х и у, a7’z = {|^| + |x|4-s|seSz}. 1
Напомним, что /ns(n) есть число классов «2„ эквивалентности, а /г (и) — число классов ~х,п эквивалентности.
Лемма 4.2. Для всякого хе2+ найдутся такие д,гЕ^, что
х*^,п» “ \У\<тх^*(И) x~s, nz и |2|</s(ra).
Доказательство. Снова дадим только доказательство части (I). Положим х е 2+ и выберем в качестве у такое слово минимальной длины, для которого х«Х пу. Если \у\>пг^п\ то по лемме 3.2 [i] существуют разные «2 „-эквивалентные префиксы у. Таким образом, y = uvw, где у =/= е, а и«Хпио. По лемме 4.1 uw«Xny, но uw короче, чем у, что противоречит минимальности у. Следовательно, | у |^ m^n\ 1
Для каждых 2 и п определим базисный детерминированный 2-полуавтомат М2 „. Обозначим через [x]s „ класс «^ „-эквивалентности х.
'Ms.„ = (Q,2,d,A),
где Q = {[x]s п | х е 2+} U {М> а 6 определяется уравнениями
6 (X, а) = {[а]2 „}.
И-
6 (Ms, „• 5)={Ms,n).
Лемма 3.2 гарантирует, что множество Q конечно, так как, согласно лемме 4.1, функция 6 определена корректно.
Мы полагаем что следующая теорема неявно содержится в работе Бюхи. Мы благодарны М. Бенда за помощь в получении нашего оригинального доказательства.
Теорема 4.3 (Бюхи). Множество Л s S+ ^регулярно тогда и только тогда, когда существует ф е ^s, такое, что Л = MODs (ф).
Доказательство. (Необходимость.) Нетрудно показать, что S-регулярные подмножества S+ образуют наименьший класс множеств, содержащий пустое множество и однобуквенные множества (о) для oeS, замкнутый относительно объединения, конкатенации и операции + («плюс»). Индукцией по построению регулярных множеств мы покажем, что если Л суть S-регулярное подмножество S+, то существует S-формула фд(р, q) с двумя свободными переменными, такая, что а^ ... omV=
1 С1 Сs<s<Z^m и ctsCTs+i ...Z^m и ctsCTs+i ...[р, аЧ
1 С
1 С
s<
s<
Z^m и ctsCTs+i ...
Z^m и ctsCTs+i ...
J, если и только если
... о/ е Л. (В работе [13] применены очень похожие построения.) Когда это будет сделано, мы определим ФЛ = ФЛ(1, й). Очевидно, что Л = MODs (фл).
Сначала положим ^<t> = p = qNp ^ q и фа = р = q/\Ua(p) для каждого о е S. Предположим, что фл (р, q) и фв (р, q)
уже определены, тогда положим флцв=флУфв, флв = Зг [фл(р, г)дф5 (г + 1,9)], Фд+ = Фл(р, p)v3/?[3r R(r) hVr(R(r)=> р^г лг <р)д A Vr Ш (г) л А/ (Я (/) тог'> г))гэ фЛ (р, г))д Л Vr (((Я (г) л Vr' (R (г') гэ г' < г)) ZD фд (г 4- 1, q)) д д Vr Vr' (((/? (г) д R (г') A г <т' кМг" (г <г" < г' => ~ ~Я(г")))=>Фд(г+1, г'))].
(Достаточность.) Пусть Л = М0Вз(ф). Можно считать, что ф находится в предваренной форме, так что 4>eJt^,n для некоторого п. Пусть Р, = {[х]^ п|хЬ=зф}. Из этого немедленно следует, что ACCs ((Ms, п, ^)) = М002(ф). Если слово х допускается автоматом (Ms.«, ^ф), то х«^,пУ для некоторого у, такого, что р|=хф. По лемме 3.1 х[=зф. А с другой стороны, если х[=2Ф, то [^ „eFq,. Следовательно, х допускается автоматом (Ms,«, F^). |
Предыдущая теорема демонстрирует «эквивалентность» регулярных множеств и конечных моделей монадических предложений второй ступени для линейного порядка. Случай предложений первой ступени также весьма интересен. Мак-Ноттон и Пэйперт [10] дают систему первой ступени, названную ими ,,FOL“, эквивалентную в некотором смысле регулярным множествам, построенным без итераций (или звездно-свободным). Далее мы приводим существенно' новый способ установления этой эквивалентности.
Напомним, что звездно-свободные ^-регулярные множества образуют наименьший класс множеств, содержащий {о} для всех о = S и пустое множество, замкнутый относительно объединения, конкатенации и дополнения до 5*. Несчитающим ^-регулярным множеством называется регулярное подмножество Л множества S’, удовлетворяющее тому свойству, что существует некоторое натуральное к, такое, что (Vx, у, 2 g S*) (xy^t е е А <=>- хук + *2 е Л). Мак-Ноттон и Пэйперт показали, что классы звездно-свободных и несчитающих S-регулярных множеств совпадают. ‘ -
(Мейер [11] дал упрощенное доказательство.)
Лемма 4.4. Для всех п и для всех х, у, z ^ S*, таких, что \xyz\>\,
xy2 ~XZ ^^пХу2 Z.
Доказательство. Доказательство ведется индукцией по п. Если ходов нс было (п = 0), то, конечно, xy°z ~s, oxyxz. Предположим, что для всех х, у, z с ^xyz^l игрок II располагает выигрышной стратегией в (S, п)-игре первой ступени на словах ху2 и ху2 z.
Пусть даны такие х, у, z, что \xyz\^l. Опишем выигрышную стратегию игрока II в (S, п+1)’Игре на ело- вах xy2"+!-iz и Ху2п+Х2. '
Первый ход игрока I разбивает одно из двух слов на две части, часть слева от полухода и часть справа от полухода. Исследуем случай, когда игрок I делает полуход в ху^'^х. Другой случай аналогичен. Имеем xy2n+x~xz = x'ykz' x"ylz", где k + Z = 2rt+1 —2, и полуход игрока I есть \x'ykz'\. Либо к, либо l^2n — 1. Пусть fe^2n—l, поскольку другой случай симметричен первому. Игрок II отвечает |х' yk^xzf\. Соответственно этому представим слово xy^^z в виде x'y^z'X Xx"ylz". Стратегия игрока II тогда состоит из копирующей стратегии на x"ylz" и его выигрышной стратегии в (S, пУ игре первой ступени на x'ykz' и x'ykA"xz'. Таким образом, выигрышная стратегия существует, поскольку к^2п — 1, так что слова х'укг'н x'ykJrXzf имеют нужный вид. 1
Исходя из леммы, нетрудно показать, что xykz ~х, nxylz для всех &, / ^ 2" — 1.
Теорема 4.5 (Мак-Ноттон и Пэйперт). Язык Л s S+ является звездно-свободным Ъ-регулярным множеством тогда и только тогда, когда существует ф е S's, такое, что А = MODs (ф).
Доказательство. (Необходимость.) Нетрудно показать, что звездно-свободные S-регулярные подмножества S+ образуют наименьший класс множеств, содержащий пустое множество и однобуквенные множества {а} для о е S, замкнутый относительно объединения, конкатенации и дополнения до S+.
Методом, очень похожим на доказательство Мейера и Сток- мейера [13], мы строим для каждого звездно-свободного S- регулярного подмножества А множества S+ S-формулу фд(р, у)
первой ступени с двумя свободными переменными, обладаю
тогда и толькотогда и толькощую тем свойством, что ощг..
тогда и только
тогда и только
тогда, когда l^s^Z^/n и № + 1..л<е Л. По теореме 4.3
остается только показать, как построить ф2+_л, если фд известно
Фх+- д — Р ^ У Л ~ фд.
(Достаточность.) Из теоремы 4.3 и леммы 4.4 мы можем заключить, что если Л = МОПх(ф) для ф е 2s, то А является несчитающим S-регулярным множеством. Следовательно, А является звездно-свободным S-регулярным множеством. 1
Красивым побочным результатом этого подхода является очень простой (но не обязательно эффективный) алгоритм, выясняющий истинность монадического предложения второй ступени во всех конечных линейных порядках. Пусть ф —• монадическое предложение второй ступени с бинарным отношением <. Предложение ф истинно во всех конечных линейных порядках в точности тогда, когда MOD{o) (ф) = 0+. Далее ф можно привести к предваренной форме с п кванторами. По л'емме 4.2, МОП{о}(ф) = 0+ тогда и только тогда, когда 0"1|={0}Ф для всех т^пг^^п\ Для всякого т^/И{о}(п) алгоритмически можно проверить, верно ли, что От[=={о}ф.
СВЕРХСЛОВА
Если xelffl, и х = СТ1С2- • • , то определим x(Z, /) = ot.. .Oj-,; для i < j, xU, го) = QtQi +1... , хУ') = о1. Пусть даны S цпи напомним (см. разд. 4), что S-полуавтомат Ms,n —• это (Q, S, б, X), где Q = {[x]s,ra |х е S+) (J {М- Для а> beQ- (X) определим множество
Ws.n^a, 6) = {xeS“|mi < m2 <• • • , такие," что х(1, /п^еа,а хУщ, mt + \)^b для всех Z^l).
Лемма 5.1. Для всех х е Е® существуют a, bEQ~%, такие, что x^W^>nka^ 6).
Доказательство. Доказательство основано на применении теоремы Рамсея [17]. Разобьем все неупорядоченные пары {/, /} на IIQH — 1 множеств. Пару {/, /} отнесем к множеству Va(a е Q — {А,}) в точности тогда, когда i<j и х(/, ]) ^ а. Тогда по теореме Рамсея существуют бесконечные множества Н с со и б е Q - {Л}, такие, что если i ^ j и i, ] е Н, то {/, /} е Vb. Обозначим через пг наименьший элемент Н, превосходящий 1 и положим а = [х(1, m) ]х, п- Очевидно, что x^W^nka, b\ I
Следующая лемма показывает, как проводить теоретикомодельные игры на сверхсловах (со-словах), используя те же игры на конечных словах.
Лемма 5.2. Если х, у eW^.u^ b), то х«^пу.
Доказательство. Можно представить х в виде XiX2x3... , а у в виде УхУ^Уг-- • , где каждое Х[ и yt е 2+ и для всех i х^^пУ^ Выигрышная стратегия игрока II на х и у получается просто соединением его выигрышных стратегий на каждой паре кхь У th Рассмотреть подробности предоставляется читателю. |
Лемма 5.3. Для всякого z G2® существуют х, у g 2+, такие, ЧТО |х|, |y|<m2(n) и г^^ху®.
Доказательство. По лемме 5.1, z s W^nk^ b) для некоторых a, b^Q — ^XY Согласно лемме 4.2, существуют х, у^^, каждое длины ^.m^knY такие, что х е а, а у^Ь. Так как ху® s W^ кщ bY то по лемме 5.2 z«2 nxyto. 1
Теперь можно построить 2-полуавтомат Ms, п = kQ X Q X Q, 2, у, (А,, X, X)). Для данного входного сверхслова х s 2°, М^ п «угадывает», для какой пары a, b е Q — {А,} верно х ^ ^^х.пкщЬ). Все, что требуется определить-—это у. Ввиду детерминированности Мел, 6 можно рассматривать как отображение Q X 2 в Q.
у ((Л, X, cY о) = {(6(с, а) b Д) | b е Q - {Л}} U {(X, X, 6 кс, а))},
( {(а, 6,6 (с, а))}, если Ь=АЦс, о) и a, b^X, ^ а' lC ' | ^а, b,dkc, o)Y ка^ Ь, у)}, если b = 6(с, о) и a, bX,
На всех других аргументах функция у полагается пустой.
Лемма 5.4. Сверхслово х е W^.n ка> Ь) тогда и только тогда, когда существует вычисление сМх • • • полуавтомата М^,п на х, такое, что dt = k^, b, X) для бесконечно многих I.
Доказательство. Пусть х = x0Xi ..., где х0 е a, a xt е b для всех Z^ 1. Получим (а, ЬД^ е у ((Л, Л, Л), х^, оставаясь в состоянии (Л, Л, 6 (Л, х)) для каждого собственного префикса х слова Хо и переходя в (а, 6, Л) после прочтения последней буквы xq. Пусть (а, 6, Л) е у ((Л, Л, X), xoxi.. .х^). После прочтения каждого собственного префикса х слова х^+ь полуавтомат остается в (а, 6, 6 (Л, х)), возвращаясь в (а, 6, Л) после прочтения последней буквы Хщ + ь Предоставляем читателю проверить, что при существовании вычисления на х, бесконечно повторяющего состояния (а, 6, Л), x^W^rAa, 6). |
Снова мы чувствуем, что следующая теорема неявно фигурирует в работе Бюхи.
Теорема 5.5 (Бюхи). Множество А ^S° является (^-регулярным тогда и только тогда, когда существует ф е ^s, такое, что А = МООе(ф).
Доказательство. (Необходимость.) Достаточно показать, что для всех S-регулярных подмножеств А и В множества S+ существует S-формула фл,в с таким свойством, что х^еФл.в тогда и только тогда, когда х е АВ®. Из соображений, подобных тем, что были использованы в доказательстве теоремы 4.3, следует существование S-формулы фл(р, ^) для каждого S-регулярного подмножества S+, обладающей тем свойством, что
010*2 • • • От t=S фА010*2 • • • От t=S фАp.q 1s, t Jp.q 1s, t Jтогда и только тогда,тогда и только тогда,когда 1 ^ sкогда 1 ^ s
010*2 • • • От t=S фА
010*2 • • • От t=S фА
p.q 1s, t J
p.q 1s, t J
тогда и только тогда,
тогда и только тогда,
когда 1 ^ s
когда 1 ^ s
</^т и as... о/- i е А. Короче говоря, фл,в утверждает, что ЕР[Х^р(еслир является первым элементом Р, то фл (1,р)) и Vp\fq (если р и q суть последовательные элементы Р, то Фв(р,^))].
(Достаточность). Если фе/е|П, то рассмотрим S-автомат (Ms п ,F^, где Вф = {(а, Ь, Л) | Эх е S®, такое, что х |^s Ф и x^W^^a, 6)}.
Если х s АСС^ ((М^ rt> Вф))> т0 п0 лемме 5.4 х е Ws п (а,Ь) для некоторого (а, Ь, Л) е Вф. Выберем такое у, что у И=2ф и // е eWx.nM. По лемме 5.2 х«^,пу. По лемме 3.1 (II), х(=2Ф« Следовательно, хеМОО^ф). С другой стороны, если хе е МОПе(ф), то по лемме 5.1 существуют а и 6 eQ — {Л}, такие, что х е W^.n(ci, b). Поскольку х|=еФ, то (а, Ь, Л)еВф. Следовательно, х |= ACCs ((Ms, П) ^ф))- В
В отличие от случая конечных слов, мы пока не располагаем описанием множеств вида MOD® (ф) для S-предложений ф первой ступени с помощью теории автоматов. .
Можно сформулировать следующее интересное утверждение. Определим класс ^-звездно-свободных ^-регулярных множеств как наименьший класс множеств, содержащий пустое множество и замкнутый относительно объединения, дополнения до S61 и конкатенации с звездно-свободным S-регулярным подмножеством S+ (очевидно только слева).
Теорема 5.6 Если А суть а-звездно-свободное ^-регулярное множество, то Д = М0Вз(ф) для некоторого ^^S^.
Доказательство. Можно доказать по индукции, что если А суть со-звездно-свободное S-регулярное множество, то существует S-формула первой ступени Фа (р) с тем свойством, что хНеФаЕ^Я тогда и только тогда, когда x(s, со) еА. Непосредственно так же, как фдив и Фе®-а, если известны фа и фц определяется ф0._
Если А — звездно-свободное S-регулярное подмножество S+, то, аналогично теореме 4.5, доказывается, что найдется S-формула первой ступени фд(р, q) с тем свойством, что О1О2...Н
, тогда и только тогда, когда 1^/ и о5- • е А.
t J.
Если дано фв, то фдв можно определить, как 3q [фд (р, q) д фв {q + + 1)]. Формула Фа(1) фактически определяет множество А. 1
В настоящий момент нам неизвестно, верно ли обращение теоремы 5.6. Чтобы оценить выразительную мощность со-звездно-свободных S-регулярных формул, мы покажем, чтоУх, у eS+ , {хрю} является со-звездно-свободным S-регулярным множеством
{хую} = ху5ю П % (S60 — □ SW^rS»),а ^= т
где \у\ = п, a S® есть просто дополнение к 0.
Для со-слов справедлив также аналог леммы 4.4.
Лемма 5.7. Для всех п и всех х, у е S* и z е S® имеет 2rt — 1to 2n
место ху z~s,nxy z.
Доказательство. Пусть z = <rz', где а е S. Очевидно, z' ~ ~s,»z', и по лемме 4.4, ху2"-1 о ~^,пху2По. Объединяя две соответствующие выигрышные стратегии игрока II, мы приходим к нужному результату. |
ЛеммА 5.7 дает достаточно простой тест, выясняющий непредставимость некоторых множеств в виде MODs(<p) прц д^рбом <р е ^. Пусть например А = (00 U 1)“. Предположен
A = MODs((p) для некоторого ^^З^п- Пусть х = 02П1®. По лемме 5.7, ^О2"!® ^s,n02/l” 4ю. Следовательно, по лемме 3.1 О2”-^Hto, 1} Ф> так как O2rtl®={o, 1}<р. Но это невозможно ввиду О2"-4®^ А. Таким образом, А #= МООе(ф) для любого 2-предложения $ первой ступени. Нужно заметить, что А имеет вид ВС®, где В и С суть звездно-свободные S-регулярные множества.
РЕШАЮЩИЙ АЛГОРИТМ ДЛЯ МОНАДИЧЕСКОЙ ТЕОРИИВТОРОЙ СТУПЕНИ (®, <)
Рассмотрим следующую задачу: является ли предложение монадической теории второй ступени бинарного отношения истинным в модели (со, <)? Бюхи [1] показал, что существует алгоритм решения задач такого типа. В этом параграфе мы дадим иной вариант решающего алгоритма для этой задачи, основанный на теоретико-модельных играх. Можно считать, что все формулы уже приведены к предваренной нормальной форме. Вопрос об истинности предложения ср монадической теории второй ступени в модели (со, <) в нашей терминологии есть просто вопрос о верности равенства
MOD“0} (Ф) = {0ю} для ф е Ж№.
Решающий алгоритм основан на следующих двух леммах, доказательство которых дается ниже.
Определим Ж^1П,т как множество всех S-формул в предваренной форме с п кванторами и свободными индивидными переменными р\, .... рт и без свободных предикатных или множественных переменных.
Лемма 6.1. Пусть даны п и S. Для всех х, уе^, xs е {V, 3} Л, ..., tm ^ | х | и хрф е Жт^т эквивалентны следующие утверждениях■
.Г Рь • • • > Pm 1
ху^ЬХУФ ,,.
х'< И + ms (п) | у I, где
L Н, ... , tm, I J
Доказательство. Для каждого алфавита 2 обозначим через 22 алфавит {0/10^2 и z = 0, 1}. Определим As : 22—»2 посредством Ла(<тг) = о. Естественным образом можно расширить Ла на (22)* U (22)“. Далее положим ds:22->{0, 1}, ds(<Ti) = t. Функцию ds можно распространить на слова в алфавите 22 следуй*
щим образом. Если ф есть S-формула, а Р — предикатная переменная, то 22-формула фр определяется так: каждое вхождение Ua(p) в ф заменяется на UOQ (р) v U01 (р), а каждое вхождение Р (р) в ф заменяется на V UC1 (р).
оеЕ
Лемма 6.2. Пусть даны nuL Для всех х, ye S+, % е {у, 3} /1tm < | х | и %Рф е Жг, п, m следующие утверждения эквивалентны:
x^ksX^P’ "‘ ’ Р1' L>i> > >m J
%хь ух е (2S)+, такие, что
{a)hz(xd=xyk и hz(yd = y' для некоторых к, К.т^п—\\
(b)XjP®|==2^p.
Суть этих двух лемм в том, что кванторы в монадической теории (со, <) второй ступени могут быть ограничены без изменения истинности формул.
Алгоритм использует процедуру TEST с параметрами х, у, Ф, S, п, tn, (t\, ... , tm), где х, уе^, ф е Жт.. n, m, a tt, ... , fm^|x|. TEST принимает значение true в точности тогда, когда
ГР1Рт1
^|=2Ф ., .
L Ч> • • • > *m J
а в противном случае значением будет false Определим эту процедуру на Алголе.
procedure TEST [х, у, ф, S, п, т, (/ь ... , /т)]:
if м = 0, then return х^ефР1^т , else
L ti, ... , tm J
begin
ifq> ■ арф then return
V TEST[x/’2(n),p, ф, S, n—1, m+1, (6, ...
t < | x I + m^ (n) I у |
... , tm, /)];
11ф = V/^then return
Д TEST [xp^^w, yt ф, 2, n — 1, m+ 1,...
t < I x | 4- m^ (n) 1 у |
• • • > tmi /)];
Иф = З^Ф then return
V TEST[xb уь фр, 22, n- 1, m, (/b •, /m)];
Й2(Х1) = xyk
к, l<. fn2,S (n — ^
iftp = уР-ф then return'
A TEST [xb yb фр, 2S, n— 1, m(/b ... , ^)]
As (X0 - xyk
hx (vi) - »l
k, I C m22 (n - 1)
end
Стоит дать небольшие комментарии к процедуре. Если м==0, m I Г Pb • • • > Рт,
то ед р=2Ф|I тогда и только тогда, когда х^-
Н2Ф РУ Рт , так как каждое tt ^ | х |. Кроме того, истин- L Ч, • • • > tm J
ность
рь ртД - х|=2ф I ,
L ч> • • •, ^т J
может быть проверена подпрограммой, значениями которой могут быть true или false. Первым параметром TEST в двух случаях первой ступени будет ху^^, чтобы удовлетворялись входные условия TEST. Это не уменьшает общности, поскольку ху® = ху^^у®• Наконец, две предыдущих леммы гарантируют применимость TEST’a.
Пусть ф — произвольное {0}-предложение. Для проверки {О™} = MOD(o) (ф) нам нужно выяснить, верно ли, что 0“|={0}ф" Это осуществляет следующая программа;
-TEST FOR 0“H{0}<P.v
begin
read ф;
п*-число кванторов в ф;
у*-TEST[0, 0, ф, {0}, п, 0, ( )]
end
Значение у (из программы) определяет истинность или ложность ф в (о, <). Продолжим теперь доказательство демм 6.1
Доказательство леммы 6.1. Доказательство основано на модификации игр, определенных в разд. 3. Назовем s-ограниченной (S, пУигрой на и и v с параметрами /ь ..., tm такую (2, п)-игру на и и V, что первый ход является индивидным, и если / есть первый полуход на v любого игрока, то t^s. Остальные (n—1) ходов не ограничиваются. Если п первых ходов суть {(az, Pz) 11 Z ^ п} (где az — полуход на и, а^~ соответствующий полуход на v), то игрок II выигрывает в точности в том случае, когда игрок II должен выиграть (S, m-V + п)-игру с ходами
№, ^i) 11 < z < m} U {«i, Р<) | 1 < г < tiY
Применяя аргументацию, подобную той, что использовалась в доказательстве леммы 3.1, можно показать, что если игрок II обладает выигрышной стратегией в s-ограниченной (S, м)-игре на и и v с параметрами /ь ...Дт, то для всех S-формул вида хрф (=: Ж^ п, т мы ДОЛЖНЫ ПОЛУЧИТЬ
и|=2ХР1|>Г^Ь fml
L ч, • • • > tm J
тогда и только тогда, когда
Xt^s, такое, что уН^ФXt^s, такое, что уН^ФРт>Рт>Pl/ JPl/ J
Xt^s, такое, что уН^Ф
Xt^s, такое, что уН^Ф
Рт>
Рт>
Pl/ J
Pl/ J
Мы докажем лемму, если сможем установить, что для игрока II существует выигрышная стратегия в (|х| + ^2(^)| У D-ограниченной (S, м)-игре на xyto и xyto с параметрами /ь ..., t^ если Л, •••> ^m^l ХЬ Пусть к — наименьшее число, для которого существует Z^ 1 со свойством ук ^s,пуН1. Такое к существует, потому что может быть лишь конечное число классов ^s, «-эквивалентности. Далее, к^т^ДнУ так как в противном случае существует кх<к2^к, такие, что укх w^nykS что противоречит минимальности к. Поскольку ук «х.пy^^S то, конечно, ук + и ^^„у^ u + D^ для всех /^0. Следовательно, ук « ~MkJril Для всех Z^O.
Выигрышная стратегия игрока II описана ниже. Если первый полуход игрока I ограничен на втором экземпляре xyto, то игрок II отвечает таким же полуходом на первом экземпляре xyto. Игрок II продолжает копирующую стратегию в оставшихся ходах. Пусть игрок I сначала сделал неограниченный полуход на первом экземпляре xyto, и пусть этот полуход есть s. Если s^|x|, то игрок II снова отвечает копирующей стратегией. Если s>|x|, то пусть / — наименьшее число, такое что 5 ^ I х | + (k + И) | у |. Первый экземпляр ху^ может быть представлен в виде хук+иу^, а второй — в виде xyky®r имеем
yk^z,nyk+il, так что игрок II отвечает на втором экземпляре xyto в отрезке межцу |х| + 1 и |х| + &|у| в соответствии с выигрышной стратегией в (2,м)-игре на ук и ук+а. Игрок II продолжает, сочетая копирующую стратегию на ^“(l, | х | + 1) и ^“(l, |х| + 1) с выигрышной стратегией на xyto(| х| + L И + U + in\y\ +1) и хую(|х| 4-1, \х\ 4- *1 у\ 4- 1) и копирующей стратегией на ху®( |х[ 4- (6 4- ^) IУI 4- 1, ®) и x^d х| 4- 4-&|#| + Л®). Так как к^пг^пУ то ответ игрока II в первом ходе меньше или равен желаемой границы х + ms(n)\yl.l
Перед завершением доказательства леммы 6.2 сделаем полезное замечание о соответствии между ф и фр.
Замечание 6.3. Пусть ф есть S-формула со свободными индивидными переменными р\, ..., рь и свободными предикатными переменными Р, Рх, Pi. Если xg2“, х'е (2S)°, fs (х') = х, а Т г [ 1, со] с / е Т точно тогда, когда d^ (xz (/)) = 1, то
х^з'ФЬ ЬUbх^з'ФЬ ЬUbрк tkрк tkЛ,Л,Pl, q ти 71Pl, q ти 71
х^з'ФЬ ЬUb
х^з'ФЬ ЬUb
рк tk
рк tk
Л,
Л,
Pl, q ти 71
Pl, q ти 71
тогда и только тогда, когда
Рк Р\,... tk Л,Рк Р\,... tk Л,PlTiPlTi
Рк Р\,... tk Л,
Рк Р\,... tk Л,
Pl
Ti
Pl
Ti
Замечание 6.3 немедленно следует из определения фр.
Доказательство леммы 6.2. Это доказательство основано на другом варианте (S, я)-игр, определенных в разд. 3. Определим (а, Ь, сУограниченную (S, пУигру на и и v с параметрами tx, ..., tm следующим образом.
В первом ходе игрок I выбирает либо со-слово Ui^(2S)®, такое, что As (и^ = и, либо со-слово Vi е (2S)°, такое, что As(v1) = v. Если выбрано vb то найдутся кД^-с, такие, что для всех i > а 4- kb и / ^ О
d^ (V! (Z4-/1ЬУ = d^ (V1 (Z + U 4- 1) I ьу.
Выбор Ui произволен. Остальные (n—1) ходов образуют (2S, п— 1)-игру, определенную в оазд. 3. Если оставшиеся (п — 1) ходов суть {(a;,pz)| 1 ^/ ^п— 1}, то игрок II выиграет в точности в том случае, когда игрок II выигрывает в (2S, tn 4- п — 1)-игре с ходами {(Zb t^ 11 < i < m} U {(<^,PJ | 1 ^
Используя замечание 6.3, можно доказать, что если игрок II обладает выигрышной стратегией в (а, 6, ^-ограниченной (S, п)-игре с параметрами /ь ...^т в и и V, то для всех
S-формул вида %Рф е Ж^т следующие утверждения эквивалентны:
u|=s Х^ ,/ и
(II) xv 1 е (22)“, такое, что
существует k,l ^ с, такие, что для всех i > а + kb и />0,
^(v, (/ + / lb)) = d^vx (/ + (/ + 1) lb)),.
V! ^22 ^ [ f’ Pz” 1 .
L t b • • • > ^m J
Доказательство полностью аналогично доказательству леммы 3.1.
Мы покажем, что у игрока II имеется выигрышная стратегия в (|л;|, |y\)tn2X^n— 1))-ограниченной (S, м)-игре на xyto и xyto с параметрами Zb ...., tm (при условии /ь ... Z„r^kl). Отсюда сразу следует лемма. Пусть ug(2S)°, так что h^u) — yto. На основании теоремы Рамсея ( в точности как в доказательстве леммы 5.2) должно существовать бесконечное множество Ни г {Z|p| + 1|Z^ 1} и класс («22, п- 1)-эквива- лентности 6и, такие, что для всех I, j е Ни, если / < /, то u (Z, j^ebu. Пусть аи — класс (ж 2s, „„^-эквивалентности u(l,s), где s является наименьшим числом в 77и. Пусть wu — — слово минимальной длины в аи с тем свойством, что As(^u) = = yk для некоторого к. Пусть 2и есть слово минимальной длины в Ьи с тем свойством, что As (zu) = У1 для некоторого I. Пусть Zu и ки таковы, что |ши| = АиЫ и |2u| = Zuk|.
Теперь мы докажем, что ки^гп^п — 0- Предположим, что ки > tn2^n — 1), тогда wu = uuw с |и| > 0, где \и\ и | v| оба кратны | у | и uv « 2S, п -1 и. Следовательно, uw е аи и As (aw) = ук для некоторого к, что противоречит тому факту, что ^и есть слово минимальной длины в аи, удовлетворяющее As (ши) = ук для некоторого к. Аналогично показывается, что Zu^/^2s(^—1).
Выигрышная стратегия игрока II в (|х|, |р|, m2s (п — 1 ^-ограниченной (S,п)-игре на xyto и xyto с параметрами Zb ...,tm такова. Если первый ход игрока I ограниченный и делается на втором экземпляре xyto, то игрок II применяет копирующую стратегию. Пусть, далее, первый ход игрока I не ограничен и делается на первом экземпляре xyto. Пусть ход будет XiU s е(2Е)®где |х| = |%1|. Ответ игрока II состоит в выборе x\wuZu на втором экземпляре xyto. Согласно аргументации последнего раздела, это (|х|, |yV т^п —• 1))-ограниченный ход. Пусть Ни = = (Ао, Ai,...} с Az < Az+i. Пусть А = | Xi I + 1, a dt = | Xi | + hi для I ^ 0. Далее, пусть ez = А + (Au + ZZU) | у | для Z ^ 0. В оставшихся
(п — 1) ходах игрок II применяет стратегию, составленную из копирующей стратегии на XiU(l,A) и xiwuZu(l , А) и выигрышной стратегии игрока II в (22, п — 1)-игре на парах слов (хщ (A, d^, х,^^ (А, е0) и (xvu(dpd. + iyxxwuz»(euei + x'y) для всех г>0. Здесь используется то, что u(l, Ао) «a.n_xwu и u(At,A( + 1) « 2$п_х ги. 1
Остается небольшой вопрос о непрактичности этой решающей процедуры. Согласно работе [12], не существует практически применимой решающей процедуры для монадической теории (со, <) второй ступени. В частности, там показано, что существует постоянная е > О, такая, что всякая машина Тьюринга Т, выясняющая, будет ли произвольное монадическое предложение второй ступени истинно в (со, < ), обладает тем свойством, что для бесконечно многих п существует предложение длины гц требующее не менее g‘(slog2n, 0) шагов и ячеек памяти.
Процедуру TEST можно использовать для выяснения равенств MODs (ср) = 2® для (рЕД. Можно применить следующую лемму.
Лемма 6.3. Если ^гЛ^п, то MODs(т) = S® в том и только том случае, если для всех х, уе^ с |х|, \у l^msW, xyto\=x(p.
Доказательство. Следует сразу же из лемм 3.1 и 5.3. |
TEST FOR МОО£(ф) = 2ф
begin
read ф;
п<- число кванторов в ф;
A TEST[x,у,ф, S, п, 0, ( )] х,и е s+ • lx I,
end
Значение и определяет справедливость утверждения ЛЮВ2(ф) = = 2®.
РЕШАЮЩИЕ АЛГОРИТМЫ ДЛЯ ТЕОРИЙ ПЕРВОЙ СТУПЕНИ
Имеет место интересное разделение задачи об истинности утверждения МООе(ф) = 2® для фЕ^ на случаи ||S||^2 и || S ||=1. В последнем случае эта задача является по существу задачей определения истинности предложения первой ступени в (со, <). Обе задачи являются частными случаями выяснения истинности утверждения MODs (ф) = 2^ для ф г Лъ.
Мейер и Стокмейер [13] показали, что если ||2||>2, то задача для ф е ^s приблизительно так же трудна (в терминах времени работы и объема памяти машины Тьюринга), как и задача об истинности MODs(qp) = S° для ф е Л^. Робертсон [18] также получил несколько результатов в этой области. По контрасту с этими результатами, в работе [7] показано, что задача для MOD{0) (ф) = {0°} при ф е ^{о} разрешима на машине Тьюринга с зоной размера п^ (п —длина предложения, истинность которого выясняется). Примененный в этой работе метод основан на теоретико-модельных играх.
В этом разделе мы дадим относительно простой решающий алгоритм для MODs (ф) = 2° при ф е $^. Этот алгоритм основан на двух следующих леммах. Пусть S^.^m есть множество формул первой ступени в предваренной нормальной форме с п кванторами и свободными переменными рх, ...,рт.
Лемма 7.1. Пусть даны п и 2. Для всех хе2*, у^^, ^ g {V, 3}> 1 ^ / ^ n, w ф е ЗЕ^п следующие утверждения эквивалентны*. .
Xt/^gXlPl •••ХпРп'Ф,
(П) (xiSi < /1) (Х2«2 < Q •.. (XnSn < Q, такие, что
X^tripf^1’ '",Рп1,где ti = |х| + |у| £•
игрой, U и V, и v заигрой, U и V, и v заДоказательство. Доказательство связано с новой (/1, ..., t ^-ограниченной (S, п^-игрой первой ступени на которая совпадает с (2, п)-игрой первой ступени на и
игрой, U и V, и v за
игрой, U и V, и v за
исключением полуходов, производимых на v. Если /-ый полуход на v есть s, то s должно быть ^//. Ясно, что означает выигрыш для каждого игрока.
стратегией в (/ьстратегией в (/ьСоображение, подобное тому, которое приводилось в лемме 3.1, показывает, что если игрок II обладает выигрышной
стратегией в (/ь
стратегией в (/ь
м Xne{V,3} и гре^о.п,м Xne{V,3} и гре^о.п,на и и V, то для всех %ьна и и V, то для всех %ь, /J-ограниченной (S, п)-йгре первой ступени
м Xne{V,3} и гре^о.п,
м Xne{V,3} и гре^о.п,
на и и V, то для всех %ь
на и и V, то для всех %ь
u |zzs Х1Р1 • • • ХпРпА тогда и только тогда, когда (xi^i < /1) . . . (XA^U, такие, что
Sn
Лемма будет доказана, если мы сумеем показать, что игрок II обладает выигрышной стратегией в (/ь ..., /J-ограниченной (2, п)-игре первой ступени на xyto и xyto, где // = ||х + + 1у|-Е2"-/. Это мы докажем для всех х е S*, z/ е S+ индук-
цией по п. Очевидно, что утверждение истинно для 0. Предположим, что оно истинно для п. Пусть даны хеГ, у е2+ и пусть /< = 1x1 + |</| ' 2 ДЛЯ l^Z^rt+l.
Выигрышной стратегией игрока II в (/ь ..., /п + ])-ограни- ченной (2, п)-игре первой ступени на ху® и ху" будет следующая.
Если первый полуход игрока I ограничен и делается на втором экземпляре ху®, или^|х| + \у| • 2" и делается на первом экземпляре ху®, то игрок II делает такой же полуход на другом экземпляре ху®. Пусть / = |х| + |у|-2п+1. Игрок II продолжает применять копирующую стратегию на двух экземплярах x^Il, /) И свою выигрышную стратегию в (4, ..., 4). ограниченной (2, н)-игре первой ступени на двух экземплярах xy®(t, с»), где /< = /< + 1 — / + 1 Для l^z<n. Это дает нужный z
результат, поскольку t\ = | у | £ 2" - 1 и ху® (t, о) = у®. / - 1
Если первый полуход игрока I есть s > | х | +1 у | • 2" на первом экземпляре ху®, то игрок II отвечает полуходом s' на втором экземпляре, причем | х | +1 у 1(2'’— 1) < $'^| х | +| у |Х X 2" и s' = s — I х | (mod | у |). Ход игрока I представляет ху® как xymzwy®, где s = \xymz\, тогда как ход игрока II представляет ху® как ху2" “ xzwy®, где s' = | ху2" ~ xz |. Поскольку т > 2", то по лемме 4.4 xymz ~х, «ху^ ~ xz. Пусть < = lxymz 1+ 1, а /'= = 1 ху п ~ xz I + 1. Игрок II продолжает применять свою выигрышную стратегию в (2, п)-игре первой ступени на ху“(1, /) и хуш(1, О и свою выигрышную стратегию в (4 /', ..., /^-ограниченной (2, п)-игре первой ступени на xy®(t, со) и ху®^', <о), где t't = /, + ] — t' — 1 для 1 ^ z ^ п. Это дает нужный результат, потому что
/, = 1®| + |у|22"-/ и ху®(Г, &) = wy®. 1 / -1
Лемма 7.2. Если фЕ^х, „, то MODs(<p) = 2® тогда и только тогда, когда для всех х, уе2+, для которых |х|, | у |^/х(п), выполняется xy®V=z<$.
Доказательство. Доказательство является аналогом доказательства леммы 6.3 для игр первой ступени. Доказательство же леммы 6.3 связано с анодогами лемм 5.1—5,3 для игр рервой ступени,
Мы располагаем теперь всем необходимым, чтобы описать процедуру принятия решения для МСЮх(ф) = 2й при фЕ^. Если хе2*, у е-2+ и ф е 9?s, п, то определим процедуру TEST 1 [х, у, ср, 2, и], которая выдает true, если х^Н^Ф- и false в противном случае.
procedure TEST 1 [х, у, ф, 2, п]:
begin
for i = 1 until n do tt <-| x | + | у | • У, 2" ~ z;
/ -1
Pb • • - . Pn. ^b • • • > snPb • • - . Pn. ^b • • • > snположить Ф = ХФ1.. .'fcM, где -ф e S’^; return (xs, </,)... ^nsn < Q ^xy^ -11=2 Ф
Pb • • - . Pn. ^b • • • > sn
Pb • • - . Pn. ^b • • • > sn
end.
Мы можем подставить xt/2" + *~ 1 вместо xy®, так как Ц ^ ^ | xp2" - 11, для 1 ^ i ^ n.
TEST для MODxfo) = Sa при фЕ^
begin
п<-число кванторов в ф;
о <— Д TEST 1 [х, у, ф, 2, ti\
х е 2*, де 2+
I х |, I у I < Zx (п)
end
Значение у определяет, верно ли, что MODx (ф) = 2ю, или нет.
Рассмотрим теперь случай ||2||=1. В этом случае TEST 1 [х, у, ф, 2, n] = TEST 1 [х', у', ф, 2, и] для х, /е2‘ и у, у' е 2+, потому что xyto = х'у'6’ для всех х, х' е 2* и у, у' е е2+. Таким образом, получается следующий алгоритм:
TEST для MOD{o} (ф) = {0“} при фе^о},
begin
п-<-число кванторов в ф;
v*-TEST 1[$!, О, ф, {0}, п]
end
Алгоритм реализуется на машине Тьюринга с зоной длины п2 (п —длина предложения ф). Теперь ясно различие между случаями алфавита с многими буквами и однобуквенного алфавита.
ЗАКЛЮЧЕНИЕ
Теоретико-модельные игры являются мощным средством исследования монадических теорий второй ступени для некоторых линейных порядков. Мы хотели бы видеть эти методы примененными к монадическим теориям второй ступени для деревьев. Рабин в работе [14] уже показал, что монадическая теория второй ступени для структуры ({0, 1}*, <) (где х < у означает, что слово х есть префикс слова у) разрешима. Он использовал метод, подобный методу Бюхи, рассматривая конечные автоматы на бесконечных деревьях. Мы знаем, что метод теоретико-модельных игр можно использовать для анализа конечных деревьев в духе нашего анализа конечных слов. Автоматы на конечных деревьях и их применение к слабой монадической теории второй ступени для деревьев рассматривались в работе [19].
ЛИТЕРАТУРА
Biichi J. R. (1962), On a decision method in restricted second order arithmetic, in Proc. 1960 Int. Cong, for Logic, Method, and Philos, of Sci., Stanford Univ. Press, Stanford, Calif.
Biichi J. R. (1963), The monadic second order theory of, in «Decidable Theories II» (J. R. Biich and D. Siefkes, Eds.), Springer-Verlag, New York.
Chouera Y. (1974), Theories of atomata on tapes: A simplified approach, J. Comput. System Sci. 8, 117—141.
Ehrenfeucht A. (1961), Application of games to the completeness problem for formalized theories, Fund. Math. 49, 129—141.
Enderton H. B. (1972). A Mathematical Introduction to Logic, Academic Press, New York.
Fagin R. (1975), Monadic generalized spectra, Z. Math. Logic, Grundlagen Math. 21, 89—96.,
Ferrante J. (1974), Some upper and lower bounds on decision procedures in logic, Ph. D. Thesis, M. I. T. (available as a technical report, MAC TR-139, M. I. T., Cambridge, Mass.).
Fraisse R. (1954), Sur les classifications des systems de relations, Publications Sc. de L’Universite D’Alger 1, No. 1.
Lauchli H. (1968), A decision procedure for the weak second order theory of linear order. Contributions to mathematical logic, in Proceedings of the Logic Colloquium, Hannover, 1966, North-Holland, Amsterdam.
McNaughton R., Papert S. (1971), Counter Free Automata, MIT Press, Cambridge, Mass.
Meyer A. R. (1966), A note on star free events, J. Assoc. Comput. Mach. 16, No. 2, 220—225.
Meyer A. R. (1973), Weak monadic second order theory of successor is not elementary-recursive, in Boston University Logic Colloquium Proceedings; MAC Tech. Memo 38, M. I. T., Cambridge, Mass.
Meyer A. R., Stockmeyer L. J. (1974), The Complexity of Decision Problems in Automata Theory and Logic, Lecture Notes in Computer Science, Springer-Verlag, New York.
Rabin M. 0. (1969), Decidability of second-order theories and automata on infinite trees, Trans. Amer. Math. Soc., 141, 1—35. [Русский перевод: Ки-
бернетический сборник, новая серия, № 8. — М.: Мир, 1971, стр. 72—116.] 15. Rabin М. О., Scott D. (1959), Finite automata and their decision problems, IBM J. Res. Develop. 3, No. 2, 115—125. [Русский перевод: Кибернетический сборник, новая серия, № 4.— М.: Мир, 1962, стр. 58—91.]
Rackoff С. W. (1975), The computational complexity of some logical theories, Ph. D. Thesis, M. I. T.; MAC-TR-144, M. I. T. Cambridge, Mass.
Ramsey F. P. (1929), On a problem in formal logic, Proc. London Math. Soc. Ser. 2, 30, 264—286.
Robertson E. L. (1974), Structure of complexity in the weak monadic second-order theories of natural numbers, Proceedings of the Sixth ACM Symposium on Theory of Computing, pp. 161—171.
Thatcher J. W., Wright J. B. (1968), Generalized finite automata theory with an application to a decis:oh problem in second-order logic, Math. Systems Theory, 2, No. 1. [Русский перевод: Кибернетический сборник, новая серия, № 6. — М.: Мир, 1969, с. 112—144.]
Математические вопросы в биологии
Биологические аспектытеории развивающихся систем и языков)
Д. Линденмайер
Математические конструкции, излагаемые в настоящей работе, являются попыткой описать развитие многоклеточных организмов с учетом не только чисто морфологических, но также и генетических, цитологических и физиологических данных. В последние годы в биологии развития уделяют много внимания роли биохимических управляющих систем и информационных макромолекул. В процессе развития происходят важные изменения в клетках и тканях, такие, как синтез и накапливание химических веществ,, а также структурные изменения, известные под названием «дифференцировки». Эти изменения могут происходить благодаря репрессии и дерепрессии определенных генов, процессам, которые в свою очередь управляются выработкой и распределением индукторов и ингибиторов среди клеток. Следовательно, генетические управляющие механизмы, последовательности клеточных поколений, организационные центры, морфогенетические поля и полярность — вот те концепции, которые должны быть включены в любую современную теорию развития, в дополнение к тем, которые учитывают скорости роста и другие аллометрические отношения). Я считаю, что абстрактные системы, обсуждаемые в настоящей работе, способны послужить теоретической основой, в рамках которой все упомянутые аспекты развития могут быть выражены и сведены воедино.
Приведенные в настоящей работе результаты основаны на убеждении, что в подходах к этим задачам полезны комбинаторные и дискретно-математические методы. Это убеждение возникает отчасти благодаря выделению ряда дискретных объектов, с которыми имеет дело современная биология, например
нуклеотидов, генов, мембран, органелл, клеток, индивидуальных организмов. В процессе развития много различных видов этих объектов взаимодействуют между собой, что приводит к хорошо известным процессам роста и дифференцировки. Традиционные математические описания посредством непрерывных функций и дифференциальных уравнений, по-видимому, неспособны справиться со сложностью этих процессов, и недавние усилия [15] применить здесь дифференциальную топологию многомерных пространств все еще находятся на слишком ранней стадии, чтобы судить, дадут ли они подходящую формализацию. С другой стороны, успехи, достигнутые в последние годы в комбинаторной и алгебраической теориях конечных автоматов, алгоритмов и формальных языков, дают легко приспосабливаемую и непосредственно применимую основу формализма, в рамках которого можно наглядно представить общую теорию развития.
Фактически, по-видимому, происходит перекрестное оплодотворение между такими довольно отдаленными дисциплинами, как теория вычислений (Computer science), включающая теорию автоматов и теорию формальных языков, и, с другой стороны, биология развития, что вызвано их общим интересом к хранению и переработке информации и общим стремлением справиться со специфичностью и сложностью. Понимание «решений» технических проблем, которые встречаются в живых организмах, по-видимому, стимулирует развитие теории вычислений. И наоборот, знание современной вычислительной техники и теории вычислений' помогает биологам постулировать механизмы развития, другими словами, понять «вычисление», необходимое для поэтапной реализации генетических инструкций оплодотворенного яйца при его развитии во взрослый организм. Относительные преимущества дифференциальных и интегральных выражений для непрерывных функций, представляющих соответственно локальные и глобальные свойства данных процессов, отвечают относительным преимуществам порождающих инструкций (правил продукций) и рекурсивных формул для языков или последовательностей в теории автоматов и формальных языков. Аналогично, критерии стабильности для дифференциальных и интегральных выражений имеют свои соответствия в множествах и иерархиях языков. Как выразился недавно Бре- мерман [6]: «Теория автоматов очень похожа формально на теорию динамических систем. Действительно, Арбиб [3] дал формулировки, которые охватывают как частные случаи дифференциальные динамические системы и конечные автоматы. Оба варианта суть адекватные модели реальности. Как отметил Том [30], экспериментальные данные — это всегда конечные множества точек в ограниченном временном интервале. Описание их
дифференцируемыми многообразиями — дело вкуса, а не логическая необходимость».
Более того, я согласен с Вольпертом [33], что «развитие формы и структуры, хотя оно и связано с молекулярной дифференцировкой, можно рассматривать с точки зрения его собственных правил. Более того, правила, законы или принципы для выражения генетической информации в терминах строения и формы будут столь же общими, универсальными, элегантными и простыми, как и те, которые сейчас применяются в молекулярной генетике... Мне хочется высказать предположение, что решение проблем должно первоначально искаться не на молекулярном, а на клеточном уровне, так как до тех пор, пока клеточная основа не понята, не могут быть поставлены правильные вопросы на молекулярном уровне».
МАССИВЫ КЛЕТОЧНЫХ АВТОМАТОВИ РАЗВИВАЮЩИЕСЯ СИСТЕМЫ
Математические конструкции, которые мы здесь применяем к многоклеточным организмам, первоначально формулировались как растущие клеточные массивы растущих автоматов. Как таковые они находили обоснование в моделях нервных сетей Маккаллока и Питтса [20], самовоспроизводящихся клеточных автоматов фон Неймана (см. [7], а также [8], [9] и [2]) ив идеях Эшби [3] о спаривании систем. Однако наши конструкции отличаются от всех вышеупомянутых тем, что мы рассматриваем клеточные массивы, внутри которых рост возможен всюду, а не только по краям, как в конструкциях фон Неймана, а их размеры не остаются постоянными, как в моделях Маккаллока — Питтса или Эшби. Другим^ словами, мы полагаем, в точности как это делал фон Нейман, что имеется пространство клеток, в котором каждая клетка является конечным автоматом. Каждый автомат на протяжении данного интервала времени может находиться в одном из конечного числа состояний. Предполагается, что время течет дискретными тактами. Для каждого такта времени «следующее состояние» каждой клетки вычисляется в соответствии с данной «функцией следующего состояния». Клетка, находясь в данном состоянии, может либо перейти в новое состояние, либо быть удалена (умереть), либо разделиться на некоторую цепочку клеток, находящихся в некоторой комбинации состояний. Таким способом клетки могут добавляться к массиву и удаляться из него в любой точке.
Выбор живой клетки в качестве элементарной единицы для теории развития легко можно обосновать тем, что нам известно о фундаментальном структурном подобии клеток во всех
организмах, об их автономности относительно метаболизма и других функций, о непрерывности передачи их наследственности. Этот последний аспект является, конечно, следствием того, что каждая клетка в организме получает и передает своим потомкам копию одного и того же хромосомного набора ДНК. (Хотя мы в основном будем говорить о клетках, моделях и пространствах клеток, это следует понимать так, что если конкретная биологическая проблема потребует рассмотрения элементарных единиц, больших, чем единичные клетки, в теории нет ничего такого, что помешало бы нам сделать это. Следовательно, мы будем применять те же структуры к сегментам корней и стеблей, сегментам гифов грибов и т. п. до тех пор, пока еще можно считать, что эти сегменты являются однородными и автономными частями с точки зрения биологии развития.)
Под состоянием клетки в некоторый момент времени мы понимаем комбинацию состояния ее генома, т. е. расположения ее активных и неактивных генов, и состояния ее цитоплазмы, т. е. концентрации важных для развития химических компонент (возможно также структуру оболочек или мембран и тому подобное). Резкие изменения могут произойти в состоянии клетки либо когда некоторая компонента достигает пороговой концентрации, включая тем самым важную метаболическую перемену, либо в результате изменения в геноме, либо вследствие поступления извне нового химического соединения, действующего как индуктор или репрессор (активирующий или инактивирующий определенные гены). Изменение состояния может вызвать дифференцировку ранее недифференцированной клетки под этим понимается, прежде всего, накопление некоторой химической компоненты, которой ранее не было). Или, возможно, изменение состояния вызовет деление клетки. В случае деления можно получить две дочерние клетки с тем же состоянием генома и цитоплазмы, в котором была материнская клетка (равное и недифференцированное деление), .или можно получить одну или обе дочерние клетки, отличные от материнской из-за неравного распределения клеточных компонент или из-за изменения в состоянии геномов при делении (гены подвергаются репрессии или дерепрессии). Когда дочерние клетки непохожи друг на друга, можно также учитывать возникшую асимметрию.
Следующее состояние клетки может определяться либо одним только ее настоящим состоянием (функцией, не учитывающей взаимодействия), либо с помощью функции, в которой играют роль также состояния соседних клеток. В последнем случае учитываются взаимодействия между клетками, и состояния соседей рассматриваются как входы автомата, следующее достояние которого вычисляется. Может случиться, что функция следующего состояния дает нам выбор более чем одного еле-
дующего состояния, в которые может перейти настоящее состояние. В этом случае мы имеем дело с недетерминированной функцией. Функция следующего состояния также может иметь то ограничение, что никакая клетка не может быть удалена (состояние никакой клетки не может быть заменено пустой строкой). Такие системы называются «размножающимися».
Развивающийся организм в каждый конкретный момент времени описывается массивом символов, соответствующих состояниям массива его клеток. Чтобы вычислить описание организма в следующий момент, ко всем клеткам массива применяется одна и та же функция следующего состояния. Начиная с исходного массива (как правило, состоящего из единичной клетки или зиготы) и повторно применяя функцию следующего состояния к каждой клетке массива, мы получаем описание жизни организма в виде последовательности массивов символов. Последовательность может быть конечной или бесконечно длинной, в зависимости от функции следующего состояния и исходного массива, а недетерминированная функция будет порождать много последовательностей.
Необходимо отметить, что эти формализмы основаны на предположении, что пространственные отношения для соседних клеток или их потомков не изменяются во времени. Другими словами, оболочка, проложенная между двумя клетками, может растянуться вследствие роста или изменить форму, но не может разорваться. Таким образом, передвижение клеток друг по другу, наблюдаемое у высших животных, не находит отражения в этой теории в ее настоящем виде.
В рамках этих конструкций для мгновенного описания организмов наиболее удобно математически представление их одномерными строками символов, а для развернутого во времени описания — последовательностями строк символов. На самом деле для многих целей достаточно рассматривать (неупорядоченные) множества строк вместо (упорядоченных) последовательностей строк. Множество строк символов (над данным алфавитом) — это язык, как его определяет в теории формальных языков, функция следующего состояния развивающейся системы — это множество правил грамматики, а начальный массив — аксиома. Для развивающихся систем порождение языка из данной аксиомы при помощи правил должно быть формально определено с учетом специальной природы этих цепочечных порождающих систем. А именно, правила должны одновременно применяться ко всем символам цепочки (что делает их параллельно переписываемыми системами). Более того, ни один из символов не может быть нетерминальным. Другими словами, все строчки, порожденные из аксиомы, и сама аксиома принадлежат языку.
Математическую конструкцию, состоящую из множества правил вывода (функции следующего состояния), не учитывающих клеточных взаимодействий, некоторого алфавита символов (множества символов состояний) и аксиомы (начальной строки состояний) называют «нульсторонней (без обмена информацией, без взаимодействий) системой Линденмайера» или, короче, OL-системой. Детерминированная (однозначная функция следующего состояния) и распространяющаяся (нестирающая функция следующего состояния) OL-систёмы обозначаются соответственно «DOL-система» и «POL-система»; если выполнены оба условия, мы имеем «PDOL-систему».
Первоначально «односторонними и двусторонними системами Линденмайера» или «1L- и 2Ь-системами» назывались конструкции, состоящие из множества правил со взаимодействием между клетками, алфавита и аксиомы. Предполагалось взаимодействие только с ближайшей соседней клеткой с одной или с обеих сторон от рассматриваемой клетки. Когда к соседних клеток слева и I справа являются входами данной клетки, мы говорим о <к, />-системе; <к, />-системы, где к и / пробегают все неотрицательные целые числа, называются «IL-системами».
Односторонние и двусторонние IL-системы определяются здесь иначе: <к, />-система называется односторонней, если к = 0 или / = 0, но не оба вместе, если же ни к, ни / не равны нулю, то система называется двусторонней.
Конструкция с несколькими множествами порождающих правил без взаимодействия (таблиц), алфавитом и аксиомой называется табличной OL-системой или TOL-системой (биологический их смысл см. в разд. 7 и 8).
Наконец, когда мы имеем дело с любой из упомянутых систем, но дополнительно выделяем некоторое подмножество в алфавите (в том смысле, что только строки над этим подалфавитом рассматриваются как язык, порожденный системой), тогда мы будем говорить о расширенных системах, например, E0L, EIL и ET0L. Эти конструкции находят биологическое обоснование в том, что языки, порожденные этими системами, совпадают с классами кодировок и гомоморфных образов языков 0L, IL и T0L соответственно (последние результаты Эренфойхта и Розенберга [39]). Кодирование символов состояний полезно, когда существует неопределенность относительно наблюдаемых состояний клетки, т. е. когда нельзя различить некоторые из постулируемых состояний.
Множество строк (язык), порожденное одновременным применением порождающих правил из данного семейства систем называется языком этого семейства, например, OL-языком, IL- языком, TOL-языком и т. д.
Чтобы программировать развитие ветвящихся структур, в некоторых из систем используются в качестве специальных символов скобки. В случае OL-систем добавление таких специальных символов ветвления не представляет никакой проблемы, они рассматриваются как символы, которые остаются неизменными, если только они один раз введены. Но уже в случае lL-систем введение символов ветвления требует принятия дополнительного соглашения для указания клеточного окружения в точках ветвления. 2Ь-системы со скобками были формально введены в работе [16].
Название «развивающиеся системы и языки» рассматривается применительно ко всем системам и языкам, упомянутым здесь. Следующая схема иллюстрирует отношения включения (следующие из определений) различных семейств развивающихся систем: линия, ведущая от одного семейства к другому, означает включение нижнего в верхнее.
EIL IILEIL IIL
EIL I
IL
EIL I
IL
PD0L
ОПИСАНИЯ РОСТА И ФУНКЦИИ РОСТА
Самая первая задача в изучении развития организма — измерение и описание скорости его роста в одном или в нескольких направлениях и скорости роста его главных частей. Обычно предполагают, что когда организм растет при оптимальных условиях, скорость его роста определяется внутренними, наследственными факторами. Предполагается, что для клеток организма рост и деление определяется их пространственным и временным положением в развивающемся организме и что рост всего организма состоит из роста и деления отдельных его клеток.
Клеточные развивающиеся системы могут применяться для исследования этих аспектов развития, если принять определенные ограничения. По природе этих систем, нельзя добавлять произвольно малое приращение к клетке или к сегменту. Единственно возможные приращения—сэт(^ либо нулевые (клетка остается того же размера), либо кратные размеру клетки (клетка удваивается, утраивается и т. п.). Таким образом, рост длины строк, порождаемых нашими системами, происходит скачкообразно. Это ограничение не очень серьезное, так как такты времени могут быть выбраны сколь угодно малыми и так как
мы имеем дело в основном с сегментами (а не клетками), которые тоже можно выбирать произвольно малыми (до тех пор, пока они остаются больше размера одной клетки).
В последние годы интенсивно изучался рост строк, порождаемых детерминированными развивающимися системами без взаимодействия (DOL-системами). С каждой детерминированной OL-системой G можно связать функцию роста fo^» ГДС foU) — длина строки (число символов в строке) на шаге порождения /, причем аксиома считается нулевым шагом. Функции роста можно также ввести и для детерминированных развивающихся систем со взаимодействием (DIL-системы), но до сих пор о них мало что известно.
Мы знаем, что функцию роста для DOL-систем можно всегда выразить как сумму произведений полиномиальных и экспоненциальных членов. В соответствии с этим можно классифицировать функции роста DOL-систем как экспоненциальные, полиномиальные, ограниченные и конечные [31]. Для каждой DOL-системы может быть найдена и выражена в явном виде ее функция роста; и для каждой функции над неотрицательными числами, которая может быть задана некоторым вполне определенным способом, может быть найдена DOL-система, которая в качестве функции роста имеет именно эту функцию (если такая DOL-система вообще существует).
Так для хорошо известных в биологии функций роста, таких как линейная, квадратичная, кубическая, логистическая и S-образная, если они представлены в ступенчатой форме, можно либо найти соответствующую DOL-систему, либо показать, что такой системы не существует.
Например, для ^функции /*(/) = (/+I)2 можно построить DOL-систему с алфавитом {я,Ь, с}, правилами вывода а-^ а, b-^ab, с~> abbc и аксиомой с. Это порождает последовательность
abbaabababbc«aabaabaabababbc
где длины строк образуют последовательность 1, 4, 9, 16, ... . Это не единственная DOL-система с квадратичной функцией роста, например, DOL-система с правилами а -> a, b-^aab, c-^aabc и с теми же самыми алфавитом и аксиомой имеет ту же самую функцию роста.
Приведенные выше две DOL-системы с квадратичной функцией роста, возможно, трудно интерпретировать биологически.
Но этой трудности нет, если использовать другую DOL-систему, которая имеет удваивающие продукции (вместо утраивающих и учетверяющих, как выше). Эта система должна быть применена к исходной строке, имеющей длину по крайней мере 9 клеток (до этого шага строки должны удлиняться со слишком высокой относительной скоростью). Алфавит снова—{я, 6, с}, правила — а-^а, b-^ab, с-^Ьс и аксиома — а2Ь5с2 (это означает, что строка состоит из двух букв а, пяти букв b и двух букв с). Получается следующая последовательность (записано сокращенно, без соблюдения порядка символов):
a2bsс2
а1Ь1с2
а1 а1 № с2
а1а1а9ЬИс2
а7 а1 с9 а11 Ь15 с2a4 a1zz9zz11zz15д15 с2
Здесь длины равны 9, 16, 25, 36, 49, 64, ... и функция роста f(/) = (/ + 3)2.
Следовательно, чтобы запрограммировать волокно с квадратичной функцией роста, необходимо постулировать только три вида клеток: первый вид — (а), больше не делится, второй — (Ь), делится на одну клетку первого вида и одну клетку своего собственного вида, и третий—(с), делится на клетку второго вида и клетку своего собственного вида. Нетрудно представить себе, что эти постулаты могут выполняться на протяжении определенного времени развития волокнистого растения или органа.
Функции, ограниченные некоторым максимальным значением соответствуют (в цифровой форме) функциям роста D0L- систем. Однако функции, которые сохраняют безграничный рост, но растут все медленнее и медленнее (например, логарифмическая функция), не являются функциями роста DOL-систем. Это следует из того, что функции роста всех DOL-систем являются суммами полиномиальных и экспоненциальных членов. Отсюда следует, что логарифмический рост нё может быть запрограммирован без взаимодействия клеток.
РОСТ КОРНЯ КАК ПРИМЕР ОПИСАНИЯРОСТА ЭЛЕМЕНТОВ
Измерения скорости роста можно выполнять не только для всего организма, но и для его частей или сегментов, и изучать изменения этих измерений во времени и в пространстве. Чтобы
Рис. 1. Продольный разрез первичного корня кукурузы (Zea mais) (микрофотография Фиска и Миллингтона [И]).
продемонстрировать применение развивающихся систем к такому изучению, мы выбрали продольный рост первичного корня кукурузы, как он описан в работе [10].
Хотя корень — высоко развитый орган со сложной внутренней и внешней морфологией, включающий многие типы клеток (рис. 1), его рост в первом приближении можно рассматривать как одномерный. Одни части корня растут быстрее, чем другие. Помещая метки на поверхности растущего корня кукурузы и фотографируя движение этих меток, Эриксон и Сакс нашли, что скорость удлинения малого сегмента корня R однозначно определяется его расстоянием X от кончика корня (/? определяется как d(dX/dt) /dX и называется «относительной скоростью роста элемента»). Значения R на определенных расстояниях от кончика остаются постоянными во времени.
Эриксон и Сакс получили гладкую кривую, показанную на рис. 2. Те же данные приведены в табл. L
Рис. 2 Относительная скорость удлинения элементов первичного корня кукурузы (по вертикальной оси) как функция расстояния от кончика (по горизонтальной оси): эксперимент Эриксона и Сакса [10]
Максимум относительной скорости роста элементов находится на расстоянии 4 мм от кончика. Эта максимальная скорость имеет значение 0,4 час-1, т. е. за час длина бесконечно малого сегмента увеличивается на 40%.
Таблица 1
Значения относительной скорости удлинения элементовпервичного корня кукурузы; эксперимент Эриксона и" Сакса; приближенные данные использовалисьпри построении дискретной системы
X, мм расстояние
R, час 1 относительная
скорость роста элементов
от кончика
эксперимент
приближение
1
0,006
2
0,0181
0,167
3
0,323
4
0,384
0,40
5
0,352
6
0,299
0,25
7
0,212
8
0,114
0,1
9
0,030
10
0,001
1
0,0
1
Для построения дискретной развивающейся системы, имеющей подобную картину роста, непрерывную экспериментальную кривую (второй столбец табл. 1) нужно заменить ступенчатой (третий столбец табл. 1). Ступенчатая кривая показана на рис. 3:
Таким образом, мы хотим иметь развивающуюся последовательность, в которой длина первого сегмента (от 1 -мм до 3 мм от кончика) увеличивается за час на 1/6, второго — на 2/5 и
Рис. 3. Относительная скорость удлинения элементов первичного корня кукурузы (по вертикальной оси) как функция расстояния от кончика (по горизонтальной оси); значения, которые использовались при построении (1, ^-системы.
так далее для всех сегментов. Здесь мы не рассматриваем сегмент от 0 до 1 мм, так как он является корневым чехликом. Мы выбрали длину такта времени равной одному часу. Весь корень растет линейно во времени.
Другими словами, мы хотим/Иметь инструкции для нашей развивающейся системы, которые позволяют символу, представляющему первую зону, порождать новый символ один раз за каждые 6 тактов времени. Аналогично символ, представляющий вторую зону, за каждые 5 тактов должен дважды порождать новый символ и т. д.. Кроме того, должна сохраняться постоянной апикальная картина роста, поэтому каждая зона должна иметь скорость порождения новых символов, соответствующую ее расстоянию от кончика (apex). Это означает, очевидно, что символы должны сдвигаться вдоль растения, принимая новые скорости после каждого передвижения. Этим требованиям удовлетворяет следующая развивающаяся система для сегментов со взаимодействием (<1, 1>-система).
Четыре зоны роста, показанные на рис. 3, обозначим через а, 6, с и d, а все нерастущие зоны правее их обозначим через е.
Алфавит нашей <1, 1)-системы состоит из следующих символов-av...^a^
Ьо» Ь\, ...) ^5,
с0, сь...,с4,
fi^o, dAv.., </10>
50,
Правила вывода изображаются в виде <а, &, с>->ш, где три буквы в тройке, стоящей слева от стрелки, означают левый соседний сегмент, центральный сегмент (который должен перейти в новое состояние или в несколько новых состояний, в зависимости от значения w) и правый соседний сегмент. Когда в одной из позиций тройки стоит прочерк, это означает, что на этом месте может стоять любая буква. Индексы в наших символах могут принимать значения вплоть до любого х > 0 или у ^ 0.
Правила нашей системы следующие;
<-,^2i->*^3
<-1^3»->->^4
<-,^,->->/75
<-,^5,->-^^6
<-,^6»->->^
<^,»1,->
-> b^c0
b^Co
*( — > ^01 ^2^ —>
b5
• <«г,5з.->
-*54c0
^ — ib^ b^y ~^
64c0
<<7,Л, ~>
->65
<-->bQ,bA>->
65
<5®. is» — >
<-»^0i^5> ->
61
<io>^r,Co)
->c0
»bo» bQ) ->
bo
<ix,^,->-
■^c^do
<-,C0,Ct>^-
c^do
<6x,c2,->
<-,Co»C2>-*
c$
<»х,с3,->-
->c4
) Cq» Cj^ > C*4
^ix, C4, )> -
< » ^0’ ^4^ ^
^1
^0» C®, ^> "
-^do
<-, Co, Co)-*
co
-^d^e^
< - 1 ^0> ^1> "^
C^Cq
->^з
<—, d^^di)-^
-^10
< — > d^ d^) ->
^10
^x* ^101 — >
< —1 ^0» ^10^ ~=
<doi dxi6o)■
^j °о»^о) “^
‘’'о
^ > ^0» /^ ^ ^0
Хотя, на первый взгляд, порождающих правил очень много, их назначение можно объяснить в нескольких строчках.
Прежде всего, для каждой зоны мы имеем временной цикл для делений:
а^аг->а^аА-> а5-^а^ах
^ -> Ь-^ Ь5-> 6А-> ^5-> ^
-> с2-*с$-> сА^.с^
^-* d^ ... -> d^dx^->d\е0"
Если мы теперь обозначим через х Ч-1 состояние в таком временном цикле, следующее после х, и положим, что р и q стоят вместо a. b, с, d или е ^рФ q, х > 0, у ^ 0), то получим следующие 4 схемы правил нашей <1, 1>-системы:
^Ру^х^ ^^^дс+Ъ
<Р^Рх»Чу>-*^
^~'Рй'Ро>"^ Ро*
Для зон а и е эти схемы верны очевидным образом.
В табл. 2 показана часть последовательности развития, которая может быть получена на основе этих правил из произвольного начального массива, имеющего пять сегментов. Линии потомства отмечаются посредством вертикальных или наклонных линий между символами.
Мы видим, что хотя индивидуальные сегменты и их потомки постоянно изменяют свои состояния и сдвигаются слева направо, и хотя 1, 2 или 3 сегмента могут находиться в а, 6, с или d зонах в любой такт времени, число порождений в каждой зоне в точности соответствует схеме, показанной на рис. 3. Порожденная последовательность развития, пусть очень грубо и приближенно, дает представление о динамике роста и отношениях наследования.
Конечно, не только конкретная детерминированная <1, 1>-си- стема, рассмотренная выше, дает подобную картину роста, но она достаточно правдоподобна биологически. Чтобы построить эту систему, нам нужно только выбрать длины циклов каждой зоны и взаимодействия, объединенные в наших четырех схемах, а именно что (1) сегмент qX) не находящийся в нулевом состоя-
Таблица 2
Последовательность развития для корня кукурузы, положенная И. ^-системой
1*
I2
f6 1°
Is
^7 e0
f6
f4
^0 c5
^8^0^0
65
^c/^dQ^
^9 e0 e0
^2
L
^10 ^0 Co £q
f
Co Cq C^Uq
“1 Cq ^Cq ^Cq
т
co ^Cs^^o^
^250 Cq Cq Cq Cq
f5
I4
'^'Co^Ca ^^^0
^3 Cq Cq Cq Cq Cq Cq
f6
Is
^x^x
^4^0 Cq Cq Cq Cq Cq Cq
^Z-j
^S^^^O^0 Cq Cq , Cq Cq Cq Cq
аг bo
^2^
X c3
^0^0 ^o Cq Cq Cq Cq Cq Cq
f- '
^Xq ^Ct ^0
1111111111
^7CqCqCqCqCqCqCqCqCq
I4
t"
^8 Cq Cq Cq Cq Cq Cq Cq Cq Cq Cq
Is
65 1
<?2 do ^0
^9^0^0 Cq Cq Cq Cq Cq Cq Cq Cq Cq
a6
*1
^10 ^0 Cq Cq Cq Cq Cq Cq Cq Cq Cq Cq Cq
нии и стоящий правее некоторого сегмента в другой зоне, переходит в следующее состояние (или состояния) в цикле ^х+ь (2) сегмент ^0, если он стоит левее сегмента qx той же самой зоны, переходит в состояние qx-n — следующее состояние последнего сегмента, (3) если сегмент рх находится справа от сегмента той же зоны, находящегося в нулевом состоянии, и слева от сегмента другой зоны qy, то рх заменяется на q0, и, наконец, (4) сегмент в нуль-состоянии р0, находящийся слева от другого р0, остается в том же состоянии. Эти утверждения можно перевести на язык цитологии, описывая зоны уровнями концентраций определенных метаболитов, а переход сегментов из одной зоны в другую — изменениями этих концентраций в результате деления клеток и диффузии метаболитов вдоль корня.
Чтобы получить ту же картину роста без взаимодействия между сегментами (при помощи детерминированной OL-системы), нам потребовалось бы не менее 60 состояний для отдельной зоны, а всего свыше 200 состояний. Число 60 получилось как наименьшее общее кратное чисел 6, 5, 4 и 10, которые являются знаменателями скорости роста в нашем примере. Изменения состояний в такой OL-системе представляются более искусственными, чем в <1, 1>-системе, которая была приведена выше. .
Мы можем добавить здесь, что метод, продемонстрированный выше, может быть применен к росту любого растительного организма.
ПОСЛЕДОВАТЕЛЬНОСТИ КЛЕТОЧНЫХ ПОКОЛЕНИЙ И МОРФОГЕНЕЗ f
Изучение развивающихся систем без взаимодействия (0L- систем) может оказаться полезным для лучшего понимания роли, которую играют последовательности клеточных поколений и равное или неравное деление клеток в морфогенезе. Если клетки не могут взаимодействовать друг с другом в процессе роста организма, тогда возникающие структуры могут быть только результатом наследственного влияния клеток на их потомство. Некоторые признаки дифференцировки в потомстве данной клетки поддерживаются посредством деления, которое дает начало клеткам, подобным материнской. Клетки могут оказывать влияние на своих потомков посредством неравного деления и посредством заранее запрограммированных изменений состояния (предполагая, что в клетке заложен некоторый временной механизм). Хорошим примером трехмерного развития, в котором последовательность клеточных поколений играет главную роль, является «мозаичное» развитие яйца моллюска. В этом случае, вплоть до момента, когда уже имеется не-
сколько сотен клеток, яйцо подвергается дроблению таким об* разом, что каждая образующаяся клетка автономна в смысле судьбы семейства клеток, являющихся ее потомками.
Поэтому можно построить карты презумптивных зачатков, отмечая достаточно точно, какой орган взрослого животного воз* никает из какой группы клеток раннего эмбриона. Взаимодействия между клетками и тканями происходят на более поздней
Рис. 4. Двенадцатиклеточная стадия развития эмбриона моллюска Limnaea stagnalis; слева — рисунок эмбриона по Вердонку [38], справа — эмбрион, рассчитанный и нарисованный вычислительной машиной.
стадии развития этих эмбрионов. Для прудовой улитки (Limnaea stagnalis) было построено [23] алгоритмическое описание без взаимодействия клеток и предусмотрено построение вычислительной машиной схем ряда стадий дробления этих эмбрионов (рис. 4).
Формулами последовательности клеточных поколений также может быть описан рост листьев и веточек мхов и папоротников. Судьба каждой клетки определяется только ее собственным состоянием (или ее линией наследования). Такие формулы известны в литературе, начиная с работы Негели [22]. Более новую библиографию по этому вопросу можно найти в работе [12]. Негели [22] дает порождающие правила для развития листьев мха Phascum cuspidatum, которые мы приводим здесь в упрощенной форме:
1^ 1+ II,
II11+ п,
II11+III,'
IIIIII.
Здесь I, II и III обозначают первичную, вторичную и третичную клетки, различающиеся своими положениями в листе: пер-
Рис 5. Схематическая клеточная структура листка мха Phascum cusp! da turn (по Негели, [22]).
винная клетка — это бриллианто-подобная клетка на кончике, вторичная клетка — на краю и третичная — внутри листа (листья мха — это пластины толщиной в одну клетку), как показано на рис. 5.
Первичная клетка делится попеременно левой и правой косой стенкой на новую первичную и вторичную клетки. Эти правила описывают только наиболее ранние стадии развития листа мха, поскольку на поздних стадиях также играют роль увеличение клеток и дальнейшие деления клетокГ^озможно, при взаимном влиянии между клетками). Верхушки стеблей папоротника развиваются аналогично. В этом случае имеется тетраэдральная апикальная клетка, от которой вторичная клетка может отделяться косой стенкой, расположенной в одном из трех направлений. В результате образуется коническая структура, переходящая ниже в цилиндрическую.
Давайте рассмотрим прямоугольников сДавайте рассмотрим прямоугольников сСлучай развития листка мха можно очень грубо описать правилами, определяющими повторяющееся разделение прямо-
Давайте рассмотрим прямоугольников с
Давайте рассмотрим прямоугольников с
угольника на два новых прямоугольника, следующую порождающую систему для двумя видами направлений деления:
7? — правый7? — правыйнаклоннаклонL — левый наклонL — левый наклон
7? — правый
7? — правый
наклон
наклон
L — левый наклон
L — левый наклон
Рис 6. Структуры, порождаемые двумерными развивающимися системамипри моделировании листа Phascum cuspidatum.
До тех пор пока клетки остаются прямоугольными и соединенными в соответствии с указанными ниже правилами, их размер и форма несущественны. Клетка может находиться в одном из состояний:
а, Ь, с, d, е, f, g, A, i, j, к, /, т.
Порождающие правила следующие:
а -> bLc, b -* aRi, c-*d, d-^ eRg, e->f, f^HLh,
g->g, h->m, i^ h i ~► klg, к -> IRl, l-^L m~> fRg.
Под правилом a ->- bLc мы понимаем подстановку
везде, где буква а встречается; аналогично для других правил Начиная с единственной клегки а, можно получить последовательность структур, показанных на рис. 6.
Легко видеть, что для всех м, начиная с шестого шага, п-я структура имеет следующую конфигурацию:
В этой фигуре структуры, которые должны быть подставлены вместо Jn-s и Mn_3, можно получить из следующих конфигураций:
Начальные структуры определяем следующим образом:
Так как g-^ g, можно написать
и так далее.
Таким образом, здесь мы имеем некоторую систему рекуррентных формул для прямоугольников, которая в очень сжатой форме описывает границы семейств клеток, возникающих в процессе развития листка мха, изображенного на рис. 5. В этой порождающей системе состояниями представляются типы клеток, т. е. а и b представляют два вида верхушечных (первичных) клеток, с, d, е, f, й, i, j, к, I и т — различные вторичные клетки и g— третичные клетки. Будет ли дальнейшее развитие листка этого вида соответствовать структурам, порожденным системой, нуж:но определить из дальнейших данных.
Воспользовавшись подходящими скобочными обозначениями, можно множество фигур, порожденных этой системой, представить в виде строк символов. В этом случае можно определить рекуррентную систему и соответствующую детерминированную OL-систему для строк. Первоначально для этого организма была построена недетерминированная OL-система [16], где также применялось кодирование двумерных структур строками, содержащими скобки.
Однако не всякие двух- и трехмерные правила вывода можно перекодировать в одномерные так, чтобы порождаемые строки (которых может быть бесконечно много) были однозначно сопоставимы двух- или трехмерным структурам, порожденным согласно исходным правилам. Правила, относящиеся к делению прямоугольников на два прямоугольника, по-видимому, всегда однозначно кодируемы строками со скобками (может потребоваться, в общем случае, две пары различных скобок для двух возможных направлений деления).
Аналогично правила деления прямоугольных призм на две могут быть закодированы строками (требуется, по-видимому, три пары разных скобок). Это те системы правил вывода, которые можно использовать для представления последовательности делений, имеющей место в эмбрионе моллюска (показанного на рис. 4). Аналогично показанному выше делению квадрата можно было бы повторно разделять куб. Так как трехмерные порождающие правила можно перекодировать в одномерные, мы снова можем получить DOL-систему и соответствующую рекуррентную систему для ранних стадий развития эмбриона моллюска.
Вообще можно сказать, что для всех организмов, развитие
которых естественно описывается последовательностью клеточных поколений, наиболее простой и гибкий механизм развития, который можно предложить — это развивающаяся система без взаимодействий. Для таких систем всегда можно получить множества рекуррентных формул, и в первую очередь именно наличие регулярностей, выраженных этими формулами, делает возможным изучение последовательности клеточных поколений.
И наоборот, если наблюдается взаимодействие между клетками, очень маловероятно, что для таких организмов будут существовать рекуррентные формулы и, следовательно, поиск содержательных правил для последовательности клеточных поколений может оказаться тщетным. Развитие со взаимодействиями между клетками основано на совершенно других принципах и нуждается в других математических концепциях, чем развитие без взаимодействий.
ЛОКАЛЬНО ЦЕПОЧЕЧНЫЕ ПРАВИЛА ДЛЯ РОСТА ВОДОРОСЛЕЙ
Специальным случаем развивающихся систем без взаимодействий (и рекуррентных систем) является класс локально
Таблица 3
Количество клеток различных уровней иерархии Chaetomorpha linum
Уровень
Число клеток
общее
левой подиерархии
правой подиерархии
0
1
—
1
2
1
1
2
2
1
1
3
2
1
1
4
3
2
1
5
3
2
1
6
4
2
2
7
5
3
2
8
5
3
2
9
7
4
2
10
8
5
3
И
9
5
4
12
12
7
5
13
13
8
5
14
16
9'
7
Рис. 7. Последовательность клеточных поколений водоросли Chaetomorpha linum (по Люку, [18]).~
цепочечных DOL-систем. Это класс, который включает все те DOL-системы, последовательности которых описываются одной рекуррентной формулой. Примером таких систем, интересных с точки зрения последовательностей клеточных поколений, являются системы, в которых клетки нитевидного организма подвержены асимметричному делению, при котором возникают дочерние клетки, отличающиеся от материнских либо морфологически, либо имеющие другой цикл деления. Такой тип развития обнаружен в водоросли Chaetomorpha linum [18]. Когда коено- цитические (многоядерные) секции этой нитчатой водоросли делятся, одна из получающихся секций делится снова (в среднем) раз в три дня, тогда как другая делится раз в пять дней (деление происходит только ночью). Таким образом, примерный вид ряда поколений этого организма получается таким, как на рис. 7. Число секций во всей этой иерархии деления и в двух подиерархиях, которые начинаются на уровне 1, показано в табл. 3. (Определение терминов «иерархия деления» и «уровень» см. [35] И [14].)
Легко видеть, что числа в первой колонке следуют правилу типа Фибоначчи, а именно каждое после пятого число этой по-
следовательности является суммой третьего и пятого предшествующих чисел:
ал — ап-3 + ^п—5е
Интересно, что одно и то же правило применимо к обеим подиерархиям. В действительности можно заметить, что это же правило применимо к любой подиерархии (начинающейся в любой точке графа).
Такой тип процесса деления в нитевидном организме прямо подходит для построения локально цепочечной DOL-системы с соответствующей формулой
Sn = ^п—З^п—5>
где n-я строка вывода Sn получается конкатенацией строк 8п-з
И Sn—5‘
Введя понятие перехода символов, можно нарисовать следующий граф переходов:
и выписать соответствующие правила вывода
a~*db, b-*c, c-*d, d-*e, e-*a.
Эта DOL-система порождает последовательность строк с желаемыми свойствами, как показано в табл. 4.
Временные циклы длины 3 и 5 запрограммированы переходами состояний
ииa-^d->e-^a
и
и
a->b-*c->d->e->a.
Их комбинация в одном волокне является результатом неравного деления а -> db:
В действительности любая DOL-последовательность, которая удовлетворяет некоторой локально цепочечной формуле, будет удовлетворять также бесконечному числу других локально цепочечных формул, которые могут быть выведены из первой
Таблица 4
Последовательность клеточных поколений,порожденная локально цепочечной DOL-системой
как результат замены некоторого терма его значением. Таким образом система, удовлетворяющая формуле
Sn = Зп-з8п-5,
также удовлетворяет формулам
8п — 8^-eSn ^sSn _$,Srt = 8п_98п_ц8п_з8п-5,
8п = 8п_з8п—з8п__1О) 8п = 8п_^8п_^8п_з8п_^о
и еще бесконечному числу подобных формул.
Последняя из этих формул имеет два одинаковых терма в центре (Sп-в). Справедливо и в общем случае, что из любой локально цепочечной формулы с двумя термами
S =sn_iSn_iIVtV^*V IV I
можно вывести другую, с четырьмя термами, в которой два средних терма совпадают,
8п = Sn__2iSn — i — jSn — i — jSn--2j-
Это свойство локально цепочечных систем, в числе других свойств, использовалось X. Б. Люк и Дж. Люк (частное сообщение) при статистической проверке гипотез о том, что рас*
сматриваемые организмы следуют данным цикловым правилам и правилам деления.
Следует упомянуть, что правила типа Фибоначчи для иерархий деления обсуждались Вуджером [34, 35] и в работе Бердышева [5] были приведены некоторые биологические примеры.
РАЗВИТИЕ СОСТАВНЫХ СТРУКТУР;СОСТАВНЫЕ ЛИСТЬЯ
Часто можно наблюдать, особенно в растениях, структуры, которые состоят из большого числа подобных частей и в которых развитие частей более или менее строго повторяет развитие всего организма. Такие структуры часто называют составными структурами. Существуют составные ветвящиеся системы,
Рис. 8. Развитие составного листа, порожденное локально цепочечной D0L- системой (по Розенбергу и Линденмайеру [25]).
составные листья, соцветия и т. п. Вегетативное ветвление, наблюдаемое во многих растениях, легочных трахеях или кровеносных сосудах также относится к этому типу. Таковы листья, состоящие из многих листочков, например, семейства бобовых, или множественные зонтичные структуры соцветий.
Механизм развития, предлагаемый для этих структур, это циклически повторяющиеся состояния в системе взаимодействий между клетками (или сегментами). Чтобы получить повторение одной и той же развивающейся последовательности в отдельных частях и во всем организме (или органе), можно правдоподобно предположить развитие без взаимодействия, с циклическим повторением определенных состояний. С этой точки зрения исследовались рекуррентные системы и локально цепочечные системы. Как упомянуто выше, локально цепочечные системы являются рекуррентными системами с единственной рекуррентной формулой и они хорошо изучены, чтобы моделировать простые примеры составных развитий.
Одной из таких моделей является следующая гипотетическая конструкция развития составных листьев (сравнительная морфология развития листа изложена в [13]). Строки символов интерпретируются как клетки вдоль границы листа, некоторые из символов соответствуют лопастям, другие — надрезам между лопастями.-,
Предлагается следующая детерминированная OL-система: алфавит: {а, 6, с, d, е, f, g, h, i, k},'
продукции: a-^bc, b->kd, c-^ek, d-^gb, e-^cf, f-^ih, g hi, h-^de, i-^ k, k-> k, аксиома: a.
Эта система порождает следующую локально цепочечную по^ следовательность:
bekdek‘
kgbcfkkhikdekihkxkdekx xkgbcfkx xkdekxxkgbcfkx xkhlkdekLhkx Xkgbcfkxxkhlkdeklhkx xkdekkgbcfkkdekx ^bjd(deM
Клетки в состоянии к соответствуют нерастущим частям кромки листа (надрезам). Таким образом, можно нарисовать три формы листа, соответствующие трем последним строчкам нашей последовательности.
Локально цепочечная формула этой последовательности есть ^п = Sn_^Sn_2,Sn_^,
другими словами, лист на п-й стадии (для п ^ 6) состоит из левой и правой лопасти, которые идентичны всему листу, каким он был три такта времени назад и из средней лопасти, которая идентична всему листу, каким он был два такта времени назад.
Другой пример составной структуры обсуждается ниже в связи с соцветиями.
РАЗВИТИЕ ПРИ ЦИКЛИЧЕСКИХ ИЗМЕНЕНИЯХ СРЕДЫ;ЗОНЫ ПЕРИТЕЦИЯ
Любопытно посмотреть, какие структуры может породить развитие без взаимодействий под влиянием изменений среды или внутренних условий. Во многих случаях развитие происходит при регулярных (циклических) изменениях среды или при
внезапных изменениях. Мы можем интерпретировать такие процессы, как развитие под действием меняющихся множеств инструкций, например, при циклическом применении различных таблиц правил вывода.
Конструкции, называемые нами табличными OL-системами (сокращенно, TOL-системы) применялись к развитию гифов грибов Sordaria fimicola в ростовых трубках (ограничивающих рост в сущности одним измерением) при различных режимах света и темноты [29]. Определенное светосенсибилизирующее вещество, 6-тиогуанин, присутствовало в среде в концентрации 1 мкМ. Репродуктивные структуры — перитеции — образуются
тТ^Т~ I : 7 I Т I I I П I I DLD L DLDLDL D L
Рис. 9. Порождение зон перитеция в ростовой трубке культуры гриба Sordaria fimicola (культура содержала 1 мкМ 6-тиогуанина) при чередовании 24-часовых периодов света и темноты (Сурапипит и Линденмайер [29]).
только тогда, когда периоды темноты достаточно длинные, но будет ли определенный сегмент гифа действительно производить перитеций, зависит также от его возраста и от предшествующего режима освещенности этого сегмента. Гифы растут с одинаковой скоростью, независимо от того, находятся их верхушки на свету или в темноте.
Типичный результат роста при чередовании 24-часовых периодов света (А) и темноты (О) показан на рис. 9. Участки, покрытые точками, свидетельствуют о наличии перитеция; линии, разделяющие участки L и D, были нанесены на ростовую трубку, чтобы отметить границы продвижения (слева направо) гриба в те моменты, когда режим освещенности трубки изменялся от света к темноте и наоборот. Это означает, что определенные сегменты в действительности росли в темноте или при свете, как отмечено, но позже эти сегменты находились в тех же меняющихся условиях, что и вся трубка.
Построена следующая TOL-система, где каждый символ обозначает сегмент, вырастающий за 6 часов.
Свет
Темнота
Свет
Темнота
1 -
>65
1 ->21
6-
► 7
6-
► 2
2-
>N
2-
>3
7-
>8
7-
► 3
3^8
- 3-
>4
8-
>N
8-
► 4
4^7
4^-Р
N-> N
N -> N
5н
► 65
5^/VI
Р-.
>Р
Р-
>Р
Через N обозначаются сегменты, которые определенно не имеют перитеция, через Р— те, где есть перитеций. Можно видеть, что в условиях света гифы будут состоять из увеличивающегося числа М-сегментов, в то время как в условиях темноты они будут иметь Р-сегменты. При чередовании периодов света (24 часа) и темноты (24 часа) получается последовательность, показанная в табл. 5.
Зоны помечены L и D в соответствии с передним фронтом гриба в ростовой трубке. Мы видим, что распределение символов Р и N вполне соответствует наблюдаемой встречаемости перитеция.
Эта модель также согласуется с другими наблюдениями, полученными для других режимов света и темноты. В частности, наблюдалось, что при 6-часовом чередовании света и темноты перитеций вообще не образуется.
Связи между режимами света и темноты в нашей модели лучше всего видны на следующем помеченном графе состояний:
Рост поддерживается состояниями 1 и 5. Созревание сегментов представлено идущими вниз переходами, которые заканчиваются либо в Р (из 4), либо в N (из 8). Но состояние N также до-
Таблица 5
Последовательность развития Sordaria fimicola при чередовании24-часовых периодов света и темноты, порожденная TOL-системой(символы L и D в левой колонке указывают, какая системаjправил вывода использовалась для порождения данной строки,а нижние символы L и D показывают, рос ли первоначальноданный сегмент при свете или в темноте). По Сурапипитуи Линденмайеру [29]
и
5
L
65
L
765
L
8765
D
/V876
5
В
/V432
NA
D
NPA3
N2A
D
NPP4
N32A
L
NPPP
/У432
1
L
NPPP
N1SN
65
L
NPPP
N^NN
765
L
NPPP
NNNN
8765
В
NPPP
NNNN
/V876
5
В
NPPP
NNNN
/V432
NA
В
NPPP
NNNN
NP43
N2A
В
NPPP
NNNN
NPP4
N32A
NPPP
NNNN
NPPP
/V432
1
L
В
L
D
L
стижимо из ранних сегментов 2 и 5 при определенных световых условиях.
Циклы могут иметь место при прохождении через состояния (7,3,4) или (7,8,4) или (7, 3,8, 4). Таким образом, начиная с состояния 7, можно предотвратить достижение сегментом состояний N или Р, подав подходящую входную последовательность для удержания его в одном из этих циклов.
Представленный здесь метод, очевидно, может быть применен к большому числу развивающихся процессов, протекающих при циклическом изменении среды.
РАЗВИТИЕ ПРИ ОДИНОЧНОМ РЕШАЮЩЕМ ИЗМЕНЕНИИ СРЕДЫ; ИНДУЦИРОВАНИЕ ЦВЕТЕНИЯ
TOL-системы могут оказаться полезными и в том случае, когда в программе развития организма случается единственное главное изменение. Здесь, прежде всего, приходит на ум метаморфоз насекомых, но у большинства цветковых растений также наблюдаются подобные мгновенные смены вегетативных условий репродуктивными.
Так как при образовании соцветия происходит развитие ветвящейся структуры, на которой в определенное время и в опре-
деленном месте появляются цветы, мы можем породить ее при помощи развивающейся системы, в которой имеются символы ветвления (скобки). Вегетативное развитие ветвящейся структуры происходит под действием одного множества инструкций, а начало цветения должно ввести в действие другое множество инструкций.
Механизм индуцирования цветения широко исследовался в растениях, которые начинают цвести при критической продолжительности дня или ночи (фотопериодическая индукция). Стимулы к началу цветения идут от созревших листьев вегетативно развивающегося растения. Здесь, предположительно, производятся гормоны (до сих пор все еще не идентифицированные), которые переносятся от листьев к растущим верхушкам ветвей. Гормоны морфологически и физиологически трансформируют эти вегетативные верхушки в репродуктивные. Может представлять интерес время транспортировки гормона, но в приведенной ниже модели мы предполагаем, что гормон цветения достигает одновременно всех верхушек. Для простоты предполагается, что этот вид развития не включает в себя никаких других взаимодействий между частями растения или взаимодействий со средой. Таким образом была построена модель с двумя таблицами детерминированных OL-продукций (правил вывода). Для порождения ветвящихся структур применялись следующие правила вывода со скобками:
вегетативные репродуктивные
1 -> 212-> 33-> 44-->55-^766->7(1)7->71 -> 212-> 33-> 44-->55-^766->7(1)7->7->А->6 6 >84 ^>7(1) 5-^6 6-> 77->7 8->7(А) А-^В В->С С->С (-( ) ->)->А->6 6 >84 ^>7(1) 5-^6 6-> 77->7 8->7(А) А-^В В->С С->С (-( ) ->)
1 -> 21
2-> 3
3-> 4
4-->5
5-^76
6->7(1)
7->7
1 -> 21
2-> 3
3-> 4
4-->5
5-^76
6->7(1)
7->7
->А
->6 6 >8
4 ^>7(1) 5-^6 6-> 7
7->7 8->7(А) А-^В В->С С->С (-( ) ->)
->А
->6 6 >8
4 ^>7(1) 5-^6 6-> 7
7->7 8->7(А) А-^В В->С С->С (-( ) ->)
Алфавит первой таблицы состоит из чисел от 1 до 7, плюс левая и правая скобки, а вторая таблица содержит, кроме того, символы 8, А, В, С (они также могут быть добавлены к первой таблице). Заглавные буквы означают стадию развития
цветка (например, А обозначает неоткрытый бутон, В — открывшийся цветок и С—отцветший цветок, находящийся в процессе развития плода (завязь)).
Мы позволяем вегетативному развитию продолжаться (начиная с аксиомы 1) произвольное число шагов (в табл. 6 это 14 шагов), а затем в точке, указанной стрелкой, оно переключается на другую таблицу и начинается репродуктивное развитие, продолжающееся до тех пор, пока не перестанут происходить какие-либо дальнейшие изменения.
Последняя строка приведенной таблицы еще не является терминальной, но по завершении двух последующих шагов все буквенные символы будут заменены на С и никаких дальнейших изменений происходить не будет.
Схематическое изображение последней строки табл. 6 приведено на рис. 10.
Таблица 6Последовательность развития цветковой структуры,порожденная TOL-системой (стрелкой отмечена первая строка,порожденная после изменения таблиц)
1
21
321
4321
54321
7654321
77(1)7654321
77(21)77(1)7654321
77(321)77(21)77(1)7654321
77(4321)77(321)77(21)77(1)7654321
77(54321)77(4321)77(321)77(21)77(1)765432,
77(7654321)77(54321)77(4321)77(321)77(21)77(1)7654321
77(77(1)7654321)77(7654321)77(54321)77(4321)77(321)77(21)77(1)7654321
77(77(21)77(1)7654321)77(77(1)7654321)77(7654321)77(54321)77(4321)77(321)77(21)
77(1)7654321
— 77(77(6А)77(А)7767(1)86А)77(77(А)7767(1)86А)77(7767(1)86А)77(67(1)86А)77
(7(1)86А)77(86А)77(6А)77(А)7767(1)86А
77(77(7В)77(В)7777(А)7(А)7В)77(77(В)7777(А)7(А)7В)77(7777(А)7(А)7В)77
(77(А)7(А)7В)77(7(А)7(А)7В)77(7(А)7В)77(7В)77(В)7777(А)7(А)7В
На этом рисунке все символы «7» опущены и ветви нарисованы попеременно справа и слева.
Мы видим соцветие, в котором верхушки первичных и вторичных ветвей несут цветки, находящиеся в состоянии В, но вдоль вторичных ветвей некоторые цветки находятся в состоянии А, другие — в состоянии В (последние являются третичными ветвями, в то время как первые принадлежат верхушечным пучкам). Это, конечно, только один из многих возможных видов структур цветения (см. [36] и [28]). Он лучше всего
представляет метелку с концевыми цветками, например, такую, как у сирени (рис. 11).
Следует отметить два аспекта этой картины. Один — это ее повторяемость, например, самая нижняя ветвь полностью повторяет верхнюю часть растения (после шестой ветви, считая снизу). Аналогично, выше расположенные ветви повторяют часть вершины. Это «морфогенетическое повторение» обсуждалось в [19]. Картина роста, обладающая этим свойством, скорее всего порождается развитием без взаимодействий с локально цепочечной или рекуррентной формулой. Другими словами, если-только встречаются такие морфогенетические повторения, наиболее простым объяснением является система без взаимодействий с циклами, где большинство состояний «зависимы» от
Рис. И. Соцветие сирени Syringa vulgaris (по Троллю [36]). одного из состояний. В вегетативной картине, порожденной выше (при помощи правил вывода «вегетативной» таблицы), мы находим, что рекурсивное правило выполняется для всех л ^ 6, а именно, что
Sn = 77 (Srt_6) 77 (Srt_7) 77 (Srt_8) 77 ^Sn^ 77 (^10) 77 (Sn„H) Sn_„
Таким образом, терм Sn_6 встречается в двух местах — в самых левых скобках и в самом конце строки. Эта формула получается простыми последовательными подстановками из рекуррентной формулы, которая описывает эту последовательность:
Srt = 77 (Srt_8) Srt_i.
Развитие, имеющее место после смены Таблиц, не влияет на регулярность, выраженную выше приведенными уравнениями. Эта рекуррентная формула, в свою очередь, является прямым следствием циклов длины 1 и длины 6, очевидных в графе зависимостей первой таблицы (все состояния от 1 до 6 являются, таким образом, зависимыми от 1).
Символ 7 и левая и правая скобки являются терминальными символами (они переходят только в себя) и не зависят от 1. Терминальные символы, как таковые, могут появляться в рекуррентных формулах. Фактически, если для системы имеется только одна такая формула, то эту систему можно рассматривать как обобщение локально цепочечных систем.
Второй аспект этой системы непосредственно относится к смене таблиц. На главной ветви и первых трех ветвях снизу (на рис. 10) можно отметить, что имеются участки из трех последовательных узлов, которые не несут никаких ветвей. Однако, если посмотреть на вегетативную картину, то на всех других узлах ветви имеются. Причина того, что в определенных местах порождаются более длинные участки стебля, заключается в переключении инструкций, а именно, в переходе от 5 -> 7,6, 6->7(1) в первой таблице к 5->6, 6->7 во второй. Эти переходные, лишенные ветвей участки очень хорошо известны для многих цветковых структур и были названы Троллем (36) «Grundinternodium». Подобные переходные структуры встречаются также среди листьев, выросших после индуцирования цветения (Hochblatter) и которые могут разительно отличаться от нормальных вегетативных листьев. Можно построить TOL-системы для порождения таких последовательностей листьев раз» личной формы.
Примеры из разд. 7 и 8 представляют собой специальные случаи с точки зрения языков, порождаемых TOL-системами. В первом случае (образование перитеция у Sordaria fimicola) мы интересуемся в первую очередь всеми строками, которые могут быть порождены при циклическом чередовании света и темноты (не обязательно, чтобы свет продолжался столько же времени, что и темнота). Во втором случае вопрос заключается в том, каково множество всех строк, порожденных после сколь угодно длинного периода вегетативного роста, за которым последовала единичная смена таблиц от вегетативных к репро-
дуктивным условиям. Некоторые из этих языков могут быть получены с помощью использования частичных табличных 0L- систем (Розенберг [41]).
ПОЛЯРНОСТЬ РАЗВИТИЯ
Описания развития часто содержат утверждения о полярности различных частей организма или его клеток. Под полярной структурой мы понимаем такую, которая имеет различные свойства или проявляет различное поведение на различных ее концах или сторонах. Иногда нельзя найти никакого структурного различия между сторонами, и лишь их поведение оказывается в некотором отношении неодинаковым. Так, мы говорим о полярности по отношению к переносу ауксина в ветках, потому что мы наблюдаем, что ауксин, введенный в некотором месте стебля, переносится оттуда с гораздо большей скоростью к основанию, чем к вершине. В клетках флоэмы, в которых происходит транспорт ауксина, никаких направленных структурных или морфологических различий между нижним и верхним концами заметить нельзя.
Полярность также часто связывают с градиентами концентраций, поддерживающимися в развивающихся тканях локализованными источниками, в которых синтезируются определенные субстанции, или стоками, где они исчезают.
По-видимому, можно говорить о локальном типе полярности, если каждый элемент структуры полярен, или о глобальной полярности, если вся структура полярна, но отдельные ее элементы — нет.
Локальная, в нашем случае — клеточная полярность может проявляться либо в разных «выходах» клетки в различных направлениях, либо в различных реакциях на один и тот же входной сигнал, поступающий с разных сторон, или же в неравном делении. Последние два критерия являются фактически теми же, которые используются в формальном определении внешней и внутренней асимметрии 2Ь-систем. Первый критерий — различные выходные сигналы в различных направлениях — нельзя выразить в рамках предлагаемых здесь формализмов, но его можно легко формализовать, если выходные функции имеют отношение к клеткам, как это делалось в ранних работах Линден- майера [15].
Глобальная полярность представляется в нашем формализме посредством монотонного изменения (градиента) параметра состояния в клеточном массиве.
Пример такой полярности градиентного типа можно найти в диффузионной модели распределения гетероцист сине-зеленой водоросли. В этом случае ингибитор вырабатывается в гетероцистах, которые уже существуют в нитях сине-зеленой водо-
росли. Ингибитор диффундирует вдоль нити от клетки к клетке, а также частично вне клеток. Там, где концентрация ингибитора падает ниже порогового значения, возникает новая гетероциста, которая, в свою очередь, начинает вырабатывать ингибитор. Эти два параметра (вместе с третьим — возрастом) представляют состояния клеток модели. Функции следующего состояния (правила вывода) в этом случае являются просто дискретизированным вариантом одномерного уравнения диффузии. Любая полярность, основанная на концентрационных градиентах, может быть выражена подобным образом при помощи развивающейся системы со взаимодействиями (IL-системы).
В последнее время Митчисон и Уилкокс [21] для учета регулярностей в неравном делении клеток выдвинули предположение, что в добавление к ингибитор-градиентному механизму в сине-зеленых водорослях имеет место локальная полярность.
Так как в механизмах развития часто предполагается полярность локального или глобального типа, важно эти предположения сделать настолько однозначными и точными, насколько это возможно. Примером, где такая необходимость уточнения отчетливо проявляется, служит теоретическая дискуссия о воспроизведении животных, известная под названием «проблемы трехцветного флага».
Эта проблема относится к нахождению гибких правил или механизмов, при помощи которых протяженный организм, который разделен на три части (равновеликие синяя, белая и красная части, как на французском флаге), будучи разрезан на произвольные куски (превышающие некоторые минимальные размеры), регенерирует таким образом, что каждый кусок снова будет иметь ту же самую красно-бело-синюю конфигурацию, Вольперт [32] смог найти только два таких гипотетических механизма. Один из них основан на общем фиксированном градиенте концентрации морфологически активного вещества и изменении пороговых концентраций, при которых происходит дифференцировка. Другой основан на механизме балансирования, где концентрация двух различных субстанций сравнивается в каждой локальной области и дифференцировка происходит в соответствии с их относительными количествами. Этот механизм не содержит никаких градиентов, но различные субстанции должны вырабатываться в различных сегментах, что предполагает наличие полярности.
Другие решения этой проблемы рассматривались в работах [1], [2] и [40]. Два последних решения основаны на прохождении сигналов вдоль состоящего из клеток волокна, которые, когда они совпадают, отмеряют на волокне точки 1/3 и 2/3, где должны проходить границы синей, белой и красной области. Больше того, конструкция Германа [40] состоит из внешне и
внутренне симметричной 2Ь-системы. Таким образом, полностью «аполярная» развивающаяся система может выполнять задачу порождения и регенерации картины трехцветного флага, в то время как Вольперт [32] определенно утверждал, что в таком механизме полярность всегда нужна и большинство биологов согласилось с ним. Ясно, что некоторого сорта полярная ориентация необходима, если должна быть регенерирована первоначальная сине-бело-красная последовательность.
Источник этих кажущихся противоречий лежит в различном понимании термина «полярность». В то время как Вольперт [32] использует его в широком смысле, включая глобальные градиенты, Герман [40] определил «симметричные» развивающиеся системы (которые можно, в некотором смысле, считать синонимами «аполярных») на основе только локальных правил переходов. Фактически, решение Германа включает установление вдоль всего волокна малых трехклеточных градиентов, наподобие зубчиков пилы.
Ориентация этих малых градиентов определяет, после разрезания волокна, голубо-бело-красную полосу регенерирующих клеток. Чтобы установить эти градиенты, нет необходимости иметь в порождающей системе асимметрические правила, точно так же, как не нужны асимметрические правила, чтобы установить произвольно длинный концентрационный градиент при диффузии (закон диффузии полностью симметричен для каждой клетки). Таким образом, глобальная полярность может быть порождена аполярными правилами локальных переходов состояний. Противоречие может быть устранено точными формулировками терминов.
Полярность важна не только для регенерации, но также для многих других фактов морфогенеза, и развивающиеся системы могут стать теоретической основой для более осторожного и точного использования этой концепции.
ЗАКЛЮЧИТЕЛЬНЫЕ ЗАМЕЧАНИЯ
В этой работе мы попытались указать некоторые биологические проблемы, к которым можно найти подход с помощью развивающихся систем. Хотя биологически интересные результаты, появившиеся до сих пор, немногочисленны и относятся к первым попыткам, они дают новое понимание и намечают новые направления работ. Эти новые области исследований включают в себя функции роста и описания роста (иллюстрированные моделью роста корня), изучение последовательности клеточных поколений (мозаичное развитие), развитие составных структур (листья, соцветия), развитие при изменении среды, роль отмирания клеток и порождение симметрии при развитии (последние два вопроса здесь не обсуждались).
Основная сила этой теории в настоящее время, видимо, проявляется в области развивающихся систем без взаимодействий (0L- и TOL-систем). Эти множества порождающих систем, так же как их детерминированные, размножающиеся или локально цепочечные подмножества теперь достаточно хорошо описываются математически, чтобы мы могли формулировать довольно общие утверждения, относящиеся к существованию специфических механизмов развития. Здесь мы имеем в виду то, что найдены математические свойства, на основе которых можно отличать те процессы развития, которые можно запрограммировать посредством вышеупомянутых множеств систем, от тех, которые таким образом запрограммировать нельзя. Пример этого был дан в конце разд. 2, где было установлено, что логарифмический рост не может быть запрограммирован без взаимодействия клеток. Другое утверждение подобного рода было высказано в конце разд. 4, где утверждалось, что нахождение рекуррентных формул для развития некоторых организмов означает, что его можно запрограммировать некоторой системой без взаимодействий. В разд. 8 было также отмечено, что нахождение цепочечных формул для развивающихся процессов дает возможность программировать их посредством «зависимых» DOL-систем, где «зависимость» — это формально определяемое свойство таких систем. Теоремы подобного рода также известны для размножающихся OL-систем (описания развивающихся процессов, которые могут быть запрограммированы без отмирания клеток) и для табличных OL-систем.
Во всех этих результатах необходимо проводить четкое различие между тем, что некоторый процесс может быть запрограммирован посредством некоторого определенного сорта развивающейся системы, и что он должен быть запрограммирован такой системой. Утверждения последнего рода, в большинстве случаев, невозможны. Таким образом, развитие организма, для которого мы установили, что он может быть запрограммирован без взаимодействия клеток, может с таким же успехом быть запрограммировано и со взаимодействиями между клетками. Важные для биологии факты можно, однако, получить из обращений этих утверждений, например, посредством установления, что определенного типа развитие не может быть порождено 0L* системой или размножающейся OL-системой и т. п.
Математика развивающихся систем со взаимодействиями (IL-систем) до сих пор еще хорошо не развита, несмотря на то что в этой области имеются обещающие результаты. Иерархия <к, />-систем языков без сомнения будет полезной при решении задачи о степени взаимодействий, которая достаточна для порождения данного развивающегося процесса. Развивающиеся процессы со свойствами регенерации, регулирования и синхро^
низации служат для того, чтобы выявить (минимальные) условия, при которых такое поведение массива клеток может иметь место.
Системы, имеющие дело с распространением сигналов или диффузионными процессами, имеют свое соответствие в непрерывных математических моделях. Относительные преимущества дискретных и непрерывных формулировок должны быть взвешены в каждом конкретном случае. Когда диффундируют или реагируют друг с другом только одна или две субстанции, или надо принимать во внимание только несколько видов сигналов, последняя формулировка может быть более подходящей. Однако вряд ли могут быть сомнения, что дискретные, комбинаторные методы, применяемые в нашем изучении, имеют значи* тельные преимущества в тех случаях, когда в определении развития участвует комбинация многих цитологических и биохимических процессов.
ЛИТЕРАТУРА1)
Apter М. J. Cybernetics and Development, Pergamon, London, 1966. [Рус* ский перевод: Аптер М., Кибернетика и развитие. — М.: Мир, 1970.]
Arbib М. A. Automata theory in contecst of theoretical embryology. In: R. Rosen (ed.) Foundations of Mathematical Biology, vol. 2, Academic Press, New York, 1972, 141—215. *
Ashby W. R. An Introduction to Cybernetics, Chapman and Hall, London, 1956. [Русский перевод: Эшби У. Р. Введение в кибернетику. — М.: ИЛ, 1959.]
Automata, Languages, Devёlopment, North Holland, Amsterdam, 1976.
Бердышев А. Б. О некоторых математических регулярностях биологиче- . ских процессов. — Журн общей биологии, 33, 1972, 631—638.
Bremermann Н. A. Universal topology, Science, 181, 1973, 536—537.
Burks A. W. (ed.) Theory of Self-reproducing Automata, Univ, of Illinois Press, Urbana, 1966.
Burks A. W. (ed.) Essays on Cellular Automata. Univ, of Illinois Press, Urbana, 1968.
Codd E. F. Cellular Automata, Academic Press, New York, 1968.
Erickson R. O., Sax К. B. Elemental growth rate of the primary root of Zea mays, Proc. Am. Philos. Soc., 100, 1956, 487—498.
Fisk E. L., Millington W. F. Atlas of Plant Morphology, Portfolio I, Burgess, Minneapolis, Minn, 1959.
Frey W. Blattentwicklung bei Laubmoosen, Nova Hedwigia 20, 1970, 463—556.
Hagemann W. Studien zur Entwicklungsgeschichte der Angiospermenblatter, Bot. Jahrbucher, 90, 1970, 297—413.
Lindenmayer A. Life cycles as hierarchical relations. In: Form and Strategy in Science, Reidel, Dordrecht, 1964, pp. 416—470.
Lindenmayer A. Mathematical models for cellular interactions in development, I, II, J. Theoret. Biol. 18, 1968, 280—299, 300—315.
Lindenmayer A. Developmental systems without cellular interactions, their languages and grammars, J. Theoret. Biol. 30, 1971, 455—484.
L-Systems, Lecture notes in Computer Science, 15, 1974.
Luck H. B. Zellproduktion und Form, Acta Bot. Neerlandica, 22, 1973, 251—252.
!) Список составлен в основном из работ, которые упоминаются в настоящей статье. — Прим, перев.
Marasquelle H. J., Sell Y. Les problemes physiologiques de la floraison descendente. Bull. Soc. Franc, de Physiologic vegetale, 11, 1965, 94—98.
McCulloch W. S., Pitts W. A logical calculus of the ideas immanent in nervous activity, Bull. Math. Biophysics, 5, 1943, 115—133. [Русский перевод: Маккалок У. С., Питтс У., Логическое исчисление идей, относящихся к нервной деятельности. Сб. «Автоматы». — М.: ИЛ, 1956.]
Mitchison G. J., Wilcox М. Rule governing cell division in Anabaena, Nature, 239, 1972, 110—111.
Nageli C. Wachsthumsgeschichte der Laub- und Lebermoose, A. Wiss. Bot. Zurich, 1, 1845, 138—210.
Raven С. P., Bezem J. J. Computer simulation of embryonic development Parts I—IV Proc. Kon. Ned. Adad. Wetensch, Series C, 74, 209—233, 75, 20—33, 76:23—35, 1971 — 1973.
Rozenberg G. L-systems with interactions; the hierarchy. State Univ. New York, Buffalo Depart. Report 28—72, 1972.
Rozenberg G., Lindenmayer A. Developmental systems with locally catena- tive formulas, Acta Informativa, 2, 1973, 214—248.
Rozenberg G., Penttonen M., Salomaa A. Bibliography of L-systems, Theor. Comp. Sc. 5, 1977, 339—354.
Rozenberg G., Salomaa A. The mathematical theory of L-systems, in: Advances Information Systems Science, V. 6, 1976, 161—206.
Stauffer H. U. Gestaltwandel bei Bliitenstanden von Dicotyledonen. Bot. Jahrbiicher, 82, 1963, 216—251.
Surapipith V., Lindenmayer A. Thioguanine-dependent light sensivity of perithecial initiation in Sordaria fimicola. J. Gen. Microb. 57, 1969, 227— 237.
Thom R. Stabilite structurelle et morphogenese, Essai d’une Theorie Generale des Modeles, Benjamin, Reading, Mass., 1972.*
Vitanyi P. M. B. Structure of growth in Lindenmayer systems. Inlag. Math., 35, 1973, 247—253.
Wolpert L. The French flag problem: A contribution to the discussion on pattern development and regulation. In: Towards a Theoretical Biology, Vol. 1, Edinburgh Univ. Press, 1968, 125—133.
Wolpert L. The concept of positional information and pattern formation. In: Towards a Theoretical Biology, Vol. 4, Edinburgh Univ. Press, 1972, 83—97.
Woodger J. H. Biology and Language, Cambridge Univ. Press, 1952, 364 p.
Woodger J. H. Problems arising from the application of mathematical logic to biology. In: Applications Scientifiques de la Logique Mathematique, Paris, 1954, 133—140.
Troll W. Die Infloreszenzen. Erster Band. VEB Gustav Fischer, Jena, 1964.
Arbib M. A. Chapter in: Kalman R. E., Falb P. L., Arbib M. A., Topics in Mathematical System Theory. McGraw-Hill, New York. [Русский перевод в кн.: Калман Р., Фалб П., Арбиб М., Очерки по математической теории систем. — М.: Мир, 1971.]
Verdonk N. Н. Morphogenesis of the head region in Limnaea stagnalis L. Thesis, University of Utrecht, 1965.
Ehrenfeucht A., Rozenberg G. DOL systems with rank. In: G. Rosenberg and A. Salomaa (eds.), L Systems, Springer Lecture notes in Computer Science, № 15, Springer Verlag, Heidelberg.
Herman G. T. Polar organisms with apolar individual cells. In: P. Suppres, L. Henkin, Cr. C. Moisil and A. Joja (eds.), Logic, Methodology and Philosophy of Science IV, North-Holland, Amsterdam, 1973, pp. 665—675.
Rosenberg G. Theory of L-systems from the point of view of formal language theory. In: G. Rosenberg and A. Salomaa (eds.), L systems, Springer Lecture Notes in Computer Science, 15, 1974, Springer Verlag, Heidelberg.
к
Из сдвигов (16, 32, 8) кода Рида —Маллера.
Из границы линейного программирования.
т Из конференс —матрицы [56].
Квазициклический коц.
q См. [31], [34].
Г См. [62[.
*) По-видимому, начиная с этого места, автор вкладывает в понятие «сложность» несколько иной смысл, чем раньше. Тем не менее проще всего продолжать понимать «сложность» по-старому, но сложность части F^x, у) исходной формулы подсчитывать без учета переменной у. При этом р + <7=1, а слагаемое 1 в правой части неравенства оказывается ненужным.—Прим, ред.
Кибернетическийсборник
НОВАЯ СЕРИЯ
ВЫПУСК
17
Сборник, переводовПОД РЕДАКЦИЕЙО. Б. ЛУПАНОВА
ИЗДАТЕЛЬСТВО «МИР*москва то
УДК 619. 95
Научный совет по кибернетике Академии наук СССР
Продолжение новой серии кибернетических сборников, публикация которых начата издательством «Мир» в 1965 г. В данном выпуске содержатся обзорные статьи и оригинальные работы известных зарубежных ученых по наиболее актуальным проблемам теоретической кибернетики. Большой интерес представляют работа А. Линденмайера по применению теории языков в биологии и обзорная статья Р. Тарьяна о сложности комбинаторных алгоритмов.
Книга предназначена для научных работников, инженеров- исследователей, аспирантов и студентов, занимающихся и интересующихся теоретической кибернетикой и ее приложениями.
Редакция литературы по математическим наукам
1502000000
© «Мир», 1980© «Мир», 1980и 20205-041 КМ1(01)-80 4,-80
© «Мир», 1980
© «Мир», 1980
Кибернетический сборник № 17
Научный редактор С. В. Чудов Младший научный редактор И. В. ГерасимоваХудожник Н. К. Сапожников Художественный редактор В. И. ШаповаловТехнический редактор Л. П. Бирюкова Корректор С, А. Денисова
ИБ № 2339
Сдано в набор 17.01.80. Подписано к печати 13.10.80. Формат бОХЭО1/^ Бумага типографская № 2. Гарнитура литературная. Печать высокая. Объем 7,25 бум. л. Усл. печ. л. 14,5. Уч.-изд. л. 13,82. Изд. № 1/0924. Тираж 3600 экз. Зак. 568. Цена 2 р. 20 к.
ИЗДАТЕЛЬСТВО «Мир»
129820, Москва, И-110, ГСП 1-й Рижский пер.,2.
Ленинградская типография № 2 • головное предприятие ордена Трудового Красного Знамени Ленинградского объединения «Техническая книга» им. Евгении Соколовой Союздо- лиграфпрома при Государственном комитете СССР по делам издательств, полиграфии И книжной торговли. 198052, г.' Ленинград, Л-52, Измайло некий проспект, 29.