Книга
Книга
ВВЕДЕНИЕ
Рассматривается следующее семейство случайных кодов. Пусть Gx, ..., Gk есть «-разрядные двоичные последовательности, не обязательно различные. Линейный код из 2й слов Ло^2ft-i формируется из этих последовательностей с помощью соотношений
к
At = ^BuGb(1а)
где суммирование осуществляется поразрядно по модулю 2, а вектор
Bi = ^Bt\, .В^(1Ь)
есть двоичное представление индекса I.
Минимальное кодовое расстояние определяется МП
D = min Dt,(2а)
Z>1
где
Dt равно числу ненулевых координат в А^ (2Ь)
Постулируется вероятностное пространство Q, содержащее 2"?' точек, выбираемых с равными вероятностями 2~"ft и соответствующих числу способов выбора последовательностей Glf ...
С».
Рассмотрим теперь бесконечную последовательность таких семейств случайных кодов с фиксированным отношением к,п и обозначим через р наименьшее решение уравнения
1 +р log2p +(1 -p)log2(l -p) = kln.(3)
Ниже будет показано, что
P(D/n^p)->0 при п^оо(4а)
и что
Р (Dln> р + е)-0 при п->оо для любого е>0.(4Ь)
Граница Варшамова — Гилберта’) позволяет установить, что имеется по крайней мере один код, для которого D/n^p\ соотношение (4а) показывает, что существует очень мало длинных кодов, для которых Din ^р, в то время как из (4Ь) следует, что существует очень мало длинных кодов, для которых Din превышает р на сколь угодно малую величину.
НЕКОТОРЫЕ ПРЕДВАРИТЕЛЬНЫЕ СВЕДЕНИЯ
Для упрощения различных выражений повсюду будет использоваться обозначение
tf = 2fc - 1.(5)
Применение формулы Стирлинга приводит к следующему асимптотическому выражению для биномиальных коэффициентов:
f И ~(2лцц(1 -a^"'/22nHW \naj
при п^-оо равномерно по d^a^l—6. (6а)
Здесь символ ~ означает, что отношение левой и правой частей стремится к единице; 6 —произвольное положительное число; Н (а) — функция энтропии,
Я(а)= - alog2a-(l -a)log2(l - a).(6b)
Используя (6) и простые границы для отношения соответствующих членов, получаем следующее выражение для суммы биномиальных коэффициентов:
2-4'41 -2цГV2лna)-'/22'1//(a,
m—О \Ш)
при п-»оо равномерно по б^а^-^ — д. (7)
Из (7) легко следует, что
К 212 п—*0 при п-x», если М^пр, (8а)
m-О уИ/
И ЧТО
К 2 ( 12 "->оо при п->оо,
О V^/
если М ^ п(р 4-е) для любого фиксированного е>0. (8b)
В дальнейшем понадобится аппроксимировать некоторое число с помощью суммы, аналогичной сумме в левых частях соотношений (8а) и (8Ь). Легко показать, что для заданных положительных чисел х, е, и е2 существуют число No, две последовательности Мп и /„ и число а, такие, что
пр^Мп^п^р + &i\(9а)
aKCUCK,(9Ь)
х-1п 2 (")2~п <82, еслип >Nq.(9с)
доказательство СООТНОШЕНИЯ (4а)
Запишем верхнюю границу для P^D^d),
/ к\ к
P(D<d) = P^(D{<d))<^P(Dt^d).(10)
Однако легко убедиться, что символы в каждой последовательности At независимы и принимают с равной вероятностью значения 1 и 0, так что
p(Dz<d)< 2 ")2""по
и, следовательно,
d .
P(D<d)<J(2 " 2-».(12)
Используя (8а), немедленно получаем
(13)(13)P(D^d)->0 при п—>оо, если d^.np,
(13)
(13)
что и завершает доказательство соотношения (4а).
ДОКАЗАТЕЛЬСТВО СООТНОШЕНИЯ (4Ь)
Некоторые пояснения. Для того чтобы пояснить использованный метод доказательства, полезно доказать сначала более слабое утверждение:
lim inf Р (О < п (р + е)) > .(14)
Л-» ООZ
Для упрощения обозначений положим
S = <D<d\(15а)
З^О^У(15b)
Следует иметь в виду, что события St и S зависят от d. Далее, при I ^К имеем
к I
S-U^USbОба)
= 11 = 1
так что
p(S)>p((Js!det)
v-i /
Кроме того,
U^^Uf^ -(17a)
поэтому
p (U s,) = 2 p (st. - Si. n (у s^)) = 2 (p (Si,) - P (St, n
n / U = 2 p (St.) - 2 p / U (s'. n s;,)) \i,«i///'-‘‘ki2«,/
и, следовательно,
pflJs/b 3P(Si,)- 5 2 P(si,ns1!).(17b)
\i = l / i, = li, = l <2=1
(Написанные равенства следуют из того, что объединение множеств можно представить, как видно из (17а), в виде объединения непересекающихся множеств, каждое из которых есть разность между множеством и подмножеством; в последнем
неравенстве использована обычная верхняя граница для вероятности объединения.)
Следует заметить, что для любой последовательности 1Ъ ...
.... 1М имеет место м
Р (S, П... n siM^ = П Р (SZJ = [Р (SJ]^,(18)
m-1
если (Bt , ..., BtM) линейно независимы, где векторы Bt суть векторы, определенные в (1Ь). В частности, так как Bi, и В^ всегда линейно независимы при i^iz, то из (16b) и (17b) получаем
P(S)^ 7г/— 7 (7 — 1)у2/2,(19а)
где d
S-P(S,>=)2-.(19b)
Но, согласно (9), при достаточно больших п, некотором d из интервала (пр, п(р + е)) и подходящем выборе 7 величину 1у можно сделать как угодно близкой к единице, и, следовательно, нижнюю границу в (19а) можно сделать как угодно близкой к 1/2, что и доказывает соотношение (14).
Естественно попытаться распространить этот подход для доказательства (4Ь), используя границу в виде знакопеременного ряда
Р (US,) ^ az — а2 + ... — аг/, где
Всего в многократной сумме содержится [^ слагаемых; если бы события под знаком пересечения были независимы, то была бы применима следующая оценка снизу:
р(5)>2(- i),+,(j)^
Если в соответствии с (9) аппроксимировать 1у некоторым значением х, то эта нижняя граница приближается к величине
2/
X ।х
Х —• ”"(27)7 •
которая в свою очередь равна приближенно 1 — ехр(— х), если 7 выбрано с самого начала достаточно большим,
Чтобы этот способ доказательства был эффективным и в том случае, когда некоторые события в пересечениях не являются независимыми, необходимо привести знакопеременную границу к такому виду, для которого можно было бы получить достаточно точные оценки вероятностей зависимых событий. Желаемый результат будет получен в следующих леммах.
Лемма 1. Пусть 6/ есть множество j-наборов целых чисел, удовлетворяющих условиям
(zb ..., ij) е 6Z=^/^ i\ > .. .>1^1,(20a)
(/'i’ ’Z.2/. '^ 02/ ‘ )=^(5/iSZ/ ) линейно
)независимы. (20b)
Пусть
O/ = 2P(M ...П^),(21)
e/ и пусть
^ = ^$„0 -.-ПМ ( U ^/+1^(22)
e/ \Vi+^4
Тогда
^(U^)^ 2 (~ 1)/+1 Oj ~ V2/-1 для любого J. (23)
Доказательство леммы 1 проводится индукцией по J. Первые два шага, согласно (17а), можно записать в виде
(24).(24).P(U si) = °i -*ь
(24).
(24).
что показывает справедливость соотношения (23) при J = 1 Далее,
- v2y-, = - 2 рп ... п s,2/_, n ( U si2M. (25) 62/-1\\i21<i2J-l))
Используя разложения того же типа, которые привели к неравенству (17b), выражение (25) можно переписать в виде
^27 + 1^27 + 1(26)(26)— V2J-1 = — 2 Р (S^ П • • • П S<2/) + + Sp[st,n... nsz2Zn
^27 + 1
^27 + 1
(26)
(26)
В обеих суммах суммирование ведется по (ц, ..., /2у_,)е02у_ь iy< hj-\- Ограничения на числа I в суммах эквивалентны определению множества 02Z, так что первая сумма есть просто
аа. Вторую сумму можно ограничить снизу, отбросив достаточно много значений 1У под знаком суммы и /2У+1 под знаком объединения так, чтобы набор из 27+1 чисел i удовлетворял ограничению (ц, ..., ty+i) ^ O22+1 • Таким образом, получаем, что
— V22-1 ^ ~ ^22 + s p(s,n...ns/22n(Us^+1))- (27) e2Z+ 1
Каждую вероятность в сумме снова можно переписать в другом виде, используя разложения того же типа, что и раньше. В результате получим
2 ^(s^n ••• П Si2J Я (U S;2/ + 1)) = О2/+ 1 — V22+ Ь e2Z+l
Отсюда следует, что
— v2z-i ^-^zz + ^v+i— vy+i»(28)
т. е. индукция завершена.
Лемма 2. , 2 х22
(J 2 (~ 1)/+’ст/ для любого J. (29) \<=i //=1
Доказательство. Внося в выражении (22) все пересечения под знак объединения и применяя обычную оценку для вероятности объединения событий, получаем неравенство
^22-1 ^ aU*
После подстановки этого неравенства в (23) получаем требуемый результат.
Лемма 3. Для каждого 7 существует положительная константа Cj, такая, что
р иФ2 (- D/+WM -CjexpUyW -
\z-i //”1
-c7exp(/y)maxSty_xy (30)
Доказательство. Число /-наборов, удовлетворяющих условию (20а), равно
/(/ —1) (/ —2) ...(/+1—/)//!.
Число /-наборов, удовлетворяющих условию (20а) и дополнительному ограничению, что соответствующие последовательности Bt линейно независимы, больше чем
7(/-1)(/-3)(/+1-2,-‘)//!.
Представляя каждое из этих выражений как полином от I, можно убедиться, что для каждого / существует такое число df, не зависящее от /, что полное число /-наборов в 6/ ограничено сверху величиной
ijm и снизу величиной
Кроме того, число /"-наборов, которые удовлетворяют условию (20а) и для которых соответствующее множество последовательностей Bt имеет ранг (/'—1), меньше, чем разность между полным числом /-наборов и числом /-наборов, для которых соответствующие последовательности Bt линейно независимы, а потому ограничено сверху величиной
В обеих оценках число dj можно заменить любым числом Cj, большим, чем все числа dj при 1^/^27.
Члены, соответствующие в неравенстве (29) нечетным /, положительны, а вероятности, фигурирующие в определении величин о, в (21), суть вероятности пересечения независимых событий, так что можно сразу написать оценку
(2m — 1)! G?m-i ^(Z^-1 — CjZ^y2"1^ при m ^ Л (31)
Члены, соответствующие в (29) четным /, отрицательны. Те вероятности в (21), которые, как и ранее, определяются независимыми событиями, равны у1, а число таких членов по указанным выше причинам не превосходит РЦ\. Оставшиеся члены соответствуют случаю, когда первые (/—1) событий в пересечении независимы, а последнее событие зависит от них; выше было показано, что число таких членов не превосходит cjZl-i. Следовательно,
(2m)! а2т < Uyfm + с, Uyf^ max Р (Si2m | S,,3<zm_,)(32)
”211
при т "С L
Вероятность в (32) зависит только от числа тех из предыдущих последовательностей Вь сумма которых дает последовательность В{ ; поэтому наиболее слабые ограничения при
максимизации имеют место для случая tn = J:
max P(S4m\S4S/2m i) ^ max Р (S/2/15/,S<2/_,) (33)
ПрИ tn 5^ J.
Утверждение леммы будет получено, если подставить соотношения (31) —(33) в (29) и использовать для упрощения результата слабые неравенства
2 Z2m"Vm-7(2«- !)!</"' 2 ЦуУ1П -Г1 ехрМ m= 1/-0
2 Uyf^l^m^^^UyVij^expUyV т=\j—0
Лемма 4. Для заданного б>0 существуют положительные константы а{ и аг, такие, что
P(S/2/|Slp ..., Si^.J^a, exp(-a2n), (34)
если ^!, ..., г2/) g 02/ и если <у — 6.
Доказательство. Согласно условию леммы, последовательности Л/р .... Л,2/_1 линейно независимы, а последовательность Ai2] равна сумме по модулю 2 некоторого числа (скажем, L) этих последовательностей. Для удобства предположим, что ими являются первые L последовательностей, и введем обозначения
Vj = Alp !</<£,(35а)
Vo= 2 V h(35b)
/>о
w(V/) — число единиц в последовательности УД (35с) Теперь оценим вероятность р, определяемую следующим выражением:
p=P(zy(lZ0XtZ|zy(l/1)<d, w^VL^d). (36) Пусть
V — множество (Vj, ..., о^, такое, что если
Vj = Oj для 1^/^L, то w^V^^d. (37) Тогда имеем
P=2n/(V/ = o/|w(V/)<d).(38)
Так как все возможные последовательности V j, удовлетворяющие ограничению на полное число единиц, равновероятны,
условные вероятности в (38) определятся следующим образом:
P^UjMViKdbP^UjMViKdbО, Ро.О, Ро.еслиеслиеслиеслиw (Uy) > d, w(vj)^d,w (Uy) > d, w(vj)^d,(39а)(39а)
P^UjMViKdb
P^UjMViKdb
О, Ро.
О, Ро.
если
если
если
если
w (Uy) > d, w(vj)^d,
w (Uy) > d, w(vj)^d,
(39а)
(39а)
ГдеГде.771-0.771-0(39b)(39b)
Где
Где
.771-0
.771-0
(39b)
(39b)
Теперь рассмотримТеперь рассмотримфункцию^)-(4)'(‘Ч)функцию^)-(4)'(‘Ч)Так как функция g(f) монотонно убываетТак как функция g(f) монотонно убываетимеем glf)^ g№, если t ^d, а потомуимеем glf)^ g№, если t ^d, а потому(40). d - 1 по t при -< у,(40). d - 1 по t при -< у,
Теперь рассмотрим
Теперь рассмотрим
функцию
^)-(4)'(‘Ч)
функцию
^)-(4)'(‘Ч)
Так как функция g(f) монотонно убывает
Так как функция g(f) монотонно убывает
имеем glf)^ g№, если t ^d, а потому
имеем glf)^ g№, если t ^d, а потому
(40)
. d - 1 по t при -< у,
(40)
. d - 1 по t при -< у,
log2g(0^-n# (4)* если <<d-(41)
Но в таком случае из (7), (39b) и (41) находим
log2p0<const + 41og2n + log2g(0 ДЛЯ t<d, (42)
и, следовательно, р можно оценить с помощью неравенств
р ^ anLI2p ^ ап^*,(43а)
где а —некоторая константа и
р* = 2 II gk(f/)b(4зь)
v /-1
Но величину р* можно сразу же отождествить с вероятностью того, что w^Vo^^d при условии, что все координаты всех других последовательностей Vу независимы и имеют одинаковое распределение, причем
р(у,„-1)=4.
Однако при этих условиях координаты последовательности Vo также являются независимыми случайными величинами и
^(^=1)= У
х um '\ j / \ П / \ П )
/ нечетно
Так как•
2 (^ )sy(l-s)t~/ = 4~T(1~2s^>s + e j нечетно
для некоторого положительного е при всех L^2 и s<'/2, отсюда находим (с помощью легко получаемых оценок бино-
миального распределения), что для заданного 6>0 существует положительное число а', такое, что
р* <ехр( — а'п), если -^-<у —6.(44)
Из (43) и (44) следует утверждение леммы для некоторых а, и а2 при а2<а'.
Лемма 5. Для последовательности Um d^, удовлетворяющей условиям InP ^Di^d^-'х и 1п->оо, имеет место неравенство■
21
VimX^PkD^d^^^-Y^^xMiX(45)
П->оо/=1
для любого фиксированного L
Доказательство. Подставим в соотношение (30) определения Si и у, первый из остаточных членов в оценке стремится к нулю, так как /„->оо, второй член стремится к нулю, согласно лемме 4.
Лемма 6. Соотношение (4Ь) справедливо.
Доказательство. Нужно показать, что для заданных е и в] и достаточно больших п имеет место неравенство
р^^р-Ц>\-61.
Выберем х так, чтобы ехр(-х)<-^-;(46а)
выберем I так, чтобы .27
1-ехр(-х)-2(-1У+У//!<^,(46b)
и, следовательно, так, чтобы
21 ^-l^x'ljl^l--^.(46с)
/=0
В силу непрерывности можно подобрать такое е2, что 21
^(-l^'ix'yijl^l-^-, если |V-xKe2. (46d) М
Используя (9), выберем последовательность (/„, d^, причем /„-►оо, dn<n(p + е), и число No, такое, что
|/nP(D,-Ct/J-xK^, если n>N0.(46е)
Из леммы 5 следует, что
(46f)(46f)lira inf Р (D < d„) > 1 —.
(46f)
(46f)
Наконец, выберем Nt(.Nx"> N^ так, чтобы
РфРфd^> 1 - в,,d^> 1 - в,,если n^Nx.если n^Nx.(46g)(46g)
Рф
Рф
d^> 1 - в,,
d^> 1 - в,,
если n^Nx.
если n^Nx.
(46g)
(46g)
Этим заканчивается доказательство леммы н соотношения (4Ь).
РАСПРОСТРАНЕНИЕ РЕЗУЛЬТАТОВ НА КОДЫ СО СЛУЧАЙНЫМИПРОВЕРКАМИ
Путем несложных преобразований результаты (4а) и (4Ь) можно распространить на коды со случайными проверками, в которых первые к разрядов в кодовых словах предназначены для информационных символов. В частности, пусть на элементы порождающих последовательностей наложены следующие ограничения:
1, если т = /,
G 1т —G 1т —О, если tn =# j и т ^ к,(47)
G 1т —
G 1т —
О или 1 с одинаковой вероятностью, если т>к.
Число кодов в этом подмножестве пространства Q равно 2<= ("-<=>; обозначим это подмножество Q'.
Из каждого кода в Q' можно построить семейство кодов, используя в качестве порождающих последовательностей кодов семейства некоторые линейные комбинации последовательностей G:
к
Yi=^NMGb Y^i^k.
Если матрица у, образованная величинами у/у, не сингулярна, то упорядоченный набор кодовых слов (Ло, ..., Лк), связанный с (Г,ГД есть просто перестановка кодовых слов в наборе, связанном с (G., ..., G^, и, конечно, имеет то же самое минимальное расстояние D. Если обозначить число различных несингулярных матриц у через р, то легко проверить, что
к
т]= П(26-2т-')(48)
т=«1
и что все т) кодов, образованных из заданной точки множества й', различны.
Пусть ф (со) —набор кодов, связанных с точкой юей'.
Пусть й" — подмножество й, образованное объединением всех таких наборов,
Q"= (J ф(ю).(49)
to s Qz
Можно доказать, что множества в объединении не пересекаются. Отсюда сразу следует, что если Т — любое событие, не затрагивающее порядка в списке слов, то условная вероятность события Т одна и та же на й' и й":
P(T|fi')”P№").(50)
Далее, вероятность Q" есть просто отношение числа точек в й" к 2"fc, или
Р(й") = 26(п""йт]/2"6 = 2~ft!r] = П ^-2m”t-k')> П(1-2"т). m=lm«l
Бесконечное произведение сходится к некоторой положительной константе, скажем Ь, поэтому получается оценка
Р (7 | Й') = Р (7 П ^'W (Й") < Р (7)/6.(51)
В частности, события с исчезающе малой вероятностью во всем пространстве имеют исчезающе малую вероятность и в подпространстве:
Р(Т) —>-0 при п —► оо => р (71 й') —► 0 при п-><х>.(52)
Таким образом, соотношения (4а) и (4Ь) остаются справедливыми, если ограничиться рассмотрением кодов со случайными проверками.
2 зек. ее
Класс оптимальных нелинейных кодов с исправлением двойных ошибок1)
Ф. П. Препарата
В этой статье представлены нелинейные блочные коды длины (2" — I) (п четно) с исправлением двойных ошибок. Они имеют максимально возможное число кодовых слов для их длины и минимального расстояния и образованы добавлением к определенному линейному коду (называемому ядром) специального подмножества из его смежных классов. Ядро получается из соединения и суперпозиции кодов Боуза— Чоудхури — Хоквингема (БЧХ кодов) длины (2П-1—1). Представленные коды являются систематическими и сравнимы с соответствующими линейными кодами относительно сложности операций кодирования и декодирования.
ВВЕДЕНИЕ
В течение последних лет в литературе появились сообщения о некоторых примерах нелинейных двоичных кодов (Васильев [2], Надлер [8], Грин [6]). Особенно интересным в силу своей структуры и общности был класс, открытый Васильевым [2], т. е. класс совершенных групповых и негрупповых кодов с исправлением одиночных ошибок, содержащий коды Хемминга.
Недавно некоторый интерес к линейным кодам был возрожден открытием Нордстромом и Робинсоном [9] нелинейного (15,8) кода с исправлением двойных ошибок. Из этого кода путем укорачивания получаются опубликованные ранее негрупповой (12,5) код Надлера [8] и негрупповой (13,6) код Грина [6]. Код (15,8) обладает интересными свойствами, а именно он является систематическим и удовлетворяет верхней границе Джонсона [7] для числа кодовых слов в коде длины 15 и с расстоянием 5. Впоследствии (15,8) код был описан в терминах полиномиальных (т. е. линейных) кодов над полем GF (2) (Препарата [11]). Это описание оказалось полезным, так как оно привело к формальному доказательству (Препарата [12]) некоторых метрических свойств этого кода, определенных ранее эвристически.
Оставался открытым вопрос, впервые поставленный Нордстромом и Робинсоном [9], является ли (15,8) код элементом некоторого класса кодов. В настоящей статье на этот вопрос дается положительный ответ. Для каждого четного п^4 су* ществует негрупповой (2'* — 1, 2" — 2п) коде исправлением двойных ошибок, поэтому (15,8) код является частным случаем. Здесь снова полиномиальное описание оказалось существенным при построении этих кодов.
Интересные свойства этих кодов можно суммировать следующим образом: 1) они содержат удвоенное число кодовых слов по сравнению с БЧХ кодами той же длины с исправлением двойных ошибок, что является максимально возможным числом кодовых слов для данной длины и расстояния, т. е. они оптимальны; 2) их декодирование основано на вычислении величин, сходных с синдромом, и сложность его сравнима с соответствующими БЧХ кодами; 3) эти коды являются систематическими, и кодирование может быть выполнено очень просто с помощью регистров сдвига за то же число тактов, которое требуется для последовательной передачи информационных разрядов.
Следующие параграфы посвящены описанию этих кодов и доказательству сформулированных выше свойств.
ОПИСАНИЕ КОДОВ ')
В дальнейшем будем считать, что все рассматриваемые полиномы принадлежат алгебре Л„_, полиномов над полем GF (2) по mod (х2”-'-1 + 1) (п^4). Для данных а(х)еЛп_, и Ь^е еЛаЧ пусть ^[«(х)] обозначает число ненулевых коэффициентов а(х), и пусть d[a(x), b (х)] = W [а (х) + b (х)] есть расстояние Хемминга между а(х) и 6(х). Символом а(х) мы будем также обозначать вектор-строку [a^-i.g, а^-\_у ..., Oq], где а (х) = У с^х’.
Пусть (т(х)} есть БЧХ код длины 2'*-1 — 1 с исправлением одиночных ошибок, порожденный примитивным полиномом gi (х) степени (n—1), т. е. если а — примитивный элемент поля GF(2ra”1), то £1(а) = 0. Рассмотрим далее код (s(x)}, порождающий полином которого имеет корни а, а3 и 1. Ясно, что (s(x)} является БЧХ кодом с минимальным весом 6 [10] и (s (х)} ед сд(щ(х)). Ясно также, что (s(x)} существует только тогда,
когда 2" 1 — 1 ^ 2 (п — 1) + 1, т. е. при п^М; при п = 4 полином s(x) тождественно равен 0. Наконец, обозначим через и^ полином (х24-1-1 + 1)/(х + 1).
При заданных полиномах а(х) и b (х) (а(х^Дп_ь 6(x)g g Ля-]) и двоичном параметре / построим (2" — 1)-компонентные векторы над полем GF (2) вида
[а(х), i, 6(х)].
При заданных m (х) g (tn (х)} и s(x)g(s(x)} и произвольном i положим теперь а(х) = ш (х) и b (х) = m (х) + (m (1) + i) и (x) + s(x). Получаем
v = [zn(x), i, m (х) + (zn (1) + i^u (x) + s (x)].(1)
Лемма 1. Векторы v, задаваемые (1), образуют некоторый линейный код <6'п.
Доказательство. Утверждение немедленно следует из проверки того, что ^п является группой относительно сложения над GF (2). Действительно: 1) ^п содержит аддитивную единицу [0, 0, 0], получаемую из (1) при m (х) = 0, s(x) = 0, I = 0; 2) замкнут относительно сложения, так как (т (х)} и {s (х)} являются групповыми кодами.
Лемма 2. Минимальное расстояние между любыми двумя кодовыми словами из ^п равно по крайней мере 6’).
Доказательство. Так как ^п является линейным кодом, его минимальное расстояние совпадает с минимальным весом W его ненулевых кодовых слов, к определению которого мы переходим. Предположим сначала, что /п(х) = 0. Если также 1 = 0, то W = №[s(x)]>6. Если i = 1, то №=1 + Г [и (x)+s (х)]> ^ 1 + W [н (х)] — max W [s (х)]. Мы знаем, что UP [н (х)] = 2"-1 — 1 и что max UP [s(х)] равен 2"-1 —6 при п>4 и равен 0 при п = 4 (так как max W [s(x)] равен максимальному четному весу кодовых слов БЧХ кода с исправлением двойных ошибок). Следовательно, имеем
Г > 1 + 2"~ - 1 - 2"-' + 6 = 6.
Предположим теперь, что т(х)=/=0. Если m (х) ф (s (х)}, то m*(x) = zn(x) + (zn(l) + 0«(-t) + s(x) =7^0 и пГ (х) g {m(х)}. От-
сюда следует, что W ^ W [m (х)] 4- W [т* (х)] ^ 3 4- 3 = 6, так как и т(х), и т’(х) являются ненулевыми, а {т(х)} имеет минимальный вес 3. Если же наоборот т (х) е (s (х)}, то W4m(x)]^6 и W ^ IT [т (х)] ^ 6. Доказательство закончено.
Число информационных разрядов кода ^ легко получить, если учесть, что независимо выбираемые т(х), s(x) и i дают соответственно (2n-1 —и), (2"-1 —2п) и 1 информационных разрядов. Следовательно, ^п есть (2n—1, 2" —Зп+1) линейный код с минимальным расстоянием 6.
Рассмотрим далее полином ф(х) = (х2'1 1-1 +1)/^ (х), т. е. последовательность длины 2"-1—1, являющуюся последовательностью максимальной длины. Покажем сначала, что справедлива следующая лемма.
Лемма 3. Существует число s (O^s ^2n_1 — 2), такое, что (х6ф (х) )2 = х$ф (х).
Доказательство. Вычислим произведение ф(х)ф(х). Так как ф(х) не делится на gt (х), полином ф2(х) не равен нулю; кроме того, ф2(х) принадлежит коду, порожденному ф(х), т. е.
Ф2 (х) = хгф (х)(2)
при некотором г, 0^г^2"-1 —2. Если умножить (2) на x2s, то получится х2$ф2(х) = хг+мф (х), т. е. (х$ф (х) )2 = х$ф (х) • xr+s. Отсюда вытекает утверждение леммы, если xr+s=l, т. е. если г+ s = 0 (mod2n-1—1), или, что эквивалентно этому, s = 2"-1 — — 1—г (mod2n-1—1). Доказательство закончено.
Положим1) /(х)=х*ф(х).
Ясно, что полином q (х) = ах1 (а = 0, 1; / = 0, 1, ..., 2"-1 —2) при а = 1 является главным элементом смежного класса кода {т(х)}, имеющим наименьший вес. Построим теперь вектор и вида
u = kW, 0, ^(x)f(x)].(3)
Справедливы следующие леммы.
Лемма 4. Полином q(x) + q (х) f (х) принадлежит {т (х)}.
Доказательство. Утверждение немедленно следует из леммы 3, так как
f (х) {q (х) 4- q (х) f (х)} = f (х) q (х) 4- /2 (х) q (х) = 0,
т. е. полином q (х) + q (х) f (х), будучи ортогональным к f(x), делится на g, (х).
Лемма 5. Сумма двух векторов и, и и2 вида (3) допускает при п^4 представление
u1 + u2 = v + q + p,(4)
где
v = [m'(х), 0, пг' (х) + пг' (I) и (х)], пг' (х) g {пг (х)}, т. e.ve-^n, q = [^(x), 0, 7(х)],(5)
р = [0, 0, т"(х){, пг" (х) g {пг (х)}.(6)
Если q (х) = 0, то пг' (х) = 0; если q (х) =# 0, то либо пг' (х) = О, либо пг’ (х) является трехчленом.
Доказательство. Пусть и^^Дх), 0, qt{x)t{x^ и и2=[72(х), 0, q^ (х) f (х)]. Имеем
и, + и2 = ^ (х) + 72(х), 0, (7] (x) + 72(x))f(x)].(7)
Пусть 7MfW = (7i W + ?2W)fW и m'(x) = qi (х) + 72(х)+7 (х). Так как (7 (х) + 7i (х) + q^ (х)) f (х) = 0, ясно, что пг' (х) g {пг (х)}. Если 7i(x) = 72(x), то отсюда следует, что 7(х) = 0 и пг'{х)=0. Если 7, (х) N= 72 (х), то либо q{x^ = q^x^ (/=1, 2), либо полиномы 7] (х), 72(х) и 7 (х) различны и не равны нулю; в первом случае пг' (х) = 0, в последнем случае пг'{х^ является трехчленом.
Это дает возможность написать
71 W + 7г W = пг' (я) + 7 М
и переписать (7) следующим образом:
u, + и2 = {пг' (х), 0, m'(х) + m'(1) и (х)] + [7 (х), 0, 7(х)] +
+ [0, 0, 7(x) + 7(x)f (x) + m'(x) + m'(l)u(x).
Теперь очевидно, что полином пг" (х) = q (х) + q (х) / (х) + + w (х)+ /п'(1)«(х) принадлежит {т (х)}, так как он является суммой полиномов, принадлежащих {щ(х)}.
Лемма 6. Для любого трехчлена m {x')=xs+x! + xj е {пг (х)} справедливо равенство
пг (а3) = а3$ (ал + а2Л),
где h — некоторое число (0 < h < 2п-1 — 1).
Доказательство. Пусть пг (х) = х5 + xz + х^, где s, / и / различны. Тогда пг (а3) = а35 + a3Z + а3-'. Вспоминая, что /и(а) = = а5 + а' + а7 = 0, имеем
а35 = (а' + а7)3 = a3Z + а3^ + а;а7 (а' + с^),
что эквивалентно т^а.^ = а.1а.5а.$ = a?sal-sa.i-s. Но a/-s=l+a,-s, следовательно, полагая i — s = h ф 0, получаем утверждение леммы.
Рассмотрим теперь матрицы
Я^а2"-'"2а, 1],
/73 = [(a3)2"-'-2j, „з, !],
t/ = [l,1, 1].
Матрица Я = [я[, Яз, U1^ является проверочной матрицей кода (s(x)} (индекс Т обозначает операцию транспонирования). Для заданного полинома /г (х) определим h (х) Нт = [рь Рз, с] как характеристики h^xY Для произвольного s(x)e(s(x)j имеем
WVh (x) + s(x)]>F[fe(x)],
где fe(x) —элемент с минимальным весом из смежного класса по {s (х)}, которому принадлежит h (х). Вычислим теперь характеристики некоторых полиномов, которые часто будут использоваться в дальнейшем:
у(х) = х\q (х) Нг = [а5, а3*, 1],
m(x)e[m(x)}, m{x)HT = [0, /и (a3), m (1)],(8)
m"^ (см. (6)), т"(х)Яг = [0, т'^А-а»\ 1].
Первое соотношение очевидно. Второе следует из того, что пг (а) = 0, так как пг (х) е {/и (х)}. Чтобы доказать третье из соотношений (8), вспомним, что т" (х) = <? (х) + <; (х) f (х) + + пг' (1)ы (х) + пг' (х) и что q (х) f (х) Нт = [а5, 0, 0], так как f(x) делится на минимальную функцию g3(x) от “3 и на (х+1); а также примем во внимание, что tn' (1) м(х) Нт = [0, 0, т'(1)], так как ы(х) делится на g3(x) и минимальную функцию gx (х) от а.
Лемма 7. Для m"(x) = y(x) + <7(x)f(x) + /n,(l)u(x) + m/(^) и произвольного s(x)£{s(x)} справедливо
( 4 при четном п, ^[/п"(х) + в(х) + в(х)]> „ Р
*’(2 при нечетном п.
Доказательство. Характеристики (пг" (х) + q (х)) суть [с^, т'(а3), 0] (см. (8)). Далее, W \m" (х) + q (х) + s (х)] есть минимальное число столбцов Н, которые прибавляются к [а5, т'(а3), 0]г. Так как с = 0, это число четно. Предположим, что имеются два элемента xt и х2 из GF(2n-1), которые удовлетворяют уравнениям
Х| -)- х2 = Ct ,
xf + х3 = m' (а3).
Учитывая, что а5 =/= 0, сделаем подстановку ух = (х^а1), У1 = (^2/°5)- После простых преобразований убеждаемся, что ух и у2 являются решениями единственного уравнения
у2 + у + 1 + т' (а3)/^ = 0.
Так как либо т' (х) = 0, либо т' (х) является трехчленом (лемма 5), то лемма 6 дает т' (а3)/^ = аЛ + а2А (0 ^ А ^ 2П-1 —2); предыдущее уравнение преобразуется в уравнение
(у + ал)2 + (у + ал) + 1 = 0,
которое при z = y-Va.h эквивалентно уравнению
г2 + х+1 = 0.(9)
Но решениями уравнения (9) являются первообразные корни третьей степени из единицы, в силу чего уравнение (9) имеет решения в GF(2n~’) лишь при нечетном п. Доказательство закончено.
Построим теперь (2" — 1)-компонентные векторы следующего вида:
w = [m (х) + q (х), i, m(x) + <7(x)f(x) + (/n(l) + t)u(x) + s(x)], (10) где т (х), q (х), i, s (х) выбираются независимо и дают соответственно (г"-1 —и), (n—1), 1, (2П-1 —2и) информационных разрядов, так что общее число информационных разрядов равно (2" —2и). Векторы w образуют некоторый (2"—1, 2П —2и) код 3fn. Общий вектор w можно разложить следующим образом:
w = v + u,(11)
где v и и определены соотношениями (1) и (3) соответственно. Пусть w1 = v, + и1 и w2 = v2 + u2 — два различных кодовых слова из Х„. Используя соотношение (4) (лемма 5), имеем
илиилиWj + w2 = (V! + v2) + (u, + u2) = V! + v2 + v + q + р
или
или
wt + Wg = v' + q + р,wt + Wg = v' + q + р,(12)
wt + Wg = v' + q + р,
wt + Wg = v' + q + р,
где Vх = V] + v2 + V. Ясно, что v' является некоторым произвольным элементом кода ^П1 a q + р можно представить следующим образом:
q + P = [^W, 0, у(х)/(х) + /п,(х) + /п,(1)м(х)] =
= [у(х), 0, q (х)/ (х)] + [0, 0, m'(x) + m' (l)u(x)] =
= u' + [0, 0, пг' (х) + пг' (1) и (х)].
В случае, когда т' (х)#=0, вспомним, что т' (х) ^ (s(x)} (лемма 5), т. е. [О, 0, т' (х) + т' (1) и (х)] ^ Следовательно, код 2И п является нелинейным кодом. Кроме того, каждый ненулевой вектор и в (11) определяет некоторый смежный класс кода &„, так как отличный от нуля полином </(х) определяет некоторый смежный класс кода (/и(х)}. Следовательно, код ЖЛ можно рассматривать как теоретико-множественное объединение кода ^„ и некоторого подмножества его смежных классов, мощность которого равна 2"-1 —1.
Пусть W обозначает вес суммы (w!+w2). Мы можем теперь доказать основной результат этой статьи.
Теорема 1. При четном п^4 код У£п является нелинейным (2" — 1, 2" — 2и) кодом с минимальным расстоянием 5.
Доказательство. Если q(х) = 0, то w( + w2e'g’„ и W">6 по лемме2*). Предположим теперь, что</(х) = x5(0^s^ 2П~’ — 2). В общем случае имеем
W = / + W [пг (х) + q (х)] + W [пг (х) + (пг (1) +1) и (х) +
+ s(x) + m"(x) + <7(x)]. (13)
В зависимости от значений /п(1) и i мы различаем три случая: 1) т(1) = 0, 1=1. Соотношение (13) преобразуется следующим образом:
Ц7 > 1 + W [пг (х) + q (x)J + W [ы (х) + s (х) + пг" (х)] -
- W [пг (х) + q (х)] = 1 + Г [и (х) + s (х) + т" (х)].
Из соотношения (8) и и (х) Нт = [0, 0, 1] получаем
(ы (х) +/и" (х))//г= [рь р2, с] = [О, /п'(а3) + а3\0].
Но, согласно леммам 5 и 6, имеем /п'(а3) = а3* (а* + а2*), 0 ^ /г ^ ^2"-’ — 2. Следовательно, пг' (а3) + а31 = а35 (1 + ak + а2*) =/= 0 в GF(2n_|) при четном п. Отсюда следует, что IF[tz(x) + s(x) + + m"(x)]^=0. Кроме того, Й7 [и (х) + s (х) + пг" (х)] есть четное число, превышающее 3, так как с = 0 и Р|=0 (Нх является
проверочной матрицей кода с исправлением одиночных ошибок). Мы заключаем, что ^^1+4 = 5.
/и(1) = 0, г = 0. Если /п(х)^0, то соотношение (13) дает
W>W\.m (х)] + W [m (х) + m” (х) + s(х)] - 2Г [</(х)].
Соотношения (8) дают
(/и (х) + т" (х)) НТ = [рь р3, с] = [0, т (а3) + т' (а3) + а3*, 1 ], т. е. вес W [т (х) + т" (х) + s (х)] — нечетное число (с = 1), не меньшее 3 (р,=0). Кроме того, соотношения т (х)=#0 ит(1) = 0 означают, что W[m(x)]^4, откуда №^4 + 3 —2 = 5. Если /и(х) = 0, то соотношение (13) преобразуется к виду
И7 > И7 [<? (х)] + Г Vm" (х) + q (х) + s (х)].
Из леммы 7 имеем, что W \т" (х) + q (х) + s (х)] ^ 4 при четном п, откуда Й7^ 1+4 = 5.
т(1)=1. В этом случае число U7[/и (х) + q(х)] четно и не менее 2. Предположим сначала, что W[m(x) + q (х)] = 2. Это означает, что т (х) = х5 + xz + xj (s, i, j различны); отсюда по лемме 6 имеем /и (а3) = а35 (аА + а2А) при некотором А, 1^А^ ^г"-1—2. Соотношение (13) дает
Г = / + 2 + Й7 [m (х) + (1 + 0 «(х) + т" (х) + q (х) + s (х)].
Для простоты положим fe (x)^m (х) + (1 + /) м(х) + т" (х) + </(х) + + s(x). С помощью соотношений (8) легко получаются следующие характеристики /г(х):
k(x) НТ = [рь Р3, с] = [а5, т (а3) + т' (а3), /].
Так как т' (а3) = а35 (aft + а2к) (0 ^ fe^2rt-1 — 2), отсюда следует, что т (а3) + т' (а3) = а35 (аг + а2г) при r = h-Vh. Следовательно, по лемме 7 имеем Ц7[А(х)]>2 при четном п, т. е. U7[A(x)]^ ^4 — i (так как I есть четность Ц7[/г(х)]). Мы заключаем, что
W > i + 2 + 4 -1 = 6.
Наконец, предположим, что 117 [/и (х) + у (х)] ^4. Так как Р, = а\ находим U7[A(x)j^l, откуда следует V^i + 4+l = = i + 5. Доказательство окончено.
Замечание. Интересно рассмотреть задачу расширения примененного метода с целью построения кодов X„ для других значений числа исправляемых ошибок, а именно для t = 1 и />2.
Имеются две различные схемы, которые кажутся перспективными для обобщений. Рассмотрим сначала соотношение (10),
которое описывает код Хп с исправлением двойных ошибок, т. е.
w = [zn (х) + q (х), I, т (х) + (zn (1) + z) и (х) + s (х) + q (х) f (х)].
Здесь Жп строится с помощью двух кодов (zn(x)} и {s (х)}, где (s (х)} cz (т (х)}. В частности, если а — первообразный корень в GF(2"-1), то (zn(x)} характеризуется корнем a, a (s(x)} — корнями 1, а, а3. Поэтому имеются два потенциальных обобщения на случай /-кратных ошибок.
{т(х)} имеет корень a, a {s(x)} имеет корни 1, а, а3, ... ..а2*'1.
(zn (х)} имеет корни а, а3, ..., а2<~3, a (s(x)} имеет корни 1, а, а3, ..., а2<_|.
При / = 1 обе схемы приемлемы и порождают, как легко показать, одни и те же коды. В частности, т(х) в схеме В является общим элементом An_i, a (s(x)} имеет (x+^gjfx) в качестве своего порождающего полинома. Получающийся код состоит из векторов
wB = [zn (х), i, m (х) + (zn (1) + z) и (x) + s (x)].(14)
Удивительно, что код ^n является линейным кодом, как это легко видеть из (14). Кроме того, можно показать, что ои совпадает с кодом Васильева [2]. В действительности (14) можно выразить следующим образом:
wB = [zn (х), z, m (х) + р (х)], где
р (х) = (zn (1) + г) и (х) + з(х).
Если теперь наложить условие, что р(х) принадлежит коду, порожденному полиномом gt (х), то это соотношение становится уравнением относительно неизвестных s(x) и z, которое всегда можно разрешить, если
z = четность W [те (х)] + четность W [р (х)].
Тем самым получается линейный код Васильева (эквивалентный коду Хемминга).
При />2 вопрос о том, дает ли какая-либо из двух описанных схем приемлемое обобщение, остается полностью открытым.
ВИД ИЗБЫТОЧНЫХ ФУНКЦИЙ
Рассмотрим выражение (10) общего вектора кода ЗСП1 т. е. w - [zn (х) + q (х), /, m (х) + (zn (1) + 0 и (х) + s (х) + q (х) f (х)].
Легко видеть, что Х„ можно кодировать как систематический код, т. е. (2" —2п) двоичных информационных разрядов можно произвольно приписать в фиксированных позициях, а остальные (2n—1) избыточных разрядов можно подсчитать как функции информационных разрядов. В этом параграфе мы исследуем природу этих функций. Для удобства представим теперь w в виде
Г 40)40) .(0) . .(1)401
W— [г2п-|-2*1 ’ го ’ *’ Чп~*-3’ •••• Чп-Р Рзп-3’ Рр Ро|»
где буквы i и р обозначают информационные и избыточные разряды соответственно.
Предположим сначала, что s(x) = 0. Тогда левые 2"-1 разрядов [z^n—ig, ..., г] полностью определяют 2"“'— 1 правых разрядов. Обозначим последние через [ф2«—1_2, ..., ф0] и проанализируем их зависимость от предыдущего множества разрядов. Пусть
i(x)= 2 ^х?. q^ f(x) = c (x) = 2 с^, f(x)=^ ^x', m (x) = ^m^,
где все суммы берутся по / = 0, 1, ..., 2"-1 — 2. Если q (х) = 0, то с/ = 0 при каждом /. Если <7(х) = х\ то, согласно свойству однозначности последовательности максимальной длины [10], имеем cs*bcs+b-\ " * * Сз+ь-п+з = 1 и с1+ь " ’ * с1+ь-п+2= 0 при j^s, где число b таково, что fJb-\ * *" 1ь-п+з= 1- Легко видеть, что
<7 (х) = 2С/ + Ь • • - Cj+b-n+2X*, ПТ) = ^ + Cj + b ’ • - Cj + b-n+2 и
ф/ = l^ + Cj + b • ’ • С/ + 6-П + 2 + Z + S(ZV + Ch + b ’ • • С4+6-П+2) + Cj
или после перегруппировки членов
ф/ = 1 2 40) + ^ + сД + | 2 Ch • • • Ch-n+1\.(15)
Вспомним теперь, что поскольку с(х) = q(x)f (х) = i (х) f (х), то с/= 2^-i40> есть линейная функция от переменных^, г®, .. . ..., i®-i_2. В частности, так как f(x) есть последовательность максимальной длины, то для различных г и s существует число t, такое, что cr + cs = с(. Если q^ (х) есть трехчлен, то при s = (r + n — 1) число t удовлетворяет неравенствам г < t <r + п — 1. Следовательно, имеем
скск—1 * 1 ’ ch-n+2 "1" ch-\ch * * ' ch—n+l =
” Cft-1Ск-п+З^к + Ск-П+г)™11^-*! **’ efc*W*t*
Отсюда следует, что в последнем члене выражения (15), который является суммой (2"-1 — 2) произведений, каждая пара последовательных произведений из (га—1) множителей преобразуется в одно произведение из (га —2) множителей, так что получается (2"—2— 1) произведений. В заключение мы получаем выражение
Г2" —<—2Л 2"~2-2п-3
Ф/= i z + i/0> 4" 2 (1 + Л-й) 4°[ + 5 П с/+ы-1+2й-$> (16)
I4=0J4=0 5=0
/ -(О).(0) Л
которое показывает, что ф/(г2"-|-2io , 1) является суммой некоторой строго линейной функции и некоторой нелинейной функции степени не выше (га — 2). В качестве проверки заметим, что для (15,8) кода (га = 4) последняя функция является квадратичной.
Пусть Иц — общий вход проверочной матрицы Н* кода (s(x)}, записанной в систематическом виде, т. е. (2га — 1) правых столбцов Н* образуют единичную матрицу и индекс / пробегает значения справа налево. Тогда соотношения
2^ — 2
Р, = Ф<+ 5 ЛЖ + Ф/)(< = 0, 1, .... 2га-2)(17)
/=2п-1
дают искомые избыточные функции.
Выражения (15) и (17) дают возможность предложить очень простую схему кодирования. Действительно, ф/ является циклической функцией от своих аргументов. Следовательно, ее можно реализовать с помощью нелинейного сверточного кодера, состоящего из циклического регистра сдвига и комбинационной схемы, реализующей Ф = Ф2п-1_2 (см. рис. 1). Полный кодер состоит из трех регистров сдвига PCI, РС2, РСЗ, имеющих 1, (2rt-1 —1) и (2га—1) разрядов соответственно. Операция разбивается на четыре фазы Gb G2, G3, G4, продолжительность которых равна 1, (2П—1 — 1), (2П-1—2га) и (2га—1) тактам соответственно. Указанные вентили проводят, когда приложенные сигналы равны 1. Все регистры первоначально заполнены нулями. Информационные разряды посылаются в виде последовательности i, i2n-i_2,i^, 4"-i~2> •••> 4n-i по одному раз
ряду на каждый такт. Тогда в течение фазы G( разряд i посылается на РС1 и в течение фазы G2 разряды z^"—2» посылаются на РС2 (при этом они одновременно посылаются
на выход). Как показано, РС1 и РС2 являются регистрами с циркуляцией. В течение фазы G3 функции yz + iW появляются в точке А для посылки в регистр РСЗ, который является регистром сдвига с обратной связью, осуществляющий деление полинома на (х + 1)^ (х) g3 (х) (см. [10]). Тогда в конце фазы G3 регистр РСЗ содержит проверки на четность 2 ha iff + Ф/)-
6з G«
Рас. 1. Кодер для кода ЭСп.
В течение фазы G4 вход равен 0 и в точке В образуются функции pt и посылаются на выход. Следовательно, вычисление избыточных разрядов происходит не дольше, чем последовательная передача информационных разрядов.
ОПТИМАЛЬНОСТЬ КОДОВ ^„
Код Хп является (2”—1, 2П —2п) кодом с исправлением двойных ошибок. Он содержит на один информационный разряд больше, чем соответствующий линейный код, т. е. БЧХ код той же самой длины с исправлением двойных ошибок (который является (2" —1, 2" — 2п — 1) кодом).
В этом параграфе мы докажем более сильное утверждение, а именно, что код У£п имеет наибольшее число кодовых слов для своей длины и своего минимального расстояния, так как достигается граница Джонсона [7] для A(,N, d) при W = 2"—1
(п четно) и d = 5'). Граница Джонсона при d = 2/ + 1 задается
следующим образом:следующим образом:2"2"tiLN lNKt+\^tiLN lNKt+\^/-о/-о(18)
следующим образом:
следующим образом:
2"
2"
tiLN lNKt+\^
tiLN lNKt+\^
/-о
/-о
где [а] есть целая часть числа a, a R^N, d, /) удовлетворяет
Г N — 1[ d — 1Г N — 1[ d — 1(19)(19)верхней оценке
Г N — 1
[ d — 1
Г N — 1
[ d — 1
(19)
(19)
R^N, d, ОС [у
При N = 2n — 1 и t = 2 соотношения (18) и (19) приобретают вид
W-1,5,2)<[^[VPW W
Рассмотрим соотношение (21). При четном п число (2" —4) делится на 3, так что [(2" — 3)/3] = (2" — 4)/3. Кроме того, (2я — 4) делится на 4. Мы должны теперь показать, что (2я — 1)(2П — 2)Х X (2n-2 — 1) делится на 5. Это немедленно следует из того замечания, что вычеты числа 2" (и четно) по mod 5, чередуясь, равны 1 и 4, т. е. вычеты чисел (2"—1), чередуясь, равны О и 3. Поскольку число (2П—1)(2П —2)(2"-2 —1) содержит две последовательные четные степени 2, имеет место неравенство
/?(2"-1, 5, 2) < (2” ° (2"60 2) (2" 4)
из которого при четном п легко получить соотношение
С\ — С2/?(2П—1,5, 2)((2П-1)(2"-2))/б
[(2"—1)/31(2"-1)11
На основании этого мы заключаем, что при п четном имеем
92п-1
Л (2" — 1 5) <
'’22"-,-2"-, + 1+(2"-,-1)
) Дж. П. Робинсон первый заметил, что Д(2"— 1,5) (п четно) есть степень 2. Еще ранее автор сформулировал предложение, основанное на довольно туманных геометрических аргументах, что нелинейные коды длины (2n— 1) и с расстоянием 5, аналогичные (15,8) коду, существуют лишь при четных» (частные сообщения, январь и март 1968 г.).
Последнее число в точности совпадает с числом кодовых слов кода Хп. Ясно, что при нечетном п отношение в (22) строго больше, чем (2"~1 — 1), так как [(2" — 3)/3] = (2" — 5)/3. Это обстоятельство также показывает, что при нечетных п коды Ж п не существуют.
ДЕКОДИРОВАНИЕ КОДА 5^„
В этом параграфе мы покажем, что декодирование кода можно легко выполнить с помощью вычисления и исследования величин, подобных синдрому.
Вектором е = [е0(х), е, е1 (х)] мы представим общий вид ошибки, где еДх) е Д„_1 и е есть двоичный параметр. Используя свойства расстояния кода XП1 заключаем, что ошибка е может быть исправлена прн выполнении следующего условия:
(23)(23)Г[е0(х)]+Г[е, (х)] + е<2.
(23)
(23)
В общем случае полученный вектор есть г = [г0(х), г, г} (х)] =
-= w + е, где w Е X п. Вычислим теперь следующие функции:
Оо = Го (х) Ньot = n ^hLa = (r0 (x) + fi(x)) Нз,d = r + г, (х) UT.
Так как r0 (х) = m (х) + q (х) + е0 (х), a m(x)/7f = 0, то при q^=bxs имеем <т0 = baf + е0(а). Аналогично из т^ (х) = m (х) + + (m(l) + Z)M(x) + <7(x)f (x) + s(x) + el (х) и и^Нтх =0, s^HTx = = 0, <? (х) f (х)//[ = ba получаем, что а, = Ьа$ + е, (а). Из г0(х)+ + М^НЙ + ^(x)f(x) + s(x) +e0(x) + eI(x) + (m(l) + i)H(x), вспоминая, что s(x) Нг = 0, Нх)/7з=0, и(х)Нг = 0, находим, что а = ba3s + ех (а3) + е0(а3). Наконец, так как числа Ц7[</(х)Х X f (x)J, R7[s(x)j, W [m (x) + m (1) и (x)] четны, то d = r + i-V + ex (1) = e + e, (1). Все это можно выразить следующим образом:
(24)(24)Оо = bas + е0 (а), а, = bas + ех (а),
(24)
(24)
а = ba3S + е0 (а3) + е, (а3), d = е + е, (1).
Четверку S=(a0, ob a, d) удобно называть синдромам вектора г.
Теперь мы приведем лемму, которая основана на достаточно известных результатах из теории конечных полей *).
Лемма 8. Множество в всех 9еОР(2п-1), для которых уравнение у + у + 9 = 0 имеет решения в GF (2"~|), образует векторное пространство размерности (га —2), определяемое четными линейными комбинациями элементов нормального базиса Р, р, р4, ..., Р2"-2 поля GF^"-').
Доказательство. Известно (см., например, [1]), что существуют базисы поля GF(2'l~l), состоящие из полных множеств сопряженных элементов (нормальные базисы). Пусть р, Р2, ..., р2"-2 —одно из таких множеств линейно независимых сопряженных элементов. Тогда каждый элемент у е GF (2П-1) однозначно выражается следующим образом:
у = сор + с^2 + ... -Vcn_^n 2(czeGF(2)).
Так как
Р2""' = Р.
■имеем
2
у2 = с„-2р + С0р2 + ... + сп_3р2 и
2
у2 + у = й0р + ^р2+ ... +4-2Р2(d/eGF(2)),(25)
где dj = с, + с^ (индексы вычисляются по mod га—1). Но правая часть (25) есть общий элемент в. Действительно, предположим, что d0, dit ..., dn_2 заданы. Тогда мы имеем сп_2 = = d0 + c0 = d0 + d^ с^ ... = d0 + ... + dn_2 + cn-2, следовательно,
</0 + </[ + ... + dn_2 = 0,
e. число ненулевых ds четно. Доказательство закончено.
Эта лемма дает правило для проверки того, является ли у е GF (2n-1) элементом 0. Фактически мы должны сначала найти нормальный базис р, р2, ..., р2 поля GF(2rt-1) (см., например, [4]). Пусть через у обозначен вектор-столбец представления над полем GF(2) элемента yEGF(2n_|) относительно базиса 1, а, ..., а"-2, и пусть М= р, .... р2" 2] —
невырожденная (п — 1) X (п — 1) матрица. Тогда у связан с представлением [d0, . . ,,dn_2] элемента у относительно базиса р, .о”-2
Р ,...,р следующим образом:
V = M[d0, ..., dn_2f.
т. е. М *У = [d0, . ,.,dn_2V. Умножая слева обе стороны равенства на вектор-строку и = [1,11], получаем условие
и • [d0,и • [d0,,(0, если уев,
и • [d0,
и • [d0,
[ 1, если у ^ 0.
Перехо-(26)Перехо-(26)которое, если обозначить через Хг сумму строк Af~’, дит в условие
Перехо-
(26)
Перехо-
(26)
, _(0, если уе 0,
Лг . у = <
( 1, если у ^ 0.
Следующая лемма проливает некоторый свет на взаимосвязь расстояний между общим вектором г и элементами w кода Жп.
Лемма 9. Для любого заданного г = [г0 (х), г, г} (х)] существует ^/^.Жп, такое, что г 4- w = [0, е, е (х)], причем Fk(x)]<3.
Доказательство. Пусть {/(х)} есть БЧХ код с исправлением двойных ошибок, порожденный полиномом gi(x)g3(x). Разложим г0(х) следующим образом: r0 (х) = пг0 (х) 4- q0 (х) и образуем г*(х) = Г] (х) 4- /п0(х) 4- (т0(1) + г)и(х} 4- q0^t (х). Далее г*(х) представим как г* (х) = t (х) 4- е (х), где /(х)е(/(х)} и е(х) есть элемент с минимальным весом смежного класса по {/(х)}. Известно [5], что И^[е(х)]^3. Легко также проверить, что (/ (х)4-1 (1)м(х)) е (s(x)}. Образуем далее кодовое слово
w = [mo(x) + ?oW> г + ^(1), т0(х) 4-(m0U) + г + ^ (0)м (*) +
4-<7оМ/:(х)4-/(х)4-/(1)м(х)] = [го(х), г 4-^(1), г, (х) 4- е (х)].
Полагая /(1) = е, получаем, что г 4- w = [0, е, е (х)]. Доказательство закончено.
В дальнейшем индекс / у Oj или еДх) следует рассматривать по mod2. Положим р = а4-(<т04-<Г1)3 и докажем следующую основную лемму.
Лемма 10. Условия р 4- о3 = 0 (/=0 и 1), d = 0 выполняются тоеда и только тогда, когда г е ^п, т. е. они характеризуют код У£а.
Доказательство. В силу леммы 9 без ограничения общности можно предположить, что разность между г и некоторым w е Ж п имеет вид [0, е, е (х)], IF[e(x)]^3. Тогда соотношения (24) приобретают вид
о0 = Ьа5, О! = ба5 + е (а), а = ba3s + е (а3), d = е 4- е(1).
Прямое утверждение немедленно следует, если в (27) положить е(х) = 0, е = 0. Чтобы доказать обратное утверждение, предположим, что р4-ст3 = О (/ = 0,1). Это влечет а3 = а3, и в силу единственности корня третьей степени в поле GF (2я-1) (число п четно) имеет место 00 = 0,. Из (27) следует, что е(а) = 0. Теперь имеем р 4- а3 = а + а3 = е (а3) = 0. Так как [//f, Нз\ является проверочной матрицей кода с исправлением двойных ошибок, a IF[e(x)]^3 (лемма 9), из равенства е(а) = е(а3) = 0 заключаем, что е(х) = О. Наконец, условие d = 0 дает, что е = е(1) = 0. Доказательство окончено.
Легко проверить, что условия р 4-ст3 = 0(/ = 0, 1), d = 0 эквивалентны условиям
<т0 = стн а = а3 = а3, d = 0,(28)
которые также характеризуют код.
Перейдем к доказательству трех теорем (2.1, 2.2 и 2.3), которые устанавливают соответствие между множествами синдромов и множествами конфигураций исправимых ошибок. Утверждения и соответствующие доказательства почти идентичны. Необходимое условие („тогда") доказывается путем проверки с помощью соотношений (24) того, что конфигурация ошибки определенного типа производит синдром определенного типа. Обращение („только тогда") доказывается следующим образом: образуется вектор „коррекции" с = [с0(х), с, С[ (х)], который является функцией только синдрома 2 и такой, что с4-1Пс0(х)]4-ИПсДх)]^; затем показывается, что г-гсе^„, поскольку синдром 2* = (o’, o’, a*, d*y вычисленный для (г 4- с), т. е.
<$*1 = Gf + с, (а) (/ = 0, 1), а* = а 4- с0 (а3) 4- cv (а3),(29)
d = i/4-c4-C](l), удовлетворяет условиям леммы 10 (или эквивалентным условиям (28)); наконец, благодаря свойствам расстояния кода 3fn
устанавливается, что е = с есть единственная конфигурация исправимой ошибки, которая может произвести г. Ясно, что каждая из этих теорем дает также декодирующее правило, заключающееся в вычислении вектора с на основании 2. После этих пояснений мы только наметим доказательство каждой из следующих теорем.
Теорема 2.1. В случае исправимой ошибки е условие р + а3 = О выполняется лишь для одного из значений j = 0, 1 тогда и только тогда, когда № [е0 (х)] + № [^ (я)] = 1.
Доказательство. „Тогда11. Соотношения е^х^х11, ej+l(x) = 0 дают Oj = bas + ak, oj+l = bas, а = ba3s + a3k, следовательно, р = ba3s. Отсюда имеем р + а3+1 = 0 и
р + а3 = а36 [(6а5-6)2 + bas-k + 1]=#0,
так как z2 + z+l# 0 при любом значении zgGF(2,_|) (га четно).
„Только тогда11. Если р + а?#0, р + а3+1 = 0, то подсчитаем а0 + ст1=аА, а затем положим Cj (х) = xk, cj+l (х) = О, c = d + c!(l) и вычислим 2*, т. е.
a- = a. + ah = a.+i = a*+v d* = О,
а* = а + аЗЛ = а + (ст0 + aj3 = р = а3+1 = а*3.,.
Итак, условия (28) выполняются, причем с + W [с0 (х)] + + Г [с, (х)]<2.
Теорема 2.1 дает следующее декодирующее правило.
Правило 1. Если Vp=Oj, Vp^=aj+1, то c^tx^x'1 и c = d + c,(l), где aA = a0 + a,.
Теорема 2.2. В случае исправимой ошибки е условия р + п3#=0 (/= О, 1), d=l выполняются тогда и только тогда, когда е = 0 и № [б/(я)] = 1 (/ = 0, 1).
Доказательство. „Тогда11. Соотношения е/(х) = хА/, е = 0дают Oj = bas + ak’, а = ba3s + a3ki + a36/+*, d=l, следовательно, p = ba3s + aklakl+' (a6/ + aA/+*). Отсюда имеем
. 3Г/"Z + l V I a/ + l .
p + a/ = a /+~^7" + 1 #0
8 OF (8м-1) (га четно).
„Только тогда11. Если d = 1, р + а^У=О (/= О, 1), то подсчитываем р' = о + ад»! (а0 + а,) и получаем a/+1 + Ур' = aki. Затем полагаем с = [х\ 0, х*1] и вычисляем 2*, т. е.
о* = о. + afej = О] + oi+1 + ^ = a/+h
с* = о + а36/ + а36/+' = а + (ст/+1 + V р'/ + (сц +У р')3 = = (а + ауа/ + 1 (а/+1 + а,) + р') + (а,- + а/+1 + f /)3 = о;3, так как <т + а/О/+1 (о/+1 + о,) = р'. Наконец, d* = d + c1(l) = O. Соотношения (28) удовлетворяются, причем с = W [с0 (х)] 4+ ^ [С1 (я)] = 2.
Отсюда мы имеем следующее декодирующее правило.
Правило 2. Если Кр=#Оо> Vp + оь d=\, то с = 0 и Cj (х) = х6/, где aki = oi+x 4- Vо + (To^i (ао + <М-
Перед формулировкой теоремы 2.3 заметим, что при условии (о0 4~ сг,) ¥=0 функции -^^(р+ аЗ)Да0 + а,)3 (/ = 0, 1) связаны равенством
Т/ + т>+>+ (ао + щ)2'4’1-0’
Выражая эти элементы поля GF(2n-1) как вектор-столбцы относительно базиса 1, а, ..., ап-2 и умножая слева на Хг (см. (26)), имеем
Хгту +Хгт/+1 = 1,
так как Хг • 1 = 1 и (сгусг,)/^ 4-сг,)2 е 0 [фактически, о0/(о0 4- ст,) решает уравнение у2 4- у 4- (о0о1/(о0 4- од2) = 0]. Этим доказана следующая лемма.
Лемма 11. Если (а0 4- Oi) N= 0, то точно одна из двух функций tj, т/+1 принадлежит 0.
Теорема 2.3. В случае исправимой ошибки е условия р4-<т3У=0 (/ = 0, 1), d = 0, (а0 4- oj #= 0 выполняются тогда и только тогда, когда в/(х) = 0, W [e/+i (х)] = 2, е = 0.
Доказательство. „Тогда". Соотношение е = 0, es (х) = О, e/+i (х) = х^1 4- xki дают Qj = bas, aj+1 = bas 4- ej+1 (a), o = ba3s + 4-e/+1(a3). Отсюда (так как e/ + 1(a)=#0) имеем
P + ^ = e3+1(a)4-e/+1(a3),
P + ° ж = e/+i ^ + e/+i (“3) + e/+i to (l 4- —^ + (^(5)) ) •
Вспоминая, что е3+1 (а) + е/+1 (а3) = а6'^2 (а%| + а62), и полагая у = а6,/а61 #= 0, y = aje.+x (а), имеем р + а3 = ам,у (1 + -у) =^ О, поскольку y# 1 (fc, =# fe2), a также имеем
р + а^+1 = a3<t2 (1 + у)3 ^ + у + 1 + Т^г) ^ °.
поскольку 1 ^0 и у/( 1 + у)2 е 0 означают, что 1 + у (1 + у2) ^ 0. Кроме того, d = 0 и а0 + »! = е/+1 (а) ^ 0.
„Только тогда". Если d = 0, р + а3 У= 0 (j = 0, 1), (а0 + aj =# 0, то получаем ае,/(а0 + aj и а^/^ао + Ох) в качестве решений уравнения
^+(£т^ = °-(3°)
(Тот факт, что уравнение (30) имеет решения в GF(2'1~i) в точности для одного из значений /, гарантируется леммой 11.) Положим с/+1 (k) = xk< + х\ cj(x) = O, c = 0 и вычислим 2’, т. е.
d* = d + e1(l) = 0,., akl + a6z ,,,.
CT/+i ~ CT/+i + a. + aJ+v \1~^°1 + ^) - aj - °p
а^'+ аб2\<То + »1 /а^'+ аб2\<То + »1 /= a + (a0 + al)3(l +-^^r / p + = a + (a0 + a,)3^l +
а^'+ аб2\
<То + »1 /
а^'+ аб2\
<То + »1 /
так как (a^ + a6:)/(o0 + ст,) = 1 и ak,ak’l^aQ + a,)2 = (p + ^/(^o + ^J3 являются суммой и произведением решений уравнения (30) соответственно. Соотношения (28) выполняются, причем с+ № [с0(х)] + + Г [с, (х)] = 2.
Это дает следующее декодирующее правило.
Правило 3. Если Kp=#ff0, ^Р^^, d = 0, сто + ст1У=О, то положим с = 0, Cj^x) = 0 и cj+l (х) = xfc' + х^2, где а*1 и аЛ" являются решениями уравнения z2 + (aQ + ajz + (р + »3)/(a0 + a,) = 0.
Правила 1—3 составляют алгоритм, который производит коррекцию всех образцов исправимых ошибок. Выясним теперь, каково поведение этого алгоритма, когда полученный вектор г находится на расстоянии ^3 от любого we У£п. Ответ на этот вопрос неявно следует из предыдущих теорем, которые дают необходимые и достаточные условия для существования кодо-
вого слова, находящегося на расстоянии 2 или менее от полученного вектора г. В силу этих теорем вектор г лежит на расстоянии ^ 3 от любого кодового слова тогда и только тогда, когда р-|-ст^^=0 (/ = 0, 1) (теорема 2.1), d = 0 (теорема 2.2) и <т0 4- (Т1 = 0 (теорема 2.3).
Ясно, что когда X удовлетворяет этим условиям, произвести коррекцию нельзя. В самом деле, хотя свойства расстояния кода Жп гарантируют, что существующий вектор коррекции с с весом ^2 является также единственным, тем не менее в случае, когда правила 1—3 неприменимы, можно построить более чем один вектор с с весом 3. Это показывается с помощью следующего рассуждения. Предположим, что условия гр¥=Я; (/ = 0, 1), d = 0, сг0 = о-] выполняются для г. Определим аА так, что (1 4-(ст 4-Сто)/азл) е 0. (Имеется 2rt~2 значений А, которые удовлетворяют этому требованию, поскольку а3 порождает мультипликативную группу поля GF(2a~1), и при фиксированном («т + ^о) элемент (1 4-(ст + ст3)^аЗА) пробегает множество (О, а, а2, .. ., а2”-2}, которое содержит 0 при четном п (лемма 8).) Образуем затем вектор коррекции с следующим образом: с = 0, с0(х) = хА, с, (х) = xk> 4- х^2, где сЛ = ст0 4-г;аА (i = 1, 2) и z„ г2 являются решениями уравнения
„4-2 4-24-14зд = 0.а3"
Заметим, что а6' 4-а'г’ = (г1 4-22)аА = аА, так как z, 4-22= 1. С учетом того, что ст0 = ст1, синдром X дает (см. (29))
ст* = ст0 4- аА = ст, 4- а6' 4- а6= = ст*,
ст* = ст 4- аЗА 4- а36' 4- а361 = ст, 4- а6,а6» (а*1 4- а6’) =
= ст 4- аА (ст0 + z,aA) (ст0 4- 22аА) = (ст0 4- аА)3 = a*Q\ А* = с 4-с, (1) = 0,
т. е. r + cGJ\. Это рассмотрение доказывает, что имеется несколько ’) кодовых слов на расстоянии 3 от г (но ни одного слова на расстоянии < 3), и дает следующее правило обнаружения ошибки.
Правило 4. Если Ир + ст0, ]/р =#ст,, d = 0, ст0 4- ст, = 0, то полученный вектор г находится на расстоянии ^3 от любого кодового слова.
Дополнительный результат проведенного обсуждения состоит в том, что для любого заданного г имеются кодовые слова на расстоянии ^3 от г. Это свойство аналогично свойству, обнаруженному в работе [5] для БЧХ кодов с исправлением двойных ошибок.
Полученное сообщениеПолученное сообщениеблок.управленияблок.управленияВычислитель синдромаВычислитель синдрома00переключательная схема 2переключательная схема 2БлокБлок*4*4обращения <- переключу* нательная ,♦ схема 1обращения <- переключу* нательная ,♦ схема 1БлокобращенияБлокобращенияОС"'ОС "аОС"'ОС "аЛР^оДдПд!ЛР^оДдПд!Вычислитель вспомогательных функцийВычислитель вспомогательных функцийблокрешенияквадратногоуравненияблокрешенияквадратногоуравнения
Полученное сообщение
Полученное сообщение
блок.
управления
блок.
управления
Вычислитель синдрома
Вычислитель синдрома
0
0
переключательная схема 2
переключательная схема 2
Блок
Блок
*4
*4
обращения <- переключу* нательная ,♦ схема 1
обращения <- переключу* нательная ,♦ схема 1
Блокобращения
Блокобращения
ОС"'
ОС "а
ОС"'
ОС "а
ЛР^о
ДдПд!
ЛР^о
ДдПд!
Вычислитель вспомогательных функций
Вычислитель вспомогательных функций
блокрешенияквадратногоуравнения
блокрешенияквадратногоуравнения
О^Уб+бдб/бД')
0(*Уб*0об,(Оохб,)
Рис. 2. Декодер для кода 5СП.
На рис. 2 мы сделали набросок возможной блок-схемы декодера для кода Ж п. Последовательно получаемое сообщение запоминается в трех регистрах с циркуляцией PCI, РС2, РСЗ, соответствующих аналогичным регистрам на рис. 1. Получаемое сообщение посылается также на вычислитель синдрома, который после того, как прием завершен, хранит функции d, ст, а0, аь т. е. синдром 2. Эти функции являются входными сигналами комбинационных схем, которые мы теперь опишем (на рисунке жирными линиями обозначены пучки из (n — 1) двоичных линий).
Вычислитель вспомогательных функций (рис. 2) находит р + п®, р + а^ ст0 + ст,, ст0 + V с + <тост, (ст0 + ст,) и ст, + у с + <тост, (ст0 + ст,).
Первые три из них р + ст®, р + ст®, ст0 + ст, вместе с d посылаются в блок управления, который определяет, какое декодирующее правило должно быть применено. Параллельно с этим величины ст + р®, р + ст®, ст0 + ст, посылаются в блок решения квадратного уравнения, где вычисляются т0 = (р + ст®)/(ст0 + ст,)3 и т, = (р + <т®)/(ст0 + ст,)3 и проверяется принадлежность множеству в. Если TyS0, то Ttj и О+Гт,) являются решениями уравнения у2 + у + т/ = 0, где Т — соответствующая квадратная матрица (см., например, [3]); затем Ttj и (1 + Гт,) умножаются в GF(2"-1) на (ст0 + СТ|) для получения решений а6' и а^ уравнения г2 + (ст0 + a^z + (р + ст®)/(ст0 + ст,) = 0 (см. правило 3). Так как W [с0 (х)] + IF [с, (х)] ^ 2, должно быть произведено исправление самое большее двух разрядов. Это выполняется следующим образом:
величины <т0 + ст,, ст0 + Кст + стост, (ст0 + ст,), ст, + + У а + Сто»! (CTq + ct^, а6', а^ посылаются в переключательную схему 1; здесь сигналы из блока управления определяют выбор двух корректирующих функций -ум Уз в виде векторных представлений двух элементов поля GF(2"-1);
комбинационная схема блок обращения (см. рис. 2) вычисляет обращение элемента уу = аА/ (если уу = О, то выход блока обращения условно считается равным 0), и a-hi вводится в счетчик Су, работающий в поле Галуа. Следует заметить, что если предположить отсутствие задержек в комбинационных элементах, то ввод а~А/ (/= 1, 2) в Cj происходит одновременно с выработкой d, ст, о0, av На этом этапе содержимое регистров РС2 и РСЗ циркулирует синхронно с работой счетчиков С, и С2. Когда в Cj регистрируется последовательность 10 ... 0, в блоке D образуется сигнал протяженностью в один такт и направляется через переключательную схему 2 для выполнения требуемой коррекции содержимого регистров. Поэтому операция декодирования заканчивается через te”-1 — 1) тактов после завершения последовательного приема сообщения.
Этим заканчивается описание метода декодирования.
ЛИТЕРАТУРА
Albert A. A., Fundamental concepts of higher algebra, University of Chicago Press, Chicago.
Васильев Ю. Л., О негрупповых плотно упакованных кодах, Проблемы кибернетики, вып. 8, Физматгиз, 1962, стр. 337—339.
Berlekamp Е. R., Rumsey Н., Solomon G., On the solution of algebraic equations over finite fields, inform, and Control, 10, № 6 (1967), 553—564.
Berlekamp E. R., Algebraic coding theory, McGraw-Hill, New York, 1968. (В издательстве «Мир» готовится русский перевод этой книги.)
Gorenstein D., Peterson W. W., Zierler N„ Two-error correcting Bose-Chaudhuri codes are quasi-perfect. Inform, and Control, 3, № 3 (1960), 291—294. (Русский перевод: Кибернетический сборник, вып. 6, ИЛ, М., 1963.)
Green М. V., Two heuristic techniques for block-code construction, IEEE Trans, on Inform. Theory, IT-12, № 2 (1966), 273.
Johnson S. M„ A new upper bound for error-correcting codes, IRE Trans, on Inform. Theory, IT-8, № 3 (1962), 203—207. (Русский перевод: сб. Теория кодирования, «Мир», М., 1964.)
Nadler М., A 32-point n=12, d=5 code, IRE Trans, on Inform. Theory, IT-8, № 1 (1962), 58.
Nordstrom A. W., Robinson J. P., An optimum nonlinear code, Inform. and Control, 11, № 5/6 (1967), 613—616.
Петерсон У., Коды, испраиляющие ошибки, «Мир», М., 1964.
Preparata F. Р„ Ап alternate description and a new decoding procedure of Nordstrom — Robinson optimum code, Proc. 2nd Princeton Conf, on Information Sciences and Systems, 1968, pp. 131—134.
Preparata F. P., Weight and distance structure of Nordstrom — Robinson quadratic code, Inform, and Control, 12, № 5/6 (1968), 466—473 (cm. также: Исправление, там же, 13, № 7 (1968).)
О проблеме Дедекинда:число монотонных булевых функций1)
Д. Длейтмен
Проблема определения числа ф(п) элементов свободной дистрибутивной структуры с п образующими была поставлена Дедекиндом [1] в 1897 г. Она была им решена для п = 4. Р. Чёрч [2] в 1940 г. и М. Уорд [3] в 1946 г. получили решения соответственно для п = 5 и п = 6.
В 1954 г. Э. H. Гильберт [4] показал, что ф(п) удовлетворяет неравенствам
rl«/2Jr[n/2J
2 " < ф (п)< п п + 2,
где СХп^ — биномиальный коэффициент.
В. К- Коробков в нескольких статьях [5, 8, 9*], опубликованных в 1962—1965 гг., сумел улучшить верхнюю границу для ф(п) до
24,23. С^
В 1966 г. Ж. Ансель [6] понизил верхнюю границу еще дальше, до
В данной статье мы покажем, что 1о£2ф(/г) асимптотически равен СГ1, а именно мы покажем, что
[п/21 п[п/21 пС ф (п) С 2С ф (п) С 2(1 + Рп) сп(1 + Рп) сп
[п/21 п
[п/21 п
С ф (п) С 2
С ф (п) С 2
(1 + Рп) сп
(1 + Рп) сп
„ с'log п где а„ = се-"/4, р„ = —,” .
У п
Число ф(п) равно числу идеалов, или антицепей, или монотонно возрастающих функций со значениями 0 и 1, определенных
на наборах длины п с элементами из f2 = {О, I}1). Здесь идеал —это совокупность 1 наборов, такая, что если ре / и а<р, то а е/; антицепь — это совокупность наборов, никакие два из которых несравнимы. Идеалу может быть однозначно поставлена в соответствие антицепь (его максимальные элементы) и монотонная функция (которая принимает значение О внутри и 1 вне его).
Ж. Ансель разбивал некоторым образом наборы длины п на Сп№ цепей (вполне упорядоченных совокупностей наборов). Затем он определял всевозможные монотонные функции на каждой цепи по очереди. Так как оказалось, что можно не более чем тремя способами определить функции на каждой цепи, он получил следующий результат:
с [«/21ф (/г) ^ 3 " .
Мы также разобьем наборы на цепи и определим монотонные функции на них по очереди. Однако мы будем допускать только два возможных определения на большинстве цепей (асимптотически на всех цепях). Поскольку такая процедура не дает всех возможных функций, повторим ее, используя п\ различных разбиений на цепи и а (/г) различных упорядочений цепей. Докажем затем, что каждая функция получается при этом по крайней мере один раз. Таким образом, мы получим оценку для ф(/г) в виде
ф (п) пл а (п) 2 " .
Ниже дается процедура построения монотонных (со значениями 0 и 1) функций на наборах длины п. Затем доказывается, что каждая функция получается при этом хотя бы один раз.
Для удобства сначала построим монотонные функции на наборах, имеющих не менее /г/2 —т и не более п/2 + т единиц. Такое же построение может быть применено для других интервалов числа единиц; так как каждая монотонная функция монотонна внутри каждого интервала, общее число таких функций не может превысить произведения числа таких функций, полученных для каждого интервала.
Рассмотрим некоторое определенное разбиение Р наборов (с числом единиц в интервале, описанном выше) на С„/21 цепей.
*) В оригинале „иа структуре подмножеств «-элементного множества 8п“. Здесь и в дальнейшем терминология автора заменена терминологией, употребляемой в отечественной литературе. — Прим, перее.
Мы считаем, что каждый член цепи, кроме наименьшего, покрывает другой член). Согласно теоремам Дилворта и Шпернера, такое разбиение существует, а его пример дан Анселем). Пусть л —любая подстановка компонент наборов. Она индуцирует подстановку среди наборов и, следовательно, среди цепей и среди разбиений на цепи. Процедура построения, описанная ниже, будет применена ко всем «! разбиениям, полученным применением всех подстановок л к данному разбиению Р.
Эта процедура включает упорядоченные разбиения на цепи, а именно такие разбиения, как в предыдущем абзаце, в которых группы цепей расположены в определенном порядке. Для каждого разбиения л(Р) мы будем рассматривать некоторое количество различных упорядочений цепей. Зададим сначала особое упорядочение следующим образом. Каждая цепь содержит один набор с [п/2] единицами; мы зададим упорядочение для них и тем самым порядок цепей. Упорядочим наборы аь а:, ..., а г^-1] с [п/2] единицами таким образом, чтобы как можно
дальше наборы aj удовлетворяли условию |иуПаА|<у —т — 1 для всех к из интервала j — I ^k< j). Так как ау при таком ограничении не может совпадать самое большее с
т+1
I 2 С[п/2]Сп-[га/2]г=0
наборами [см. п. 1 дополнений переводчика в конце статьи], можно считать, что ау удовлетворяют данному условию для
j' ^ io = Сп / ' — / 2 С[п/2)Сга-[га/2].г-0
Разобьем целые числа i^j0 на блоки длины /; целые числа между /0 и СГ1 будем рассматривать как отдельные блоки. Возьмем в качестве упорядочений цепей (в упорядоченных разбиениях на цепи, используемых в построении ниже) все
т+1\
[/о/Л + 1+^2 С[п/2]С^-[п/2]
упорядочений блоков цепей, связанных с только что определенными блоками наборов ау. Для каждых пит выберем I так, чтобы минимизировать выписанный выше факториал, минимальное значение факториала будем обозначать через а(п, т).
К каждому из п!а(п, т) упорядоченных разбиений на цеги применим следующую процедуру. На каждой цепи по порядку зададим значения 0 или 1 на каждом наборе любым способом в соответствии с уже выбранными заданиями на предшествующих цепях так, чтобы построенная функция была монотонно возрастающей. Однако рассматривать будем только те функции, в процессе задания которых не более чем на / цепях встречается следующая ситуация: в множестве членов цепи, на которых значения функции не предопределены (то есть еще не определены по монотонности заданием функции на предшествующих цепях), на предмаксимальном члене значение функции положено равным 1. Число функций, построенных согласно этому предписанию, не может превысить величины
dw^^2c« \ (1)
так как на всех цепях (кроме / цепей, на которых функция на этом предмаксимальном непредопределенном наборе может принимать значение 1) можно задать только две функции: на наибольшем непредопределенном наборе может быть положен О или 1.
Желаемый результат (на интервале п/2 —т, п/2 + т) будет получен, если мы покажем, что для некоторого t, такого, что
nia^-OC^/a (2т+ 2)'2е" =2С" ° + о(0),
Сп
будут построены все монотонные функции при помощи процедуры, описанной выше и примененной ко всем вышеописанным упорядоченным разбиениям.
Рассмотрим монотонную функцию / на наборах, число единиц в которых заключено между [п/2] — т и [п/2] + т). Разобьем наборы х, удовлетворяющие условию f(x)= 1, на два класса: х е Ак, если среди наборов у, покрываемых набором х, не более чем k удовлетворяют условию f (у) = 1, и х е Вк в противном случае. Если х е Ак, то не более чем в к[\ х | всех разбиений, описанных выше, набор у, покрываемый набором х и лежащий в цепи, содержащей х, удовлетворяет условию f(y) = 1 [см. п. 2 дополнений], тогда как по крайней мере в 1— к(\х\
всех разбиений для набора у, входящего в цепь с х и покрываемого набором х, будет И^) = 0‘). Последнее будет иметь место, следовательно, по крайней мере для
цепей в неупорядоченных разбиениях. Отсюда следует, что [см. п. 3 дополнений]
- [н/гг-т)1
и поэтому условие
хеАк, х покрывает у, /(</)=!
выполняется в среднем по всем разбиениям не более чем на к (, _ к \~‘ " [»/2]-tV[n/2]-rJ
цепях.
Следовательно, должно существовать разбиение на цепи, в котором это условие выполняется не более чем на
k fi _ к у1п [/г/2]-т^[п/2] —т/
цепях. Выберем одно из таких разбиений Р;. Пусть в дальнейшем х есть наименьший член цепи из Pf, удовлетворяющий условию хеВк. Значение f(x) будет предопределено, если некоторая из цепей, содержащих наборы у, покрываемые набором х и удовлетворяющие условию f(y)=l (таких цепей не менее /г), появится в упорядоченном разбиении раньше, чем цепь, содержащая х. Конструкция блоков, данная выше, обеспечивает то, что никакие два набора, покрываемые набором х, не могут лежать в одном и том же блоке цепей, образованном при формировании упорядоченных разбиений, рассмотренном выше [см. п. 4 дополнений]. Таким образом, набор х будет впереди к цепей, содержащих такие у, не более чем для \]к всех упорядочений. Следовательно, f(x) будет предопределено по крайней мере для ^к—\^1к всех упорядочений разбиения Pf.
Так как имеется самое большее Сп/2! членов Вк, которые являются наименьшими членами цепи с таким свойством, то в среднем по всем упорядочениям число цепей, содержащих наборы х из Вк, такие, что f(x) не предопределено, не более
*) Либо х есть минимальный элемент цепи. — Прим, перев.
4 /-'[^/21 / 1 |4 /-'[^/21 / 1 |/ = cvSm-—( [«/2] - Т)'^/ = cvSm-—( [«/2] - Т)'^С^/21 (1 + СпС^/21 (1 + Спф (/г) ^ 2ф (/г) ^ 21/2 log п)1/2 log п)
4 /-'[^/21 / 1 |
4 /-'[^/21 / 1 |
/ = cvSm-—
( [«/2] - Т)'^
/ = cvSm-—
( [«/2] - Т)'^
С^/21 (1 + Сп
С^/21 (1 + Сп
ф (/г) ^ 2
ф (/г) ^ 2
1/2 log п)
1/2 log п)
чем -^-Сп"/21. Следовательно, должно существовать упорядочение Of, в котором f(x) предопределено в Вк на всех, кроме, быть может,цепях.
Если при построении f на данной цепи предмаксимальному непредопределенному члену приписано значение 1, то наибольший непредопределенный член должен:
либо быть в Ак и покрывать набор, удовлетворяющий условию f(y) = 1,
либо быть в Вк и быть непредопределенным.
По доказанному выше, если выбрано упорядочение Of разбиения Pf, то эта альтернатива может выполняться не более чем на
/1 . к/!
^№НГ [n/2]-rJ /
цепях. Таким образом, для
\п(2\ - т V [«/2] - т ; I
процедура, описанная выше, должна дать все монотонные функции на данном интервале. Оптимальное значение для к здесь приблизительно равно ([п/2] — т)‘/2, так что мы можем
выбрать
Легко убедиться в том, что nA и а(п, т) крайне незначительны по сравнению с (1) при т ~/Д р< 1, и что число монотонных функций в рассмотренном интервале не может превосходить число
^(l+Cn^Iogrt)
Второй член в показателе появляется из выражения (1) при значении t, данном выше [см. п. 5 дополнений].
Подобные рассуждения могут быть применены к вычислению числа монотонных функций на других интервалах числа единиц. Выбирая подходящим образом эти интервалы, можно показать, что рассмотрение остальных наборов дает много меньший вклад в общее число монотонных функций, чем определяемый выше вклад за счет второго члена в показателе [см. п. 6 дополнений]. Таким образом, имеем
Можно легко составить 2 " антицепей, рассматривая все совокупности наборов с [п/2] единицами. Большинство таких антицепей будет содержать приблизительно половину всех наборов с [п/2] единицами и будет содержать наборы, которые покрываются всеми наборами, кроме приблизительно Cn"/2,+1e~n/4 наборов с [п/2] + 1 единицами. Любые из оставшихся наборов с [п/2]+ 1 единицами могут быть добавлены к антицепи. Следовательно,
Д"/2]Л -«мф(п)>2с" U+e С
Эта нижняя оценка может быть улучшена [7].
ДОПОЛНЕНИЯ ПЕРЕВОДЧИКА
Число рассматриваемых наборов, имеющих [п/2] —г общих единиц с набором ак, равно Сг№Сгп_№ (г единиц заменяется О и г нулей заменяется 1). Поэтому ак запрещает ставить на г+1
место Оу не более чем 2 СадСп-упщ наборов. А всего на место Оу г-0
г+1
нельзя ставить не более чем I 2 C[n/2) Cn-(n/2j наборов. г«=0'
Пусть в х' единицы соответствуют компонентам с номерами ц, .... im, а в х — компонентам с номерами /ь ..., jm. Если в первоначальном разбиении на цепи х' покрывает в своей цепи у', а х' и у' различаются на /;-й компоненте, то среди всех подстановок, переводящих х' в х, ц-я компонента будет с одинаковой частотой (в силу симметрии) переходить во все компоненты с номерами jp. Поэтому звено (х\ у') будет с одинаковой частотой переходить во все ребра (х, у\ выходящие из х. Кроме того, V может быть минимальным в своей цепи; тогда при подстановках, переводящих х' в х, из х не будет исходить звено цепи. Отсюда следует нужное утверждение.
При любом разбиении на цепи на каждой цепи не более чем один набор х, такой, что Цх)=\, является минимальным элементом цепи или покрывает в своей цепи набор у, на котором f(i/) = 0. Поэтому при каждом разбиении не более чем CVn№ элементов из Ак покрывают в своей цепи набор у, такой, что /(«/) = 0, или ничего не покрывают. Следовательно,
~ \п12\ - т) ।^С^п!,
откуда по сокращении на п! и получается требуемое неравенство.
4 Зак. 560
Пусть х покрывает ух и у2, а цепи, проходящие через ух
и уь соде Если | х = %| +и уь соде Если | х = %| +ржат наборы с [п/2] единицами соответственно а/ и а1у >[п/2], то at<x и йц-Сх. Так как |%UaJ = “ J -1 at, П “гJ й a. и аи < х, то | a. П aj = | а<_ | + | а^ | -
и уь соде Если | х = %| +
и уь соде Если | х = %| +
- a. UazJ>|aJ + |aj-| я 1> 2 • [п/2] - /г/2 - т >/г/2 - т - 1. Если |х|^[п/2], то ух и у2 покрывают один и тот же набор z. Так как а; Па, ^z, то | а,, П aZs | ^= 12: | >п/2 — т — 1. Таким образом, в любом случае цепи, содержащие ух и у2, лежат в разных блоках.
Произведем указанные вычисления:
.,logn\
log п\ < п • log п = О Сп ■ —.
V уп /
Оценим loga(n, г). Легко получить, раскрыв факториалы в формуле СГ = (o^l(^™^)i по формуле Стирлинга, что СТ = (1 + у)", ил
где у->0 при а->0. Так как т/п->0, то R = 2 СадСгп-ад ^ г=0
<(т + 2)(С^'га/2])2 ~ «Р(1 + у)" = (1 +6)", где у-+0 и 6-+0 при
£ = [4] + ! + ^ ^ "^^ + ^ ~ 2 ^С» 2'^
Отсюда
loga(n, т)<£ log £^2 Vd^R ^п =
_rW\ , Г R --/z>№ log n \
" \ c^21
так как /? = (1 +6)".
,, c[«/2]
log(T+ l/ = Hog(T-|-log(T+ l/ = Hog(T-|-Упростив (1), получим С„[п/2) (т + 1) 2 " . Имеем
log(T+ l/ = Hog(T-|-
log(T+ l/ = Hog(T-|-
~ СТ -4= ₽ log » ~ С‘"/2'.
/^Vn
При а-*оо и Ь = о (а) находим log Са ~ b logy, что также легко получить, используя формулу Стирлинга. Отсюда
Сп'АC2)ogn
log dc\«m - Hog C‘"/2' V - - log П - C^21.
ил‘n 2V n.
Рассмотрим все наборы с числом единиц вне интер
/,[n/2J—т
вала (у-т, у + т). Их число не более чем 2 2 С«<
< 2 • ([я/2] - т + 1) Ctnn/21"\ Имеем'
(Ап^-х ([л/2] — Т + 1) • ... -^j
_lа . а + \
Так как при а<о имеем т<т~?> т0 го о + 1
Anto-x (
р[п/2]I Л , IIп I
"\Т + т/\y + V
При т ~ «Р и ₽>у находим
20 |п/2}-тв
2 У c;«2([n/2i-,?4i).(-^«r,wl с™^^
г=о*
ЛИТЕРАТУРА1)
Dedekind R., Uber Zerlegungen von Zahlen durch ihre grossten ge- meinsamen Teilor, Festschrift Hoch. Braunschweig u. ges. Werke, II, 1897, S. 103—148.
Church R., Numerical analysis of certain free distributive structures, Duke Math. J., 6 (1940), 732—734.
Ward M., Note on the order of free distributive lattices, Abstract 135, Butt. Amer. Math. Soc., 52 (1946), 423.
Gilbert E. N., Lattice theoretic properties of frontal switching functions, J. Math. Phys., 33 (1954), 57—67. (Русский перевод: Гильберт Э. Н., Теоретико-структурные свойства замыкающих переключательных функций, Кибернетический сборник, вып. 1, ИЛ, М„ 1960.)
’) Работы, отмеченные звездочкой, добавлены при подготовке русского перевода. — Прим, ред,
К о р о б к о в В. К., О монотонных функциях алгебры логики, сб. Проблемы кибернетики, вып. 13, изд-во «Наука», М., 1965, стр. 5—28.
Hansel G., Sur le nombre des fonctions booleennes monotones de n variables, C. R. Acad. Sci. Paris, 262 (1966), 1088—1090. (Русский перевод: А и сель Ж-, О числе монотонных булевых функций п переменных. Кибернетический сборник, новая серия, вып. 5, «Мир», М., 1968.)
Yamamoto К-, Logarithmic order of free distributive lattices, J. Math. Soc. Japan, 6 (1954), 343—353.
. Коробков В. К., К вопросу о числе монотонных функций алгебры логики, Дискретный анализ, вып. 1, 1963, сборник трудов Института математики СО АН СССР.
. Коробков В. К., Оценка числа монотонных функций алгебры логики и сложности алгоритма отыскания разрешающего множества для произвольной монотонной функции алгебры логики, ДАН СССР, 150, № 4 (1963), 744—747.
Время,требующееся для умножения в группе1)
Ф. М. Спира
В работах Винограда [1, 2] было исследовано времи, требующееся для выпслнеиия сложения и умножения натуральных чисел и для выполнения умножения в группе логической схемой из элементов с ограниченным числом входов и задержкой, равной 1. В данной статье принята та же саман модель. Получена новая нижняя оценка для умножения в группе, совпадающая для абелевых групп с оценкой Винограда, но, вообще говоря, более сильная. Приводится также схема для выполнения умножения, которая в отличие от схемы Винограда может использоваться и для иеабелевых групп. В случае абелевой группы эта схема оказалась по крайней мере столь же быстрой, как и схема Винограда. Следуя его методу применения схемы, построенной для абелевой группы, оказывается возможным также понизить верхнюю оценку времени, требующегося для выполнения сложении- и умножения натуральных чисел.
МОДЕЛЬ
Принятая нами модель —по существу модель Винограда [1,2]. Мы рассматриваем логические схемы, построенные из элемег- тов, каждый из которых имеет не более г входных линий, одну расщепляемую выходную линию и задержку при вычислении выхода, равную 1. По каждой линии переда отся значения из множества Zd = {0, 1, ..., d — 1). Входные линии схемы разбиваются на п множеств; через 1С1! обозначается множество всевозможных наборов значений на входах /-го множества (/=1, 2, ..., п). Через Ос обозначается множество всевозможных наборов значений на выходных линиях схемы. Такая схема называется (d, г)-схемой.
Определение 1.1. Пусть ф: А^ХА^Х ... ХХ^У- функция, определенная на конечных множествах. Говорят, что схема С вычисляет ф в момент времени т, если существуют отображения gf. X j -+1С. у (/ = 1, 2, ..., и) и взаимно однозначная функция А: У -> Ос, такие, что если С с момента времени 0 и до момента времени т—1 получает постоянный вход [g] (xj, ,.. ..., gn(xn)j, то ее выход в момент времени т есть А(ф(х хп)).
•) Spira Ph. М., The time required for group multiplication, Journal of the Association for Computing Machinery, 16, № 2 (1969), 235—243.
ОСНОВНАЯ ЛЕММА
Здесь мы получим общую нижнюю оценку времени работы (с/, г)-схемы, вычисляющей заданную конечную функцию ф. Эта оценка проясняет метод, лежащий в основе результатов Винограда. Она зависит от свойств выходного кода h, введенного в предыдущем разделе, и использует новое понятие, которое мы здесь вводим, — понятие разделимых множеств. Сначала необходимо дать некоторые предварительные определения.
Определение 2.1. Пусть ]х[ обозначает наименьшее целое число, большее или равное х; пусть [х] обозначает наибольшее целое число, меньшее или равное х; пусть | S | обозначает мощность множества S.
Определение 2.2. В любой (d, г)-схеме всегда, когда выходной набор значений есть А (г/), через НДу) будем обозначать значение на /-й выходной линии.
Определение 2.3. Пусть ф: X, X ... X А„-> У, и пусть С вычисляет ф. Тогда S^Xm называется ^/-разделимым множеством для С в m-м аргументе ф, если для любых двух различных элементов $, и s2 из S мы можем найти х,, х2, ..., хт_,, хт+1, ..., хп, где х^Х,, такие, что
А/ (ф(^1хт_и s,, xm+I, . .., хп))#=
Мф(хИ . • •> ^-m-b ^2> ^-т+Ь • • ч хпуу
Лемма 2.1. В (d, гУсхеме выход любого элемента в момент времени т может зависеть не более чем от гх входных линий.
Доказательство. Достаточно рассмотреть древообразную схему глубины т из элементов с г входными линиями'). ►
Это наблюдение, сделанное сначала Виноградом, в совокупности с понятием разделимых множеств позволяет доказать следующую лемму.
Лемма 2.2 (основная лемма). Пусть С есть yd, гУсхема, вычисляющая ф в момент времени т. Тогда
т>шах{ ]logr( ]logd|S,(/)| [+ ... +] logd | S„(j) | [ )[ }, i
аде 5г (/) есть Неразделимое множество для С в i-м аргументе ф.
Доказательство. В момент времени т /-я выходная линия должна зависеть не менее, чем от ] logd| St(j) |[ входных
*) Знак ► означает конец доказательства. — Прим, персе.
линий, определяющих 1С1Ь так как в противном случае в ЗД/) нашлись бы два элемента, которые не были бы Ау-раздели- мыми. Таким образом, /-й выход зависит не менее чем от ] logd| 3, (/)| [ + ... + ] logd| Зп(/)| [ входных линий, а это число не превосходит гт. ►
С помощью леммы 2.2 мы раскроем ход рассуждений, который в изложении Винограда, посвященном времени сложения и умножения, выражен не в столь явной форме. За счет этого в оставшейся части раздела мы не только быстро получим некоторые результаты Винограда, но и дадим более глубокий анализ других понятий и исследуем значительно более широкий класс функций впоследствии.
Следствие 2.1. Пусть ф: ZNX ZN->$, 1} есть
1 1, если х^/',ф(х, у) = < _'
( 0, если х> у.
Тогда если С есть (d, г)-схема, вычисляющая ф в момент времени т, то т >] logr 2] logd N [ [.
Доказательство. Возьмем /, такое, что Ау (0) =И= Ay (1). Тогда ZN есть Ay-разделимое множество для С в обоих — первом и втором —аргументах ф, так как если х>у, тоф(х, у)=#ф(у, у) и ф(х, у) =# ф(х, х). ►
Следствие 2.2. Пусть ф: ZNXZN-*ZN есть
Ф(хь Х2) = [Х,Х2/^.
Тогда если С вычисляет ф в момент времени т, то r>]logr2] logd[У/а][[.
Доказательство. Возьмем /, такое, что А;-(0) =И= Ay (1). Пусть ш = [У/8]. Тогда (1, 2, ..., т} есть Ay-разделимое множество для С в обоих аргументах Ф, так как для каждой пары х, у, в которой х<у и х, у^{1, 2, ..., т), мы можем выбрать weZN, такой, что xw <N ^yw <2N, с тем, чтобы получить ф(х, щ) = 0, ср(у, ш)=1. В силу симметрии это утверждение верно также и для второго аргумента. Применение леммы 2.2 завершает доказательство. ►
Данный раздел мы закончим примером, который показывает, что размеры разделимых множеств могут сильно зависеть от выходного кода схемы, вычисляющей заданную ф.
Пример 2.1. Пусть ф: ZnX Zn^Zn1 есть умножение натуральных чисел, причем N = 28. Рассмотрим выходной код,
при котором всегда, когда выход равен М, i-я выходная линия передает z-ю цифру двоичного представления М. При этом имеется шестнадцать выходных линий. Возьмем произвольную пару х, у, в которой х =/= у и х, y^ZN. Двоичные представления этих чисел отличаются хотя бы в одном разряде, скажем в ^-м. Выберем z = 28-fe. Тогда й8(ф(</, z)) У= й8 (ф (х, z)) и й8(ф(г, «/)) #= й8 (ф (z, -v))- Таким образом, существует ^-разделимое множество в обоих аргументах ф мощности 28.
Рассмотрим теперь ту же самую ф, но в качестве выходного кода для z возьмем набор двоичных представлений показателен степени в разложении z на простые сомножители. Пусть первые шесть выходных линий ’) используются для кодирования показателя степени числа два в результате. Возьмем х, y^ZN, такие, что х и у в разложении на простые сомножители содержат различные степени числа два; пусть, например, показатели этих степеней при двоичном представлении отличаются в й-м разряде. Тогда, полагая г =23-\ получаем Мф(*. z)) =£ А3(Ф{у, г)) и й3(ф(г, х)) ^ А3(ф(z, г/)). Таким образом, поскольку элементы из ZN могут иметь в разложении на простые сомножители восемь различных степеней числа два, существует /г3-разделимое множество в обоих аргументах ф мощности 8. Поскольку число два — наименьшее простое число, то, как нетрудно заметить, это максимальный размер разделимого множества. Отметим, однако, что для этого выходного кода требуется тридцать девять выходных линий.
ОБЗОР РЕЗУЛЬТАТОВ
Рядом авторов исследовалось время, необходимое для выполнения (d, г)-схемой сложения по модулю N. Офман [3] построил схему для частного случая N = 2п. Важные результаты получил Виноград [1, 2]. Он установил нижнюю оценку, которую мы здесь приведем, и построил (d, г)-схему с временем работы, близким к нижней оценке. Поскольку любая конечная абелева группа является прямым произведением циклических групп [4, стр. 50], результаты Винограда применимы также и к умножению в абелевой группе.
Определение 3.1. Пусть Я —группа. Говорят, что Н обладает свойством Р, и пишут Р (/?)=!, если существует элемент а^Н, причем а^е, такой, что каждая нетривиальная подгруппа группы Н содержит а. Последнее обозначается в виде
По-видиному, многие числа ■ W0M абзаце указаны автором неверно. — Прим, перев.
Р(а, //)=1. Через a(G) обозначим максимальный порядок H^G, такой, что Р(Я)=1.
Лемма 3.1 (Виноград [1]). Если G —абелева группа, то a(G) равно максимальному, являющемуся степенью простого числа порядку циклической подгруппы, содержащейся в G.
Доказательство см. в работе [1]. ►
Теперь мы полностью охарактеризуем a(G).
Определение 3.2. Обобщенной группой кватернионов Qn называется группа порядка 2" с двумя порождающими элементами а и Ь, удовлетворяющими соотношениям
= е; ^2 = a2"-2. Ьа = а~1Ь.
Теорема 3.1. р-группа содержит единственную подгруппу порядка р тогда и только тогда, когда она является циклической или обобщенной группой кватернионов. (Если р нечетно, то она должна быть циклической.)
До к а з а те л ь ст в о см. в работе [4, стр. 211]. ►
Следствие 3.1. Пусть G — произвольная конечная группа. Тогда a(G) равно либо порядку наибольшей циклической р-под- группы группы G, либо порядку наибольшей обобщенной группы кватернионов, содержащейся в G, а именно тому из них, который больше.
Доказательство. Пусть // — произвольная подгруппа группы G. Если Р(Н) = 1, то | Н\ = рп для некоторого простого числа р, так как в противном случае нашлось бы другое простое число q, делящее | Н |, и, следовательно, нашлись бы элементы и и и из Н с порядками о(и) = р и o(u) = q'). Но тогда подгруппа (и)П(у) содержала бы только единицу. Итак, принимаем \Н\ = рГ1. В таком случае каждая нетривиальная подгруппа группы Н содержит подгруппу порядка р. Таким образом, Р(Н)=\ тогда и только тогда, когда Н содержит единственную подгруппу порядка р, т. е. Н является циклической группой или обобщенной группой кватернионов. ►
Величина a(G) играет решающую роль в нижней оценке Винограда для времени умножения в группе. Эту оценку мы сейчас приведем. В разд. 4 мы дадим новую нижнюю оценку, которая, вообще говоря, выше оценки Винограда, но в случае абелевой группы совпадает с ней.
■) См., например, [4, стр. 54]. — Прим. черев.
Теорема 3.2 (Виноград [1]). Пусть G — произвольная конечная группа. Пусть С есть (d, гУсхема, вычисляющая ф: G XG ->G, где ф(а, b^ = ab. Тогда для выполнения вычислений схемой С требуется время т, где
T>]logr 2] logda (G) [ [.
Доказательство см. в работе [1]. ►
Виноград указал также способ построения схемы для выполнения умножения в абелевой группе G с временем вычисления
Т = 2 + ] 10g[(r+1)/2) ] -р^ 1 10&d “ (°) I [ [ •
причем этот способ применим при г^З и d^2. Мы дадим совершенно другой метод построения схем, который применим при г^2 и d^2 и действует независимо от того, является ли группа абелевой или нет. Более того, для любой заданной абелевой группы и для любых заданных d и г время вычисления у нас окажется меньше, чем у Винограда.
НИЖНЯЯ ОЦЕНКА
В этом разделе мы дадим новую нижнюю оценку времени, требующегося для выполнения умножения в группе (d, г)-схе- мой, и сравним ее с оценкой Винограда. Пусть О—произвольная конечная группа, ф: G X G -> G — умножение в группе и С есть (d, г)-схема, вычисляющая ф. Обозначим через A/(g) значение на /-й выходной линии схемы С при выходе, равном h(.g\
Определение 4.1. Пусть х, yeG. Будем говорить, что х и у являются /^-эквивалентными, если при всех g^G выполняется равенство А/ (xg) = h; (yg), и будем говорить, что они являются /./-эквивалентными, если при всех geG выполняется равенство A/(gx) = hj (gy). Ясно, что Rj и Ц являются отношениями эквивалентности. Класс, /^/-эквивалентный элементу g, будем обозначать через Rj(g), а класс, /./-эквивалентный элементу g,— через /-/(g).
Лемма 4.1. Классы Rj = Rj(e) и Lj = Lj(e} являются группами для всех выходных линий схемы С. Более того, для любого geG справедливы соотношения Rj(g) = Rjg и Lj(g) = = gLj.
Доказательство. Допустим, что a, be^Rj. Пусть с — произвольный элемент из G. Тогда hj(ab~lc) = hj(bb~'c) = Н/(с). Следовательно, ab~x ^ Rj и R( является группой. Возьмем теперь произвольный geG. Тогда d^R^g) в том и только том случае, если НДйс^ = h^gc^ при всех ceG. Но последнее имеет место тогда и только тогда, когда Н( (dg-'c) = hj (с), т. е. dg-' е Rj. Вторая половина леммы доказывается двойственным образом. ►
Максимальные разделимые множества выявляются с помощью следующей леммы.
Лемма 4.2. Неразделимое множество максимальной мощности в первом аргументе ф содержит в точности по одному представителю из каждого правого смежного класса по подгруппе Rj в G. Таким образом, его мощность равна | G |/| R; |. Двойственный результат имеет место для разделимых множеств во втором аргументе.
Доказательство следует непосредственно из леммы 4.1. и определения разделимых множеств. ►
Теперь мы имеем все необходимое для получения нижней оценки, зависящей от выходного кода.
Лемма 4.3. Пусть С есть (d, гУсхема, предназначенная для умножения в группе G за время т. Тогда
* > ™ах I1»®' (]'°^ wl+I106- wDl ■
Доказательство непосредственно следует из лемм 2.2 и 4.2. ►
Оценка по всем кодам получается путем минимизации максимальных размеров Rj н Lj для заданной группы G.
Определение 4.2. Если G = (e), то положим 6(G)=1. В противном случае пусть 6(c) обозначает максимальный порядок подгруппы G, не содержащей с. В этом случае положим 6(G) = min 6(c).
ceG\{e)
Поскольку мы имеем дело только с конечными группами, величина 6(G) всегда определена и конечна. Заметим, что если Р(а, G) = I, то 6(a) =1 и, таким образом, 6(G) =1. Отметим также, что если 6 — нетривиальная группа и P(G)=#1, то всегда 6(G)>1. Впоследствии нам понадобится следующая простая лемма.
Лемма 4.4. Пусть Н и К — подгруппы конечной группы G, такие, что Н П ^ = Хе\ Тогда | Н 11 К I ^ I G |.
Доказательство. Пусть A,, А2 е // и Аь А2 G К, такие, что А,А, = А2А2. Тогда h.2Xhx = А^'е Н П К. Следовательно, А, = = А2 и А, = А2. Таким образом, |{АА: h^H, к е /(}|^|//|| К |. Но ведь {АА: А е Н, ке К^ также является подмножеством группы G. ►
Важнейшим для нас свойством величины 6(G) является следующее.
Лемма 4.5. Для любой конечной группы G справедливо соотношение a(G)6(G) ^| G |.
Доказательство. Если 6(G)=1, то лемма, очевидно, верна. Поэтому предположим, что 6(G)^l. Возьмем Н с G и а^Н, такие, что а^=е, Р^а.Н^Х и |/7| = a(G). Выберем подгруппу К с G, такую, что афК и |/С | = 6(a). Тогда, поскольку НПК является подгруппой группы G, не содержащей а, имеем Н П К = {е}. Следовательно, по лемме 4.4 и с учетом того, что 6(G) ^6 (а), имеем a(G)6(G)^a(G)6(a) = = |tfMI<|G|. ►
Теперь может быть установлена универсальная нижняя оценка для произвольной (с/, г)-схемы, выполняющей умножение в конечной группе G.
Теорема 4.1. Пусть G — конечная группа, <р: G X G -*G — умножение в группе и С есть (d, г)-схема, вычисляющая <р, причем d^2 и г ^2. Тогда, если время вычисления схемы С есть т, то
т^]1оёг2]^^[[.
Доказательство. Допустим, что 6(G)>1, и выберем aeG, такой, что б (a) = 6(G). Найдется выходная линия схемы С, скажем /-я, такая, что АДе^А^а). Но тогда оба класса R; и Ls являются подгруппами группы G, не содержащими а. Следовательно, их порядки не превосходят 6(G). Таким образом, в этом случае утверждение следует из леммы 4.3. Если 6(G)= 1, то либо G = {e}> либо |G| = a(G). В первом из этих случаев теорема устанавливается тривиально. Во втором случае выберем g е G, такой, что P^g, G)=l, и возьмем выходную линию, скажем z-ю, такую, что АДе^АД^). Тогда Ri = Lj = \e\ и утверждение снова следует из леммы 4.3. ►
Лемма 4.5 показывает, что эта нижняя оценка не слабее результата Винограда, сформулированного в теореме 3.2;
в действительности же, как показывает следующий пример, эта оценка сильнее.
Пример 4.1. Пусть р — нечетное простое число. Тогда существует группа с тремя образующими а, b и с и определяющими соотношениями [4, стр. 63]
ар = bp = ср = е, ab = bac, са = ас, cb = Ьс,
не содержащая элементов порядка р2. Нетрудно показать, что любая ее подгруппа порядка р2 обязана содержать с. Таким образом, 6(О) = 6(с) = р. Но ясно, что a(G) = p. Поэтому а (О) 6(0) <| О |. Тем не менее в одном важном случае обе оценки совпадают.
Лемма 4.6. Пусть G — конечная абелева группа. Тогда a(G)6(G) = | G |.
Доказательство. Согласно теореме о разложении абелевой группы [4, стр. 50], имеем G = ZxX ... X Zn, где каждое Zt является циклической р-группой; пусть, например, | Zz | = р?. Без ограничения общности будем считать, что
Kj^p'^pV-
Если и=1, то теорема верна, так как Р(О)=1 и 6(0)= 1. Допустим, что п>1, и пусть а, порождает Z((i= 1,2, ...,п). Теперь если мы выберем произвольный g=£e,
g = №- .... а»,
у которого хотя бы один из показателей степени, скажем kb отличен от 0, то окажется, что
£ £ fll zAx <ej,\l=i /
где et —единица группы Zz. Отсюда в силу (•) следует, что пп
6(g)>TI р^ >П р?.i+t '/-2 1
/ =i
Таким образом,
6(G) > Пр?-
п
Однако любая подгруппа, порядок которой больше П Р?. °бя- /-2 1
зана пересекаться с Zx нетривиальным образом и поэтому
должна содержать
-(а^'"', е2, ..ej ^ {ej XZ2X ...XZn.
Таким образом,
6(G)6(G)/-2/-2
6(G)
6(G)
/-2
/-2
В целях полноты изложения мы приведем здесь несколько примеров неабелевых групп Gb для каждой из которых a (Gz) б (00 = 10,1.
Пример 4.2. Пусть р — нечетное простое число. Пусть О ,— группа с образующими а и 6 и определяющими соотношениями [4, стр. 63] ар2 = Ьр = е; b~'ab = а1+р. Тогда а(О0 = р2 и любая подгруппа порядка р2 обязана содержать ар.
Пример 4.3. Пусть G2 — прямое произведение двух групп А и В, таких, что а(Л)6(Л) = | А |; а (В) 6(B) = | В |. Тогда нетрудно заметить, что
а(02) = max {а(Л), а(В)}; 6(02) = min{|В|6(Л), |Л|6(В)}
и, таким образом, а(О2)6(О2) = | 021. В частности, эти свойства имеют место, если 02 неабелева, но все ее подгруппы инвариантны [4, стр. 213].
СХЕМА ДЛЯ УМНОЖЕНИЯ В ГРУППЕ
В этом разделе мы дадим метод построения (d, г)-схемы для умножения в произвольной конечной группе G, применимый при d^2 и г^2. Время вычисления такой схемы самое большее на единицу превосходит только что полученную нижнюю оценку. Если G —абелева группа и г^З, то нашу схему можно сравнить со схемой Винограда. Можно заметить, что время вычисления у нашей схемы меньше, чем у схемы Винограда, и что на самом деле мы можем указать группу, для которой разность между этими значениями времени произвольно велика.
Лемма 5.1. Пусть К — произвольная подгруппа группы G. Тогда существует (d, гУсхема, вычисляющая ф: G X G-*{0, 1], где
Ф(а, 6) =Ф(а, 6) =О, если ab е К,
Ф(а, 6) =
Ф(а, 6) =
если ab ^ К.
за время ’)
т = 1 + ]logr ] ^ ]log„ -Lj [[[.
Доказательство. Пусть Af = |G|/^|. Для каждого правого смежного класса по подгруппе К в группе G возьмем по представителю у^Ду.. Тогда {ff1} будет множеством представителей левых смежных классов, так как угхД = иу'Д тогда и только тогда, когда у^^1 s К- Возьмем отображение гх группы G в множество ]logdAf[-HHx векторов над Zd, такое, что Zi (gj) = гх (g2) тогда и только тогда, когда Дёх = Де2. Затем определим другое отображение z2 посредством равенства 2] (g)®22(g-1) = 0, где 0 —вектор, все координаты которого равны 0, а ф — операция покомпонентного сложения по модулю d. Заметим, что z2 отображает любые два элемента из одного левого смежного класса в один и тот же вектор. В первом ярусе схемы содержится j-j^-Hogd М[[ однотипных элементов. При вычислении ab каждый из этих элементов складывает [г/2] компонент векторов z,(a) и z2^ по модулю d (последний сумматор складывает менее [г/2] компонент, если [г/2] не делит М). Выход элемента равен 0, если для всех пар входных компонент суммы сравнимы с 0 по модулю d. В противном случае выход равен 1. Таким образом, выходы всех элементов равны 0 тогда и только тогда, когда существует /, такое, что аеДи( и Ьеу~'Д. Оставшаяся часть схемы представляет собой „дерево" из элементов с г входами. Ее выход равен 0, если все входы равны 0, и равен 1, если хотя бы один вход отличен от 0. Глубина этого дерева равна ]logr ]-p2j ]l°ga ^l[[' Таким образом, схема вычисляет ф за время
т = 1 +]logr ]-[^2r]logdM[[[.
Следствие 5.1. Для любого о е G существует (d, г)-схема с тем же временем вычисления, которая определяет, выполняется ли соотношение аЬеДу.
]!<>li.}<>e.,$[[-]!<>li.}<>e.,$[[-Определение 5.1. Полным множеством подгрупп группы G называется такое множество {Л/} подгрупп, для которого ПК/ = {е}.
]!<>li.}<>e.,$[[-
]!<>li.}<>e.,$[[-
*) В первоначальной формулировке леммы было т = 1 + Улучшение было указано автору Виноградом.
Лемма 5.2. Если {К Ц —полное множество подгрупп группы G, то для любого oeG знания правых смежных классов, содержащих а, достаточно для определения а.
Доказательство. Q^a) = ^Q^a = а. ►
Отметим, что полное множество подгрупп существует для любой группы G; таким, например, является множество, состоящее из единственной подгруппы {е}. Если P(G)#=1, то существуют также и другие полные множества.
Лемма 5.3. Пусть ^J — полное множество подгрупп группы G. Тогда существует (d, гУсхема, выполняющая умножение в группе G за время
,-1+тах
Доказательство следует из леммы 5.1, следствия 5.1 и леммы 5.2. ►
Теперь мы в состоянии доказать следующую теорему.
Теорема 5.1. Пусть G — произвольная конечная группа. Тогда для любых d"^2 и г ^2 существует (d, гУсхема, выполняющая умножение в конечной группе G за время
т = 1 + ] log, ]-^- ] logd у(ёу[[[ •
Более того, время вычисления схемы превосходит нижнюю оценку не более, чем на одну единицу времени.
Доказательство. Допустим, что 6(G)>1. Для любого geG, g^=e, существует подгруппа Kg порядка 6(g), не содержащая g. Таким образом, {Kg: g е G \ (е)} есть полное множество подгрупп, для которого min {| Kg |: g е G \ {е}} = 6(G). Если же 6(G)=1, то мы пользуемся полным множеством, состоящим из {е}. Второе утверждение теоремы следует из того, что при г>2 имеем
]logr ] W ]1о^ х [[[^ 11о^ 211о^х tt- ►
Следствие 5.2. Если G — абелева группа или если 6(G) — 1, то существует (d, гУсхема, выполняющая умножение в группе G за время
-г = 1 + ] log, ] -^ ] logd a (G) [ [[.
Как уже отмечалось, схема Винограда для абелевой группы G требовала времени
T = 2 + ]log,(r+I)/2]]-^]logda^
Поскольку при г^З имеем
[(г+1)/2]<г, отсюда следует, что время вычисления у нас меньше, чем у Винограда.
Пример 5.1. Возьмем, скажем, г = 4 и ] logda (G) [ = ^ для некоторого к^\. Тогда время вычисления у Винограда будет равно 2 + 2/?, а у нас равно 1 4-к, т. е. его схема будет требовать вдвое большего времени. Читатель легко сможет построить самостоятельно подобные примеры.
Виноград [2] распространил свои результаты, полученные для группы, на сложение и умножение натуральных чисел, заметив, что схема, выполняющая умножение в циклической группе порядка 2^—1, может также складывать пару чисел, заключенных между 0 и N, и что умножение натуральных чисел может выполняться путем сложения показателей степени в разложениях обоих сомножителей на простые множители. Поскольку мы сумели понизить время, необходимое для умножения в циклических группах, мы можем также соответственно уменьшить время для сложения и умножения натуральных чисел. Мы представим этот результат на основе определений Винограда. Читателя, который заинтересуется подробностями взаимосвязи между умножением в группе и двумя другими операциями, мы отсылаем к исходной статье Винограда.
Определение 5.2. При любом целом m положим Qm = = н. о. к. {1,2т} и у (М) = min {m: Qm ^ М).
Теперь, следуя методу применения верхней оценки для времени умножения в группе, предложенному Виноградом, мы воспользуемся следствием 5.2 и получим теоремы 5.2 и 5.3.
Теорема 5.2. Пусть ср: ZN X ZN -> Z1N_X есть ф(а, b) = a + b. Тогда существует Ц, гУсхема, вычисляющая ф за время
тф= 1 + ]dogr ]-^] logd у (2/V - !)[[[; r>2, d^2.
Теорема 5.3. Пусть ф: {1,2, ..., N} X {1, 2, ..., N} -* ->{1,2, ..., N2^ есть ^(а, b) = ab. Тогда для любых г ^2 и d^2 существует (d, гУсхема, вычисляющая \р за время
Тф= 1 + ]logr ] j^y] logdy(2[log2^- !)[[[.
6 Зак. 560
В заключение для справки отметим, что Виноград оценил снизу тф и Тф следующим образом.
Теорема 5.4 (Виноград [2]). При любых d^2 и г^2 для любой (d, гУсхемы, вычисляющей ф, требуется время тф, где
S>]logr2]logdy(]4[)[[.
а для любой (d, гУсхемы, вычисляющей ф, требуется время
тф > ] logr2 ] logd у (] ^^У1 [) [[ -
О близости результатов, сформулированных в теоремах 5.2
и 5.3, к этим нижним оценкам говорит тот факт, что у(4х)^ <2 + у(х).
Автор выражает глубокую признательность за помощь своему научному консультанту проф. М. А. Арбибу, а также благодарит д-ра С. Винограда за весьма полезные обсуждения.
ЛИТЕРАТУРА
Winograd S„ On the time required to perform addition, J. ACM, 12, № 2 (1965), 277—285. (Русский перевод: Виноград С., О времени, требующемся для выполнения сложения, Кибернетический сборник, новая серия, вып. 6, «Мир», М., 1969, стр. 41—54.)
Winograd S., On the time required to perform multiplication, J. ACM, 14, № 4 (1967), 793— 802. (Русский перевод: Виноград С., О времени, требующемся для выполнения умножения, Кибернетический сборник, новая серия, вып. 6, «Мир», М., 1969, стр. 55—71.)
О ф м а н Ю. П., Об алгоритмической сложности дискретных функций, ДАН СССР, 145, № 1 (1962), 48—51.
Холл М„ Теория групп, ИЛ, М., 1962.
Алгоритм Гаусса не оптимален)
Шт рассек
Ниже мы приведем алгоритм для вычисления элементов произведения двух квадратных матриц А и В порядка п по заданным элементам матриц А и В с числом арифметических операций, меньшим чем 4,7 • п)°87 (все логарифмы в этой статье берутся по основанию 2, так что log 7 ~ 2,8; обычный метод требует приблизительно 2п арифметических операций). Этот алгоритм индуцирует алгоритмы для обращения матрицы, для решения системы п линейных уравнений с п неизвестными, для вычисления детерминанта порядка п и т. д. Все они требуют меньше чем const-nlog7 арифметических операций).
Этот результат следует сопоставить с результатом В. В. Клюева и Н. И. Коковкина-Щербака [1] о том, что алгоритм Гаусса для решения систем линейных уравнений является оптимальным, если допускаются лишь операции над целыми строками и столбцами. Заметим также, что Виноград [2] модифицирует обычные алгоритмы для умножения матриц, обращения их и решения систем линейных уравнений, используя около половины умножений по сравнению со сложениями и вычитаниями 3).
Определим алгоритмы ат, ъ которые перемножают матрицы порядка m211, индукцией по k;am,Q—это обычный алгоритм для умножения матриц, требующий /и3 умножений и m2(m— 1) сложений. Если amife уже определен, то am, *+1 определим следующим образом.
А =А =Для умножения матриц А и В порядка m2fe+l запишем их в виде ^11_/^ц 612\/Си С,2
А =
А =
^22 /\ °21°22/\ь21^22
где Aih Bih Сц — матрицы порядка пг2к. Используя алгоритм am-fc для умножения и обычные алгоритмы для сложения и вычитания матриц порядка m2*, вычислим:
I = (Л] ] + А22) (В] । + В^),
II = Иг! + ^22) 5ц,
Ш = Д„(В12-В22), 1У=Л22(-ВИ + В21), V = (Лц + И12) В22, ■У1 = (-Л„ + Л21)(в11 + В12)>
УП = (Л12-Л22)(В,, + В22),
Си = 1 + IV — V + VII,
С21 = II + IV,
С12=Ш + У, С22 = 1 + Ш-П + У1.
Индукцией по к легко установить следующие утверждения.
Утверждение 1. Алгоритм am- k вычисляет произведение двух матриц порядка пг2к с птПк умножениями и (5 + m) m27fc — — 6 (m2fe)2 сложениями и сычитаниями чисел.
Таким образом, умножение двух матриц порядка 2к возможно с 7к умножениями и менее чем 6 • 7к сложениями и вычитаниями.
Утверждение 2. Произведение двух матриц порядка п можно вычислить менее чем с 4,7 -п10®7 арифметическими операциями.
Доказательство. Положим
£ = [logrt —4], пг = 1п2-к^ + 1.Тогдаn<tm2fe.
Погружая матрицы порядка п в матрицы порядка пг2к, сводим нашу задачу к оценке числа операций в алгоритме am>*.
Алгоритм Гаусса не оптимален
Из утверждения 1 следует, что это число равно (5 + 2m)m27ft-6(m2fe)2<
<(5 + 2(n2"fe+ 1))(га2~4 1)V< < 2га3 (7/8)fe + 12,03ra3 (7/4)fe <
(здесь мы пользуемся тем, что 16-2*<га)
< (2 (8/7),og п"к + 12,03 (4/7)1ог п"^ г№ 7 <
< max (2 (8/7)4 12,03(4/7)<)га|°8 7 ^
4s£t<5
<4,7 ■ п^
из соображений выпуклости.
Перейдем теперь к обращению матриц. Для приложимости наших алгоритмов требуется предположить не только обратимость матрицы, но и то, что появляющиеся деления имеют смысл (аналогичное предположение необходимо, конечно, и для алгоритма Гаусса). .
Мы определим алгоритмы рт, ь которые обращают матрицы порядка m2*, индукцией по к: рт,0 —это обычный алгоритм Гаусса; алгоритм pm, k уже определен; теперь определим pm, t+t следующим образом.
Если Л —матрица порядка гаг26+1, для которой необходимо найти обратную, то запишем
Лц Л12
21^2221^22Л21 Л22
21^22
21^22
где Ам, Сц — матрицы порядка тйк. Используя ат,к для умножения, pm, к для обращения и обычные алгоритмы для сложения и вычитания матриц порядка т2к, вычисляем:
С12 = III • VI, С21 = VI • II, VII = III ■ С21 Сн = I — VII, С22= - VI.
Индукцией по к легко установить следующее утверждение.
Утверждение 3. Алгоритм ftn,» вычисляет обратную матрицу к матрице порядка m2k с пг2к делениями, (-|- тЧк — m26) умножениями и ^ [-|- (5 + /и) т27к — 7 (m2fc)2j сложениями и вычитаниями чисел.
Следующее утверждение доказывается почти так же, как и утверждение 2.
Утверждение 4. Обращение матрицы порядка п возможно с не более чем 5,64n’og7 арифметическими операциями.
Аналогичные результаты справедливы для решения систем линейных уравнений и вычисления детерминанта, если использовать равенство
Det А = (Det An) Det (А^ - ЛаАП’Аи).
ЛИТЕРАТУРА
Клюев В. В., Коковкин-Щербак Н. И., О минимизации числа арифметических операций при решении линейных алгебраических систем уравнений. Журнал вычисл. матем. и матем. физики, 5, № 1 (1965), 21—23.
Winograd S., A new algorithm for inner product, IBM Research Report RC-1943, Nov. 21, 1967.
Некоторые аспектыпоследовательностногопостроения экспериментов )
Г. Роббинс
ВВЕДЕНИЕ
До недавнего времени в статистической теории ограничивались построением и анализом экспериментов, в которых количество и способы выбора испытаний полностью определялись до начала эксперимента. Причины этого частично имеют историческое происхождение и относятся ко времени, когда статистика проводилась только после окончания эксперимента, если это вообще было возможно, и частично связаны с математическими трудностями, которые возникают при работе с произвольным, но фиксированным числом независимых случайных величин. Основной сдвиг в этом направлении, по-видимому, состоит в создании теории последовательностного конструирования экспериментов, в которых количество и способы выбора испытаний не фиксированы заранее, а зависят от предшествующих испытаний.
Первое важное отступление от фиксирования количества испытаний появилось при контроле качества в промышленности (метод контроля Доджа и Ромига, связанный с двойной выборкой [1]). В данном случае выбирается только одна совокупность изделий и вопрос заключается в том, превышает ли количество брака в этой совокупности данный уровень. Сначала выбирается произвольно пх объектов из совокупности и через х обозначается число бракованных объектов. Если х меньше некоторого фиксированного значения а, то вся совокупность изделий принимается без дальнейшей проверки; если х больше некоторого фиксированного значения b \а<Ь\ то вся совокупность бракуется; однако если а ^ х ^ Ь, то второй раз выбирается п2 изделий из совокупности, и заключение принимать или браковать всю совокупность делается на основании числа бракованных изделий в общем количестве выбранных пх + п2 объектов. Таким образом, число п выбранных объектов из совокупности есть случайная величина, принимающая два значения пх и пх + п^ и зависящая от испытаний.
*) Robbins Н., Some aspects of the sequential design of experiments, Bull. Amer. Math. Soc., 58, № 5 (1952), 527 — 535.
Во время второй мировой войны было развито направление, главным образом Вальдом, получившее в дальнейшем название последовательностного анализа [2], в основе которого лежит идея, обобщающая идею двойной выборки. Грубо говоря, она состоит в том, что испытания проводятся друг за другом, и заключение о том, принять или забраковать данную совокупность (или, в более общем виде, сомнительную статистическую гипотезу), может быть сделано на любом шаге. Количество испытаний п становится теперь случайной величиной, связанной с данной совокупностью и принимающей в принципе бесконечно много значений, хотя в большинстве практических задач оно может быть ограничено. Преимущество этого метода состоит в том, что при некоторых обстоятельствах разумный выбор последовательности испытаний может привести к значительному уменьшению среднего числа испытаний, необходимого для того, чтобы вероятность ошибки была минимальной. Теория последовательностного анализа еще очень несовершенна'), и нужно преодолеть значительные трудности, чтобы использовать ее для решения проблем статистики.
Использование последовательностных методов при выборе способа испытаний освобождает статистическую теорию от ограничений, связанных с фиксацией количества испытаний. Однако не только количество испытаний характеризует эффективную конструкцию эксперимента. Большинство статистических проблем, встречающихся на практике, связано с рассмотрением нескольких совокупностей, и нужно определить, из какой совокупности производить выборку на каждом шаге.
Следующий пример иллюстрирует сказанное. Пусть имеются две совокупности, соответствующие случайные величины которых нормально распределены. Пусть неизвестны математические ожидания Р] и р2 и дисперсии а2 и с?2 этих случайных величин. Требуется оценить значение разности р] — р2. Чтобы подчеркнуть обсуждаемую точку зрения, предполагается, что п фиксировано. Возникает вопрос, как распределить п испытаний между двумя совокупностями. Пусть Xj и х2 суть средние арифметические значения случайных величин, получающихся при пх и п^ испытаниях с двумя соответствующими совокупностями, тогда естественно считать, что хх — х2 является оценкой для р, — р2 с дисперсией а2 = (о^п^ + ^2/n2j. Для фиксированного п = п{ + п2 дисперсия о2 достигает минимума при пх[пг = о^о^. Если о,/^ известно, то сразу строится соответствующий эксперимент;
') Нужно иметь в виду, что настоящая статья была опубликована в 1952 г. — Прим. ред.
если же это отношение неизвестно, то процесс испытаний может быть разбит на два этапа. Производится некоторое число m испытаний с каждой совокупностью, и таким способом полученные значения случайных величин используются в качестве оценки для aja2; оставшиеся п — 2m испытаний распределяются между двумя совокупностями в соответствии с оценкой для <Tj/cr2. Возникает вопрос, как лучше выбрать т. Если т мало, то получается грубая оценка для oja2. При достаточно больших т малость разности п — 2т не позволяет полностью использовать полученную оценку aja2. (Подобная дилемма весьма характерна для всех задач последовательностного конструирования.) Вообще говоря, возможно рассмотрение схем, в которых испытания проводятся одно за другим, и заключение, с какой совокупностью производить каждое испытание, делается на основании предыдущих испытаний; общее количество испытаний п может быть фиксированным или может быть случайной величиной, зависящей от проведенных испытаний.
Несмотря на полное отсутствие теории, Махалонобис [3] в 1938 г. первым попытался в духе последовательностных построений определить в Бенгалии площади, пригодные для выращивания джута. Первоначальное исследование было проведено в малом масштабе, чтобы оценить значения определенных параметров, знание которых было весьма существенно для перехода к эффективным исследованиям в большом масштабе.
В последующих публикациях Махаланобис [4] обратил внимание на то, что было бы желательно иметь способ изменения эксперимента по мере накопления новых данных.
Мы обязаны Вальду за большой вклад в теорию последовательностного анализа. В его книге [5] ставится проблема в самом общем виде и очерчиваются методы ее решения. Затронутые в этой книге вероятностные проблемы обширны, поскольку вероятностные зависимости встречаются в ней во всей их сложности, в то время как еще не найдены удовлетворительные средства для исследования практически интересных задач. Тем не менее достаточно явно подтверждается предположение, что дальнейшие результаты в теории последовательностного конструирования будут весьма важны в математической статистике и в науке в целом.
Ниже будет рассмотрено несколько простых задач последовательностного конструирования, которые теперь привлекают внимание и которые отличаются от тех задач, которые обычно встречаются в статистической литературе. Оптимальное решение этих задач неизвестно. Однако часто лучше иметь достаточно хорошее решение нужной задачи, чем оптимальное ре-
шение ненужной. В настоящее время этот принцип с особенной пользой применяется в проблемах последовательностного экспериментирования.
ПРОБЛЕМА ВЫБОРА ИЗ ДВУХ МНОЖЕСТВ
Пусть А и В —два множества (монеты, урны, промышленные изделия и т. д.) с заданными на них функциями распределения F^ и G (х). Об этих функциях известно только, что они принадлежат некоторому классу D. Мы будем предполагать, что интегралы
а= J xdF(x), 0 = JxdG(x) (1)
существуют. Возникает вопрос, как сделать выборку хИх2, ..., хп из двух указанных множеств, чтобы сумма 8п = Х| + ... + хп достигала наибольшей возможной величины.
Например, пусть А и В —две произвольные монеты, и предположим, что мы совершаем п бросаний, причем при выпадении орла мы получаем выигрыш в 1 единицу, а при выпадении решетки не получаем ничего. Если хг=1 или х; = О соответствуют выпадению орла или решетки при z-м бросании, то 5„ —общая сумма, которую мы можем получить, а а и 0 (О^а, 0^1) суть вероятности выпадения орла при единичном бросании монет Л и В соответственно.
Интуитивно ясно, что всякий раз, когда на основании предыдущих испытаний возникает уверенность, что одно из двух чисел а или 0 больше другого, в будущем следует предпочесть соответствующее множество. Заметим, что мы при этом не интересуемся оценкой разности а —0. Вся задача состоит в том, какое множество А или В выбрать для г-го испытания. Безусловно, существуют практические ситуации, в которых задача ставится скорее в процессе эксперимента, чем до него. Фактически проблема представляет собой в упрощенном виде общую задачу о том, как мы учимся или как бы мы могли учиться на основании прошлого опыта. По-видимому, решение этой проблемы сводится к построению средствами математической статистики конструкции, которая была названа фон Нейманом [6] целесообразным поведением.
Начнем с рассмотрения уже упомянутого специального случая, в котором множества А и В суть монеты, а соответствующие вероятности а и 0 выпадения орла (х, = 1) при единичном бросании неизвестны. Возьмем, например, следующее правило построения последовательности испытаний.
Правило Ri. Для первого бросания выбираем А или В произвольно. Затем, если при г-м бросании выпал орел, то при (г + 1)-м бросании используем ту же монету, что и при г-м бросании; если же при г-м бросании выпала решетка, то для (г + 1)-го бросания берем другую монету; здесь г= 1, 2
Чем можно охарактеризовать правило R|? Последовательность бросаний можно описать простой цепью Маркова с четырьмя состояниями (Л, Я), (Л, Т), (В, Я), (В, ТУ) и с вероятностными переходами, которые легко записываются. Например, вероятность перехода из (Л, Я) в (Л, 7) равна (1—а) при (г + 1)-м бросании. Пусть pt обозначает вероятность выпадения орла при г-м бросании. Исключая тривиальный случай, будем предполагать, что аир обе не равны 0 и обе не равны 1; тогда |а + р— 1 К 1. Легко показать, что
Pi+i =(а + р- 1)р/ + (а + р-2ар),(2)
отсюда следует, что
/ , о пг-1 Г а + Р-2аР"1 . а + Р —2ар pja+p-l) [р,- 2-(аТр) J + ^a + pP ^ и, следовательно,
। • а + р — 2ард2,
где
- Y = ^±.(5)
Используя правило Rb получаем
Пт = Нт Р| + “ ■ -Рп ^ у + у^- •(6)
П-=о\ ” /П->==”1 Y
Теперь, если известно, какое из двух чисел а или р больше, то, используя только ту монету, у которой вероятность выпадения орла больше, получаем
Е ("^") = тах (“’ Р) ^ V + б.'(7)
Таким образом, разность
МЛ В, RJ-ty + d^Y + ^^dfl-^y^O (8)
может быть принята за меру асимптотической потери при использовании правила Rb которая обусловлена незнанием истинных свойств монет. Легко видеть, что 1ДА, В, R]) принимает
свое максимальное значение М] = 3—(V^)3 = 0,172, когда а = С и р - 2 - V2 ^ 0,586, или наоборот. Таким образом, при использовании правила R, для больших п потеря при одном бросании не превышает 0,172 единицы. Возможно также использование правила Ro, которое состоит в том, что на каждом шаге монета выбирается произвольно (или монеты А и В бросаются поочередно). Соответствующее значение Т(Л, В, Ro), как легко видеть, равно величине (у + д) — у = д, которая принимает свое максимальное значение Мй=х1^ при а = 0 и р= 1, или наоборот. Ясно, что правило R, значительно „лучше", чем Ro.
Правило Ro таково, что выбор монеты при t-м бросании не зависит от результатов предыдущих бросаний, в то время как при использовании правила R, этот выбор зависит только от (г—1)-го бросания. В более общем случае можно считать, что правило R таково, что выбор монеты при z-м бросании зависит от значений X]х,., для всех предыдущих бросаний. Для любого такого правила R пусть
ЦА, В, R) = max(a, 0)-е(^),(9)
где Е обозначает математическое ожидание, вычисленное на основе а, 0 и R, и пусть
M„(R) = max[L„(X, В, R)],(10)
(а. 0)
Ф (n) = min [Л1„ (R)K(11)
(R)
Интересно изучить поведение ф(/г) и описать „минимаксное" правило R, для которого значение ф(п) достигается.
Более простая задача: существует ли правило R, такое, что
lim Ln (Л, В, R) = 0lim Ln (Л, В, R) = 0(12)(12)
lim Ln (Л, В, R) = 0
lim Ln (Л, В, R) = 0
(12)
(12)
2 = Ьк<Ь^< ... <Ьп< ...2 = Ьк<Ь^< ... <Ьп< ...
2 = Ьк<Ь^< ... <Ьп< ...
2 = Ьк<Ь^< ... <Ьп< ...
для всяких А и В? Мы увидим в следующем разделе, что ответ на этот вопрос положителен не только в случае монет, но и в случае двух произвольных множеств.
Возвращаясь к общему случаю, в котором А и В — произвольные множества, для которых значения (1) существуют, рассмотрим правило R проведения испытаний, определенное следующим образом. Пусть
(13)(13)1 tz । <С tz2 < j, ,. <С ап < ..,,
(13)
(13)
— две фиксированные несовпадающие возрастающие последовательности натуральных чисел плотности 0, т.е. такие, доля которых в натуральном ряду стремится к 0. Правило R определим индуктивно: если / — одно из чисел ап, то соответствующее значение xt получается как результат испытания с А; если / — одно из чисел Ьп, то xt получается как результат испытания с В; если / не совпадает ни с одним из чисел ап или Ьп, то xt получается как результат испытания с А или В в соответствии с тем, превышает или нет среднее арифметическое всех предыдущих испытаний с А среднее арифметическое всех предыдущих испытаний с В. Можно показать, что из усиленного закона больших чисел следует, что с вероятностью 1 имеет место равенство
lim — = max (а, р).(14)
п-»оо П
Это в свою очередь означает, что
.Нт — = шах (а, р),(15)
так что
lim Ln(.A, В, R) = max(a, р) — lim(16)
ДЛЯ всех А, В, для которых существуют а, р.
НЕКОТОРЫЕ ДРУГИЕ ПРОБЛЕМЫПОСЛЕДОВАТЕЛЬНОСТНОГО КОНСТРУИРОВАНИЯ
Задачи, рассмотренные в разд. 2, могут быть обобщены различными способами. В некоторых случаях можно считать, что общее число испытаний п является случайной величиной, как зависящей, так и не зависящей от предыдущих испытаний. Например, в задаче о двух монетах предположим, что следует платить некоторую сумму с за возможность произвести каждое бросание. В этом случае можно прекращать бросание всякий раз, когда кажется достаточно достоверным, что max (a, Р) < с; это относится к специальному случаю задачи для трех множеств. Возможно рассмотрение случая континуума множеств. Предположим, что мы осуществляем уход за растениями или животными с интенсивностью 9 из некоторого интервала, и пусть F (х, 9) — функция распределения реакций х на уход с интенсивностью 9. Математическое ожидание
a(9)= jxdF(x, 9)(17)
„регрессии" х от 6 предполагается неизвестным. Пусть {0J обозначает произвольную последовательность значений 6, выбранных последовательно экспериментатором, и пусть (xj обозначает соответствующую последовательность реакций, причем каждое xt имеет распределение
Рг [х, ^ х] = F (х, 6,).
Пусть а (6) имеет единственный максимум в некоторой неизвестной точке 0О. Спрашивается, каким образом экспериментатору выбирать последовательность {0J, чтобы максимизировать математическое ожидание суммы Sn = Xi + ... + х„ и тем самым оценить значение 0О.
Пусть а (д) — возрастающая функция от 0, которая принимает заданное значение а0 в некоторой неизвестной точке 0d. Спрашивается, каким образом экспериментатору выбрать последовательность {0J, для того чтобы оценить значение 60. Проблема (I) по существу состоит в экспериментальном определении максимума функции, когда испытания подвержены случайным ошибкам. Проблема (II) является основной при изучении чувствительности и в биологии.
Ясно, что в каждой из этих проблем выбор 6, может зависеть от реакций xtх^ на предыдущие уровни 6М ..., 0Z_] ухода. Таким образом, возникает задача последовательностного построения эксперимента. Изучение проблемы (I), но не в терминах последовательностного построения экспериментов, было предпринято Хотлингом [7, 8]. В то время по теории последовательностного анализа, однако, еще не было публикаций. Проблема (II) была рассмотрена Роббинсом и Монро [9]. Они предложили следующий метод. Пусть {а„} последовательность положительных чисел, такая, что
2а^<°°, 2ан = оо.(18)
Выберем произвольно 6, и положим
0n+i = 0л + а„(а0- хп) (и=1, 2, ...).(19)
Тогда при некоторых слабых ограничениях на F (х, 0) может быть показано, что в вероятностном смысле имеет место соотношение
lim0n = 0o.(20)
rt-> ОО
В этой и других задачах может быть предложена последовательностная конструкция с достаточно хорошими свойствами, которая, возможно, встретит положительный отклик среди читателей. Это будет способствовать применению вероятностных
методов для нахождения эмпирических приближений путем построения последовательности экспериментов, когда полное математическое решение задачи затруднено. Эмпирическое исследование скорости сходимости в (20) было выполнено Техрое- вым [10].
ПРОБЛЕМА НЕПРЕДВИДЕННОЙ ОСТАНОВКИ
Пусть случайная величина х имеет нормальное распределение с неизвестным математическим ожиданием 9 и единичной дисперсией. Пусть испытываются две гипотезы: 9 = 0 (гипотеза Но) и 0>О (гипотеза Н]). Стандартный статистический прием, основанный на фиксированном количестве испытаний п, состоит в следующем. Пусть S„ = X] + ... 4- хп. Гипотеза Но отвергается в пользу Н] тогда и только тогда, когда
Sn>an\ (21) где а —некоторая константа. Вероятность отвергания Но, если эта гипотеза верна, равна
е(а)=1—Ф(а), (22) где
(23)
причем выбирая величину а достаточно большой, можно величину е(а) сделать как угодно малой. Например, если а = 3,09, то е (а) ^ 0,001.
Предположим теперь, что гипотеза Но верна, но „экспериментатор" желает получить некоторую статистику для того, чтобы на ее основе отвергнуть Но. Если количество испытаний не было оговорено заранее, то при выполнении неравенства (21) „экспериментатор" мог бы закончить эксперимент. Закон повторного логарифма в теории вероятностей означает, что с вероятностью 1 неравенство (21) будет справедливо для бесконечно большого числа значений п, если испытания продолжаются неограниченно, вне зависимости от величины а. Следовательно, „экспериментатор" должен стремиться достичь в конечном счете такого п, когда (21) имеет место и, останавливая эксперимент в этом месте, он получит нужный ему результат. Это обстоятельство показывает, что выполнение условия (21) не гарантирует проверки на истинность гипотезы Но, так как существует некоторая вероятность того, что может иметь место непредвиденная остановка.
Простейший способ избежать эффекта непредвиденной остановки состоит в том, чтобы количество испытаний было
зафиксировано до начала эксперимента. Это ограничение было бы слишком жестким для практического использования. Статистики могли бы поэтому удовлетвориться установлением границ «] ^п^п2 для числа испытаний, которые будут достаточно гибкими, чтобы предотвратить случайности при экспериментировании, и довольно строгими, чтобы устранить нежелательный эффект непредвиденной остановки.
С этой целью статистикам было бы полезно знать значение функции
g(,nt> п2, а) = Pr [S„ > а«‘/г](24)
для некоторых пх ^п^п^ где xt есть независимая и нормально распределенная на (0, 1) случайная величина. Совсем легко установить справедливость неравенства
g кгц, п2, а) <\ ’ где Х = 5" ’(25)
'1 — Ф (а[г-)
•\ (Л-1)/2/
которое полезно в случае, когда Л не очень велико; более точные оценки также могут быть получены.
Проблема непредвиденной остановки мало освещена в статистической теории (см. тем не менее [11], особенно стр. 286 — 292). Нет нужды, однако, предполагать, что экспериментатор сознательно выбирает неверную статистику, и, по мнению автора, было бы весьма желательно создание методов статистического анализа, нечувствительных к эффекту непредвиденной остановки.
ЛИТЕРАТУРА
Dodge Н. F., Romig Н. G., A method of sampling inspection, BSTJ, 8 (1929), 613—631; Single sampling and double sampling inspection tables, ibid., 20 (1941), 1-61.
W a 1 d A., Sequential analysis, New York, Wiley, 1947.
M a h a 1 а п о b i s P. C., A sample survey of the acreage under jute in Bengal with discussion of planning of experiments, Snakhya, 4 (1940), 511—531.
M a h a 1 a n о b i s P. C., On large-scale sample surveys. Philos. Trans. Roy. Soc. London, Ser. B, 231 (1944). 329—451.
W a 1 d A., Statistical decision functions. New York, Wiley, 1950.
Neyman J.. First course in probability and statistics, New York, Holt, 1950.
Hotelling H., Experimental determination of the maximum of a function, Ann. of Math. Statist., 12 (1941), 20—45.
Friedman M., Savage L. J., Planning experiments seeking maxima, Chap. 3 of Selected techniques of statistical analysis, New York, McGraw- Hill, 1947.
R о b b i n s H., Monro S., A stochastic approximation method, Ann. of Math. Statist., 22 (1951), 400—407.
Teichroew D., не опубликовано.
Feller W., Statistical aspects of ESP, Journal of Parapsychology, 4 (1940), 271—298.
Построениепоследовательностных экспериментовс конечной памятью)
Г. Роббинс
Рассматривается задача последовательностного выбора одного из двух возможных способов действий, каждое из которых может привести к выигрышу или проигрышу. Спрашивается, как при этом максимизировать количество полученного выигрыша; выбор действий каждый раз основывается на результатах конечного числа предыдущих испытаний.
ВВЕДЕНИЕ
Экспериментатор имеет две монеты, монету 1 и монету 2, с соответствующими вероятностями выпадения орлов, равными р, = 1 — q^ и р2=1 — q2, значения которых ему неизвестны. Он хочет произвести бесконечное число бросаний, используя в каждом бросании или монету 1, или монету 2 таким образом, чтобы получить максимально возможное число выпадения орлов. Задача экспериментатора заключается в том, чтобы найти правило выбора монеты для бросания на каждом шаге, основанное на результатах предыдущих бросаний.
Если бы он знал вначале, какое из чисел р^ или р2 больше, то он мог бы использовать только соответствующую монету, независимо от результатов предыдущих бросаний. В этом случае с вероятностью 1 имело бы место соотношение
,. число орлов в первых п испытаниях,,/1Х
hm v- max (р„ р2\(1)
П->оо“'
В предыдущей статье) [1] было показано, что даже для неизвестных рх и р> существует правило проведения бросаний, такое, что равенство (1) справедливо для любых р{ и р>. Однако любое правило, обладающее этим свойством, очевидно, должно быть таким, чтобы решение вопроса, какую монету использовать при п-м бросании, зависело от результатов всех предыдущих п — 1 бросаний; другими словами, правило требует
бесконечной „памяти". В этой статье мы будем интересоваться тем, какие правила можно получить, если использовать „память" конечной длины; будем говорить, что правило имеет тип г, если заключение, какую монету использовать при п-м бросании зависит от результатов только п— г, п — (г +1)п— 1 предыдущих бросаний. (Под „результатом" бросания мы подразумеваем и выбор монеты, и сообщение о том, какая сторона монеты выпала.)
Мы рассмотрим правило Rr (типа г), для которого с вероятностью 1 имеет место соотношение
число орлов в первых п испытаниях Px4» +РгЧх
Нт —-—;—.(2)
п-»ооп+ ^2
Заметим, что при г, стремящемся к бесконечности, правая часть равенства (2), возрастая, стремится к правой части равенства (1).
Интересно было бы знать, насколько наше правило Rr „лучше" любого другого правила типа г в том смысле, что левая часть соответствующего равенства (2) для этого правила существует для всех р] и р2, является симметрической функцией от рх и р2
и по крайней мере не большедля всех р] и р2 мы
<71 +<?2
не знаем, так ли это.
ОПРЕДЕЛЕНИЕ ПРАВИЛА Rr И ДОКАЗАТЕЛЬСТВО ТЕОРЕМЫ
Мы напомним [2], что если для единственной монеты с вероятностью q = 1 — р выпадения решетки производятся бросания до того момента, когда впервые появится последовательность выпавших подряд г решеток, то с вероятностью, близкой к единице, число бросаний должно быть не меньше
1-/pqr *
Теперь предположим, что повторные бросания производятся по следующему правилу: если при первом бросании выпала решетка, то заканчиваем бросания, в противном случае продолжаем бросания до первой встречи последовательности из г следующих друг за другом решеток. Тогда предполагаемое число бросаний с вероятностью, близкой к единице, будет не меньше
<3>
Докажем следующую теорему.
Теорема. Определим правило R, следующим образом. Начинаем бросание с монеты 1. Если первое же выпадение—решетка, то останавливаемся; в противном случае продолжаем бросание монеты 1 до первого появления последовательности г следующих друг за другом решеток и только тогда останавливаемся. Таким образом, мы получим первый блок бросаний монеты 1. После этого начинаем бросать монету 2, используя тот же прием. Получим первый блок бросаний монеты 2. Потом опять начинаем бросать монету 1. Получим второй блок бросаний монеты 1 и т. д. В конце концов получим бесконечную последовательность блоков бросаний либо монеты 1, либо монеты 2.
Для такого определения правила R, равенство (2) справедливо с вероятностью I.
Доказательство. Пусть х£ (у{) — длина i-ro блока бросаний монеты 1 (2), г =1,2 Впроцессе бросания с веро
ятностью 1 генерируется бесконечная последовательность независимых случайных величин
Xi, Уг, х2, у2, ..., хп, уп(4)
Тогда отношение числа бросаний монеты 1 к общему числу бросаний в первых 2м блоках есть
(5)(5)Х| + ... +хп_(*1 + ... + хпуп
(5)
(5)
Х1 + . . . + Хп + У\ + . . . + Уп (X] 4- . . . + Хп)/п + (Ух + ■ ■ ■ + УпМп ’
Согласно усиленному закону больших чисел и равенству (3), это отношение с вероятностью 1 стремится к пределу
9г
*/91+ */92»1 + »2
Через ип обозначим отношение числа выпавших орлов к общему числу бросаний в первых 2п блоках. Тогда
ип равно отношению числа бросаний монеты 1 к общему числу бросаний в первых 2п блоках, умноженному на отношение числа ,_. орлов, выпавших при использовании монеты 1, к общему числу бросаний монеты 1, плюс подобное же произведение для монеты 2,
Заметим, что при этом с вероятностью 1 имеем
Пт ип = р, -^-7 + р2 п-»ооУ\"ТУ2Пт ип = р, -^-7 + р2 п-»ооУ\"ТУ2(8)(8)91_ Р1?2 + Wl
Пт ип = р, -^-7 + р2 п-»ооУ\"ТУ2
Пт ип = р, -^-7 + р2 п-»ооУ\"ТУ2
(8)
(8)
91 + 9г 91 + 9г
Для всякого п определим целое положительное число N = = N(n) так, что
^i+i/i+ ••• + хн + Уы ^« <xi + ^i + ... + xN+l -VyN+i. (9)
Пусть wn — число орлов, выпавших в первых п бросаниях. Тогда
число орлов, выпавших в первых 2N блоках бросаний, небольше wn и wn не бсльше числа орлов, выпавших в первых (10)2^ + 2 блоках.
Из (9) и (10) следует, что
“лг (Х1 + ^1 + ... +xN + yN) /^п <
х{+у}+ ... + ^+1+^-н
^+^1 + +^ + ^ ' '
Так как (xw+1 + yN+i)/N стремится к 0 с вероятностью 1 при возрастании п (и, следовательно, N\ то с вероятностью 1 справедливо равенство
П^= x1+yt++xN + yN•
Таким образом, с вероятностью 1 из соотношений (8) и (11) находим
lim —= lim uN= —-—-—,(12)
П->оо Л /V->oo91+92
что и требовалось доказать.
ЛИТЕРАТУРА
Robbins Н., Some aspects of the sequential design of experiments, Bull. Am. Math. Soc., 58 (1952), 529—532. (Русский перевод см. на стр. 71 настоящего сборника.)
Феллер В., Введение в теорию вероятностей и ее приложения, т. 1, «Мир», М., 1967.
Правильность программ ‘)
Манна
В статье рассматривается соотношение между правильностью программ и выполнимостью (или невыполнимостью) формул исчисления предикатов первой ступени. Кроме того, в статью включены некоторые результаты об эквивалентности программ.
ВВЕДЕНИЕ
В последнее время значительные усилия направлены на отыскание методов установления правильности (вычислительных) программ. Программа называется правильной, если ее выполнение заканчивается и дает желаемый окончательный результат.
В настоящей работе мы пытаемся формализовать эту проблему путем сведения ее к выполнимости (или невыполнимости) определенных формул первой ступени. Точнее говоря, мы описываем алгоритм, преобразующий любую программу Р из данного класса {Р} программ в формулы первой ступени WP и WP, такие, что:
WP выполнима тогда и только тогда, когда Р правильна или выполнение Р не заканчивается, и
WP невыполнима тогда и только тогда, когда Р правильна.
Подобный результат получен и для эквивалентности программ. Две программы называются эквивалентными, если для одинаковых входных величин выполнение обеих заканчивается и обе дают одинаковый окончательный результат). Ясно, что проблемы правильности и эквивалентности программ связаны между собой, ибо вместо того, чтобы непосредственно доказывать правильность программы, мы можем доказать эквива-
*) Manna Z., The correctness of programms, Journal of Computer and System Sciences, 3, № 2 (1969), 119—127.
лентность этой программы некоторой другой программе, правильность которой заранее известна.
Чтобы сократить предварительные определения, мы будем предполагать, что читатель знаком с обычными понятиями, рассматриваемыми в исчислении предикатов первой ступени (см., например, Мендельсон [6]). Представленных здесь результатов касаются также работы Флойда [2, 3], Манны [4, 5] и Купера [1].
ОПРЕДЕЛЕНИЕ ПРОГРАММ
Программа Р состоит из:
(а) входного вектора х,
программного вектора у,
выходного вектора z,
(а) непустой входной области Dx,
непустой программной области Dy,
непустой выходной области Dz,
начальной функции (initial assignment function) g(x) — всюду определенной функции, отображающей Dx в Dy, и
последовательности из N (П^1) предложений, где i-e предложение (1^/^^ имеет вид
если pt (х, у), то [у - f\ (х, у); переходи к zj, иначе [у<-№ у); переходи к z2], где:
pi(х, у^ — всюду определенный предикат на DxXDyx\
f,(x, у) и f^(x, у) —всюду определенные функции, отображающие Dx X Dy в Dy, и
Kzb i^N.
Каждая команда типа переходи к ik; [у *- f,(х, у); переходи к z6], k = 1 или 2, может быть заменена стоп-командой [z<-Ai(x, у), стоп], где А/(х, у) —всюду определенная функция, отображающая Dx X Dy в Dz.
ВЫПОЛНЕНИЕ ПРОГРАММ
Если дана программа Р и входное значение ^eDx для входного вектора х, то программа может быть выполнена. Выполнение всегда начинается с первого предложения (помеченного цифрой 1) при начальном значении у, равном g(£).
Вообще если достигнуто z-e предложение (l^z^^ при у = т), то выполнение происходит следующим образом: если
Pi(Z> 11) = И, то [заменяем значение у на f\(^, ?]) и переходим к ^-му предложению], иначе [заменяем значение у на № 11) и переходим к 12-му предложению]. Если команда переходи к ik заменена стоп-командой, то выполнение осуществляется так: приписываем z значение hit^ л) и останавливаемся.
Если выполнение заканчивается с z = £, то мы говорим, что Р^ определено и Р^ = ^. В противном случае, т. е. если выполнение никогда не оканчивается, мы говорим, что Р^ не определено. Иначе говоря, программу Р можно рассматривать как представление частичной функции z = P(x), отображающей Dx в Dz.
Пусть Р — программа, ф(х) —всюду определенный предикат на Dx (называемый входным предикатом) н ф(х, z) — всюду определенный предикат на Dx X Dz (называемый выходным предикатом). Мы будем говорить, что:
Р является правильной относительно ф и ф, если для каждого £, такого, что ф(£) = И, программа Р^) определена и ф(£, Р(Ю) = И;
Р является частично правильной относительно ф м ф, если для каждого £, такого, что ф(£) = И и Р^) определена, имеет место ф(£, Р(£)) = И.
Пример. Рассмотрим программу Р* (для умножения целого числа xv на неотрицательное целое число х2 путем повторных сложений):
х = (хь х2) — входной вектор,
У = (z/ь z/2) — программный вектор,
z = z — выходной вектор,
Dx = 1X1 — входная область (где / — множество целых чисел),
Оу = /X/ —программная область,
Oz = / —выходная область,
g(x) = (0, х2) — начальная функция.
Единственным предложением является
если у2 = 0, то [z<-ylt стоп ], иначе [(г/,, у2)♦- (у} + х,, у2 — 1), переходи к 1].
В дальнейшем мы рассмотрим правильность программы Р* относительно входного предиката х2^0 и выходного предиката z = х{х2.
АЛГОРИТМ
Если дана программа Р, входной предикат ф(ж) и выходной предикат ф(х, z), то можно построить формулы 1Гр[ф, ф) и 1^р[ф> ф] следующим образом:
Для каждого предложения вида
если рДх, у), то [у *-/}(*, у), переходи к zj, иначе [у <—ff (х, у), переходи к z2] определим Wt как
Vy^Jx, у)=> если рДх, у), то q{(x, f' (х, у)),
иначе qt^x, РДх, у)))), где:
q{ — различные предикатные символы, т. е. символы, представляющие неопределенные предикаты;
если команда переходи к ih заменена в Р стоп-командой, то Ai^* fk(x> У)) заменяется в Wt на х|э(х, А^(х, у)).
Определим [Р, ф] (х) как
А\ (х, g (х)) Л Г, Л 1Р2 Л ... Л WN.
Наконец, определим:
^[Ф, ^1 как Vx (ф (х) о [Р, ф](х)),
НМф, ф] как Зх(ф(х) Л [Р, ~ф](х)).
Формула W вида WP или WP называется выполнимой, если каждому предикатному символу qt, встречающемуся в ней, мы можем приписать всюду определенный предикат на Dx X Оу, так, что U7 станет истинной. Формула W называется невыполнимой, если она не является выполнимой.
Пример. Рассмотрим программу Р* с входным предикатом х2^0и выходным предикатом г = ххх2. Следуя вышеописанному алгоритму), мы получим, что l^P»[x2^0, z = xxx2] есть
Vx,Vx2 (х2 > 0 о (q (0, х2) Л VyxVy2 (q(yx, у2) =)
если у2 = 0, то ух = х,х2,
иначе q(yx + xx, у2- 1)))), a Wp* [х2^0, z = х,х2] есть
Зх,Зх2(х2^0 Л ^(0, х^ЛМу^у^Ух, Уч)^ если у2-0, то ух ^ х,х2. иначе q(yx+xx, z/2-l))).
Можно легко проверить, что приписыванием предиката у, = х, (х2 — у 2) в качестве значения символа q{yx, у^ в Wp- получаем истинное выражение. Таким образом, W р* выполнимо. С другой стороны, мы покажем позднее, что можно вывести противоречие из Wp*, что означает невыполнимость Wp*.
ЛЕММА
Результаты настоящей статьи доказываются с помощью следующих определений и леммы.
Пусть ^eDx. Всюду определенный предикат д(у) на Оу называется:
характеристическим (valid) предикатом, i-го предложения для PU), если для каждого т] из Оу, такого, что в процессе выполнения Р (£) мы достигаем z-ro предложения при у = т], имеем д (т]) = И;
минимальным характеристическим предикатом i-го предложения для Р^, если для каждого т] из Оу, такого, что в процессе выполнения Р (£) мы достигаем z-ro предложения при у = т] и ни для каких других т], имеем 6(ф = И.
Пример. Рассмотрим программу Р* при значении входа £ = (3, 4). Предикат (0 ^ ух ^ 12) А (0 ^ у2 ^ 4) является характеристическим предикатом (в то время как предикат Цух, у^, истинный только для (0, 4), (3, 3), (6, 2), (9, 1) и (12, 0), является минимальным характеристическим предикатом) первого предложения для Р* (3, 4).
Лемма 1.
Р(£) не определено или
Р (£) определено и -ф (^, Р (£)) = И тогда и только тогда, когда [Р, ф] (£) выполнимо.
Доказательство.-»: Для каждого предикатного символа qb 1 ^ i ^ N, в [Р, ip] GO придадим qt^> у) значение минимального характеристического предиката z-ro предложения для Р(£)- Так как Р^ либо не определено, либо определено и ф(^, Р(^)) = И (другими словами, если Р (g) определено, то ip(g, Р(£) = И), то, согласно построению [Р, ф], значением [Р, ф] (£.) при вышеуказанном значении q, является истина, т. е. [Р, ф](6) выполнимо.
«- : Если [Р, ф] (g) выполнимо, то это означает, что предикатным символам q;^, У), 1 ^z ^W, можно приписать в качестве значений такие всюду определенные на Ду предикаты д, (у), что значением [Р, ф] (^) будет истина. Согласно определению [Р, ф], это означает, что каждое dh 1 ^z^W, есть характеристический
предикат z-ro предложения для Р^, и, следовательно, если Р Й) определено, то ф(£, Р(^)) = И.
Из леммы 1 следует, что:
[Р, И](£) всегда выполнима и
[Р, Л](£) выполнима тогда и только тогда, когда Р® не определено.
ПРАВИЛЬНОСТЬ. ПРОГРАММ
Следующие результаты формализуют понятие правильности программ.
Теорема 1. Программа Р является частично правильной относительно ф и ф тогда и только тогда, когда 1ГР[ф, ф] выполнима.
Теорема 2. Программа Р является правильной относительно ф и ф тогда и только тогда, когда 1ГР [ф, ф] невыполнима.
Теорема 1 представляет собой результат Флойда [2] и доказывается непосредственно с помощью леммы 1. Теорема 2 также может быть доказана с помощью леммы 1, если показать, что программа Р не является правильной относительно ф и ф [т. е. ЗЕ такое, что ф (£) = И и
Р(^) не определено, либо
Р(^) определено и ф(£, Р(^)) = Л] тогда и только тогда, когда 1ГР[ф, ф] выполнима.
Из теоремы 1 (при ф = Л) и теоремы 2 (при ф = И) соответственно получаем следствия.
Следствие 1. Для каждого £, такого, что ф(£) = И, значение Р (£) не определено тогда и только тогда, когда WP [ф, Л] выполнима.
С лед ств ие 2. Для каждого ^, такого, что ф(£) = И, значение Р(£) определено тогда и только тогда, когда WP [ф, И] невыполнима.
Пример. Из теоремы 2 следует, что мы можем доказать правильность программы Р* относительно входного предиката х2^0 и выходного предиката z = xxx2, показав, что 1Гр* [х2^0, z = xxx2] невыполнима. Как уже было найдено, 1Гр*[х2^0, z = х,х2] есть
3х,3х2 (х2 > 0 A q (0, х2) Д Vz/tVz/2 (^ (z/„ у^ гэ
если у2 = 0, то ух #= ххх2, иначе q(,yx + хх, у2- !)))•
Мы покажем, что WP«lx2^0, z = xtx2\ невыполнима, путем вывода противоречия, используя следующие четыре предложения: ' (1) х2>0,
9 (О, х^,
^Ух^УгЦд^у^ Луг>0)^> q(y\+xu у2- 1)),
Vi/iVi/2( (д (Уъ У 2) Лу2 = 0)^ У} ^ XiX2).
Путем подстановки xv (х2 — у^ вместо ух в (3) получаем:
) У У 2 ((д Ui (*2 - У 2), У^IЛ у2 > 0) =э q (Xj (х2 - у2} + х,, у2 - 1) ).
Используя принцип индукции
Нх(х > 0 Л Q(x)) Л V#((Q(#) Л #>0) о Q(г/— 1)) о Q(0)
при Q (/) = д (х, (х2 — /), t\ мы получим из (1), (2) и (3')
Q(0), т. е. q(xvx2, 0), что противоречит (4).
ЭКВИВАЛЕНТНОСТЬ ПРОГРАММ
Две программы Р, и Р2 назовем сравнимыми, если они имеют одинаковые входную переменную х, выходную переменную z, входную область Dx и выходную область Dz.
Пусть Р, и Р2 —две сравнимые программы, и пусть ф(х) —■ всюду определенный предикат на D* (называемый входным предикатом^. Мы скажем, что Рх и Р2 эквивалентны относительно ф, если для всякого £, такого, что ф(£) = И, как Р,^), так и P2(g) определены и Р] (£) = Р2(£).
Эквивалентность программ можно формализовать с помощью формулы WP1, р, [ф], которая определяется так:
Зх(ф(х) Л [Л, г] (х) Л [Р2, ~г](х)), где:
r(x, z) — произвольный предикатный символ,
символы г, д' (использованные при построении формулы [Р, г]) и д" (использованные при построении формулы- [Р2, -г]) должны быть различными.
Теорема 3. Программы Рх и Р2 эквивалентны относительно ф тогда и только тогда, когда Wpb р.[ф] невыполнима.
Доказательство. Мы покажем, что Рх и Р2 не эквивалентны относительно ф, т. е. существует £, такое, что ф(£)=И, и
Р\ (6) не определено, либо
^2^) не определено, либо
Pi (£) и Р2(^) определены, но Pi (^) =/= Р2 (^), тогда и только тогда, когда Wp,, р, [ф] выполнима.
(i)-*: Придаем г значение Л и используем лемму 1.
(iij-*: Придаем г значение И и используем лемму 1,
(iii)-*: Берем в качестве г предикат д (где d(x, z) = И тогда и только тогда, когда (х, z) = (g, РХ^)У Согласно лемме 1 [Рь &](£) выполнима. Кроме того, так как Рх^^ Рг^\ имеем 6(L Р2^)) = Л, т. е. ~д(£, Р2(£)) = И. Следовательно, по лемме 1 [Р2, ~$](1) также выполнима. Это означает, что и W р„ р2[ф] выполнима.
<—: Предположим, что W рх, р, [qp] выполнима при £, подста- в-ленном вместо х, и д —вместо г. Так как [Р], 6](Ю выполнима, то из леммы 1 следует, что если Р. (|) определено, то д(£, Р, (1)) = И, Так как [Р2, ~д](£) выполнима, из леммы 1 также следует, что если Р2(Ю определена, то ~ d(g, Р2(£)) = И. Это означает, что если определены Рх^ и Р2(£), то д(£, Р1(^)) = И, а д(^, Р2®) = Л, т. е. P,(^)^P2(^).
Пример. Рассмотрим две программы Pj и Р2 (вычисляющие х! для неотрицательных целых х), где:
в обеих программах
х = х, у = (уР у^, г = Z, Dx = l, Dy = lXI, Dz = p,
кроме того,
Pi состоит из начальной функции g1(x) = (l, х) и предложения
1: если у2 = 0, то [z<— ух\ стоп],
иначе [(i/], у2)*-^уху2, у2-\\, переходи к 1];
Р2 состоит из начальной функции g2(x) = (l, 0) и предложения
если у2 = х, то [z<— ух, стоп],
иначе Кг/i, ух) *-^ух ^ + 1), z/2 + 1); переходи к 1].
Ясно, что Р\ и Р2 сравнимы.
Из теоремы 3 следует, что мы можем доказать эквивалентность программ Р\ и Р2 относительно входного предиката х^О, показав, что W • *[х2>0] невыполнима, где 1Г • «[х^О] есть ^2РРР2
Зх {х>0 А
A q'^x, 1, х) А ^y^y^q^x, yv у^тз если у2 = 0, то г(х, ух).
иначе ^(хр yty,2, у2- 1)] A q"<x, 1, 0) A Vz/1Vz/2[^"(x, yv унесли у.2 = х, то ~г(х, у^, иначе q" (х, ух ^у2 + 1), у.2 + 1)]).
ЛИТЕРАТУРА
Cooper D. С., Program scheme equivalences and second order logic, Presented at Fourth Annual Machine Intelligence Workshop, University of Edinburg, August 1968.
Floyd R. W„ Assigning meaning to programms, Proceedings of Simposia in Applied Mathematics, American Mathematical Society, v. 19, 1967, p. 19—32.
Floyd R. W„ The verifying compiler, Computer Science Research Review Carnegie-Mellon University, December 1967.
M a n n a Z., Termination of algorithms, Ph. D. Thesis, Computer Science Department, Carnegie-Mellon University, April 1968.
Manna Z., Properties of programs and the ferst-order predicate calculus, I ACM (April 1969).
Mendelson F., Introduction to mathematical logic, Van Nostrand Company, Princeton, 1964,
О проблеме нахожденияминимальных программ для таблиц)
Д. Пейджер
В этой статье мы накладываем очень слабое условие на „длину программы" Q (z). Не предполагая, что Q (z) частично рекурсивна, мы доказываем несколько неожиданный результат: для некоторого целого числа m существует конечный набор программ, содержащий кратчайшие программы для множества характеристических функций, определенных на множествах яз т элементов, и такой, что проблема отыскания по таблице функции ее кратчайшей программы в этом наборе неразрешима.
Вопрос о сложности программ привлек внимание многих авторов. Блюм [1] рассматривал соотношение между сложностью программы и временем вычисления. Чейтин [2] получил оценку сложности кратчайших программ, порождающих последовательности данной длины ). Радо [4] показал, что невозможно эффективно определить для произвольного п наибольшее число, которое может вычислить программа с п командами. Мы интересовались обратной проблемой: найти кратчайшую программу для таблицы. Под таблицей мы понимаем конечное множество пар: Vkxi, yt¥ 1</<п; xl = x1^-i = i¥
Результат, который мы получили, обладает двумя несколько неожиданными свойствами:
выбор кратчайшей программы для рассматриваемого множества таблиц оказывается невозможным, несмотря на то, что он производится каждый раз из одного и того же конечного множества программ;
теорема верна для любого определения длины программы, такого, что данную длину имеет только конечное множество программ. В частности, не предполагается, что длина эффективно вычислима ).
Примерами невычислимой функции длины (применимой к данной программе Z) являются:
номер первой программы (в некотором упорядочении программ), которая эквивалентна Z;
номер первой таблицы вида
{(xb Z^\ (х2, Z(x2))(хг, Z(x2))}, которая встречается в некотором упорядочении множества всех таблиц. Здесь Z(x) есть выход программы Z для входа х.
В этом и других примерах нерекурсивной функции длины возможно, что существуют некоторые непрямые способы нахождения кратчайшей программы для таблицы, даже если мы не всегда можем вычислить длину произвольной программы.
Мы примем некоторую синтаксическую систему для представления алгоритмов, причем такую, что к ней применима гёде- левская нумерация. Мы будем называть эти синтаксические представления программами, обозначая их прописными буквами, а их гёделевские номера будем обозначать соответствующими строчными буквами.
Под длиной программы мы понимаем некоторую числовую характеристику программ Q(z), обладающую следующим свойством: для любого к множество программ X, таких, что Q^O?, конечно.
Длина Q(z) программы может быть некоторой мерой „объема памяти", занимаемого программой, например числом символов, содержащихся в Z ’). Нетрудно видеть, как меры такого рода могут быть применены к таким алгоритмическим системам, как машины Тьюринга, вычислительные машины, системы уравнений Клини [3], U.R.M. Шефердсона и Стургиса [6] и т. д.
Под таблицей мы понимаем конечное множество записей:
{(^. UiY 1 < i < п, xi = xl-i = j},
а программой для этой таблицы является программа Z, такая, что
Z (х.) = yt для 1 ^ i ^ п.
В частности, мы рассмотрим таблицы для характеристических функций конечной мощности, называемые разрешающими таблицами. Такие таблицы состоят из записей вида
(х;, tiY где t( есть 0 или 1.
Будем называть такие записи характеристиками.
Теорема. Существует конечный набор программ, содержащий кратчайшие программы для некоторого множества разрешающих таблиц одинаковой (конечной) длины и такой, что проблема получения по таблице ее кратчайшей программы из этого набора неразрешима.
Мы докажем эту теорему, показав, что существует конечная разрешающая таблица Хо, такая, что проблема нахождения кратчайшей программы для таблицы, полученной добавлением к Хо одной характеристики, не является равномерно разрешимой *).
Заметим, что в любом случае программа может выбираться из одного и того же конечного множества U программ длины
<max(Q(Z0), Q(Zy)),
где Zo, Z, — произвольные программы для Хо, такие, что Zo(x) = O и Z,(x)=l для всякого х, не принадлежащего области определения Ло.
Доказательство
Определение (Роджерс). Два непересекающихся рекурсивно перечислимых (р. п.) множества Gj и G2 называются сильно неотделимыми тогда и только тогда, когда:
G] (J G2 бесконечно и
если А есть р.п. множество и А П Gj U G2 бесконечно, то (Л П GJ #= 0 и (Л П G2) #= 0.
Пусть G] и G2 —сильно неотделимые множества), и пусть f(x) — частично рекурсивная функция, такая, что
1 0, если х s Gt,’ 11, если xgG2.
Любое частично рекурсивное расширение F(x) функции f(-x) определено только на конечном множестве дополнительных элементов. Действительно, область определения функции F (х) можно разбить на два непересекающихся рекурсивно перечислимых множества ^1, К2, а именно:
K^Vx; F(x) = Q}, К2 = (х-. F(x)^Q},
*) То есть не существует алгоритма, который для любого такого пополнения таблицы Хо давал бы кратчайшую программу. — Прим, перев.
так, что G, sКъ G2s Кг- Но тогда K\ — Gx и Кг — G2 конечны и, следовательно, конечно множество
w.-gjih^-g^,
т. е.
(tfiU^-^UG,),
которое является разностью области определения F(x) и области определения f(x).
Пусть Н — конечное множество программ, вычисляющих функцию f(x) на ее области определения с минимальной Q-мерой, и пусть к есть значение Q на элементах И. Если ZeH, то Z(x) является расширением f(x). Пусть V является (конечным) объединением всех конечных множеств Dz — Of, где Ze Н, Dz — область определения Z(х), Of — область определения f(x).
Если Z есть произвольная программа, которая не вычисляет f (х) на ее области определения, то существует х из D$, такое, что Z(x) либо не определено, либо Z(x)#=f(x). Пусть xz — наименьшее такое значение для программы Z, и пусть S обозначает конечное множество {xz: Q^^k).
Множество характеристиках, Цх)): xeS} обозначим через Хо. Если t ф V, то t е Df тогда и только тогда, когда самая короткая программа для таблицы Лд, пополненной характеристикой (f, 0) либо характеристикой [t, 1), является элементом Н.
Если бы существовал единый метод нахождения кратчайшей программы для Хо, пополненной одной дополнительной характеристикой, то, так как V конечно, из последнего утверждения следовало бы, что множество {t: t ^ V и t ^ Df}, т. е. {(: t eGY U G2 — У}, рекурсивно перечислимо. Атак как множество V конечно, это противоречит сильной неотделимости Gj и G2. Теорема доказана.
Фактически мы получили более сильный результат, чем утверждается в теореме: пусть U — конечное множество программ, такое, что Н — его [собственное) подмножество. Пусть t — рекурсивное множество разрешающих таблиц, состоящее из таблиц, являющихся пополнением л0 одной характеристикой. Тогда кратчайшая программа для каждого члена £ принадлежит U, но мы не можем эффективно решить, принадлежит ли она Н или U — Н.
Предположим теперь, что существует эффективное многооднозначное отображение, которое соотносит программам Z эквивалентные программы Z* с тем же числом команд, так, что
7 Зяк. 560
множество программ Z с данным числом команд конечно1). Тогда можно получить вариант теоремы, в котором слова „кратчайшая программа" заменены словами „программа с наименьшим числом команд".
Подобный результат имеет место и по отношению к шенноновской мере сложности машин Тьюринга, т. е. произведению числа состояний на число ленточных символов [5].
С другой стороны, если рассмотреть более слабый случай, когда 1) множество кратчайших программ для рассматриваемых таблиц бесконечно и 2) длина эффективно вычислима, то можно, используя теорему о рекурсии, доказать: если справедливы 1) и 2) и если множество рассматриваемых таблиц рекурсивно перечислимо, то не существует эффективного способа находить кратчайшие программы.
ЛИТЕРАТУРА
Blum М., On the size of machines, Inform, and Control, 11 (1967), 257—265. (Русский перевод: Блюм M., Об объеме машин, сб. «Проблемы математической логики», стр. 423—431, «Мир», М., 1970.)
С h a i и t i и G. Т., On the length of programs for computing linite binary sequences, J. ACM, 13 (1966), 547—569.
Клини С. К., Введение в метаматематику, ИЛ, М., 1957.
R a d о Т., On noncomputable functions, Belt Sistem Techn. J. (1966), 877—884.
Shannon С. E., A universal Turing machine with two internal states, in «Automata Studies», Princeton University Press, Princeton, New Jersey, 1956. (Русский перевод: см. в сб. «Автоматы», ИЛ, М., 1956, а также в сб.: Шеннон К-, Работы по теории информации и кибернетике, ИЛ, М., 1963.)
Shepherdson J. С., Sturgis И. Е., Computability of recursive functions, J. ACM, 10 (1963), 217—225.
Yong P. R., Towards a theory of enumerations, IEEE Conference Record. Symposium on Switching and Automata Theory, 1968, pp. 334—350.
Об арифметических выраженияхи деревьях')
Р. Р. Реджеёвски
В работе описывается, каким образом дерево, представляющее вычисление арифметического выражения, можно изобразить так, что количество требуемых для счета ячеек памяти легко определяется. Это представление сводит проблему выбора иаилучшего порядка вычисления к одной из задач теории графов Предлагается алгоритм решения этой задачи.
ВВЕДЕНИЕ
В работе [1] обсуждается алгоритм вычисления арифметического выражения, минимизирующий требуемое для вычисления количество ячеек памяти. Как показано ниже, дерево, используемое в [1], может быть модифицировано таким образом, что требуемое количество ячеек памяти получает явное представление. Это представление приводит к специфической проблеме „минимальной ширины" упорядочения дерева, которая и является темой настоящей статьи.
Чтобы вычислить выражение, например
((a + 6)-c-d)/(e ^-gf),
потребуется выполнить ряд арифметических операций: Л = а + Ь, B — c-d, C = f — g, D = A — B, Е = е-С, F = D]E, вычисляя таким образом промежуточные результаты А, В, ..., Е и конечный результат F. Этот процесс может быть представлен в виде дерева, как на рис. 1. Каждая вершина этого дерева представляет одну операцию; дуга из вершины х в вершину у представляет промежуточный результат, который используется в операции х, а вычисляется операцией у.
Выбрать возможный порядок операций —значит топологически упорядочить дерево, т. е. расположить его вершины в такой последовательности, что вершина х предшествует вершине у, если существует дуга из у в х. (Это условие эквивалентно требованию, чтобы каждый промежуточный результат был вычислен раньше, чем использован.)
Результат такого упорядочения удобно представлять в виде диаграммы, как это сделано на рис. 2. В дальнейшем мы будем называть такую диаграмму „укладкой" дерева, изображенного на рис. 1. Она может рассматриваться как представление вычисления на шкале времени.
Предположим, что мы имеем „моментальный снимок" вычисления в момент выполнения операции х. Такой моментальный снимок покажет некоторые результаты предыдущих операций, хранящиеся для дальнейшего использования и не
Рис. 1.
Рис. 2.
участвующие в операции х. Легко видеть, что на рис. 2 эти хранящиеся результаты представляются дугами, проходящими над вершиной х. Если число этих дуг есть а», то мы должны иметь не менее w + 1 запоминающих элементов (ячеек в оперативной памяти или иа магнитной ленте) в нашем распоряжении в данный момент: w для результатов, уже хранящихся, и один для результата х. Число запоминающих элементов, которые мы должны иметь для всего вычисления, определяется, таким образом, как максимальное число дуг, проходящих над одной вершиной на рис. 2; мы будем называть это число „шириной" нашей укладки. Выбор наилучшего порядка операций сводится, таким образом, к построению укладки минимальной ширины для дерева на рис. 1.
В третьем разделе предлагается алгоритм построения такой укладки; во втором разделе даны определения.
Хотя деревья, соответствующие арифметическим выражениям, всегда бинарны, решение задачи для общего случая не является более сложным. Поэтому в дальнейшем рассматривается общий случай.
ОПРЕДЕЛЕНИЯ
В дальнейшем используется понятие (направленного) графа, определенного как упорядоченная пара (X, Щ, состоящая из непустого множества X вершин и множества U дуг. Дуга из вершины хе X в вершину у е X обозначается здесь (х, y^eU. Для х, уеХ, таких, что существует дуга (х, у) е U, вершину у назовем последователем х. Предполагается, что читатель знаком с элементарными понятиями пути в графе, контура и т. д.
Граф (X, Щ называется деревом, если он конечен, не содержит контуров и содержит вершину г, такую, что:
г не является концом никакой дуги и
каждая вершина х е X, х #= г является концом в точности одной дуги.
Вершина г, обладающая этими свойствами, называется корнем дерева. Вершина хеХ, не являющаяся началом никакой дуги, называется листом дерева'); любая вершина, не являющаяся листом, называется узлом. Для дерева G = VX, U) и его вершины хе X мы обозначаем через G (х) поддерево, состоящее из х и всех вершин, достижимых из х путями в G. Укладка дерева G = (%, Щ формально определяется как последовательность <р = (Х], х2х„) всех вершин дерева G, такая, что для каждой дуги (xt, х^е U имеет место /</. В укладке Ф = (Х], х2, ..., х„) дуга (xz, x^eU называется проходящей над вершиной хкеХ, если j<k<i.
Для этой укладки пусть w{ обозначает количество дуг, проходящих над вершиной xt г X. Ширина укладки ф определяется тогда как тахюД/=1, 2, ..., п) и обозначается W (ф).
АЛГОРИТМ
Укладка минимальной ширины данного дерева G может быть получена заполнением таблицы вида, указанного на рис. 3. Таблица имеет 3 колонки и п строк. Заполнение начинается
*) В советской литературе более распространен термин „висячая вершина". — Прим. пере».
с перечисления в колонке 1 всех вершин дерева G. Мы записываем здесь снизу вверх сначала корень дерева G, затем записываем всех его последователей, затем — последователей этих последователей и т. д. Каждой вершине, таким образом, сопоставляется строка таблицы, причем если вершина у есть
Колон- Колонка № 1, ка .V" 2, х v (х)Колон- Колонка № 1, ка .V" 2, х v (х)Колонка № 3, q> (х)Колонка № 3, q> (х)L К J 1 Н G FЕ D С В АL К J 1 Н G FЕ D С В А0 0 0 01 о 1 о 2 2 0 20 0 0 01 о 1 о 2 2 0 2L К IL К IКЕН G НЕЕUFKLHGD HFKLHGDECВHFKLHGDECBAКЕН G НЕЕUFKLHGD HFKLHGDECВHFKLHGDECBAк, иI;F, Н, 6;D, Е;С, В;к, иI;F, Н, 6;D, Е;С, В;0. 1;0, 1;I. 2, 2;1;1;0. 1;0, 1;I. 2, 2;1;1;
Колон- Колонка № 1, ка .V" 2, х v (х)
Колон- Колонка № 1, ка .V" 2, х v (х)
Колонка № 3, q> (х)
Колонка № 3, q> (х)
L К J 1 Н G F
Е D С В А
L К J 1 Н G F
Е D С В А
0 0 0 0
1 о 1 о 2 2 0 2
0 0 0 0
1 о 1 о 2 2 0 2
L К I
L К I
КЕН G НЕ
Е
UFKLHGD HFKLHGDEC
В
HFKLHGDECBA
КЕН G НЕ
Е
UFKLHGD HFKLHGDEC
В
HFKLHGDECBA
к, и
I;
F, Н, 6;
D, Е;
С, В;
к, и
I;
F, Н, 6;
D, Е;
С, В;
0. 1;
0, 1;
I. 2, 2;
1;
1;
0. 1;
0, 1;
I. 2, 2;
1;
1;
Рис. 3.
последователь вершины х, то строка, сопоставленная х, лежит ниже строки, сопоставленной у. Заполнив колонку 1, заполняем таблицу по строкам.
Предположим, что мы уже заполнили т^О строк и собираемся заполнять следующую (т+1)-ю строку. Пусть вершина, соответствующая этой строке, есть х. Мы заполняем (/п+1)-ю
строку по одному из следующих правил, в зависимости от того, является х листом или узлом дерева G.
Правило 1. Если х является листом дерева G, то пишем 0 в колонке 2 и пишем х в колонке 3.
Правило 2. Если х есть узел дерева G, то находим в G всех последователей х; пусть это у0, ухук, где fe^O. Находим в таблице строки, соответствующие у0, ух, ..., yfe; благодаря способу заполнения колонки 1, все они должны быть среди пг уже заполненных строк. Пусть хДу^ для t = 0, 1к обозначает содержимое колонки 2 в строке, соответствующей уь и ф(уд — содержимое колонки 3 в той же строке. Расположим у0, ух, ..., уь в последовательность по убыванию величины и (уд для t = 0, 1к, Пусть эта последовательность есть (yi0, у^, ... ..., yt^\ тогда о^^^о^у^^.. Д>о (уХку Подсчитаем число р = тах(р0, рх, ..., р^, где pj = и (у/у) + j для / = 0, 1, .... к. Запишем р в (т+1)-й строке второй колонки; в колонке 3 запишем друг за другом ф(Л10)ф(у«,) • • • ф(У^) в таком порядке и сзади припишем х.
Для иллюстрации применения правила 2 на рис. 3 показаны последовательности (у<о, у^, ..., ух^ и числа р0, рх, .. ., рй; оии расположены справа от каждой строки, заполнявшейся по этому правилу. Например, для х = D мы имеем yia = F, Уч = Н, Уи = С и p0=v(yio)+0= 1, р, = и(у^)+1=2, р> = у(у<2)+ + 2 = 2.
Покажем теперь, что после заполнения таблицы последовательность, появившаяся в последней строке колонки 3, есть укладка минимальной ширины дерева G.
ДОКАЗАТЕЛЬСТВО АЛГОРИТМА
Предположим, что таблица заполнена по вышеуказанным правилам для дерева G = (X, U) с корнем г. Для хеХ пусть у (х) есть число, стоящее в строке таблицы, соответствующей х, в колонке 2; пусть ф(х) — последовательность, стоящая в той же строке в колонке 3. Последняя строка соответствует корню г; для этой строки мы имеем у (г) и ф(г) соответственно. Могут быть доказаны следующие два утверждения относительно содержимого таблицы.
Теорема 1. Для каждой вершины хе X последовательность ф (х) есть укладка поддерева G (х), а ее ширина равна у (х).
Теорема 2. Для каждой укладки дерева G ее ширина не меньше, чем о (г).
Из теоремы 1 и того факта, что G(r)=G, немедленно следует, что последовательность ф(г), стоящая в последней строке третьей колонки, есть укладка дерева G, имеющая ширину о (г). Теорема 2 утверждает, что эта ширина минимальна.
Доказательство теоремы 1. Чтобы доказать теорему, достаточно показать, что (1) теорема имеет место для каждого листа дерева G, и (2) если теорема верна для всех последователей узла х, то она верна и для х.
у(х)
Рис. 4.
То, что утверждение (1) верно, следует из правила 1. Если X есть лист, то поддерево G (х) состоит из единственной вершины х. Последовательность (х) есть укладка такого дерева, и ее ширина равна 0.
Справедливость утверждения (2) может быть показана следующим образом. Пусть х есть узел дерева G и z/ig, у1р ... ..., ytk — его последователи, как в правиле 2. Предположим, что теорема верна для всех этих последователей, т. е. ф(у^) для / = 0, 1к есть укладка поддерева G^yt^ и ее ширина равна х)^. Сочленение ф(у<0), Ф^), . .., ф(^) и (х) в правиле 2 соответствует конструкции, показанной на рис. 4.
Имея (fe+1) дерево G ^yt^, G(yit)G (у1к), мы строим дерево G (х), добавляя вершину X и (fe+1) дуг (х, yio), (х, yt^(х, у1ку Легко видеть (из рис. 4), что полученная таким образом последовательность ф(х) должна быть укладкой G (х). Чтобы показать, что ширина этой укладки есть и(х),
рассмотрим вершину у, принадлежащую дереву G^y^, где 0^/^£. Легко видеть, что число дуг, проходящих над у, не превышает числа р(, определенного по правилу 2: имеется j дуг (х, у^, (х, у^, ..., (х, уч_^ вне дерева G^ и ровно ■u\tji^ дуг в этом дереве). Отсюда ширина ф(х) должна быть равной тах(р0, ръ ..., рй) = о(х). Теорема, таким образом, верна также и для х.
Рис. 5.
Числа в вершинах — значении о(х).
Доказательство теоремы 2. Теорема, очевидно, верна в случае о(г) = 0. Пусть о(г)>0, и, предположим, существует укладка ф дерева G, имеющая ширину №(ф)<и(г). Для каждого узла xeG сделаем следующее: найдем последовательность ^у1о, уц, .... yt^ и числа р0, рь ..., рк, вычисленные во время заполнения по правилу 2 строки, соответствующей х; затем найдем наименьшее j, 0^/^£, для которого pt = y^x\ и пометим дуги (х, yt^ (х, ylxY --м (я, Ui^- Например, если на рис. 3 х = О, то / = 1, и мы пометим дуги ф, F) и ф, Н); результат таких пометок дерева, изображенного на рис. 3, показан на рис. 5. Легко видеть), что (1) каждый узел х есть начало по меньшей мере одной помеченной дуги и (2) для
каждой помеченной дуги (х, y^^-U узел х есть начало по меньшей мере (7+ 1) помеченных дуг, где q = и (х) — и (у) *).
Пометим теперь все листы дерева G, достижимые из корня г путями, состоящими только из помеченных дуг; из утверждения (1) следует, что существует по крайней мере один такой лист. Пусть г е X — помеченный лист, самый правый в последовательности ф; пусть р —путь из г в z (р состоит только из помеченных дуг). Возьмем дугу и = ^х, y^eU, принадлежащую р. Пусть v (х) — у (у) = q; согласно утверждению (2), узел х в этом случае является началом не менее чем (q + 1) помеченных дуг. Пусть 7>0, и пусть тогда их, и2) ..., и, —помеченные дуги, начинающиеся в узле х и отличные от и. Для
Рис. 6.Рис. 6.
Рис. 6.
Рис. 6.
i= 1, 2, . .., q пойдем из х по пути, состоящему целиком из помеченных дуг и начинающемуся дугой ut сколь возможно далеко (для иллюстрации см. рис. 6). Этот путь р, должен кончаться в помеченном листе, т. е. слева от z в последовательности ф (по выбору г). Так как ф есть укладка дерева G, то узел х должен быть справа от г в ф, т. е. путь рг должен содержать дугу и', проходящую над z. Это дает q дуг, проходящих над z: и,, u'и'. Беря в качестве и по очереди все дуги р, получаем, таким образом, и (г) — и (z) = и (г) дуг, проходящих над z, что противоречит предположению 1Г(ф)<о(г). (Аналогично можно доказать, что о (х) для каждого хеХ есть минимальная ширина всевозможных укладок поддерева G (х).)
ОБСУЖДЕНИЕ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ
Если дерево G представляет процесс вычисления, как это описано во введении, то объекты, обсуждавшиеся в разд. 2 — 4, имеют следующую интерпретацию. Лист дерева G представляет операцию, выполняемую исходя только из начальных данных, а узел дерева G — операцию, использующую по крайней
’) Действительно, пусть у = ух$; поскольку дуга (х, у) помечена, то s^/, т. е. о(у£/)<о (y,s); <7 = о(х)-о(у) = о(у^) + /-о(Ш$)</; но в узле х
начинается (/+1) помеченных дуг, и из y^j следует (2). — Прим, перев.
Мере одйн промежуточный результат в качестве своего аргу* мента. Корень дерева G представляет операцию подсчета конечного результата. Укладка ф дерева G изображает допустимый порядок выполнения операций; она может рассматриваться как некоторая программа для вычисления, изображаемого деревом G. Ширина № (<р) представляет собой уменьшенное на 1 число клеток памяти, требуемых для выполнения этой программы. Для операции х поддерево G (х) изображает часть вычисления, состоящую из х и всех операций, требуемых для установления значений аргументов х. Теорема 1 утверждает, что последовательность ф(х), появляющаяся в строке таблицы, которая соответствует вершине х, есть программа для „частичного" вычисления G (х) и что число и (х), появляющееся в той же строке, есть уменьшенное на 1 количество клеток памяти, требуемое для выполнения этой программы. Предложенный здесь алгоритм состоит в построении таких „частичных" программ. Сначала мы строим наиболее элементарные „частичные" программы, используя правило 1, а затем сочетаем их по правилу 2, получая все более и более сложные программы.
Последовательности ф(у(/), имеющиеся в правиле 2, представляют собой программы нахождения значений аргументов операции х. Объединяя их в одну программу ф(х), мы упорядочиваем их по убыванию требования количества памяти. Этот принцип совпадает с принципом, изложенным в работе [1]; наш алгоритм в основе такой же, как и предложенный там. Доказательство, проведенное в разд. 4, может рассматриваться как формальное доказательство алгоритма, приведенного в работе [1].
ЛИТЕРАТУРА
Nakata 1., On compiling algorithms for arithmetic expressions, Comm. ACM. 10, № 8 (1967), 492-494.
Плоские карты с заданными степенямивершин и граней1)
Б. Грюнбаум
Введение. В 3-связном графе G, уложенном на плоскости, обозначим через vfe (G) число вершин степени к, а через p^G) — число граней степени к (число ^-угольников карты, которая определяется графом G\ Рассмотрим здесь только графы без петель и параллельных ребер, поэтому Уд(6) и p^(G) определены лишь для fe^=3. Следующее выражение получаем из формулы Эйлера:
S(4-fe)p6(G)+S(4-fe)y6(G) = 8. кк
Продолжая и обобщая различные исследования, касающиеся теоремы Эберхарда (см. работы [1 — 5,7], а также работу [6], в которой даны исторические замечания об этой теореме и ее вариантах), рассмотрим следующую проблему: пусть даны последовательности р = (р3рп) и у = (у3, ..., ут) неотрицательных целых чисел, удовлетворяющих уравнению
пт
2(4-6)р+£(4-^ = 8.(1)
6=3»-з
Выясним, можно ли пару р, у реализовать, т. е. существует ли 3-связный плоский граф G, такой, что
рЛО^рь и y6(G) = yA для всех к =#4.
По теореме Штейница [4, 8, 9] граф G изоморфен графу, образованному ребрами и вершинами 3-мерного выпуклого многогранника тогда и только тогда, когда G плоский и 3-связный; поэтому легко понять значение этой проблемы в комбинаторной теории выпуклых многогранников.
Так как для плоского графа G число ребер равно половине суммы
2 Ш = 2 ки,^,
А>3к>3
то еще одним необходимым условием реализуемости пары р, у является четность сумм
пm
51Ьрк и s kyk.(2)
6=36-3
Докажем следующую теорему.
Теорема. Если последовательности р — (р3, ..., р^ й и = (и3, ..., ит) неотрицательных целых чисел удовлетворяют условиям (1) и (2), то пара р, и реализуема.
Доказательство теоремы. Для доказательства теоремы построим 3-связный плоский граф для каждой пары р, и, удовлетворяющей (1) и (2). Из построения будет видно, что все получаемые графы плоские и 3-связные. Поэтому эти свойства особо рассматриваться не будут, а все внимание мы сосредоточим на получении заданных степеней вершин и граней.
Удобно разбить доказательство теоремы на ряд случаев.
Случай 1. Ук = 0 для £=/=4. Уравнение (1) примет вид
5(4-А)рб = 8.(3)
6>3
Мы должны построить однородный граф G степени 4, Такой, что р^(О) = рй для всех к ^ 4.
Начнем с построения специальных графов, которые будем называть блоками. Для построения r-блока (г^4) возьмем квадрат, на каждой из его двух смежных сторон отметим г —4 точек, которые соединим, как указано на рис. 1 (для г = 9). Если точки выбраны соответствующим образом *), то каждый г-блок будет содержать один г-угольник, (г — 4) треугольников и Сг-4 четырехугольников. При этом все внутренние вершины имеют степень 4, а на двух сторонах квадрата будет 4 вершины степени 2 и 2 (г — 4) вершины степени 3.
Пусть дана последовательность р, удовлетворяющая уравнению (3). Для каждого к^5 образуем рк fe-блоков. Из этих блоков и дополнительных четырехугольников построим большой блок (superblock), так, как указано на рис. 2. (Общий случай мы не будем описывать ввиду очевидности построения.)
„Внешний" вид большого блока такой же, как и самого блока. Большой блок включает необходимое число fe-угольников для всех к">5, но для выполнения уравнения (1) еще требуется 8 треугольников.
к
Построение теперь легко завершить способом, указанным на рис. 3 для большого блока, представленного на рис. 2. Так как на этом этапе добавляются только четырехугольники и 8 треугольников, обеспечивающие всем вершинам степень 4, мы получаем требуемый граф. Доказательство теоремы в случае 1 завершено.
Замечание. Рассмотренную выше конструкцию можно найти в работе [4; § 13.3]. Она была приведена здесь для полноты
Рис. 3.
изложения, а также для выделения следующих этапов решения, необходимых при изучении оставшихся случаев:
(i) Два блока, заштрихованные на рис. 2, назовем верхним и нижним. Подчеркнем здесь важность того, какие именно fe-блоки нужно разместить в эти выделенные области. (Отметим, что ориентация нижнего блока отлична от ориентации других блоков.)
(п) Произвольно большой набор четырехугольников (далее используется термин четырехугольная решетка') можно организовать в большой блок, реализующий любую последовательность при добавлении необходимого числа 4-блоков в конструкцию больших блоков. Чтобы в некоторых особых случаях (таких, как р* = 0 для всех fe^5) не менять эту конструкцию,
будем всегда в большой блок включать по крайней мере два 4-блока.
Случай 2.
пт
^^-k>Pk=Ti^-^Uk = 4, где и3 > 5. к=3к=3
Обозначим через и' последовательность: п' = п3 + 3, и'т_1 = = Ут_] + 1, у^ = vm — 1, п' = ик для к =# 3, tn — 1, tn. Последовательность и' удовлетворяет уравнению (3) (последователь
ность у' соответствует р в случае 1). Построим, как и в случае 1, однородный граф G степени 4, имеющий ик граней степени к. Возьмем в качестве верхнего блока (т — 1)-блок (далее будем использовать термин „вершинная компонента** конструкции). Теперь рассмотрим граф О', двойственный к G. Все грани графа G' суть четырехугольники, и у' вершин имеют степень к (£=#=4). Верхняя вершина У| графа G соответствует в графе G четырехугольнику У|, который имеет 3 вершины степени 3 и одну вершину степени (m— 1) (рис. 4, а, где т = 8).
Пусть р'— последовательность, определяемая соотношениями: р' = р3 + 3, р'п_х = рп_хЛ.\, р'п = Рп_\ и р'к = Рк для к^г, п—\,п. Эта последовательность также удовлетворяет уравне-
нию (3), и, как в случае 1, мы можем построить однородный граф G" степени 4 с р'к гранями степени ^ (6 =^ 4), имеющий в качестве верхнего блока (и—1)-блок. Представим G" на плоскости так, как это показано на рис. 4, b (на котором квадрат соответствует жирной линии, окружающей вершину Vx на рис. 3). Наконец, объединим графы G' и G", выбросив Ух из G", помещая оставшуюся часть G" в четырехугольник У' в G' и соединяя ребрами четыре пары вершин, расположенные друг против друга (рис. 4, с). Как легко проверить, полученный граф имеет рк граней степени к и vk вершин степени к для всех к =^ 4. Этим завершается построение в случае 2.
Случай 3. пm
2 (4 — k)pk>4> 2 Ц-к^ик для у3>5. к=3к-3
Теперь начнем с выбора последовательности w целых чисел, в которой еу3 = О, ш5^0, ..., шт ^ 0 и такой, что будем иметь 2 (4 - k) и' = 4, к>3в
положив у' = ик — wk *). Дальнейшее построение зависит от четности суммы S kwk.
к>5
Подслучай 3.1. Сумма S кшк четна.
к>5
Определим последовательность р' с помощью
Рз = Р3- S (4-^)zyfc и рк = рк Для к>5.
Легко проверить, что последовательности р', и' удовлетворяют условиям, наложенным на р и и в случае 2. К графу, построенному так, как это делается в случае 2, реализующему р', и' и содержащему достаточно большую четырехугольную решетку, применим следующие преобразования, которые, однако, еще не обеспечивают конструкцию треугольниками и вершинами с большими степенями.
*) Существование такой последовательности можно доказать следующим образом. Обозначим ^] (4 — fe) рь = /, тогда Р3 = Р3 — U~ 4) и t — 4 = к-5 п
= — 2 (4 — й)р6. Например, можно взять ®5 = /-4, a>fc =0 для 6^>6. Тогда к-5
р3>0, так как иначе получаем / = р3 + 2 (4 — к’)рк<р3 и р3</ —4, т. е. к>5
t<pi<t — 4. — Прим, перев.
8 Зак. 560
Первое преобразование можно описать следующим образом. Для любого целого числа г^З в решетке стянем в точку простую цепь, содержащую г — 2 ребра; на рис. 5 приведен случай г = 5. Эта операция дает одну вершину степени 2г и
Рис. 5.
2г — 4 треугольников, а остальная часть графа остается без изменений.
Другим преобразованием для нечетных чисел ^^$^5 стягиваются в точки s — 4 ребер и (^ + s — 8)/2 ребер данной решетки способом, представленным на рис. 6 для s = 7, ^ = 15. В результате получаем одну вершину степени s, одну вершину степени t и s +1 — 8 = (s — 4) + (t — 4) треугольников; остальная часть графа опять остается без изменений.
Повторяя преобразования указанных двух типов необходимое число раз, завершаем доказательство.
Подслучай 3.2. Сумма У кавк нечетна.
к>5
Пусть г ^ 5 — нечетное число, такое, что wr^\. Определим последовательности и", р" с помощью соотношений и" = и3+1, и"_! = уг_, + 1, У" = УГ~ I, У£ = У6 для k=#3, г—1, г и р" = р3 — 2, р" = рк для к ф 3. Эти последовательности удовлетворяют предположениям подслучая 3.1. Пусть Н — граф, по-
Рис. 8.
строенный, как в подслучае 3.1, и реализующий р", и" таким образом, что нижним блоком, который используется в построении „вершинной компоненты", является (г—1)-блок- Из задания графа Н следует, что он включает подграф (изображен на рис. 7, а), содержащий четырехугольник V? с тремя вершинами степени 3 и одной — степени (г—1). Проведя в Va диагональ (рис. 7,6), получаем из Н граф, реализующий данные последовательности р, и. Этим завершается доказательство этого подслучая.
Случай 4. 2 (4 — k)pk ^ 4^ 2 (4 — k) ик и 0 ^ и3 ^ 4. h>3 к>3
Заменим последовательность и новой последовательностью а' = и' = и3 + 6, и' = и5 + 6 и у£=у6 Для k =/= 3, 5. Последовательности р и у' удовлетворяют предположениям случаев 2 или 3, поэтому, как и выше, можно построить реализующий их граф G. Единственным дополнительным шагом в этом по-
6*
строении является размещение 6 „новых" 5-блоков „вершинной компоненты" в трех противоположных парах, вид которых показан на рис. 8, а. Каждой такой паре в графе G соответствует подграф, показанный на рис. 8, Ь. Каждый из трех подграфов затем преобразуется так, как указано при переходе от рис. 8, b к рис. 8, с. Полученный граф реализует данные последовательности р, и.
Случай 5. 2 (4 — k^pk<4< 2 (4 — k)vk. к>3к>3
Доказательство в этом случае можно получить из уже рассмотренных случаев, используя переход к двойственным графам.
Таким образом, все случаи разобраны и доказательство теоремы закончено.
Замечания. Построение, используемое при доказательстве теоремы, приводит, вообще говоря, к очень большому числу четырехугольников и вершин степени 4. Было бы интересно найти нижнюю границу числа p4(G) + y4(G) в зависимости от р и и.
Эберхард [3] получил следующий результат: пусть р3, ..., рп, г —целые неотрицательные числа, удовлетворяющие уравнению 2 (6 — к)рк = 12 + 2г, тогда существует 3-связный плоский граф G, 6>3
такой, что pt(G) = pfc для всех й=#6 и 2 (3 — к) vk (G) = — г. к>4
Как обобщение этого результата и по аналогии с доказанной теоремой выдвигается следующее предположение.
Предположение 1. Если р3, ..., рп\ и3vm — неотрицательные целые числа, такие, что сумма 2 kvk четна и к>3
2 (6-£)р* + 2 2 (3-£)у*= 12,(4)
6>3к>3
то существует 3-связный плоский граф G, у которого pAG^ — Pk для всех £«^6 и иА(С) = Уь для всех к 3.
Если допустить кратные ребра и петли и отказаться от 3-связности, то можно выдвинуть второе предположение.
Предположение 2. Пусть рАрп\ щ, ..., vm — неотрицательные целые числа, такие, что сумма 2 ^ok четна и
2 (4-*)Р* + 2 (4-А)у6 = 8к>1к>1
(соответственно 2 (6 — к) рк + 2 2 (3 — к) vk = 12 V Тогда суще- \к>\к>\/
ствует связный плоский граф G, такой, что pkkG^ = pk и
Uj(G') = Vj для всех £ =# 4 и j=#4 (соответственно для всех к =# 6 и j=#3\ Однако если рх = их=О, то можно предположить, что будет существовать 2-связный плоский граф G.
В частном случае, когда 0^ = 0 для k =# 4 (соответственно Для k ^ 3), предположение 2 было доказано Рауландом [7] •).
По-видимому, доказанная теорема и приведенные выше предположения можно обобщить на графы, которые укладываются на 2-мерном многообразии рода g, поставив в правой части условий (1), (4) и др. множитель (1 — g).
ЛИТЕРАТУРА
Barnette D., On p-vectors of simple 3-polytopes, J. Combinat. Theory (в печати).
Bott ger G., Harders H., Note on a problem by S. L. Hakimi concerning planar graphs without parallel elements, /. SIAM, 12 (1964), 838-839.
Eberhard V., Zur Morphologie der Polyeder, Teubner, Leipzig, 1891.
G r 0 n b a u m B., Convex polytopes, New York, 1967.
Griinbaum B., A companion to Eberhard’s theorem, Israel I. Math, (в печати).
Griinbaum B., Polytopes, graphes, and complexes, Ball. Amer. Math. Soc. (в печати).
R о w 1 a n d D., An extension of Eberhard’s theorem, M. Sc. Thesis, University of Washington, 1968.
Steinitz E., Polyeder und Raumeinteilung, Enzykl. math. Wiss., v. 3 (Geometrie), Part ЗАВ 12, 1922, S. 1—139.
Steinitz E., Rademacher H., Vorlesungen Ober die Theorie der Polyeder, Berlin, 1934.
гдагдак (п- 1),2п + 66- 16,Зя + 36 - 12,к (п- 1),2п + 66- 16,Зя + 36 - 12,. Ch va tai V., Planarity of graphs with given degrees of vertices, Nleuw arch, wiskunde, 17, № 1 (1969), 47—60.
гда
гда
к (п- 1),
2п + 66- 16,
Зя + 36 - 12,
к (п- 1),
2п + 66- 16,
Зя + 36 - 12,
Вложение графовв ориентируемые поверхности))
Дж. Ч. Боланд
1. В работе [1] мы дали необходимые и достаточные условия вложимости графа в проективную плоскость. Возникает вопрос, применимы ли методы, использованные в [1], для получения необходимых и достаточных условий вложимости графа в другие поверхности. В данной статье мы будем называть замкнутое ориентируемое 2-мерное многообразие рода g ориентируемой поверхностью и обозначать ее Tg. Можно было бы ожидать, что, например, в случае тора Тх справедливо следующее утверждение, аналогичное теореме Маклейна для Г0[2] и теореме в работе [1] для проективной плоскости.
Утверждение. Граф X вложим в Тх тогда и только тогда, когда существует множество циклов СД/=1, ..., и) в X, такое, что;
каждое ребро графа X принадлежит не более чем двум циклам из этого множества-,
циклы СД1 = 1, ..., и) порождают подгруппу N (Сь ..., С„) группы гомологий НДХ, Z\ такую, что НДХ, Z^N^Cx,... ..., С„) — свободная группа ранга 2.
Однако это утверждение не имеет места, как показывает следующий контрпример. Пусть С —меридиан тора Тх, а р — некоторая точка Тх, р^С. Факторпространство Тх = ТХ/(С U{р}) есть ориентируемое псевдомногообразие, у которого первая группа гомологий с целыми коэффициентами HxVr'\) есть свободная абелева группа ранга 2.
Как показывает рис. 1, факторпространство Tv содержит два графа Куратовского К\ и К-г, которые имеют не более одной общей точки. Рассмотрим триангуляцию факторпространства Гь такую, что ее Ростов X содержит К^Кг- Возьмем границы 2-симплексов в качестве циклов C<cJf(z'=lи); ясно, что граф X удовлетворяет условиям высказанного утверждения. Однако X нельзя вложить в Ть поскольку этого нельзя сделать уже с графом КуМК-г- Для доказательства предположим,
Рис. 1.
что существует вложение f: KiUK2~>T’p Легко убедиться, что компоненты из Tt \ f (К^ = {х|х е Tv, х ^=/(/(J] суть 2-клетки.
Следовательно, ЦК?) содержится в замыкании некоторой 2-клетки Е, с границей дЕ которой Н^г) имеет ровно одну общую точку. Рассмотрим последовательность
Ка-^Е^Ё^дЕ,
в которой Е — замыкание Е в топологии Тп а ф — естественное отображение Е на факторпространство Е]дЕ. Мы получили гомеоморфизм ф/ графа К? в 2-сферу Е)дЕ, что невозможно. Отсюда следует, что высказанное нами утверждение не имеет места, и мы не сможем получить обобщение теоремы Маклейна, работая с Ht (X, Z). Однако мы добьемся успеха, если заменим группу Нх (X, 2) фундаментальной группой Л] (X). Прежде чем формулировать основную теорему, введем следующие обозначения:
Fr — свободная группа ранга г,
А * В — свободное произведение групп А и В, п
П, Л; — свободное произведение групп Л,, ..., Ап.
Z-1
Если Сь ..., Сп — циклы графа X, то N(,Cb ..., С„)— наименьшая нормальная подгруппа в л, (X), определенная циклами С1( ..., Сп.
Используя эти обозначения, сформулируем следующую теорему.
Теорема. Связный граф X вложим в поверхность Tg тогда и только тогда, когда X содержит множество циклов Сь ..., Сп, такое, что1.
каждое ребро в X принадлежит не более чем двум циклам из этого множества,
tc^X^N^CxCJ = Fg »П.Я1(78<), причем ^gi^g. ° Z-l1=0
В § 3 мы докажем эту теорему, а в § 2 установим леммы, необходимые для доказательства.
2. Графом мы называем конечный 1-мерный комплекс. Связность понимается как обычно. В данной статье мы рассматриваем только связные графы.
Циклом будем называть связный граф, каждая вершина которого принадлежит ровно двум ребрам. Если цикл С с базисной точкой с0 содержится в графе X с базисной точкой х0, то отображение вложения V. С —>• X не обязательно индуцирует гомоморфизм л, (С, с0) в Л] (X, x0Y поскольку С не обязательно содержит точку х0. Мы выбираем путь т] из х0 в с0 в графе X и определяем N (С) как наименьшую нормальную подгруппу в ЛДЛ-, х0), содержащую все пути г) • ^ • "П-*, где | е л, (С, с0). Ясно, что подгруппа N (С) не зависит от выбора т). Говорят, что элемент а в лЦХ, х0) соответствует циклу С, если а сопряжен с элементом т]£п~*, Где 6 есть образующий в Л( (С, с0). Пусть (Cj, ..., С„} — множество циклов в X. Определим N (Сь ..., Сп) как наименьшую нормальную подгруппу в Л! (X, х0), содержащую все подгруппы N (Ct) (/=1tt\ Если не возникает неясности, мы будем писать л, (X) вместо лЦА", х^.
Вложение f: X -* Tg называется 2-клеточным вложением тогда и только тогда, когда компоненты Tg\f(X) суть 2-клетки.
Лемма 2.1. Пусть X есть связный граф, хоеХ, z^Tg, и пусть
Ь {X, Х^Т,, z)
f.: л ДА", x^-fr^Tg, z)f.: л ДА", x^-fr^Tg, z)есть эпиморфизм.есть эпиморфизм.есть 2-клеточное вложение. Тогда индуцированный гомоморфизм
f.: л ДА", x^-fr^Tg, z)
f.: л ДА", x^-fr^Tg, z)
есть эпиморфизм.
есть эпиморфизм.
Доказательство следует из рассмотрения точной последовательности
лДХ, ^-^л,^. ^-^лД^, /(*))-> О,
поскольку лДГ^, /(^)) = Л! (Tglf (Х)) = Л] (букет 2-сфер) = 0.
Определение. Пусть X — граф, и пусть S = {С,Сп} — множество циклов в X. Множество S называется т-системой в X тогда и только тогда, когда каждое ребро в X принадлежит не более чем двум элементам из S.
Разделяющая точка связного пространства У —это такая точка yeY, для которой У\{г/} несвязно. Локально разделяющая точка пространства У—это точка у е У, которая является разделяющей для всех достаточно малых окрестностей у.
Далее, 2-мерное псевдомногообразие есть 2-мерный комплекс со следующими свойствами:
каждый 1-симплекс лежит на границе по крайней мере одного, но не более двух 2-симплексов;
для любых двух 2-симплексов | и л существует последовательность Il ..., |г 2-симплексов, такая, что li=|, |г = Л, и два соседних элемента этой последовательности имеют общий 1-симплекс.
Лемма 2.2. Пусть X — связный граф, и пусть S = (Сь ..., Сп^ есть т-система циклов в X. Существует свободная группа F и множество псевдомногообразий Yt, .... Yr, такие, что
л,№(С„C„) = F*n.(n,(yz)).
Z = 1
Доказательство. Приклеим 2-клетку Ei к каждому п
из циклов Ct (t=l, ..., п). Пусть У = XU (J£■,» и пусть Е{~ i = 1
замыкание Et в У Ц= 1, ..., nV В множестве 2-клеток Et (/=1, ..., п) введем отношение эквивалентности 9? следующим образом: Et9tEi (i, /=1, ..., п) выполнено тогда и только тогда, когда существует последовательность Ffe = E{k(k = l,..., s), такая, что РХ = ЕЬ Fs = Ej ц FfcnFfc+1 содержит не меньше одного ребра из X (6=1, ..., s—1). Пусть Нх, ..., Нг — классы эквивалентности по отношению 9i, и пусть У; = (J Ek U = 1, .. •, г).
Ek^i
Поскольку S есть т-система циклов в X, ясно, что каждое Yt
(/ = 1, ..., г) является псевдомногообразием1). Пусть ^—подграф в X, определенный теми ребрами, которые не вошли ни в один цикл из S, и пусть Х{ — максимальное дерево, содержащееся в X П Yt (z = 1, ..., г).
Гг
Пусть теперь Уо = (J Xt. Ясно, что У = (J У,. Каждое псевдо- z = oz = o
многообразие У, (z=l, ..., г) имеет в пересечении с y0U (J^/
ацикличное множество X,.
Согласно теореме Ван Кампена, отсюда следует, что
л,(У) = ПФ(л,(уа).Z-0
Поскольку Уо —граф, Л] (Уо) — свободная группа. Обозначив л^Уо^Р, получим
*п.(л,(уа).1=1
С другой стороны, пространство У было построено путем приклеивания 2-клетки к каждому циклу С,(/= 1, ..., и). Поэтому
л,(У)=л,(досс,,.... с„)=^п.(Л1(уа)- .z=i
' Лемма 2.3. Для всякого 2-мерного псевдо многообразия У существуют свободная группа F и замкнутое 2-мер/1ое многообразие У, такие, что Л](У) = F *Л](У).
Доказательство. Если У не имеет локально разделяющих точек, то ясно, что У есть компактное 2-мерное многообразие, быть может, с границей. Если граница У не пуста, то она состоит из некоторого числа циклов Ch ..., Сг. Пусть циклу С( (z = 1г) соответствует элемент ^ел,(У). Известно, что в этом случае всегда найдутся такие элементы xh ..., х^, что х, х^, g,» ..., £г будут системой образующих для л, (У), которые удовлетворяют только одному соотношению вида
«61 • • • • • 6г = е,
где а = [х1, х2] • ... • fe-n ^]> если У ориентируемо, и а = х2 ... х2к, если У не ориентируемо; здесь [хг xj = х1х)хтххух.
Итак, в этом случае л^У) есть свободная группа ранга А + г—1, и достаточно положить /7 = л1(У), У = То, чтобы убедиться в справедливости леммы 2.3.
В случае, когда граница У пуста, лемма выполняется, если взять У=У и F = {e}, где {е} —группа, содержащая только один элемент. Таким образом, лемма доказана для псевдомногообразий без локально разделяющих точек. Возьмем теперь целое п и псевдомногообразие У с п локально разделяющими точками, и пусть лемма выполняется для всех псевдомногообразий с не более чем (n—1) такими точками. Ясно, что для локально разделяющей точки peY существует достаточно малая окрестность V этой точки, такая, что:
У = (J £<• кажД°е Ei есть 2-клетка,
Е^Е^ {р}(I, /=1, ...,_«),
каждая компонента из V \ V есть цикл или дуга (V означает замыкание V).
Пусть Сь ..., Сг — те компоненты из V \ V, которые являются циклами, a Lr+V, ..., Ls — остальные компоненты. Приклеим 2-клетку Е, к каждому из циклов Ct (/= 1, .... г) и
Г
рассмотрим пространство У = (У \ У) U (J Et, которое, очевидно, есть псевдомногообразие с не более чем (и—1) локально разделяющими точками.
Согласно предположению индукции, имеем
пДП = Е'*пДП.
Выберем теперь точки р.еЕ, (/=1, .... г), р/^L/ (j = r+ +1, . .., s) и обозначим Р = [pj U • • • U {ps}- Рассмотрим фактор- пространство Y"=Y'IP. Известно, что л, (У") = Fg-t ♦ л, (У'). Легко доказать, что У" гомотопически эквивалентно первоначально взятому псевдомногообразию У, откуда получаем
л1(У") = л,(У),
а, значит, л, (У) = F,-! ♦ F' ♦ л, (У') = F ♦ Я] (У), где F = FS_1*F' и Y=Y'.
Лемма 2.4. Пусть X есть связный граф, и пусть S — «{Cj, ..., CJ есть т-система циклов в X. Тогда;
существуют свободная группа F и замкнутые 2-мерные многообразия Yx, ..., Yr, такие, что
^W/N^, ..., C„) = F *л|(У|)» ... *л,(Уг);(1)
более того, множество S определяет группу F с точностью до изоморфизма, а многообразия Yt, ..., Yr — с точностью до гомеоморфизма.
Доказательство. Первое утверждение следует из лемм 2.2 и 2.3. Ден [3] показал, что в разложении (1) сомножители определены с точностью до изоморфизма и, значит, соответствующие многообразия — с точностью до гомеоморфизма, что и доказывает второе утверждение.
Определение. Пусть X есть связный граф; S = [С], .. ., Сп^ есть т-система циклов в нем; F — свободная группа ранга g0; Yt (г = 1, ..., г) есть 2-мерное многообразие рода gt (i = 1, ..., г), и пусть
«1 WIN (С,Сп) - F * Л] (У,) * ... * л, (уг).
Определим род g(S) для т-системы S как
g (5) = g0 + gY + •+gr.
Лемма 2.5. Пусть S, и S2 есть т-системы циклов связного графа X. Если SY с S2, то g(S2)^g(SY).
Доказательство. Пусть S^fC^ ..., W, и пусть CeS2\Si. Рассмотрим множество Si=(C], ..., Сп, С}-*циклов в X. Поскольку Si cz S2, ясно, что Si есть т-система. Достаточно доказать, что g(sQ^g(S|), так как отсюда по индукции следует, что g(S2)^g(SY).
Приклеим 2-клетку Е, к циклу С, (t = 1, ..., п) и рассмот- Г
рим пространство У = X U (J Et.
Как и при доказательстве леммы 2.2, пишем
У=УоиУ,и ... иУ„
где У]Уг — псевдомногообразия (быть может, с границей), а Уо —граф, который пересекается с каждым Yt (i=l, ..., г)
т
по ацикличному множеству. Разумеется, лДУ) = ЛФ (л, ТО- 1—0
Предположим сначала, что С содержится в одном из пространств У, (t=l, ..., г), например С с УР Согласно лемме
2.3, имеем
лДУ^-F «лДУО,
где У, есть 2-мерное многообразие. Рассмотрим отображение вложения i: C->YV и индуцированный им гомеоморфизм I;. л, (С)-> л, (У,) (базисная точка в У выбрана лежащей на С). Ясно, что С —граничный цикл псевдомногообразия Yv Поэтому, если £ есть образующий группы л, (С), то i,(y ел^У,)).
Приклеим 2-клетку Е к циклу С. Получим пространство У[ = У1 U ^- Снова пишем Л] (У0 = F * Hi (PQ. Ясно, что Л1(У0 получается из л, (У,) факторизацией по наименьшей нормальной подгруппе, содержащей z. (£)), a F' = F. Если У] имеет непустую границу, то непустую же границу имеет и Yt. Как Л](у0, так и Л1(У1) в этом случае суть свободные группы, причем ранг Л1(У0 равен рангу Л](У1) без единицы.
Если же У{ — замкнутое многообразие рода g, то лДК) — свободная группа ранга 2g). В обоих случаях имеем по определению рода т-системы g(S0^g(Si).
Пусть теперь С не содержится полностью ни в одном из псевдомногообразий У)Уг. Тогда при i=lг С П У, есть ацикличное множество. Легко показать, что в этом случае в X П У,- существует максимальное дерево Lb содержащее С ПУ, 0=1г). Если обозначить Хо подграф в X, опреде
ленный теми ребрами X, которые не входят ни в один цикл
Г
т-системы Sb и обозначить yo = ^oU(J^i> то можно записать, i-l
что У = Уо U (J У' и чт0 i-l
Ясно, что теперь СсУ0. Снова рассмотрим z: С—>Уо. Выберем базисные точки в У, Уо, С так, чтобы они совпадали, тогда /.(Уел^У') (здесь £ есть образующий в л, (С)). Оче-
видно, что ^(Уд) изоморфно л^У')). Приклеим 2-клетку Е Г
к циклу С, тогда л, (УUЕ) = Л ♦ Ц,(Л| (У,)), где Л получено из л, (У') факторизацией по наименьшей нормальной подгруппе, содержащей 1.^У Но rank А ^ rank л, (У') = rank л( (Уо), так что и в этом случае g(S|)^g(S|). Лемма 2.5 доказана.
По определению т-система S в графе X называется максимальной, если S не содержится ни в какой т-системе, отличной от S.
§ 3. В этом параграфе мы докажем следующую теорему.
Теорема 3.1. Связный граф X может быть вложен в ориентируемую поверхность Tg рода g тогда и только тогда, когда в X существует т-система циклов S = {Cb ..., С„}, для которой выполнены условия
g(S)^g,
л.^^,C^-F .ПДл,^))).
Доказательство. Сначала докажем необходимость этих условий индукцией по g. При g = 0 поверхность Tg является 2-сферой. Пусть связный граф X вкладывается в То. В этом случае, как утверждает теорема Маклейна, существует т-система S = {Cb ..., С„} циклов в X, для которой
л^улцс,, .... С„) = 0.
Очевидно, что условия 1) и 2) при этом выполнены.
Возьмем теперь натуральное число g. Предположим, что в каждом связном графе, который вкладывается в поверхность Tg-, 0 ^g7 <. g, существует т-система циклов, удовлетворяющая условиям теоремы. Рассмотрим связный граф X, вкладывающийся в поверхность Tg. Согласно Янгсу [4], в этом случае существует 2-клеточное вложение X в поверхность Tg-, где O^g'^g. Если g' <g, то в X по предположению индукции существует такая т-система, род которой не превосходит g', а следовательно, не превосходит и g, причем выполнено также условие 2). Пусть теперь g' = g, т. е. существует 2-клеточное вложение / графа X в Tg. По лемме 2.1 индуцированное отображение /.: л, (X) -► Л] (Tg) является эпиморфизмом. Поэтому
в X существует 2g циклов Dv, ..., D2g, таких, что для соответствующих элементов х^ ..., x2g в л, (Л) их образы fAxiY .... f„(x2g) можно взять в качестве образующих группы Я] ^Tg), связанных единственным соотношением
[У„ У2\ • • • • • [^.р У2в\ = е (здесь til = f* (х^ ).
Разрезав Tg по каждому из циклов /(/),) (/= 12g), мы
получим замкнутую 2-клетку Р и непрерывное отображение a: P^Tg, сужение которого на внутренность Р есть гомеоморфизм.
Более того, а(5Р) с f (X).
Рассмотрим множество X' = а-1 (f (X)). Очевидно, что X* есть плоский граф, поэтому в X' существует т-система циклов S' = (с', ..., С„), для которой
л^гулг^,.... с;)=о.
Согласно [4], каждый цикл С/ (/=1, ..., и) лежит на границе некоторой компоненты из Р \ X' ’). Каждое ребро границы дР принадлежит ровно одному циклу С; (/=1, ..., nY Предположим сначала, что а 1^, есть гомеоморфизм при всех / = 1, ..п. Положим Ci = f-‘a(c9 (/=1nY Ясно, что множество S = {С[, ..., Сп} является т-системой в X, причем N (С,С„)
есть ядро отображения /,: л, (Л) -► л, (TgY Поскольку f. эпиморфизм, имеем nJX)^^, ..., Сп) = nt (TgY а значит, S удовлетворяет условиям 1) и 2) нашей теоремы.
Пусть теперь а | , не есть гомеоморфизм при некотором I, ct
иапример, а | , не есть гомеоморфизм. Тогда существуют точки ci
а и b на Ci, а ф Ь, такие, что a(a) = a(6). Поскольку С] лежит на границе некоторой компоненты из Р \ X', существует дуга L cP, для которой
Л fU'= {«№}.
Очевидно, D=a(L) есть цикл на Tg, причем ОП/ = {р}> где p = a(a)=a(6). Разрежем поверхность Tg по циклу D. Пусть D' и D" — циклы, полученные из D при разрезании. В зависимости от того, разделяет или нет цикл D поверхность Tg, рассмотрим два случая.
Пусть D разделяет поверхность Т^). При этом мы получаем две поверхности Tg' и Tg", причем g' + g" = g. Поскольку цикл D не ограничивает на поверхности Tg никакой 2-клетки), то g' >0 и g" >0, и, следовательно, g' <g, g"<g. Пусть Xv и Х2 означают подграфы графа X, попавшие соответственно на Т^
и Tg--. По предположению индукции существуют т-система
SI={C1Сг} циклов из Хх и т-система S2 = {Cr+b ..., Cm}
циклов из Х2, для которых
glS^g',
g(S2)<g",
л, MN (С,Cr^ = Fv* ft. (л, ^ ),
л, MN (Сг+1Cm) = F2 * П. (я, М).
Приклеим к каждому циклу С, (t=l, .... m?) 2-клетку Et и гm
рассмотрим y] = X|UU^> ^2 = -^2U (J Ei- Имеем i = lZ=r+I
л1(У,) = л1(Х1)^(С„ ..., Cr) и п^МХЖСж. .... CmY
Если отождествить теперь точку, взятую на Л^П^Л с точкой, взятой на Х2 П D", то получится пространство У, для которого Л) (У) = Л, (Ft) * fij (У2).
Рассмотрим множество S = {C1, ..., Cm} как т-систему в X. Ясно, что л, (X)/W (С,Ст) = л!(У1)*л1(У2), т. е. g(SXg' + + g" = g- Условия нашей теоремы выполнены.
Остается случай, когда D не разделяет поверхность Tg. Разрезание Tg по D дает ориентируемую незамкнутую поверхность Tg-i рода g — 1, для которой D' и D" являются граничными циклами. Разрезанию соответствует отображение q: Tg-\-*Tg, каждой точке х е T'g-\ оно сопоставляет точку q(x)e7’?, из которой х получено при разрезании. Приклеив к О' и D" соответственно 2-клетки Е' и Е", получим замкнутую поверхность Tg^ = Tg_t U Е' U Е". Рассмотрим X' = q~' (f (X)). По предположению индукции в X' существует т-система циклов S" = (СГCm}, для которой
^№tc"с-з-р.п.^,^)),
причем g(S")^g — 1. Приклеим к каждому циклу С{ 2-клетку Et tn
(i=l, ..., т) и рассмотрим У = АГ U (J f f. Ясно, что л, (У) = "г=1
= Л] (X')/N (С", ..., С"). Если отождествить теперь две точки из т]~'(р), получится пространство У, для которого л1(У,) = = Fx ♦ nt (У) (Fv есть свободная циклическая группа). Если взять теперь в качестве т-системы S множество циклов Ci = /-1т](С"), г=1пг, то получим
«ДЖи ...,Ст) = Е*л,(У),
т. е. g (S) ^ 1 + (g — 1) = g. Таким образом, условия 1) и 2) оказываются выполненными и здесь. Это завершает доказательство необходимости условий нашей теоремы.
Докажем теперь достаточность. Пусть А —связный граф, и пусть S = {C|, ..., Сп} есть т-система циклов из X, удовлетворяющая условиям 1) и 2) нашей теоремы. Мы предполагаем, что среди всех таких т-систем S обладает минимальным родом g(S). Приклеим к каждому циклу С, 2-клетку Et (i— 1,..., n).
Рассмотрим Y' = XU (J Ер
i-i
Г
В обозначениях леммы 2.2 имеем У' = (J Уе-, где Уо содержит, 1-0
в частности, все ребра X, не вошедшие ни в один цикл из S. Поскольку g(S) минимально, каждое псевдомногообразие Yt (i=l, ..., г) замкнуто') и каждая компонента связности М]
Г
графа У \ (J У< есть дерево (j = 1s).
i-i
Можно считать поэтому, что каждое М, вложено в 2-сферу Yr+1 r+s
(j=l, .... s) так, что Yr+I П Y' = М,. Рассмотрим У = иУг. По t —1
теореме Ван Кампена, имеем
л, (У) = Л, (У) = л, WfN (С,С„) = Fg, * П. (л. (7^)) =
-ПЛМУ,)). 1=0
’) Это неточно. Лемма 2.5 утверждает лишь, что при расширении т-системы ее род не убывает, а не обязательно возрастает. Легко построить контрпример, взяв сферу с дырой и парой тождественных точек. Заклейка дыры в этом случае не изменяет фундаментальной группы, равной Z. Мы можем, однако, считать, что выбранная нами т-снстема соответствующим образом расширена, так что все псевдомногообразия действительно замкнуты. — Прим, перев.
9 Зак. 660
Если вспомнить, что Л] (У£) = Е^ * л, (Tg^ (Z=l, ..., r + s), r+s
то мы получим 2 Ai = go'), gr+I = ••• = gr+s = 0. i = l
Для некоторых целых и, и, l^u, u^r + s, пусть УаП Yo#=0. Пусть р е Уп Q Уо. Рассмотрим замкнутые 2-клетки Е и Е', содержащиеся соответственно в Уц и Уо и такие, что Е П X = = Е' П X = {р}. Пусть С = дЕ и С' = дЕ' — граничные циклы этих клеток, Ё и Ё' — их внутренности, и пусть Z' = У \ {Е U Ё’\ У' = Уи \ Ё, Уу = У„ \ Ё'. Ясно, что
где А — группа с образующими xv .... x2g , /и единственным соотношением
[х,, х2] • ... • [^.р x2gJ • Z = е,
а I — элемент из л( (У'), соответствующий циклу С. Точно так же получаем
где 5 —группа с образующими ух, ..., y2g , т и единственным соотношением
[gp У2]- ••• -[^-Р У^\'т = е'
ат — элемент из л,(У'), соответствующий циклу С'. Для2*имеем
Iе* 1
где Gt = n.x^TK^, если z ^= и, и и Gtt = A, G0 = B.
Приклеив 2-клетку к Z’ вдоль пути I ■ т, мы получим пространство Z. Его фундаментальная группа имеет те же образующие и соотношения, что и группа Л! (2'), и еще одно соотношение 1-т = е. Добавление этого соотношения не изменяет групп Gt при i#=u, и, но приводит к замене группы GU*GO группой Л] (Tgtt+f/). Отсюда получаем
r+s
Л1 (^) = Fgo * II» (Л1 (Jgi)) * л (^gy+g,,)-i и, и
Г+э
') Здесь допущена неточность. На самом деле go = До + 2 А;, где h0
i = 1
равно рангу Л| (Уо)- Именно так и следует понимать это в дальнейшем. — Прим, перев.
r+s
Очевидно, что У g, при этой операции не изменяется, поэтому, i=0
повторяя ее, мы в конце концов получим вложение X в псевдомногообразие 2Ь для которого
^(2^ = Fg,*nATh\ go + h^g.
Пусть q — локально разделяющая точка Zx; 6/ —окрестность q; Ux и [/2 —две различные компоненты U \ {^}; D — цикл, содержащий точку q и такой, что D Q Ux ф 0 и D Q U2 ф 0. В группе Fg„ этому циклу соответствует элемент £. Рассмотрим 2-клетки Е и Е', для которых Е(\Х = Е' А X = {g}, Е с U х U {g}, Е' czL^UO?}- Удалим из Zx внутренности клеток Е и Е' и обозначим полученное пространство 2'. Имеем л, (2') = F?n-| * Л, где Л —группа с 2Л + 3 образующими х,, ..., х2А, I, т, £, связанными единственным соотношением
[хь х2]- ... «[x^.j, x2hV I-I-т-Vх = е.
Здесь I и т — элементы группы л, (2'), соответствующие граничным циклам дЕ и дЕ' клеток Е и Е'. Приклеив 2-клетку к 21 вдоль пути I • т, мы получим пространство Z". Его фундаментальная группа Л] (2") отличается от группы л, (2') лишь наличием одного дополнительного соотношения I • т = 1, т. е. имеем
А',
где А' задается образующими хи ..., х2А, £, / и единственным соотношением
[х„ х2] • ... • [х2А_!, х2А] • [Z, £] = е.
Следовательно, А' = л, (Т’А+!). Таким образом, мы получили вложение X в Zx, где
Л1 (Z7)= F^-i * "«(^л+О-
Повторяя описанную операцию, можно уничтожить все локально разделяющие точки и получить вложение X в Tgo+h. Поскольку go + h-^g, достаточность условий 1) и 2) доказана, а тем самым полностью закончено доказательство теоремы 3.1.
Замечание 1. В лемме 2.4 мы доказали, что для любой т-системы S = {Cb ..., С„} связного графа X выполнено следующее равенство:
Я! WIN (СхС„) = F * Л! (УО * л, (Уг),
где F — свободная группа, Уь ..., Уг — замкнутые многообразия. Отсюда следует, что группа л, (X)/N (Сь . .., Сп) определена при помощи конечного числа образующих и конечного числа соотношений, причем каждый из образующих появляется в соотношениях этой группы не более двух раз. Ден [3] показал, что в таких группах проблема тождества слов алгоритмически разрешима, а следовательно, и наше описание графов, вкладывающихся в ориентируемую поверхность рода g, эффективно.
Замечание 2. Пусть Хх и Х2 — два графа, рх — вершина в Хх, р2 — вершина в Х2. Обозначим Хх V Х2 граф, полученный отождествлением точек рх и р,. Известно, что род графа Хх V Х2 равен сумме родов графов Хх и Х2. Это можно теперь легко доказать с помощью теоремы 3.1.
ЛИТЕРАТУРА
Boland J. Ch., Embeddings of graphs in the projective plane, Fund. Math., 57 (1965), 195-203.
MacLaneS., A combinatorial condition for planar graphs. Fund. Math., 28 (1937), 271—283. (Русский перевод см. иа стр. 133 настоящего сборника.)
Dehn М., Ueber unendliche diskontinuierliche Gruppen, Math. Ann., 71 (1911), 116—144.
Y о u n g s J. W. T., Minimal embeddings and the genus of a graph, J. of Math, and Meeh., 12, № 2 (1963). (Русский перевод см. на стр. 145 настоящего сборника.)
5*. X и л т о н П., Уайли С., Теория гомологий, «Мир», М„ 1966.
6*. К р о у э л Р., Фокс Р., Введение в теорию узлов, «Мир», М., 1964.
Комбинаторное условиедля плоских графов)
С. Маклейн
ВВЕДЕНИЕ
Куратовский [I]) доказал, что топологический) граф является плоским (т. е. может быть взаимно однозначно отображен в плоскость) тогда и только тогда, когда он не содержит подграфа одного из двух особенных видов. Уитни [2] показал, что граф плоский тогда и только тогда, когда у него есть комбинаторный „двойник". В данной статье устанавливается еще один критерий того, что граф плоский. Он формулируется при помощи обычных комбинаторных понятий.
Теорема I. Комбинаторный граф является плоским тогда и только тогда, когда он содержит такую полную систему циклов, для которой никакое ребро не принадлежит более чем двум ц иклам.
Граф, расположенный на плоскости, делит ее на некоторое число областей, каждая из которых ограничена одним или более циклами. Легко показать, что множество таких циклов содержит полную систему, а каждое ребро графа принадлежит ие более чем двум циклам этой системы. Отсюда следует необходимость высказанных условий (разд. 5). Доказательство достаточности носит более комбинаторный характер. Для удобства мы сначала сводим задачу к случаю несепарабельных графов (разд. 3), ранее рассмотренных Уитни. Удалив из несепарабельного графа подходящее ребро, мы получаем более простой (и опять несепарабельный) граф. Его мы укладываем на плоскость, а затем показываем, что условия теоремы позволяют добавить удаленное ребро уже на плоскости (разд. 4, 5).
Чисто комбинаторными рассуждениями мы показываем затем эквивалентность критерия теоремы I критерию в терминах существования двойника (разд. 6). В свою очередь последний критерий, как известно [3], эквивалентен (в комбинаторном смысле) условию Куратовского.
ОПРЕДЕЛЕНИЯ
Комбинаторный граф G состоит из конечного множества элементов а, Ь, с, ... , называемых ребрами, и конечного множества вершин р, q, г, ... , такого, что каждое ребро b соединяет в точности две вершины р и q (в этом случае говорят, что р и q — „концы" ребра Ь, или р w q лежат на 6). Мы предполагаем, что каждая вершина лежит хотя бы на одном ребре'). Любое множество ребер вместе со всеми лежащими на них вершинами образует подграф графа G. Каждый подграф полностью определяется своими ребрами.
Если т>1 и если рх, р2, ■.., рт~ различные вершины, то подграф С, определяемый ребрами р^, р2р3, ...,рт_хрт, ртрх, называется циклом, а подграф D с ребрами рхр2, ..., рт_хрт цепью с концами рх и рт. Цепь называется подвешенной, если из всех ее вершин только рх и рт лежат не менее чем на трех ребрах из G. Если А и В — подграфы, то А Л В — подграф, определенный пересечением, А + В — объединением, G — А — разностью соответствующих множеств ребер.
Если граф G имеет E(G) ребер, V (G) вершин и P(G) компонент связности, то
/?(G) = K(G)-P(G), M(G) = E(G)-7(G) + P(G) (1) называются соответственно рангом и цикломатическим числом графа G. Сумма по mod 2 циклов Сх + С2 + ... + Ст — это подграф, содержащий все ребра, присутствующие в нечетном числе циклов написанной суммы. Циклы Сх, ..., С п образуют полную систему в G, если каждый цикл из G единственным образом представляется в виде суммы mod 2 некоторых из циклов С| С„. Каждый граф G содержит по крайней мере одну полную систему из n = NVG) циклов.
Плоский топологический граф Н состоит из конечного числа дуг (гомеоморфных образов отрезка) на плоскости. Две таких дуги либо не пересекаются, либо точка их пересечения является концом каждой из двух дуг. Дуги графа Я и их концы, очевидно, образуют комбинаторный граф Н', который тоже называется плоским.
НЕСЕПАРАБЕЛЬНЫЕ ГРАФЫ
Граф G называется сепарабельным, если он обладает двумя подграфами Fx и F2, такими, что Fx + F2 = G, a Fx и F2 не имеют общих ребер и могут иметь не более одной общей вершины.
*) Исключение „изолированных" вершин не влияет, очевидно, иа выводы теоремы I.
Если Fx и Fz не имеют общей вершины, то они не связаны), а если такая вершина р есть, ее называют разделяющей вершиной графа G. Про сепарабельный граф G говорят, что его можно разделить на графы Fx и F2. Граф Fx либо несепарабелен, либо его можно разделить на графы F3 и Fv То же верно и для Fy Повторяя этот процесс разделения графа, мы в конце концов получим подграфы Gn ..., Gm, которые будут несепарабельными, причем, проводя разделения другим способом, мы все равно получим те же самые графы ([2], теорема 12). С другой стороны, два ребра а и b графа G назовем циклически связанными, если либо а = Ь, либо в G существует цикл, содержащий как а, так и Ь. Можно доказать, что отношение „а и b циклически связаны" симметрично, рефлексивно и транзитивно и что его выполнение равносильно условию „принадлежит той же несепарабельной компоненте, что и Ь“ (см. [2], теорема 7). Тем самым несепарабельность оказывается определенной инвариантно относительно процесса разделения, что доказывает единственность несепарабельных компонент графа.
Теорема 3.1. Если G — несепарабельный граф, M(G)>1, a R есть цикл в G, то в R существует) цепь А, подвешенная в G, для которой G — А есть несепарабельный граф и N (G — А) = = N(G)~ 1.
Доказательство заключается в построении графа G из последовательности несепарабельных подграфов HxczH2cl .. . ,..cG. Поскольку N(G)> 1, в G существует ребро аи не лежащее на R. Возьмем в качестве Нх цикл, содержащий а, и некоторое ребро из R. Если Hm-^G уже выбрано, то Нт строим так: возьмем ребро ат в G — Hm_b не содержащееся в R (если такое имеется). Поскольку граф G несепарабелен, существует цикл D, содержащий ат и некоторое ребро из Hm_v Пусть теперь Ат — максимальная из цепей, лежащих на цикле D, содержащих ат и не содержащих ребер из Hm_v Остается положить Нт = Нт_х + Ат.
Каждый подграф Нт несепарабельный; мы докажем это по индукции. Цикл Нъ очевидно, является несепарабельным графом. Если Нт-1 несепарабельный, то ребра из Ат циклически связаны с остальными ребрами Нт, поэтому и Нт — несепарабельный граф.
Покажем теперь, что из Rc^Hm следует Hm = G. По построению Нх имеем R<£Hr Возьмем наименьшее/и > 1, для ко
торого Rc^Hm. В этом случае R<7tHm_x ив R существует ребро Ь, не принадлежащее Нт_х. Обозначим через Е максимальную из цепей, лежащих на R, содержащих b и не содержащих ребер из Hm_v Поскольку RcHm, то и ЕстНт = Нт_х + Лт. По построению в Е нет ребер из Нт-Х, поэтому Е с Ат. Но Лт выбиралось так, что единственными вершинами Лт, общими с Нт_ь были концы этой цепи. Тем же свойством обладает и Е, следовательно, Е — подцепь цепи Ат с теми же концами, что и у Лт. Отсюда Е = Ат. Если бы G — Hm_x не содержалось в R, то Ат имело бы ребро ат, не лежащее в R, откуда Am#=EcR. Полученное противоречие доказывает, что G — Нт_х с R. Но Нт содержит по построению Нт_х и по предположению содержит R, т. е. Hm=G.
Каждое Ат представляет собой цепь, подвешенную в Нт, поэтому N(Hm) = m. Процесс построения заканчивается при Hn = G, так что n^N^GY Последняя из добавленных цепей Л = Л„ подвешена в Нп = G и содержится в R (как показано выше), следовательно, N(G — А) = п — 1, что и завершает доказательство теоремы.
Сепарабельные графы можно также строить стандартным способом.
Теорема 3.2. Если граф G является сепарабельным, то в G существует такая несепарабельная компонента Н, что Н и G — Н имеют не более одной общей вершины.
Доказательство. Возьмем любую несепарабельную компоненту Нх в G. Либо Нх обладает нужными свойствами, либо в G — Нх существует несепарабельная компонента Н2, которая имеет с Нх общую вершину рх. Если Н2 также не обладает требуемыми качествами, существует компонента Н3=^Н2> у которой с Н2 имеется общая вершина р2^=рх. Если бы Н3 = НХ, то цепи в Н2 и Нх, соединяющие точки рх и р2, образовывали бы цикл, не содержащийся целиком ни в одной из этих компонент, что невозможно. Следовательно, Нх, Н2 и Н3 различны, а поэтому, если Н3 нас не удовлетворит, можно взять новую компоненту HA и т. д., пока (в силу конечности графа) не получим компоненту Нт с ровно одной вершиной, общей с G — Нт.
ПРОЦЕСС ИНДУКЦИИ
Рассмотрим комбинаторный граф G, который удовлетворяет условиям теоремы I, т. е. предположим, что G содержит пол- Цую систему циклов
Сь С2С„, п-ЩО\(2)
в которую любое ребро входит не более двух раз. Такую систему назовем полной т-системой. Циклы Gt независимы, а поэтому сумма
R = С, + С2 + ... + С„ (mod 2)(3)
не равна нулю. Будем называть R ободом графа G. Обод обладает следующим свойством.
Лемма 4.1. Если G — несепарабельный граф, то его обод является циклом.
Доказательство. Пусть, напротив, R не есть цикл. Тогда во всяком случае каждая вершина из R имеет четную степень, а следовательно, R в собственном смысле содержит некоторый цикл D. Можно написать разложение D по полной системе циклов (2), возможно изменив нумерацию,
D = CX-F ... + Cm (mod 2).
Поскольку D=/=R, имеем п>т. Поэтому ни один из графов
Fi — Cj + ... + Ст, F2 = Cm+1, + ... + Сп
не пуст. Мы покажем, что G можно разделить на Fx и F2. Ребро b из Fx П F2 должно содержаться в одном из первых т циклов С1( ..., Ст и в одном из последних п — т циклов Ст+1, ..., Сп. Поскольку (2) есть полная т-система, это единственные ее ;циклы, в которые входит Ь. Таким образом, b входит в одно слагаемое в разложении D и в два слагаемых в разложении R. Мы получили, что b входит в D, но не в R, хотя, с другой стороны, DcR. Это противоречие доказывает, что Ft 0 F2 не содержит ни одного ребра.
Так как граф G несепарабелен, существует цикл Е, содержащий как ребро из Fx, так и ребро из F2. Разложим этот цикл по полной системе (2): Е = ^Gt + 2"С/ (mod 2) (суммирование в 2' выполняется по некоторым индексам от 1 до т, а в 2 —по некоторым из оставшихся индексов). Каждая из сумм 2', 2" содержит какие-то слагаемые, поскольку в Е есть ребра как из Fx, так и из F2. Таким образом, первая сумма £'=2'С< не равна Е. Но Е' содержится в F, так что ни одно ребро из Е' не входит в циклы Ст+1Сп. Поэтому Е'аЕ. Мы получили цикл Е, в котором есть не совпадающий с ним подцикл, что невозможно. Следовательно, R есть цикл.
В несепарабельном плоском (топологическом) графе всегда есть цикл, который ограничивает конечную область и примыкает к границе бесконечной области по некоторой цепи.
Лемма 4.2. Если G — несепарабельный граф, N(G)>\, то существует подвешенная цепь А, для которой
G — А несепарабален, N (G — Д) = N (G) — 1;
А содержится в R и ровно в одном из Gb например, в Сп;
Сь ..., С„_| образуют полную т-систему для G — А;
(iv) концы р и q цепи А принадлежат R', где
R' = С, + С2 + ... +Crt~i (mod 2);(4)
(v) R' состоит из двух цепей R — А и Сп — А, соединяющих р и q.
Доказательство. Возьмем, как и в теореме 3.1, подвешенную цепь AcR. Тогда G — А несепарабелен, как и утверждает (1). Поскольку граф G несепарабелен, каждое ребро из А, а поэтому и вся цепь А, содержится в некотором цикле. Любой цикл представляется суммой по mod 2 циклов Ci, так что А содержится в некотором Сь Изменим нумерацию, чтобы получить АсСа. Так как А содержится в R и не более чем в двух из циклов Сь ..., Сп, ясно, что А не содержится ни в каком С^Сп, что и утверждается в (ii). Циклы ССа_ь таким образом, входят в G — А, причем они остаются там независимыми, как и в G. В G — А существует не более п — \ = N (,G — Д) независимых циклов, поэтому Сь ..., С„_, образуют полную т- систему, как и отмечалось в (iii).
Покажем теперь, что Д = С„П/?- Предположим, что существует ребро b в С„П/?, не входящее в Д. Тогда b содержится в G — А, а следовательно, и в некотором цикле D из G — А.
Согласно доказанному утверждению (iii), цикл D можно представить в виде суммы (mod 2) некоторых из циклов Сн .. . . .., С„-|. Но b содержится в С„ и в R и не содержится ни в каких других С;, поэтому представление цикла D в виде гуммы по mod 2 циклов, не содержащих С„ и R, невозможно. Полученное противоречие показывает, что всякое ребро из Сп (1 R входит и в Д, а поэтому Сп П R = А.
Из (4) имеем Rf = R + С„ (mod 2), так что R' состоит из ребер, принадлежащих либо R, либо Сп, но не принадлежащих R П Сп. Поскольку /?ПС„ = Д, получаем, что R' состоит из ребер R — А и Сп — А. Так как R есть цикл, R — А (а также Сп — Д) есть цепь, соединяющая р и q, т. е. соединяющая концы цепи А. Для доказательства (iv) и (v) остается заметить, что R — А лежит в R', следовательно, концы этой цепи также лежат в R',
ДОКАЗАТЕЛЬСТВО ДОСТАТОЧНОСТИ
Теорема 5.1. Несепарабельный граф G, в котором имеется полная т-система циклов (2), можно вложить на плоскость так, что каждый из циклов Сх, ..., Сп будет ограничивать одну из конечных областей, на которые G делит плоскость, a R будет ограничивать внешнюю {бесконечную) область.
Доказательство будем вести индукцией по N (G). Чтобы не привлекать не относящиеся к делу сведения из топологии, мы покажем, что G можно вложить на плоскость так, чтобы каждому ребру из G на плоскости соответствовала бы ломаная линия, а циклу R — равносторонний треугольник. Сначала рассмотрим случай N{G)=\. В этом случае G представляет собой цикл, так как G — несепарабельный граф (см. [2], теорема 10); следовательно, G можно вложить на плоскость описанным образом. Пусть теперь N {G)> 1. Тогда, как утверждает лемма 4.2, в графе G имеется такая подвешенная цепь А, что G — А несепарабелен, содержит полную т-систему циклов и N {G — А) < <N{G).
По предположению индукции G — А можно вложить на замкнутую плоскую треугольную область, границей которой является R'. Согласно лемме 4.2 (iv), концы р и q цепи А лежат на R', а, согласно (v), цепи Сп — А на плоскости соответствует дуга, соединяющая точки р и q. Поэтому вне треугольной области можно так провести ломаную Л*, соединяющую точки р и q, что А* и Сп — А вместе будут образовывать границу новой конечной области. Тогда из(у) следует, что граница новой внешней (бесконечной) области есть R = А* + {R — Л). Доказательство будет завершено, если мы покажем, что R можно сделать равносторонним треугольником.
Для этого предположим, что G — А вложен на замкнутую треугольную область с вершинами г, s, t. Сначала рассмотрим случай, когда С„ — А содержит сторону треугольника с вершинами г и/.На плоскости цепь А будет представляться ломаной puvq (рис. 1). Нам нужно сделать обод spuvqs треугольником. Рассмотрим полуплоскость, содержащую s, край которой проходит через точки р и q, и подвергнем ее преобразованию сдвига. Сдвигом полуплоскости мы называем такое преобразование, при котором точка Р, лежащая на расстоянии d от края полуплоскости, сдвигается параллельно этому краю на расстояние kd {к не зависит от Р). В данном случае мы применим такой сдвиг, при котором точка s перейдет в s' так, что up и ps' будут лежать на одной прямой. Теперь применим к полуплоскости, содержащей точку и, край которой проходит через uq, такой сдвиг, чтобы s'q и qu оказались бы на одной прямой
s'qv'. Новым ободом графа будет теперь треугольник us'y'. Его можно сделать равнобедренным при помощи подходящего сдвига полуплоскости с краем u's', а затем и равносторонним, сжимая его по высоте. Преобразование сдвига переводит прямые линии в ломаные, так что мы получили вложение графа G с требуемыми свойствами. Другие случаи, когда Сп — А содержит осталь-
Т еорема 5.2. Граф G с полной т-системой циклов можно вложить на плоскость так, чтобы каждому ребру соответствовала ломаная линия.
Доказательство. Если G — сепарабельный граф, его можно разложить на несепарабельиые компоненты Ни Н2, .. . ..., Нт. Каждая из этих компонент, которая не является ребром, содержит некоторые циклы из системы (2), например, С1; ..., Ск содержатся в Н( и образуют там полную систему, так как, во-первых, они независимы, во-вторых, любой цикл D в Ht представляется в виде 0 = 2 с, + 2 С,- (mod 2), где первое суммирование производится по некоторым из индексов / ^ к, а второе—по некоторым j>k. Тогда D — 2 ^ состоит из ребер, содержащихся в Нь и равно 2" С/, которое не содержит ребра, входящие в Нь и поэтому равно нулю.
Мы получили, что О = 2' С/ (mod 2), а следовательно, Сь .. . . .., Ск образуют в Ht полную т-систему. По теореме 5.1 заключаем, что Ht есть плоский граф. При доказательстве нашей теоремы достаточно теперь рассматривать связные графы.
Доказательство будем проводить индукцией по числу Ком* понент. Выберем любую компоненту Нт. Согласно теореме 3.2, Нт и G — Hm=F имеют одну общую вершину р. Предположение индукции будет заключаться в том, что граф F уже вложен на плоскость. Если N (Ят) = 0, то Нт состоит из единственного ребра, которое легко добавляется к F на плоскости. Если же ^(Яm)>0, то р принадлежит по крайней мере одному циклу С, в компоненте Нт. Если р при этом не попадает на обод графа, мы заменяем в выбранной полной системе цикл С/ ободом графа Нт. Очевидно, что получится снова полная т-система, но р уже будет лежать на новом ободе. Используя теорему 5.1, вложим Нт на плоскость так, чтобы получился топологический граф Н*т, а вершина р перешла в точку р, на внешней границе. Но вершине р соответствует также точка р* прн вложении на плоскость графа G — Нт. Осталось устроить такие вложения, чтобы точки р\ н р* совпали.
Для этого разделим плоскость прямой, проходящей через р\, и применим к каждой полуплоскости такие сдвнгн, чтобы в точке р‘ угол а между отрезками границы Н*т стал меньше угла 0 между отрезками в точке р*. Теперь сожмем Н*т до таких размеров, чтобы его можно было поместить внутри угла 0; поместим его туда и объединим точки р* н р*, получив, таким образом, требуемую разделяющую вершину р* для G = (G — Ят) + Нт. Все использованные отображения переводят ломаные лннни в ломаные *).
Мы установили достаточность критерия теоремы I. Остается проверить необходимость. Если каждая несепарабельная компонента графа G имеет полную т-снстему, то объединение всех таких систем дает полную т-снстему для G, поэтому достаточно рассмотреть несепарабельный случай.
Теорема 5.3. Если G — несепарабельный плоский граф, N (G) > 0, го каждая из конечных областей, на которые G делит плоскость, имеет своей границей цикл из G; множество всех таких циклов образует в G полную х-систему, а их сумма по mod2 является границей внешней ^бесконечной) области.
Доказательство. При N (G) = 1 это есть теорема Жордана о плоских кривых. В общем случае применяем индукцию по N (G) н теорему 3.1, а также тот факт, что разрез внутренней (внешней) области жордановой кривой делит эту
■) Другое, более „топологическое" доказательство см. в работе [2], теорема 27.
область на две области с соответствующими границами. По следнее нужно для доказательства того, что каждая добавляемая дуга лежит на границе не более чем двух компонент.
КОМБИНАТОРНОЕ ПОСТРОЕНИЕ ДВОЙСТВЕННОГО ГРАФА
Установленный нами критерий, конечно, должен быть эквивалентен критерию Уитни, заключающемуся в требовании существования комбинаторного двойника. Мы дадим вывод этой эквивалентности при помощи комбинаторных рассуждений, получив, таким образом, новое доказательство критериев Уитни и Куратовского для плоских графов.
Граф О' называется двойником графа G, если существует взаимно однозначное соответствие между ребрами этих графов, при котором для любого подграфа Н в G и его образа Н' в G' будет выполняться равенство R (G'— Н') = R(G') —N (И) (разд. 1). Множество S ребер из G называется сечением, если у G — S имеется либо большее, чем у G, число компонент связности, либо меньшее, чем у G, число вершин *) и если это не выполняется ни для какого собственного подмножества в S (см. [3], стр. 76). Граф обладает двойником тогда и только тогда, когда двойником обладает каждая его несепарабельная компонента ([2], теорема 23 и 25), с другой стороны, мы показали, что аналогичная ситуация возникает и при рассмотрении полных т-систем циклов. Поэтому мы ограничимся рассмотрением кесепарабельных графов.
Теорема II. Несепарабельный граф G обладает двойником тогда и только тогда, когда в G имеется полная т-система циклов.
Тривиальный случай, когда G состоит из одного ребра, опустим. Пусть теперь G имеет полную т-систему (2), п>0. Обозначим обод R в (3) через С„+1. Поскольку каждое ребро принадлежит не более двум циклам полной системы, ясно, что оно принадлежит в точности двум циклам системы С,, С2, ..., Сп, С„+1. Построим новый граф G' с вершинами р\, .... рп*\» соответствующими циклам Съ ..., Сп+1, и с ребрами 6{b't, которые взаимно однозначно сопоставлены ребрам G так, что ребро Ь'} имеет концы р, и рк, если соответствующее ребро Ь] принадлежит циклам С, и Ск. Докажем, что этот „граф циклов" G' является двойником графа G.
Основную роль будет играть комбинаторный аналог теоремы Жордана о плоских кривых.
Лемма 6.1. Если D есть цикл в G, то соответствующий подграф D' в G' является сечением.
Доказательство. Цикл D можно разложить по полной системе циклов 0^ Перенумеруем эти циклы так, чтобы в разложение для D входили только первые к циклов. Используя определение (3), получаем
О = С1 + С2 + ... + С* = С*+1 + ... + Crt+1 (mod 2).(5)
Этим разложениям соответствует разбиение множества вершин графа G' на два множества ръ .... рки рк+1, ..., pn+i. Согласно (5), D' состоит из тех ребер, один конец которых находится в первом, а другой — во втором из упомянутых множеств. Таким образом, в G' — D' два этих множества не связаны между собой. Однако в каждом из множеств вершины связаны друг с другом. Для доказательства этого предположим противное. Пусть, например, ръ ..., pj не связаны в G' — D' никакими ребрами с вершинами р/+1рк. Тогда Е = С1 + ... + Cj (mod 2) не содержит ребер, входящих в С/+1, ... ..., Ск, но в то же время содержит только ребра из D. Получилось, что в цикле D есть собственный подцикл Е, что невозможно. Совершенно так же рассматривается множество рк+ъ •••» Рп+f Добавление любого ребра из D' восстанавливает связность. Следовательно, D' является сечением, что и утверждалось в лемме.
Теперь, чтобы доказать1), что G' есть двойник С, достаточно убедиться ([3], теорема 2), что циклу в G соответствует сечение в G' и обратно. В одну сторону мы доказали это в предыдущей лемме. Покажем обратное. Пусть S' — сечение в G'. При доказательстве леммы мы убедились, что сечение D' делит связный граф G' на две компоненты связности. Ясно, что и S' поэтому разделяет G' на две компоненты связности. Пусть первая компонента содержит (перенумерованные) вершины pv, .... Pk, вторая — вершины рк+и ..., рп+1. Соответствующие циклы в G образуют подграф
О = С[+ ... +Cfc = C*+1+ ... + Cn+1(mod2).
Каждое ребро D принадлежит одному из циклов Сь ..., С„ и одному из остальных циклов, и оно соответствует, таким образом, ребру, соединяющему в графе G' первое множество
вершин со вторым. Такое ребро должно принадлежать сечению в графе G', поэтому DcS. Но подграф D непременно содержит цикл О, (см. лемму 4.1). Согласно лемме 6.1, граф D^ есть сечение в С , а по определению сечения имеем D\ = S , откуда получаем S = DV Мы доказали, что каждому сечению в графе G' соответствует цикл в графе G. Отсюда следует, что С'— двойник G.
Пусть теперь G имеет двойник G'. Мы будем искать в G полную т-систему. Заметим сначала, что если граф G несепарабельный, то и G' несепарабельный1).
Согласно определению двойника, п = У (С) = V (С) — 1 (см. (1)), поэтому G' имеет (п+1) вершину рр ..., рп+1. Множество D' всех ребер, инцидентных данной вершине рь является сечением, так как, удалив его, мы получим изолированную вершину pt. Соответствующий подграф Dt является циклом в G по цитированной выше теореме Уитни. Каждое ребро циклов Di, ..., Ол+1 содержится ровно в двух циклах, так что их сумма (mod 2) равна нулю. Никакими другими соотношениями по mod 2 эти циклы не связаны. Действительно, если бы
Di + D2+ ••• +Dm = 0(mod2), m<n+l,
то любое ребро одного из этих циклов принадлежало бы еще ровно одному из них. Это означает, что любое ребро в G', у которого один конец находится среди вершин рь ..., рт, имеет среди этих вершин и второй конец; следовательно, вершины pt, .... рт не связаны с остальными вершинами. Это противоречит несепарабельности G'. Поэтому Dx, ..., Dn независимы (mod2) и их ровно n=N(G\ Мы получили полную т-систему циклов. Теорема II доказана.
ЛИТЕРАТУРА
Kuratowski С., Fund. Math., 15 (1930), 271—283.
Whitney Н., Non separable and planar graphs, Trans. Amer. Math. Soc., 34 (1932), 339362.
Wh i 1 n e у H., Planar graphs, Fund. Math., 21 (1933), 74—83.
Kuratowski C., Whyburn, Sur les elements cycliques et leurs applications. Fund. Math., 16 (1930), 305—331.
Минимальные вложения и род графа)
Дэю. Янгс
ВВЕДЕНИЕ
Достаточно очевидно, что связный граф можно вложить в ориентируемое 2-многообразие. Однако вовсе не очевидно, существует ли для данного вложения вложение в ориентируемое 2-многообразие меньшего рода. Если такого вложения не существует, данное вложение называется минимальным вложением; род поверхности при таком вложении называется родом графа.
Эта статья посвящена проблеме описания минимальных вложений и вычислению рода графа. .
Важную роль будет играть вспомогательное понятие 2-клеточного вложения. Это такое вложение, при котором каждая компонента связности дополнения образа графа на поверхности представляет собой открытую 2-клетку. Если для данного графа число компонент в дополнении графа на поверхности при некотором вложении не меньше, чем при любом другом, такое вложение называется максимальным.
Теорема характеризации утверждает, что вложение минимально тогда и только тогда, когда оно максимальное 2-клеточное.
При этом значительную роль играет операция перекройки) (имеющая, по-видимому, и самостоятельную ценность). Эта операция позволяет при любом вложении графа так „перекроить" компоненты его дополнения, что в результате получается 2-клеточное вложение (см. п. 3.5).
Теорема характеризации имеет интересное ответвление. Можно ли считать, что 1-мерный остов триангуляции ориентируемого 2-многообразия вложен в это многообразие при помощи минимального вложения? Для рассматриваемой тематики это традиционный вопрос. Теорема характеризации и „вычислительный процесс" решают его утвердительно, как и ожидалось (см. п. 5.2-5.5).
Приведенные результаты выделены потому, что они касаются классических вопросов. В данной статье аналогичные утверждения доказаны в более общем виде, когда 2-многообразие не обязательно ориентируемо.
Статью завершает алгоритм вычисления рода графа, использующий теорему характеризации и изящный результат Дж. Эдмондса [1, 2J. К сожалению, этот алгоритм очень трудоемкий, а методы сокращения перебора неизвестны. Поэтому он мало пригоден для практических вычислений.
ГРАФЫ
Граф — это упорядоченная пара (С°, С1), в которой С° —непустое конечное множество объектов, а С1 —множество неупорядоченных пар различных элементов из С°. Элементы множества С° называются вершинами, а элементы множества G'— ребрами графа G.
Число элементов в G1 обозначается UG'IL i = 0, 1.
Дугой в произвольном топологическом пространстве X называют гомеоморф замкнутого единичного отрезка. После удаления из дуги образов концов этого отрезка получается открытая дуга.
Пусть G — граф, у которого
6°: v уп,
G'. а^, ..., аот.
Вложением G в X называется подпространство G (2) пространства X, такое, что
G(X) = U^№UUaH^). где:
У] (Л), ..., у„(Л) есть п различных точек в X;
а, (Л), .... а„ДХ) есть т попарно непересекающихся открытых дуг в X;
at (Л)П У] (Л) = 0, z = 1, ..., п, j=\, .... т;
если ай = (у6|, у^, то открытая дуга ак\Х^ имеет vkl (Л) и УкДХ') своими концами; ^=1, ..., т.
Мы нередко пользуемся сокращениями: пишем yt вместо у, (X) и ак вместо ак (Л) (z = 1, ..., п, к = 1т) и говорим „вложение G (Ху* вместо „вложение G (X) графа G в X".
Очевидно, что два вложения G (Л) и G (У) одного и того же графа G гомеоморфны.
Граф G связен, если для некоторого вложения подпространство G (Л) связно. Предыдущее замечание показывает, что равносильным будет определение, в котором связность подпро-
странства G (/) требуется при любом вложении. В дальнейшем рассматриваются только связные графы.
Очевидно, что для любого графа G существует вложение G в 3-мерное евклидово пространство Е3. На самом деле можно добиться даже того, чтобы любая открытая дуга была бы открытым интервалом на некоторой прямой. Очевидно также, что для данного графа G можно найти такое (зависящее от G) ориентируемое 2-многообразие М, что существует вложение G(,M\ Например, можно взять ||G°|| различных точек 2-сферы и поместить каждую дугу ак на отдельную ручку, подходящим образом прикрепленную к 2-сфере. Род такого многообразия М будет слишком велик, и задача нахождения многообразия М с минимальным числом ручек весьма естественна.
Уточним сделанные замечания. Обозначим %(М) характеристику Эйлера 2-многообразия М. Напоминаем, что х(М) является топологическим инвариантом М; для данного клеточного разбиения М, у которого число z-клеток равно a‘ (z = 0, 1, 2), имеем
Х(А1) = а0 — а1 + а2.
Кроме того, х(-М)^2. Если М ориентируемо, то х(-М) четно. Род у(Л1) 2-многообразия М определяется формулой
у(М) = [2-х(М)]/2.
Для каждого четного значения характеристики Эйлера, меньшего двух, имеется два 2-многообразия с этой характеристикой: одно ориентируемое, а другое нет. Любое ориентируемое 2-многообразие М можно представлять себе как 2-сферу с некоторым числом ручек, тогда род у(М) попросту равен числу этих ручек.
Буквами М и N мы будем обозначать 2-многообразия; М* и А/'* означают ориентируемые 2-многообразия; G (М) и G (М*) означают вложение графа G в не обязательно ориентируемое и ориентируемое 2-многообразие соответственно. Используя эти обозначения, мы назовем вложение G (М) простейшим, если xW^xW Для любого вложения G (N). Если G (Л4) — простейшее вложение, то показатель вложения р (G) графа G по определению равен xWY Употребление термина „простейшее" оправдывается тем, что с возрастанием характеристики Эйлера 2-многообразие усложняется. Если рассматриваются только ориентируемые 2-многообразия, то вместо простейшее вложение говорят минимальное вложение. В силу 2.5 вложение G (Л!*) минимально, если для любого вложения G (У#) имеем у(Л1#) ^ y(N#Y Род графа y(G) в этом случае полагают по определению равным у (Л!*).
Если G (AI) — простейшее вложение, a G (Af*) — минимальное, то х(^)^Х(^*)- Следовательно,
Y(G)>[2-p(G)]/2.
Для примера возьмем в качестве графа G любой из двух знаменитых графов Куратовского. Его простейшим вложением будет вложение в проективную плоскость, а минимальным — в тор. Соответствующие характеристики Эйлера суть 1 и О, так что приведенное неравенство выполняется.
Оказывается важным рассматривать для данного вложения компоненты связности открытого множества [Af — G(Af)J. Каждая такая компонента является открытым множеством, поскольку открытым множеством является М, и ясно, что этих компонент конечное число.
Обозначим || G (Af) || число компонент в [Л1 — G (АГ)]. Если каждая компонента из [Af — G (Л1)] является открытой 2-клеткой, то G (Af) называется 2-клеточным вложением.
Вложение G (Af) максимально, если || G (Af) || ^ || G (У) || для любого вложения G (N)', оно — максимальное ориентируемое вложение, если Af* ориентируемо и || G (Af*)||^|| G (fV*)|| для любого А* (вспомните 2.6).
ОПЕРАЦИЯ ПЕРЕКРОЙКИ
Результаты этого раздела не имеют такой простой и естественной формы, как результаты остальных разделов. Вызвано это тем, что мы вынуждены принять меры предосторожности, необходимость которых некоторые авторы проглядели. Грубо говоря, мы показываем, как из произвольного вложения получить 2-клеточное. Метод, который применяется при этом, имеет большое значение и будет применяться в других работах. Добиваясь предельной краткости, мы собрали все существенные результаты в одном месте, даже если некоторые из них не находят здесь применения. Те, которые понадобятся в дальнейшем (в других работах), заключены в скобки.
Чтобы ввести основные идеи, рассмотрим некоторое вложение G (Af) и некоторую компоненту S из [Af — G (Af)]. Если S не является 2-клеткой, можно пытаться заменить S некоторым набором 2-клеток, изменив тем самым 2-многообразие Af. Именно здесь и необходима осторожность. Рингель [3, стр. 61], например, рассматривает (Af — S) и утверждает, что это 2-многообразие с краем, граничные циклы которого /[, ..., Js он заклеивает соответствующими 2-клетками Сь ..., Cs. Множество G (А!) является вложением G в 2-многообразие Ns
s (Л1 — S) U (J Сь при этом мешавшая ранее компонента S из [Af — G (ЛТ)], так сказать, заменяется 2-клетками Си ..., Cs из [W — G (Af)J.
К сожалению, (M — S) далеко не всегда есть 2-многообразие с краем. Оно может даже в точности совпадать с множеством G (Л4). Возьмем, например, в качестве графа G треугольник и уложим его на тор М так, чтобы G (Л1) нельзя было стянуть в точку; [Л4 — G (Af)] здесь имеет ровно одну компоненту S, т. е. само [Л1 — G (Af)], так что (М — S) = G (М), a G (Л4), конечно, не является 2-многообразием с краем.
Исправление ошибки требует тонких дополнительных рассмотрений, в результате которых появляется лемма Робертса и Стинрода [4]. Они показывают следующее.
Лемма (Робертса и Стинрода). Если М есть (не обязательно ориентируемое) 2-многообразие, К есть непустой континуум, являющийся собственным подмножеством М, a S — компонента из (М — К), то S содержит комплекс Т, который является 2-многообразием с краем. Более того, если Ju ..., J2 есть жордановы кривые, образующие границу Т, то:
компоненты (S — T) суть открытые цилиндры Еъ ..., Ls;
Fr (Lz), т. е. граница Ц, имеет две компоненты, ]t и подмножество из К, z = 1, . ■ s-
Пусть теперь G (Л4) — вложение графа G в 2-многообразие М, a S — компонента из [М— G(M)]. Множество G (М) можно рассматривать как непустой континуум в М, причем с очень хорошими дополнительными свойствами. Поэтому можно не только применять лемму Робертса и Стинрода, но даже получить в этом частном случае ее доказательство, основанное на простых комбинаторных рассмотрениях. Для доказательства возьмем такую триангуляцию т многообразия М, чтобы G (Л4) было подкомплексом ее 1-мерного остова. Возьмем также т2—барицентрическое подразделение т. Рассмотрим теперь R — открытую звезду границы Fr(S) относительно т2, и пусть /ь . . ., Js — компоненты Fr (У?) fl S.
Легко видеть, что у графа 7Z каждая вершина имеет степень 2, а значит lt есть элементарный цикл (1=1, .... s). Если Q — открытая звезда подкомплекса (J Jt относительно т2, то компонентами множества Q f) R являются открытые цилиндры Lx, ..., Ls. Граница Fr(Lt) имеет две компоненты: Jt и цикл из G (Л4). В качестве 2-многообразия Т, фигурировавшего в лемме, достаточно взять (S —(J/.z).
Совершенно очевидно, что число s в этой лемме не меньше числа компонент границы Fr(S).
Пусть Т° означает внутренность Т. Ясно, что в отличие от (М ~ S) пространство (М — 7°) является 2-многообразием с краем (вспомните замечания в 3.1). Рассмотрим 2-многообразие Ms, полученное из (М — Г0) заклейкой каждого граничного цикла Jt 2-клеткой С„ /=1, ..., s, другими словами, Ms = = (М — Г0) U (J С£. Поскольку G (М) с (М — 7°), получаем вложение О^М^ графа G в Ms. Процесс получения Ms из М обозначим
и назовем операцией перекройки компоненты S. Заметим, что II G (Л1$) ||^|| G (Л1) ||, ибо з>1 (см. 2.7).
Если Ts есть 2-многообразие 7U(JCZ, то элементарные вычисления показывают, что
X(M) = x(Ms) + X(rs)-2s.
Напомним, что для любого 2-многообразия N имеем
ХЖ2,
причем, равенство имеет место в том и только в том случае, когда N есть 2-сфера.
Поскольку 1 и
хШ = %(М) + [25-%М, получаем
X(Ms)>X(M).
Равенство здесь выполняется тогда и только тогда, когда s= 1, a Ts есть 2-сфера, другими словами, когда Т° (а следовательно, и S) есть открытая 2-клетка. В этом случае в качестве Т можно взять 2-клетку, которой заклеен единственный граничный цикл в ^М — Т°\ причем только в этом случае MS = M.
(Соответствующие замечания можно сделать и относительно Т$; действительно,
X(7s)>x(M).
Равенство выполнено тогда и только тогда, когда (Л1 — 7) есть открытая 2-клетка.)
(Докажем для использования в дальнейшем такой факт. Если G^M') есть жорданова кривая, а среди компонент [М— G (Af)] нет открытых 2-клеток, то x(T's) > х(-М). Предположим, что это не так, тогда x(^s) = X(^)> а, следовательно, (М — Т) есть открытая 2-клетка. Имеем G (М) с (М — Т), следовательно, по теореме Жордана о плоских кривых в [(М—7) — — G (М)] существует такая компонента R, которая является
открытой 2-клеткой. Но R также есть компонента из [Af —G (Af)], где по предположению открытых 2-клеток нет. Мы пришли к противоречию.)
В случае, когда М ориентируемо, ориентируемы также Ms и Ts. Далее,
Y(M) = V(Ms) + Y(rs) + (s-l).
Это равенство получено из 3.3 с помощью соотношения 2у = = 2 —х- Аналогично
у(ЛМ<у(М),
причем равенство выполняется в том и только в том случае, когда S —открытая 2-клетка.
(Если G (Af) —жорданова кривая, а среди компонент [Af — G (Af)] нет открытых 2-клеток, то у (T's) < Y (Af).)
(В заключение этого пункта заметим, что из леммы п. 3.1 следует существование последовательности {/'„} 2-многообразий Тп, каждое из которых обладает теми же свойствами, что и Т, причем ТпсЛ^-и и (Jz^ — S. Поэтому для любого замкнутого подмножества F в S можно выбрать такое 2-многообразие Т, что FclT, а, следовательно, FaTs.)
Пусть Sb . .., Sp — все компоненты [Af — G(M)]. Рассмотрим операцию перекройки М —» MSl = Af1. Ясно, что G (Af) с Af1, а при перекройке изменениям подвергалось только SP Поэтому компонентами [Af1 — G (Af)] будут S2, . . ., Sp и несколько открытых 2-клеток, причем || G (Af1) ||>|| G (Af) || (см. 3.2).
Теперь рассмотрим Mv -* А1^ = М2. Здесь снова G(Af)c:Af2 и компонентами \№ — G (Af)] являются S3, ..., Sp и некоторые открытые 2-клетки, причем опять || G (Af2) ||^|| G (АР) ||. Повторяя эту операцию р раз, получаем в результате 2-многообразие М*, Mp~lMs~[ = М , с такими свойствами:
G^M^clM*. Следовательно, имеется вложение G (Af*) графа G в Af*; подмножество G (М) в М — это то же самое, что С(ЛГ) в М* (см. 2.2).
Компоненты [АГ —G(Af*)] суть открытые 2-клетки.
Sj с: Af* тогда и только тогда, когда Sz есть открытая 2-клетка (см. 3.3).
(| G (АГ) || ^ || G (Af) ||.t,
Композиция операций перекройки Af —» Аг ... Мр —» Af Называется операцией перекройки многообразия Af; обозначим ее
Af^AT.
Очевидно, что для любых двух нумераций компонент [Al - G (Af)] В результате операции перекройки многообразия Af
получаются гомеоморфные 2-многообразия, т. е. эта операция не зависит от порядка компонент.
Полезно записать некоторые свойства №.
Если Л1 ориентируемо, то ориентируемо и № (см. 3.4).
G (ЛГ) есть 2-клеточное вложение [см. 1) и 2) в 3.5].
№ = М тогда и только тогда, когда G (Л1) есть 2-клеточное вложение [см. 3.3 и 3) в 3.5].
Если G (М) не есть 2-клеточное вложение, то Х(М*)>х(М), поэтому, если М ориентируемо, то у(ЛГ)<у(Л1) (см. 3.3 и 3.4).
||С(ЛГ)||>||С(М)|| [см. 4) в 3.5].
) Если F — замкнутое подмножество G (Л1) и некоторая компонента из (Л1 — Е) есть открытая 2-клетка С, то С является компонентой из (ЛГ — Е).]
Для доказательства 6) заметим, что М = G (М) U (J Sh р
i = 1, ..., р. Следовательно, С = С П М = [G (Л1) П С] U (J(SZ (] С).
Однако, поскольку С есть компонента (Л4 —Е), a Sz есть связное подмножество (М — Е), то утверждение Sz П С =/= 0 эквивалентно утверждению S, cz С. Следовательно, С = [G (М) П С] U (J Sb StdC. Но С —открытая 2-клетка, поэтому если Sz с: С, то Sz — открытая 2-клетка, поскольку G связно. Таким образом, согласно 3) из 3.5, имеем М* zd (J Sb StdC. С другой стороны, [G (М) П С] с G (Л1) cz М\ согласно 1) из 3.5. Следовательно, Cd М\ Ясно, что С d М1, 1=1р, где № = №. Используя определение операции перекройки М —>М\ легко убедиться, что С — компонента из (Л4 — Е) есть также компонента из (ЛГ — Е). Отсюда сразу же следует по индукции, что С есть компонента (ЛГ — Е), что и завершает доказательство.
ТЕОРЕМА ХАРАКТЕРИЗАЦИИ
Теперь легко доказать обещанную во введении теорему характеризации.
Сначала заметим, что если G (Л1) есть 2-клеточное вложение, то оно определяет клеточное разбиение М, для которого а°=|| G°||, а1 =|| G11|, a2 = ||G(Af)|| (см. 2.1, 2.5 и 2.7). Отсюда
Х(Л4) = || G°H —II G’ Ц + 11 G (Л4)||.
Вели G (Л/) есть другое 2-клеточное вложение, то
X(M)-xW = ll G(M) ll-ll G(M) II.
Теорема 4.2. Вложение графа является простейшим тогда й только тогда, когда оно максимальное 2-клеточное.
Доказательство. Пусть G (Л1) — простейшее вложение, a G (А) — максимальное 2-клеточное. Тогда G (Л1) есть 2-клеточное вложение, согласно 4) из 3.6. Используя 4.1 и условия теоремы, получаем
о ^ X W - X (А/) = II G (М) II - II G (А/) II < 0.
Следовательно,
X(Al) = xW, II G (Л1) || = П G (2V) ||.
Отсюда следует, что G (At) есть максимальное 2-клеточное вложение, a G (А) — простейшее.
Следствие. Если G (М) — максимальное вложение, то в результате операции перекройки М-*М‘ получается простейшее вложение G (АГ).
Доказательство непосредственно следует из 3.6, 2), 5) и теоремы 4.2.
Теорема 4.3. Вложение графа минимально тогда и только тогда, когда оно есть максимальное ориентируемое 2-клеточное вложение.
Доказательство очевидным образом получается из доказательства предыдущей теоремы, надо только заметить, что в этом случае минимальное вложение G (At*) является 2-клеточным, согласно 1) и 4) из 3.6.
Следствие. Если G (At*) — максимальное вложение, то операция перекройки М* -* М* дает минимальное вложение.
Доказательство основано на использовании 1), 2), 5) из 3.6 и теоремы 4.3.
ПРОБЛЕМА ТРИАНГУЛЯЦИИ
Пусть Т есть 1-мерный остов триангуляции 2-многообразия М, т. е. совокупность 0- и 1-мерных симплексов этой триангуляции. Очевидно, что существует граф G и вложение G (At), такие, что Т = G (At). Возникает два вопроса:
Является ли G(At) простейшим вложением?
Если М ориентируемо, является ли G (At) минимальным вложением?
Второй вопрос стал широко известен благодаря Ауслендеру, но во всяком случае он издавна бытовал в математическом фольклоре, связанном с теорией графов. Ответы на оба вопроса единодушно считались утвердительными, оставалось только доказать эти естественные предположения. Результаты разд. 4
и приводимые ниже вычисления, основным достижением которых является формула 5.3, (2), позволяют провести весьма прозрачное доказательство.
Пусть G (Л1) есть 2-клеточное вложение графа G в 2-многообразие М. Пусть S — совокупность компонент [Af — G (Af)].
Если SeS, oeG1, то из а (Л1) f) Fr (S) N= 0 следует а(М) с: Fr (8). Поскольку М есть 2-многообразие, существует не более одного Sog5, S0=#S, для которого а(М) с: Fr (80). Следовательно, для ЗеЗ и aeG1 выполняется одно из трех соотношений:
Случай 0. а(М) П Fr (3) = 0.
Случай 1. а(Л1) с Fr (8) и а(М) с: Fr (80) для некоторого единственного 80 е (5 — 8).
Случай 2. а (Л1) с Fr (3), но а(М) с Fr (30) не выполняется ни при каком So е (S — 3).
Для aeG1 и SeS определим fs(a) = Z, если имеет место случай I. Заметим, что при фиксированном ае GY имеем
2 fs^=2.(1)
see
Компонента SeS называется k-угольником, если
2 UW = k. аео1
Пусть SA = (S|SeS и 3 есть 6-угольник}. Введем определения
Nfe=число элементов в <Sfc, p = min(6), 5*=/= 0, q = max (6), &k N= 0.
Используя (1), получаем прямым вычислением
2||G‘h=2W(2)
k—p
Но
р 2 Nk < 2 kNk < q 2 Nkк—рк = рк—р
И
Я»с(Л1)||=2^.к=рПоэтому из (2) следует
р|| G (М) ||<2||G,||< pH GW И,(3)
причем
p||G(Al)|| = 2||G1|l(4)
тогда и только тогда, когда р = q, т. е. когда ^ состоит исключительно из р-угольников.
Предположим теперь, что G есть такой граф, для которого некоторое вложение G (М) является триангуляцией многообразия М, т. е. каждая компонента из [М — G(M)] есть треугольник. В силу (4) имеем
3||G(M)|I = 2||G'||.(5)
Если G (N) есть 2-клеточное вложение, то в силу (3) находим p[|G(^||^2HG4l,(6)
причем равенство имеет место тогда и только тогда, когда p = q при вложении G (А/).
Мы так определили граф, что 1-угольники невозможны: концы ребра не должны совпадать. Более того, никакие две вершины графа не связаны двумя или более ребрами, так что и 2-угольники невозможны, за исключением тривиального случая, когда граф состоит из единственного ребра и двух вершин.
Поскольку G (Л4) определяет некоторую триангуляцию М, граф G должен иметь по крайней мере 3 ребра. Следовательно, ни 1-, ни 2-угольников нет, и для вложения G(N) имеем
р>3.(7)
Используя (5) — (7), получаем
||GWH<||G(M)||,(8)
причем равенство имеет место тогда и только тогда, когда р = ц = 3 для вложения G (^).
Если предполагать, что в 5.4 имеется в виду ориентируемое многообразие М, a G (М) — минимальное вложение, то по теореме характеризации 4.3 имеем
II G (N) ||^|| G (М) ||.
Отсюда, согласно (8), получаем
II G (N) || = ||G(M) ||
и p = q = 3 для вложения G (А/).
Следовательно, G (Л4) является также максимальным ориентируемым 2-клеточным вложением, а поэтому в силу 4.3 — минимальным вложением, причем G (N) определяет триангуляцию многообразия N. Тем самым доказана следующая теорема.
Теорема. Если G (М) есть 1-мерный остов триангуляции ориентируемого 2-многообразия М, то G (Л4) — минимальное вложение, причем если GW есть вложение в ориентируемое
2-многообразие N того же рода, что и М, то G (N) является 1-мерным остовом триангуляции N.
Теперь не будем предполагать, что М ориентируемо. Пусть G (М) — вложение, определяющее некоторую триангуляцию М, a G (А) — простейшее вложение. В силу 4.2 G (А) есть максимальное 2-клеточное вложение и, согласно 5.4 и 5.5, имеем
||G(A)|| = ||G(M)||,
причем р = q = 3 для вложения G (А). Аналогично 5.5 получаем теорему.
Теорема. Если G (М) есть 1-мерный остов триангуляции 2-многообразия М, то G (Л1) есть простейшее вложение, причем если G (А) есть вложение в 2-многообразие N с той же характеристикой Эйлера, что и у М, то G (А) является 1-мерным остовом триангуляции N.
■ Замечание. В случае, когда x(Af) нечетно, a G (А) — простейшее вложение, М и А есть гомеоморфные неориентируемые 2-многообразия. Если %(Л4) четно, можно утверждать лишь, что х(М) = х(А), так как логически имеется возможность, когда одно из многообразий ориентируемо, а другое нет, т. е. они не гомеоморфны. Однако вложение представляется настолько жестко определенным, что кажется, будто такая возможность исключена. Вначале так считал и автор этих строк. Но это предположение не оправдалось. Пусть Кп означает полный граф с п вершинами (т. е. А°: о /Q: (vp v^, i N= j, i, j—1, ..., п\ Граф Ai2 вкладывается как в ориентируемое, так и в неориентируемое 2-многообразие характеристики — 10, причем в обоих случаях он определяет некоторую триангуляцию (см. [3], стр. 74, 78).
ОПРЕДЕЛЕНИЕ РОДА ГРАФА
Теорема характеризации не дает способа нахождения минимального вложения, т. е. не решает классической задачи определения рода графа. Однако, если использовать эту теорему вместе с теоремой Эдмондса (см. [1,2], а также [3], где на стр. 68 — 70 имеется подобный результат), можно построить соответствующий алгоритм.
Обозначим вершины данного графа G = (G°, G1) не V], . . ., vn, a 1, . . ., п. Во избежание тривиальных случаев предположим, что вершин степени 1 нет. Определим V (z) (z = 1,..., п) — множество таких к, для которых (z", к) есть ребро графа, т. е.
V^ = \.k\U, fcleG1}.
Число элементов в V (<) обозначим nt. Пусть
PC- v^^v^
есть циклическая перестановка множества V (t), Z= 1, .... п, т. е- взаимно однозначное преобразование с единственной орбитой длины nt.
Теорема Эдмондса утверждает, что каждый набор (ph ..., рп) определяет 2-клеточное вложение G(Ad) графа G в ориентируемое 2-многообразие М, для которого существует ориентация М, индуцирующая циклическое упорядочение ребер У, k), инцидентных I, причем за ребром (7, к) непосредственно следует ребро (7, р;(й)), i= \ , ..., п. Более того, для любого 2-клеточиого вложения G (М) графа G в ориентируемое 2-многообразие М с данной ориентацией существует набор (pi, ..., рп\ определяющий это вложение описанным образом.
Действительно, существует алгоритм, который по данному (рь ..., рп) строит соответствующее вложение.
Опишем этот алгоритм. Определим W как множество упорядоченных пар [а, й], для которых соответствующая неупорядоченная пара (a, й)еС*. Определим
Р; W-^W формулой
Р[а, й] = [й, р&(а)]-
Преобразование Р определено корректно, поскольку из (a, b)eG' следует а е V ^, а поэтому р»(а) имеет смысл. Легко видеть, что преобразование Р взаимно однозначно.
Рассмотрим любую орбиту R преобразования Р и предположим, что ее длина есть к.
Возьмем ориентируемую 2-клетку 3 в виде многоугольника с к сторонами. Обозначим какую-нибудь сторону [а, й], следующую за ней в направлении ориентации, через Р [а, й] и т. д. Получим такие обозначения:
[а, й], Р[а, й], .... Рк"х\а, й].
Если Rb ..., Rn есть совокупность различных орбит Р, то описанный выше процесс определяет 2-клетки Зь ..., SN. Заметим, что множество Rb .... R^ обладает таким свойством: если [а, й] попадает в одну из этих орбит, то и [й, а] попадает, причем каждое по одному разу. Более того, поскольку граф G связный, никакое собственное непустое подмножество множества 7?!, ..., Rn этим свойством не обладает.
Теперь остается получить ориентируемое 2-многообразие при помощи обычного склеивания, как в элементарной топологии.
Из определения Р и из того, что W = U Ru следует, что стороны 2-клеток Sb .... Sv образуют 2-клеточное вложение G\M^ графа G в М, при котором компонентами [Af — G (М)] являются внутренности этих клеток. Ориентация клеток Sb ..., Sy определяет ориентацию многообразия М. Противоположная ориентация М повлечет за собой такое циклическое упорядочение ребер (/, к\ инцидентных I, при котором (/, fe) непосредственно предшествует (/, pt (k)), z = 1, ..., п.
Получение орбит Rx, ..., RN можно систематизировать следующим образом.
Возьмем наименьшее к, в V (1) и запишем J?j, орбиту, определенную [1, fej.
Найдем наименьшее &2еУ(1), при котором [1, к2] не содержится в Rb и запишем Ra, орбиту, определенную [1, к2].
Возьмем наименьшее fe3e|/(l), при котором [1, &3] не содержится ни в Rv, ни в R2, и запишем Ra, орбиту, определенную [1, 63].
После конечного числа таких шагов мы запишем все орбиты, определенные парами [1, fe], keVW-
Теперь рассмотрим V (2). Либо мы уже записали все орбиты, определяемые парами [2, /], /еУ(2), либо существует наименьшее h eV (2), при котором [2, /J в записанных орбитах отсутствует. В первом случае перейдем к V (3), во втором — запишем орбиту R^, определенную [2, /J. Продолжая этот процесс, мы получим все орбиты преобразования Р.
Не вдаваясь в подробности, заметим, что число N орбит Р есть функция N = N (рь ..., р„) выбранных заранее циклических перестановок рр. V(z)-^V(z), i=\, , п, а 6.4 дает способ вычисления N.
Мы отмечали в 6.3, что 2-клеточное вложение G (М), определенное набором (рь . .., рп\ таково, что [М — G (М)] имеет N (рь . .., р„) компонент.
Теорема Эдмондса утверждает, в частности, что для любого 2-клеточного вложения G (М) в ориентируемое 2-многообразие М существует такой набор перестановок (рь . . ., рп\ который определяет это вложение описанным образом. С другой стороны, теорема характеризации 4.3 утверждает, что набор (рь ..., р„), на котором N (ри ..., рп) достигает максимума, определяет минимальное вложение. Обозначим || G || = шах М(рь ..., р^.
Существует множество одинаково утомительных эффективных способов выписывания всех циклических перестановок pt: ^(t)-*^^), t=l, •••» п« Таким образом, мы получили ре-
шение классической проблемы о вычислении рода графа y(G) (см. 2.6). Действительно, согласно 2.5, имеем
V(G) = [2-|| G°|| + ||G’||-||G||]/2.
Трудности применения этого алгоритма, конечно, возникают из-за огромного числа [nz—1]! циклических перестановок pt: !/(/)-»!/(/), i=l, ..., п, причем при вычислении || G || (а, следовательно, и y(G)) пока не удалось изобрести ничего существенно лучшего, чем полный перебор этих перестановок.
ЛИТЕРАТУРА
Edmonds, Jr., A combinational representation for polyhedral surfaces, Amer. Math. Soc. Notices, 7 (1960), 646.
Edmonds, Jr., Symmetric imbeddings of complete graphs, Amer. Math. Soc. Notices, 7 (1960), 948.
R1 n g e 1 G., Farbungsprobleme auf Flachen und Graphen, Math. Mono- graphien, v 2, VEB Deutscher Verlag der Wissenschaften, Berlin, 1959.
Roberts J. H„ Steen rod N. E„ Monotone transformations of two-dimensional manifolds, Annals of Math., 39 (1938), 851—862.
Устранение лишнегоиз механических доказательств1)
М. Девис
В математике исключение опровергает правило. Следовательно, общее утверждение арифметики (например, последнюю теорему Ферма) можно опровергнуть явным указанием единственного контрпримера. Когда каждый частный случай общего утверждения допускает проверку с помощью единообразного алгорифма (как это имеет место для последней теоремы Ферма), такой контрпример, если он существует, в конце концов может быть найден (в предположении, что нет никаких ограничений на время или память) с помощью вычислительной машины, запрограммированной для последовательного исследования всех возможностей. Возникает вопрос, имеется ли подобная процедура поиска доказательства (а не опровержения) таких общих предложений. Если полностью описаны аксиомы, из которых должно исходить доказательство, то ответ на вопрос положительный. Единообразные процедуры поиска можно определить как процедуры, которые дают возможность машине (соответственно запрограммированной) обнаруживать доказательство данного предложения из данных аксиом, если такое доказательство существует. Такие процедуры поиска называются логическими процедурами доказательства. В последнее время проявлен значительный интерес к улучшению таких процедур и программированию их для вычислительных машин. Здесь мы дадим общую схему для сравнения различных существующих в настоящее время процедур доказательств, а также рассмотрим их преимущества и недостатки. В конце будет описана новая улучшенная процедура доказательства. Мы не будем обсуждать работу Ван Хао, потому что она не укладывается просто в нашу общую схему. Работа Ван Хао, а также и другая новейшая литература по рассматриваемому вопросу, указана в конце статьи.
') Davis М., Eliminating the irrelevant from mechanical proofs, Proceedings of the Fifteenth Symposium in Applied Mathematics of the American Mathemat.cal Society, v. XV, Experimental arithmetic, high speed computing and mathematics, 19b3, p. 15 — 30.
ЛОГИЧЕСКИЙ ЯЗЫК МАТЕМАТИКИ
В книгах или исследовательских статьях по математике утверждения формулируются на обычном русском') (или немецком, французском, английском и пр.) языке с использованием математических символов. Развитие современной символической логики позволило формулировать математические утверждения, используя только технические символы и не используя слов. Удивительно, насколько экономичен этот „словарь" символической логики. Здесь мы дадим краткий логический словарь, который отвечает требованиям математики, но никоим образом не является максимально экономичным. Мы разбиваем логические символы на следующие группы: знаки, пунктуации, пропозициональные связки, переменные и кванторы.
Знаки пунктуации1. ( ) , . Это круглые скобки и запятая.
Пропозициональные связки: ~] V А —* •*-►. Эти символы означают определенные операции над утверждениями; они приводят к новым утверждениям. Если р и q данные утверждения, то:
„ ~]р“ обозначает утверждение: „не р,“ т. е. „р не имеет места".
„р К q“ обозначает утверждение: „р и q“.
„р V q“ обозначает утверждение: „р или q“.
,,p-+q“ обозначает утверждение: „Если р, то q“.
„р *-> q“ обозначает утверждение: “р тогда и только тогда, когда имеет место qu.
Двусмысленность и отсутствие точности в разговорном языке устраняется в случае пропозициональных связок следующими требованиями:
~]р, pVp, рАр, р-*ри р*-*р должны рассматриваться, как вполне определенные утверждения, если таковы р и q, независимо от того, связано содержание р с содержанием q или нет;
истинность и ложность этих утверждений полностью определяется истинностью или ложностью р и q в соответствии с приводимой ниже „истинностной" таблицей (табл. 1).
Таблица 1
р
qIp
PVq
PM
P>q
t f
t1i
1f
/1t
t t t f
f f f
t t f t
t f f t
■) В оригинале — „английском". Далее в тексте термин „английский" заменен на термин „русский". — Прим, перев.
11 Зак. 560
Это требование имеет следствие, отчасти противоречащее интуиции: мы должны считать истинным такое неудобоваримое утверждение, как „Если 2 + 2 = 5, то снег горячий". Но это лишь новый пример общематематической тенденции по возможности расширять область определения операций, даже если при этом придается смысл тому, что прежде считалось бессмыслицей (вспомним, например, 2 — 5 или ^—4). Дальнейшее обсуждение этого вопроса читатель найдет в любом учебнике логики, см., например [1, 2, 7, 10].
Переменные. Это символы, о которых предполагается, что они принимают произвольные значения из некоторого заранее фиксированного множества. Здесь мы будем использовать в качестве переменных буквы х, у, г, и, и и w с нижними индексами или без них.
Кванторы. Выражение, образованное заключением переменной в круглые скобки [например, (х) или (у)], называется квантором общности. Подразумевается, что выражение (х) А утверждает истинность А для всех значений х. Аналогично выражение, образованное заключением в круглые скобки буквы Е, за которой следует переменная [например, (Ех) или (Еу)], называется квантором существования; подразумевается, что выражение (Ех)А утверждает истинность А по крайней мере для одного значения х.
В дополнение к только что перечисленным логическим символам мы должны ввести некоторые специальные математические символы. Примерами таких символов будут: 0, 1, +, =, <, е. Какие из этих символов действительно встречаются, будет зависеть от рассматриваемой конкретной области математики. Однако все эти символы разделяются на три категории: символы констант, символы функций и символы отношений.
Предполагается, что каждый символ константы (обычные примеры 0 и 1) обозначает некоторую определенную константу. Предполагается, что каждый символ функции (например, +) обозначает функцию от одного или более аргументов (например, обычно предполагается, что + обозначает функцию от двух аргументов). Символ отношения (например, =, < или е) обозначает отношение с одним или более аргументами.
В таблице 2 дается перевод различных утверждений из обычной математики в логический символизм.
Теперь мы можем систематически исследовать все утверждения, которые можно записать, используя этот символизм. Во-первых, исходя из переменных и символов констант, мы можем образовывать термы, т. е. выражения, построенные из этих символов с помощью различных символов функций. В частности, если g — символ функции от п аргументов и уже известно,
Таблица 2
Утверждение
Перевод в логический символизм
Подразумеваемая область значений переменных
Символы коистаит
Символы функций
Символы отношений
(1) Существует бесконечно много простых чисел
(х) (£у) [у>хД АР (у) 1
Положительные целые числа
Нет
Нет
Р (... есть простое число) > (... больше, чем ...)
(2) Сложение коммутативно
(х) (у) (х + +у=у+х)
Элементы некоторой абелевой группы
Нет
+
= (... равно ...)
(3) Множество положительных целых чисел, содержащее 1 и вместе с каждым из своих элементов содержащее следующий за ним элемент, состоит из всех положительных целых чисел
(у) { [1еуД Д(х) (xGy->
->S (x)G
Gy) ]->(х) [/(х)^ -»XGo] }
Множество всех положительных целых чисел и все множества положительных целых чисел
1
s (следующее за)
G (... принадлежит ...) / (... положительное целэе число)
(4) Между п и 2п всегда имеется простое число
(х) (Еу) [у> >хДх+х> >уКР (у)1
См. (1)
Нет
+
>, р
См. (1)
что ub u2, ..., ип — термы, то g(ub u2, •••• ип)~ также терм. Обычно допускают небольшое изменение этой записи.
Для символа функции g от двух аргументов (вроде символа + ) пишем (ugu) вместо g^uv\
Примеры термов:
(х + у), (О + (х + у)), s(O + y).
Если R — символ отношения от п аргументов и пь ..., ип — термы, то выражение R^ux, ..., u„) называется атомарной формулой. [Введенные выше особые соглашения о записи для символов функций от двух аргументов используются также и для символов отношений; например, пишут (х = у) вместо = (ху).] Итак, утверждения, которые мы собираемся рассматривать — это утверждения, которые могут быть построены
И*
из атомарных формул с помацью пропозициональных связок и кванторов. Нетрудно увидеть, что все утверждения, приведенные в табл. 2, попадают в эту категорию. Кроме того, мы утверждаем, что все математические суждения находятся среди утверждений, которые можно выразить таким способом. Это утверждение иногда приводит к определенной путанице. Именно, виды логических выражений, которые мы допустили, часто называются выражениями „первого порядка", и утверждается, что для математики необходимы логики „более высокого порядка". Однако сами эти логики „более высокого порядка" могут быть выражены описанным способом (например, с помощью символа g из теории множеств). В частности, различные формулировки аксиоматической теории множеств могут быть выражены описанным способом (ср. [2]), и тогда, как известно, для развития классического анализа может быть использована программа Пеано — Дедекинда.
ЭРБРАНОВСКИЕ ДОКАЗАТЕЛЬСТВА
Пусть С — утверждение, выраженное в только что описанном символизме. В С входят логические символы (именно: знаки пунктуации, пропозициональные связки, переменные и кванторы) и математические символы (именно: символы констант, символы функций и символы отношений). Интерпретация утверждения С задается путем указания „смысла" математических символов. Точнее, интерпретация утверждения С задана, если указаны:
непустое множество и, называемое универсумом;
определенный элемент из и для каждого символа константы из С;
функция от п переменных из и в и (т. е. отображение из и" в и) для каждого символа функции от п аргументов;
«-местное отношение на и для каждого символа отношения от п аргументов.
Когда интерпретация утверждения С указана, С становится определенным математическим утверждением — истинным или ложным. Например, пусть в качестве С выбрано (2) из табл. 2:
(*) (у) (х + у = у + х}.
Ниже приводятся три интерпретации утверждения С.
Универсум есть множество рациональных чисел; + есть сложение; = есть равенство.
Универсум есть множество векторов в трехмерном евклидовом пространстве; + есть векторное произведение; = есть равенство.
Универсум есть множество положительных целых чисел;
4- есть умножение; = есть „меньше чем“.
Здесь С истинно прн интерпретации (1) и ложно при интерпретациях (2) и (3). Интерпретация, которая делает утверждение С истинным, называется моделью утверждения С. Под моделью утверждений Сх, С2, .... Сп мы подразумеваем модель для одного утверждения CjA^A ... ЛС„; иными словами, такая модель есть интерпретация математических символов из С!Сп, которая делает все эти утверждения истинными. Например, рассмотрим следующий список утверждений, который мы обозначим через ©^
(х)(е ° х = х'),
(/ (х) ° х = е),
^ (г) [(х ° (у о 2)) = ^х ° у) = г)],
(х = х),
(у) [х = у-*у = х],
(у) (г) [((X = у) Л {у = z)) -> (х = г)],
(у) [х = у —* 7 (х) = / (у)],
(</) («) (v) [((-v = У) Л(« = у)) -* (х ° и = у ° у)].
То, что обычно называется группой, есть просто модель этих утверждений, в которой „ = “ интерпретируется как равенство. Интерпретациями символов е, ° и / тогда будут соответственно тождественный элемент группы, умножение группы и функция, которая отображает каждый элемент группы в обратный ему. В действительности эти утверждения составляют формальную систему аксиом теории групп. В любой модели этих аксиом „ = “ должно интерпретироваться как отношение эквивалентности, сохраняющее операции, которые являются интерпретациями символов 7 и °. Тогда соответствующие классы эквивалентности будут образовывать группу. Результат групповой операции (класс эквивалентности, содержащий а ° Ь) будет при этом естественно получаться умножением класса эквивалентности, содержащего а, на класс, содержащий Ь.
Другой список утверждений, который также представляет интерес в связи с группами, это следующий список, который мы назовем ®2:
(х) Р (е, х, х),
(х) (у) Р (7 (х), х, е), (x)(y)(z)(u)(v)(w)[(P(x, у, и)ДР(и,г, w) А Р(у, z, и)) -»Р(х, у,ау)], (х) (У) (2) (“) (v) W [(Р (У. Z, о)ЛР (х, и, ау) ДР (х, у, и)) -* Р (и, г, ау)].
Именно, если мы возьмем любую группу, то ее можно использовать как модель для ®2, интерпретируя е как тождественный элемент, / как функцию обращения и Р(х, у, г) как отношение (х = у^ = г. Мы не будем обсуждать здесь обратный вопрос о сопоставлении некоторой группы каждой модели для ®2; заметим только, что любая модель для ®2, в которой интерпретация символа Р такова, что для каждого х, у имеется точно одно 2, для которого истинно Р(х, у, 2), есть группа с операцией умножения:
х°у есть то единственное г, для которого истинно Р^х, у, z\
Теперь предположим, что мы хотим доказать некоторое утверждение Т. В интересующей нас ситуации мы имеем конечный список аксиом Л,, ..., Лт, исходя из которых мы хотели бы доказать Т. Это означает, что мы хотим показать, что
Каждая модель для Л^ . .., Лт есть также модель для Т.
Например, предположим, что мы хотим доказать элементарную теорему теории групп (х) (х ° I (х) = е), т. е. что постулированный левый обратный есть также и правый обратный. Мы хотим показать, что это предложение истинно во всех группах. Так как каждая группа есть модель для ®ь достаточно показать, что это предложение истинно в каждой модели для ®,. Или иначе, мы можем, используя обозначения системы ®2, записать это предложение в виде
(х)Р(х, /(х), е)
и пытаться показать, что это последнее истинно в каждой модели для ®2. Такая точка зрения на доказуемость из аксиом обычно называется семантической или теоретико-модельной. В учебниках логики обычно подчеркивается другая, синтаксическая точка зрения, согласно которой выводимость Т из Ль ..., Лт — это возможность использовать некоторый список формальных правил вывода для получения Т из Лн ..., Ат. Но тогда основным результатом оказывается теорема Гёделя о полноте, которая утверждает, что указанные правила вывода полны в следующем смысле:
Т может быть получено из А^ ..., Ап с помощью указанных правил вывода тогда и только тогда, когда каждая модель для А„ ..., Ат есть также модель для Т.
Итак, синтаксическая и семантическая точки зрения оказываются эквивалентными. Здесь мы будем пользоваться семантической точкой зрения. Более подробную информацию о теореме Гёделя можно получить в [1, 2, 7, 10],
При каждой интерпретации утверждение Т либо истинно, либо ложно. Следовательно, каждая модель для Д,Ат есть либо модель для Т, либо модель для П^- Таким образом, утверждение, что каждая модель для Д,, ..., Am есть также модель для Т, эквивалентно утверждению, что никакая модель для Аи ..., Ат не есть также модель для ^Т. Все процедуры доказательства, предложенные здесь, можно рассматривать с этой точки зрения: т. е. мы предлагаем доказывать, что Т есть следствие А,Ат, показывая, что список предложений А], ..., Ат, 1Г не имеет модели.
Мы начинаем с предварительной обработки отдельных утверждений Дь . ..,Ат, ~]7’, согласно шагам 1 — 8 приводимого ниже описания. Каждый шаг будет выполняться снова и снова до тех пор, пока это возможно; когда данный шаг нельзя больше применить, переходим к следующему шагу. Читатель должен заметить, что:
Эти шаги могут быть легко сделаны чисто механическими и, следовательно, приспособлены для программирования на машине. (Практически эти предварительные шаги легко проделать вручную.)
Наличие модели для некоторого списка утверждений эквивалентно наличию модели для списка, получающегося из рассматриваемого в результате одного из данных шагов.
Шаг 1. Переименование переменных. Если одна и та же переменная встречается более чем в одном кванторе в одном и том же утверждении, то используем новую переменную для одного из этих кванторов. Например, (х) R (х) V (х) S (х) следует переписать в виде (х) R (х) V(y) S (у).
Шаг 2. Исключение-*и *-*. Всякий раз, когда встречаются -* и <->, делаем замену:
Заменяем А-*В на (~]Д)\/5-
Заменяем А <-> В на (Л А 5) V [(~) Д) Л (~1 5)]-
Шаг 3. Продвижение символа ~] внутрь. Везде, где возможно, делаем замены:
Заменяем ~](х)Л4 на (Ех)~]Л4.
Заменяем ~|(£*)M на (х)~|М.
Заменяем ~](Л/ЛЛ') на (~]Al)V(~]W).
Заменяем “K^VД) на (ПМ)Д(ПN\ Заменяем "ПМ на М.
В конце концов получаются утверждения, где каждое ~| встречается непосредственно перед атомарной формулой.
Для атомарной формулы мы пишем R(UlU^ вместо "lR(Ub ..., Um); здесь R(Ub ..., Um) и R<Ut, .... U^ называются литерами.
Таким образом, начав с
(x){V?(x)V ~](Ey)[S(x, y^MRWV U <хЖ
мы получим
W\R^ v (y)[S(x, uW(RW (х))]}.
Шаг 4. Исключение квантора существования. Вычеркиваем поочередно кванторы существования. Соответствующая переменная (обозначим ее через у) заменяется на g(xh ...,xm\ где g — новый символ функции, а х,хт — все переменные, встречающиеся в кванторах общности, находящихся слева от вычеркиваемого квантора существования (у нас-(£#)).
В случае, когда слева от рассматриваемого квантора существования нет кванторов общности, переменная заменяется на новый символ константы g; этот случай может быть включен в общий, если мы будем считать, что символ константы — это просто символ функции от 0 аргументов.
Чтобы доказать, что шаг 4 сохраняет свойство иметь или не иметь модель, мы заметим, что если до использования шага 4 рассматриваемые утверждения имели модель для любых Х|, .... хт из рассматриваемого универсума, то можно найти хотя бы одно значение у, для которого обрабатываемое утверждение истинно. Следовательно, мы можем взять в качестве интерпретации для g такую функцию, что для любых X]хт функция g(xxxm) равна упомянутому значению у. (Можно избежать молчаливого использования аксиомы выбора, но мы не будем этим заниматься.) Обратно, если рассматриваемые утверждения имеют модель после обработки, то y = g(xxxm) обращает исходное утверждение в истину для всех X]хт, так что первоначальное существователь- ное условие также имеет модель.
Шаг 5. Вынесение кванторов общности. Выносим все кванторы общности влево, так что рассматриваемое утверждение переходит в выражение стандартного вида (последовательность кванторов общности, за которой следует бескванторное выражение).
Шаг 6. Применение (до тех пор, пока это возможно^ дистрибутивности V относительно Д. Иными словами, заменяем (ДДВ)УС на (ДУС)Д(ВУС).
После выполнения шагов 1—6 каждое утверждение принимает вид
(xj (х2) ... (х„) [В, Д В2 Д ... Д BJ,
где для каждого В, справедливо
Bt-l^VlTv ... Vl^
и где каждая I® есть литера. В этом выражении каждое Bt называется простой дизъюнкцией (дизъюнктом), ^ называется литерой дизъюнкта Вг.
Шаг 7. Упрощение. Если дизъюнкт Bt содержит атомарную формулу вместе с ее отрицанием, то вычеркиваем весь дизъюнкт. Если литера встречается дважды в одном и том же дизъюнкте Вь то вычеркиваем одно из вхождений (например, дизъюнкт ЦХ/ЦХ/Ц следует заменить на lvX/l2).
Этим заканчивается предварительная обработка дизъюнктов. Нужно подчеркнуть, что здесь не утверждается, будто результат, получающийся после этой обработки, эквивалентен (по смыслу) Ль . ..,Ат, ~]7’.
Утверждается лишь, что модель существует для одного из этих утверждений тогда и только тогда, когда она существует и для другого.
Мы воспользуемся преимуществами весьма простой формы, к которой приведены теперь рассматриваемые утверждения, чтобы ввести некоторые сокращения. Мы вычеркиваем кванторы общности. Мы также устраняем явное использование символов Л и V- Таким образом, пишем lvU ... 1Т вместо /, V 11 X/ • • • V 1Г- Конъюнкция дизъюнктов представляется вертикальной колонкой, составленной из них. Дизъюнкты, происходящие от каждого из утверждений Дь ..., Ат, ~\Т, можно теперь собрать в единый список дизъюнктов. Этот единый список можно дальше упростить, используя следующий шаг.
Шаг 8. Исключение лишних дизъюнктов. Вычеркнем все дизъюнкты, частью которых являются другие (или которые совпадают с другими). (Действительно, конъюнкция всех дизъюнктов истинна тогда и только тогда, когда все дизъюнкты истинны; но если некоторый дизъюнкт истинен, то истинен также и любой дизъюнкт, частью которого является данный.)
Например, пусть А], ..., Д4 есть аксиомы теории групп ®2, и пусть Г есть (х) Р (х, Цх), е). Применяя шаги 1—8 к ®2
вместе с ~]Г, мы получим дизъюнкты:
Р(е, х, х),(1)
Р(Цх),х,е),_(2)
Р (х, у, и) Р(и, z, w) Р (у, Z, о) Р (х, V, w),(3)
Р (у, Z, о) Р (х, о, w) Р (х, у, и) Р (и, z, w),(4)
Р (а, I (а), е),(5)
где а —символ константы. Чтобы увидеть, как обрабатывается, например, Д Т, мы начинаем с Д (х) Р (х, I (х), е). Шаги 1 и 2 не применимы. Шаг 3 дает
(Ex) Р (х, I (х), е).
Шаг 4 дает Р(а, / (а), е), и оставшиеся шаги не применимы.
Объединенный список дизъюнктов Сь С2, .... Ск можно мыслить как единое бескванторное выражение
С, Д С2 Д ... А Ск.
Такое выражение находится в конъюнктивной нормальной форме; это означает, что оно есть конъюнкция дизъюнктов, к которым применено упрощение шага 7. Обычно выражение в конъюнктивной нормальной форме (или более общо, всякое бескванторное выражение) называется тождественно ложным, если это выражение ложно при любом сопоставлении значений „истина", „ложь" его атомарным формулам (это эквивалентно требованию, чтобы его отрицание было тавтологией).
С каждым полным списком дизъюнктов, полученных из Л,, ..., Лт, ДТ, мы связываем некоторый список Н термов, который мы называем эрбрановским универсумом для этого списка. Сперва определим Но как множество символов констант и переменных, встречающихся в этом списке. Далее полагаем по определению, что Нпп.х состоит из элементов Нп вместе со всеми термами, которые могут быть получены путем применения символов функций, встречающихся в рассматриваемом списке дизъюнктов, к элементам из Нп. Наконец, мы полагаем
д = 1|дп.
Для только что рассмотренного примера (теории групп) имеем
На = {е, а, х, у, 2, и, и, оу},
Нх = {е, а, х, у, z, и, у, w, I (е), / (а), / (х), / (у), / (г), / (ы), / (у), / (оу)}.
Все рассматриваемые нами процедуры поиска доказательств основываются на следующей форме теоремы Эрбрана.
Теорема Эрбрана. Пусть Ль ..., Л,„ — данные аксиомы, и Т — предполагаемая теорема. Пусть Сх, С2, .... Ск — список дизъюнктов, полученных из Ах Ат и ДТ с помощью шагов 1—8, и пусть Н — результирующий эрбрановский универсум. В этом случае Т есть следствие Ль ..., Ат тогда и только тогда, когда существует такой список дизъюнктов Qx, ..., Qn
каждый из которых получен, из некоторого Ct, г=1, 2, . .., 1г, путем замены его переменных членами Н, что формула Qi Л Qz Л ■ • • Л Qr — тождественно ложная.
Эта теорема доказывается следующим образом:
Предположим, что Qi Л Q2 Л ... Л Qr тождественно ложно, но тем не менее А,, ..., Лт, П^ имеет модель. Следовательно, Сн . .., Ck имеют модель с универсумом U. Припишем каждой переменной и каждому символу константы в Н некоторый фиксированный элемент из U. Тогда каждому элементу множества Н будет сопоставлен единственный элемент множества U. При этой интерпретации каждое Qt (i = 1, 2, г) истинно. Таким образом, Qi Л Q2 Л ... Л Qr не может быть тождественно ложным.
Обратно, предположим, что Ах, ..., Am, ~| Т не имеют модели. Тогда С!Ск не имеют модели. Пусть Qlf Q2, Q3, ... — всевозможные дизъюнкты, полученные из Сь . .., Ск путем замены его переменных членами универсума Н. Тогда мы утверждаем, что при любом сопоставлении истинностных значений атомарным формулам из Q,, Q>, Q3, ..., по крайней мере одно из Qt будет ложным. Допустив временно, что это утверждение верно, мы закончим доказательство, так как, согласно [10, стр. 254 — 256] („закон бесконечной конъюнкции1*), мы тогда будем иметь, что QS[ Л Qs2 Л ... Л QSf тождественно ложно для некоторых sh s2, .. ., sr. Наконец, чтобы обосновать истинность нашего утверждения, достаточно заметить, что если бы оно было ложно, то мы могли бы построить модель для Сь .. ., Ск с универсумом Я. Интерпретация символов констант и функций в этой модели определяется автоматически. И если дано сопоставление истинностных значений атомарным формулам из Qu Q2, Q3, ..., которое делает все Q, истинными, то мы можем интерпретировать каждый символ отношения R, считая R(U{, ..., Um) истинным для Ux, ..., UmeH, тогда и только тогда, когда данное сопоставление истинностных значений делает атомарную формулу R(UX, ..., Um) истинной. Таким образом, теорема доказана.
Используя теорему Эрбрана, мы можем построить любое число полных процедур поиска доказательств следующим способом.
Если даны аксиомы Ах, ..., Ат и предполагаемая теорема Т, то мы сперва применяем шаги 1—7 для получения списка дизъюнктов Сь ..., Ск. Затем применяем процедуру порождения, которая порождает дизъюнкты Qh Q2, ..., получаемые из С!Ск путем замены переменных на члены эрбранов- ского универсума. Время от времени мы прерываем процедуру
порождения и проверяем конъюнкцию Qi Л Q2 Л ... AQ« дизъюнктов, порожденных к этому моменту, на тождественную ложность. Если эта конъюнкция тождественно ложна, то мы
Рис. 1,
имеем доказательство. Если нет, порождаем новые дизъюнкты. Эта общая схема иллюстрируется на рис. 1.
ПРОЦЕДУРА ГИЛЬМОРА
Процедура Гильмора [6] может быть описана (с несущественными изменениями) следующим образом. Пусть переменные, присутствующие в Си ..., СА, —это X]хп. Пусть ^\ ..., t^), /= 1, 2, 3, ..., — некоторое определенное перечисление всех элементов универсума Н. Пусть dp, ..., Ср есть результат замены X]хп на tP, ..., tP в Ci, ..., С к соответственно. Формулу
С?’ А cP А ... А Й" А
А С{2) А Ср А ... А dp А
A C\rN) А СГ’ А ... А С^
приводим к дизъюнктивной нормальной форме для каждого из последовательных значений г; здесь N — некоторое данное целое число (допустим 10).
Приведение (*) к дизъюнктивной нормальной форме означает итерирование распределения V относительно А (т. е. замену, где возможно, (А V В) А С на (А А С) V (В А С)) до тех пор, пока формула не примет вид
^ V У2 V ... V Vk,
где для каждого V, справедливо
Vi = lT Д1^ Л ... Л 1^.
Такая формула тождественно ложна тогда и только тогда, когда в каждом Vt одна из встречающихся литер есть отрицание другой. (В противном случае можно так выбрать истин-
Р и с. 2.
ностные значения атомарных формул, что взятое Уь и следовательно вся формула, станет истинной.)
Вся процедура может быть представлена схемой, показанной на рис. 2.
ПРОЦЕДУРА ДЕВИСА - ПАТНЭМА
Процедура Гильмора, которая запрограммирована на IBM- 704, не смогла дать доказательство следующего примера:
(Ex) (Еу) (z) {[F (х, у) (F (у, г) Л F (г, г))] Л
Л l(f U, У) Л G (х, у)) -> (6 (х, г) Л 6 (г, г))]}.
Эта теорема должна быть доказана без использования специфических аксиом, т. е. это логическая теорема. Применяя шаги 1 — 8 к отрицанию этой теоремы (заметим, что шаг 8 исключает три дизъюнкта), мы получаем список дизъюнктов:
F (х, у),_
F ky, f (х, у)) Fjkf (х, у), f(x, y))G (х, у),_
F кУ, f кх, у^) F kf (х, у), / (х, у)) G (х, f кх, y))Gkf кх, У), f кх, ук Y
Сообщалось, что программа Гильмора испытала ровно 7 подстановок, т. е. rN = l. Легко видеть, что при этом получается дизъюнктивная нормальная форма из 127 конъюнктивных
дизъюнктов, каждый из которых содержит 21 литер. Процедура из работы [3] (так же, как и несколько улучшенная версия из работы [4]) совершенно аналогична процедуре Гильмора, но не использует сведения к дизъюнктивной нормальной форме. Процедура проверки на противоречивость формулы в конъюнктивной нормальной форме происходит по следующим правилам:
Правило однолитерных дизъюнктов.
Если имеются однолитерные дизъюнкты р и р, то формула противоречива.
Если (а) не применимо и имеется однолитерный дизъюнкт I, то вычеркиваются все вхождения ПЛ а также все дизъюнкты, в которых встречается I. (Под ~\1 мы понимаем р, если /—атомарная формула р, и понимаем р, если I есть атомарная формула р.) Если после этого совсем не остается дизъюнктов, то формула непротиворечива.
Положительно-отрицательное правило. Если имеется литера /, но нет ПЛ то можно вычеркнуть все дизъюнкты, содержащие I. Если после этого совсем не остается дизъюнктов, то рассматриваемая формула непротиворечива.
Правило расщепления. Пусть р — атомарная формула, такая, что имеются как р, так и р. Пусть At и А, получены из исходной формулы путем вычеркивания всех дизъюнктов, в которых встречаются соответственно р или р. Тогда исходная формула противоречива тогда и только тогда, когда Ах и Л2 обе противоречивы.
Пример Гильмора легко выводится (даже вручную) с использованием этой процедуры (ср. [3]); ио задача из теории групп, рассматриваемая выше, оказывается трудной (обсуждение трудностей см. в [4]).
ПРОЦЕДУРА ПРАВИЦА
Недостатком процедуры Девиса — Патнэма является порождение значительно большего числа дизъюнктов, чем нужно для завершения доказательства. Правиц в работе [9] предлагает алгорифм, свободный от этого дефекта.
Пусть дан список дизъюнктов Сн ..., Ск, и пусть входящие в него переменные — это хь ..., хп. Пусть теперь С\*\ ..., dk суть соответственно результаты замены хь ..., хп новыми различными переменными хх1, ..., х„/. Снова мы выбираем целое число N, и для последовательных значений г мы приводим формулу (*) из разд. 3 к дизъюнктивной нормальной форме. Затем ищем подстановки элементов эрбрановского универсума Н вместо переменных, которые могут перевести две литеры в одном и том же (конъюнктивном) дизъюнкте в отрицание друг друга.
Если не существует таких подстановок для всех дизъюнктов, то увеличиваем г и начинаем снова.
В качестве примера [9] рассмотрим логическую теорему(х) (у) [Р (х) V Q (у)] -> [(X) Р (х) V (у) Q (у)].
Шаги 1—8 дают список дизъюнктов:
P(x)Q(y),
Р(н), QW-
В дизъюнктивной нормальной форме это переходит в формулу [Р(х) Л Р(а) Л Q(6)] V [Q (у) Л Р(а) Л Q (&)],
которая будет противоречивой только в случае х = а и у = Ь. Здесь для доказательства достаточно положить rN=\.
Большим достоинством процедуры Правица является порождение только таких подстановок в С, Л С2 Л ... Л Ск, которые действительно нужны для противоречия. Но использование дизъюнктивной нормальной формы неизбежно порождает те же самые трудности, что и в процедуре Гильмора.
НОВАЯ ПРОЦЕДУРА
Мы теперь опишем новый тип процедуры, в которой попытаемся объединить достоинства процедуры Правица и процедуры Девиса — Патнэма.
Определение. Формула в конъюнктивной нормальной форме называется связной конъюнкцией, если для каждого вхождения литеры I в данный дизъюнкт существует по крайней мере одно вхождение ~|/ в какой-нибудь другой дизъюнкт. Назовем такое вхождение Д/ партнером для данного вхождения I.
Теорема. Пусть Съ ..., Ск — список (дизъюнктивных) дизъюнктов, конъюнкция которых находится в конъюнктивной нормальной форме и является противоречием. Тогда существует подмножество {С h . ..,Ct}, конъюнкция которого противоречива и является связной конъюнкцией.
Предположим, что некоторый дизъюнкт содержит литеру I и что нет другого дизъюнкта, содержащего Д/. Тогда все дизъюнкты, содержащие /, можно вычеркнуть. Действительно, полагая I истинным, мы сделаем истинными также все дизъюнкты, содержащие I. Следовательно, всякое сопоставление истинностных значений атомарным формулам должно делать
ложным некоторый дизъюнкт, не содержащий I. (Это замечание является просто обоснованием положительно-отрицательного правила.) Повторение этого процесса должно привести к связной конъюнкции, которая также противоречива.
Эта теорема о связной конъюнкции (или, скорее, двойственная ей) была независимо замечена Данхэмом и Нортом [5].
Следовательно, мы можем модифицировать процедуру Девиса — Патнэма так, чтобы искать именно связные конъюнкции; проверку на противоречивость надо делать только после получения связной конъюнкции. Найдем подходящую связную конъюнкцию в рассматриваемой задаче теории групп.
Искомая связная конъюнкция должна содержать дизъюнкт (5), так как он — единственный след доказываемой теоремы. Подстановка в (1) или (2) никогда не даст (5). Следовательно, в связной конъюнкции должен присутствовать дизъюнкт, который получается подстановкой из (3) или (4). Попытка использовать (3) таким способом приведет в тупик, как легко может проверить читатель. Используя (4), получим:
Р (а, / (а), е),
Р {у, I (а), у) Р (х, v, е) Р (х, у, а) Р (а, / (а), е).
При подстановке в этот список мы должны заставить первые три литеры иметь ту же форму, что и какая-нибудь подстановка в (1) или (2) или в последнюю литеру из (3) (или, быть может, другая подстановка в (4)). Достичь этого можно различными путями; мы выбираем подстановку у = е, у = I (а). Тогда первая литера будет иметь вид (1), и если мы далее положим х = /(/(а)), то вторая литера будет иметь вид (2). Это приводит к списку дизъюнктов:
Р (а, I (а), е),
Р (у, / (а), / (а))Р (/ (/ (а)), / (а), е) Р (I(I (а)), е, а) Р (а, Г (а), е), P(eJ(a)J(a)),
P(I (1(a)), 1(a), е).
Но так как третья литера второго дизъюнкта не имеет себе партнера, то это еще не есть связная конъюнкция. Дизъюнкты (1) и (2) не помогают, поэтому испытаем (3):
Р (I (I (а)), у, и) Р (и, г, а) Р (у, z, е) Р (f (/ (а)), е, а).
Здесь первая литера подсказывает подстановку у = Ца), и™=е, и тогда второй дизъюнкт подсказывает подстановку а«=а.
Таким образом, получим связную конъюнкцию:
Р (а, I (а), е),
Р (е, / (а), I(a))P U U (а)), / (а), е) Р (/ (/ (а)), е, а) Р (а, I (а), е),
Р (е, 1(a), 1(a)),
P(I(I(a)), 1(a), е),__
Р (I (I (а)), I (а), е) Р (е, а, а) Р (I (а), а, е) Р (I (I (а)), е, а),
Р (е, а, а),
Р (I (а), а, е).
Нескольких применений правила однолитерного дизъюнкта достаточно, чтобы показать, что эта связная конъюнкция противоречива.
Остается предложить исчерпывающую процедуру поиска связных конъюнкций. Мы начнем с замечания, что в связной конъюнкции, полученной из (1) — (5), мы могли бы ожидать больше дизъюнктов, происходящих от (1) и (2), чем от (3) и (4). Дело в том, что каждое использование (3) или (4) требует от нас нахождения партнеров для трех литер вида P(U, V, W). Таким образом, мы можем предположить, что от (1) и (2) происходит примерно втрое больше дизъюнктов, чем от (3) или (4). Мы можем выразить это предположение в виде отношения:
3:3: 1 : 1 : 1.
Вообще, пусть даны дизъюнкты Ci, С2, ..., Ск, сопоставим им целые числа пх, пг, ..., пк, где п^П) мыслится как отношение числа ожидаемых дизъюнктов, происходящих от Сь к числу дизъюнктов, происходящих от С/. Для каждого фиксированного значения г, r = 1, 2, 3, ..., существует только конечное число существенно различных связных конъюнкций, содержащих не более чем rnt дизъюнктов, происходящих от каждого Cb i=\, 2, ..., &. (Две связные конъюнкции несущественно различны, если одна может быть получена из другой подходящей заменой переменных.) Их можно систематически порождать в процессе поиска всевозможных путей нахождения партнера для различных литер.
Д. Мак-Илрой предложил интересную схему лл1 выполнения поиска всех связных конъюнкций для каждого фиксированного значения г. Эта схема подобна некоторым игровым алгорифмам, так как она основана на оценке „позиций" и переходе к „позиции" с наилучшей оценкой.
Список дизъюнктов оценивается следующим образом. Каждое вхождение литеры, которое еще не имеет партнера, полу-
12 Зак. 560
чает в качестве оценки суммарное число литер из других дизъюнктов, которые могут быть использованы в качестве партнеров для него (после подходящей подстановки). Оценка задачи теории групп начинается следующим образом:
6
Р(е, х, х),(1)
6
Р(Цх),х, е),(2)
_3_3_33
Р^х,у,и)Рки,z,w)Pky,2,у)Р(х,У,ш),(3)
_з_3_33
Рку,2,v)Pkx,У,®)Р(х,у,и)Р(и,2,w),(4)
_2
Рка, Ца), е).(5)
Наша стратегия состоит в нахождении партнера сначала для литеры (или одной из литер) с наилучшей оценкой. Если, как в нашем случае, эта наилучшая оценка больше, чем 1, то имеется несколько возможностей. Мы испытаем их все одну за другой (просмотром вперед) и произведем переоценку. При этом мы сохраняем литеры с наименьшей минимальной оценкой. В нашем случае имеются две возможности:
5
Р(е, х, х),
Р(Цх), х, е),
_1_3_2
Рка,у,и)Рки,2,е)Рку,2,Ika)) Р ка, Iка), е),
_3_3_34
Рку,2,v)Pkx,У,w)Pkx,у,и)Рки,Z,w),
Рка, Ца), е)
с минимальной оценкой 1 и
5
Рке, х, х),
5
РкЦх), х, е), 3334
Ркх, у, и)Рки, 2, w)Pky, 2, у)Ркх, У, w),
_ 3_3 _2
Рку, I ка), v)Pkx, у, е)Ркх, у, а) Рка, Ika), е),
Рка, Ца), е)
с минимальной оценкой 2.
Следовательно, мы продолжим рассмотрение первого вари* анта. В конце концов нам, может быть, придется вернуться
ко второму либо потому, что не удастся получить никакой связной конъюнкции, либо потому, что полученная связная конъюнкция будет непротиворечива. В рассматриваемой задаче теории групп первой встречается связная конъюнкция, найденная выше.
Усовершенствование предложенной процедуры, которое, возможно, обладает некоторыми практическими преимуществами, состояло бы в попытке объединить связные конъюнкции с помощью новых подстановок таким образом, чтобы у них появились общие литеры. Это не является теоретически необходимым, но на практике могло бы привести к более быстрым доказательствам некоторых теорем.
Процедура доказательства, основанная на этих идеях, в настоящее время программируется на вычислительной машине IBM 7090 (Лаборатории компании Bell Telephone).
ЛИТЕРАТУРА
Черч А., Введение в математическую логику, т. 1, ИЛ, М., 1960.
Davis М., Mathematical logic, Mimeographed lecture notes, New York Univ., Inst. Math. Sciences, New York, 1960.
Davis M., Putnam H., A computing procedure for quantification theory, I. ACM, 7 (I960), 201—215.
Davis M., Logemann G., Loveland D., A machine program for theorem-proving, Comm. ACM, 5 (1962), 394—397.
Dunham B., North J. H., Theorem testing by computer, Proc. Sympos. Math. Theory Automata, 1962, Polytechnic Press, Brooklyn, N. Y. 1963, pp. 173—177.
Gilmore P. C., A proof method for quantification theory, IBM J. Res. Develop., 4 (1960), 28—35.
Гильберт Д., Аккерман В., Основы теоретической логики, ИЛ, М., 1947.
Prawitz D., Ап improved proof procedure, Theoria, 26 (1960), 102—139.
P r a w 11 z D.. Prawitz H., Voghera N., A mechanical proof procedure and its realization in an electronic computer, /. ACM, 7 (1960), 102-128.
Quine W. V. O., Methods of logic, Henry Holt, New York, 1959.
Robinson A., Proving a theorem (as done by man, logician or machine), Summaries of talks at Cornell Summer 1957, Institute for Symbolic Logic, IDA, Princeton, N. J., 1960, p. 350—352.
Wang Hao, Towards mechanical mathematics. IBM J. Res. Develop, 4 (1960), 2—22. (Русский перевод: Бан X а о, На пути к механической математике, Кибернетический сборник, вып. 5, ИЛ, М., 1962.)
W a n g Нао, Proving theorems by pattern recognition, 1, Comm. ACM, 3 (1960), 220—234.'
W a n g Hao, Proving theorems by pattern recognition, II, BSTJ, 40 (1961), 1—41.
Формализацияи автоматическое доказательствотеорем')
Ван Хао
ОБЩИЙ ОБЗОР
Главная цель этой статьи — привести ряд новых примеров механизации доказательств в арифметике и исчислении предикатов, которые, как мы полагаем, позволяют несколько продвинуться в развитии механической математики. Прежде чем приступить к детальному изложению, дадим в соответствии с пожеланиями организаторов конференции краткую сводку известных результатов.
Возможны различные пути использования вычислительных машин при доказательстве теорем. Чрезвычайно интересная работа Лемера [23] по доказательству теоретико-числовых теорем заключается по существу в сведении (человеком) общей теоремы к ряду сложных численных примеров, которые проверяются на машинах. Это несомненно разумный путь применения машин, при помощи которого уже доказаны новые теоремы. Но здесь мы будем рассматривать применения иного сорта, отличные от указанного пути, так как машина может выполнять только численные операции.
В качестве исходных данных не обязательно брать только аксиомы Пеано (с этим логики, по-видимому, согласятся). В связи с этим автор рассматривает вопрос о накоплении запаса стандартных математических результатов, а также допускает возможность частого вмешательства человека. Наш подход отличает желание применить хорошо известные способности машин к численным расчетам в области построения логических выводов.
Среди попыток осуществить такое применение различаются две основные тенденции, которые можно назвать психоцентрической и логоцентрической. В принципе различие между ними невелико. На практике психоцентрический подход обладает обманчивой привлекательностью, которая часто ведет к разочарованиям. Во всяком случае, лучше, по-видимому, оценивать
') Wang Нао, Formalization and automatic theorem-proving, Proceedings of 1FIP Congress 65, v. 1, 1965, p. 51—58.
каждую индивидуальную работу по ее конкретным результатам вместо того, чтобы вдаваться в общие рассуждения.
Известная работа Ньюэла, Шоу и Саймона [25, 26] имела важные побочные результаты в изучении языков программирования; что же касается доказательства теорем, она, по-види- мому, мало пригодна для этой цели. Кроме того, хотя размышления по вопросам механического моделирования, вероятно, могут быть полезны для психолога, трудно предсказать, каким образом результаты осуществления этих идей на вычислительных машинах могли бы способствовать прогрессу в области психологии.
Схема доказательства геометрических теорем, разработанная Гелернтером и др. [17], дает результаты, которые сначала озадачивали. Но тщательный анализ Гильмора, по-видимому, показывает, что достигнуто было много меньше, чем первоначально казалось. „Авторы составили обычную машинную программу, в которой были реализованы совершенно определенные алгорифмы" (Гильмор [19], стр. 26).
Слегл [34] написал удачную программу для решения на машинах проблемы интегрирования в анализе. Было бы интересно изучить более подробно всю проблему интегрирования. Программа, которая составлена Бобровым [2] для решения на машине задач описательной алгебры, тщательно разработана и снабжена пояснениями. Интересно, что небольшой запас простых средств дает ему возможность манипулировать достаточно широким кругом английских предложений. Однако вопросы рассматриваемого нами типа являются побочными для его статьи.
В рамках логоцентрического подхода главное внимание пока что уделяется исчислению предикатов. Вне исчисления предикатов некоторые авторы, в частности Коллинз [5], рассматривали разрешающую процедуру Штурма — Тарского для элементарной алгебры. Робинсон предложил в несколько ином направлении систему для теории уравнений [29, 30]. Браун развил эффективную практическую систему для алгебраических преобразований [3].
Первая серьезная попытка поставить исчисление предикатов на машины, по-видимому, относится к лету 1958 г. [36]. Она дала довольно обнадеживающие результаты. С того времени было сделано много близких работ как по процедурам доказательства [4, 6 — 8, 18, 27, 28, 31, 32, 40], так и по разрешающим процедурам [14— 16, 37] для интересных подклассов. Приятно наблюдать медленный, но неуклонный прогресс по направлению ко все более и более эффективным процедурам.
Основополагающий для обоих подходов теоретический результат восходит к творению Сколема и Эрбрана, известному под
названием теоремы Эрбрана. Однако для того, чтобы сделать теоретически возможные разложения *) практически пригодными, возникает новая серия вопросов, которая требует более сложных рассмотрений.
В области разрешимых подклассов исчисления предикатов Фридман [16] не только дает эффективную программу для решения вопроса о том, будет ли формула вида
(м) • • • <хт} (Еу^ (Еу2) (г,) ... (?„) М
теоремой, но также систематически рассматривает вопросы расширения (дизъюнкты, которые сами о себе заботятся}. Непосредственные обобщения, которые желательно было бы получить, — это включение равенства и снятие ограничения на размерность предикатов.
Среди процедур доказательства, изученных на машинах, наиболее полезными методами, достаточно завершенными к настоящему моменту, являются, по-видимому, методы Чинлунда и др. [4] и Робинсона [31]. Более эффективная процедура разработана Робинсоном в работе [32], подобные идеи были независимо изложены Аандера [1]. Ни один из этих методов не был реализован на машине, хотя, по-видимому, работа Аандера содержит больше подробностей, нужных программисту. Для обоих методов желательно было бы включение равенства.
Ни одна из программ, законченных к настоящему времени, не смогла вывести примеры £xQl, ExQ2, ExQ3 (в порядке возрастания трудности), рассматриваемые ниже. Надеемся, что эти примеры будут приняты в качестве тестов для новых программ.
Более общий" вопрос состоит в том, является ли метод эрбрановских разверток достаточным в своей основе. Может быть необходимо ввести специальные стратегии, которые не имеют прямых связей с проверкой эрбрановских разверток. Например, ниже рассматривается стратегия устранения кванторов подстановкой Ей вместо (Ех}(х = и Д Fx} или (х) (x = utd Fx).
Для механизации рассуждений в случае арифметики сделано мало. Очень вероятно, что многие пытались сделать это и нашли задачу слишком трудной. Следующий раздел с примерами из арифметики посвящается предварительному исследованию некоторых возможностей. По-видимому, для недалекого будущего подходящей целью должна быть механизация доказательств из работы Сколема [33]).
') Имеются в виду эрбранэвские развертки. — Прим. ред.
Автор в других работах [35—39] уже много рассуждал о будущем автоматического доказательства теорем и не хочет здесь повторяться. По-видимому, необходимо подчеркнуть четыре коротких тезиса.
Хотя формализация есть только часть решения проблемы (так как для механизации нам нужен, кроме того, метод выбора следующего шага), весьма желательно выполнить больше работ по формализации, имея в виду расширение набора точных приемов. Привлекательная черта этого направления работ — возможность обойтись без машин. Следовательно, мы имеем область, где не обязательно пачкать руки. Это помогает разделению труда.
Нереалистично с самого начала ожидать практических методов, которые были бы полностью „автоматическими", так как цель состоит в том, чтобы расширить человеческие способности, поручив машинам наиболее утомительные шаги (см. [37], стр. 221, а также [31]).
Поучительно сопоставить возможность механизировать некоторый процесс с возможностью обучить его выполнению.
Монтаж различных методов в более широко применимую структуру представляет много серьезных трудностей. Например, булевы операции быстро выполнимы, но если мы введем такие операции на многих различных стадиях, то существенно, чтобы на каждой стадии требовалось не слишком много таких операций.
ПРИМЕРЫ ИЗ АРИФМЕТИКИ
Чтобы доказать некоторую формулу арифметики, мы допускаем, что она ложна и берем минимальный контрпример МК, который представляется неопределенной константой. В общем случае существовательное утверждение ^Ex^Fx дает неопределенную константу, которая произвольна, но обладает свойством F. Кванторы общности опускаются, и используются свободные переменные. Мы будем использовать а, Ь, с, х, у, г и т. д. в качестве переменных, т, п, k, хт, ут и т. д. — в качестве неопределенных констант. Основная стратегия состоит в том, чтобы выводить утверждения об этих неопределенных константах в надежде найти противоречивые. Переменные пробегают только положительные целые числа (исключая 0).
Чтобы сделать такой подход практичным, необходимо использовать некоторый запас известных математических результатов ЗР и список TF простых пропозициональных преобразований.
Следующие четыре примера предназначены просто для иллюстрации того, какого рода преобразования можно делать. Доказательства становятся все более и более эскизными и менее механическими. Можно обобщить методы, намеченные ниже, и получить полную систему арифметики в том смысле, что всякая теорема обычной аксиоматической арифметической системы теоретически может быть доказана; однако этот аспект здесь не будет рассматриваться. Например, чтобы выполнить повторные индукции, необходим, кроме МК, обычный выбор минимальной неопределенной константы.
Пропозициональные постулаты (включая постулаты для равенства) ограничены пока следующими:
TF1. Если А и А zd В, то В.
TF2. Если А, С, (А Д C)zd В, то В.
TF3. Если Aid В и ~]В, то ДД.
TF4. Если Д zd (S V С) и “]С, то А тз В.
TF5. Если А = В и А, то В (обычно для определений).
TF6. Замена равных на равные.
TF7. Если ~]Д, вычеркнуть А zd В.
Основные инструкции (для первого уровня сложности) таковы:
МК. Записать условия для минимальных контрпримеров.
НК. Сформировать неопределенные константы и подставить их вместо свободных переменных в предыдущие строчки дока- зат льства.
TFL. Применять TF1—TF7, пока это возможно, к полученным до сих пор строчкам доказательства, не содержащим свободных переменных.
TFG. Применять TF1—TF7 как на основе строчек доказательства, так и на основе ЗР, но с ограничением, что хотя бы одна из посылок взята из доказательства и не содержит свободных переменных и что заключение не содержит функций и предикатов, не встретившихся в доказательстве.
ИП. Искать противоречия среди уже полученных строчек доказательства.
Вводится ряд механизируемых неявных соглашений. Например, сложение и умножение коммутативно и ассоциативно. Так, x-Vy и х < у для Дх|у, ~]х<у, х<у <2 для х<уДу<г; а = Ь и Ь = а — все считаются совпадающими.
За начальный ЗР мы взяли произвольно следующий список (с широкими возможностями усовершенствования):
а < а\
(а < b Д b < с) zd а < с;
а ^ а\
ab = ас zd b = с;
х^у = (,х = у\/ х<у\,
х = у V х<у V у<х;
а з£ b dd b < а.
х | х;
^х \ у Л yU)=>xlz;
х | у s у = хиХу,
xy = zzD(xlz Д y[z);
х I у zd х ^ у.
^Рх л х |yz^ ZD (х | у v X |z);
Р2. у> 1 ZD [Д Ру = Ц <ху<у ^ Ху 1 у)].
На первом этапе предпринимаемого доказательства мы поступаем следующим образом. Начало: (1) МК, (2) НК, (3) TFL, (4) ИП, (5) TFG, (6) ИП, (7) возвращаемся к (2) и по
вторяем. Выход: либо когда противоречие найдено на этапе ИП, либо когда НК не дает новых подстановок. В последнем слу-
чае требуется
более
сложное обращение к ЗР.
Пример 1.
ExNl
. Х> 1 ZD ^Еу^Ру К У\X).
Используя
МК, :
получаем следующее:
т>1,(1)
Pb zd b ^ т,(2)
Применяем
1
НК:
< а <т zd (Руа Л уа| а).(3)
Pm zd т 4* т,(4)
1
<т<т zd (Рут д ут\т).(5)
Применение TFL и ИП ничего не дает. Приимяем TFG.
Используя TF7 и В1, можно вычеркнуть (5).
Используя (4), D1 и TF3, получаем
П Pm.(6)
Далее,
“I Pm = (1 <xm <m Д xm( m), согласно (1), P2, TFI. (7)
В силу (6), (7), TF5 имеем
(8)(9)(8)(9)1 < xm < tn,xm\m.
(8)
(9)
(8)
(9)
Применение ИП не дает никакого результата. Возвращаемся
к НК:
Рхт=эхтф т после подстановки в (2) хт вместо Ь, (10)
1 < xm < т дэ (Рухт А Ухт | хт) после подстановки в (3) хт вместо а.(11)
Применяем TEL:
1Рхт, [(9), 10), ТЕЗ],(12)
РуХт, [(8), (11), TF1],(13)
Ухт\хт. [(8), (11), ТЕ1].(14)
Применение ИП не дает никакого результата. Применяем TEG:
ПРхт = (1 <u,m<xm A u,m|xm) в силу (8), Р2, TF1, (15) \<их,п<хт, [(12),(15), TF5],(16)
ихт)хт1 [(12), (15), TF5],(17)
Ух^т, [(9), (14),D2, TF2],(18)
UxJ™, [(9), (17),D2, TF2],(19)
Применение ИП не дает никакого результата. Возвращаемся к НК:
РУхт У,т ^ т,(20)
Р^хт =з иХт Ф т,(21)
1 < Ухт < т =э (Ру„Хт ^ уУхтуХту(22)
< иХт < т =э ^Ру^ ^ yUxmих,„у(23)
Применяем TEL:
Ухт^т, [(20),(13), TF1],(24)
~\РУхт, [(20),(18), TF3],(25)
1РиХт, [(21),(19), ТЕЗ].(26)
Применяем ИП и находим, что (24) противоречит (18), а (25) противоречит (13). Следовательно, ExNY есть теорема арифметики.
Для того чтобы доказать следующую теорему, мы расширяем ЗР, присоединяя:
РЗ. у> 1 =э ПРг/ = (1 <ху<у Д Рху Д xv\г/)],
(а | b Д а | (Ь + с)) гэ а | с.
Fl. а ^ b дэ а I bl;
F2. 1 <а! + 1;
F3. а <а! + 1;
F4. jа! + 1 ^ а.
Пример 2. ExN2. Рх 2D (ft/) (Ру /\ х < у ^ х! + 1).
Условие о минимальности оказывается бесполезным, и мы для краткости его опускаем.
В силу МК:
Pm,(1)
Ра 2D (а ^ m V ml + 1 < а).(2)
Применяем НК:
Pm 2D (т ^ т V ml + 1 < т),(3)
Р (ml + 1) =) (т! + 1 ^ т V ml + 1 < tn'. + Ik (4)
Применение TFL и ИП не дает ничего, кроме
т ^ т V ml + 1 < т, [(1), (3), TF1].(5)
Применяем TFG:
Р (ml + 1) 222> ml + 1 ^ т, [(4), Bl, TF4],(6)
ПР(т! + 1), [(6), F4, TF3],(7)
1</л! + 1, [F2 (не обосновывается ограниченным TFG)], (8) l<xmW<ml + 1, [(8), (7), РЗ, TF1, TF5],(9)
PXmt-H,(Ю)
Xm! + I I ml + 1.(11)
Применение ИП ничего не дает. Вернемся к НК:
Pxml+1 222> (xm!+I s rn V m! + 1 < xml+i).(12)
Применяем TFL:
ml + 1 < xmm в силу (9),(13)
Pxm!+12Dxm!+l ^m, [(12), (13), TF4],(14)
xml+, ^ m, [(14), (10), TF1].(15)
ПряжеяетаеИЙ не дает никакого результата. Применяем TFG: xml+i|m!, [(15), Fl, TF1],(16)
xm,+,| 1, [(16), (11), В8, TF2],(17)
xml+i ^ 1, [(17), D5, TF1],(18)
1 < xmI+i, [(18), B7, TF1].(19)
Ho (19) противоречит (9).
Следующие два примера наводят на мысль, что необходимы более сложные стратегии, такие, как упорядочение всех встречающихся неопределенных констант, разбиение произведений, рассмотрение отдельных случаев а = Ь, а<Ь, Ь<а и т. д.
Пример 3. Ех№. Pw zd шх2 # у2.
Применение МК неоднозначно, так как здесь не одна свободная переменная. Выбираем следующее:
Рк,(1)
кт? = п2,(2)
(а < m Д 6 < и) => ка2 ^ Ь2.(3)
Существуют различные пути применения НК, большей частью с тривиальными результатами. Применение TFL сравнительно бесполезно. Перейдем к либерализованному TFG,
ведущий принцип которого — разбиение произведения. Имеем *|n2, [D4, (2), TF1],(4)
т? | п2,(5)
к\п, [(1), (4), Pl, TF2 (и соглашение о замене А V А на Д)], (6) п = хкпк, [(6), D3, TF5],(7)
п2 = к2 (х»„)2, используя а = b zd а2 = Ь2,
так как п? встречается выше,(8)
кт2 = к2(хкпУ, [(8), (2), TF6],(9)
т2 = к(хкпУ, [(9), В4, TF1],(10)
т<п, согласно (2), (1) и (Ра Л ab2 = с2) zd Ь < с,(11)
хкп< п, согласно (7), (1) и (Ра Л ab = с) zd Ь < с.(12)
Подставляем хкп вместо а и т вместо b в (3):
(хкп < т ^ т < и) zd к (хкпУ ^ т2,(13)
к(хкпУ^т2, согласно (13), (11), (12), TF2. (14) Но (14) противоречит (10).
Пример 4. ExN^. * ии
X = П Mi = П £; Л (0“"' (У1 ^ Ут Л Pyt Л Ру1+д Л
^(u = v Л (/)“ у, = z,).^(u = v Л (/)“ у, = z,).Л(0, ' (z^^ztJrX^PZi NPz^^
^(u = v Л (/)“ у, = z,).
^(u = v Л (/)“ у, = z,).
Возьмем минимальный контрпример х = к. Если yx=zx, то ииии
IT Ui = П zi < к. Если yx<zx, то ух II z, < П z; и ух делит обе i = 2 i = 2i = 2i = l
части неравенства. Отсюда ух | (z, — ух) Ц г£. Так как PzXl то 1=2
Wи
У1 А (21 - ух) И ух |yz... Z*. Отсюда ух П tt = (z, - ух) П zt < к.
i=l1=2
ПРИМЕРЫ НА ИСЧИСЛЕНИЕ ПРЕДИКАТОВ
Вместо того чтобы доказывать, что данная формула является теоремой, мы берем ее отрицание и выводим противоречие. Будем использовать для неопределенных констант запись, подобную записи их в разделе с примерами из арифметики. Основной пример настоящего раздела следующий:
Пример 1. ExQi. Вывести противоречие из конъюнкции:
ш ^= п,(1)
п ^= й,(2)
к =£ т,(3)
у = m V \Fym = (Ez)(z ^ m ^z =# У ^ Eyz Д Fzy^, (4) у = п V \Fyn = l(Ez) (zN=n\zN=yK Fyz ^ Fzy^, (5) У = к V [Fyk = (y = m V y = n)Y(6)
Имеются еще два родственных, но более трудных примера.
Пример 2. ExQ2. Заменить (2) и (3) в ExQi на
(п = к \/ к = т) и(2')
y = iV (Fyj = y = k).(3')
Пример 3. ExQ^. Вычеркнуть (2') из ExQ2.
He будем обсуждать здесь эти довольно трудные примеры. Для более интуитивного понимания указанных примеров следует мыслить F как отношение принадлежности е.
Существуют три до некоторой степени различных метода решения ExQi.
Первый метод — использовать разрешающую процедуру для специального префикса. Таким способом мы приводим конъюнкцию к предваренной форме с префиксом
(Em) (Еп) (Ek) (у) (z) (Ей) (Ev).
Если в программе, которую дает Фридман [16], удалить искусственные ограничения и присоединить методы обращения с равенством, то с примером ExQi, по-видимому, можно справиться.
Второй метод. Подставим т, п, к вместо у в (4), (5), (6), т. е. действуем почти так же, как прежде с НК. Из дезяти возможных подстановок три дают тривиальные результаты (т вместо у в (4) и т. д.). Мы рассмотрим ровно четыре из
остальных шести и упростим их с помощью (1), (2), (3), k = k, п = п:
Fkm = (Ez) (z^mAz^^A Fkz A Fzk), к вместоув(4),(7)
Fkn = ~] (Ez) (z^ nA z ¥= & Л Fkz A Fzk), квместоув(5), (8)
Fmk, tn вместо у в (6),(9)
Fnk, п вместо у в (6).(10)
Попытаемся использовать (Ez), применяя эквивалентность
Gty = (Ez) (z = w A Gz). Из (6) получаем:
(Fyk Д у #= к Ду =£ m)iDy = п;
(Fyk Д у #= к Д у =Д п) id у = т.
Поэтому мы можем добавить у = п к правой части (7) и у = т к правой части (8). Таким образом, исключая Ez в обоих случаях, получаем:
Fkm ^(пДтА.пДкЛ Fkn Л Fnk),Fkn = ~)(т #= п Д т #= к Д Fkm Д Fmk).
Используя (1) и (2), сделаем упрощения:
( ,Fkm = (Fkn A Fnk),(11)
Fkn = ("] Fkm V 1 Fmk),(12)
Fkn = Fkm, согласно (9) и (12),(13)
Fkm = Fkn, согласно (10) и (11).(14)
Согласно (13) и (14), Fkm^^Fkm, имеем противоречие.
Третий метод. Кванторы и = в (4) и (5) исключаем более механическим способом, что дает:
(у = т V Fym V(u = mVu = yV ~] Fyu V 1 Fuy)) Д
А [у = m V П Fym V (Ху^ т А ху=Д у Д Fyxy A Fxyy)), (4') [у = n V "] Fyn V(o = nVo = yV"] Fyu V "1F оу)] A
Л [у = n V Fyn \/(wy^nДWy^yД Fywy A Fwgy)\. (5')
Задача заключается в выводе противоречия из (1), (2), (3) (4'), (5') и (6). Мы записываем каждый дизъюнкт в конъюнктивной нормальной форме, так что результат является конъюнкцией многих дизъюнктов:
(1);
(2);
(3);
у = mV ~]Fym V Xy^m;
у = m V 1 Fym V xv#= у;
y = mV ~]FymV Fyxy;
у = m V "1Fym V FxMy;
у = m V Fym V u = mV u*gV 3Fyu V ^Fuyt
у = n V Fyn V wy=/=n;
у = n V Fyn V Wy^y,
у = n V Fyn V Fywy;
у = n V Fyn V Fwvy;
у = n V 1 Fyn V v = nV и = у V ~] Fyv V ~] Fvy,
у = kV у ^= mV Fyfe;
y = hV У #=nV Fyfe;
y = fevy = mVy = nV ~]Fyfe.
Подставляем m вместо у в (6.1), используя rn^fe и m = m:
Fmk,(15)
Fnfe, [n вместо у в (6.2), n^=k, n = n],(16)
h = nV ~] Ffen Vm = nVm^kV~\ Fhm V ~l Fmk,
fe вместо у и m вместо v в (5.5),(17)
~]FfenV ~]Ffem, используя (1) —(3), (15), (17),(18)
Fhm V ~\Fkn, fe вместо у и n вместо и в (4.5),
используя (1), (2), (3), (16),(19)
~\Ffen, используя (18), (19),(20)
Wt^n, wk^=h, Fkwk, Fwkk, k вместо у в (5.1) —(5.4),
используя (2) и (20),(21)
wk = m, wk вместо у в (6.3), используя (21),(22)
Fkm, используя (21) и (22),(23)
хк=£т, xkV= h, Fkxk, Fxkk, fe вместо у в (4.1) —(5.4), используя (3) и (23)(24)
хк = п, хк вместо у в (6.3), используя (21),(25)
Ffen, используя (24), (25).(26)
Отсюда видно, что (20) и (26) противоречат друг другу.
Это доказательство довольно близко по характеру к доказательству, полученному Чинлундом и др. [4]. Действительно, если мы обобщим метод Чинлунда и др. [4], присоединив равенство и исключив лишние шаги, машина, вероятно, сможет выдать в разумное время доказательство, более или менее похожее на данное. Если оставить в стороне вопрос о равенстве, имеется существенное теоретическое различие между методом
Чинлунда и др. [4] и приведенным доказательством, а именно: приведенное доказательство не использует предваренной нормальной формы. Такое усовершенствование предложено в диссертации Эрбрана (см. также [9, 20, 38]) и требует несколько более тщательного обоснования [10], чем метод, использующий предваренную форму.
ЛИТЕРАТУРА
Aanderaa S., A deterministic proof procedure (manuscript), Harvard, May 1964.
Bobrow D. G., Natural language input for a computer problem-solving system, Ph. D. thesis, MIT, September 1964.
Brown W. S., The ALPAK system, MM-63-1214-3, Bell Laboratories, April 1963
Chin 1 und T., Davis M., Hinman P. G., McIlroy D., Theoremproving by machine. Bell Laboratories, Spring 1964.
С о 11 i n s G. E., Computational reductions in Tarski’s decision method for elementary algebra, IBM Corporation, Yorktown Heights, July 1962.
D a v i s M„ P u t n a m H., A computing procedure for quantification theory, J. ACM, 7 (1960), 201—215.
D a vi s M., Logemann G., Loveland D„ A machine program for theorem-proving, Comm. ACM, 5 (1962), 394—397.
Davis M., Eliminating the irrelevant from mechanical proofs, Proceedings of Symposium in Applied Mathematics. American Mathematical Society, v. 15, 1963. (Русский перевод: Девис M., Устранение лишнего из механических доказательств, см. настоящий сборник, стр. 160.)
D г е b е п В., А п d г е w s Р, Aanderaa S., False lemmas in Herbrand, Bull. Am. Math Soc., 69 (1963), 699—706.
Dre ben B., Wang H., A refutation procedure and its model-theoretic justification (manuscript), Harvard University, November 1964.
Dunham B., Fridshal R., Sward G. L„ A nonheuristic program for proving elementary logical theorems. Proc, of the First International Conference on Information Processing, Paris, 1959; pub. Unesco, 1960, pp. 282—285.
Dunham B., Fridshal R., North J., Exploratory mathematics by machine, Recent Development in Information and Decision Processes, Robert E. Machol and Paul Grey (eds.), MacMillan, N. Y., 1962. (Proceedings of a Symposium at Purdue University, April 1961).
Dunham B„ North J. H., Theorem testing by computer, paper presented April 24—26, 1962, Mathematical Theory of Automata, Polytechnic Press, Brooklyn, 1963, p. 173—177.
Friedman J., A semidecision procedure for the functional calculus, /. ACM, 10 (1963), 1—24.
Friedman J., A computer program for a solvable case of the decision problem, /. ACM, 10 (1963), 348—356.
Friedman J., A new decision procedure in logic and its computer realization, Ph. D. thesis, Harvard University, September 1964.
Gel er nt er H., Hanson J. R„ Loveland D. W., Empirical investigations of the geometry theorem machine, Proceedings of the Western Joint Computer Conference, San Francisco, 1960, pp. 143—149.
Gilmore P. C., A proof method for quantification theory — its justification and realization, IBM Journal of Research and Development, 4 (1960), 28-35,
Gilmore Р. С., An examination of the geometry theorem machine, IBM Corporation, Yorktown Heights, April 1962.
Herbrand J., Recherches sur la theorie de la demonstration, Travaux de la Societe des Sciences el des Lettres de Varsovie, Cl. HI, Math. Phys., 33 (1930).
Kan ger S., A simplified proof method for elementary logic, Computer Programming and Formal Systems, P. Braffort and D. Hirschberg (eds.), North-Holland Publishing Co., Amsterdam, 1963, pp. 87—94. (Proceedings of Seminars at Blaricum, Holland in 1961.)
К u г о d a S., An investigation of the logical structure of mathematics, XIII, A method of programming proofs in mathematics for electronic computers, Nagoya Math. J., 16 (1960), 195—203.
L e h m e r D. H., Some high speed logic, Proceedings symposium in Applied Mathematics, American Mathematical Society, v. 15, 1963.
M с C a r t h у J., Computer programs for checking mathematical proofs, AMS Symposium on Recursive Function Theory, New York, April 1961.
Newell A., Shaw J. C., Simon H. A., Empirical explorations of the logic theory machine, Proceedings of the Western Joint Computer Conference, 1957.
Newell A., Shaw J. C., A variety of intelligent learning in a general problem solver, Self-Organizing Systems, M. C. Yovits and S. Cameron (eds.), New York, Pergamon Press, 1960, pp. 153—189. См. русский перевод в сб. «Самоорганизующиеся системы», стр. 211—261, «Мир», М., 1964.
Р г a w i t z D., P г a w i t z H., V о g h e г a N., A mechanical proof procedure and its realization in an electronic computer, I. ACM, 7 (1960), 102—128.
Prawitz D., An improved proof procedure, Theoria (a Swedish Journal of Philosophy and Psychology), 26 (1960), 102—139.
Robinson A., On the mechanization of the theory of equations. Bulletin of the Research council of Israel, 9F (1960), 47—70.
Robinson A., A basis for the mechanization of the theory of equations, Computer Programming and Formal Systems, pp. 95—99.
Robinson J. A., Theorem-proving on the computer, J. ACM, 10 (1963), 163—174.
R о b i n s о n J. A., A machine-oriented logic based on the resolution principle, J. ACM, 12 (1965), 23—41. (Русский перевод: Робиисои Дж. А., Машинно-ориентированная логика, основанная на принципе резолюции, см. настоящий сборник, стр. 194.)■
Skolem Th., Begriindung der Elementaren Arithmetik, 38 pp., Oslo, 1923.
Slagle J. R., A heuristic program that solves symbolic integration problems, Ph. D. thesis, MIT, May 1961.
Wang H., A variant to Turings theory, J. ACM, 4 (1957), 63—92.
Wang H., Toward mechanical mathematics, IBM Journal of Research and Development, 4 (1960), 2—22. (Русский перевод: см. [12] на стр. 179.)
Wang Н., Proving theorems by pattern recognition, «1», Comm. ACM, 3 (I960), 220—234; «II», Bell System Tech. J., 40 (1960), 1—41.
Wang H„ Mechanical mathematics and inferential analysis, Computer programming and Formal Systems, P. Braffort and D. Hirschberg (eds.), North-Holland Publishing Co., Amsterdam, 1963, pp. 1—20 (Proceedings of the seminars at Blaricum, Holland 1961.)
Wang H., The mechanization of mathematical arguments, Proceedings of the Symposium in Applied Mathematics, v. 15, 1963, pp. 31—40.
. Wos L., Carson D., Robinson G., The unit preference strategy in theorem proving, Proceedings Fall Joint Computer Conference, 1964, pp. 615—621; IBM 704, Argonne National Laboratory Report ANL-6447, 1961, 46 pp.
13 Зак. 560
Машинно-ориентированная логика,основанная на принципе резолюции1)
Дж. А. Робинсон
Исследуется возможность увеличения эффективности и расширения области практической применимости машинного доказательства теорем, использующего процедуры, базирующиеся на основополагающей теореме Эрбрана для исчисления предикатов первого порядка. Тщательное исследование процесса подстановки (термов вместо переменных) и процесса проверки результатов таких подстановок на тавтологичность показывает, что оба процесса могут быть соединены в один новый процесс (называемый резолюцией^, итерирование которого гораздо более эффективно, чем прежняя циклическая процедура, состоящая в чередовании шагов подстановки и шагов проверки на тавтологичность.
Теория резолюционного процесса представлена в виде системы логики первого порядка, состоящей из единственного правила вывода (принципа резолюции). Доказана полнота этой системы; простейшей процедурой поиска доказательства, основанной на этой системе, является прямое использование доказательства полноты. Однако эта процедура совершенно неэффективна, и работа завершается обсуждением нескольких принципов (называемых принципами поиска), которые применимы для построения эффективных процедур поиска доказательства, использующих резолюцию как основной логический процесс.
ВВЕДЕНИЕ
В настоящей работе приведена формулировка логики первого порядка, специально предназначенная для использования в качестве теоретического аппарата машинных программ доказательства теорем. Предшествующие программы доказательства теорем были основаны на системах логики первого порядка, которые первоначально предназначались для других целей. Характерной чертой этих логических систем, которая отсутствует у описанной в этой работе системы, является относительная простота их правил вывода.
По традиции в силу прагматических и психологических при-
*) Robinson J. A., A machine-oriented logic based on the resolution principle, Journal о/ the Association for Computing Machinery, 12, № 1 (1965), 23-41.
чин обычно требуют, чтобы каждый отдельный шаг в дедукции был, вообще говоря, прост настолько, чтобы человек понял его правильность за один интеллектуальный акт. Эта традиция, вне сомнения, связана с желанием, чтобы каждый отдельный шаг был неоспоримым, даже если вся дедукция состоит из длинной цепи таких шагов. Окончательное заключение дедукции, если она правильна, логически следует из посылок, использованных в дедукции, но человеческий ум вполне может найти этот скачок от посылок к заключению удивительным, а потому (психологически) сомнительным. Отчасти поэтому логический анализ дедуктивных рассуждений состоит в сведении сложных выводов, которые не могут быть охвачены человеческим умом за один шаг, к цепочкам более простых выводов, каждый из которых может быть постигнут человеческим умом за один шаг.
Однако с теоретической точки зрения от правила вывода требуется только, чтобы оно было корректным (т. е. позволяло выводить лишь логические следствия посылок) и эффективным (т. е. должно быть алгорифмически проверяемо, является ли предполагаемое применение этого правила вывода в действительности его применением). Когда правило вывода применяет современная вычислительная машина, традиционное ограничение на сложность правил вывода более не является разумным. Становятся доступными более мощные правила, требующие, быть может, много больше комбинаторной обработки информации для одного применения.
В системе, описанной в этой работе, используется одно такое правило. Оно называется принципом резолюции, и в свете предыдущего замечания оно скорее ориентировано на машину, чем на человека. Принцип резолюции является очень мощным как в психологическом смысле, ибо он допускает отдельные шаги, которые человеческий ум часто может постичь лишь путем рассуждения, так и в теоретическом смысле, ибо он один в качестве единственного правила вывода образует полную систему логики первого порядка. Хотя второе свойство не очень важно, интересно отметить, что (насколько известно автору) никакая другая полная система логики первого порядка не состоит из единственного правила вывода, если считать правилами вывода (беспосылочными) логические аксиомы, заданные явно или в виде схемы.
Основное преимущество принципа резолюции состоит в том, что он позволяет избежать одного из основных комбинаторных препятствий к достижению эффективности, которое погубило предыдущие процедуры доказательства теорем.
В следующем разделе объясняются синтаксис и семантика того формализма, который используется в настоящей работе.
ПРЕДВАРИТЕЛЬНЫЕ ФОРМАЛЬНОСТИ
Формализм, Используемый в настоящей работе, основан скорее на понятиях невыполнимости и опровержения, чем иа понятиях общезначимости и доказательства. Известно (ср. [2] и [5]), что задачу о проверке произвольного множества высказываний на выполнимость можно свести к проверке на выполнимость конечного множества S, состоящего из высказываний в предваренной форме без кванторов существования в префиксе1); кроме того, можно предполагать, что матрица каждого высказывания из S есть дизъюнкция формул, каждая из которых или является атомарной формулой, или отрицанием атомарной формулы. Поэтому наш синтаксис устроен таким образом, что естественной синтаксической единицей является конечное множество S высказываний, имеющих эту специальную форму. Кванторный префикс в каждом высказывании опускается, поскольку он состоит только из кванторов общности, связывающих все переменные этого высказывания; далее, матрица каждого высказывания рассматривается просто как множество ее дизъюнктивных членов, поскольку порядок и кратность членов дизъюнкции несущественны.
В соответствии с этим мы даем следующие определения (отчасти следуя терминологии работ [2] и [5]).
Переменные. Следующие символы являются переменными:
и, V, W, X, у, 2, ub vb wb xb yb zb u2, ... и т. д.;
порядок, в котором они перечислены, называется алфавитным.
Символы функций. Следующие символы являются символами «-местных функций для каждого га^О:
а\ Ь", с\ dn, е\ Г, gn, h\ kn, a", &",... и т. д.;
порядок, в котором они перечислены, называется алфавитным. В случае га = 0 верхний индекс может быть опущен. Символы 0-местных функций являются индивидными константами.
Символы предикатов. Следующие символы являются символами /i-местных предикатов для каждого га^О:
Рп, Qn, Rn, Р?, Q", Я?, Рп2, ... и т. д.;
порядок, в котором они перечислены, называется алфавитным. Верхний индекс может быть опущен при п = 0.
Символ отрицания. Следующий символ является символом отрицания: “]•
*) См. статью М. Девиса в настоящем сборнике, стр. 160. — Прим. ред.
Алфавитный порядок символов. Множество всех символов вполне упорядочено в алфавитном порядке посредством добавления к предыдущим соглашениям о порядке следующего правила: переменные предшествуют символам функций, символы функций предшествуют символам предикатов, символы предикатов предшествуют символу отрицания, символы функций меньшей размерности предшествуют символам функций большей размерности, а символы предикатов меньшей размерности предшествуют символам предикатов большей размерности.
Термы. Переменная является термом; последовательность символов, состоящая из символа и-местной функции (и^О), за которым следует п термов, является термом.
Атомарные формулы. Последовательность символов, состоящая из символа и-местного предиката (и^О), за которым следует п термов, является атомарной формулой.
Литеры. Атомарная формула является литерой; если А —атомарная формула, то П А является литерой.
Дополнения. Если А —атомарная формула, то две литеры А и ~] А называются дополнениями друг друга и образуют в любом порядке контрарную (complementary) пару.
Дизъюнкты. Конечное (быть может, пустое) множество литер называется дизъюнктом (clause). Пустой дизъюнкт обозначается через □•
Фундаментальные литеры. Литера, не содержащая переменных, называется фундаментальной литерой.
Фундаментальные дизъюнкты. Дизъюнкт, все члены которого являются фундаментальными литерами, называется фундаментальным дизъюнктом. В частности, □ является фундаментальным дизъюнктом.
Правильно построенные выражения. Термы и литеры являются (единственными) правильно построенными выражениями.
Лексикографический порядок правильно построенных выражений. Множество всех правильно построенных выражений вполне упорядочено в лексикографическом порядке посредством следующего правила: А предшествует В только в том случае, когда А короче В, или А и В имеют равную длину, но на первом месте, где А и В имеют разные символы, в А стоит более ранний, согласно алфавитному порядку.
При написании правильно построенных выражений с целью иллюстрации мы будем придерживаться более удобного для чтения способа, заключая п термов, следующих за символом и-местной функции или предиката, в круглые скобки и разделяя термы запятыми, если их более двух. В этом случае
мы можем опустить все верхние индексы, не вызывая недоразумений. При записи конечных множеств мы придерживаемся обычного соглашения о заключении членов в фигурные скобки и разделении членов запятыми, помня, что порядок записи членов безразличен.
Эрбрановский универсум. Любому множеству S дизъюнктов следующим образом сопоставляется множество фундаментальных термов, называемое эрбрановским универсумом для S: пусть F — множество всех символов функций, входящих в S. Если F содержит какой-либо символ 0-местной функции, то функциональный словарь для S совпадает с Е; в противном случае он есть множество {a}|JE. Эрбрановский универсум для S состоит из всех фундаментальных термов, в которых встречаются лишь символы из функционального словаря для S.
Насыщение. Если S —множество дизъюнктов, а Р — множество термов, то через P(S) мы обозначаем насыщение S над Р, которое является множеством всех фундаментальных дизъюнктов, получаемых из членов S такими заменами переменных членами Р, при которых все вхождения одной и той же переменной в какой-либо дизъюнкт заменяются на вхождение одного и того же терма.
Модели. Множество фундаментальных литер, не содержащее контрарных пар, называется моделью. Пусть М — модель, a S —множество фундаментальных дизъюнктов; тогда М называется моделью для S, если каждый дизъюнкт из S содержит некоторый член М. В общем случае, если S — произвольное множество дизъюнктов, а Н — эрбрановский универсум для S, мы говорим, что М есть модель для S тогда н только тогда, когда М есть модель для Н (S).
Выполнимость. Множество S дизъюнктов является выполнимым, если существует модель для S; в противном случае S невыполнимо.
Из определения выполнимости ясно, что любое множество дизъюнктов, содержащее □, невыполнимо и что пустое множество дизъюнктов выполнимо. Эти два обстоятельства покажутся вполне естественными в ходе развития нашей системы. Ясно также, что в соответствии с нашими семантическими определениями каждый непустой дизъюнкт интерпретируется (согласно объяснению в неформальных замечаниях в начале этого раздела) как замыкание всеобщности дизъюнкции литер, из которых этот дизъюнкт состоит.
Фундаментальные резольвенты. Если С и D — два фундаментальных дизъюнкта и L Е С, M^D — два одночленных множества, элементы которых образуют контрарную пару.
то фундаментальный дизъюнкт (С — Z,) U (D — Л1) называется фундаментальной резольвентой С и D.
Ясно, что любая модель для (С, 0} является также моделью для (С, D, R}, где R — фундаментальная резольвента С и D. Не все пары фундаментальных дизъюнктов имеют фундаментальные резольвенты, а некоторые имеют более одной; однако в любом случае, как явствует из определения, два фундаментальных дизъюнкта имеют конечное число фундаментальных резольвент.
Фундаментальная резолюция. Если S — множество фундаментальных дизъюнктов, то фундаментальной резолюцией S, обозначаемой через 9Ц$\ является множество фундаментальных дизъюнктов, состоящее из всех элементов S и всех фундаментальных резольвент всех пар элементов S.
N-я фундаментальная резолюция. Если 5 — множество фундаментальных дизъюнктов, то и-я фундаментальная резолюция S, обозначаемая через ^"(S), определяется для каждого л^О следующим образом: ^°(S) = S; для каждого ц^О ^n+1(S) = ^(^(S)).
Этим завершается первая часть определений. Следующий раздел посвящен различным формам, которые принимает теорема Эрбрана в нашей системе. Для каждой такой формы имеется некоторый тип процедуры опровержения, которую эта форма подсказывает и оправдывает. Основная формулировка такова (ср. [2, 4]):
Теорема Эрбрана. Если S — произвольное конечное множество дизъюнктов, Н — его эрбрановский универсум, то S невыполнимо тогда и только тогда, когда некоторое конечное подмножество эрбрановского универсума И (S) является невыполнимым.
ПРОЦЕДУРА НАСЫЩЕНИЯ
Как отмечено в работе [5], теорему Эрбрана можно выразить в следующей форме.
Теорема 1. Если S — произвольное конечное множество дизъюнктов, то S невыполнимо тогда и только тогда, когда Р (S) невыполнимо для некоторого конечного подмножества Р эрбрановского универсума для S.
Эта формулировка теоремы Эрбрана подсказывает следующий тип процедуры опровержения, которую мы назовем процедурой насыщения: по данному конечному множеству S дизъюнктов выбирается последовательность Ро, Рх, Рг, ... конечных подмножеств эрбрановского универсума Н для S, та-
кая, что P,^Pl+i для каждого /^0 и U Р; = Н. Затем по- /=о
очередно проверяются на выполнимость множества P0(S), P)(S), P2(S), .... Ясно, что каково бы ни было конечное подмножество Р множества Н, имеем Р = Р, для некоторого /' и, следовательно, P(S) S Pj(S). Следовательно, по теореме 1, если S невыполнимо, то для некоторого / подмножество РДЗ) невыполнимо.
Конечно, любая конкретная процедура такого типа должна осуществлять выбор Ро, Рь Р2, ... одинаково для всех конечных множеств дизъюнктов. Самым естественным методом такого выбора является использование так называемых уровней Яо, Нх, Н2, ... эрбрановского универсума Н, где Нй состоит из всех индивидных констант эрбрановского универсума Н, а Нп+Х для и^О состоит из всех термов эрбрановского универсума Н, которые входят в Нп или чьи аргументы входят в Нп. В работе [5] мы назвали процедуру, использующую этот метод, процедурой насыщения уровня. Там же было отмечено, что процедуры Гильмора [4] и Девиса — Патнэма [2] по существу являются процедурами насыщения уровня.
Основным комбинаторным препятствием для достижения эффективности процедур насыщения уровня является огромная скорость роста конечных множеств Н, и Hj (S) с ростом / по крайней мере для большинства интересных множеств S. Эта скорость роста до некоторой степени проанализирована в [5], там же приведены примеры совсем простых невыполнимых S, для которых первое невыполнимое Н, (S) столь велико, что лежит далеко за пределами достижимости.
Интересное эвристическое замечание состоит в том, что для каждого конечного множества S дизъюнктов, которое невыполнимо и для которого фактически можно построить опровержение, существует по крайней мере одно конечное подмножество эрбрановского универсума для S, имеющее приемлемые размеры, такое, что P(S) невыполнимо, причем Р минимально (в том смысле, что Q (S) выполнимо для любого собственного подмножества Q множества Р\ Такое Р было в [5] названо доказательным множеством для S. Если бы в этих условиях нашелся всезнающий и благосклонный демон, который мог бы снабжать нас в приемлемое время доказательным множеством Р для каждого невыполнимого конечного множества S дизъюнктов, которое мы рассматриваем, то мы могли бы просто начать насыщать S над Р и потом извлечь подходящее опровержение множества S из окончательного конечного невыполнимого множества P(S) фундаментальных дизъюнктов.
Такова была в сущности основная схема машинной программы, описанной в [5], где роль такого демона играет в меру своей изобретательности математик, использующий эту программу. Однако в действительности хотелось бы моделировать на машине самого „демона доказательства"; однако об этом, казалось интуитивно, не может идти и речи.
Тем не менее ситуация здесь не такая уж безнадежная. В частности, метод, развитый в остальных разделах этой статьи, по-видимому, достаточно хорошо моделирует требуемого демона посредством вычислительного процесса. В четвертом разделе мы сделаем первый основной шаг к развитию этого метода, доказав новые формы теоремы Эрбрана. Мы также дадим предварительный неформальный обзор остальных идей, откладывая строгое рассмотрение до следующих разделов.
ТЕОРЕМЫ О РЕЗОЛЮЦИИ И ОСНОВНАЯ ЛЕММА
Как специальный метод проверки конечных множеств фундаментальных дизъюнктов на выполнимость, метод Девиса — Патнэма [4] вряд ли можно улучшить с точки зрения эффективности. Тем не менее здесь мы приведем другой метод, гораздо менее эффективный, который играет только теоретическую роль в нашем построении и который формулируется много проще: по данному конечному множеству S фундаментальных дизъюнктов строятся последовательно множества S, ^(S), ^2(S), ..., пока какое-нибудь ^(S) будет содержать □ или не будет содержать □, но будет совпадать с ^"+1 (S). В первом случае S невыполнимо, во втором случае S выполнимо. Рано или поздно одно из этих условий конца должно выполниться, поскольку число различных дизъюнктов, построенных из конечного множества тех литер, которые входят в S, конечно и, следовательно, в бесконечной последовательности вложенных множеств
5^ ^2(5)^ 5^(5) ^ . .. ^ ^"(5) ^ . .. не все включения являются собственными, так как резолюция не вводит новых литер.
Ввиду того что описанный процесс рано или поздно оборвется, мы можем доказать его корректность в смысле, сформулированном выше, в виде теоремы о фундаментальной резолюции.
Теорема о фундаментальной резолюции. Если S. есть произвольное конечное множество фундаментальных дизъюнктов, то S невыполнимо тогда и только тогда, когда Яп (S) для некоторого n^Q содержит □.
Доказательство. Часть „тогда" очевидна. Чтобы доказать часть „только тогда", предположим, что Т — заключительное множество в последовательности (4.1), так что Т замкнуто относительно фундаментальной резолюции. Нам надо лишь показать, что если Т не содержит □, то Г выполнимо и, следовательно, S выполнимо, ибо SeT. Пусть £ь ..., Lk — все различные атомарные формулы, которые входят в Т (быть может, со знаком Д). Пусть М — модель, определяемая следующим образом: Л40 — пустое множество, и для каждого /, 0</^^, множество Mj есть множество Му^Щ^-Д, если никакой дизъюнкт из Т не состоит лишь из дополнений литер из множества Af/_,U{Ey}; в про ном случае Mj есть множество Mj_x U{Д Lj}. Наконец, М есть Мк. Если Т не содержит □, то М есть модель для Т. Действительно, в противном случае существует наименьшее /, 0</^А:, такое, что некоторый дизъюнкт (скажем, С) в Г состоит целиком из дополнений литер множества Mj. Следовательно, по определению Mj есть Mj-X U {Д Lj}. Поэтому ввиду минимальности j дизъюнкт С содержит L,. Но поскольку М, есть Mj_x () {Д Lj}, существует некоторый дизъюнкт (скажем, D} в Т, который состоит целиком из дополнений литер множества М/^ЩА/}. Поэтому ввиду минимальности / дизъюнкт D содержит ДА;. В таком случае дизъюнкт В = (С — (Ey})U (О — (ДАД) состоит целиком из дополнений литер множества М(_х, если В не есть □. Но В — это фундаментальная резольвента С и D, поэтому В входит в Т и, следовательно, В отлично от □. Но это противоречит минимальности /, и теорема доказана.
Теорема о фундаментальной резолюции позволяет сформулировать более специальную форму теоремы 1.
Теорема 2. Если S — произвольное конечное множество дизъюнктов, то S невыполнимо тогда и только тогда, когда для некоторого конечного подмножества Р эрбрановского универсума для S и некоторого п^О резолюция Йп k? kS}} содержит □.
Теперь стало возможным изложить неформально основные шаги оставшейся части построения. Мы обобщим понятия фундаментальной резольвенты и фундаментальной резолюции до понятий резольвенты и резолюции соответственно, устранив условие фундаментальности дизъюнктов. Любые два дизъюнкта будут тогда иметь нуль, один или более дизъюнктов в качестве своих резольвент, но в любом случае лишь конечное множество. В специальном случае, когда С и D являются фундаментальными дизъюнктами, их резольвенты, если они существуют,
являются в точности их фундаментальными резольвентами, согласно вышеприведенному определению. Аналогично обозначения 52 (S), ^" (S) будут сохранены, но S будет произвольным множеством дизъюнктов. Тогда 52 (X) будет обозначать резолюцию S, которая будет множеством, состоящим из всех элементов S и всех резольвент всех пар элементов S. Если S окажется множеством фундаментальных дизъюнктов, то 52 (X) будет фундаментальной резолюцией X в смысле предыдущего определения.
Детали обобщения и формальные определения приведены в разд. 5. Тем не менее неформальное представление об общем понятии резолюции можно получить уже сейчас, до его точного определения, если просто допустить, что оно обладает следующим важным свойством (это будет показано ниже): резолюция полукоммутативна с насыщением. Более точно это свойство сформулировано в следующей основной лемме, которая будет доказана в разд. 5.
Лемма. Если S — произвольное множество дизъюнктов, а Р — произвольное подмножество эрбрановского универсума для S, то AkP^^Pk^k^Y
В действительности, как будет показано ниже, любой фундаментальный дизъюнкт, который может быть получен в результате подстановки термов из Р в пару дизъюнктов С и D из S и последующего образования фундаментальной резольвенты получившихся дизъюнктов, может также быть получен в результате подстановки термов из Р в одну из конечного числа резольвент С и D.
Простым следствием основной леммы является полукоммутативность п-н резолюции и насыщения.
Следствие. Если S — произвольное конечное множество дизъюнктов, а Р — произвольное подмножество эрбрановского универсума для S, то ЗЕ (Р (X)) Е Р k3E (X)) для всех п^О.
Доказательство проводится индукцией по п. Имеем ЗЕкР kSkk = Р к&^ = Pk&°kS^Y так что случай п = 0 тривиален. А если ЗЕ kP (X)i) Е Р кЗЕ (S)i) для п^О, то имеем
ЗЕ*' к? (S)) = ^^ЗЕкР (X))) г по определению й"+1,
Е 52 (Р к^Е (S))) — по предположению индукции, ибо 52 сохраняет включение,
Е Р (52 (52" (X))) = по лемме,
= Р(52"+1(Х)) по определению 8^*'
И СМАОТЗДе Доказано.
Теперь с помощью вышеприведенного следствия мы можем непосредственно получить из теоремы 2 третью форму теоремы Эрбрана.
Теорема 3. Если S — произвольное конечное множество дизъюнктов, то S невыполнимо тогда и только тогда, когда для некоторого конечного подмножества Р эрбрановского универсума для S и некоторого п^ 0 подмножество P(^n(S)) содержит □.
Здесь изменен порядок операций насыщения н м-й резолюции. Теперь стало возможным неожиданное упрощение теоремы 3 ввиду замечания, что подстановка термов вместо переменных не может преобразовать непустой дизъюнкт в □. Следовательно, Р ^ЗЕ ^S^ будет содержать □ тогда и только тогда, когда ЗЕ (S) содержит □. Из теоремы 3, следовательно, мы немедленно получаем нашу окончательную форму теоремы Эрбрана, которая является основным результатом этой работы.
Теорема о резолюции. Если S — произвольное конечное множество дизъюнктов, то S невыполнимо тогда и только тогда, когда 59” (S) содержит □ для некоторого п^О.
Утверждение теоремы о резолюции есть в точности утверждение теоремы о фундаментальной резолюции без какого-либо упоминания о фундаментальности. Следовательно, за исключением несколько более сложного способа вычисления резольвент двух дизъюнктов (описанного в разд. 5), подсказываемый теоремой о резолюции метод проверки конечного множества S дизъюнктов на выполнимость в точности таков, как приведенный ранее метод для случая, когда S есть множество фундаментальных дизъюнктов; в действительности он автоматически сводится к этому методу, будучи применен к конечному множеству фундаментальных дизъюнктов. Однако теперь, вообще говоря, неверно, что последовательность вложенных множеств Se^(S)e^2(S)c ... гЗЕ^^ ...
должна оборваться для каждого конечного S. По теореме Чёрча это не может быть так, ибо иначе мы имели бы разрешающую процедуру для нашей формулировки логики первого порядка.
Перейдем теперь к рассмотрению „демона доказательства", о котором шла речь в разд. 3. Мы предположили там, что если бы нам было дано доказательное множество Р для невыполнимого множества S дизъюнктов, то все, что нам надо было бы делать, — это вычислять резолюции до тех пор, пока мы не встретим первую резолюцию ЗЕ (Р (S)), которая содержит □ , и извлечь из нее формальное опровержение S. Но теорема о резолюции гарантирует нам, что к тому времени, когда мы вычислили бы 59” (S), если не раньше, мы встретили бы □,
несмотря на наше незнание Р. В этом смысле теорема о резолюции делает лишней роль демона доказательства.
В пятом разделе мы введем немного более формальный аппарат посредством второй группы определений и выполним наш долг по определению общего понятия резолюции и доказательству основной леммы.
ПОДСТАНОВКА, УНИФИКАЦИЯ И РЕЗОЛЮЦИЯ
Следующие определения касаются операции конкретизации (т. е. подстановки термов вместо переменных в правильно построенных выражениях и множествах правильно построенных выражений) и различных вспомогательных понятий, необходимых для определения общего понятия резолюции.
Подстановочные компоненты. Подстановочная компонента — это выражение вида T(V, где V — переменная, а Г—терм, отличный от V, причем V называется переменной компоненты T/V, а Т — термом компоненты T{V.
Подстановки. Подстановка — это конечное (быть может, пустое) множество подстановочных компонент с попарно различными переменными. Если Р — произвольное множество термов, а термы всех компонент подстановки 6 входят в Р, то говорят, что 6 есть подстановка над Р. Мы записываем подстановку с компонентами T\!V\, ..., Тк)Укв виде {TJVь ..., TkIV^, помня, что порядок компонент безразличен. Строчные греческие буквы используются для обозначения подстановок. В частности, е есть пустая подстановка.
Конкретизация. Если Е — произвольная конечная цепочка символов, а
9 = ITJV Т^
— подстановка, то конкретизацией Е посредством 6 называется операция, состоящая в замене всех вхождений в Е переменной Vв X^i^k, на вхождение терма Т^ Получающаяся цепочка символов, обозначаемая через £6, называется 6-примером Е. Иными словами, если Е есть цепочка Eol/^Ei . . . V tnEn, то £6 есть цепочка Е»ТцЕ\ ... TinEn. Здесь ни одна из подцепочек Е( цепочки Е не содержит вхождений переменных Vb ..., Ук, некоторые из Е/ могут быть пустыми; п, возможно, равно 0, а каждое У,. является вхождением одной из переменных Иь ..., Ук. Всякая цепочка вида £6 называется примером цепочки Е. Если С — произвольное множество цепочек, а 6 -*- подстановка, то 9-примером С является множество всех цепочек вида £6, где £ входит в С. Мы будем обозначать это множество через С6 и говорить, что это есть пример С.
Стандартизация. Если С —конечное множество цепочек, а Уь ..., Уь — все попарно различные переменные, входящие в цепочки из С, расположенные в алфавитном порядке, то ^-стандартизацией С, обозначаемой через |с, называется подстановка, состоящая из всех подстановочных компонент вида XjIVj, где 1^/^fe, Vj ф Xj, а ^-стандартизацией С, обозначаемой через т]с, называется подстановка, состоящая из всех подстановочных компонент вида у^Ур где 1 ^/^fe, а У, ^ У].
Композиции подстановок. Если 0 = {Г]/1/1, ..., Т^У^ и X — две произвольные подстановки, то множество 0' U X' (где X' — множество всех компонент X, переменные которых не встречаются среди V], . .., V ь а 0' —множество всех компонент Т^Уь X^i^h, таких, что Т^ отлично от Vf) называется композицией 0 и X и обозначается через 0Х.
Непосредственно проверяется, что е0 = 0е = 0 для любой подстановки 0. Кроме того, композиция подстановок ассоциативна, (0Х)ц = 0(Хц), так что мы можем опускать скобки при записи кратных композиций подстановок.
Сущность композиции операций подстановки состоит в том, что если Е — произвольная цепочка, а ст = 0Х, то цепочка Ес есть в точности цепочка E0X, т. е. Х-пример £0.
Эти свойства композиции подстановок устанавливаются с помощью следующих предложений.
(Ес)Х = Е (аХ) для всех цепочек Е и всех подстановок с, X.
Доказательство. Пусть а = {Г]/17], ..., Т^У^, Х = = {(/,/№,, .... UmjWmV a E = E0VivEi ... VinEn в обозначениях пункта (5.3). Тогда по определению Ес = ЕоТ^Ег ... TtnEn, а (Ес) X = EqT^Ex ... 1\пЕп, где каждое Т^ есть Т^, а каждое Е; есть EjX', где X' есть множество всех тех компонент X, переменные которых не встречаются среди У,, ..., Ук (поскольку ни одна из этих переменных не входит ни в одну из этих Е(\ Но сгХ = ст'U X', где каждая компонента с' есть в точности Т JV ь если только Tt отлично от Vt. Следовательно, Е (оХ) = = EoTt^i .. . TinEn.
Для любых подстановок а, X справедливо следующее: если для каждой цепочки Е имеет место равенство Ес = ЕХ, то a = X.
Доказательство. Пусть Уь ..., Ук включает переменные всех компонент с и X; тогда V (с = У/X для 1 / ^ k, В таком случае о и X состоят из одних и тех же компонент.
Для любых подстановок а, X, ц справедливо (стХ)ц=ог(А,ц).
Доказательство. Пусть Е — произвольная цепочка. Тогда по 5.5.1 имеем
Е ((аХ) ц) = (£ (аХ)) ц = ((fo) X) ц = (Еа) (Хц) = Е (а (Хц)).
Отсюда по 5.5.2 (оХ)ц = а (Хц).
У нас будет в дальнейшем случай использовать следующую дистрибутивность.
Для любых множеств А, В цепочек и произвольной подстановки X справедливо (Д U 8) ^ = АХ U ВХ.
Множества несогласованности. Если Д —некоторое множество правильно построенных выражений, то множеством несогласованности множества А называется множество всех тех правильно построенных подвыражений элементов множества А, которые начинаются с того места, где не все правильно построенные выражения из А имеют один и тот же символ.
Пример:
А = {Р (х, h (х, у), у), Р (х, к (у), у), Р (х, а, Ь)}.
Множество несогласованности для А есть {А (х, у), к (у), а}.
Ясно, что если А содержит более одного элемента, то множество несогласованности множества А также содержит более одного элемента.
Унификация. Если Д —множество правильно построенных выражений, а 6 — подстановка, то говорят, что 6 унифицирует А или что 6 является унификатором А, если Д0 есть одночленное множество. Множество правильно построенных выражений, имеющее унификатор, называется унифицируемым.
Ясно, что если 6 унифицирует Д, а Д содержит более одного элемента, то 6 унифицирует множество несогласованности множества А.
Алгорифм унификации. Следующий процесс, применимый к любому конечному непустому множеству А правильно построенных выражений, называется алгорифмом унификации.
Шаг 1. Положить о0 = е и k = 0 и перейти к шагу 2.
Шаг 2. Если Аа^ не есть одноэлементное множество, то перейти к шагу 3. В противном случае положить аД = ак и окончить работу.
Шаг 3. Пусть Vt — самый первый, a Uh — следующий за ним в лексикографическом порядке элементы множества несогласованности Bk для множества Аа^. Если Vfe — переменная, не входящая в U^, то положить а^+| = ah ^U^V^, увеличить к на 1 и возвратиться к шагу 2; в противном случае окончить работу.
Это определение нуждается в доказательстве того, что описанный процесс всегда завершается. Действительно, этот про-
цесс всегда заканчивается для любого конечного непустого множества правильно построенных выражений, в противном случае порождалась бы бесконечная последовательность А, Дощ Аа2, ... конечных непустых множеств правильно построенных выражений, в которой каждый последующий член содержит на одну переменную меньше, чем предшествующий (а именно Аак содержит Vк, а До&+1 не содержит V кУ Но это невозможно, поскольку А содержит лишь конечное множество переменных.
Наиболее общий унификатор. Если Л —конечное непустое множество правильно построенных выражений, для которого алгорифм унификации оканчивает работу на шаге 2, то построенная подстановка аА называется наиболее общим унификатором А и говорят, что А является общеунифицируемым множеством.
Ключевые тройки. Упорядоченная тройка (L, М, N) конечных множеств литер называется ключевой тройкой упорядоченной пары (С, О') дизъюнктов, если выполнены следующие условия:
Множества L и М не пусты, и LsC, М^О.
Множество N есть множество всех атомарных формул, которые входят (быть может, со знаком ~|) в множество L^cUMrio (ср. определение (5.4)).
Множество N является общеунифицируемым множеством, aN обозначает его наиболее общий унификатор.
Множества L^caN и Mt\dsn одночленны, и их элементы образуют контрарную пару.
Ясно, что пара (С, О') дизъюнктов имеет лишь конечное (быть может, пустое) множество ключевых троек.
Резольвенты. Резольвентой двух дизъюнктов С и О называется любой дизъюнкт вида (С — L)^caN U (О — M),qDaA,, где (L, М, N) есть ключевая тройка пары (С, О').
Ввиду замечания к определению 5.10 ясно, что два дизъюнкта С и О имеют конечное число резольвент Или не имеют их вообще.
Резолюции. Если S —множество дизъюнктов, то резолюцией S, обозначаемой через 9Ц8у называется множество дизъюнктов, которые являются или членами S, или резольвентами членов S.
N-я резолюция. Если S —множество дизъюнктов, то п-я резолюция S обозначается через ^"(S) и определяется для всех п^0 аналогично (2.21).
На этом завершается наша вторая группа определений. Определение Я(5) вполне подходит для наших теоретических целей, но при фактическом вычислении не следует включать в Я(5) одновременно резольвенты пары (С, О') и пары (D, С),
поскольку они совпадают друг с другом с точностью до переименования переменных. Если С и D — фундаментальные дизъюнкты, то, как легко проверить, резольвенты пар (С, D) и (Z), С) в точности совпадают друг с другом и с фундаментальными резольвентами С и D.
Теперь осталось лишь доказать основную лемму, что и будет сделано после того, как мы докажем следующую теорему, устанавливающую основное свойство унификации, которое потребуется нам для доказательства леммы и в дальнейшем в нашей теории.
Теорема об унификации. Пусть А — произвольное конечное непустое множество правильно построенных выражений. Если А унифицируемо, то А общеунифицируемо', кроме того, если 6 — произвольный, а аА — наиболее общий унификаторы А, то существует такая подстановка X, что 6 = сАХ.
Доказательство. Достаточно доказать, что в условиях теоремы алгорифм унификации заканчивает работу над А на шаге 2 и если алгорифм унификации еще не окончил работу и построена ак, к^О, то равенство
B = akXk
справедливо на шаге 2 для некоторой подстановки Хк. Для к = 0 это верно при Ло=0, поскольку ог0 = е. Допустим, что при некотором /г^О справедливо (5.14) для некоторой подстановки Хк. Тогда если Аак есть одночленное множество, то алгорифм унификации кончает работу на шаге 2, при этом стл = ак — наиболее общий унификатор и Х = Хк есть требуемая подстановка; в противном случае алгорифм переходит к шагу 3. В последнем случае, поскольку Хк унифицирует Аак (в силу (5.14), ибо 6 унифицирует Д), то Хк должно унифицировать множество несогласованности Вк множества Аак. Поэтому Vk и Uk, определенные на шаге 3 алгорифма унификации, удовлетворяют равенству
VkXk = UkXk.
Поскольку Вк есть множество несогласованности, то правильно построенные выражения из Вк не могут все начинаться с одного и того же символа; следовательно, не все они начинаются с символов, отличных от переменных, ибо Вк унифицируемо. Поэтому по крайней мере одно правильно построенное выражение в Вк начинается с переменной и потому является переменной, ибо оно правильно построено. Так как в лексикографическом порядке переменные предшествуют всем другим правильно построенным выражениям, a Vk является самым первым правильно построенным выражением в Вк, то Vk есть переменная. Если Vk входит в Uk, то VкХк входит в UkXk, что невозможно, ибо Vk и Uk не тождественны друг другу и имеет
14 Зак. 560
место равенство (5.15). Следовательно, Vk не входит в Uk- Поэтому алгорифм унификации не кончает работу на шаге 3, а возвращается к шагу 2, и при этом ст6+1 = CiAUulV^. Положим Хй+1 = Xfe — {Vh^-klVк). Тогда
^ = {WVJU^+1 = ПО определению Х*+1>
= {^ь^*/^} U ^t+i = п° (5.15),
= {t/^+1/Vfe}U^+i= ибо Vk не входит в Uk,
= WklV^Xk+x по определению (5.5).
Отсюда по (5.14) 6 = ст6+1Х6+1. Таким образом, равенство (5.14) выполнено для всех ст^, которые строит алгорифм унификации, и теорема доказана.
Теперь мы можем доказать основную лемму, которую для удобства сформулируем еще раз.
Лемма. Если S — произвольное множество дизъюнктов, а Р — произвольное подмножество эрбрановского универсума для S, то #(P(S))£P(#(S)).
Доказательство. Пусть АеЙ^Р^У Тогда либо ЛеР(5) [в этом случае ЛеР(^(5)), ибо Х^^(Х)], либо А есть фундаментальная резольвента двух фундаментальных дизъюнктов Са, D^, где С е S, DeS, a = {Tx/VxTJVkY P = {[/1/U^i, ..., UJWmY Здесь lZb ..., Vk — полный список всех переменных, входящих в С и расположенных в алфавитном порядке, WxlFm—полный список всех переменных, входящих в D и расположенных в алфавитном порядке, а Ть ..., Тк, Ux, ..., Um — элементы Р. В этом случае А = (С — L)a U (О — М) р, где L G С, М £ о, L и М не пусты, а Та и Л!р —одночленные множества, элементы которых образуют контрарную пару. Пусть
9 = VTJxxTk]xk, Ux]yx, .... Um!ymY
Тогда Д = (С-Т)|сеи(О-M)TiDe и U^-La, Mi\dQ = M^. Следовательно, 6 унифицирует множество N тех атомарных формул, которые либо входят в множество B|c (J A!t|d, либо являются дополнениями формул из этого множества. По теореме об унификации N имеет наиболее общий унификатор aN, и существует такая подстановка X над Р, что 6 = aNX. Отсюда ЦсамХ = La, MrXDaNX = M$ и, следовательно, L^cgn и Afr^cr^ суть одночленные множества, элементы которых являются дополнениями друг друга. Поэтому (L, М, м) является ключевой тройкой для (С, £>), а дизъюнкт
В = (С — L^con U (У — Af}^»#
является резольвентой С и О; следовательно, йеЯ(З). Поскольку 6=0^, то, согласно (5.5.4), А = ВХ и, следовательно, Де Р (Я(5)). Доказательство завершено.
Условия леммы не влекут обратного включения P(^(S))s c^(p(S)), Рассмотрим простой пример:
S = {{Q (х, / (у))Ш Q (5 (у), х)}}, Р = {а}.
Короткие выкладки показывают, что P(^(S)) содержит □ (ибо Я(5) содержит □), в то время как Я(Р(5)) не содержит □. Таким образом, S невыполнимо, но Р не является доказательным множеством для S.
ПРИНЦИП РЕЗОЛЮЦИИ. ОПРОВЕРЖЕНИЯ
Единственным правилом вывода в нашей логической системе, упомянутой в разд. 1, является принцип резолюции: из любых двух дизъюнктов С и D можно вывести резольвенту С и D.
Под опровержением множества S дизъюнктов мы понимаем конечную последовательность дизъюнктов Вг, ..., Вп, такую, что: а) каждое Вь \^К.п, либо входит в S, либо является резольвентой двух предшествующих дизъюнктов и Ь) Вп есть □.
Из теоремы о резолюции немедленно следует, что конечное множество S дизъюнктов невыполнимо тогда и только тогда, когда существует опровержение S. Таким образом, теорема о резолюции является теоремой о полноте нашей логической системы.
Два примера опровержения демонстрируют работу нашей системы.
Пример 1. Множество, состоящее из двух дизъюнктов Cv и С2, где
С, = (Q (х, g (х), у, к (х, у), 2, к (х, у, 2) )},
С2 = {1Q (и, v, е (v), да, f (v, да), х)},
имеет опровержение Сь С2, □. Отметим, что (С], С2) имеет ключевую тройку (Cb С2, М\ где N — множество
(Q(xb gk^x^ к{хъх^, х3, Цхъ х2,х3)),Р(у1,у2,е(у2),у3,^(у2,Уз),у4))-
Читатель легко может проверить за несколько минут вычислений, согласно алгорифму унификации, что Оц — подстановка со следующими компонентами:
yjxv кк,Уъ е^кУхИУУз»
g кУ\Му2,f kg (у i), к куъ е kg (у^)) )/х3,
е kg (у О )/х2, kkyuekg (yj), / (g (у J, h (yit e (я Cyt)))) )/y4,
a C^C1cN и С.^.а^, являются одночленными множествами, элементы которых являются дополнениями друг друга.
Этот пример показывает, как доказательное множество автоматически строится в качестве побочного результата операции резолюции. Термы вышеприведенных подстановочных компонент становятся термами доказательного множества для {Сь С2}, если переменную ух всюду заменить на какой-либо терм эрбранов- ского универсума для {С^ С2}, например, на индивидную константу „а“. Интересно отметить, что наименьшим уровнем эрбрановского универсума, содержащим это доказательное множество, является Н5, который имеет порядка 1064 членов. Следовательно, Н5 ({С,, С2}) имеет порядка 10256 членов. Этот пример недоступен процедуре насыщения уровней.
Пример 2. Более интересный пример был рассмотрен в работе [5]. Он возник нз следующей алгебраической проблемы.
Доказать, что в любой ассоциативной системе, в которой имеются решения всех уравнений х • а = Ь и а - у= Ь, существует правый единичный элемент.
Чтобы формализовать эту проблему в нашей логике, мы отрицаем предполагаемое заключение и пытаемся опровергнуть множество, состоящее из следующих дизъюнктов (здесь Q(x, у, 2) понимается как х-у—гУ.
Сх: (Л Q (х, у, и), 1Q (у, 2, и), 1Q (х, и, ф), Q (и, 2, ф)}, ) ассоциа- С2: {~1Q (х, у, и), ~IQ (у, 2, и), ~I Q (и, 2, ф), Q(x, и, ф)}, J тивность
С3: {Q <Д (х, у), х, у^, )_
С 1 {Q (х h (х у) у^ J сУществование левого и правого решении,
С5: {Q (х, у, f (х, у))}, замкнутость относительно умножения, С6: {~|Q(k(x), х, fe(x))} отсутствие правой единицы.
Добавляя следующие резольвенты, мы получаем опровержение:
С7: {Л9(У1, х6, у^, Q(y2, х6, у.^,
С8: {"1Q(^i, У2. У1)>.
С9: □.
Комментарий. Резольвента С7 — резольвента пары (Сн С3) с ключевой тройкой
<{lQ(x, У. и), IQU, V. ^)}. {Q(g(-v, у), X, у)}, М), где N есть множество (Q (х4, х5, xj, Q (х4, х2, х3), Q (g (у„ у2), ^ уа^.
Как легко проверить, aN, вычисляемая с помощью алгорифма унификации, такова:
Ш^ь У\1х2, yjx3, g^i, У^]хм yJx5V
Резольвента С8 — единственная резольвента пары (С6, С7), а □ — единственная резольвента пары (С4, С8).
Этот пример показывает, что отдельный шаг опровержения, выполняемый по правилу резолюции, может являться столь сложным, что человеческий ум не может убедиться в его правильности за один интеллектуальный акт. Работая крупноблочно, правило резолюции является очень компактным, если не сказать элегантным, способом рассуждений. Резольвенты С2 и С5 не были использованы в опровержении в качестве посылок, хотя это не имеет ничего общего с правилом резолюции. Поэтому экономным опровержением для этого примера является последовательность Сь С3, С4, С6, С7, С8, □.
ПРОЦЕДУРЫ ОПРОВЕРЖЕНИЯ; ТАКТИКИ ПОИСКА
Целью вышеизложенного было лишь установление теоретической базы в виде специальной логической системы для построения различных программ доказательства теорем, т. е. в данном случае процедур опровержения. До сих пор не рассматривался вопрос о нахождении эффективной процедуры опровержения; в данном разделе мы кратко обсудим вопрос.
Если строить процедуру опровержения непосредственно по теореме о резолюции, то получится совсем неэффективная процедура. Эта процедура состоит в вычислении для данного конечного множества S дизъюнктов последовательности множеств S, $(S), 0?2(S), ...до тех пор, пока не встретится ^(S), такое, что оно или содержит □, или не содержит □, но совпадает с 5?n+1 (S). В первом случае опровержение S можно получить, проследив порождение □; во втором случае S выполнимо. В силу теоремы Чёрча [1] мы знаем, что для некоторых множеств S эта процедура, как и вообще все корректные процедуры опровержения, не окончит работу ни тем, ни другим способом, а будет продолжать вычисления бесконечно.
В некоторых случаях мы можем предвидеть бесконечность процесса. Рассмотрим пример множества, состоящего из двух дизъюнктов
С,: {Q(a)}, С2: {HQ W, QdW
(Это формулировка в нашей логике фрагмента аксиом Пеано для натуральных чисел, если интерпретировать ,,Q(x)“ как „х есть натуральное число", „а“ — как „О", a J (х)“ — как „число,
следующее за х“^ Легко видеть, что описанная выше процедура будет порождать последовательно резольвенты
(Qtf(a))}, {(?(№)))}, (Q(/(f(f(a))))}, ...
и т. д. до бесконечности.
Данный пример наводит на мысль о правиле, которое позволяло бы нам эффективно распознать этот специальный вид бесконечного процесса в случае его возникновения, так, чтобы мы могли включить это правило в процедуру опровержения, в результате чего она окончила бы работу над S и другими аналогичными примерами. Такое правило возможно, оно основано на понятии литеры, чистой в данном множестве S дизъюнктов, и мы назовем его правилом чистоты.
Чистые литеры. Если S — произвольное конечное множество дизъюнктов, С —дизъюнкт из S, a L — литера из С, причем не существует ключевой тройки ({£}, М, N) ни для какой пары (С, D) дизъюнктов, где D — дизъюнкт из S — {С}, то говорят, что литера L чиста в S.
Правило чистоты основано на следующей теореме.
Теорема о чистоте. Если S — произвольное множество дизъюнктов, LeCeS, и литера L чиста в S, то S выполнимо тогда и только тогда, когда S — {С} выполнимо.
Доказательство. Если S выполнимо, то и S — {С} выполнимо, ибо S —{С} есть подмножество S. Если S — {С} выполнимо, то существует модель А для S — {С}, каждая литера которой входит в некоторый дизъюнкт из Н (S), где Н — эрбра- новский универсум для S. Пусть N— множество всех фундаментальных литер вида £0, где 0 — подстановка над Н, и пусть К состоит из дополнений всех членов N. Тогда множество Р = = N U (Л — К) является моделью, более того, оно есть модель для S, поскольку каждый дизъюнкт в Н ({С}) содержит член Р (а именно какой-либо член N^ и каждый дизъюнкт из И (S — {С}) содержит член Р, а именно некоторый член А — К. Действительно, никакой дизъюнкт из Н (S — {С}) не содержит членов К, ибо в противном случае если D^ был бы таким дизъюнктом (где De(S — {С})), то нашлось бы такое М, что М s D, а Л4Ц—одноэлементное множество, содержащее член К. Тогда имелась бы некоторая подстановка о над Н, такая, что (£}а и Мр — это одночленные множества, элементы которых являются дополнениями друг друга. Рассуждая так же, как в доказательстве основной леммы, мы нашли бы ключевую тройку ({£}, М, N) для пары (С, D), что противоречит чистоте литеры £ в $. Теорема доказана*
Правило чистоты формулируется так: можно вычеркивать из конечного множества S дизъюнктов любой дизъюнкт, содержащий литеру, чистую в S.
Если S — рассмотренный выше небольшой фрагмент аксиоматики Пеано, т. е. множество, состоящее из двух дизъюнктов
С,: {Q (а)}, С2: {1Q(x), <?№}},
то мы видим, что подчеркнутая литера чиста в S. Поэтому мы можем вычеркнуть С2, получив множество S — {С2}, единственным дизъюнктом которого является
С,: {0(a)}.
Очевидно, что подчеркнутая литера чиста в S —{С2}. Поэтому мы можем вычеркнуть Сх, получив множество S — (CJ — {С2}, которое пусто и поэтому выполнимо. Отсюда по теореме о чистоте S выполнимо.
Таким образом, процедура опровержения, объединяющая правило резолюции и правило чистоты, „сходится" для большего числа конечных множеств дизъюнктов, чем процедура, основанная лишь на одном правиле резолюции. Такие правила, как правило чистоты, мы называем тактиками поиска, чтобы отличать их от правил вывода.
Существует другая тактика поиска, которая хотя и не увеличивает область сходимости, но полезна для увеличения скорости сходимости процедуры опровержения. Мы называем эту тактику тактикой поглощения.
Поглощение. Если С и D — два различных непустых дизъюнкта, то мы говорим, что С поглощает D, если существует такая подстановка о, что Со s D.
Следующая теорема устанавливает основное свойство поглощения.
Теорема о поглощении. Если S — произвольное конечное множество дизъюнктов, a D — дизъюнкт из S, который поглощается некоторым дизъюнктом из S — {£>}, то S выполнимо тогда и только тогда, когда выполнимо S — {£>}.
Доказательство. Достаточно показать, что если М — модель для S — ^D\ то М является также моделью для S. Пусть М — модель для S —{£>}, и предположим, что Ce(S —{D}) поглощает D. Тогда существует такая подстановка о, что CosD. Так как DeS, то термы компонент о построены из символов функций, входящих в функциональный словарь для 5 и, быть может, переменных. Следовательно, каждый фундаментальный пример Со над Н является фундаментальным примером С над Н
и потому содержит член М. Но каждый фундаментальный пример DX дизъюнкта D содержит фундаментальный пример Сок дизъюнкта С и потому содержит член М. Таким образом, М является моделью для S и теорема доказана.
Тактика поглощения формулируется следующим образом: можно вычеркивать из конечного множества S дизъюнктов любой дизъюнкт D, который поглощается некоторым дизъюнктом из S —{О}.
Для того чтобы тактику поглощения можно было включить в процедуру опровержения, мы должны указать алгорифм распознавания того, что один дизъюнкт С поглощает другой дизъюнкт D. Таким алгорифмом является следующий алгорифм поглощения:
Шаг 1. Пусть Рь ..., Vm — полный список всех переменных, входящих в D и распол >женных в алфавитном порядке. Пусть JTIm — различные индивидные константы, нн одна из которых не входит ни в С, ин в D. Пусть 6 = {/i/Vi Im!Vпй- Вычислить D9 н перейти к шагу 2.
Шаг 2. Пел ,жить Ао = {С}, к = 0 и перейти к шагу 3.
Шаг 3. Если Аь не содержит □, то Л*+1 будет множеством, состоящим из всех дизъюнктов внда^с^ — Ма^, где КгАк, Me K,N = Му {Р}, PeD9, oN — нанбелге общий унификатор N; в противном случае прекратить работу.
Шаг 4. Если Я^+i непусто, то увеличить k на 1 н вернуться к шагу 2, В противном случае прекратить работу.
Ясно, что этот алгорифм всегда кончает работу, ибо каждый дизъюнкт в Ак+1 меньше по крайней мере на одну литеру того дизъюнкта в Ак, из которого он был получен. Поскольку единственный дизъюнкт в Ао содержит лишь конечное число литер, то в последовательности Ло, Ль ... рано или поздно встретится множество, которое либо содержит □, либо пусто.
Следующее рассуждение показывает, что алгорифм поглощения заканчивает работу на шаге 3 тогда и только тогда, когда С поглощает D.
Если С поглощает D, то Со G D для некоторой о. Следовательно, Сод с DQ, Таким образом, Ср s D6 для некоторых ц. Допустим, что для 6^0 существует К, такое, что К^Ак и Кр S ДО для некоторой ц. Если Л непусто, то пусть Р будет, литерой из Кр и, следовательно, из DO. Тогда существует М £ £ К, такое, что М = Л1и{Д} унифицируется ц. Построим с помощью алгорифма унификации наиболее общий унификатор oN- множества N. Дизъюнкт G = KoN — MoN входит в ЛА+р По теореме об унификации ц = oNX для некоторой X, следовательно, KoNX Е DO. Поэтому GX Е D0. Так как СеА0 непусто, то и каждое ЛА, 6^0, либо непусто, либо содержит □. Поэтому алгорифм поглощения оканчивает работу не на шаге 4, а на шаге 3.
Если алгорифм поглощения оканчивает работу над С и D на шаге 3, то существует конечная последовательность дизъюнктов Со, С,Са+1, такая, что С0 = С, Сп+1 = □ и для каждого /, O^j^n, имеем С/+1 = CjOj — M]Gj, где MjSCj, а с,— наиболее общий унификатор М/ЩР}, где PeDQ. Отсюда следует (поскольку MjO, не содержит переменных, O^j^n), что
С^, = □ = Со^ст, ...ап- MuaQ -Мхах- ... - Мпап,
т. е. Сщо-, . . . ст„ S (;Иосто IJ А1Щ, IJ . .. U^norJeD8. Положим X = о0о1 ... ап. Тогда СХ s D0. Пусть о — подстановка, получающаяся из X заменой в каждой компоненте Jt на Vt для 1 ^ ^ z ^ т. Тогда Со s D.
Особенно полезным применением тактики поглощения является следующее. Предположим, что резольвента R дизъюнктов С и D поглощает один из них; тогда, добавив R по правилу резолюции, мы можем одновременно вычеркнуть, согласно тактике поглощения, тот из дизъюнктов С или D, который поглощается R. Эта объединенная операция сводится к замене С или D на R; мы назовем это правило вывода правилом замещения, а соответствующую тактику — тактикой замещения.
Следующий пример, который рассмотрели Гильмор [4], Девис и Патнэм [2] и Фридман [3], демонстрирует пользу этих тактик для увеличения скорости сходимости. Пусть множество S состоит из следующих дизъюнктов:
Ср (Р (хр х2^,
<б)
С2: (lP(z/2, Цун У^» 1Р(?(Уь Уг), [(Ун Уг)), Q(yi, Уг)).
(1)(2)
С* {l^(z/2, Цуи Уг)), 1Р(НУх. У г). НУх, Уг)),
(4)
1Q(г/1» НУь Уз)), 1Q(f (У1, У г), НУ1. Уг))).
(5)
Мы получим множество S', имеющее лишь два члена
Ср Ю(Уь У2^'
С5: {IQ^^i, Уг). 11Ух, Уг))), всего за шесть шагов, которые состоят в вычеркивании подчеркнутых литер и дизъюнктов в указанном порядке. Вычеркивания с (1) по (5) проводятся согласно правилу замещения; вычеркивание (6) целого дизъюнкта проводится согласно правилу чистоты. Мы немедленно получаем, что S' невыполнимо, ибо □ — единственная резольвента С4 и С5.
Программа Гильмора на IBM 704 не окончила работу над этим примером за 21 мин счета. Более эффективная процедура Девиса и Патнэма закончила работу над этим примером за 30 мин ручного счета.
Применение одной из трех описанных тактик к конечному множеству S дизъюнктов дает множество S', которое либо содержит меньше дизъюнктов, либо содержит столько же дизъюнктов, но одни или несколько из них являются более короткими. Поэтому обычный способ использовать эти тактики в процедуре опровержения состоит в том, чтобы добавлять новый дизъюнкт по правилу резолюции лишь тогда, когда ни одна нз этих трех тактик неприменима. Мы можем назвать такие множества несводимыми. Если множество S выполнимо, то такая процедура может кончить работу либо на пустом множестве (как в случае аксиом Пеано), либо на непустом несводимом множестве, обладающем следующим свойством: любая резольвента любой пары дизъюнктов из этого множества поглощается одним из дизъюнктов этого множества.
Имеются и другие тактики поиска того же типа, но менее простые, чем рассмотренные. Предполагается, что эта работа послужит началом серии работ, в которых развитая здесь теоретическая база будет использована для дальнейшего изучения тактик поиска и построения процедур опровержения. Этот раздел был всего лишь наброском общей картины проблемы и кратким взглядом на возможные подходы к ней.
В заключение я хотел бы выразить свою благодарность моим коллегам д-ру Дж. А. Робинсону и д-ру Л- Т. Восу из Аргонской национальной лаборатории и проф. В. Давидоиу из колледжа Хаверфорда за обсуждение статьи и критические замечания по основным понятиям этой работы. Я благодарю также рецензентов из АСМ и д-ра Т. Гальперина, чьи замечания по рукописи статьи во миогом способствовали написанию окончательного варианта.
ЛИТЕРАТУРА
Church A., A note on the Entscheidungsproblem, J. Symb. Logic, 1 (1936), 40—41.
Davis M„ Putnam H., A computing procedure for quantification theory, J. ACM, 7 (1960), 201—215.
Friedman J., A semi-decision procedure for the functional calculus, J. ACM, 10 (1963), 1—24.
Gilmore P. C., A proof method for quantification theory, IBM J. Res. Develop., 4 (I960), 28—35.
Robinson J. A., Theorem proving on the computer, J. ACM, 10 (1963), 163-174.
Прикладные вопросы
Алгоритм моделированиядинамических системс помощью вычислительных машин,основанный на теориипотоковых графов1)
Р. Якубовски
ВВЕДЕНИЕ
Сравнительно недавно в литературе появилось много статей о применении аналоговой техники для моделирования динамических систем с помощью вычислительных машин [1—4]. Аналоговая техника воспроизводит ясно очерченную картину для исследуемой задачи. В частности, это имеет место при моделировании нелинейных динамических систем. В последнее время наблюдается также прогресс в применении потоковых графов в программировании для аналоговых вычислительных машин [5—7]. Учитывая обе эти тенденции, в настоящей статье мы хотим изложить метод, основанный на графах с многоаргументными функциональными ребрами, который позволял бы нам подготавливать данные для вычислительной машины; причем последняя в свою очередь могла бы использовать их в самоорганизующейся программе для решения системы дифференциальных уравнений, задаваемой графом. Из-за простоты получающегося алгоритма он может найти широкое применение в технических задачах и задачах обучения, связанных с моделированием динамических систем. Так как упомянутый алгоритм основан на теории потоковых графов, мы вначале определим элементы графа и сформулируем зависимости между этими элементами.
*) Jakubowski R., An algorithm for the simulation of dynamical systems by means of digital computers, based on signal-flow graph, Journal o) Mathematical Analysis and Applications, 22 (1968). 172—187.
ГРАФЫ И ИХ ПРИМЕНЕНИЕ В ПРОГРАММИРОВАНИИДЛЯ ВЫЧИСЛИТЕЛЬНЫХ МАШИН
В графе, который служит базой для реализации программы работы вычислительной машины, зависимые и независимые переменные изображаются вершинами. Умножение на постоянный коэффициент и другие математические операции изображаются ребрами (математические операции суммирования ассоциируются со стоками — выходами). Мы будем различать два типа ребер и вершин. Ребра разделяются на нефункциональные и функциональные, а вершины —на источники и стоки. Вершины, которые не являются ни источниками, ни стоками (эти вершины имеют как входящие, так и выходящие ребра), здесь не существуют. Операция, которая сопоставляется этим вершинам, изображается специальным функциональным ребром, описанным в разд. 2.3.
НЕФУНКЦИОНАЛЬНЫЕ РЕБРА
Нефункциональное ребро есть ориентированная линия с направлением (указанным стрелкой), связывающая две вершины. Это ребро характеризуется коэффициентом усиления, причем
Рис. 1. Элементы нефункциональных ребер.Рис. 1. Элементы нефункциональных ребер.
Рис. 1. Элементы нефункциональных ребер.
Рис. 1. Элементы нефункциональных ребер.
коэффициент является константой и обозначается символом, приписываемым ребру. На рис. 1, а показано нефункциональное ребро, связывающее вершины xt и х2; коэффициент усиления этого ребра обозначается через /12.
Если стрелка данного ребра направлена к вершине, то мы будем называть это ребро заходящим ребром по отношению к данной вершине и исходящим ребром в противном случае. Вершина, имеющая только исходящие ребра, называется источником (рис. 1,6), а вершина, имеющая только заходящие ребра, называется стоком (рис. 1, с). Список правил для нефункциональных ребер [6] приведен в табл. 1.
Таблица /
Список правил для иефуикциоиальиых ребер
А. Правило соответствия для единственного нефункционального ребра:
В. Правило соответствия для нескольких нефункциональных ребер:
ОДНОАРГУМЕНТНЫЕ ФУНКЦИОНАЛЬНЫЕ РЕБРА
В рассматриваемом здесь грйфе можно различить два типа функциональных ребер: ребра с одним аргументом и ребра со многими аргументами. Рассмотрим первый тип. Одноаргументное функциональное ребро есть ориентированная линия (нарисованная толще, чтобы отличить от нефункциональных ребер), связывающая две вершины. Этому ребру всегда приписана определенная операция. Пара вершин Х[ и х2 и связывающее их ребро, которому приписана операция Р, изображает следующее соотношение (рис. 2, а):
х2 = Р(х,).(1)
Вершины, связанные функциональным ребром, тем самым определяются единственным образом; вершина хи изображаю-
щая независимую переменную, становится источником, а вершина х2, изображающая зависимую переменную, — стоком.
Рассмотрим граф, имеющий два функциональных ребра (рис. 2, 6). Согласно правилу (А) из табл. 1, для этого графа имеем
Х3 = Ху
Из определения функционального ребра следует:
x2 = PU\\ х4 = М(х3).
Таким образом, в результате получаем:
x4 = N(J4xiW
Так как х2 = х3, мы можем изобразить граф на рис. 2, 6 в упрощенной форме, показанной на рис. 2, с. В соответствии
Рис. 2. Связи между однозначными функциональными ребрами.
с принятым правилом вершина (х2, х3) в графе на рис. 2, с есть сток для ребра N и источник для ребра Р. Таким образом, для графа на рис. 2, d мы имеем:
х3 = Р^х^, х6 = А(Р(х1) + х3 + д:4).
МНОГОАРГУМЕНТНЫЕ ФУНКЦИОНАЛЬНЫЕ РЕБРА
Многоаргументное функциональное ребро есть ориентированная геометрическая структура — „куст“ (рис. 3, а), связывающая п вершин хь х2хп_ьхп. Одна из них, хп, изображает зависимую переменную. Этому ребру всегда приписана определенная операция Р. Множество вершин хх, х2, ..., хп и ребро, связывающее эти вершины, изображает следующее отношение:
хп = Р^хь х2, х3, ..., хп1).(2)
Подобно предыдущему, вершины, связанные с многоаргументным ребром, определены единственным образом. Вершины хь х2, ..., хп_г, изображающие независимые переменные, становятся источниками, а вершина хп, изображающая зависимую переменную, становится стоком.
Рассмотрим теперь граф, содержащий два функциональных ребра (рис. 3, 6). Согласно правилу А, из табл. 1 для этого графа мы имеем
х4 = хз»
а из определения функционального ребра получаем х3 = Р(хь х2), х5 = Р(х4).
Таким образом, в результате находим
х5 = Р(Р(х„ х2)).
Этот последний граф можно изобразить также в другой форме (рис. 3, с). При этом следует помнить, однако, что вершина (х3, х4) является стоком для ребра Р и источником для ребра F. Учитывая это, мы получаем для графа, показанного на рис. 3, d, следующие связи:
х6 = Р(хх, х2), х7 = Р(Р(хь х2) + х4 + х5).
В дополнение к рассмотренному выше можно отметить, что функциональное ребро на рис. 3, е описывает подобную операцию, так как она поставлена в соответствие (в классическом потоковом графе) вершине, которая имеет как входящие, так и выходящие ребра.
МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ ФУНКЦИОНАЛЬНЫХ РЕБЕР
Как уже упоминалось, на базе графов (описывающих обыкновенные линейные и нелинейные функциональные уравнения) будет разработан метод подготовки данных для ЭВМ, так что, базируясь на этих данных и на заранее заданной программе, с помощью ЭВМ можно решать такие уравнения.
Имея в виду указанные применения, мы ограничимся графами, характеризуемыми следующими элементами:
Единичный источник. Величина, изображаемая этой вершиной, принимается постоянной и равной 1. Как и для аналоговых ЭВМ, эта вершина будет играть роль ввода константы.
Нефункциональные ребра вместе с соответствующими коэффициентами усиления. Эти ребра будут связывать вершины, смежные с функциональными ребрами, или же связывать вершины с единичным источником.
Одноаргументные и многоаргументные функциональные ребра. Во множестве функциональных ребер, имеющих заданное число аргументов, существует несколько типов ребер. Каждому из этих ребер приписаны различные операции.
Среди функциональных ребер одного и того же типа существует несколько видов ребер; каждому из них приписана одна и та же операция, но описанная другими параметрами (на-
пример, если некоторое ребро соответствует интегрированию, то параметрами являются константы интегрирования и начальные условия).
В общем случае операция, приписанная данному функциональному ребру, определяется символом F[a, р, у], где а —число аргументов для данного ребра; 0 —тип функционального ребра с а аргументами; у —вид функционального ребра, встречающегося в графе и принадлежащего к 0-типу с данным а.
Пусть для данного функционального ребра, обозначенного символом F[a, р, Y] (рис. 4, а), вершины, изображающие независи-
Р и с. 4. Описание функциональных ребер.
мые и зависимые переменные, обозначаются следующими символами: х[а у Y 6] — вершины, изображающие независимые переменные; д —индекс вершины, он обозначается операторным символом; yVa р у) — вершина, изображающая зависимую переменную. Тогда, согласно (2), имеем
У\а, Р. Yl = Ла. Р. V1 (XIa. Р. V. 1)' X[a, Р. V, 2р • • *i X[a, р, у, а])-(3)
При этом в частном случае, когда а=1 (рис. 4, 6), имеем
У У. Р. У) = Ль Р. V) (Х[1, Р. V. I))'(4)
В дальнейшем мы введем некоторые другие обозначения: am—максимальное значение для а, встречающееся в программе;
Pm ia]— максимальное число ребер типа 0, встречающихся в программе (для данного а);
Ym|a р)” максимальное число a-аргументных ребер вида у среди ребер типа 0, встречающихся в графе;
zn|a, у — число параметров, необходимых для описания операции F(а, р, vli
^[а.р, у. м — параметры, описывающие операцию F[a, р. у], где
А = L 2, 3, ..., m[a,рр
Предположим, что первые а параметров
Л“, 6, V. 1]» Л«. 3. V, 2)> • • • > Ла. 6, V. “1 определяют число функциональных и нефункциональных ребер, входящих в вершины
Х[а. 3. V. П’ xia. Р. V, 2]’ •••> Х[а, р. v. а]
соответственно.
В программе, описанной ниже, числа am, pmfa] и т\а, pj задаются заранее, так же как и все операции. При рассмотрении частного графа возможно определить числа ут[ар) и параметры P[a, P.v.M-
Договоримся, что частные a-аргументные ребра типа р и их частные виды у рассматриваются в следующей последовательности:
Ри, I. и; Ль ья;...; Fp, i, Vm и, nV Л1,2. ц; Ль 2,21;...; Fp, 2,vm[I 2)];...;
F[b Pm [1], 4*’ f Д Pm II]. 2]; -; ^l1- Pm ^ ^т [•- Pm I1'] ]’ F& '• »; Р& '• 21‘-
Л2.ЬУт(2. 1]]! ...; f[ara.3m[am].Vm[am.3m[am]n-(5)
Используя эту последовательность, можно единственным образом приписать каждой операции F[a, р, Yj номер, под которым эта операция встречается в последовательности. Это соответствует преобразованию индексов а, р, у в новый индекс I, так что
Ла, 3. V1 ( ) = Л/) ( ).(6)
Эти операции, очевидно, действуют на одни и те же аргументы. Зависимость Z = / (а, р, у) задается формулой
р-ia-13ml“)
i = y+ S Ym[«, v] + 2 S Vm[«, v]; ym[a, 0] = pm[0] = 0.(7)
2=0u=Q u=0
Предположим, что рассматриваемые графы описываются согласно вышеприведенной последовательности. Поскольку существуют и другие системы обозначения, связанные с символом операции F\a, р, V], мы будем производить преобразование индексов также и в этих случаях; таким образом,
X[a, Р, V, 6] ~ X[i, 6]»(8)
У\а. Р. VI ” у[««^9^
Pta, ?, у. М = Ру, к?(Ю)
2.5. МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ СВЯЗЕЙФУНКЦИОНАЛЬНЫХ РЕБЕР
Предварительно было установлено, что в рассматриваемых графах вершины, изображающие независимые переменные, связаны с вершинами, изображающими зависимые переменные, с помощью нефункциональных ребер.
^Удг]!
а
^ftU)]
6[i,/,2] 0•—
^[i.i.zj]z
ь
г их-/ ///
fflaU.2.PLWll
^7]]6[W)C'
О aVa [i,a,2j]
У
Рис. 5. Описания связей между функциональными ребрами.
Для того чтобы дать ясное описание этих связей, введем два члена ау в т) и by в т). Первый из них дает индекс вершины, изображающей зависимую переменную, которая связана с вершиной ху 6j посредством нефункционального ребра. Второй дает
Рис. 6. Пример графа.Рис. 6. Пример графа.Таблица 2Члены ay, в т] и by ь т) для графа иа рис. 6Таблица 2Члены ay, в т] и by ь т) для графа иа рис. 6I, 6, vI, 6, v°и, в, т]°и, в, т]ьи, в, г.ьи, в, г.2,1,1 3,1,11,11, 15,2,11,16,1,26.2, [2,1,1 3,1,11,11, 15,2,11,16,1,26.2, [-116313452-116313452-2 1 1 11 1Ч 11-2 1 1 11 1Ч 11
Рис. 6. Пример графа.
Рис. 6. Пример графа.
Таблица 2
Члены ay, в т] и by ь т) для графа иа рис. 6
Таблица 2
Члены ay, в т] и by ь т) для графа иа рис. 6
I, 6, v
I, 6, v
°и, в, т]
°и, в, т]
ьи, в, г.
ьи, в, г.
2,1,1 3,1,1
1,1
1, 1
5,2,1
1,1
6,1,2
6.2, [
2,1,1 3,1,1
1,1
1, 1
5,2,1
1,1
6,1,2
6.2, [
-1
1
6
3
1
3
4
5
2
-1
1
6
3
1
3
4
5
2
-2 1 1 1
1 1
Ч 1
1
-2 1 1 1
1 1
Ч 1
1
коэффициент усиления этой связи. Индекс т определяет переменный номер ребра, входящего в вершину x(z 6] (рис. 5, а). Полное число таких ребер определяется, согласно предварительному соглашению, параметром Рц,«).
Рассмотрим ребро с а аргументами (рис. 5, а), в котором каждая из вершин, изображающая независимые переменные, связана посредством нефункциональных ребер с определенным числом функциональных ребер. Согласно введенным ранее
соотношениям, для такого ребра мы имеем
(PU. 1]РЦ. 2]
— ^lz| \ ^1 ^[аИ, 1. Tll^U. I, г)’ ^| ^ll. 2, T)]^li, 2. тГ " * pK.a]\
В частности, для одноаргументного ребра (рис. 5, 6) имеем (ри. и\
Ш \ t—i 9l°U. 1, *11 К, i, т)/' ’
В добавление к приведенным ранее рассуждениям укажем, что вершину (рассматриваемый единичный источник) будем обозначать символом !/[_]]. Таким образом, когда описание графа составлено из нескольких функциональных ребер различных типов (одноаргументных и многоаргументных) и нефункциональных ребер в форме подготовленных данных для вычислительной машины, оно должно дать независимо от таких данных, как
Ym [а, Щ> ^[а, 0, у, Л] ” ^U, X]’
также члены a|z в т| и b^ в т]. Чтобы проиллюстрировать описание графа, выполненное заданием членов а|( е т) н by в т), рассмотрим граф, показанный на рис. 6. Члены этого графа приведены в табл. 2.
2.6. ГРАФЫ С ИНТЕГРИРУЮЩИМИ РЕБРАМИ
Рассмотрим граф, состоящий из нескольких функциональных ребер, связанных посредством нефункциональных ребер, в котором независимые и зависимые переменные, изображаемые вершинами, суть функции переменной t, т. е.
Х[а, ₽, V, 8) = Х[а, Р. V. 6] ^’ У\а, 6, 71 = У\а, 3, vl ^"
Пусть, кроме того, ребра, для которых а = 1 и 0 = 1, реализуют операцию интегрирования. В связи с этим можно записать
t
I. vl 777 / x[i, 1, V, 1)^п. |. v)(13)
где Г[у|—постоянная интегрирования, связанная с операцией f [1/1, у и определенная соотношением
^Ivl = ^|1.1. V. 3J,(14)
а ^[1,1, VI ^ — начальное условие, определенное равенством
^[1, 1. V1 = ^[1. 1. V. 2]'(15)
После дифференцирования обеих частей (13) мы получим
^[1, 1. Y1W _ •, .,._.
~v. И Vb
отсюда после перехода к индексу „/“ находим
=_L х UA(17)
dt Ту) К. i)w
где f= 1, 2, 3Ym[ur
Вершина x[z ,] связана посредством нефункциональных ребер с вершинами, изображающими зависимые переменные, определенные единственным образом структурой графа. Эти связи определяются, как всегда устанавливалось выше, членами а[( в т] и bu в т], так что, согласно (12) и (17), можно написать, что
at =7^xu. ч^Т^ 2 ^[<щ, i, ^i*.». *p <18) где
t" = 1, 2, .,., ym[ь 1Г
Эта формула описывает систему дифференциальных уравнений типа
S = ^ ш (у ю] М Ут № •• •; У^т у, и] ^’(19)
где
»»!<'>-': (^г)-'’<20>
(Величину t/[0) можно трактовать как второй единичный источник.) Численное интегрирование системы уравнений (18) описывается в следующем разделе.
3. АЛГОРИТМ ДЛЯ РЕШЕНИЯ СИСТЕМЫ ДИФФЕРЕНЦИАЛЬНЫХУРАВНЕНИЙ, ЗАДАВАЕМЫХ ГРАФОМ
Программа численного решения системы дифференциальных уравнений, определяемой структурой графа, будет дана в виде блок-схемы. Применяемая при описании этой схемы терминология аналогична использованной в работе [8].
Рассматриваемая программа требует подготовки данных в следующей последовательности:
L Ym[a>w Для всех а и р;
36 m — число вершин, изображающих зависимые переменные интегрирующих ребер: значения 36 должны выдаваться на печать;
WM — индексы вершин, изображающих зависимые переменные интегрирующих ребер, которые должны выдаваться на печать; 36 =\, 2, ..., 36^,
А —шаг интегрирования;
В —значение переменной /, для которой может быть выполнено интегрирование;
Рр у для всех X
^ а\1. 6, г)8" Ьц, 6, т]^ а\1. 6, г)8" Ьц, 6, т]для всех д, тдля всех д, тдля всех I.для всех I.
^ а\1. 6, г)
8" Ьц, 6, т]
^ а\1. 6, г)
8" Ьц, 6, т]
для всех д, т
для всех д, т
для всех I.
для всех I.
Мы предполагаем, что в программе значения am, pm [a], m[a pj задаются заранее, так же как и процедуры, соответствующие операциям f[a, р, у]. Эти процедуры описываются параметрами
ри. Ч = Рюдудь где
Х = а + 1, а+ 2т[а.рь
так как мы знаем, что параметры с индексами от Х=1 до Х = а резервируются для описания количества ребер, входящих в соответствующую вершину, изображающую независимую переменную данной операции. Блок-схема программы состоит из следующих трех основных частей.
Часть I (рис. 7). В этой части программы выполняется ввод данных, а также преобразование индексов а, 0, у в единственный индекс „Iй, согласно уравнению (7). Тройка индексов а, р, у, соответствующая данному „Г, хранится в ячейках е[Щ aW’ “рГ
Часть 11 (рис. 8). Эта часть программы вырабатывает последовательность, в которой вычисляются выражения у^ для <>Ym[1 ,). Последующие индексы членов yw упорядочены для того, чтобы требуемые члены были записаны в ячейках dw где j = 1, 2, 3, ..., (v — ym [i, i|). Предполагается также, что вершина
у1^2 Нет
(^ если к-ат )
£«5“*3
у[;р соответствующая зависимой переменной, не связана ни с какой вершиной х(/ б] одного и того же ребра.
Эту трудность можно обойти путем добавления функционального ребра (реализующего тождественную операцию) в виде изолирующего блока, описанного в [1].
Часть III (рис. 9). В этой части программы совокупность блоков, обозначенная символом Л, производит вычисление у^ для/>ут[11) в последовательности, установленной выше.
(если у=ути,1Т>—\ Ш(если у=ути,1Т>—\ ШП
(если у=ути,1Т>—\ Ш
(если у=ути,1Т>—\ Ш
ГО
^^если}= у- ут [1,1Й нет-— 1-4° ~ \ если i ~v л
НетНетесли А=1 >если А=1 >//Т*ТТ71 <если d[e)=i> r^llA iZZ5SSZ *<если e=j^Т*ТТ71 <если d[e)=i> r^llA iZZ5SSZ *<если e=j^ДАДАнетнетДаДаIIIIII1'-t । 1 - 'нет , д_(если pi/тТ1П>*< если Г--р у*_1'-t । 1 - 'нет , д_(если pi/тТ1П>*< если Г--р у*_ДаДаНет,^ '„\Лл„(если Т=Р у^б^ДаНет,^ '„\Лл„(если Т=Р у^б^Данетнет1Да 3=1 Ла1Да 3=1 Ла\нет\нетС5ЙП1С5ЙП1^) Рис. 8. Часть II программы.^) Рис. 8. Часть II программы.
Нет
Нет
если А=1 >
если А=1 >
/
/
Т*ТТ71 <если d[e)=i> r^llA iZZ5SSZ *<если e=j^
Т*ТТ71 <если d[e)=i> r^llA iZZ5SSZ *<если e=j^
ДА
ДА
нет
нет
Да
Да
I
I
I
I
I
I
1'-t । 1 - 'нет , д_
(если pi/тТ1П>*< если Г--р у*_
1'-t । 1 - 'нет , д_
(если pi/тТ1П>*< если Г--р у*_
Да
Да
Нет,^ '„\Лл„
(если Т=Р у^б^Да
Нет,^ '„\Лл„
(если Т=Р у^б^Да
нет
нет
1Да 3=1 Ла
1Да 3=1 Ла
\нет
\нет
С5ЙП1
С5ЙП1
^) Рис. 8. Часть II программы.
^) Рис. 8. Часть II программы.
Уьп-- 1 VtoV-"0 ^Ю1 •= 0Уьп-- 1 VtoV-"0 ^Ю1 •= 0шшУси:-р[1,2]
Уьп-- 1 VtoV-"0 ^Ю1 •= 0
Уьп-- 1 VtoV-"0 ^Ю1 •= 0
ш
ш
"Le. Ttil: = P[i,3]
■чУ^еслиг^утУ,)] >
I Уи,и=выражение(И^ । Пресли j=v-7myi,lT> J ~Да ^-I Уи,и=выражение(И^ । Пресли j=v-7myi,lT> J ~Да ^-СЁ=РСЁ=РДаДаДаТДаТЛ HemЛ HemСтоп CZlD—ZLJ I *io'= выражениями ГТ- нет/„~У ■ -ЛСтоп CZlD—ZLJ I *io'= выражениями ГТ- нет/„~У ■ -ЛНетНетУдаУда<еалиу = ут[7,71>««-непц— — —'— —.
I Уи,и=выражение(И^ । Пресли j=v-7myi,lT> J ~Да ^-
I Уи,и=выражение(И^ । Пресли j=v-7myi,lT> J ~Да ^-
СЁ=Р
СЁ=Р
Да
Да
ДаТ
ДаТ
Л Hem
Л Hem
Стоп CZlD—ZLJ I *io'= выражениями ГТ- нет/„~У ■ -Л
Стоп CZlD—ZLJ I *io'= выражениями ГТ- нет/„~У ■ -Л
Нет
Нет
Уда
Уда
\у^У=выраженае(г4);д^У=выражение(К)\
Печататьyt^ojjдля Л^Л-.ЛПечататьyt^ojjдля Л^Л-.Л-^<если z=/m[1.7] >
Печататьyt^ojjдля Л^Л-.Л
Печататьyt^ojjдля Л^Л-.Л
Рис, 9. Часть III программы.
Отношения, которые не включены в блоки этой совокупности, имеют форму
б]
Х1<.»Г = Й У\аи. 6. T]]6li. 6. tp<21)
У UY = ^1*1 (*[*. О’ XU.2P XU, aj)‘(22)
Нужно указать, что в вычислении последнего уравнения мы можем использовать соотношения (6) и (10).
Последующие вычисления выполняются путем решения системы дифференциальных уравнений, задаваемых графом, по методу Рунге —Кутта [9], модифицированному Джиллом. Этот метод выбран из-за его простоты; вполне возможно применение других методов.
Основной упор в этой статье был сделан не на выбор оптимального численного решения и не на оценку точности, а на подготовку данных и на построение программы. Соотношения, не задаваемые явно в блоках этой программы, перечислены ниже:
^ш: = 7^ 5 У [«а.!, Tj]6[i, 1, тр 1>0-(23)
УцГ = у(П + М^[р1(^п —tWin)]-(24)
^НГ =4[Л+Ч^[Р1(^Ш —^р]9[п)] —Ф|рАп>(25)
T
[1]
1
^ih ~ 2,
T
[21
-l-l
2~ »P[2f = ’ ’
T
|31
-i+y
у ’IM = 1’
Hl
1
~ 6 ’
Ц[4| = 2,
ЛИТЕРАТУР A
где
Ф11] =-2 ’
Ф(21 = -*
Фи = 1 + ]/~у .
Ф(4| = "8 '
Becker S. М., Try signal flow graphs to simplify analog programming, Contr. Eng., 11, № 9 (1964), 109—111.
Robichaud L. P. A., Boisvert M., Robert J., Graphs de fluence, Applications a I’electrotechnique et a I’eiectronique. Calcufateurs analogi- ques et digitaux, Presses de TUniversite Laval, 1961.
C h о w Y., Cassignol E., Linear signal-flow graphs and applications, Wiley, New York, 1962.
Burnett-Hall D. G., Dressel L. A. G„ Samet P. A., Computer programming and autocodes, The English Universities Press L. T. D., 1961.
Ralston A., W i 1 f H. S., Mathematical methods for digital computers, Wiley, New York, 1962.
СОДЕРЖАНИЕ
Математические вопросы
Дж. Н. Пирс. Предельное распределение для минимального расстояния в случайном линейном коде. Перевод Э. М. Габидулина . . .5
Ф. П. Препарата. Класс оптимальных нелинейных кодов с исправлением двойных ошибок. Перевод В. И. Левенштейна 18
Д. Клейтмен. О проблеме Дедекинда: число монотонных булевых функций. Перевод В Б. Алексеева 43
Ф. М. Спира. Время, требующееся для умножения в группе. Перевод В. М. Храпченко 53
Штрассен. Алгоритм Гаусса не оптимален. Перевод Е. П. Липатова • 67
Г. Роббинс. Некоторые аспекты последовательностного построения экспериментов. Перевод В. А. Буевича ..............71
Г. Роббинс. Построение последовательностных экспериментов с конечной памятью. Перевод В. А. Буевича 81
М а и и а. Правильность программ. Перевод Ю. И. Янова 85
Д. П е й д ж е р. О проблеме нахождения минимальных программ для таблиц. Перевод Ю. И. Янова' 94
Р. Р. Реджеёвски. Об арифметических выражениях и деревьях. Перевод М. А. Шейдвассера 99
Б. Грюибаум. Плоские карты с заданными степенями вершин и граней. Перевод В. П. Козырева .................. 108
Дж. Ч. Боланд. Вложение графов в ориентируемые поверхности. Перевод В. Е. Фельдмана118
Маклейн. Комбинаторное условие для плоских графов. Перевод В. Е. Фельдмана133
Дж. Янгс. Минимальные вложения и род графа. Перевод В. Е. Фельд- 145
М. Девис. Устранение лишнего из механических доказательств. Перевод А. В. Сочилиной 160
В а и Хао. Формализация и автоматическое доказательство теорем. Перевод А. В. Сочилиной180
Дж. Робинсон. Машинно-ориентированная логика, основанная на принципе резолюции. Перевод Ю. В. Матиясевича194
Прикладные вопросы
Р. Якубовски. Алгоритм моделярованяя динамических систем с помощью вычислительных машин, основанный на теории потоковых графов. Перевод В. А. Евстигнеева . . 219
КИБЕРНЕТИЧЕСКИЙСБОРНИК
Новая серия
Выпуск 7
Редактор А. С. ПоповХудожник Н. К. Сапожников
Художественный редактор В. И. ШаповаловТехнический редактор И. К. ДерваКорректор Н. И. Баранова
Сдано в производство 19/III 1970 г. Подписано к печати 21/VIII 1970 г. Бумага тип. № I, 60 X 90'/is=7,5 бум. л. 15 усл. печ. л. Уч.-изд. л.
12,82. Изд. № 1/5747. Цена 1 р. 24 к. Зак. 560.
ИЗДАТЕЛЬСТВО «МИР»
Москва, 1-й Рижский пер., 2
Ордена Трудового Красного ЗнамениЛенинградская типография № 2имени Евгении Соколовой ГлавполиграфпромаКомитета по печати при Совете Министров СССР.
Измайловский проспект, 29
В ИЗДАТЕЛЬСТВЕ «М И Р»
готовится к печати:
Берлекэмп Э. Алгебраическая теория кодирования, Нью-Йорк, 1968, перев. с англ., 25 л.
Книга американского ученого, освещающая основные вопросы общей теории линейных кодов, исследования циклических (двоичных и недвоичных) кодов для метрик Хэмминга и Ли, вычисление параметров оптимальных кодов, а также вопросы построения кодирующих и декодирующих устройств. Теоретические исследования сопровождаются большим количеством примеров и задач, что делает книгу интересной и доступной не только для математиков, но и для широкого круга специалистов, связанных с разработкой систем передачи цифровой информации, а также для аспирантов и студентов соответствующих специальностей.
Минский М., Пейперт С. Персептроны, Нью- Йорк, 1969, перев. с англ., 15 л.
Книга видных американских ученых посвящена параллельным вычислительным устройствам, известным под названием персептронов. В ней подробно проанализированы общие алгебраические и геометрические свойства подобных схем, рассмотрены вопросы, связанные с обучением персептронов, в частности длительность процесса обучения, эффективность схемы как адаптивного запоминающего устройства и т.п., а также исследованы потенциальные возможности персептронов как обучающихся распознающих устройств.
Книга представляет несомненный интерес для специалистов по современной кибернетике, в частности зарождающейся общей теории вычислений и вычислительных схем.
•) Pierce J. N., Limit distribation of the mltriimtm distance of fandom
linear codes, IE55 TtwwtiWRMniQrntatfo» ЛЬ*щ» iTdV-**< (lw7fc 595 - 599,
*) Preparata F. Р., A class of optimum nonlinear double-error-correc* ting codes, Information and Control, 13. № 4 (1968), 378 — 400,
’) Материал этого параграфе отчасти пересекаете» со статьей [12], поскольку настоящая работа является естественным ее обобщением.
3 Зак. 560
линейных уравнений, ДАН СССР, 171, № 4 (1966), 781—783; Коноваль-
цев И. В., Об одном алгоритме решения систем линейных уравнений
в конечных полях, сб. „Проблемы кибернетики", вып. 19, 1967, стр. 269—
274. — Прим. ред.
П-Л211,
Ш = 1Л12,
IV = Л21III,
У=1У-Л22,
VI = У"',
•) R е d z i е j о w s k i R. R., On arithmetic expressions and trees, Com* munications of the ACM, 12, № 2 (1969), 81—84.
7*
*) Griinbaum В., Planar maps with prescribed types of vertices and laces, Mathematika, 16, № 1 (1969), 28—36.
*) В работе [10*] было получено необходимое условие реализуемости. Невозрастающую последовательность положительных целых чисел di,d2, ..., dn, п ^ 3, можно реализовать степенями п вершин плоского графа, если выполняется неравенство
к
^d^s (6, я), i“l
если 1 ^ 6 ^ 2,о _ п + 4если 36 < —$—,
я + 4, -
если —з— ^ 6 ^ я.
Для заданных 6, г существует такая последовательность d\, d2dn, до- к
пускающая плоскую реализацию, что имеет место 5 й^ — аУц п) для
1
1 ^ 6 ^ я. — Прим, перев.
все поверхности, участвующие в разложевии, были бы ориентируемыми. —
Прим, перев.
’) То есть на границе некоторой 2-клетки. — Прим, перев.
2. Brannan R. D., F a n i d у T. D., Digital simulation, Instruments and Control Systems, № 3 (1966), 133—137.
3. Ja noski R. M., Schaeffer R. L„ COBLOC — a program for all-digital simulation of a hybrid computer, IEEE Trans. Electronic Computers, EC-15, № 1 (1966), 74—82.
4. В e r 1 e F. J., H a b e r s t о c k F., Blockorientierte Programmierung bei der Untersuchung dynamischer Systeme, Elektronische Rechenanlagen, Heft 3 (1966), 135—140.
Кибернетическийсборник
НОВАЯ СЕРИЯ
ВЫПУСК
7
Сборник переводов
Под редакциейА. А. ЛЯПУНОВА и О. Б. ЛУПАНОВА
ИЗДАТЕЛЬСТВО «МИР»
Москва 1 97 О
УДК 519.95
Научный совет по кибернетике
Академии HagK CCC#
Седьмой выпуск новой серии кибернетических сборников состоит из двух разделов: математические вопросы и прикладные вопросы. В первом разделе представлены работы по теории кодирования, синтезу логических устройств, теории графов, а также статьи по вопросам машинного доказательства теорем. Во втором разделе помещена статья Р. Якубовски об алгоритме моделирования динамических систем.
Сборник рассчитан иа научных работников, инженеров, аспирантов и студентов различных специальностей, занимающихся и интересующихся кибернетикой.
Редакция лигвратурм. ло математическим коркам
Инд 2-2-3 5-70
Математические вопросы
Предельное распределениедля минимального расстоянияв случайном линейном коде1)
Дэю. Н. Пирс
Распределение отношения минимального расстоянии к длине кода в случайном линейном коде приближается к скачкообразному распределению, когда длина кода становится достаточно большой при фиксированной скорости. Скачок возникает при наименьшем значении р, удовлетворяющем соотношению
1 + р Iog2 р + (1 - р) log2 (1 - р) = Мп.