Книга
Книга
Введение
Двоичный корректирующий^ блоковый код может быть определен как множество двоичных /i-мерных векторов-столбцов X', называемых «кодовыми словами» и удовлетворяющих множеству т проверочных уравнений
ArXr = 0 (mod 2),(1)
где Д'— бинарная (mXn)-матрица. Предполагая, что уравнения (1) независимы, можно произвольно выбрать к = п— т символов X' (в качестве «информационных» символов); тогда остальные т символов (называемые «проверочными») будут определяться уравнениями (1).
Если последовательность передаваемых информационных символов очень велика, кодовое слово можно рассматривать как полубесконечный вектор (последовательность) X, удовлетворяющий проверочным уравнениям
~ А' 0 0 0
0 Л' 0 0 ...
00 А' 0 ...
АХ —
Х = 0,(2)
где А' есть (т Хм)-матрица из (1). Следовательно, закодированное сообщение можно рассматривать как последовательность блоков из п символов, в которой символы различных блоков полностью независимы.
На рис. 1 приведена блок-схема системы связи, в которой можно использовать такие коды. Передаваемая информация кодируется по к символов одновременно в блоки из п символов.
!) Wyner A. D., Ash R. В., Analysis of recurrent codes, IEEE Trans, on Inf. Theory, IT-9, № 3 (1963), 143—156. Перевод статьи публикуется без приложений; в текст статьи внесены соответствующие изменения и замечания. — Прим. ред.
Избыточность, включенная в передаваемое сообщение, используется в декодирующем устройстве для того, чтобы исправить ошибки, которые могли произойти из-за шума в канале. Выходом декодирующего устройства является последовательность исправленных информационных символов.
В 1955 г. Элайес [1] предложил один тип корректирующего кода, названного им «сверточным» кодом, в котором кодовыми словами являются полубесконечные двоичные векторы. Эти коды отличаются от кодов (2) тем, что их матрицы нс могут быть разбиты на блоки. Сверточные коды были переоткрыты в
шум (Е)
Рис. 1. Система связи.
1959 г. Хегельбергером [3], который использовал их для исправления пакетов ошибок и назвал их «рекуррентными» кодами. Эти коды изучались также Возенкрафтом [9], Рсйффеном [7] и Эпстейном [2] в связи с независимыми ошибками и Килмером [4, 5] в связи с пакетами ошибок и независимыми ошибками. Особым достоинством рекуррентных кодов, в частности кодов Хегельбергера, является то, что часто они имеют очень легкую реализацию.
Основной трудностью в анализе рекуррентных кодов является отсутствие рабочей математической модели, в терминах которой можно было бы ответить на такие вопросы, как:
Каким необходимым и достаточным условиям должна удовлетворять проверочная матрица для того, чтобы исправлять ошибки данного типа?
. 2) Какие существуют соотношения между избыточ^ ностью рекуррентных кодов и их корректирующими воз« можностями? (Например, таким соотношением для блоковых кодов !) является «граница Хэмминга».)
В разд. II настоящей работы мы предлагаем такую модель и отвечаем на первый вопрос. В разд. III мы выводим границы для рекуррентных кодов, исправляющих пакеты ошибок, и на-
!) См. [6], стр. 68.
ходим максимальную корректирующую способность кода при заданной избыточности. Кроме того, строится общий класс ре« куррентных кодов, исправляющих пакеты ошибок. В разд. IV получены границы для кодов, исправляющих независимые ошибки.
Предварительные замечания
Определение рекуррентного кода
Определим рекуррентные или сверточные коды как множе-* ство двоичных последовательностей, удовлетворяющих набору проверочных уравнений, причем проверочная матрица имеет следующий вид.
Рис. 2. Схематическое изображение полубесконечной проверочной матрицы А. Ненулевые элементы находятся в заштрихованных участках.
Пусть Во — полубесконечная матрица из b столбцов и бесконечного числа строк. Предположим, что Во содержит только конечное число ненулевых элементов. Пусть В< — матрица той же размерности, что и Во, образованная из Во «сдвигом» строк на i шагов вниз, т. е. пусть h-я строка В< будет нулевой для 6=1, 2, ..., i и (/+/)-я строка В^ будет j-й строкой 60 для / = 1,2, ... .
Проверочной матрицей А кода является
Л = \В0ВП1В2п1В3т ... ],
где т — фиксированное положительное число. Матрица А схе^ матически приведена на рис. 2.
Кодовыми словами являются такие последовательности X (полубесконечные векторы-столбцы), что
(3)(3)АХ = 0 (mod 2).
(3)
(3)
(В данной работе арифметические операции над векторами и столбцами производятся по mod 2 и под словом «вектор» всегда понимается «вектор-столбец».)
Пример 1:
"10 0"
0 1 0
0 0 1
1 1 1
вй=
0
0
0
, /п = 2;
Во
в.
В.
-1
0
0
0 0
0
ООО"
0
1
0
0 0
0
ООО
0
0
1
1 0
0
ООО
1
1
1
0 1
0
ООО
0
0
0
0 0
1
1 0 0
Л — [50525456 ..
• J=
1 1
1
0 10 и т. д. .
0 0
0
0 0 1
1 1 1
••
•
ООО
Пусть Хг будет i-й позицией кодового слова X. Можно считать, что первые пг строк А задают m уравнений относительно b неизвестных Xi, х2, •.., Хь. Предполагая первые пг строк А линейно независимыми, b — пг позициям X среди первых b позиций можно придавать произвольные значения. Если уже выбраны Хь х^ ...,хь, удовлетворяющие первым пг уравнениям, то следующие пг строк А определяют еще пг уравнений от b неизвестных Xb-vi, Хъу^ • • •, х^ъ. Среди них опять b — пг могут быть выбраны произвольным образом. Эта процедура может быть повторена для каждого блока из b позиций; b — пг элементов в каждом блоке могут быть выбраны произвольно, а остальные пг будут определяться проверочными соотношениями. Таким образом, среди каждых b позиций пг являются проверочными и избыточность равна mjb. •
Проиллюстрируем процедуру кодирования на примере 2. Пусть информационная последовательность имеет вид: 1 1 О 1 0 0.... Первым проверочным уравнением является Xi+x2=0. Предполагая, что хь х3, х5, • •., ^+ь ... являются информационными символами, имеем %i= 1 и х^ =—Xi=l. При так выбранных Xv и х2 вторым уравнением будет 1+х3+х4=0. Так как х3 — второй информационный символ — равен 1, то х4=1+х3 = 0. Продолжая этот процесс, находим, что закодированное сообщение имеет вид: 1 1 1 0 0 1 1 1 0 1 0 0....
Процедура декодирования
Декодирование полученного сообщения производится на основе синдрома, который строится по обычным правилам построения синдрома для корректирующих кодов. А именно если Е — «вектор ошибки» ..(полубесконечный вектор с ненуле* выми элементами на искаженных позициях) и Y=X-VE — по* лученное сообщение, то синдром 8 равен
■ 3 = АГ = А(АГ + Д) = ААГ + АД = АЕ’. (4)
Таким образом, 3 является полубесконечный вектором* столбцом, представляющим собой сумму по модулю два тех столбцов А, которые соответствуют искаженным позициям.
Мы будем предполагать, что полученное сообщение декоди* руется по b символов одновременно. При этом для декодирования блока из b символов мы не можем ожидать, пока будет вычислен весь синдром, так как это приводит к требованию бесконечной задержки во времени. Соответственно сделаем следующее допущение: для декодирования первого блока из b символов используются только первые N позиций синдрома, где N — фиксированное положительное число. Второй блок декодируется на основе первых N+m позиций 8, третий'.блок — на основе первых N+2m позиций и т. д.
Для ясности вернемся к примеру 2 разд. П-А:
"1 1"
1 0
Во=
0 0
, m= 1.
Мы утверждаем, что этот код может исправлять любой, вектор ошибки, такой, что искаженные позиции разделены по меньшей мере тремя правильными позициями (т. е. что единицы в Е разделены по меньшей мере тремя нулями).
Для проверки утверждения положим N=2. При этом мы декодируем позиции 1 и 2 на основе первых двух символов синдрома 3. Эти символы образуют двумерные векторы, представляющие собой линейные комбинации столбцов матрицы, построенной из первых двух строк матрицы А:
Г1 1 0 0 0 0 0 0 ... 1
.1 0 1 1 0 0 0 0]■
Если теперь первая или вторая позиция (но не обе одновременно) искажены, то в первой позиции 3 будет стоять 1. Так
как (согласно сделанной выше оговорке) за ошибкой должны следовать три правильные позиции, то, в частности, позиции 3 и 4 должны быть правильными. Таким образом, первые два эле-
мента 5 образуют вектормента 5 образуют вектор11, если искажена первая позиция,, если искажена первая позиция,
мента 5 образуют вектор
мента 5 образуют вектор
1
1
, если искажена первая позиция,
, если искажена первая позиция,
и вектори вектор^ 1, если искажена вторая позиция. После этого на
и вектор
и вектор
основе третьего и четвертого символов 5 мы можем декодировать 5 и 6 позиции принятого вектора (3 и 4 позиции являются
правильными).-
Если позиции 1 и 2 не искажены, то первый символ S является нулевым и мы исследуем второй и третий символы S для
декодирования второго блока по описанному правилу.
Различные типы ошибок, исправляемых рекуррентными кодами '
1) Коды типа А (предназначенные для независимых ошибок).
Коды типа А исправляют любой вектор ошибки Е, такой, что никакое множество из п последовательных элементов Е не содержит более чем е единиц. Код, приведенный в примере 2 разд. И-А, является кодом типа А с п=4, е=1. -
Коды типа В (предназначенные для пакетов ошибок).
Коды типа В\ — коды типа В\ исправляют любой вектор ошибки Е, такой, что ненулевые элементы любых «п» последовательных позиций ограничены пакетом из «/» последовательных позиций. (Предполагается, что I кратно длине блока 6.) Это эквивалентно требованию о том, что пакеты ограничены безошибочными «защитными интервалами» из (п—1) позиций.
Коды типа В2 — коды типа 62, так же как и коды типа 61, исправляют пакеты длины I с тем дополнительным требованием, что пакет ограничен r=ljb последовательными блоками. (Опять предполагается, что b делит /.) .
Например, если 6 = 4, /=8, то накладываемое ограничение состоит в том, что пакет концентрируется в пределах //6 = 2чбло- ков. Возможно, однако, расположение пакета длины 8 и в пре-’ делах трех блоков. Например, ошибки в позициях 3, 4, 5, 6, 7, 8, 9, 10 образуют пакет длины 8, распространяющийся на блоки 1, 2, 3.
Целесообразность рассмотрения кодов типа 62 состоит в том, что они допускают упрощение анализа, приводящее к возможности получения интересных результатов, которые частично применимы и к кодам типа 61.
Отметим, что при 1]Ь>>\ корректирующие возможности кодов типа S2 приближаются к корректирующим возможностям кодов типа В1 с теми же I и Ь. Например, если 6 = 3 и /=15, коды типа S1 исправляют все пакеты длины не более 15, а коды
Рис. 3. Схематическое изображение матрицы AN. Ненулевые элементы находятся внутри заштрихованных участков.Рис. 3. Схематическое изображение матрицы AN. Ненулевые элементы находятся внутри заштрихованных участков.типа S2 исправляют все пакеты длины не более 13 и неко-* торые пакеты длин 14 и* 15.
Рис. 3. Схематическое изображение матрицы AN. Ненулевые элементы находятся внутри заштрихованных участков.
Рис. 3. Схематическое изображение матрицы AN. Ненулевые элементы находятся внутри заштрихованных участков.
Заметим, наконец, что ко-» ды типа В2 можно рассматривать как коды, исправляющие все пакеты в / последовательных позициях, при условии, что пакеты разделены безошибочными защитными интервалами из g= (n/b) — 1 блоков. Изучать, как оказалось, более удобно и, а не g.
D. Некоторые дальнейшие определения
Мы предположили, что первый блок декодируется после анализа первых N элементов синдрома S. Для данного вектора ошибки первые N элементов S определяются первыми N строками А. Если, кроме того, предположить, что m делит N„ то все ненулевые элементы первых N строк А бу-* дут расположены в первых (NJm^ • 6 столбцах. Это определяет матрицу AN) состоящую из первых N строк и первых (Njmyb столбцов матрицы А. Матрица AN изображена схематически на рис. 3. Предпо
лагается, что если ро — номер последней строки, содержащей ненулевые элементы So, то N^pQ. Таким образом, по данной An можно всегда восстановить А. Определим в свою очередь В как (NX6)-матрицу, совпадающую с первыми N строками So, и Т как (NxN)-матрицу, задающую линейное преобразование, состоящее из сдвига W-мерного вектора на m позиций вниз, приписывания нулей на первых пг позициях (и отбрасывания по
следних m позиций; см. рис. 3).
Тогда AW=[B, ТВ, РВ, ..., TW™HBY
Пример:
так чтотак чтоm=\, N = 2,m=\, N = 2,ТВ =ТВ =ГО 01ГО 011 11 110100 011 1 J0 011 1 J
так что
так что
m=\, N = 2,
m=\, N = 2,
ТВ =
ТВ =
ГО 01
ГО 01
1 1
1 1
1
0
1
0
0 01
1 1 J
0 01
1 1 J
Обозначим через C(i) i-й столбец А^. Предположим, что первый элемент некоторого столбца в А№ скажем С(1), равен 1. ■
Для вектора X определим s-мерный вектор [X]s, компонентами которого являются s первых позиций X. Например,
если X=если X=00уТО № =уТО № ="Г0"Г0
если X=
если X=
0
0
уТО № =
уТО № =
"Г0
"Г0
1
*4) /<г={1, 2,.../}— множество, состоящее из чисел 1,2,..., I.
Множество чисел J называется исправляемым типа Г (для Г = Л, Bl, S2), если J соответствует исправляемой ошибке типа Г (с уже определенными п, I, b и т. д.). Например, если п = 5 и е = 2, то J={1, 5} — исправляемое множество типа Л, а /'={1, 4, 5} — неисправляемое множество, так как мы можем исправить ошибку в 1 и 5 позициях, но не в позициях 1, 4 и 5.
Наконец, сумма 5 С (/) столбцов матрицы AN) соответ»
ствующих 7, называется исправляемой линейной комбинацией типа Г, если множество 7 является исправляемым типа Г.
Сводка терминологии и допущений
Прежде чем переходить к анализу рекуррентных кодов, под* ведем для удобства итог принятой терминологии и предполо* жений.
Проверочная матрица А имеет вид Л = [В0ВтВ2т ...], где Во — полубесконечная матрица из b столбцов и Bhm получается
из So сдвигом строк матрицы 60 на кт позиций вниз. Первые т строк А предполагаются линейно независимыми.
Первый блок из b позиций декодируется на основании первых N позиций синдрома, где N— фиксированное положительное число (выбранное таким образом, что т делит W). Вообще, первые к блоков декодируются на основе первых W+ (k— l)m позиций синдрома (А —1, 2, Г..).
Матрица AN состоит из первых N строк и (N/m) • b столбцов матрицы А. Иначе,
Л^=[в, ТВ, ГВ, t^^B},
где В состоит из первых N строк 6р и Г определяется так:
лг
м.
т
В теореме 1 будет показано, что свойства рекуррентного кода данного типа могут быть установлены путем исследования матрицы An> где п = (N/m) *b.
Необходимые и достаточные условия на AN для исправления ошибок типов А и В
Начнем анализ рекуррентных кодов. Ответом на вопрос 1 разд. I является следующая теорема:
Теорема 1. Матрица AN с числом столбцов n~(N/m) *Ь определяет код типа Г (Г=Л, 61, 62) тогда и только тогда, когда выполняются следующие условия^
Пусть Zi = ^C (/) и Z2= 2 С (/) — исправляемые линейные комбинации столбцов 4^ типа Г. Тогда ZX=Z2 влечет за собой равенство IA Kb = J П Кь (где Кь={1» 2, ..., 6} и А означает пересечение множеств). Иными словами, исправляемые векторы ошибок, не совпадающие в первом блоке, не могут приводить к одному и тому же усеченному синдрому
Доказательствр. а) Необходимость. Пусть уже построен код типа Г с n=(Nlm) *b. Предположим, что ZX=Z2 и / R Кь^М ^Кь- Пусть, например, /АК6 не пусто. Тогда Z^ является усеченным синдромом [S]^, соответствующим исправляемой. ошибке типа Г, содержащей ненулевые элементы в позициях первого блока (т. е. в тех позициях, которые принадлежат 1Г\Кь).
Так как ZX = Z2 и IА Кь4=1 А Кь, то Zx является также усеченным синдромом, соответствующим исправляемой ошибке типа Г, отличающейся от первой ошибки множеством ненулевых эле^ ментов в первом блоке. -
Таким образом, по [S^ нельзя декодировать блок 1. Это противоречит предположению 2 разд. П-Е. Следовательно, 1Г\Кь = = J А Кь, если Zi=Z2.
b) Достаточность. Пусть AN удовлетворяет, сформулированным условиям. Если произошла исправляемая ошибка типа Г, включающая позиции блока 1, то, согласно предположению, можно по [S]n определить ошибку в блоке 1 (так как, согласно предположению, любой [5]^ = 5 С (/) соответствует однозначному пересечению 1(АКь).
Таким образом, анализируя [S]^, можно точно указать искаженные позиции блока 1 и вычесть из S столбцы. А, соответствующие искаженным позициям в блоке 1 (устранив этим их отрицательное воздействие на S). После этого можно переходить к декодированию блока 2 по тем же правилам, по которым декодировался блок 1 и т. д.
Замечания. 1) Z=^C(i) является исправляемой комбике/
нацией типа А тогда и только тогда, когда / состоит из е или меньшего числа членов. Для кодов типа"4 условия теоремы 1 могут быть переформулированы так: любая линейная комбинация нс более чем 2е столбцов матрицы AN) включающая в себя по крайней мере один столбец из первых Ь, отлична от нуля.
Z = 2 СШ является исправляемой комбинацией типа S1 тогда и только тогда, когда 7 соответствует пакету длины, не превосходящей I. Аналогично для кодов типа В2.
G. Примеры
Следующие примеры проиллюстрируют применение тео* ремы 1: ■
1) Коды типа А:'
В примере 2 разд. П-А имеем
В =В =1 11 О1 11 О
В =
В =
1 1
1 О
1 1
1 О
Очевидно, что A±v удовлетворяет условиям теоремы 1 и, еле" довательно, описывает код типа А.
Предположим, что в только что рассмотренном примере е = 2 вместо 1. Пусть Zi=C(l), Z2= С(2) + С(3). Тогда /={1}, /={2, 3}. Но ZX=Z2 и 7 A Ka^J П Ka. Условия теоремы 1 нарушаются, и, следовательно, код не может исправлять двойные ошибки.
О
О 6=2, т=1, е = 2 W =
О *n = Nb = \2.
1.
0_.
2 3 4 5 6 7 8 9 10 11 12 1000000000 0“ 01 100000000 00011000000
000.0011оооо •
11000001100
00110000011
Можно проверить, что условия теоремы 1 удовлетворяются и, следовательно, код исправляет любой вектор ошибки Е, у которого никакие 12 последовательных позиций не содержат более двух единиц.
2) Коды типа ВЧ-
в
ТВ
РВ
РВ
"1 о~
- 1 0
0 0
0 0
0 0- 1 = Ь = ^
0 1
0 1
1 0
0 0
0 01/Ь = г=1,
S- 0 1 ' л--
0 1
0 1
1 0
0 0 m=A, ^=4,
-1 0_
1 0
0 1
0 1
1 0п = 8.
Прежде всего убедимся, что Д№ удовлетворяет условиям теоремы 1. Единственно допустимыми пакетами ошибок являются такие, которые содержат не более двух ошибок в одном и том же блоке. Таким образом, надо проверить, что любая линейная комбинация столбцов блока 1 отлична от любой линейной комбинации столбцов внутри других блоков.
Это сразу видно, если заметить, что любая линейная комбинация в блоке 1 симметрична относительно пунктирной линии, проведенной посредине матрицы Л№ и что никакая линейная комбинация столбцов другого блока не обладает этим свойством. '
Проиллюстрируем теперь процедуру декодирования для этого примера. Матрица А имеет вид •
1 2 3 4 5 6 7 8 9 10 11 12
00000 110
0
0
0
0
10 110
0 0 10 110.. . .
01-0010110. . .0 0 1 0 0 1 0 1 1 0 . . .0 0 1 0 0 1 0 1
....0 0 1 0 0 1
....0010 ....00
Допустим, что позиции 3, 4 и 11Допустим, что позиции 3, 4 и 11нированный синдром имеет виднированный синдром имеет видискажены. Тогда транспо-искажены. Тогда транспо-
Допустим, что позиции 3, 4 и 11
Допустим, что позиции 3, 4 и 11
нированный синдром имеет вид
нированный синдром имеет вид
искажены. Тогда транспо-
искажены. Тогда транспо-
sr ^ [0 1 1 1 1 1 0 0 1 0 0...].
Рассмотрим [S]^ = [0 1 1 1]. Так как он не имеет отме' ченной выше симметрии, то мы заключаем, что в блоке 1 нет ошибок. -
Анализируем следующий отрезок синдрома из четырех позиций (т. е. позиции 2—5) [1 1 1 1]. Он указывает на ошибку в третьей и четвертой позициях. Следовательно, надо вычесть из S эти столбцы А (т. е. 3-й и 4-й столбцы) и положить
[S],r= [0 1 1 1 1 1 0 0 1 0 0 ...] —[0 1 1 1 1 0 0 0 0] =
= [0 0000100100 ...].
Рассматриваем позиции 3—6 вектора S'r = [0 0 0 1]. Заключаем, что в блоке 3 нет ошибок. (Их, конечно, и не должно было быть, так как произошла ошибка во втором блоке.) Повторяем до тех пор, пока не дойдем до позиций 6—9 вектора S'T = = [100 1], соответствующих ошибке в одиннадцатой позиции принятого вектора. •
III. Коды типа В
Одна из задач теории кодирования состоит в максимизации корректирующей способности кода при минимизации избыточности. Для кодов типа В эта задача ставится следующим образом: каково минимально возможное п= {Nini) *b при фиксированных Ь, т и /? Иначе говоря, мы должны минимизировать защитный интервал g при фиксированных длине блока, избыточности и длине пакета.
Начнем с вывода нижней границы для N в случае кодов типа В2 и затем построим некоторые коды, которые достигают этой нижней границы. После этого приведем общий метод построения кодов типа В2, достаточно близких к оптимальным. Наконец, обсудим коды типа S1 и сравним построенные нами коды с кодами Хегельбергера [3].
А. Вывод для нижней границы для N при произвольном г и т= 1
Предположим, что уже построены коды типа В2 с т=1. Дадим следующие определения:
В' есть ([М+г—1]Хб)-матрица, состоящая из первых N-Vr—1 строк Во. Заметим, что последние г—1 строк ВЛ являются нулевыми»
Г есть (Af+r—1)Х(А^ + г—1)-матрица вида
"о о
1
ооооI
о
о
о
о
ооО
о
о
1 о
Д;=|>, ТВ'^ ТгВ'. .... Т'^^В'Х- Схематически A'N изображена на рис. 4, причем С(^ есть z'-й столбец A'N. '
Рис. 4. Схематическое изображение матрицы A'n для г = 3. Ненулевые элементы находятся внутри заштрихованных участков.Рис. 4. Схематическое изображение матрицы A'n для г = 3. Ненулевые элементы находятся внутри заштрихованных участков.
Рис. 4. Схематическое изображение матрицы A'n для г = 3. Ненулевые элементы находятся внутри заштрихованных участков.
Рис. 4. Схематическое изображение матрицы A'n для г = 3. Ненулевые элементы находятся внутри заштрихованных участков.
Vo есть (yV+'r—1)-мерное векторное пространство, натянутое на первые / векторов матрицы An. т. е. на столбцы матриц В', Т'В' Т'^В'.
Vi есть (N + r—1)-мерное векторное пространство, натянутое на столбцы матриц Т"В', Т'^^В'Т'^-^В' (т. е. на
второе множество блоков ДдО-
Замечания. 1) [C,(z)]N = C(z), если K,Nbt и [C,(z)]f/ = O, если i>Nb.
Если ^=2^(0, то
№ = [Sc'(01 = 2[С'(/)к= 2 с^
является линейной комбинацией столбцов AN. Передокажем те^ перь необходимое условие теоремы 1 применительно к матрице An*
Теорема 2. Если X = 2 С' (/) и У =^С (у) — исправляемые линейные комбинации столбцов An типа В2, то
X = Y влечет I C\Ki=J ГАКь
Доказательство. Доказательство аналогично доказательству теоремы 1. Если Х=¥ и IА Кг=М А Кь то X и У по усеченному синдрому [Sj^+r-i соответствуют двум различным мно^ жествам ошибок в первых г блоках. Таким образом, по [S]Ar+r_i нельзя декодировать первые г блоков. Это противоречит предположению 2 разд. П-Е. Следовательно, Х = ¥ влечет равенство I[\Ki=ir\Ki*
Нетрудно показать, что условие теоремы 2 не только необходимо, но и достаточно. Заметим также, что если г=1, то An = An и теорема 2 превращается в «необходимую» часть теоремы 1.
Докажем последовательность лемм, которые совместно с теоремой 2 приведут к нижней границе для N.
Лемма 1. М>г.
Доказательство1). Согласно определению, г = у<''Е* где п = —• Ь. Поэтому N > rm^ г, что и требовалось доказать,
Лемма 2. Если X— нетривиальная линейная комбинация векторов, порождающих Vo (т. е. первых I столбцов An), то [X]N-^
Доказательство. Предположим, что лемма нс верна, так что [X]iv—1 = 0. Рассмотрим матрицу
q/==[7^-1>C/(1), Т^С'^, .Г^"^'^.
’) Приведенное очень простое доказательство предложено переводчиком. — Прим. ред.
Столбцы Q' являются первыми столбцами последних г блоков в An- Из определения Т' следует, чтоЧОЪг-ч^О. Кроме того, так как мы предположили, что верхний элемент С(1) [и, следовательно, С'(1)] равен 1, то последние г строк Q' образуют треугольную и, следовательно, невырожденную матрицу. Отсюда следует, что столбцы Q' являются (М+г—1)-мерными векторами, первые N— 1 координат которых равны нулю. Таким образом, если И^-1 = 0, то X можно записать в виде линейной комбинации столбцов Q', или эквивалентно
Х = 2С(/),(5)
где / ограничено последними г блоками матрицы An. т. е. V> ^^N—1)6+1 для всех i^L Заметим, что / является исправляемым множеством типа S2, так как столбцы Q' ограничены г последовательными блоками AN. Теперь, согласно предположению, X € Vo и, следовательно,
^ = 2с'(д' (6)
где J является ненулевым подмножеством Кг и, следовательно, исправляемым типа В2. Приравнивая (5) и (6), находим
^СЧЦ=^С'^ '.(7)
где J V\Ki+ ^. Мы же утверждаем, что 1Г\К1=ф,и тем самым получаем противоречие с теоремой 2, доказывающее лемму. Для доказательства этого утверждения заметим, что из леммы 1 следует неравенство i X (г—1)6+ 1, так как i>(N — 1)6+1 для всех i € /. И так как каждое i соответствует первому столбцу блока, то <^г6 + 1=/+1 и, следовательно, I^Ki—^, ч. т. д.
Следствие 1. Размерность пространства Уо равна I: Dim Vo=L
Доказательство. Если / порождающих Уо не независимы, то существует нетривиальная линейная комбинация X этих порождающих, равная нулю. Таким*образом, в противоречие с леммой 2 получаем [X]N-i = 0.
Следствие 2. Dim Vi=L
Доказательство. Пусть То — линейное преобразование из Уо в пространство всех (М+г—1)-мерных двоичных векторов, определяемое равенством ТДХ'Х (Х^ Уо). Так как
Vi — множество всех векторов Га (%), X£Vo, то можно записать Vi = To(Vo). Если мы сможем доказать, что То является невырожденным (т. е. изоморфизмом) и сохраняет, таким образом, размерность, то dim Vi = dim Vo=L Для этого достаточно показать, что ядро То состоит только из нулевого вектора. Предположим, что X принадлежит ядру То, т. е. X ^Vo и ТЦХ) = = (Т'У X = 0. Из определения Т' следует, что если (Т'^У^О, то верхние N-Vr—1 — к элементов У являются нулевыми. Следовательно, верхние N-Vr—1—r=N—1 элементов X должны быть нулевыми, т. е. [X^_i=0. Но так как ХС Vo, то в силу леммы 2 Х=0, что и завершает доказательство.
Лемма 3. Vo П ^={0}.
Доказательство. Если ХС Vo, то можно записать Х = = 5 С' (/), где / — подмножество Кь Если X С Vj, то можно за* писать X = 5 С' (у), где / — подмножество КуХКь Таким образом, 1Г\К,1=?- Так как / и / — исправляемые множества типа В2, то по теореме 2 If\Ki=4>. Так как laKi, то 1= ф и, следовательно, Х=0.'
Теорема 3. Любой код типа В2 с m = i удовлетворяет условию N^-21 — г +1.
Доказательство. Пусть Vo+Vi—сумма подпространств Vo и Vi, т. е.
VoA-Vx^VaX-VbY1. X^VoX У6^; a,b = 0 или 1}.
Типичная теорема теории векторных пространств утверждает, что
dim (У0Ч~ l^i) = dim Ио + dim V ] — dim (Vo П V ^.
Так как Vo+Vi является пространством (А^+г— 1)-мерных векторов, то dim(Vo+Vi) <^+r — 1. В силу леммы 3 и следствий из леммы 2 N+r— 1 >/+/— 0=2/, ч.т.д.
Частный случай. Если//6 = 1, то N^>2l=2b.
Пример. Рассмотренный в п. 2 разд. П-G код является кодом типа В2 с N=2b=2L Следовательно, код достигает нижней границы.
Построение оптимальных и почти оптимальных кодов
Определение. Код типа В2 с т=\ называется оптимальным, если
N = 2l — г+1.
Хотелось бы построить оптимальные коды для всех возможных b и I. Следующая теорема упрощает поиск.
Теорема 4. Для произвольного положительного числа г и заданного кода типа В2 с m=l, b = b0, lJb — \ и N=N0 возможно построить код типа В2 с m={, b = b0, l/b — r и N=(N0— l)r+l. В частности, если N0=2b, то (No—1)г+1=2г6— г+1 = = 2/ — г+1, так что построение кода с г=1 и N=2b влечет за собой построение кода для произвольного г, достигающего нижней границы теоремы 3.
Доказательство1). По заданной (N0Xb)-матрице В кода с г=1 строим [(М)—1)г+1]х6-матрицу В*, вставляя г—1 нулевых строчек между каждыми двумя последовательными строчками В.
Пример:
N = NQ = 4, l = b = 2;
r = 2, N — (NQ — l)r+ 1 = 7.
Ч Доказательство основано на переплетающейся схеме, рассмотренной
An — матрицы, ассоциированные с В и В*,
имеют вид
'1 0 0 0 0 ООО-
ОМ 0 0 0 0 0
Ду—
0 10 1 10 0 0
»
_1 0 0 1 0 1 1 0_
"10 0
000000000
0 0"
0 0 1
000000000
0 0
0 1 0
010000000
0 0
An —
ООО
100100000
0 0
•
0 1 0
001001000
0 0
ООО
100010010
0 0
_ 1 0 0
001000100
1 0.
Так как декодирование первого блока осуществляется на основе позиций синдрома, соответствующих ненулевым строкам В* (в данном примере нечетные строки), то можно видеть, что, как и утверждалось, В* задаст код типа В^. „
Ниже приводятся примеры оптимальных кодов для г=1, m= 1, 6 = 2, 3 и 4:
1) 6 = 2,"
"1
0'
2) 6 = 3,
"1
1 0'
■3)6 = 4,"
"1
0 0 0"
0
1
0
0 1
0
1 0 0
В =
0
1
0
0 0
1
0 0 0
_ 1
0_
в =
1
0 0
0
0 0 0
0
1 0
в=
0
0 1 0
_1
о о_
0
0 0 1
0
0 0 1
0
0 1 0
Наилучшсс, что мы умеем строить для произвольных блоко
вых длин к настоящему времени, являются коды, достаточно близкие к оптимальным), определяемые матрицей В, изображенной на стр. 27 при N = 2(b— 1) + 6 = 36 — 2, т = \.
В п. 2 разд. II-G (иллюстрирую- Г'р
щем теорему 1) приведен такой код с , 6 = 2 (М=4). Это единственный случай, когда код оптимален. Доказатель-.6
ство того, что матрица В определяет•
код типа В2, полностью аналогичноv
доказательству, проведенному в п. 2 разд. II-G.'
Результаты, полученныедлякодов_1
типа В2, можноподытожитьввиде.8=". ь.
дляг=1‘
2b<N<3b — 2,(8)( „
для произвольного г (из теорем 3 и 4)। и
2Z —r+l<AZ<3Z —Зг+1.(9)•
'■16
Так как n=Nb, то 6(2Z—r+l)<n<6(3Z —Зг+1). (10)'„
Обобщение нижней границы на случай произвольного m
' С помощью процедуры, аналогичной использованной ранее, можно доказать следующее обобщение теоремы 3.
Теорема 3'. Любой код типа В2 должен удовлетворять неравенству
N>2l—(r — \)m.• (11)
Соответственно п = (N/m) • b ^ ^- — (г — 1)6..
Как и для случая т=1, построение оптимальных кодов [т. е. кодов, для которых в (11) достигается равенство] упрощается следующим обобщением теоремы 4:
Теорема 4'. Для произвольного положительного числа г и заданного кода типа В2 с т = т0, b = bQ, ljb = \ и N=N0 возможно построить код типа В2 с m = m0, b=b0, l/b=r и N= = (AZ0— m)r + m.
Оптимальный код c m=2, b = 3 и r=l задается матрицей "10 0"
0 1 0
0 0 1 n = 6,.
в 0 0 0 ’«= (w/m) -6 = 9.
.0 0 1
0 0 1
Коды типа S1 —коды Хегельбергера
Так как коды типа В1 являются одновременно и кодами типа S2, то к ним приложимы все полученные выше результаты. Усиления нижней границы для п, однако, пока получить не удается (если, конечно, оно в принципе возможно). Оптимальный код типа S1 для / = 6 = 2 и m=i определяется матрицей
"1 1 ~
W = 26 = 4.
О О
Необходимо указать, что коды, построенные Хегельберге* ром [3], являются кодами типа SI с m = 1 и
n = blL(b) + b — /, (12) где L(6) —наименьшее число > log26 + l. Для того чтобы по* казать, что коды Хегельбергера могут быть улучшены, рассмо* трим код Хегельбергера для 6 = 3 и /=12. В силу (12) для этого кода п=99. Сравним его с оптимальным кодом типа В2 с 6 = 3 и /=15 (приведенным в разд. Ш-В). Последний код исправляет все пакеты длины, не превосходящей 13, и некоторые пакеты длин 14 и 15. Для него в силу теоремы 4 п = Ь^,1— у+1) = = 78. Таким образом, при той же самой избыточности мы получаем код с несколько меньшим защитным интервалом, чем у кода Хегельбергера.
IV. Коды типа А
Как и для кодов типа В, попытаемся максимизировать корректирующие возможности кода при минимизации его избыточности. Для кодов типа А эта задача формулируется так: каково минимально возможное n=(Nlm)-b при фиксированных 6, m и е?
Наше обсуждение кодов типа А ограничивается случаем т=1. Мы начнем с вывода нижней границы для N (и, следовательно, для и) в частном случае, когда е=1. Затем мы покажем, что эта нижняя граница всегда реализуема, так что оптимальный код с исправлением одиночных ошибок может быть построен для произвольного 6. Затем находится нижняя граница для N при произвольном е. Наконец, так как известны 9 только
9 Одновременно с данной работой была выполнена работа Дж. Л. Месси «Пороговое декодирование» (изд-во «Мир»! 1966), в которой автор приводит широкий класс кодов типа А»
некоторые специфические коды типа А, мы для случая 6 = 2 при произвольном е выводим верхнюю границу для N посредством построения, аналогичного описанному в [8].
Коды с исправлением одиночной ошибки (е=1)
Переформулируем прежде всего теорему 1 на случай кодов типа А с е=1: матрица AN определяет код типа А с е = 1 тогда и только тогда, когда для всех положительных чисел i, /, таких, что i^b и 14=Ь справедливо С(0=С(/). Другими словами, ни один столбец первого блока в An не равен другому столбцу матрицы Ду. Иначе говоря, если СМ и С(/) —два столбца первого блока матрицы AN (i=H; Ц j^b), то TkC(i) +С^) для к = = 0, 1, ..., N— 1.
Выпишем теперь реализуемую нижнюю границу для N.
Теорема 5. 1) Любой код типа А с т = е=\ должен удовлетворять неравенству N ^ log2 6 + 1.
Для произвольных положительных чисел Мо и bOl таких, что yV0^log2 60+ 1, существует код типа А с b = b0> m=e=i и N=-No. -
Доказательство. 1) Определим следующее отношение эквивалентности на множестве ненулевых W-мерных векторов: Xc^Y тогда и только тогда, когда либо TkX = Y для некоторого 6 = 0, 1, ..., N—1 и к нижних элементов X равны нулю, либо TkY=X для некоторого fe = 0, 1, ..., N— 1 и к нижних элементов Y равны нулю. (Условие, накладываемое на нижние элементы, обеспечивает транзитивность отношения.)
Если X и Y — два различных ^-мepныx вектора с единицей в первой позиции, то X и Y лежат в разных классах эквивалентности. Более того, никакие два столбца первого блока матрицы An не могут лежать в одном классе эквивалентности, так как если C^i)~C(j) (i^j; i, j^b), то или TkC(i) = С^), или ТкС(П = C(t), что противоречит сделанной выше переформулировке теоремы 1.
Отсюда следует, что 6 не может быть больше числа классов эквивалентности в множестве ненулевых W-мерных векторов.
Мы утверждаем, что существует 2N-1 классов эквивалентности. Так как никакие два различных вектора с единицей в первой позиции не эквивалентны, то число классов эквивалентности по меньшей мере равно 2N-1. Далее, число классов эквивалентности не может превышать 2^-1, так как любой ненулевой ^-мepный вектор эквивалентен вектору с единичным первым элементом.
Например, если N = A, то
Таким образом, всего существует 2^-1 классов эквивалентно^ сти, так что
6<2^-1, или yV>log26 + l-
Утверждение легко следует из того, что в качестве столбцов матрицы В (первого блока AN^) можно выбрать столбцы из множества всех 2^-1 различных Л^-мерных векторов с единицей в первой позиции. Такой выбор В удовлетворяет условию теоремы 1, так как PC(t) (й>0) имеет в первой позиции нуль и, следовательно, не может быть равен ни одному столбцу матрицы В.
Нижняя граница для N при произвольном е>\ (т = 1)
Предположим, что мы построили код типа А. Если а — число различных исправляемых линейных комбинаций столбцов AN типа Л, то а^2^, так как каждый столбец матрицы AN является TV-мерным вектором. Если мы сможем найти нижнюю границу для а, то этим мы получим нижнюю границу для N. Разобьем исправляемые линейные комбинации типа А следующим образом на подклассы Н8 (s = 0, 1, ..., е): X = S С (Z) принадлежит классу Н81 если множество IП Къ содержит точно s членов (т. е. X имеет точно s «представителей» в первом блоке). Из теоремы 1 вытекает, что Н8 не пересекаются, и, следовательно, если через п(Н8) обозначить число элементов в Н8, то.
а=2«№-(13)
5 = 0
Найдем теперь нижнюю границу для п(Н8). Согласно теореме 1, если X и У принадлежат Н8 и имеют различные представители в первом блоке, то Хф¥.
Для всякого Х^Н8 в первом блоке можно выбрать s представителей
_ Ь\
$!(£ — $)!•
способами (Сь по определению равно нулю для s>b). Таким образом, если через ^(р) обозначить число различных векторов, являющихся линейной комбинацией не более р столбцов ма-
трицы AN, исключая первый блок, то получим
n(JU = CV4e-sy(14)
Подставляя (14) в (13), имеем
2w>a=SC»/7(5-s).(15)
■5 = 0
Выведем теперь нижнюю границу для F^. используя следующую теорему:
Теорема 6. Пусть X = 2 С (/) и Y = 2 С (у) — линейные комбинации не более t столбцов матрицы An^^c). Тогда из равенства Х=¥ следует, что IП K[2(^)+ii& = ^К^^-пл-Ц ь-
Теорема 6 является распространением теоремы 1 на коды типа А; йри t = e теорема сводится к «необходимой» части теоремы 1..
Определим теперь матрицу М^ как матрицу AN с вычеркнутыми первыми 2(е— /)—1 блоками (/=1, 2, ..., е—1). Из теоремы 6 вытекает, что любые две равные линейные комбинации не более t столбцов матрицы M^t) должны иметь одних и тех же представителей в первых двух блоках M^t). Точно мы сформулируем это следующим образом:
Следствие из теоремы 6. Если X = ^Cki^ и Y = = 2 С (у) — две линейные комбинации не более / столбцов матрицы М(/), то
X = Y^IV\K? = J{\K't
где K'^W-t^bH; [2(е-/)-1J6 + 2; ..., [2(е-/) +1]6). [Соответствует первым 26 столбцам матрицы М(0; см. рис. 5.]
Доказательство. Следствие вытекает непосредственно из теоремы 6, так как K'c.K^e_tyW ь*
Мы определили F^ как множество различных векторов, являющихся линейными комбинациями не более р столбцов матрицы An, исключая блок 1. Таким образом, если мы определим Ф(р, t) как множество различных линейных комбинаций не более р столбцов матрицы М(/), то, очевидно, будет выполняться равенство F^р) ^Ф^р, е—1).
Мы установим нижнюю границу для F(p) с помощью рекуррентных соотношений. Для р ^t, проводя вывод, аналогичный выводу соотношения (15), с использованием матрицы M(t)
вместо An и сформулированного выше следствия вместо теоремы 1, получаем.
р (число способов,выбора
Ф(Л 0 = 2 \ представителей в первых f X Ф (рS, /1), д-о(двух блоках М (0 J’
или.
р
(16)(16)ф^р. ^ — ^c^p-sa-xy$=0-
(16)
(16)
^Си ' полагается равным нулю при $>26).
(N-l)b=n-b(N-l)b=n-bРис. 5. Матрица М (t), показанная схематически для t = е — 1. Ненулевые элементы — внутри заштрихованных участков. Следствие к теореме 6 утверждает, что одинаковые линейные комбинации е — 1 или меньшего числа столбцов должны иметь одних и, тех же представителей в первых двух блоках М (г — 1) (двойная штриховка). Когда матрица В (пунктир) добавляется к М (е — 1), мы получаем матрицу А^.Рис. 5. Матрица М (t), показанная схематически для t = е — 1. Ненулевые элементы — внутри заштрихованных участков. Следствие к теореме 6 утверждает, что одинаковые линейные комбинации е — 1 или меньшего числа столбцов должны иметь одних и, тех же представителей в первых двух блоках М (г — 1) (двойная штриховка). Когда матрица В (пунктир) добавляется к М (е — 1), мы получаем матрицу А^.
(N-l)b=n-b
(N-l)b=n-b
Рис. 5. Матрица М (t), показанная схематически для t = е — 1. Ненулевые элементы — внутри заштрихованных участков. Следствие к теореме 6 утверждает, что одинаковые линейные комбинации е — 1 или меньшего числа столбцов должны иметь одних и, тех же представителей в первых двух блоках М (г — 1) (двойная штриховка). Когда матрица В (пунктир) добавляется к М (е — 1), мы получаем матрицу А^.
Рис. 5. Матрица М (t), показанная схематически для t = е — 1. Ненулевые элементы — внутри заштрихованных участков. Следствие к теореме 6 утверждает, что одинаковые линейные комбинации е — 1 или меньшего числа столбцов должны иметь одних и, тех же представителей в первых двух блоках М (г — 1) (двойная штриховка). Когда матрица В (пунктир) добавляется к М (е — 1), мы получаем матрицу А^.
Соотношение (16) обосновано только для р ^/, так как следствие из теоремы 6 относится к линейным комбинациям не более t столбцов M^ty При попытке непосредственного расчета Ф(р, 0 рекурсивно для p^.t немедленно встречаешься с препятствием: когда p = t и $ = 0, справа в (16) стоит неопределяемый член Ф (/, t — 1). Однако, так как Ф (/, t — 1) >Ф (t — 1, t — 1), (16) при p = t даст
t
ф(/, о=5с^ф^—s, t—1)+ф(л I —1)>
t
>^C^kts. t — 1) + Ф(/ — 1, t — 1).(17)
Для того чтобы решить рекуррентные соотношения (16) и (17), необходимо уточнить нижнюю границу для Ф(р, 0 при р = 0 и р = \. Очевидно, Ф(0, 1)=1. Мы утверждаем, что
.Ф(1, 1)>2^+^+1,(18)
где N'=N — 2е+1.
Доказывается это следующим образом: рассмотрим Л4(1). В силу следствия из теоремы 6 первые 26 столбца М(1), как линейные комбинации первого столбца Л4 (1) и различных «представителей» в первых двух блоках Л4(1), различны.
Далее, первые столбцы каждого из оставшихся N' блоков матрицы^ 1), т. е. столбцы
С[(2г —1)6 + 1], С [2^ + 1], C[(W —1)6+1],
образуют множество S (мощности N') линейно независимых и, следовательно, различных столбцов Л4(1). [Независимость следует из тогр, что первым элементом С(1) является 1.] В силу следствия й§ теоремы 6 S нс пересекается с первыми 26 столбцами Л4 (1). Таким образом, включая нулевой вектор, мы получаем по меньшей мере 2b-vN'+l различных линейных комбинаций не более одного столбца М(1).-
Теперь мы дюжем установить нижнюю границу для N. Так как F(p)=O(p, е—1) и F(e)=O(e, е — 1)>Ф(е — 1,1),
из (15) получаем следующий результат:
■ .2^>2С»Ф(е— s, е — 1)+Ф(е — 1, е — 1).(19)
s = l
Наименьшее значение ^.удовлетворяющее (19), и является искомой нижней границей. Ф(р, /) отыскивается, рекурсивно из (16), (17), (18).
Примеры:
Пусть Ь = 2; е = 3. Тогда
Ф(1,1)>2(6 — ^) + 7V + 2 = ^,
ф(1,2) = Ф(1, 1) + 4Ф(0, l)>2V + 4,
Ф(2,2) = Ф(2, 1) + 4Ф(1, 1) + 6Ф(0, 1)>5Ф(1, 1) + 6Ф(0, 1)>
>5W + 6.
Таким образом, из (19)
2" > 2Ф (2, 2) + Ф (1, 2) + Ф (2, 2), или..
2^ 16?/+ 22.(20)
Наименьшим значением N, удовлетворяющим (20), является N=8. Следовательно, любой код типа А с т = 1, 6 = 2, е=3 дол-- жен удовлетворять условию N=8.
Пусть е = 2. Тогда из (19)'
2"<№(1, 1) + С»Ф О, 1)+Ф(Ь 1) = (5 + 1)Ф(1, 1) + С».
Из (18)
Ф(1, 1)>2(6 —2) + W + 2 = W + 26 —2. Следовательно, 2w<(6+l)(A^ + 26-2) + d.(21)
При 6 = 2 наименьшим числом, удовлетворяющим (21), является N = 5. В разд. II был приведен код типа А с т=1, Ь=е = 2 и N = 6.
Нижние границы для N (и я) для кодов типа А, т = 1 и различных значений b и е
ь
е
N
n = Nb
ь
е
N
n=Nb
2
2
5
10
6
2
8
48
3
8
16
7
2
8
56
4
10
20
8
2
8
64
3
2
6
18
9
2
9
81
4
5
3
2
3
2
9
7 v
10
7
27
28
40
35
10
2
9
90
В таблице приведены наименьшие значения Л/, удовлетво^ ряющие (19) для различных значений 6 и е.
Верхняя граница N при Ь^ и произвольном е>\ (т=1)
Нами показано, что для любого е>Х существует код типа А с Ь=2, т = \ и N, равным наименьшему числу, удовлетворяющему неравенству
2^ — 2
2^-1 > 5 С^-з.(22)
1-0
Аналогичная, хотя и более слабая граница, получена другим методом Возенкрафтом и Рейффеном [9]. К сожалению, способ, используемый для вывода (22), нс имеет простого обобщения на случай произвольного 61). Полученные границы являются очень громоздкими и поэтому нс приводятся.
9 Для произвольных b и т очень легко может быть получена следующая граница для N, обеспечивающая существование кода: 2e-d0
^bN-b < ^т ^N~X\ где ^о — минимальное расстояние наилучшего /-о
(Ь, b • т^ линейного кода. Эта граница эквивалентна границе Варшамо- ва — Гилберта для блоковых кодов. — Прим, ред»
Можно показать, что для больших е (и соответственно боль; ших п и N) отношение ejn стремится к константе. В этом смысле рекуррентные коды ведут себя так же, как блоковые).
V. Заключение и открытые проблемы
Результатом разд. III и IV является вывод количественного критерия, позволяющего судить о качестве рекуррентного кода, а именно о близости N к его нижней границе. Основной нерешенной проблемой является отыскание методов синтеза «хороших» кодов. Результаты разд. III наводят на мысль, что можно отыскать оптимальный код типа В2 общего вида).
Для реализации рекуррентных кодов можно использовать простые методы, предложенные Хегельбергером [3] и Питерсоном). Возможно, что существуют более тонкие методы технической реализации, позволяющие значительно сэкономить оборудование. Другой требующей рассмотрения практической проблемой применения рекуррентных кодов являются задачи синхронизации и предотвращения размножения ошибок.
ЛИТЕРАТУРА
Elias Р., Coding for noisy channels, IRE International Convention Re' cord, 4 (1955), 37—46.
E p s t e i n M. A., Construction of convolution codes by suboptimalization, M. I. T. Research Lab. of Electronics, Cambridge, Mass., Tech. Rept. № 341, 1959.
Hagelbarger D. W., Recurrent codes: easily mechanized, burst-correcting binary codes, Bell. Sys. Tech. L, 38 (1959), 969—984.
Kilmer W. L., Some results on best recurrent-type binary-error-correcting codes, IRE International Convention Record, 4 (1960), 135—147.
К i 1 m er W. L., Linear recurrent binary error-correcting codes for memoryless channels, IRE Trans. Information Theory, IT-7 (1961), 7—13.
Peterson W. W., Error-correcting codes, The M. I. T. Press, Cambridge, Mass., and John Wiley and Sons, Inc., New York, 1961. (Русский перевод: Питерсон У., Коды, исправляющие ошибки, «Мир», М„ 1964.)
R е i f f е п В., Sequential encoding and decoding for the discrete memoryless channel, Ph. D. dissertation, Dept, of Elec. Engrg., M. I. T., Cambridge, Mass., 1960.■
, S a c k s G. E., Multiple error correction by means of parity checks, IRE Trans. Information Theory, IT-4 (1958), 145—147.
Wozencraft J. M., R e i f f e n B., Sequential decoding, The M. I. T. ' Press, Cambridge, Mass., and John Wiley and Sons, Inc., New York, 1961, 47—55e (Русский перевод: Возе к крафт Дж., Рейф фен Б., Последовательное декодирование, ИЛ, М., 1963.)
Коды без запятой, исправляющиеошибки *>
Дж. Дж. Штифлер
Введение
Известны многочисленные классы кодовых словарей, обладающих способностью исправления или обнаружения аддитивных ошибок. Так как использование таких кодов предполагает синхронизацию между, передатчиком и приемником, то в большинстве случаев бывает удобно предусмотреть некоторый метод получения ее из полученной последовательности кодовых слов. Один подход к решению этой проблемы состоит в добавлении специальной синхронизующей последовательности, предшествующей каждому кодовому слову. Этот метод исследован при различных ограничениях в [1] и [2]. К сожалению, избыточность, добавляемая к этим кодам для получения синхронизации, не увеличивает их способность исправлять ошибки (во всяком случае, когда это относится к аддитивным ошибкам). Второй подход состоит в построении кодовых словарей без запятой [3], [4], [5]. Однако обычно эти словари либо не обладают свойством исправления ошибок, либо об этом ничего не известно. Кроме того, эти коды обычно не обладают алгебраическими свойствами, которые давали бы возможность эффективного декодирования; например, они нс образуют группу или смежные классы группы. В настоящей статье показано, что, беря один из смежных классов группы, а не саму группу в качестве кодового словаря, можно обеспечить самосинхронизационные свойства, не жертвуя интересами декодирования, не добавляя избыточности и не теряя свойств исправления ошибок по сравнению с исходным кодом. В разд. II дается условие, которому должен удовлетворять смежный класс группы, чтобы он являлся кодом без запятой. В разд. III показано, что существует смежный класс любого (и, £) циклического группового кода, удовлетворяющий этому условию по крайней мере для некоторых из возможных перекрытий, и что, кроме того, если к^Дп—1)/2, то смежный класс образует кодовый словарь без запятой. Нако-
9 Stiffler J. J., Comma-free error-correcting codes, IEEE Transactions on Information Theory, 1Ы1, № 1 (1965), 107—112.
нец, в разд. IV указано, что не существует кодов Хэмминга без запятой [отличных от (3, 1)], независимо от того, получены ли они из циклического группового кода или нет.
Уравнение отсутствия запятой
Кодовый словарь называется поддающимся синхронизации в позиции г, если последовательность
аг+1аг+2 ... a„btb2 ... b,(1)
не является кодовым словом, где а^а^.. .аи и Ь^Ь^.. .Ьи суть любые два (не обязательно различные) слова из словаря. Если словарь является поддающимся синхронизации во всех позициях г(г=1, 2, ..., п—1), то он называется словарем без запятой. Если слова из словаря образуют двоичную1) группу размерности к, ясно, что словарь не может быть поддающимся синхронизации ни в какой позиции, так как слово 00 ... О есть элемент группы. Однако может оказаться, что к каждому элементу группы возможно прибавить двоичный вектор с, в результате чего получается смежный класс, поддающийся синхронизации по крайней мерс в некоторых позициях. Смежный класс обладает теми же свойствами исправления ошибок, что и группа, так как он имеет те же свойства расстояний. Будем считать, что групповой кодовый словарь обладает теми же свойствами поддаваться синхронизации, что и лучший из его смежных классов.
Пусть G— матрица порядка пХк, столбцы которой являются образующими группы, т. е. допустим, что G обладает тем свойством, что любой элемент g группы может быть записан в виде
l = Gx.(2)
где х есть двоичный столбец из к компонент. Если кодовый словарь является смежным классом группы, порожденной G, то любое кодовое слово а может быть выражено как
а = Ох ф с
для некоторого вектора х. (Символ ф обозначает сложение ио mod 2.) Пусть G разделена на Gi и G2порядка тХк и (п—т^Хк
соответственно:
(3)(3)ГО11о — J
(3)
(3)
LG2J
т) Мы ограничимся здесь рассмотрением двоичных групповых кодов. Однако излагаемый метод легко распространяется на линейные коды, заданные над произвольным конечным полем, '
и аналогично пусть с разделен на векторы ci и с2 из m и п — m компонент каждый:
(4)
а = G^ ф cv р = 6$ ф с2,а = G^ ф cv р = 6$ ф с2,(5)(5)Если векторы аир определены как
а = G^ ф cv р = 6$ ф с2,
а = G^ ф cv р = 6$ ф с2,
(5)
(5)
где у и г — два двоичных столбца из к компонент, то вектор (Р, а) может быть использован как обозначение любого перекрытия вида (1). Число несовпадающих координат у любого кодового слова а и любого такого перекрытия может быть определено путем подсчета числа единиц в векторе w, определенном следующим образом:
. (6)
Векторы бт имеют т компонент, каждая из которых равна нулю, матрицы От имеют порядок тХк, и все их элементы также равны нулю. Если смежный класс, который должен быть использован в качестве словаря, не поддастся синхронизации в позиции т, то существует двоичный вектор у размерности 36, такой, что
• Мч) = Ь» (7)
где
и
Для доказательства того, что код поддастся синхронизации в позиции т, достаточно показать, что не существует вектора у, для которого уравнение, написанное выше, имеет решение. Но
хорошо известно, что (7) обладает решением тогда и только тогда, когда
р(Л4) = р(Л1, Б),
где р(Л) обозначает ранг матрицы Л и М, Ь есть матрица порядка яХ(3&+1), полученная добавлением столбца b к матрице М. Очевидно, что р(Л1) ^ р(Л4, Ь). Следовательно, групповой код поддается синхронизации в позиции m тогда и только тогда, когда р(Л4)<р(Л4, Б), где М и Б определены соотношением (7).
Ранг матрицы можно рассматривать как число линейно независимых строк. Полезное свойство матриц состоит в том, что ее ранг не изменяется при прибавлении кратного одной строки к любой (другой) строке. Предположим, что существует линейно зависимое множество Sj строк пн матрицы М. Так как все операции рассматриваются над двоичным полем, имеем
(8)(8)2 mz = 0/ £ Sj
(8)
(8)
и для любого Zo€ Sj
S m( = m,.
t^.Sy' 0
При последовательном прибавлении всех строк из Sj (кроме /о) к iQ ранг матрицы М становится равным рангу матрицы М\ где
“^11^12 •••7^1,з^
М' =
mio-i,i
0
... m^-x, 3&
... 0
.(9a)
Wzo+i, 1
• • • ^0 + 1, 3k
1• • • ^п, 3k -
Далее, та же последовательность операций, произведенных над матрицей М, Ь дает матрицу (М^Ъу, у которой первые 36 столбцов совпадают с аналогичными столбцами матрицы М\
а (36 + 1)-й столбец имеет вид
Ь1
^2
i^Sji^Sjbibi
i^Sj
i^Sj
bi
bi
Если 2 bt = \, то «о-я строка матрицы (Л1, bV может быть добавлена к любой другой строке, для которой bj=V при этом мы получим матрицу
mu /ni2...mli3* О
тго-1,1
. . . 7П10-1, з^
0
(Ж, 6)" =
0
0
1
.(9Ь)
/И/о+1, 1
. . . ^/о+1, Зй
0
_zn„a ...m„t3k0_
Ясно, что никакая линейная комбинация строк матрицы (М,Ь)" нс равна се /0-й строке. Так как для каждого линейно зависимого множества строк матрицы (М.Ь)" существует соответствующее линейно зависимое множество в матрице М', то
р((М ^у/) = р(уц, 6)>p(^) = p(^z), если
^ь^х.
Если, с другой стороны, не существует линейно зависимого множества Sy, такого, что 2 bt = X, то р(Л1, 5)=р(Л4) и код
Не поддается синхронизации в заданной позиции,
Остается, таким образом, определить множества Sj. Заметим, что каждомЁу линейно зависимому множеству строк Sj матрицы М соответствует линейно зависимое множество строк Sj матрицы G (начало строк матрицы М длины ку Множество всех линейно зависимых множеств строк матрицы G есть просто нулевое пространство группы, порожденной G, т. е. для каждого группового кода существует соответствующее нулевое пространство, такое, что если gt есть i-я строка в G и Й есть вектор нулевого пространства, то ‘
(10)(10)S h^ I—о>
(10)
(10)
где ht есть i-я компонента к. Все векторы к, удовлетворяющие (10), составляют нулевое пространство ^? кода. Таким образом, Sj есть множество/для которого
(И)(И)3 §1=о
(И)
(И)
1^
тогда и только тогда, когда существует вектор к из S8 с ком
понентами
(12)(12)( 1 для всех i^Sp
(12)
(12)
( 0 в остальных случаях.
Векторы к нулевого пространства, вообще говоря, легко определяются из описания кода; в действительности часто код задается при помощи своего нулевого пространства. Можно показать [6], что если код имеет размерность к (gi имеет к компонент), то существует в точности ^^ различных векторов к, удовлетворяющих соотношению (10). Нулевое пространство имеет поэтому размерность п — к и может быть порождено линейными комбинациями строк некоторой матрицы Н порядка (п — к^Хп. Матрица Н часто называется проверочной матрицей, так как ее строки характеризуют независимые проверки четности, которым удовлетворяет каждое кодовое слово.
В предыдущих абзацах было установлено, что соотношение (8) может иметь решение только для подмножества множеств Sj, определенных в (12). Отсюда следует, что если соотношение (8) выполнено, то в ^ существует вектор й, такой, что .
п-m m __ п-т
2^, = 2 (13)
где g^ и g^ обозначают Ле строки в Gi и G2 соответственно. Но
mtn
2= 2 hun-mit(14)
и
n-m _n
2(15)
z = lZ-zn + l
Следовательно, доказана
Теорема 1.1) Если (п, к^ групповой код имеет смежный класс, поддающийся синхронизации в позиции т, то его рулевое пространство <9-8 должно содержать три вектора /г, № и Т№-\ такие, что
.(i) = pz+«-m ^ = 1, 2, .... tn,1 (Оi = tn + 1-
и'
JO i = 1, 2, ..., tn,
I ht_m t — m-\- 1, ..., n.
Если условие 1 выполняется для некоторого вектора %, то все смежные классы группы, для которых
Z-1
поддаются синхронизации в позиции пт. Вектор Ъ задается соотношением (7).
Таким образом, вопрос о возможности сделать групповой код поддающимся синхронизации в любой позиции пг можно решить с помощью простого исследования, содержит ли его нулевое пространство три вектора, удовлетворяющих описанным выше условиям. Это сильно сокращает объем работы, необходимой для обнаружения свойства отсутствия запятой у группового кода. Кроме того, в некоторых специальных случаях возможно найти более простые необходимые и достаточные условия существования смежных классов без запятой. Этот вопрос исследуется в следующем разделе.
Циклические коды без запятой
Циклический групповой код обладает тем свойством, что все циклические перестановки любого его кодового слова также являются кодовыми словами и, следовательно, входят в группу. Если G порождает некоторый (и, &) циклический групповой
код, то его нулевое пространство ©6 также циклично. Кроме того [6], базис Н нулевого пространства может быть записан в виде
dj 62
..6^,00..
0
0
0 .
.. 0 -
0 6]
д2 . .
* • ^к^ + 1 0 • .
.. 0
0
0 .
.. 0
н=
••
•
...
. (16)
_0 0
0 ..
. 000
0
д2 . .
• • ^+1 _
где ни di, ни б/i+i не равны нулю, причем число столбцор равно п. Сопоставляя этот факт с результатами, полученными в предыдущем разделе, мы можем доказать следующую теорему:
Теорема 2. Любой (м, k) двоичный циклический код может быть сделан поддающимся синхронизации во всех позициях г, где |г|-^п— к—1, простым дополнением первой координаты каждого кодового слова.
Доказательство. Прежде всего заметим, что если пгХп — к — 1, то &в удовлетворяет условию 1) теоремы 1. Пусть h есть первая строка матрицы Н из (16), тогда вектор hi\ определенный в условиях теоремы 1, тождественно равен нулю и вектор h^ есть просто (т + 1)-я строка матрицы Н. Остается проверить, что
п
SMz = l(17)
z-i
для всех тХп — к — 1. Но так как
(18)
тотоZ = 1, п, — т 4-1.в остальных случаях.Z = 1, п, — т 4-1.в остальных случаях.(20)(20)(19)
то
то
Z = 1, п, — т 4-1.
в остальных случаях.
Z = 1, п, — т 4-1.
в остальных случаях.
(20)
(20)
Отсюда следует, что
пЛ+1
SM^SM^-b(21)
1-11-1.
если НЮ— т+1, т. е. если тХ.п — к—1.
Повторяя эти рассуждения для последней строки матрицы Н вместо первой, можно установить, что та же ситуация получается, если-
п— т^п — к— 1.
Следовательно, соотношение (7) нс будет иметь решения, если с определено так, как выше, для всех т, таких, что
|/п|<п— к — 1,
что доказывает теорему.
Нужно заметить, что смежные классы, отличные от тех, которые получаются дополнением первого столбца, также могут обладать требуемыми свойствами. Например, легко видно, что дополнение последнего столбца даст тот же самый эффект.
Можно доказать также и обратное утверждение к теореме 2.
Теорема 3. Все смежные классы любого (л, &) двоичного циклического кода не поддаются синхронизации во всех позициях г, где п — к^.г ^Ск.
Доказательство. По определению ^? содержит строки, характеризующие все линейно зависимые строки G. Легко показать, что если первая единица в строке из <3-8 встречается в /-й позиции, то последняя единица не может появиться до (/ + &)-й позиции. Это следует из того факта, что все строки % в 36 являются линейными комбинациями строк матрицы Н из (16). Действительно, предположим, что /-я строка матрицы Н является первой, входящей в такую линейную комбинацию. Тогда, очевидно, /-я координата h равна единице. Аналогично если последняя строка матрицы Я, которая входит в линейную комбинацию, имеет номер (/+v), то (/+^+&)-я координата % также равна единице. Так как очевидно, что v>0, то утверждение имеет место. Но тогда по теореме 1, если код поддается синхронизации в позиции т, то матрица е%? должна содержать векторы Я, № и К<2\ Разделение между первой и последней ненулевыми компонентами в № и № нс может превосходить пг—1 и п — m—1 соответственно, тогда как разделение между первой и последней ненулевыми компонентами _во всех векторах ^должно быть нс меньше, чем к. Так как h^ и №
не могут быть оба тождественно равны нулю (иначе h было бы тождественно равно нулю), теорема 1 не может иметь места, если и пг— 1, и n-r-m— 1 меньше к. Это доказывает теорему.
В действительности теорема может быть доказана для более широкого класса кодов, а именно для любого группового кода, у которого первые к координат линейно независимы. Доказательство этого утверждения следует из замечания, что никакое множество из первых п — m^k строк G и, следовательно, М не может быть линейно зависимым, так как первые к строк G независимы. Но, кроме того, никакие из последних m^k строк М нс могут быть включены в линейно зависимую комбинацию, так как строки Gy лйнейно независимы. Следовательно, р(М) = = п и условия теоремы 1 нс выполняются.
Следствие 1. Если к<Дп—1)/2, то (л, k) циклический код может быть сделан кодом без запятой. Если к>^п — 1)/2, то никакой смежный класс никакого (п, к^ циклического кода не является кодом без запятой.
Доказательство. Это следует из факта, что, если Гтах ^ (л— 1)/2, где гтах есть максимальное значение г в теореме 2, все возможные позиции поддаются синхронизации. Но
^шах — ft к \ ^-2
имеет место лишь при
(22)
Из теоремы 2 следует, что если к>^п—1)/2, все значения г>п — к—1 не поддаются синхронизации независимо от выбора смежного класса. .
Интересно сравнить этот результат с верхней оценкой числа кодовых слов, если требуется только отсутствие запятой. Эта оценка [4] устанавливает, что *)
(23)(23)к < п — log2 п,
(23)
(23)
и, как можно ожидать, она гораздо выше полученной здесь оценки при больших значениях п. (Заметим, что (3,1) код достигает этой оценки, но что \п — log2n]> (я—1)/2 для всех n>3.) С другой стороны, коды, исследуемые здесь, могут исправлять е=п19 ошибок при больших п [4].
Ч В [4] доказана в действительности немного более низкая верхняя оценка, но данное приближение для нас достаточно.
IV. Несуществование кодов Хэмминга без запятой
Возникает вопрос, обладают ли нециклические групповые коды, исправляющие ошибки, смежными классами без запятой и, в частности, существуют ли такие смежные классы при &>(п—1)/2. Интуитивно можно предположить, что тот факт, что нулевое пространство группового кода без запятой должно удовлетворять условиям теоремы 1, даст преимущество цик* лическим кодам перед нециклическими, когда речь идет об отсутствии запятой. Представляется сложным доказать общее утверждение относительно свойства отсутствия запятой у смежных классов нециклических кодов, хотя иногда легко исследовать некоторые специальные коды, используя метод, изложенный выше.
Рассмотрим, например, смежный класс группы, полученной некоторой произвольной перестановкой координат в коде Хэм-
минга, исправляющем одну ошибку. Эти коды свойством, что
обладают тем
Можно показать, что каждый групповой код, одну ошибку и удовлетворяющий соотношению
(24) исправляющий (24), является
некоторой перестановкой кода Хэмминга. Поэтому все такие коды и их смежные классы мы будем называть здесь кодами Хэмминга.
Сразу проверяется, что к>^п—1)/2 для всех кодов Хэмминга, за исключением (3,1) кода. [То, что (3,1) код Хэмминга без запятой существует, видно из исследования любого из ко- 001100 ,'
довых словарей:или ^ .] Для доказательства того, что
никакой код Хэмминга не есть код без запятой при й>1, снова достаточно показать, что р(М^=п для некоторой позиции т, в которой код нс поддастся синхронизации. Легко показать, что каждая строка матрицы нулевого пространства ^? содержит в точности (п+1)/2 единиц. Рассмотрим матрицу М, где т = = (п—1)/2. Так как в точности (п+1)/2 строк в G должны быть включены в любую проверку четности и так как Gi в данном случае содержит только (п—1)/2 строк, то никакое подмножество нижних (п— 1)/2 строк М не является линейно зависимым. Единственная оставшаяся возможность состоит в том,
что верхние (п+1)/2 строк М медленно следует условие, что (л + 1)/2_
2 £1 = 0.
линейно зависимы. Из этого не*
п
2 gi=о,
2 = (п + 1)/2
где снова gt представляет собой i-ю строку порождающей мат< рицы G. Это в свою очередь требует, чтобы
п
S gi=o,
/^(л + 1)/2
т. е., чтобы линейная комбинация п—1 строк из G была тождественно равна нулю. Это противоречит условию, что в точ^ ности (п+1)/2 строк должны входить в любую такую комбинацию, если только не выполнено равенство п—1 = (п +1)/2, т. е. если п¥=3. Следовательно, (3,1) код есть единственный двоичный код Хэмминга без запятой. Подобным же образом можно установить, что если ослабить условие отсутствия запятой и потребовать только, чтобы любая ошибка в синхронизации могла быть определена в нс более чем s словах (отсутствие запятой влечет, что $ = 2), то даже этому условию не может удовлетворять никакой код Хэмминга (кроме (3,1)) для любого конечного s.
V. Заключение
Изложен метод для определения того, может ли быть какой-нибудь смежный класс заданного группового кода сделан поддающимся синхронизации в некоторой позиции т. Кроме того, предложен простой метод переделки л'юбого циклического группового кода в код, поддающийся синхронизации во всех позициях в пределах расстояния т^п— к—1 от правильной позиции. Как следствие имеем, что если к^. (п— 1)/2, то любой (п, kj циклический код может быть сделан при помощи этого метода т^одом без запятой.
Значение кодов без запятой, исправляющих ошибки, состоит в том, что они могут быть использованы в каналах с шумом без необходимости добавления дополнительной избыточности для получения синхронизации слов. Следует признать, что из-за наличия аддитивных ошибок не всегда оказывается возможным различить немедленно синхронные и асинхронные позиции. Однако, исследуя некоторые полученные слова, мы видим, что благодаря отсутствию запятой среднее число ошибок в одной позиции оказывается меньше, чем среднее число ошибок во всех других позициях, что позволяет с возрастающей надежностью устанавливать правильную синхронизацию. Для каналов с сильным шумом это различие может стать менее заметным. Для этих каналов, однако, желательно использовать коды с большей избыточностью, т. е. коды, для которых отношение к)п мало. В этом случае возможно наложить более сильное
условие, чем условие отсутствия запятой. Можно найти коды, для которых каждое перекрытие отличается от любого истинного кодового слова по крайней мере в d позициях [7], в результате чего синхронная и асинхронная операции легко различимы даже в каналах с шумом. Наконец, если к>^п—1)/2, то метод, изложенный здесь, нс позволяет устанавливать синхронизацию во всех ошибочных позициях, по крайней мере если используются циклические коды. Однако даже здесь первые п—к— 1 позиций с обеих сторон от правильной позиции защищены и вставка или выпадение ,п — к — 1 символов могут быть обнаружены.
ЛИТЕРАТУРА
Barker R. Н., Group synchronization of binary digital systems, in Communications theory, (T) W. Jackson, ed. London, 1953, 273—287.
G i 1 b e r t E. N., Synchronization of binary messages, IRE Trans. Information Theory, IT-6 (1960), 470—477. (Русский перевод: Гилберт Э. Н., Синхронизация двоичных сообщений, Кибернетический сборник, вып. 5, ИЛ, М., 1'962.)
Sellers F. F., Jr., Bit loss and gain correction code, IRE Trans. Information Theory, IT-8 (1962), 35—38. *
G о 1 о m b S. W., Gordon B., Welch L. R., Comma-free codes, Canadian J. Math., 10 (1958), 202—209. (Русский перевод: Голомб С. У., Гордон Б. и В е л ч Л. Р., Коды без запятой, Кибернетический сборник, вып. 5, ИЛ, М., 1962.)
Kendall W. В., Reed I. S., Path invariant comma-free codes, IRE Trans. Information Theory, IT-8 (1962), 350—355.
Peterson W. W.. Error-correcting codes, The M. I. T. Press, Cambridge, Mass., and John Wiley and Sons, Inc., New York, 1961. (Русский перевод: Питерсон У., Коды, исправляющие ошибки, «Мир», М., 1964.)
Stiffler J. J., Synchronization of telemetry codes, IRE Trans, on Space Electronics and Telemetry, SET-8 (1962), 112—117.,*
Минимальное число замыкающихконтактов, достаточное для реализации■ одной симметрической булевойфункции п переменных^
Жорж Апсель
Введение
Рассмотрим симметрическую булеву функцию п переменных
' Fn^ х2’ ■К)
Лупанов [1] показал, что для минимального числа Ап замыкающих контактов, достаточного для построения двухполюсной схемы [состоящей только из замыкающих контактов]2), реализующей эту функцию, справедливы неравенства
1 тгй;— < А < С2га In п,
_1 In In п п 2
Ci и С2 суть константы. Цель настоящей работы — получение следующих более точных неравенств [см. п. 1, 2, 3 дополнений]:X•
п log2 п < Ап < п (1 +log2 п. (*)
Этот результат показывает, что Лп — бесконечно большая величина порядка п log2 п.-
Доказательство неравенства А^>п log2#
Приведение схем. Можно показать, что каждая схема, реализующая функцию fn, может быть преобразована без увеличения числа контактов в ней в схему, удовлетворяющую двум следующим условиям:
каждая вершина, отличная от полюсов (/ и Т), связана по крайней мерс одним контактом с полюсом / и с полюсом Т;
когда контакт некоторой переменной х< связывает полюс (/ или Г) с какой-то другой вершиной, никакой другой контакт
Hansel G., Nombre minimal de contacts de fermeture necessaires pour r£aliser une fonction booleenne symStfique de n variables, C. R. Acad. Sci. Paris, 258, № 25 (1964), 6037—6040..
В квадратных скобках в данной ц последующих двух статьях помещены примечания редактора перевода. — Прим. ped.
той же самой переменной Хг не связывает этой вершины с третьей [см. п. 4 дополнений].
Впоследствии мы можем ограничиться только изучением схем, удовлетворяющих этим двум свойствам [такие схемы будем называть приведенными]. На рис. 1 приведены два примера реализации Г3) им удовлетворяющей.
Определения. Пучок есть множество контактов, связы* вающих полюсы I и Т с промежуточной вершиной схемы.
Верхний (соответственно нижний) полупучок есть множество контактов пучка, связывающих входной полюс / (соответственно выходной полюс Т) с промежуточной вершиной пучка. Рассмотрим схему, содержащую р пучков ^, К2, • ••, КР; пучок Кг СОСТОИТ ИЗ Двух ПОЛупуЧКОВ Аг И Bt*
Мы назовем полным множеством полупучков множество X=^Xi, Х2, ..., Хр}, где Хг есть либо А{, либа Вг.
Сечение есть множество контактов, удаление которых делает схему несвязной.
Главное сечение есть сечение, состоящее из полного множества полупучков и некоторых контактов, связывающих их про* межуточные вершины.
Имеет место следующий результат:
Лемма 1. Для получения главного сечения, исходя из полного множества полупучков, достаточно (и необходимо) дополнить это множество всеми промежуточными контактами, связывающими вершины at верхних полупучков с вершинами bj нижних полупучков.
Назовем так полученные сечения минимальными главными сечениями.
Схема из р пучков содержит ровно У полных множеств полупучков и 2Р различных главных минимальных сечений Обозначим через
р число пучков схемы;
pt число пучков, не содержащих контактов переменной х<;
Qi число контактов переменной х^ связывающих промежуточные вершины.
Тогда можно доказать следующую лемму:
Лемма 2. В приведенной схеме, реализующей Fu> существует 2pi"at минимальных главных сечений, не содержащих п переменной х^ и, таким образом, по меньшей мере ^2prai различных минимальных главных сечений [см. п. 5 дополнений].•
Теорема 1. Ап ^ п log2 п.
Сохраняя те же самые определения чисел р, р^ а^ получаем, что число Ап контактов схемы равно [см. п.- 6 дополнений]
пп
Ап = пр—^1р1ЦГ^1а1. 1-1, /-1.
Схема содержит (в силу леммы 2) по меньшей мере п
^2Prai различных минимальных главных сечений и, следовательно, (п\/ п\п
22^"“< и Ап>п\о^ 5 2prai 1^-2 ^—а^. i-l/V-l/Z-l
Числа 2Pi-a‘ положительны, поэтому n1/п
1 ^ 2Р^ > [22<ргй/)] , откуда А^пЛо^п. Z-1
Доказательство неравенства
t~ 10g2 g + 10g2 IOg2 g\l^ „
10g2«}1Оё2«-
Лемма 3. Для всякого k, заключенного между 0 и п, числа Ап, Аь, An-h удовлетворяют неравенству
Ап ^ и + Ак 4- Ап_к.
Доказательство. Мы можем построить схему функции Fn(xi, х2, ..., хп) следующим образом (рис. 2).
В первом пучке мы противопоставим переменным хь х2, • •• ..., xk переменные х^, х№ ..., хи. Затем мы образуем между полюсами I и Т схемы для функций Рн^х^ х2, ..., Хк) и4 ^п-к(хк-^г xk^ - хп\ Таким образом, каждая переменная Xt противопоставлена по крайней мере один раз каждой переменной Xt V^Hl и схема реализует Рп(хХ) х2, ..., х^.
I
7
Рис. 2.
Лемма 4. Для м, удовлетворяющего неравенству 2х ^ ^ п ^ 2Л+1, имеет место неравенство
Ап^п(К + 2) — 2^.
Эта лемма выводится из предыдущей индукцией по п, если заметить, что при заданном п может быть найдено к, такое, что
2х-х<к<2х и 2х-1— к<2х
[см. п. 7 дополнений].
Теорема 2..
Рассмотрим функцию,
ТК (х) = х (К+2) — 2X+1 — х log2 X — X (1 — log2 е + log2 log2 е).
Для ^ = 2Л или x=2x+1 Тк(х)<0.
Максимум Тх(х) при х в пределах от 2х до 2Х+1 равен нулю. Следовательно, если 2х ^х^2х+1, то
х(Х + 2) — 2х+!<х(14х(Х + 2) — 2х+!<х(141—tog^+lo&log^^ .log2 X ) 621—tog^+lo&log^^ .log2 X ) 62
х(Х + 2) — 2х+!<х(14
х(Х + 2) — 2х+!<х(14
1—tog^+lo&log^^ .
log2 X ) 62
1—tog^+lo&log^^ .
log2 X ) 62
В силу леммы 4 теорема выводится из этого неравенства.
Дополнения редактора перевода
Верхняя оценка указанного автором вида фактически была установлена ранее В. К. Коробковым [2]. Р. Е. Кричевским было показано [3], что Ап ^ -^ п log2 п, и тем самым установлен порядок роста функции Ап.
Оценки, найденные автором, дают асимптотику функции Ап A^nAog^n.
Нижняя оценка в (*) достигается для последовательности п = 2т, т. е. А2т = пг2гп (см. ниже), т. с. известная схема для функции Fn при п = 2т является минимальной.
Впоследствии независимо и почти одновременно автором этой работы и Р. Е. Кричевским было показано" [4, 5], что верхняя оценка, приведенная в лемме 4 этой работы, является точной.
Если некоторая вершина а соединена контактом х^ с полюсом / и с другой вершиной 0, то «перебросим» конец а контакта (оф) в I (рис. 3). После конечного числа таких преобразований получится схема, обладающая свойством 2 относи^ тельно полюса /.
Если некоторая вершина не соединена контактом с /, отождествим ее с Г. В результате таких преобразований (и отбрасывания лишних контактов, если такие появятся) получится схема, реализующая F и обладающая свойством 1.
Наконец, к полученной схеме применим преобразования первого типа, но относительно полюса Т.
Разобьем пучки, не содержащие контактов переменной Хь на подмножества, отнеся в одно подмножество пучки, внутренние вершины которых можно соединить цепочкой из промежуточных контактов переменной Хг. Число этих подмножеств равно pt — at (если <2г = 0, то каждое подмножество состоит из одного пучка; добавление одного промежуточного контакта переменной Хг уменьшает число подмножеств на единицу — объединяет два подмножества в одно). При образовании рассматриваемых сечений в каждом подмножестве (независимо) можно включать в сечение (все) верхние или нижние полупучки.
В минимальной схеме число контактов переменной Xi в пучках равно числу пучков, содержащих контакты переменной Хг, т. е. равно Р — рг. '
При Х=1 (2-<п^4) неравенства леммы очевидны: Аа ^ 2, Аз5, А4-^8.
ЛИТЕРАТУРА
Лупанов О. Б., О сравнении сложности реализации монотонных функций контактными схемами, содержащими лишь замыкающие контакты, и произвольными контактными схемами, ДАН СССР, 144, № 6 (1962), 1245—1248.
ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА
Коробков В. К., Реализация симметрических функций в классе П-схем, ДАН СССР, 109, № 2 (1966).
Кричевский Р. Е., О сложности параллельно-последовательных контактных схем, реализующих одну последовательность булевых функций, сб. Проблемы кибернетики, вып. 12, Физматгиз, М., 1964.
Hansel G., Nombre des lettres n6cessaires pour ecrire une fonction syme- trique de n variable, C. R. Acad. Sci. Paris, 261, № 21 (1965), 1297—1300.
Кричевский P. E., Минимальная схема из замыкающих контактов для одной булевой функции от п аргументов, сб. Дискретный анализ, вып. 5, Новосибирск, 1965.
О числе монотонных булевых функцийп переменных^
Жорж Ансель
Задача определения числа -ф(п) элементов дистрибутивной свободной структуры с п образующими (равного числу монотонных) булевых функций п переменных) была поставлена Дедекиндом в 1897 г. [1]. Она была решена этим автором для м = 4.
Р. Черч решил ее в 1940 г. [2] для п = 5.
М. Уорд сделал то же самое для п=6 в 1946 г. [3].
В 1954 г. [4] Э. Н. Гилберт показал, что ф(п) удовлетворяет неравенствам
С I 2 ]с l 2 J
2 п <W^<n п +2,где \п!2\ — наибольшее целое число, меньшее или равное п/2.
В серии публикаций В. К. Коробкова с 1962 по 1965 г. полу-- чены результаты [5]
Ш[-1
2 п <ф(я)<2 п п) (ел->0 при п->оо);
2 J2 J
2 я <t|)(«X2 я .
Тот же автор показал, что минимальное число ср(п) операций наилучшего алгоритма распознавания одной произвольной монотонной булевой функции удовлетворяет неравенствам )
ГЛ_1 [—1+1
d2j + CpJ <v(n)<SCPJ(l+e„),
*) Hansel G., Sur le nombre des fonctions booleennes monotones de n variables, C. R. Acad. Sci. Paris, 262, № 20 (1966), 1088—1090.
гдегде0^30^3[Р И С. 1.][Р И С. 1.]
где
где
0^3
0^3
[Р И С. 1.]
[Р И С. 1.]
В = —,ст =: 4,26.
(fie-1)”
Цель настоящей работы — установить следующие результаты:
2 " <W)<3 " ;
[-] И
^^^Сп -VCn
Лемма. Единичный п-мерный куб Вп, наделенный обычным отношением порядка (ср. [4] или’[5]), может быть покрыт множеством из С^1} попарно непересекающихся цепей), обладающих следующими свойствами:
число цепей длины п — 2р+1 равно Срп— С^г(0^р^ <С Хп^) [минимальный элемент каждой такой цепи есть набор с р единицами и п— р нулями, максимальный — с р нулями и п— р единицами];
если заданы три элемента ai < аг < аз, образующие цепь и принадлежащие одной и той же цепи длины п— 2р + 1, то относительное дополнение а2 на интервале [ai, а3]) принадлежит цепи длины п— 2р— 1.
Доказательство. Доказательство проводится по индукции. Для п = \, 2 лемма верна.
Куб Вп делится на два подмножества BVi и В^-х [минимальное и максимальное], изоморфные кубу Ви_х и полученные соответственно присоединением 0 или 1 слева к координатам куба В п_х. В предположении, что лемма верна для куба Вп_х, мы покроем Вп множеством цепей [определяемых следующим образом]:
Г Пусть Вхп_х и В^-х покрыты каждое множеством Сд-Т1'^1 цепей, обладающих свойствами, указанными в формулировке леммы [вторая часть свойства а) — без учета добавления раз-* ряда]. Пусть Ci — одна из цепей Bxn-xi и пусть ух—ее наибольший элемент. "
2° Мы продолжим Сь добавив к ней наибольший элемент у2 цепи С2, изоморфной Ci в S^_i [см. рис. 2]. .
3° Отнимем у С2 ее наибольший элемент у2. [После осуществления преобразований 2° и 3° для новых цепей будет выполнена вторая часть свойства а).]
[Рис. 2.]
4° Произведем те же самые операции со всеми цепями из BVl .■
Тогда цепи, покрывающие Вп, не будут пересекаться и число цепей длины ц — 2р+1 будет равно
(c'_i - срп--^+(с^1 - срп-_^ = ср- ср~г.
Свойство Ь) леммы является непосредственным следствием вышеприведенной конструкции [см. дополнение редактора перевода].
Теорема 1. Минимальное число операций ср(п) наилучшего алгоритма распознавания произвольной монотонной булевой функции Цхь х2, ..., хп) есть
[Л] Г—1+1
Доказательство. Из [5] мы уже знаем, что-
v(ro)>cM+chh
С другой стороны, свойство Ь) вышеупомянутой леммы и монотонный характер функции f(xb х2, ..., х^ позволяют сделать следующий вывод: если значение f(xb х^ ..., хп) известно во всех вершинах цепей длины п— 2р—1, то в каждой цепи длины п— 2р + 1 существуют самое большее две (соседние) вершины, где значения f(xb х^ ..., х^ остаются неопределенными. В результате получаем, что ^
<р(п)<с1] + сЬ1+1
Теорема 2. Число ф(п) монотонных булевых функций п переменных удовлетворяет неравенствам 2)
Доказательство. Нижняя оценка ^п) уже доказана в [4].
Пусть cci и о2 (cti<a2) —две соседние вершины, оставшиеся неопределенными в цепи из Вп. Функция f(xb х2, ..., хп) может принимать в этих вершинах лишь следующие наборы значений: (0, 0) или (0, 1), или (1, 1). В результате получаем, что ф (л) < 3е Л .
Следствие. Число функциональных элементов (конъюнкций, дизъюнкций, отрицаний), достаточное для реализации произвольной монотонной булевой функции [п переменных}, оценивается сверху величиной
— ^372*[1-4~е(/г)], е(/г) —0 при п->оо.
Это следствие получается применением метода локального кодирования, описанного в [5]) (для теоремы 4а), с использованием приведенной выше верхней оценки.
*) ф(лХ (число цепей длины 1)+2(число цепей длины > 2).— Прим, ред.
Дополнение редактора перевода
Цепи в Вп — двух сортов: «удлиненные», возникшие из цепей в 5^-ь и «укороченные», возникшие из цепей в В^.у Рассмотрим несколько случаев для трех последовательных элементов ai<a2<a3, лежащих на построенной цепи С в Вп (длины п — 2р +1).
С — удлиненная цепь, и сс3 не есть ее максимальный элемент. В этом случае аь а2, а3 лежат на некоторой «старой» цепи в 5^-1 (длины п— 2р). Относительное дополнение элемента а2 находится на некоторой цепи С' (длины п — 2р — 2) в 5л-ь которая будет продолжена при переходе к Вп до цепи длины п — 2р — 1.•
С — удлиненная цепь, и а3—ее максимальный элемент. Пусть С = Ci (рис. 2) возникла в результате удлинения цепи Q из Вхп_д\ С2 — цепь в 5^-1» изоморфная Сь С2—укороченная цепь, возникшая из С2 (с2 имеет длину п— 2р—1). Тогда относительное дополнение элемента а2 есть максимальный элемент цепи С2.
III. С — укороченная цепь. Пусть С = С2 возникла из цепи С2 (длины п— 2р + 2) в В^-д. Тогда, во-первых, а3—не максимальный элемент цепи С2 и, во-вторых, в силу второй части свойства а) максимальный элемент а цепи С2 имеет р—1 нулей. В силу свойства Ь) относительное дополнение р элемента а2 принадлежит некоторой цепи С длины п— 2р в В2п_г\ максимальный элемент этой цепи имеет р нулей. Так как Р<а3<а, то р имеет не менее р+1 нулей и поэтому не является максимальным элементом цепи С. Следовательно, р принадлежит укороченной цепи длины п— 2р—1, получающейся из С.
ЛИТЕРАТУРА
Dedekind R., Ueber Zerlegungen von Zahlen durch ihre grossten ge- meinsamen Teiler, Festschrift Hoch. Braunschweig, 1897 u. ges. Werke, II, 103—148.
Church R., Numerical analysis of certain free distributive structure, Duke Math. L, 6 (1940), 732—734.
Ward M., Abstract 52-5-135, Bulk Amer. Math. Soc., 1946.
Gilbert E. N., Lattice theoretic properties of frontal switching functions, J. Math. Phys., 33, № 1 (1954), 57—67. (Русский перерод: Гилберт Э. Н., Теоретико-структурные свойства замыкающих переключательных функций, Кибернетический сборник, вып. 1, ИЛ, М., 1960.)
Коробков В. К., О монотонных функциях алгебры логики, сб. Проблемы кибернетики, вып. 13, изд-во «Наука», М., 1965.
. Лупанов О. Б., Об одном подходе к синтезу управляющих систем — принципе локального кодирования, сб. Проблемы кибернетики, вып. 14, изд-во «Наука», М., 1965, 31—110.
Построение двухполюсной контактнойсхемы для произвольной монотоннойбулевой функции п переменных^
Жорж Апсель
Введение. Обозначим через:
S'п (соответственно 5п^ множество булевых функций (соответственно монотонных булевых функций) п переменных;
Л(п) (соответственно Li^n^ минимальное число контактов, достаточное для реализации двухполюсной схемой произвольной функции из S'п (соответственно c?n));
^(п) (соответственно /h(n)) число функций из S' п (соответственно из ^п), каждую из которых можно реализовать /i контактами.
Шеннон [1] показал, что для всякого е>0 при А = —(1 —е)
ПтЯ-»ооПтЯ-»ооFhW1^1FhW1^1= 0.= 0.
Пт
Я-»оо
Пт
Я-»оо
FhW
1^1
FhW
1^1
= 0.
= 0.
Используя тот же метод и результаты Э. Н.^илберта [2], /2~ 2”
— —(1 — е)
ПтП->СОПтП->СО\^nl\^nl0.0.
Пт
П->СО
Пт
П->СО
\^nl
\^nl
0.
0.
С другой стороны, Лупанов [3] показал, что
ОДОД
ОД
ОД
Цель настоящей работы — доказательство неравенства)
Lj (zz) <Lj (zz) <2"+i log2n П У Jin2"+i log2n П У Jin
Lj (zz) <
Lj (zz) <
2"+i log2n П У Jin
2"+i log2n П У Jin
*) Hansel G., Construction d’un schema de contacts bipolafre pour une fonction booleenne isotone arbitraire de n variable, C. R. Acad. Set. Paris, 263, № 19 (1966), 651—654.
Обозначения. Пусть Вп— единичный n-мерный куб, наделенный обычным отношением порядка.
Полагая Х=(хь ..., хп), мы обозначим через KaW характеристическую функцию множества АаВп. Пусть £(Л) ^^п. Обозначим через g+(X^ функцию, определенную следующим образом:
1, если существует а<.Х с g(a) = l,
О в противном случае.
Наконец, мы обозначим через [х] целую часть х.
Разложение монотонной булевой функции. Пусть ЦХ) = =ЦХ1Э х2, ..., хп)—монотонная булева функция.
. Разобьем переменные из X на два множества
Xx = ^xv xh^ и Х2 = (х6+1, .... х„\
'[-1
Мы показали [4], что Вк может быть разбит на С^ J цепей; пусть это Jv J^ ..., Jm> ..., J
Мы разобьем цепи на q подмножеств вида ^
st
^=U7»z-i+z О^^» о0 = Оу 1-1
таких, что для всех / пусть справедливы неравенства
s — функция п, которая будет уточнена позднее.
Простые алгебраические вычисления тогда показывают, что2)
[т]/ 2й \
—log, <*+2>(2)
2s^ + 2 *2s^ + 2 **) Цепи рассматриваются как множества элементов. — Прим. ред.
2s
^ + 2 *
2s
^ + 2 *
Множества Lt представляют собой разбиение куба Bh.
Лупанов [3] показал, что если г есть целая степень двойки, то множество Вт может быть разделено на ^Ir сфер ф>Х 1 <С </427г.
Предположим, что г<.п— к, и положим Cj = $jXB ~r.
Множества (Су), l^/<C2r/G представляют собой разбиение Bn~h.
Пусть faW—булева функция, совпадающая с /(Х) на ЦхСз и равная нулю вне L^XC^
Расположим элементы Ц в определенном порядке; пусть ^i = ^av а2»°т’•’ #|L |]. Обозначим через f^Q^ от0"
бражение Су в B\L^ > определенное как
t = f lj (Р) = У ij (^Р Р)» fiji^ Р)> fij^m* Р)»f ij (^| |»Р)}*
Отображение 1*Д$ индуцирует разбиение Су. Обозначим через Су множество элементов Су, образ которых при отображении ft j есть L-
имеемГ & 1
q stMJгР-сР-^
ПП(|4, |W|+i)- n‘ ■
Поэтому^
Ы
' s-log2(^ + 2)"T" 1
HoJ
TH-
I П(«-2, + 2)С‘-С* 1< *(l-2, + 2)(C£-C£-1)
X p=0/2 J p=0
И
Из трех последних соотношений получаем (2). — Прим, ред4
Кроме того, всякий раз /=(Л, 1^ ..., tm, ..., /^р.
Сопоставим каждому множеству Lt его подмножество Lp определенное так:
Мы можем тогда сформулировать
Предложение 1. Всякая монотонная булева функция /(Л) имеет разложение вида
2Г
Q т
f W = 2 22 K*t №) Kct №).
z=iy=1 ^AjH 15'
Пусть S— контактная схема типа (/, m), т. е. имеющая I входных полюсов /1, 1^ ..., h^m выходных полюсов Р\, Р2, ... ..., Рт. Обозначим через fab функцию, реализованную между полюсами а и Ь. Мы говорим, что S разделительная, если для всякйх /, k, г, s (r=£=s) справедливы соотношения
fI ,Р > f 1^ f PrPs И fp I >fp Л f M •JOJ tv ! ОJ ОJ tv t О w
Тогда имеет место
Предложение 2. Пусть даны две разделительные контактные схемы: Si типа (1,т), имеющая один входной полюс I и т выходных полюсов РХ) Р2, ..., Рт, и S2 типа (m, 1), имеющая входные полюсы Л, /2, ..., /т и выходной полюс Р. Если соединить выходные полюсы Si с соответствующими входными полюсами S2, то реализуемая функция такова:
тf = ^f}pilp
■ ^аь — функция, реализованная между а и b в Si.)
Предложение 3. Двухполюсная схема функции
Фи<^= 2 ^w^w
может быть реализована посредством r2--\-<2n-h-r^x+г2п-к-ТЛ- A-2sks контактов, где г — целая степень двойки и г^.п — к.
Доказательство. Лупанов [3] показал, что разделительная схема типа (1, [ Г*у(^у)])> реализующая все функции Kct^X^ t^q^^y может быть построена из г24-2"-*-г+1 4- _|_2”-6-rr контактов.
Положим Ц t = LltV\JOi +(, и пусть m^jZ — наименьший элемент L\,i. Имеем.
1 и, следовательно, ^№1=2/:;/^).(3)
Из неравенства (1) легко вывести Si ^s (l^t^p) и f*q (Су) | <; 2s, так как fn(X) монотонна на LiXCj.
Используя (3), можно, следовательно, построить разделительную схему типа (|П/(С;)|’ 1)> реализующую множество функций К^Х^, t^fij^C^ посредством ^ks контактов. Применяя предложение 2, получаем искомый результат.
Теорема.
LM<LM<2”+Ио§2п nV ип2”+Ио§2п nV ип
LM<
LM<
2”+Ио§2п nV ип
2”+Ио§2п nV ип
Доказательство. Используя предложения 1 и 3, так же как и неравенство (2), можно построить для произвольной монотонной функции f(X) € 9п схему, число S^ контактов которой удовлетворяет неравенству
ЭД<ЭД<г _ s —log2(<!+2)г _ s —log2(<!+2)(Г2_^2л_й_г+1-|-(Г2_^2л_й_г+1-|-
ЭД<
ЭД<
г _ s —log2(<!+2)
г _ s —log2(<!+2)
(Г2_^2л_й_г+1-|-
(Г2_^2л_й_г+1-|-
+r2""ft-r+2^s).
Положим
5 = [у — У^\^ = [-5-~ 3 log2 га j.
Тогда легко получим основной результат.
ЛИТЕРАТУРА
LShannon С. Е., The synthesis of two-terminal switching circuits, BSTJ, 28, № 1 (1949), 59—*98. (Русский перевод: Шеннон К., Работы по теории информации и кибернетике, ИЛ, М., 1963.)'
Gilbert Е. N., Lattice theoretic properties of frontal switching functions, J. Math. Phys., 3 3, № 1 (1954), 57—67. (Русский перевод: Гилберт Э. Н., Теоретико-структурные свойства замыкающих переключательных функций, Кибернетический сборник, вып. 1, ИЛ, М., 1960.)
Л у п а н о в О. Б., О синтезе некоторых классов управляющих систем, сб. Проблемы кибернетики, вып. 10, Физматгиз, М., 1963.
Hansel G., Sur le nombre des fonctions booleennes monotones de n variables, C. R. Acad. Set. Paris, 262, serie A (1966), 1088. (Русский перевод: см. настоящий сборник, стр. 55—59).
Многоленточные и бесконечныеавтоматы. Обзор !)
Патрик Фишер
Обзор посвящен машинам, более мощным, чем автоматы, но с меньшими возможностями, чем общие машины Тьюринга. По-видимому, машины этого типа также тесно связаны с такими цифровыми вычислительными устройствами, как конечные автоматы и неограниченные машины Тьюринга.
Промежуточные машины могут порождаться при добавлении бесконечной памяти к машине с конечным числом состояний, когда выполняется по крайней мерс одно из условий: 1) ограничивается способ поступления неограниченных порций памяти; 2) ограничивается число шагов для вычисления некоторой возрастающей рекурсивной функции от длины входа; 3) ограничивается общий объем памяти, доступный в этом смысле. Рассматриваются примеры из этих трех классов и обсуждаются их свойства.
Введение
В последние годы возрос интерес к абстрактным машинам с большей вычислительной способностью, чем конечные автоматы, но с меньшей потенциальной сложностью, чем машины Тьюринга. Хотя вычислительное устройство без вспомогательной ленты может рассматриваться как конечный автомат, а устройство с неограниченной вспомогательной лентой — как машина Тьюринга (см. Ван [65]), ни тот, ни другой подход не позволяют проникнуть в суть природы вычислений настолько глубоко, как этого хотелось бы.
Регулярные множества Клини [36], распознаваемые одноленточными автоматами с конечным числом состояний, составляют очень небольшой подкласс класса рекурсивных множеств. Последние могут быть распознаны машинами Тьюринга [64], но, вообще говоря, не могут быть распознаны машинами с меньшей вычислительной способностью. Между регулярными множе-
*) F i s с h е г Р. С., Multi-tape and infinite-state automata, A survey, Com- mun. ACM., 8, № 12 (1965), 799-805.
ствами и рекурсивными множествами лежит бесчисленная совокупность классов множеств неотрицательных целых чисел1). Такими классами являются детерминированные (pushdown) языки [26], контекстно-свободные языки [8], языки, зависящие от контекста [8], элементарные множества [28], примитивно-рекурсивные множества [35], доказуемо-рекурсивные множества [20] и многие другие.
Любой из вышеперечисленных классов может оказаться более тесно связанным с реальным вычислением, чем регулярные множества и рекурсивные множества. Таким образом, во многих случаях машины с промежуточной вычислительной способностью служат лучшей моделью для реальных вычислительных устройств, чем более изученные конечные автоматы и машины Тьюринга.
В этой статье делается попытка дать список невероятности ных промежуточных машин. Конечные автоматы и неограниченные машины Тьюринга обсуждаться не будут, но предполагается знакомство с [51] и первой частью [13]. Термины машина и автомат оба употребляются для обозначения полностью определенной дискретной системы, определяющей класс множеств, лежащей между регулярными и рекурсивными множествами. Термины акцептор (допускатель), генератор и преобразователь обозначают соответственно машины, которые не имеют иных выходов, кроме «допускаю» или «отвергаю», машины, нс имеющие входа, кроме единственного начального сигнала, и машины с входами и выходами.
Многоленточные автоматы с конечным числом состояний
Простейшим обобщением одноленточных машин с конечным числом состояний являются n-ленточные односторонние акцепторы, которые ввели Рабин и Скотт. Эти устройства распознают множества ^-наборов строчек, причем в ходе вычисления на каждом шаге одна из входных лент продвигается на один квадрат и машина переходит в новое состояние. Сдвигаемая лента зависит от текущего состояния машины, и n-набор допускается или отвергается в зависимости от того, приходит ли машина в заключительное состояние после прочтения всех символов со всех п.лент или нет. Допускаются специальные символы на концах лент.
*) Часто предпочитают иметь дело со строчками символов, а не с числами. Обычная процедура связывает с числом строчку, представляющую его n-значное выражение для некоторого п, взятого за основание (без потери общности можно считать, что n=2^
Детерминированный и недетерминированный варианты этих машин порождают для каждого п классы множеств ^-наборов, обозначаемые через Du и Nn соответственно. Для п>1 класс Dn замкнут относительно взятия дополнения, но Рабин и Скотт показали, что он не замкнут относительно объединения или пересечения [51]. Розенберг показал, что D^ не замкнут относительно обращения входных слов, сцепления слов (т. ё. умножения) и оператора замыкания (звездочки) Клини [54]!).
В отличие от случая п=1 для п>\ детерминированный n-ленточный автомат' существенно отличается от недетерминированного. Пример множества из М2— D^ данный Розенбергом, есть множество всех пар строк, в которых второй элемент пары равен некоторому отрезку конца первого элемента (т. е. вида (ху, у)). Элгот и Мезей установили, что Nn замкнут относительно объёдинения, сцепления, звездочки и обращения входов [15]. Поскольку Nn в действительности является наименьшим классом, содержащим все конечные множества ^-наборов и замкнутым относительно объединения, сцепления и звездочки, для Nn имеет место аналог теоремы Клини о регулярных событиях. Однако для п>\ класс Nn нс замкнут относительно дополнения и пересечения.
В дополнение к тому, что классы Dn и Nn замкнуты относительно меньшего числа операций, эти классы в некотором смысле более сложны, чем D^N^ (регулярные множества). Проблемы, разрешимые для D^ ""часто оказываются неразрешимыми для Dn (п>1). Одной из таких проблем является проблема пересечения: определить, непусто ли пересечение двух элементов класса множеств (см. Рабин и Скотт [51]). Проблема, разрешимая для D^ но открытая для Dn, состоит в определении того, допускают ли две данные машины в классе одинаковые множества ^-наборов строк. Класс D2 содержит в качестве собственного подкласса класс всех отношений, определимых посредством «обобщенных последовательностных машин» Гинзбурга [25]. - .
Гинзбург и Спеньер рассмотрели многоленточные преобразователи с конечным числом состояний как расширение обобщенных последовательностных машин [27]. Для машин с конечным числом состояний с двумя входными лентами и одной выходной они устанавливают, что если языки, допускаемые на двух лентах из трех, регулярны, то таков же и третий язык; если один регулярен, а другой контекстно-свободен, то и третий
!) Обращением строки СГ1О2... Оп-Щп является строка an(Jn-i • •. ^Щ, где Ог может быть любым символом входного алфавита. Обращение л-на- бора производится покомпонентно.
контекстно-свободен; но если два языка контекстно-свободны, то третий нс обязательно будет контекстно-свободным. Фишер и Розенберг дали обобщение этих результатов: для п-ленточ- ного акцептора, если п— 2 ленты ограничены регулярными языками, а одна контекстно-свободным, то язык на последней ленте будет контекстно-свободным и т. д. [24].
Элгот и Рутледж рассматривали детерминированные п-лен- точные автоматы с лентами, пустыми всюду, за исключением единственного символа на конце [17]. В отличие от общего случая Dn проблема пересечения для класса множеств, определенных этими машинами, разрешима. Это следует из существования эффективного отображения таких множеств в класс формул Пресбургера (теория сложения неотрицательных целых чисел первого порядка), для которых проблема выполнимости разрешима. Если допускается более чем одна головка на ленте, то получаются все отношения Пресбургера. Были также исследованы свойства машин, когда одна или более лент замкнуты в кольца, а не являются прямыми лентами. Проблема, допускает ли машина с двумя кольцевыми лентами (или с одной лентой и двумя головками) непустое множество, неразрешима. Для машин с одной кольцевой лентой (с одной головкой) и п прямыми лентами проблема пересечения остается открытой. Она разрешима, если разрешима десятая проблема Гильберта.
Машины с ограниченным доступом к памяти
Если обратиться к устройствам с бесконечным числом состояний, то станет ясно, что в общем случае они обладают вычислительными возможностями машины Тьюринга. Можно, однако, получить промежуточные классы, накладывая ограничения на доступ устройства к его памяти (т. е. на переходы состояний) и (или) путем запрещения вычислений, при которых данная мера сложности (например, число «шагов») превышает некоторую величину (обычно функцию входа). Первый из этих подходов обсуждается в этом разделе.
Известным примером ограничения доступа к памяти является память типа pushdown (магазинная память), в кот9рой лишь последний символ информации, помещенной в память, непосредственно доступен считывающей головке. Одноленточные машины Тьюринга, в которых лента применяется лишь как память pushdown, называются pushdown-store машинами (машинами с магазинной памятью). Такие машины представляют интерес для теории автоматов и математической лингвистики, так как Хомским обнаружена важная связь между двумя областями: язык является контекстно-свободным тогда и только тогда, когда он
распознаваем некоторым pushdown-store акцептором [9]. Таким образом, результаты лингвистики могут быть использованы для доказательства теорем о pushdown-store автоматах и обратно.
Другим примером ограничений доступа к памяти является счетчик (counter). Значение счетчика есть любое неотрицательное целое число, и на одном шаге работы машины значение счетчика может увеличиться на единицу, уменьшиться на единицу или выясняется, что значение счетчика равно 0 !). Счетчик можно также рассматривать как память pushdown с односимвольным алфавитом.
Эви [18] и Фишер [21] исследовали детерминированные и недетерминированные машины с одной или более pushdownstores и (или) счетчиками. Были исследованы отношения между акцепторами, генераторами и преобразователями и показано, что множество, допускаемое недетерминированным вариантом одной из рассматриваемых машин, могло бы также быть определено как выход детерминированного преобразователя того же типа, и обратно. Например, класс всех множеств, являющихся выходами детерминированных машин с одним счетчиком, класс всех множеств, являющихся выходами недетерминированных машин с одним счетчиком, и класс всех множеств, являющихся областью (входа) недетерминированной машины с одним счет^ чиком, совпадают с классом С', описываемым ниже.
Согласно результату Минского [44], машины с двумя счетчиками (а следовательно, машины с двумя pushdown-store) обладают возможностями машины Тьюринга. Таким образом, результат Эви и Фишера дает в точности четыре различных промежуточных класса, которые могут быть представлены как мно- жества, распознаваемые детерминированными и недетерминированными акцепторами с одним счетчиком (С и С') или как распознаваемые детерминированными или недетерминированными pushdown акцепторами (Р и Р'У Класс Р' это, конечно, класс контекстно-свободных языков и замкнут относительно объединения, сцепления и звездочки, но не дополнения и пересечения (см. Шейнберг [55] и Бар-Хилел, Перлес и Шамир [5]), а Р является интересным собственным подклассом Р' и замкнут относительно дополнения, но нс объединения или пересечения. Классы С и С' не представляют интереса с лингвистической точки зрения и не привлекли к себе большого внимания.
Ранние работы по pushdown-store машинам описаны Этингером [47]. Шютценберже [60] дает несколько усложненное алгебраическое определение детерминированных pushdown-store
машин и доказывает некоторые основные свойства, из которых тривиально следует замкнутость Р относительно дополнения. Недавно Гинзбург и Грейбах исследовали Р. За исключением [26], большая часть их результатов еще нс опубликована). Р и Р' и связанные с ними машины недавно были исследованы Хэйнсом [29]. Тот факт, что языки в Р всегда недвусмысленны (unambiguous), независимо установлен в [26] и [29].
Другие виды автоматов с ограниченным доступом к памяти обсуждаются в некоторых статьях Шютценберже. В [56] он рассматривает класс конечных преобразователей со способностями, большими, чем у обобщенных последовательностных машин, но меньшими, чем у недетерминированных конечных преобразователей с одним входом и одним выходом. Регулярность множеств при таких преобразованиях сохраняется.
В [57] вводятся акцепторы с бесконечнозначными счетчиками. В отличие от вышеописанных машин со счетчиками состояние части машины с конечной памятью) (контрольного органа) не зависит от содержания счетчиков (итак, машины с двумя или более счетчиками не обладают вычислительными возможностями машин Тьюринга). Для каждой комбинации состояния контрольного устройства и входного символа машина осуществляет преобразование в области ее счетчиков таким образом, что новое значение каждого счетчика могло бы быть вычислено конечной вычисляющей программой* (у машины есть временная память, достаточная для того, чтобы содержать промежуточные результаты) с применением лишь следующих операций: 1) сложение или вычитание двух целых чисел, 2) умножение целых чисел на ограниченную целую константу, 3) приведение целых чисел по модулю (ограниченной) целой константы. Машина допускает входную ленту, если n-набор, представляющий значение счетчика после переработки всего входа, не принадлежит данному подпространству в n-мерном векторном пространстве над целыми числами, где выбранное подпространство зависит от конечного состояния контрольного устройства машины.
Шютценберже показывает, что его машины могут быть определены в терминах конечных множеств целочисленных пХп матриц, где п зависит от машины. Машина является таким го< моморфным отображением моноида входов в кольцо матриц, что входное слово допускается тогда и только тогда, когда верхний правый вход в матрицу, связанную со словом, нс равен
нулю. Установив эквивалентность, Шютценберже показал алгебраическими методами, что класс, определенный целым семейством его машин, замкнут относительно объединения, пересечения, сцепления и звездочки, но не дополнения. Аналог теоремы Клини, однако, не получается, потому что неизвестен подходящий базис для индукции (для регулярных событий базисом является класс конечных множеств).
В [58] вышеуказанные машины ограничены требованием, чтобы отношение количества информации, заключенной в памяти машины, к длине входного слова стремилось к нулю с ростом длины входного слова. Получается менее обширный класс, который замкнут относительно объединения, пересечения и сцепления, но не дополнения и звездочки. Результаты в [59] и [10] и результаты Хомского связаны с проблемами разрешения некоторых типов автоматов с ограниченным доступом к памяти, включая pushdown-store машины и порождаемые языковые грамматики с подходящей алгебраической структурой. Центральным понятием в этом исследовании является понятие о формальных степенных рядах.
Машины Тьюринга, ограниченные во времени
Время вычисления у некоторых машин обязательно должно быть ограничено рекурсивной функцией длины входа; для конечных автоматов из [51] таковой является тождественная функция. С другой стороны, в общем случае для машин Тьюринга не имеется эффективной a priori границы для времени вычисления, иначе можно было бы разрешить проблему останова для машин Тьюринга.
Первым, кто рассмотрел ограниченные во времени вычисления на машине Тьюринга, был Ямада [66, 67]. Ямада особенно интересовался строго возрастающими функциями, определенными на неотрицательных целых числах со значениями из этой же области и вычислимыми в реальное время согласно его терминологии. Пусть характеристической последовательностью множества А неотрицательных целых чисел будет двоичная последовательность a=aoaia2, ..., такая, что сс^ = 1 тогда и только тогда, когда п^ А. Тогда монотонная функция вычислима в реальное время, если некоторая многоленточная машина Тьюринга может породить характеристическую последовательность области значений f, т. е. число ап может быть порождено за время п. Было доказано, что класс вычислимых в реальное время функций замкнут относительно сложения, умножения, суперпозиции, экспонирования и содержит все полиномы одного Переменного. Зигель доказал, что существуют непримитивно-ре-
курсивные функции, вычислимые в реальное время, и монотонно возрастающие примитивно-рекурсивные функции, не вычислимые в реальное время [62].
Хартманне и Стирнс изучали в более общей постановке ограничения на время работы машин Тьюринга [31]. Для любой монотонно возрастающей функции Т обозначим через ST £ласс всех бесконечных двоичных последовательностей a=a0aia2..., таких, что существует многоленточная машина Тьюринга, которая порождает an за время Т^ для всех п. Такой класс ST называется классом сложности. Легко показать, что для всякой монотонной рекурсивной функции Т класс сложности ST является рекурсивно-перечислимым множеством. Поскольку каждая вычислимая последовательность содержится в Su для некоторой рекурсивной функции U, отсюда немедленно следует, что существует бесконечно много классов сложности и что класс всех классов сложности не может быть эффективно перенумерован. В случае вычисления в реальное время класс Sn (т. с. 5Т, где Т^ = п) является минимальным.
Хартманне и Стирнс установили, что умножение временной функции на константу нс изменяет класса сложности, т. е. SCT = ST для всех монотонных функций Т и констант с. Классы сложности также не изменятся, если допустить более чем одну считывающую и записывающую головку на ленте. Если a €ST, то существует одноленточная машина Тьюринга, порождающая an за время (Т(п))2 для всех п. Тот же «закон квадрата» появляется при переходе от многомерных лент к линейным лентам.
Хенни и Стирнс доказали, что в частично упорядоченном множестве классов имеется плотное подмножество [34]. Они показали, что если a€ST и функция Т вычислима в реальное время, то существует двуленточная машина Тьюринга, которая порождает ап за время Т^п) log (Т(п)). Это позволяет, применяя диагональный метод, доказать, что если Т вычислима в реальное время и "
Нт г (л), log (Г (Л)) =0)
то Su содержит ST как собственный подкласс. Поскольку функции п и jn1+e] удовлетворяют условиям теоремы, из этого еле- дует существование подмножества классов с порядковым типом рациональных чисел.
Хенни также занимался проблемами распознавания с ограничением во времени. В [33] он полагает, что вход помещен на одной из рабочих лент машины Тьюринга (где он при желании может быть позднее записан). Для этой модели он
показывает, что упомянутый выше «закон квадрата» не может быть улучшен. Для одноленточной машины он также показывает, что если 2>р>9>1, то Snp содержит Snq как собственный подкласс. Хотя «offline» акцепторы Хенни внешне лишь немного отличаются от «online» варианта, в котором вход помещается на специальной односторонней ленте, не входящей в число рабочих лент машины, эти две модели обладают совершенно различными свойствами.
Работа Хартманиса, Хенни и Стирнса поднимает много ин^ тересных проблем. Верно ли, что при Иш = 0 ST + S^ Двоичное представление У 2 лежит в 5^. Является ли этот класс наименьшим? Можно ли получить соотношения, аналогичные тем, которые устанавливаются в [18] и [21] и охватьь вают генераторы, акцепторы и преобразователи, с одной стороны, и online и offline машины — с другой? В отличие от порождения для распознавания равенство St = Sct заменяется на 5т(п) = 5С(Т(п)-п)+п, поскольку считывание входных символов не может быть ускорено. Как относится специальный случай Т^п) =п к случаю Т(п^ ^ (1+е)п для 8>0?
Рабин дает ответ на вопрос, поставленный в обзоре Мак^ Нотона по теории автоматов в 1961 г. [42]: может ли двуленточная машина Тьюринга делать в реальное время больше, чем одноленточная? Для online акцептора он показывает, что две ленты лучше, чем одна, если потребовать, чтобы машина запоминала две последовательности и по требованию обращала одну из них без задержки [50]. Заслуживающий внимания ас-; пект этой проблемы состоит в том, что утверждение, которое сначала кажется совсем простым, требует весьма тщательного и сложного доказательства. Далее, никому еще не удалось доказать на такой же модели, что три ленты лучше, чем две.
Блюм развил абстрактный подход к вычислительной сложности [7]. Все, что он требует от меры сложности, состоит в том, что она должна быть определена всякий раз, когда определена частично-рекурсивная функция, с которой связана мера сложности1), и можно эффективно определить, когда данная граница сложности окажется превзойденной временем вычисления (которое может завершиться или не. завершиться). Примерами допустимых мер сложности является число шагов в вычислении на машине Тьюринга, число квадратов ленты, использованных при вычислении, максимальное число последова-
*) Предполагается, что мера сложности характеризует данный способ вычисления частично-рекурсивной функции, а для другого способа вычисления этой же функции мера сложности может быть иной. — Прим, перев.
тельных единиц, появившихся на ленте в процессе вычисления, и т. д.
Блюм доказывает, что для любой меры вычислительной сложности, удовлетворяющей вышеуказанным требованиям, и для всякой рекурсивной функции g^ существует рекурсивная характеристическая функция f(x), вычисление которой может быть «ускорено» («speed up») в следующем смысле. Для всякого способа вычисления f(x) существует другой способ вычисления f(x) так, что если F(x) обозначает меру сложности первого способа, a F'^x)—второго способа, то F(x) ^g(F'(x)) для всех, кроме конечного числа значений х. (С другой стороны, из работ [31] и [34] можно вывести, что существуют также функции с мерой сложности F^x^ вычисление которых не может быть «ускорено» посредством g(x)=x1+e.)
Машины Тьюринга с ограничениями длины ленты .
Хорошо известным примером машин с ограниченной лентой является линейно-ограниченный автомат Майхилла [46]. Линейно-ограниченный автомат является машиной Тьюринга, которая работает только с лентой, занятой входным словом. Поскольку алфавит машины может быть больше входного алфавита, это эквивалентно высказыванию, что обмен допустимой информационной памяти является линейной -функцией длины входа.
Курода показал, что контекстно-зависящие (контекстные) языки (типа 1) Хомского являются в точности теми множествами, которые могут быть распознаны недетерминированными линейно-ограниченными автоматами [39]. С другой стороны, множества, распознаваемые детерминированными линейно-ограниченными автоматами, образуют булеву алгебру [39, 40]. Вопрос о том, совпадают ли классы, определенные детерминированными и недетерминированными линейно-ограниченными автоматами, остается открытым. Если да, то класс контекстно-за- висящих языков, очевидно, замкнут относительно дополнения.
Р. В. Ричи занимается изучением иерархии функций, основанной на вычислениях с ограниченной лентой [53]. Он определяет F. как класс функций, вычислимых конечными автоматами. Для каждого i>0 Fi определяется как класс всех функций, которые могут быть вычислены на машине Тьюринга, когда объем используемой ленты ограничен некоторой функцией из Fi-i от длины входа1). Получается иерархия типа со, а
9 Натуральные числа кодируются при этом n-ичными словами, где п>1. — Прим, перев.
объединение всех Ft даст функции, элементарные по Кальмару. Классы Ft не замкнуты относительно композиции, но замкнуты относительно некоторых ограниченных операций. Если вместо конечных автоматов начать с линейно-ограниченных автоматов, получится подобная же иерархия, которая переплетается с первой и опять-таки дает все элементарные функции.
В [37] подход [53] релятивизируется с применением функционалов, вычисления которых связаны с ограниченной лентой. В [38] Крайдер и Р. В. Ричи рассматривают подкласс трехсимвольных детерминированных линейно-ограниченных автоматов. Подкласс содержит «универсальную» машину, но не замкнут относительно подстановки и отождествления переменных. •
Совсем недавно Хартманне, Льюис и Стирнс выполнили работу о вычислениях с ограниченной лентой [30]. Offline модель Хенни модифицирована таким образом, что она содержит машину Тьюринга с двусторонней лентой, на которой ничего не пишется, и рабочей лентой. Длина используемой рабочей ленты определяет сложность в этой классификации. Также изучаются и online машины, и в каждом случае рабочая лента может быть ограничена или нс ограничена pushdown-store операцией. Приведена иерархия, аналогичная той, что получается для классов сложности с ограничениями на время.
Несмотря на название работы [30], насколько известно автору, еще никто детально не исследовал соотношение между ограничениями на память и время. Было бы приятно, если бы существовал разумный эквивалент времени для памяти и обратно, такой, что мера вычислительной сложности могла бы учитывать оба фактора в содержательном смысле. .
Итеративные сети в реальное время
Итеративная n-мерная сеть конечных автоматов состоит из идентичных конечных автоматов, нумеруемых п-наборами неотрицательных целых чисел [32]. Два автомата называются соседними, если их индексы совпадают везде, кроме одной компоненты, в которой они отличаются на единицу. Входы и выходы сети связаны с автоматом с номером (0, 0, ..., 0). За исключением начального момента времени, состояние всякой машины сети в момент /+1 зависит только от состояний ее и ее соседей в момент /, а ее состояние в момент 0 есть специальное состояние покоя. •
Можно показать, что некоторые изменения в определении итеративной сети не меняют ее свойств. Начальный автомат можно сделать отличным от всех остальных; определения со-
седства можно несколько ослабить, условия начала работы машин могут отличаться от указанных выше.
Легко видеть, что одномерная итеративная сеть без труда моделирует машину Тьюринга, потому что такая сеть может моделировать любое конечное число pushdown лент. Таким образом, для итеративных сетей должны иметь место другие ограничения, чтобы получались промежуточные классы множеств слов). Общие ограничения на время, подобные тем, что сделаны для машин Тьюринга у Хартманиса и Стирнса, еще не исследованы. Однако специальный случай вычислений в реальное время на детерминированных итеративных сетях конечных автоматов изучался несколькими авторами. Наиболее исчерпывающее исследование принадлежит Коулу [12]. . *
Одномерные итеративные сети могут совершать много неожиданных операций. Коул показал, что они могут распознавать в реальное время множество всех симметричных слов и множество всех слов вида хх. Первое из этих множеств по pushdownstore подходу является существенно недетерминированным, а второе даже не является контекстно-свободным. Фишер показал, что одномерные сети могут порождать характеристическую последовательность множества всех простых чисел, т. е. машина выдаст 1 в момент /, если t—простое число, и 0 в противном случае [22]). Атрубин доказал, что одномерные итеративные сети могут производить в реальное время умножение, если входы записаны в двоичной системе и подаются справа налево [1].
Коул установил, что класс множеств, распознаваемых п-мер- ными итеративными сетями, является булевой алгеброй, но не замкнут относительно обращения и сцепления. Так, он доказал, что множество всех слов с непустым концом вида хх нераспознаваемо на n-мерных итеративных сетях. Это множество является, однако, сцеплением множества всех слов и множества слов вида хх, и оба эти множества распознаваемы на итеративных сетях. Далее, обращение этого множества опять-таки распознаваемо на итеративной сети.
Метод Коула можно также применить к множеству всех слов с непустым концом, который является симметричным словом. Этот язык является контекстно-свободным, но не
распознаваем никакой n-мерной итеративной сетью. Далее, для каждого п существует контекстно-свободный язык, распознаваем мый в реальное время (п+1)-мерной сетью и не распознаваемый никакой n-мерной сетью. Таким образом, итеративные сети в реальном времени и контекстно-свободные языки несравнимы в очень сильном смысле.
Разные результаты
Другие работы, относящиеся к вычислительной сложности, упоминаются здесь вкратце. Перлес, Рабин и Шамир [49], Эг^ ган [14], Пэйперт и Мак-Нотон [48] изучали подклассы регулярных множеств и отношения между их лингвистическими и машинными свойствами.
Ли [41] и Фишер [23] рассматривали минимальные множества операций машины Тьюринга и исследовали универсальность различных ограниченных машин Тьк!ринга. Шепердсон и Стур- гис [61], Элгот и Робинсон [16] рассматривали вычисления на машинах, у которых вместо лент имеется конечное число регистров, каждый из которых может, содержать произвольное целое число. Такие машины с условным переходом и сложением двух чисел эквивалентны машине Тьюринга.
Акст изучает иерархию рекурсивных функций, построенную из примитивно-рекурсивных функций как исходных порождением новых классов посредством униформных диагональных ме-^ тодов [2]. Близка к этому и работа Фабиена [19]. В другой работе Акста [3], в работах Клива [11], Мейера [43] и Д. Ричи [52] показывается, что несколько различных методов классификации примитивно-рекурсивных функций дают иерархии, тесно связанные с иерархией Гжегорчика [28]).
Скоро должен появиться интересный обзор Бечваржа [6]. Он дает классификацию многих моделей вычислительных устройств, используемую при исследовании вычислительной сложности, и рассматривает общие вопросы связи некоторых из этих моделей с реальными вычислениями. Хорошо известны работы советских ученых по вычислительной сложности), в особенности статья Трахтенброта [5].
Наконец, автор хотел бы пожелать, чтобы следующие библиографические обзоры содержали статьи, не цитированные
выше и относящиеся к рассматриваемой здесь области, особенно статьи по математической лингвистике и проблемам разрешения для автоматов. Библиографии в [4, 6, 9, 10, 13, 35, 42, 45] рекомендуются тем читателям, которые ищут дополнительную литературу.
ЛИТЕРАТ У РА
At rub in A. J., An iterative one-dimensional real-time multiplier, Paper for Appl. Math., Harvard U., Cambridge, Mass. (1962).'
Axt P., On a subrecurcive hierarchy and primitive recursive degrees, Trans. Amer. Math. Soc., 92 (1959), 85—105.
A x t P., Enumeration and Grzegorczyk hierarchy, Z. Math. Logik Grund- lagen Math., 9 (1963), 53—65.
В a r - H i 11 e 1 Y., Language and information, John Wiley, New York, 1964.
В ar-Hillel Y., Perles M., Shamir E., On formal properties of simple phase structure grammars, Z. Phonetik, Sprachwiss., Kommunika- tionsforsch., 14 (1961), 143—172.
Becvar J., Real-time and complexity problems in automata theory, Submitted for publication.
Blum M., A machine-independent theory of recursive functions, Doctoral thesis, Massachusetts Institute of Technology, Cambridge, Mass., 1964.
Chomsky N., On certan formal properties of grammars, Inform. Control, 2 (1959), 137—167. (Русский перевод: Хомский H., О некоторых - формальных свойствах грамматик, Кибернетический сборник, вып. 5, ИЛ, М., 1962, 279—312.)
Chomsky N., Formal properties of grammars, Handbook of Mathemati- ’ cal Psychology, v. 2, John Wiley, New York, 1963, 323—418. (Русский перевод: Хомский H., Формальные свойства грамматик, Кибернетический сборник, нов. серия, вып. 2, изд-во «Мир», М., 1966.)
Chomsky N., Schutzenberger М. Р., The algebraic theory of context-free languages, Computer Programming and Formal Systems, North- Holland, Amsterdam, 1963, 118—161.-(Русский перевод: Хомский H., Шютценберже М., Алгебраическая теория контекстно-свободных языков, Кибернетический ёборник, нов. серия, вып. 3, изд-во «Мир», М., 1966.)
Cleave J. Р„ A hierarchy of primitive recursive functions, Z. Math. Logik Grundlagen Math., 9 (1963), 331—345.x
Cole S. N., Real-time computation by iterative arrays of finite-state ma- ‘ chines, Doctoral thesis, Rep. BL-36, Harvard U., Cambridge, Mass., 1964.
Davis M., Computability and Unsolvability, McGraw-Hill, New York, 1958.
Eggan L. C., Transition graphs and the star-height of regular events, Mich. Math. L, 10 (1963), 385—397.
E 1 g о t С. С., M e z e i J. E., On finite relations defined by generalized automata, IBM J. Res. Develop., 9 (1965), 47—68.
El got С. C., Robinson A., Randomaccess stored-programm machines an approach to programming languages, J. ACM, 11 (1964), 365—399,
El got С. C., Rutledge J. D., RS-machines with almost blank tape, J. ACM, 11 (1964), 313—337.-
E v e у J. The theory and applications of pushdown-store machines, Doctoral thesis, Rep. NSF-10, Harvard U., Cambridge, Mass., 1963.
F a b i a n R. J., Hierarchies of general recursive functions and ordinal recursion, Tech. Rep., Case Institute of Technology, Cleveland, Ohio, 1964.
Fischer P. C., Theory of provable recursive functions, Trans. Amer. Math. Soclt 117 (1965), 494—520.
Fischer Р. С., On computability by certain classes of restricted Turing machines, Proc. Fourth Ann. Symp. Switching Circuit Theory and Logical Design, Chicago, 1963, 23—32.
Fischer P. C., Generation of primes by a one-dimensional real-time iteration array, J. ACM, 12 (1965), 388—394. (Русский перевод: см. настоящий выпуск, стр. 95—102.)
Fischer Р. С., On formalisms for Turing machines, J. ACM, 12 (1965), 570—580.'
Fischer P. C., Rosenberg A. L., Further results on nondeterministic n-tape automata, Abstr. 65T-48, Amer. Math. Soc. Notices, 12 (1965), 139, 140.
Ginsburg S., An introduction to mathematical machine theory, Addison— Wesley, Reading, Mass., 1962.
G i n s b u r g S., G r e i b a c h S., Deterministic context-free languages, Abstr. 65T-155, Amer. Math. Soc. Notices, 12 (1965), 246.
G i n s b u r g S., Spanier E. H., Mappings of languages by two-type devices, Proc. Fifth Ann. Symp. Switching Circuit Theory and Logical Design, Princeton, 1964, 57—67.
Grzegorczyk A., Some classes of recursive functions, Rozprawy Mathematcyzne, Warsaw, 1953, 1—45.
H a i n e s L.. Generation and recegnition of formal languages, Doctoral thesis, Massachusetts Institute of Technology, Cambridge, Mass., 1965.
Hartmanis J., Lewis P. M., Stearns R. E., Classifications o! computations by time and memory requirements, Proc. IFIP Int. Congr., v. 1, 1965, 31—36..
Hartmanis J., Stearns R. E., On the computational complexity of algorithms, Trans. Amer. Math. Soc., 117 (1965), 285—306. (Русский перевод: Хартманис Дж., С т и р н з Р., О вычислительной сложности алгоритмов, Кибернетический сборник, нов. серия, вып. 4, изд-во «Мир», 1967.)
Hennie F. С., Iterative arrays of logical circuit, MIT Press, 1961.
Hennie F. C„ One-type off-line Turing machine computations, Submitted for publication.
H e n n i e F. C., Stearns R. E., Two-tape simulation of multitape Turing machines. Submitted for publication.
Kleene S. C„ Introduction to Metamathematics, Van Nostrand, Princeton N. J., 1952. (Русский перевод: Клини С. К., Введение в метаматематику. ИЛ, М., 1957.)
Kleene S. С., Representation of events in nerve nets and finite automata, Automata Studies, Princeton, 1956, 3—41. (Русский перевод: Клини С. К., Представление событий в нервных сетях и конечных автоматах, сб. «Автоматы», ИЛ, 1956, 15—67.) .*
Kreider D. L., Ritchie R. W., Predictable computable functionals and definition by recursion, Z. Math. Logik Grundlagen Math., 10 (1964), 65—80.
Kreider D. L., Ritchie R. W., A universal two-way automaton, Submitted for publication.
Kuroda S. Y., Classes of languages and linear bounded automata, Infor mat. Contr., 7 (1964), 207—223.
Landweber P. S., Three theorems on phase structure grammars of Type I, Informat. Contr., 6 (1963), 131—137.
Lee C. Y., Categorizing automata by W-machine programs, J. ACM, 8 (1961), 384—399.
McNaughton R., The theory of automata, a survey. In Advances in Computers., v. 2, Acad. Press, New York, 1961, 379—421.
Meyer A. M., Depth of nesting and the Grzegorczyk hierarchy, Abstr. 622-656, Amer. Math. Soc. Notlcesl 13 (1965), 342.
М i n s к у М. L, Recursive unsolvability of Post’s problem of tag and other topics in theory of Turing machines, Ann. Math., 74 (1961), 437—455.
Moore E. F., Sequential machines: selected papers, Addison — Wesley, Reading, Mass., 1964.
Myhill J., Linear bounded automata, Wadd Tech. Note 60-165, Wright- Patterson AFB, Ohio, 1960..
Oettinger A. G., Automatic syntactic analysis and the pushdown store, Proc. Symp. Appl. Math., v. 12, Amer. Math. Soc., Providence, R. I., 1961.
Pap er t S., McNaughton R., On topological events, Submitted for publication.
Perles M., Rabin M. O., Shamir E., Thepry of definite automata, IEEE Trans., EC-12 (1963), 233—243.
Rabin M. O., Real-time computation, Israel J. Math., 1 (1963), 203— 211.'
Rabin M. O., Scott D., Finite automata and their decision problems, IBM J. Res. Develop., 3 (1959), 115—125.
Ritchie D. M., Complexity classification of primitive recursive functions by their machine programs, Abstr. 622-659, Amer. Math. Soc. Notices, 13 (1965), 343.
Ritchie R. W., Classes of predictably computable functions, Trans. Amer. Math. Soc., 106 (1963), 139—173.
Rosenberg A. L., On n-tape finite-state acceptors, Proc. Fifth Ann. . Symp. Switching Circuit theory and Logical Design, Princeton, 1964, .76—81...
Scheinberg S., Note on the Boolean properties of context-free langua- - ges, Inform. Contr., 3 (1960), 372—375.
Schutzenberger M. P., A remark on finite transducers, Inform. Contr., 4 (1961), 185—196.-
Schutzenberger M. P., On the definition of a family of automata, Inform. Contr., 4 (1961), 245—270.
Schutzenberger M. P., Finite counting 'automata, Inform. Contr., 5 (1962), 91—107..
Schutzenberger M. P., Certain elementary families of automata, Proc. Symp. Mathematical Theory of automata, Polytech. Inst, of Brooklyn, 1962, 139—154."
Schutzenberger M. P., On context-free languages and pushdown automata, Inform. Contr., 6 (1963), 246—264.
Shepherdson J. C., Sturgis H. E., Computability of recursive functions, J? ACM, 10 (1963), 217—255.
Siegel J., Some theorems about Yamada’s restricted class of recursive functions, IBM Res. Pap. RC-510, T. J. Watson Res. Ctr., Yorktown Hts., N. Y., 1961.
Трахтенброт Б. А., Тюринговы вычисления с логарифмическим замедлением, Алгебра и логика, Семинар, вып. 3 (1964), 33—48.
Т u г i n g А. М., On computable numbers, with an application to the Entscheidungsproblem, Proc. London Math. Soc., Ser. 2-42, 1936, 230—265.
Wang H., A variant to Turing’s theory of computing machines, J. ACM, 4 (1957), 63—92.
Y a m a d a H., Counting by a class of growing automata, Doctoral thesis, U. of Pennsylvania, Philadelphia, Pa., 1960.
Yamada H., Real-time computation and recursive functions not real-time computable. IRE Trans. EC-11 (1962), 753—760.
ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА
Atrubin A. J., A one-dimensional real-time iterative multiplier, IEEE Transactions on Electronic Computers, EC-14 (1965), 394. (Русский перевод: см. настоящий выпуск.)
А х t Р., Iteration of Relative Primitive Recursion, Mathematische Annalen, 167, № 1 (1966), 53—55.
Axt P., Iterations of primitive recursion (Forthcoming).-
В1 u m M., A machine-independent theory of the complexity of recursive functions, J. ACM, № 2, 14 (1967).
F i s h e r P. C., Turing machines with restricted memory, Inf. and Contr., 9 (1966), 364—380.
Ginsburg S., Greibach S., Deterministic context-free languages, Inf. and Contr., 9 (1966), 620—648.
Ginsburg S., Greibach S., Harrison M., Stack automata and compiling, JaACM, 14 (1967), 172—201.
ЛИТЕРАТУРА НА РУССКОМ ЯЗЫКЕ
LБардзинь Я. М., Емкость среды и поведение автомата, ДАН СССР, 163, № 2 (1965).’
Бардзинь Я. М., Проблемы универсальности в теории растущих автоматов, ДАН СССР, 157, № 3 (1964).
Бардзинь Я. М., Универсальные пульсирующие элементы, ДАН СССР, 157, № 2 (1964).
Б у х ш т а б Ю. А., Реализуемость функций на одномерных сетях в реальное время, Проблемы кибернетики, вып. 22, изд-во «Наука», М., 1968.
Казанович Я. Б., О классификации примитивных рекурсивных функций при помощи машин Тьюринга, Проблемы кибернетики, вып. 22, изд-во «Наука», М., 1968.
К о з м и д и а д и В. А., О бесконечных автоматах, Проблемы кибернетики, вып. 22, изд-во «Наука», М, 1968.
Козмидиади В. А., Марченков С. С., О многоголовых автоматах, Проблемы кибернетики, вып. 21, изд-во «Наука», М., 1968.
К р а т к о М. И., Регулярные и стабильные итеративные системы, Проблемы кибернетики, вып. 19, изд-во «Наука», М., 1967.
Матвеева С. Г., К теореме Рабина о сложности вычислимых функций, Сиб. матем. журнал, 6, № 3 (1965), 546—555.
Мучник А. А., Об общих линейных автоматах, Проблемы кибернетики, вып. 22, изд-во «Наука», М., 1968.
Непомнящий В. А., Об алгоритмах, осуществляемых повторяющимся применением конечных автоматов, сб. Дискретный анализ, вып. 5, Новосибирск, 1965.
Плесневич Г. С., О событиях, связанных с семейством автоматов, сб. Вычислительные системы, Новосибирск, 1963, 44—67.
Трахтенброт Б. А., Оптимальные вычисления и частотное явление Яблонского, Алгебра и логика, Семинар, 4, № 5 (1965), 79—97.
Трахтенброт Б. А., О нормированных сигнализирующих для тьюрин- говых вычислений, Алгебра и логика, Семинар, 5, № 6 (1966), 61—70.
Фрейвалд Р. В., О порядке роста точных временных сигнализирующих для тьюринговых вычислений, Алгебра и логика, Семинар, 5, № 6 (1966).
Фрейвалд Р. В., Сложность распознавания симметрии на машинах Тьюринга со входом, Алгебра и логика, Семинар, 4, № 1 (1965).
Одномерное итеративное умножающееустройство, работающее в реальноевремя!)
Л. Д. Атрубин
Введение-
Каждое из двух сколь угодно больших целых чисел выражается в двоичной записи последовательностью 0 и 1, причем низший разряд соответствует начальному моменту времени и п-й разряд следует за (п—1)-м разрядом через одну единицу времени. Будет описано устройство с дискретными состояниями (синхронизированное на входе). На входы подаются две двоичные последовательности, а именно в каждый момент времени подаются соответствующие разряды, и с выхода снимается двоичная последовательность, соответствующая произведению двух целых чисел, поданных на вход, причем первым выдастся низший разряд.
Мак-Нотон [1], рассматривая машины с дискретными состояниями, заметил, что сложение двух сколь угодно больших двоичных чисел (записанных как и ранее в виде последовательностей) может быть осуществлено на конечном автомате. Этому автомату достаточно иметь в точности два состояния. Мак-Нотон также заметил, что умножение таких последовательностей нс может быть выполнено на конечном автомате. Произведение двух достаточно больших целых чисел может иметь насколько угодно больше разрядов, чем имеется у большего из них, следовательно, автомат должен после прекращения подачи информации на вход печатать на выходе сколь угодно долго цифры- произведения. Непосредственно видно, что такой автомат не может иметь только конечное число состояний. Будет построена машина с бесконечным числом состояний, производящая умножение.
Мак-Нотон также рассматривал проблемы, относящиеся к машинам с дискретными состояниями, работающим в «реальное время». Предположим, что на вход машины подается последовательность i0, ii, i2, ... и с выхода снимается последовательность Uo, Ui, U2,..., где ип есть функция от входных символов до 1п включительно. Вычисление называется выполняемым
Atrubin A. J., A one-dimensional real-time iterative multiplier, IEEE Trans, on EL Computers, EC-14, № 3 (1965), 394—399,
6 Зак. 1904
в реальное время, если машина вычисляет [7П в течение фиксированного промежутка времени (нс зависящего от п), прошедшего после поступления in на вход. Однако в том случае, когда задержка между поступлением in и вычислением Un становится сколь угодно большой для достаточно больших гц вычисление назовем «обычным» в отличие от вычисления в «реальное время». Кроме того, заметим, что каждая операция, реализуемая на конечном автомате, может быть также произведена на конечном автомате в реальное время. Например, в двоичном сумматоре выход организуется в тот же момент времени, в какой воспринимается вход (или, быть может, задерживается на единицу времени). Мак-Нотон сформулировал задачу об осуществимости умножения двух сколь угодно больших чисел в реальное время. Умножающее устройство, описываемое в этой статье, работает в реальное время. Ниже указываются некоторые дальнейшие ограничения, накладываемые на это устройство.
Хенни [2] рассматривал итеративные сети логических схем. Этот класс машин описывается в настоящей статье, но нами допускаются бесконечные сети, тогда как Хенни использовал только конечные. Характер поставленной задачи таков, что нам, вероятно, было бы более удобно строить двумерную сеть. Разряды множителя могли тогда распространяться в направлении оси х, а разряды множимого — в направлении оси у. Каждый двоичный разряд произведения мог бы быть тогда образован в узле решетки сети, затем производилось бы суммирование и возвращение назад к начальному узлу решетки, где печатался бы выход. Другая возможность заключается в построении нашего устройства как одномерной сети. Цель этой работы заключается в построении именно такой одномерной сети.
При описании работы сколь угодно длинных сетей из конечных устройств должно быть учтено следующее явление. Несущие информацию сигналы перемещаются с конечной скоростью (верхней границей является скорость света). Такие сигналы в течение конечного интервала времени нс могут передаваться из одной точки сети в другую точку сети, находящуюся сколь угодно далеко. При построении рассматриваемого устройства учитывается, что в течение одного такта времени сигналы из некоторой ячейки сети могут передаваться не далее чем в смежные ячейки.
Таким образом, наше устройство будет итеративной одномерной двухсторонней сетью ячеек с конечным числом состояний и с единичной задержкой при обмене информацией между смежными ячейками (все это употреблялось и Хенни, за исклю-
чением допускаемой нами бесконечности числа ячеек в сети). Таким образом (рис. 1), каждая ячейка в сети имеет только конечное число состояний. Состояние каждой ячейки в сети в момент времени t есть функция ее собственного состояния в момент времени t — 1 и состояний двух соседних ячеек в момент времени t—1. Исключая начальную ячейку, все ячейки (они обозначены буквой С) одинаковы. Таким образом, состояние каждой ячейки зависит от ее предыдущего состояния и предыдущих состояний соседних ячеек. Структура начальной ячейки будет несколько иная, чем у других ячеек, ввиду того что в се функции входят восприятие входа и печать выхода.
МножительМножимоеМножительМножимоеПроизведениеПроизведениеРис. 1. Структура устройства с двухсторонней связью ячеек.Рис. 1. Структура устройства с двухсторонней связью ячеек.
Множитель
Множимое
Множитель
Множимое
Произведение
Произведение
Рис. 1. Структура устройства с двухсторонней связью ячеек.
Рис. 1. Структура устройства с двухсторонней связью ячеек.
Нами будут построены два различных устройства. Первое из них выдает свою выходную последовательность с задержкой на одну единицу времени по отношению к входной последовательности. Следовательно, n-й разряд произведения выдастся через одну единицу времени (один такт времени) после восприятия п-х разрядов множимого и множителя. Начальная ячейка этого устройства не отличается от остальных ячеек, хотя, конечно, она имеет головку, которая печатает выходную последовательность. Второе устройство образует n-й разряд произведения в течение того же момента времени, в который воспринимаются n-е разряды множимого и множителя. Точнее, может иметься небольшая задержка, соответствующая характеристикам элементов первой ячейки, но эта задержка будет мала по сравнению с тактом времени работы сети. Такие задержки, связанные с характеристиками элементов, не будут приниматься нами во внимание, и мы будем говорить, что выход выдается одновременно с восприятием входа. Структура начальной ячейки этого второго устройства иная, чем у других ячеек, начальная ячейка имеет два дополнительных состояния, но тем нс менее в основном она работает так же, как и другие ячейки. Вообще говоря, оба рассматриваемых устройства мало отличаются друг от друга. Будет дано детальное описание только второго из них, а первое мы рассмотрим очень кратко.
6* ' .
Наше устройство удобно будет конструировать, как показано на рис. 2, из двух отдельных блоков, которые затем объединяются. Первый блок односторонний, причем информация в нем передается по сети, исходя из начальной ячейки. Работа этого блока нс зависит от второго блока. Сначала независимо от второго будет построен первый блок. Второй блок также
Рис. 2. Блоки устройства.
односторонний, однако информация в нем передастся в обратную сторону, т. е. по направлению к начальной ячейке. Работа второго блока зависит от состояния первого.
Алгоритм умножения
. Предположим, что перемножаемые два целых числа имеют вид
Л=5<г(/)2<,Z-0
где а(/) = 0 или 1 при 0</</п, и.
£=5б(/)2\
Z-0 где,
6(Z) = 0 или 1 при 0 1 лг;
без ограничения общности предположим, что п^т и, таким образом,
Л=5а(/)2\
•Z-0
где
а (/) = 0 для m < I < п.
Рис. 3 дает пример применения двоичного аналога обычного алгоритма умножения, причем переносы записаны внизу. В пересечении t-й строки и /-го столбца стоит произведение a(i)Xb(j — i).
ПроизведениеПроизведениеСтолбцыСтолбцыдона переносадона переноса
Произведение
Произведение
Столбцы
Столбцы
дона переноса
дона переноса
Рис. 3. Двоичное умножение.
Цифра / произведения р(/) является суммой по mod 2 пухлей и единиц, записанных в столбце / (суммируются все цифры, записанные как в таблице произведения, так и в зоне пере^ носа). Число единиц переноса, стоящих в (/+1Цм столбце, выражается через [$(/)], сумму единиц в /-столбце
Су+1)=1£<ЛЬ^<Л1=42 „р» у>0
и
с(0) —0.
Этим способом и будут образовываться разряды произведения. Для вычисления разрядов р(/) суммируются по mod 2 все произведения
a-^XbU — где 0</</,
и переносы, образованные при вычислении р^—1). Каждая пара единиц, являющихся слагаемыми суммы, формирующей p(]Y образует отдельную единицу переноса, передающуюся для вычисления р(/ + 1).
Построение умножающего устройства
Устройство будет работать следующим образом. Каждое g^ =lb^i), a(i)] будет запоминаться в некоторой ячейке сети, Пусть в момент времени I на вход подастся g^lY Это g^V) будет затем перемещаться вдоль цепочки' ячеек по направлению к соответствующей ячейке. Когда оно проходит через ячейки, в которых уже запомнились g(JY гДе 0^/</„ то будут образовываться произведения a^i)Xb(j) и aVYXb^iY Когда g^ дойдет до соответствующей ей ячейки памяти (первой пустой ячейки), формируется произведение a^Xb^iY По мерс образования каждого произведения видоизменяется - соответствующее p^Y которое перемещается к начальной ячейке. В каждую единицу времени запоминаются соответствующие переносы, ожидая прохождение следующего p(kY
Если g^j) хранится на расстоянии примерно //2 ячеек от начальной ячейки, то тогда после подачи на вход g(i) (в момент времени i, где i>H для распространения соответствующего сигнала от начальной ячейки до g^j) и обратно к начальной ячейке требуется / единиц времени, т. е. именно этим сигналом определяется выход в момент времени j-H. Хранение g^j) на большем расстоянии от начальной ячейки не допускается. Следовательно, по крайней мере два g должны храниться в одной ячейке. Предположим теперь, что в начальной ячейке будут храниться ^(0) и ^(1), в следующей ячейке будут храниться ^(2) и ^(3) и т. д. Первый блок каждой ячейки будет состоять из следующих трех частей: 1) ВСП— верхняя секция памяти, предназначенная для g с большими номерами; 2) ПСП — нижняя секция Памяти для g с меньшими номерами; 3) ПСП — переходная секция памяти, предназначенная для перемещения g. На рис. 4 изображено несколько первых шагов процесса, а также несколько шагов после момента времени /=12. Состояния этого блока устройства будут изображаться тройкой (ш, х, у), где w, х и у могут быть Q, (0, 0), (0,1), (1,0) или (1, 1). Последняя четверка представляет собой
возможные значения g(i)=Vb(i), ^(OL Состояние Q — это начальное состояние, или состояние покоя. Таблица дает краткое описание работы первого блока устройства, иллюстрируя пример, заданный на рис. 4. Эта таблица определяет последующее
ПСП всп нсп
Q
Q
Q
t=5
g(5)
g(4)
Q
Q
Q
Q
g(l)
g(3)
Q
Q
Q
Q
8(0)
g(2)
Q
со
g(0)
Q
Q
t=12
g(12)
g(H)
g(10)
2(9)
g(8)
Q
Q 1
Q
9
Q
g(l)
g(3)
g(5)
g(7)
Q
Q
Q j
Q
Q
Q
g(0)
g(2)
g(4)
g(6)
Q
Q
Q
t=l
g(D
Q
9
1 t=13
8(13)
8(12)
g(H)
g(10)
g(9)
Q
Q
Q
Q
Q
g(D
g(3)
g(5)
g(7)
Q
Q
Q
g(0)
Q
Q
g(0)
8(2)
8(4)
8(6)
8(8)
Q
Q
t=2
g(2)
9
Q
t = 14
g(14)
2(13)
g(12)
g(ll)
6(10)
Q
Q
g(l)
Q
Q
g(D
g(3)
g(5)
8(7)
g(9)
Q
Q
g(0)
9
9
g(0)
g(2)
g(4)
g(6)
g(8)
Q
Q
t=3
8(3)
g(2)
Q
t=15
6(16)
g(14)
g(13)
g(12)
g(l 1)
8(10)
Q
^(1)
Q
Q-
g(l)
8(3)
g(5)
g(7)
8(9)
Q
Q
g(0)
Q
8(0)
g(2)
g(4)
g(6)
8(8)
Q
Q
t*4
8(4)
8(3)
Q
g(16)
g(15)
g(14)
g(13)
g(12)
g(in
Q
t=16
g(l)
g(3)
g(5)
g(7)
g(9)
Q
Q
g(D
Q
Q
g(0)
g(2)
Q
g(O)
g(2)
g(4)
g(6)
g(8)
g(10)
Q
Р и с. 4. Заполнение ячеек памяти.
состояние ячейки как функцию ее настоящего состояния и настоящего состояния ячейки, находящейся слева от нес. В таблице последующих состояний символы g, h, j, к и m могут принимать значения (0, 0), (0,1), (1, 0) или (1, 1). Пробелы
Таблица последующих состояний
Имеющееся состояние
Имеющееся состояние ячейки слева
(-, Q, -)(й, А, -)
(Q. Q. Q) (g. Q, Q) U. Q- S') (w. /. g-)
(Q. Q. Q) (A, Q, Q) (Л. Q, s') (A, j. S') (A, j, g)
«не принимаются во внимание». На место черточек могут быть поставлены любые используемые буквы. Все ячейки сначала находятся в состоянии (Q, Q, Q). Этим завершается описание первого блока.
Ячейка 3
Ячейка 4
пел
8(12)
8(11)
вел
8(5)
нсл
8(6)
Частичное произведение Память переноса
Р
РР
к
Рис. 5. Структура ячейки.Рис. 5. Структура ячейки.Рис. 5 изображает две ячейки, в которые уже включены вторые блоки. Второй блок состоит из следующих двух частей: 1) регистр частичного произведения и 2) память переноса. Для наглядности эти ячейки показаны в конкретный момент времени (/=14; см. рис. 4). Состояния секций, которым на рис. 5 соответствуют пустые клетки, не интересуют нас в этом примере. Заметим, что в рассматриваемый момент времени §(11) и §(6), взаимодействуя, будут образовывать произведения а(11)хЬ(6) и я(6) Xb(l 1). Также §(12) и §(5), взаимодействуя,
Рис. 5. Структура ячейки.
Рис. 5. Структура ячейки.
,будут образовывать я(12)Хб(5)
и я(5)Хб(12). Кроме того, заметим, что в этот момент времени другие ячейки сети не будут непосредственно участвовать в формировании 17-го разряда произведения.
Такие произведения двоичных цифр формируются в каждый момент времени и образуют разряды полного произведения, перемещающиеся к начальной ячейке в регистр частичного произведения. Говоря точнее, состояние регистра частичного произведения и памяти переноса в ячейке / в момент времени / являются функциями состояний ПСП, ВСП и памяти переноса ячейки / в момент времени /— 1, а также ПСП, НСП и частичного произведения ячейки /+1 в момент времени I—1. В примере, изображенном на рис. 5 в рассматриваемый момент времени (/=14), регистр РР будет содержать частично сформированный 17-й разряд произведения. Частичное формирование означает суммирование по mod 2 всех произведений двоичных цифр, соответствующих только тем §(/), у которых 6</<11,т. е.
[а (7) X b (10) + b (7) X а (10) + а (8) X b (9) + а (9) X b (8)] mod 2.
Также в момент времени /=14 в регистре Р частично формируется 16-й разряд произведения. В процессе образования этого 16-го разряда произведения в регистре К формируется некоторый перенос. Новые значения частично сформированного 17-го разряда будут вычислены и помещены в Р, а получающийся при этом результирующий перенос будет помещен в К. Эти новые значения будут определять состояния регистров частичного
произведения и памяти переноса ячейки 3 в момент времени /=15. Пусть
£ = а(11)Хб(6) + а(6)Хб(Н) + ^
-Va^Xb^A-PP-VK
где РР и К изображают числа, хранящиеся в этих регистрах в момент времени /= 14. Тогда новый, частично сформированный 17-й разряд произведения как раз равен
Е mod 2,
а новый перенос равен
Е — Е mod 22‘
Частично сформированный 17-й разряд произведения сдвигается на ячейку ближе к начальной ячейке и накапливает новые вносимые в него двоичные знаки. Можно ли сделать это, учитывая, что память переноса ячеек имеет лишь конечное число состояний? Заметим, что при образовании суммы Е в нее за счет соответствующих g вносится максимум четыре единицы, а за счет частично сформированного ранее разряда может быть внесено самое большее одна единица. Предположим, что существует некоторое максимальное значение переноса С. Тогда наибольшее значение нового переноса С' должно удовлетворять соотношению
(5 + Q —(5 + Qmod2с —2)
минимальное положительное целое С, удовлетворяющее этому соотношению, равно 4. Таким образом, память переноса может иметь в точности пять состояний, соответствующих переносам О, 1,2,3 и 4.
Наконец, дальнейшие соображения касаются g^ в ПСП той ячейки, в которой только ВСП находится в состоянии Q либо и ВСП, и НСП находятся в состоянии Q. В этом случае g^h") как раз достигает ячейки, в которой она запоминается, и в этот момент времени образуется произведение а^ХЬ^, входящее в соответствующую сумму. Таблица переходов, которую мы здесь не будем приводить, должна соответствовать этому. В приведенном ниже числовом примере будут употребляться некоторые специальные обозначения, а именно когда g(fe) прибывает в ячейку, в которой только ВСП находится в состоянии Q, то это состояние ВСП будет изображаться не символом Q, a g^s заключенным в кружок. Аналогично, когда g(А) прибывает в ячейку, в которой и ВСП, и НСП находятся
в состоянии Q, состояние НСП будет изображаться в виде^(й), заключенного в кружок; эти обозначения дают возможность применять обычные методы вычисления новцх значений частичных произведений и переносов, употребляя их с одной поправкой. Именно, все произведения, формируемые с использованием записи, заключенной в кружок, прежде чем они войдут в соответствующую сумму, должны быть разделены на 2 [произведение, сформированное обычным образом с использованием ^(й), заключенного в кружок, будет 2X^(6) Хб(6)]. Этим завершается построение нашего устройства, за исключением начальной ячейки. "
Начальная ячейка несколько отличается от других ячеек; это различие необходимо только для того чтобы избежать задержки на один такт времени между входом и выходом. Если начальная ячейка не будет отличаться от других, то значение £, вычисляемое в ней в момент времени 1 = ц будет равно
a(Z-l)X6(l) + a(l)X6(/-l) + a(/-2)X6(2) +
+ а(2)Х6(/-2) + РР +-Л с соответствующими значениями РР и К. Однако необходимо в момент времени I использовать g(f) для образования выхода. Таким образом, значение Е в начальной ячейке должно быть пополнено произведением a(i) Хб(0) + а(0) Xb(i). Используя те же соображения, что и ранее, мы видим, что начальная ячейка должна запоминать переносы, достигающие значения 6, т. е. ее память переноса должна иметь не пять, а семь состояний. Цифра произведения, выдаваемая на выход, должна в точности совпадать со значением Р в начальной ячейке. Этим завершается построение умножающего устройства.
Подобным образом строится умножающее устройство с единичной задержкой. Тем же способом вычисляется £, а также Р и К; однако значения, запоминаемые в регистрах Р и К, смещены на одну ячейку вправо по отношению к тому, что было в ранее рассмотренном умножающем устройстве. Точнее, состояния регистров частичного произведения и памяти переноса ячейки i в момент времени t являются функциями состояний ПСП и ВСП ячейки i— 1 в момент времени t— 1, состояний ПСП, НСП и памяти переноса ячейки i в момент времени /—1, а также состояния регистра частичного произведения ячейки /+1 в момент времени /—1. Это означает, что второй блок устройства является скорее двухсторонним, чем односторонним, так как при вычислении Р и К нужно обращаться к некоторым g, находящимся слева, и к предшествующему значению Р направо. Выход есть в точности значение Р
66ееееОООО
6
6
е
е
е
е
О
О
О
О
в начальной ячейке, которая не отличается от других ячеек.
Состояния всех ячеек в умножающем устройстве с единичной задержкой и в умножающем устройстве без задержки будут изображаться в виде столбца, представленного правее и ниже.
w, %, у могут принимать значения Q, (0, 0), (0, 1), (1,0) или (1, 1), 2) Р может принимать значение 0 или 1 (частично сформированный разряд произведения) и С может принимать значения 0, 1, 2, 3 или 4 (для начальной ячейки в случае когда задержки нет, значение переноса может быть равно 6).
Вход представляет собой пару двоичных чисел, записываемых в секцию w начальной ячейки. -Выходом является значение Р начальной ячейки. Верхней гранью числа состояний в ячейке является число 5x5x5x2x5=1250. В случае когда нет задержки, границей числа состояний начальной ячейки будет 5x5x5x2x7 = 1750. Все ячейки первоначально находятся в состоянии, представленном на столбце слева внизу.
Рис. 6 дает описание сети без задержки, причем используемые числа те же, что и в примере, изображенном на рис. 3. Рис. 7 дает то же самое для сети с единичной задержкой. В обоих случаях для облегчения вычислений в соответствующих ячейках Q заменяются на g\ заключенные в кружок. В качестве примера подсчитаем значение частичного произведения и памяти переноса во второй ячейке в момент времени /= 10 на рис. 6. Эти числа являются функциями состояний в момент времени / = 9. Перемножая значения ПСП и ВСП второй ячейки в момент времени / = 9 и суммируя, мы получим 2, а ПСП и НСП третьей ячейки в момент / = 9 дают 0. В памяти переноса второй ячейки в момент / = 9 содержится 2, а частичное произведение из третьей ячейки есть 1. Подводя итог, получаем число 5, т. е. окончательно значение нового частич-
ного произведения есть 1, а значение переноса равно 2. Теперь вычислим значения в регистрах третьей ячейки в момент / = 7 на рис. 7. В момент / = 6 ПСП и ВСП второй ячейки дают 2, ПСП и НСП третьей ячейки дают 1 (так как соответствующий символ заключен в кружок), перенос дает 1, регистр частичного произведения четвертой ячейки даст 0, таким образом, окончательно получаем число 4, т. е. в регистр частичного про-* изведения вносится 0, а в регистр переноса 2.
П 9
9
9
9
0
0
01
10 и
1
3
11 11 01 0
1
t=6
11
0 0
9 9
9 0 0
00 10
11
1
1
10 11 01 1 1
10
11
11
0 1
1=12
00 00
01
0
0
11 & 0 0
9 9
9 0 0
00 10 11 0 0
00 00 00 00 00
51 Q
11 01 0 0
11 00
00 11
0 0
10 10 0 0
® 9
11 01
10
10
00
00
t*0
t=18
10 9
9
00
01
11
9
00
00
10
10
00
9
00
00
00 00
00
00
® 9
9
10
11
9
10
11
11
00
®
9
10
11
11 00
00
10
11 9
9
11
01
11
9
11
01
11
01
11
9
11
01
11 01
11
10
10
0
1
0
0
0
1
1
0
1
0
0
0
1
0 0
0
0
0 0
t^r
0
2
2 t=7
0
0
I
I
1
t=13
0
0
0
0
0
0 0
t=19
0
0
01 9
9
11
00
01
9
00
00
00
10
10
9
00
00
00 00
00
00
10 Q
9
10
11
11
9
10
11
11
00
00
9
10
11
11 00
00
10
11 9
9
11
01
11
9
11
01
11
01
11
9
11
01
11 01
11
10
10
0
0
1
1
0
0
0
0
0
0
0
1
0
0 0
0
0
О 0
t=2
0
2
2
t=8
0
0
1
1
2
t=14
0
0
0
0
0
0 00 0 t=20
0
11 01
9
00
11
00
01
00
00
00
oo
10
10
00
00
00 00
00
00
10 5s
9
10
11
11
9
10
11
11
00
00
9
10
11
11 00
00
10
И ®
9
11
01
11
@
11
01
11
01
11
®
11
01
11 01
11
10
10
0
0
0
1
0
1
1
1
1
0
0
0
0
0 0
0
0
10
1=3
0
2
2
t=9
0
0
0
0
1
t=15
0
0
0
0
0
0 0
1=21
0
0
11 11
9
10
00
11
00
00
00
00
00
00
10
00
00
00 00
00
00
10 @
<1
10
11
11
10
11
11
00
00
10
11
11 00
00
10
11 01
9
11
01
11
01
11
01
11
01
11
10
11
01
11 01
11
10
00
0
0
1
0
0
1
1
0
1
0
0
0
0
0 0
0
0
20
1*4
И 11 10 11 11 01 01
30
t=S
0
9
9
9
0
0
2
10
10
11
0
2
2
t«10
10
11
01
0 2
t=ll
0
00
11
11
0
1
0
11
00 01
0 0
0
00 10
11
1
0
0
00
11 01 0
0
1
t=16
00
11
11
0
1
1=11
0
00 00 01 0 0
0
00 00 11
0
0
0
00 10 10 0 0
0
0
0 0
t*22
0
0
Рис. 6. пример работы сети без задержки.
Рис. 7. Пример работы сети с единичной задержкой.
СУОСУ
о
©
z^(5)^
©
с»
г»
© FM о
©
см
о о ^
Or Or Qr о ©
O' O' O' о о ^
ОТ ОТ ОТ о о
araror © © ^
о -***
о ^ ^ ^ о
^ о ^
-ч © © © ri
O’ О O' ^ о
Могут быть сделаны некоторые дополнительные замечания. Например, сигнал, отмечающий завершение выхода, легко реализуется, когда мы имеем сигнал, указывающий на окончание подачи информации йа вход. Напомним, 4to трудности, связанные с построением, были вызваны тем, что рассматриваемые числа могут быть сколь угодно велики. Для практических целей приперемножении чисел ограниченной величины можно использовать конечную часть нашего устройства, причем число ячеек в сети будет приблизительно равно половине числа разрядов входного числа. Запоминающему устройству достаточно иметь объем в 11 битов, так как 2п>1250. Особенно просто построить устройство, запоминающее‘70, х, у, Р и С в отдельности, используя один бит для Р и по три бита для каждого из других; в итоге нам потребуется 13 битов для ячейки. Конструкции такого рода могут применяться в различных вычислительных машинах. Такое умножающее устройство может быть или смонтировано в виде сети, или если это нужно, представлено программой в управляющей системе.
Заключение
В этой статье доказывается существование итеративной одномерной двухсторонней сети из ячеек с конечным числом состояний и с единичной задержкой между смежными ячейками, осуществляющей умножение двух двоичных целых чисел в реальное время, причем низший разряд подается на вход первым. Требуемый объем памяти (в расчете на один разряд множимого и множителя) достаточно мал для возможных приложений в технике.
Вопрос о существовании устройства, описываемого в этой статье, был предложен автору проф. Э. Ф. Муром. Работа была выполнена в Гарвардском университете на семинаре по теории автоматов, руководимом проф. Э. Ф. Муром в течение весеннего семестра 1962 г. -
ЛИТЕРАТУРА
McNaughton R., The theory of automata, a survey, in Advances in Computers, v. 2, New York, Academic Press, 1961, 379—421.
Hennie F. C., Iterative Arrays of Logical Circuits, M. I. T. Press, Cambridge, Mass., 1961.'
Порождение простых чиселна одномерной итеративной сети■в реальное время1}
Патрик Фишер*
Введение.
Одномерные итеративные сети конечных автоматов неожиданно оказались весьма эффективными при работе в реальное время. Выяснилось, что они могут перерабатывать многие последовательности таким образом, что при поступлении на вход последовательности "длины к выход формируется в течение к единиц времени после восприятия первого члена последовательности. А. Атрубин показал, что умножение сколь угодно больших целых двоичных чисел может быть осуществлено в реальное время [1]. Один из результатов С. Коула заключается в том, что множество всех симметричных слов четной длины распознается в реальное время [2].
Интересная задача, связанная с итеративными сетями, — это «задача о стрелках», в которой рассматриваются конечные (хотя и сколь угодно длинные) сети. Как указывает Э. Мур [7], задача была поставлена Д. Майхилом в 1957 г. и впервые решена Д. Маккарти и М. Минским. Минимальное решение было позднее дано Э. Гото [4], а более простая конструкция сети недавно предложена А. Ваксманом [8]. В задаче требуется построить одномерную итеративную сеть конечных одинаковых (кроме крайних) автоматов («солдат»), находящихся в начале в состоянии покоя, таким образом, что после подачи на вход крайнего левого автомата одиночного возбуждающего сигнала все автоматы через некоторое время должны одновременно (и впервые) перейти в отмеченное состояние «выстрела». Конструкция элементов сети не должна зависеть от ее длины.
Решение задачи о стрелках удобно излагать, вводя понятие импульсов различного вида, перемещающихся вдоль сети с раз^ ными скоростями. В приводимом решении задачи о стрелках крайний левый автомат посылает направо а-импульс, перемещающийся вдоль сети со скоростью 1 и отражающийся от крайнего правого автомата, кроме того, он же посылает также Ь-им- пульс, который перемещается со скоростью у. Возвращаясь,
9 Fischer Р. С., Generation of primes by a one-dimensional real-time iterative array, J, ACM, 12, № 3 (1965), 388—394t
а-импульс встречается с b-импульсом в середине сети; в результате этого элементы в центре (один или два) будут далее работать так же, как крайние автоматы. Таким образом, сеть разделяется на две синхронизированные равные части. Этот процесс повторяется, и сеть последовательно делится на все меньшие и меньшие синхронизированные друг с другом блоки, пока не получатся блоки из одного автомата, и в этот момент времени все автоматы переходят в состояние «выстрела».
Работа сети показана на рис. 1. Можно показать, что при таком решении «выстрел» происходит в момент времени Зм — 4 для любого п, где п — число элементов сети. (При оптимальном решении «выстрел» производится в момент времени 2п— 2.) Сеть, соответствующая решению, при котором выстрел происходит в момент времени Зп — 4, может быть составлена из автоматов Мура с 15 состояниями.
В этой статье метод, подобный использованному при решении задачи о стрелках, применяется для построения одномерной сети, порождающей двоичную последовательность, в кото^
рой 7-й член печатается в момент времени / и равен 1 тогда и только тогда, когда t простое число. (В отличии от задачи о стрелках сеть, так же как у Атрубина и Коула, должна быть бесконечной, так как иначе на выходе в конце концов будет печататься периодическая последовательность.) Задача о простых числах была поставлена Т. Кроули и решена им с использованием двухмерных сетей.
Предварительные замечания
Определение. Бесконечной одномерной итеративной сетью называется множество конечных автоматов (см. [3] и [6]), поставленное во взаимно однозначное соответствие с неотрицательными целыми числами, так что. ,
состояние автомата М^ соответствующего п, в момент времени t зависит только от состояний Mn_i, Мп и Mn+i в момент времени t— 1 для всех п>0;
все автоматы, исключая Л10, одинаковы и в момент времени / = 0 находятся в состоянии покоя;
вход и выход итеративной сети связан с автоматом Л40, и состояние Л10 в момент времени t определяется только входом и состоянием автомата Mi в момент времени t—-1. (Болес подробное описание может быть найдено в [2] и [5].)
Будет построена одномерная бесконечная сеть конечных автоматов Л40, Mi, М2, ..., которая будет печатать на выходе 1 в момент времени 3/+1, если на вход в момент времени 3/ подается 1 и t есть простое число или если в момент времени 3/ на входе подается 0 и t не является простым числом. Во всех остальных случаях на выходе в момент времени 3/+1 печатается 0. Можно объединить автоматы в группы по три автомата и построить новую сеть из более сложных автоматов Мъ Mi, М2, ..., которая будет давать тот же результат, но без множителя 3, т. е. новая сеть будет распознавать входные последовательности, в которых Z-й член есть 1 тогда и только тогда, когда t — простое число. (Подробное описание метода, при котором работа одномерной итеративной сети ускоряется в некоторое число раз, приведено в [2].) Далее можно рассматривать сеть как устройство порождающее, а не распознающее простые числа, т. е. можно модифицировать крайний автомат (/Ио) так, что начальный входной сигнал просто служит для возбуждения сети, которая затем начинает выдавать на выход 1 в моменты времени /+1, если / простое число, и 0, если / не является простым числом. Наконец, легко модифицировать крайний автомат так, что соответствующий символ будет выдаиваться на выход в момент времени ^ а не в момент /+к
Конструкция элементов сети
Приведенное ниже построение легче понять, если условиться игнорировать структуру автоматов в, сети и рассматривать их как устройство, передающее импульсы с различными внутренними задержками. Ясно, что если такие конечные устройства существуют, то их синтез легко осуществить. Автор построил решение этой задачи, используя автоматы Мура М< (/>0) с 37 состояниями и автомат Мо с 11 состояниями. . ,
Входными и выходными символами сети являются 0 и 1, на выходе печатается 0, когда /^l(mod3), а когда /=l(mod3), на выходе может быть напечатано либо 0, либо 1.
Имеются три вида импульсов, перемещающихся вдоль сети; обозначим их а, b и с. В каждый момент времени t данный автомат может передавать двум смежным автоматам один импульс, несколько импульсов или ни одного импульса. Крайний автомат отличается от остальных. Остальные автоматы могут быть двух видов: N- (разбиваемые) и Р- (разбивающие) автоматы. Все автоматы (кроме Л40) в начальный момент времени являются W-автоматами. В дальнейшем они могут становиться и оставаться P-автоматами или могут сколь угодно долго оставаться М-автоматами.
Поведение элемента сети
Строка
Тип автомата
Входной импульс в момент времени t
Откуда прибывает
Выходной импульс
Куда посылается
' Время
Новый тип автомата
1
N
а и Ь
Л |
а b
Л п
1 — 2
} P
2
N
а. но не b
л
а
п
t — 1х
N
3
N
а
п
а
л
t — 1
N
4
N
Ь, но не а
л
b
п
/ + 3
N
5
N -
b
п
b
л
/+з
N
6
N
с
л
с
п
t — 2
N
7
N
с
п
с "
л
t — 1
N
8
Р
а
л
а
п
t — 1
P
а
п
t — 1
9
Р
а
п |
с
п
t — 2
| P '
ь
л
t — S
10
Р
b .
л
Невозможно
11
Р
b
п
ь
Л
<4-3
P
12
Р
с
л
с
Л
t — 1
/ P
13
Р
с
п |
с ь
П .
Л
t — 2
<--3
1 p
Крайний автомат Мо ведет себя следующим образом.
Подача на вход первого 0 или 1 означает начало отсчета времени, т. с. момент /=0.
В момент времени /=1 направо посылаются а-импульс и Ь-импульс..'
В момент времени /=4 направо посылается а-импульс.
В моменты времени /=1 и /=4 на выходе печатается 1, если на вход в момент времени t — 1 подавался 0.
При любом />6, где te0(mod3), на выходе в момент времени /+1 печатается 1, если на Af0 в момент t поступил b-импульс, а на входе в момент t был 0 или если на Мо в момент t не поступал Ь-импульс и на входе в момент / была 1.
Во всех других случаях на выходе сети печатается 0 и автомат Мо нс посылает направо никаких импульсов.
Работа других элементов сети иллюстрируется таблицей. За исключением случаев, соответствующих 1-й, 2-й и 4-й строкам таблицы, при одновременном поступлении на автомат двух и более импульсов их воздействие будет эквивалентно объединению действий соответствующих одиночных импульсов.
Функционирование сети
Сеть отмечает пррстые числа, используя модификацию эра- тосфенова решета. Рассматривается последов-ательность положительных целых чисел, больших 1. Левый член этой последовательности, равный 2, объявляется простым числом, и каждый второй из остальных членов вычеркивается. Теперь первый не- вычеркнутый член последовательности, равный 3, есть простое число и каждый третий член, больший чем 3, вычеркивается. (Разумеется, некоторые члены вычеркиваются более одного раза.) При использовании метода эратосфенова решета процесс продолжается, давая последовательно числа 5, 7, 11 ... . Нами будет использован менее эффективный метод. После шага, соответствующего числу 2, вычёркивается каждый -третий член последовательности, начиная с 9. Далее вычеркивается каждый четвертый член последовательности, начиная с 16 (этот шаг, также как и все шаги, нё соответствующие простым числам, будет, очевидно, излишним). Вообще при выполнении шага, соответствующего числу к, вычеркивается каждый А-й член последовательности, начиная с кЧ Числа, которые при этом остаются невычеркнутыми, представляют собой простые числа.
Для разбиения сети на состоящие из А^-автоматов блоки, ограниченные с каждой стороны P-автоматами, используются а-импульс и идущий направо Ь-импульс. Если определить длину блока как расстояние между ограничивающими его двумй
P-автоматами, то для каждого й > 2 существует блок длины к. В соответствующий момент времени с-импульс начинает колебаться внутри блока и период колебания равняется утроенной длине блока. Каждый раз, когда с-импульс поступает на автомат, ограничивающий блок слева, налево посылается Ь-им- пульс, перемещающийся к началу сети со скоростью Уз- Если b-импульс совпадает с идущими из других блоков Ь-импуль- сами, то он просто продолжает двигаться дальше как одиночный b-импульс. Первый b-импульс, образованный в блоке длины к, достигает автомата Л10 в момент времени Зй2, а последующие b-импульсы, образованные в этом блоке, будут поступать на Мо в моменты времени, равные 3(й2+&), 3(й2 + 2й), 3(й2 + 3й), ... . Таким образом, поступление на крайний автомат b-импульса в момент времени 3/ эквивалентно вычеркиванию t в последовательности натуральных чисел, так как в этом случае t имеет некоторый собственный делитель.
Подробный анализ сети
Лемма L Для каждого &>1 автомат M№W/2 становится P-автоматом, что обусловлено одновременным приходом слева в момент времени (Зй2 + &)/2— 1 a-импульса и Ъ-импуль- са, затем a-импульс в момент времени (3й2 + 3й) /2 возвращается к AI^-d^. Более того, только автоматы с индексами вида &(&+!)/2 становятся Р-автоматами.
Доказательство. Докажем это индукцией по к. Пусть 6 = 2. При таком к утверждение справедливо, так как в этом случае а- и b-импульсы достигают автомата 7И3 в момент времени 6, а-импульс возвращается к автомату Mi в момент времени 9, а на автомат М2 а-импульс и b-импульс не поступают одновременно.
Предположим теперь, что лемма верна для к ^ п. Тогда b-импульс, посланный направо автоматом М^^^ в момент времени (Зп2 + п)/2+1, достигает автомата Мх в момент времени '
/ = 3 (% — (я2 + п)/2 — 1) + (Зя2 + n)/2 + 1.
Точно так же а-импульс, посланный направо автоматом М^.^^ в момент времени (Зм2 + Зм)/2+1, достигает Мх в момент времени
t = (% — (п? — n)J2 — 1) + (Зя2 + Зп)[2 +1.
Таким образом, а-импульс и b-импульс встретятся, когда t = Зл -
т. с. на автомате с номером
х = (я24-Зл + 2)/2 = (л+1)(п4-2)/2
в момент времени
t = ^п? 4- Зп 4- 2)/2 — (/г2 - п^2 4- (3/г2 + Зтг)/2 =
= (Зп2 4- 7л 4- 2)/2 = (3 (л 4-1 )2 4- (л 4-1) )/2 ~
Отсюда следует, что никакой автомат между Л1п(п+1)/2 и М(П+1)(П+2)/2 не станет P-автоматом. Наконец, а-импульс, посланный автоматом M(n+i)(n+2V2 в момент времени / + 2, достигает автомата Мп^п^/г в момент времени
^ + l + n4_l = (3ZZ24-9ZZ4-6)/2 = (3(/z4-l)2 + 3(/z + l))/2.
Это полностью завершает индукцию, и таким образом лемма доказана."
Лемма - 2. Для каждого к^ 2 b-импульсы посылаются налево автоматом М^-^н/2 и достигают автомата Мо в моменты времени t = 3k2+3ck, где с>0 — произвольное целое.
Доказательство. Когда с-импульсы образуются, они начинают колебаться с периодом 36 между автоматами М^--^^ и Al^+i)/2. Каждый раз, когда с-импульс посылается направо автоматом М^-^/г, на одну единицу времени позже налево посылается b-импульс. Первый такой b-импульс посылается в момент времени (3fe2+3&)/2 + 3 (лемма 1 и 9-я строка таблицы) и достигает автомата Л10в момент времени
(3^24-3^)/2 4-3 + 3((^—1)^/2 —1) = 3^2..
Теорема. Рассмотренная выше сеть может при любом х распознавать множество всех слов вида o0oi... о3х, таких, что для п-^х Озп = 1, если п простое число, и Озп = 0, если п не простое число.■
Доказательство. Автомат Мо обеспечивает работу сети, в случае когда п<2. Для м > 2 лемма 2 показывает, что Ь-им- пульс достигает автомат Мо в момент времени t тогда и только тогда, когда t имеет вид 3fe(& + c), где к и с положительные целые числа (й > 2, с>0). Таким образом, прибытие Ь-им- пульса на автомат Мо в момент времени Зп означает, что п имеет собственный делитель и, следовательно, нс является простым числом. Автомат Мо тогда действует как сравнивающее устройство, дающее требуемый выход.
Следствие. Можеч быть построена бесконечная сеть конечных автоматов Мо» Му Ms, ..., которая будет для любого х распознавать множество всех слое вида aooi ... Ох, таких, что для п^х ап = 1 тогда и только тогда, когда п — простое число. _
Доказательство предоставляется читателю в качестве упражнения.
Для любого автомата Mi достаточно иметь число состояний, не большее чем 373 = 50 653.'Используя тот факт, что только один из автоматов Л43г, Af3W, М3г+2 может быть Р-ав- томатом, можно уменьшить число состояний в Mt до величины порядка 30 ОбО. Дальнейшие уточнения могут быть получены на основании других свойств сети.
ЛИТЕРАТУРА
Atrubin A. J., An iterative one-dimensional real-time multiplier, Term paper for Appl. Math., Harvard University, 1962.'-
С о 1 e S. N:, Rdal-tinTe computation by iterative arrays of finite-state machines, Doctoral Thesis, Report BL-36, Harvard University, 1964.
Ginsburg S., An introduction to mathematical machine theory, Addison- Wesley, 1962.
Goto' E., A minimum time solution of the firing-squad problem, Course notes for Appl. Math., Harvard Univers,ity, 1962, 52—59.
Hennie F. C., Iterative arrays of logical circuits, M. I. T. Press, 1962.
M о о f e E. F., Gedanken-experimenfs on sequential machines, Automata Studies, Princeton, 1956, 129—153. (Русский перевод: Мур Э., Умозрительнее эксперименты с последовательностными машинами, сб. «Автоматы», ИЛ, М., 1956?)
М о о г е Е. F., The firing squad synchronization problem, in Sequential Machines: Selected Papers, Addispn-Wesley, 1964, 213—214. (Русский перевод: Мур Э., Задача о синхронизации цепи стрелков, Кибернетический сборник, новая серия, вып. 1, изд-во «Мир», М., 1965.)
W a k s m a n A., An optimum solution to the firing squad synchronization problem, Inf. and Contr., 9, № 1 (1966), 66—78.
Проблемы разрешения в грамматикахнепосредственных составляющих1}
Питер С. Ланд вебер
Введение
Грамматики непосредственных составляющих были введены и впервые изучены Н. Хомским [1, 2] как механизмы для порождения предложений языка. С помощью ограничений возрастающей строгости, налагаемых на правила грамматики, Хомский выделил четыре типа грамматик: грамматики типа 0 (самые общие), типа 1 (контекстные, или контекстно-связанные), типа 2 (бесконтекстные, или контекстно-свободные) и типа 3 (грамматики с конечным числом состояний). В данной работе рассма-* триваются и решаются (в основном в отрицательном смысле) некоторые проблемы разрешимости для этих классов грамматик и порождаемых ими языков.
Как показали Рабин и Скотт [3], все рассматриваемые здесь проблемы для грамматик типа 3 являются разрешимыми. (Грамматики типа 3 эквивалентны конечным автоматам.) Для грамматик типа 0 почти все эти проблемы неразрешимы; это следует из результатов теории рекурсивных функций (грамматики типа 0 эквивалентны полусистемам Туэ; см. Дэвис [4])). В данной работе будет показано, что, большинство этих проблем неразрешимо уже для грамматик типов 1 и 2.
Из результатов, ранее полученных в этой области, следует отмстить работы Кантора [5] и Бар-Хиллела, Перлса и Шамира [6]; в частности, последняя работа содержит все излагаемые здесь результаты, относящиеся к грамматикам типц 2. Представленные здесь доказательства и способ изложения, хотя и сходные с доказательствами Бар-Хиллела и др., были получены независимо) и в том, что касается грамматик типа 0 и 1, представляют собой существенное расширение работы [6].
В качестве примера неразрешимых проблем можно привести следующие: нс существует алгоритма, который. бы узнавал
является ли грамматика типа 2 неоднозначной;
!) Landweber Р., Decision problems of phrase-structure grammars, IEEE Trans. Electronic Compute 13, № 4 (1964), 354—362.
порождают ли две грамматики типа 2 один и тот же язык;
является ли язык, порождаемый грамматикой типа 1, пу^ стым (или бесконечным);
является ли язык, порождаемый грамматикой типа Z, языком типа j(j>h 1=0, 1, 2; / = 2, 3);
порождает ли грамматика типа 2 язык типа 3.
Последняя проблема есть, очевидно, частный случай четвер-- той; предварительный результат в ее решении имеется у Хомского [1,2].■.
После вступительного раздела, посвященного предварительным определениям, рассматриваются разрешимые проблемы для грамматик типов 2 и 3. Следующий раздел посвящен неразрешимым проблемам грамматик типа 2 и грамматикам типа 1, В заключительном разделе рассматриваются проблемы, касающиеся грамматик различных типов' одновременно. Сводка результатов, относящихся к проблемам разрешения для грамматик всех типов, представлена в таблице, где указано, для каких проблем доказана их разрешимость или неразрешимость.
Таблица 1)
Проблема
Классы грамматик
Тип 3
Тип 2
Тип 1
Тип 0
Пуст ли язык, порождаемый данной грамматикой? (AQ = Ф)
Р
Р
Н
н
Бесконечен ли язык, порождаемый данной грамматикой? (£0 бесконечен)
Р
Р
Н
н
Состоит ли язык, порождаемый данной грамматикой, из всех слов в терминальном словаре? (£О = ИГ) '
Р
н
н
н
Порождают ли две грамматики один и тот же язык? (Lq^ = Lq^
Р
н
н
н
Составляет ли язык, порождаемый одной грамматикой, подмножество языка, порождаемого другой? (Lg с Lg^
Р
н
н
н
Продолжение
Проблема
Классы грамматик
Тип 3
Тип 2
Тип 1
Тип 0
Пусто ли пересечение языков, порождаемых двумя данными грамматиками? ^LQ П ^q = Ф)
Р
н
н
Н
Является ли пересечение языков, порождаемых данными грамматиками, языком того же типа? ^Lq П Lq язык того же типа)
Да
н
Да
Да
Является ли дополнение языка, порождаемого данной грамматикой, языком того же типа? ^Ут\^о язык того же типа)
Да
н
?
н
Для любых слов ф, ф, выводимо ли ф из Ф в данной грамматике? (ф => ф) '
р
р
р
н
Для любых ф, ф, выводимо ли слово, содержащее ф, из ф в данной грамматике? (ф^ф)
р
р
н
н
Есть ли в языке грамматики предложение, выводимое более чем одним способом? (G неоднозначна)
р
н
н
н
Есть ли однозначная грамматика того же типа, порождающая тот же язык?
Да
?2)
?
Да
Обозначения к таблице: Р—проблема разрешима (т. е. существует алгоритм, дающий ответ на данный вопрос для любых грамматик данного типа), Н — проблема неразрешима (такого алгоритма не существует),? — не известно, существует ли' разрешающий алгоритм для данной проблемы, Да — ответ на вопрос будет «да» для любых грамматик данного типа. Отметим, что если вопрос касается пары грамматик, то обе они относятся к одному и тому же типу.
Отрицательное решение этой проблемы получено А. В. Гладким в работе «Алгоритмическая нераспознаваемость существенной неоднозначности контекстно-свободных языков», Алгебра и логика, Семинар, 4, № 4 (1965).—Прим. ред.
Предварительные определения х
Предполагается, что читатель знаком с первой половиной основополагающей работы Хомского [1], а также с основными результатами и методами теории рекурсивных функций так, как они представлены, например, в книге Дэвиса [4]. Кроме того, бчень полезно знакомство с работой Рабина и Скотт [3]. Читатель может захотеть сравнить настоящую работу с работой Бар- Хиллела и др. [6], в которой содержатся сходные результаты. '
Однако для полноты ниже кратко излагаются основные понятия и определения, относящиеся к грамматикам непосредственных составляющих.
Определение 1. Алфавит представляет собой конечное непустое множество. Множество всех непустых конечных слов в алфавите 2 обозначим X*. (Пустое слово не вводится в рассмотрение, за исключением тех случаев, когда это специально оговорено; это позволяет упростить изложение.) Любое подмножество множества 2* называется,языком над алфавитом 2.
Определение 2. Грамматика непосредственных составляющих— это упорядоченная четверка G = (VN, VT, Р, S), где
V-n и VT — непересекающиеся алфавиты, называемые словарями грамматики G, соответственно нетерминальным и терминальным. (У=^11Кт называется объединенным словарем грамматики G.) ' '
Р— это конечное множество упорядоченных пар (ф, ф), где ф и ф— слова в объединенном словаре ^ и где ф содержит по меньшей мере один символ из VV (Эти пары суть подстановки или правила грамматики G.) '
S — выделенный символ словаря VN, играющий роль аксиомы (начальный, символ или символ предложения).
В дальнейшем, говоря о грамматиках непосредственных составляющих, будем называть их просто грамматиками; G является грамматикой над алфавитом 2, если Vt = 2.
Следуя Хомскому, принимаем, что заглавные латинские буквы будут использоваться для обозначейия слов в ^, строчные лат'инские буквы — для слов в Ут, греческие буквы — для слов в V, начальные буквб! всех алфавитов — для обозначения отдельных символов (элементов словарей). .
Определение 3. Определим теперь, каким образом грамматика порождает язык. Дана грамматика G = (VN, VT, Р, S). Запись . ' '
означает, что ^1 = (01фИ2, фг=со^иг, где ©ь сог—слова (возможно, пустые) в словаре V, а пара (ф, ф) С Р. Далее, пишем
если существует последовательность (называемая выводом ф из ф) фо, фь ..., фп (п>0), такая, что фо=Ф, фп=ф и ф,^—*фг- (i=l, ..., п). Язык, порождаемый грамматикой G,-определяется тогда как множество
.. ■ Lq = (х|х^Vt и 5=^л].
Определение 4. Пусть G— грамматика и ф, ф— слова в словаре V. Запись-
. ' Ф^Ф (ф-*Ф) ■
означает, что существует вывод-
ф =^ to^to2 (ф -> ®!ф®2)>
где о>1 и ©г — слова в V, возможно, пустые. Это определение будет использоваться в следующем разделе.
Определение 5. Грамматики Gi и G2 называются эквивалентными, если Lq, = LQ1.
Определение 5а. Пусть 5-*ф1-»ф2-> ... ->ф„ — вывод в грамматике G типа 2 (см. ниже, определение 9). Пусть г/, r^, ...,rin—последовательность правил, применявшихся в этом выводе, a Ni, N2, ..., Nn — последовательность натуральных чисел, таких, что переход
'-Фу-^Ф; (7=1, Д) (S = %)_
получен заменой Nj-ro символа cpj-i'no правилу Пу. (Отмстим, что если задан только вывод и грамматика, последовательность правил г^ и последовательность чисел Nj определяются не однозначным образом; для каждого вывода существует конечное число пар таких последовательностей, и для каждой такой пары может быть построено дерево.)
Сопоставим каждому правилу (А, оц ... ад) грамматики G размеченное дерево такого вида, как показано на рис. 1. Тогда соответствующее выводу..., —>фп и двум последователь
ностям r^ Nj дерево вывода может быть получено следующим образом: начинаем с дерёва, сопоставленного правилу 5-*ф1е Это дерево представлено на рис. 2 при ф1 = aia2... ад. Далее, беря по порядку каждое из деревьев, сопоставленных правилам
П2> fi3> •• •’ r ^п «приклеиваем» самый верхний узел дерева г^ к Nу-му из самых нижних узлов уже частично построенного дерева. Самые нижние узлы — это узлы, из которых не исходит больше ни одного ребра; если прочитать слева направо
Рис. 1. Дерево, соответствующее правилу.Рис. 1. Дерево, соответствующее правилу.SSР и с. 2. Дерево, соответствующее правилу (S, cpj.Р и с. 2. Дерево, соответствующее правилу (S, cpj.
Рис. 1. Дерево, соответствующее правилу.
Рис. 1. Дерево, соответствующее правилу.
S
S
Р и с. 2. Дерево, соответствующее правилу (S, cpj.
Р и с. 2. Дерево, соответствующее правилу (S, cpj.
символы, стоящие в этих узлах, то получится слово, стоящее в последней строке вывода.
Пример. G = (4VNi Vt, Р, S\ где VT={a, b), Kzv={S}, S = S, а множество правил P=[(S, ab),(S, ba) ,(S, aSb)^S, bSa) ,(S,SS)}. Единственное дерево, соответствующее выводу S-^aSb-^abab,
Рис. 3. Дерево вывода S -> aSb -> abab.Рис. 3. Дерево вывода S -> aSb -> abab.Рис. 4. Дерево вывода S -> SS -> abS -> abab.Рис. 4. Дерево вывода S -> SS -> abS -> abab.
Рис. 3. Дерево вывода S -> aSb -> abab.
Рис. 3. Дерево вывода S -> aSb -> abab.
Рис. 4. Дерево вывода S -> SS -> abS -> abab.
Рис. 4. Дерево вывода S -> SS -> abS -> abab.
показано на рис. 3. Кроме того, слово abab имеет и другой вывод с существенно отличным деревом вывода, изображенным на рис. 4.
Определение 6. Грамматика G называется однозначной, если для каждого слова x£LG все его выводы имеют одно и то же дерево. (Два дерева тождественны друг другу, если они имеют одинаковую структуру и если соответствующие узлы помечены одинаковыми символами.) В вышеприведенном примере грамматика G была неоднозначной.
Определение 7. Грамматика G называется приведенной, если любой ее нетерминальный символ А удовлетворяет следующим двум условиям: (1) 5=^>А, (2) Зх(А=^х).
Определение 8. Для любого слова х в некотором алфавите его длина Х(х) определяется как число символов, входящих в х 9-,
Теперь уже можно определить грамматики и языки типов 0, 1/2 и 3. Далее последует несколько замечаний о грамматиках типа 1 и грамматиках, использующих граничный символ.
Определение 9. Определяются грамматики и языки* типов 0, 1, 2 и 3:
0) любая грамматика G есть грамматика типа 0;
грамматика G является грамматикой типа 1, если для каждого правила (ф, ф) выполняется Х(ф)^Х(ф);
грамматика G является грамматикой типа 2, если все ее правила имеют вид (Л, ф), где А € VN;
грамматика G является грамматикой типа 3, если все ее правила имеют вид (Л, аВ) или вид (Л, а).
Язык Lg, порождаемый грамматикой типа I, будем также называть языком типа L •'
Между данным здесь определением грамматики типа 1 и первоначальным определением Хомского [1] имеются два различия. Во-первых, Хомский выделяет особый символ 4^ € VT в качестве граничного символа и считает, что грамматика G порождает язык £0={х|#5#=Ф#х#}. Автором данной статьи показано [8], что при использовании граничного символа класс языков типа 1 остается прежним. Во-вторых, в определении Хомского требуется, чтобы правила грамматики типа 1 имели вид (со1Лсо2, со±фсо2), т. е. заменялся бы. только один символ. Но, по утверждению самого Хомского [1, стр. 286— 287 русск. перевода], языки, порождаемые грамматиками типа 1, на правила которых наложено такое ограничение, — это просто языки типа 1 в нашем смысле; доказательство этого не пред* ставляет затруднений.
Основные свойства языков этих четырех типов подробно рассмотрены Хомским [1] и Шейнбергом [9]. Приведем наиболее важные из этих свойств:
как для грамматик, так и для языков тип 0 =э тип 1 гэ =э тип 2 zd тип 3; более того, во всех случаях имеет место строгое включение;
9 Точнее, как число вхождений символов в х. — Прим, персе.
/ 2) языки типа О над алфавитом S — это в точности рекурсивно-перечислимые множества слов в 2;
языки типа 1 (а также языки типа 2 и языки типа 3) равномерно примитивно-рекурсивны. Последовательность множеств (£i, £2, • • •) является равномерно примитивно-рекурсивной, если существует примитивно-рекурсивный предикат /?(%, /), такой, что х €E^R^x, Г); очевидно, каждое из множеств Е^ само является примитивно^рекурсивным;
языки типа 3 суть- регулярные события, т. е. множества слов, представимые в конечных автоматах;
множество языков типа 3 над алфавитом 2 образует булеву алгебру. Множество языков каждого типа замкнуто относительно объединения в конечном числе. Класс языков типа 2 не замкнут ни относительно пересечения, ни относительно дополнения. Классы языков типа 3 и типа 1 замкнуты относительно пересечения (результат, касающийся типа 1, был получен автором данной статьи [8]). Дополнение языка типа 0 нс всегда будет языком типа 0; 'относительно языка типа 1 этот вопрос остается открытым.'
Разрешимые проблемы (грамматики типов 2 и 3)
Пусть даны G, Gi й G2— грамматики типа 3 (или, что то же, конечные автоматы1)). Рабин и Скотт [3] показали, что можно эффективно определить, имеет ли место следующее2):
Lg пуст;
Lg бесконечен;
Lqx = Lq2.~
■ Мы будем интересоваться рекурсивной разрешимостью или неразрешимостью подобных проблем для грамматик типов 0, 1 и 2.
Но вначале докажем разрешимость «проблемы неоднозначности» для грамматик типа 3, т. с. покажем, что по любой грамматике типа 3 можно эффективно решить, является ли она неоднозначной или нет. Далее будет показано, что можно узнать по данной грамматике типа 2, верно ли, что:
Lg пуст;
Lg бесконечен;
G является грамматикой с самовставлением (определение см. ниже).'
Теорема 1. Для грамматик типа 3 разрешима проблема неоднозначности. А именно, если в грамматике G имеется п не-
]) Об этой эквивалентности см. [7].
• 2) Рецензентами было указано, что это следует уже из работы Мура [10].
терминальных символов, то G неоднозначна тогда и только тогда, когда для некоторого x£.LG длины не более n^-V^n существуют два неэквивалентных вывода S^x*
Доказательство. (Приводится не полностью; некоторые детали предоставляется восполнить читателю; доказательство ведется на языке конечных ориентированных графов.)
Доказательство начинается с замены G приведенной грамматикой G' типа 3. Эта грамматика получается из G выбрасыванием каждого нетерминального символа А, который не удовлетворяет хотя бы одному из следующих двух условий: 5=фЛ и Зх(Л=^»х), равно как и всех правил, содержащих выбрасываемые символы. Грамматика Gr может быть эффективно получена из G. /Важно, что грамматика G' тогда и только тогда неоднозначна, когда неоднозначна G; выводы вида S=^x будут одними и теми же для G и для G' и LG = LGt*'
' Допустим теперь, что G неоднозначна; в этом случае G' также будет неоднозначной. Покажем, что существует слово z^LGf, по длине не превосходящее п2 + 2п, которое, имеет два неэквивалентных вывода S^'z.
Для этого достаточно найти в грамматике Gr два вывода вида А=^ха, где %(%)</л2 и а — либо нетерминальный символ грамматики G', либо пустое слово; поскольку, если Л=#5, существует вывод S^zxA, где гх— некоторое слово в терминальном словаре, а кроме того, если а не пусто, существует вывод а^^2 с некоторым терминальным 22. Это верно даже в предположении, что длина 2Ь как и длина 22, не превосходит п. Тогда мы получим два неэквивалентных вывода ' S^z^xz^ слова 2 (2 = 2iX22), длина которого не превышает п2 + 2п. Согласно нашему предположению, G' неоднозначна. Это означает, что в грамматике G' существует два неэквивалентных вывода А=^ ха, где а — или нетерминальный символ, или пустое слово. Пусть х — слово наименьшёй длины, допускающее такие два вывода А=^ха (с одними и теми же Л и а). Если длина х равна т, эти выводы имеют следующий вид: *''
А = Ао —> ахАх -> ... ->ах ... am_1A/n_1 ->ах ... а^а = ха,
А ——- 5q ^ ахВ х ^ ... ^ ах ... Up^_xB ^_х ^ ах ... а^а — ха*
Из предположения о минимальности длины х следует, что А^В.^ для 0<1<т. Если же m>n2, то обязательно найдутся Т^кие I и / ^<1<!<пгу что А^А^ и Bi = B^ поскольку
существует лишь п2 различных пар (Л, В), а тогда мы можем получить два неэквивалентных вывода
Ао-* ->ах ... аД-»^ ... я,яу+1Лу+1-> ...
... ->аг a^j+x ... ата, BqйХ . . . d^B^ ► dy . . . Cl ^dу + \B J + |. . .
. . . —> а^ . . . UiUj.^ . . . amd вида Л=Фуа, где у короче, чем х, что по предположению невозможно. Следовательно, длина Z(x)=m не может превосходить м2 и теорема доказана.
Далее до конца этого раздела мы будем заниматься исключительно грамматиками типа 2. Сначала определим понятие грамматики с самовставлением.
Определение 10. Пусть G = (VN, VT, Р, S) — грамматика типа 2. Если для некоторого А € VN
Л^фЛф,
где ф и ф — непустые слова в V, то О называется грамматикой с самовставлением.
Важность этого понятия явствует из следующей теоремы Хомского [1, 2]: язык L типа 2 тогда и только тогда не является языком типа 3, когда все грамматики типа 2, порождающие L, являются грамматиками с самовставлением.
Введем еще два определения, которые понадобятся в дальнейшем: понятие высоты вывода и понятие вывода с повторением.
Определение 11. Пустьфо—*Ф1—> ... -*фп — вывод в
грамматике типа 2, где.
Определим функцию h(i, j) по индукции следующим образом:
/1(0,/)=0 (ICKM;
Если функция h(i, j) определена для некоторого i и для 1 -С / ^ &i и если переход ф< —* фж происходит путем замены а<9 на a<yZ+1)... a<yZ+1), положим
''1р(/, у)0<j<A).
У) = | h<i. Л)+1 (ЛОСЛ).
h^> /4-Л —A) U2h^> /4-Л —A) U2< /<< /<kt+тУkt+тУ
h^> /4-Л —A) U2
h^> /4-Л —A) U2
< /<
< /<
kt+тУ
kt+тУ
Теперь определим высоту вывода как
щахА(«, у") (1<у<^).
Иначе говоря, высота вывода — это длина самой длинной ветви дерева, соответствующего этому выводу, а функция КЦ, j) равна числу подстановок, которые приводят к появлению j-го символа в слове фг-. (Для наглядности читатель может разобрать несколько примеров.)
Определение 12. Сохраним обозначения предыдущего определения: Для некоторого О^СКп обозначение
указывает на то, что a(J+1) есть один из новых символов, возникающих при подстановке вместо символа а(^. Если
'О Л
говорим, что а^ подчиняет а^Л^- Если какой-либо символ в выводе подчиняет самого себя, вывод называется выводом с повторением.
Лемма 1. Если ф0—►... -*фт — вывод без повторения в грамматике G типа 2 и если G имеет п нетерминальных символов, то высота этого вывода не превышает п. .
.Доказательство. (Дастся лишь набросок.) В бесповтор- ном выводе каждый символ из G, поскольку он нс может подчинять самого себя, может подчинять только п — 1 нетерминальных символов. Если символ уже подчинен г нетерминальным символам, он может подчинять не более п — г — 1 нетерминальных символов. Поэтому очевидно, что длина любой ветви дерева не может превышать щ а следовательно, и высота вывода не может быть больше, чем щ и лемма доказана.
Лемма 2. Пусть G — грамматика типа 2 и LG не пуст; тогда существует х С LG, обладающее бесповторным выводом S^x.
Доказательство. Поскольку LG не пуст, выберем слово из LG, обладающее таким выводом'
5->ф0->ф1~> . . . “>фт = %,
который имеет наименьшую длину m среди всевозможных выводов элементов из LG. Если бы теперь этот вывод оказался выводом с повторением, т. е. если бц символ а^ подчинял
символ аУр, где i < V и а^ = ар, то ясно, что можно было бы свернуть его и получить новый вывод.
$ = Ф0^ ... ->Ф,->Фг+1-> ...->Фт = £ .
где х также является терминальным словом, причем новый вывод оказался бы короче прежнего, что противоречит нашему допущению о выборе первоначального вывода. Следовательно, первоначальный вывод является бесповторным, что и доказывает лемму..-
Теорема 2. Поскольку в грамматике G может существовать только конечное число выводов ограниченной высоты, мы доказали следующую теорему: можно эффективно узнать, будет ли язык Lg, порождаемый грамматикой G типа 2, пустым или непустым. А именно, если G имеет п нетерминальных символов, язык LG непуст в том и только в том случае, когда существует вывод S=^x, высота которого меньше или равна п и где х — терминальное слово.-
Лемма 3. Пусть G — грамматика типа 2 и ф, д|) -> слова в ее объединенном словаре V. Существует метод, позволяющий узнать, верно ли, что ф^ф-
Доказательство. Пусть пг— большая из длин слов ф и гЬ. Тогда рассмотрим все слова в V длиной не больше пг и от- ■*
берем те пары слов (coi, <о2), для которых <oi—>о)2. Получаем конечный ориентированный граф, который, разумеется, может быть построен эффективно. Далее, легко видеть, что ф=^ф тогда и только тогда, когда существует вывод.
Ф = Фо~^Ф1“1> ••• -^Ф^ = Ф.
где Х^^^Ст при 1 = 0, 1, ..., п. Тогда по полученному графу можно определить, существует ли путь из узла ф в узел ф и, следовательно, имеет ли место ф=ФФ или нет, что и требовалось доказать.
Теорема 3. Можно эффективно определить, является ли язык LG) порождаемый грамматикой типа 2, бесконечным. (См. статью Шейнберга [9].)
Доказательство. Пусть G=(yN, VT, Р, S)—грамма- 7КК9 т^п^ 2. В силу теоремы 2 и лемм^т 3 мы мо^?м? так л^е как
это делалось в доказательстве теоремы 1, построить эквивалентную ей приведенную грамматику (У = (y'N> Vr Р\ Sy Теперь воспользуемся следующим результатом Шейнберга [9]: для приведенной грамматики G' типа 2 язык Lq* тогда и только тогда бесконечен, когда существует такой символ A^Vn* что А=^ =^фАф, где хотя бы одно из -слов ф, ф непусто. Разрешимость этого свойства грамматики G' следует опять-таки из леммы 3. Следовательно, мы можем решить проблему бесконечности для LG, что и требовалось доказать.
Теорема 4. Последняя теорема этого раздела вытекающая непосредственно из леммы 3, формулируется следующим образом: можно эффективно распознать, является ли данная грамматика типа 2 грамматикой с самовставлением.
Доказательство. Чтобы решить эту проблему, нужно просто определить, имеет ли место Л=^аУф для какого-либо Л€У^иа, Р€К
Неразрешимые проблемы для грамматик типа 2
В этом разделе доказывается неразрешимость следующих проблем для грамматик типа 2:'
пусто ли пересечение Lq^Lq^'
является ли G однозначной;'
является ли пересечение Lqx П Lq2 языком типа 2;
является ли LG «полным» языком Vт;'
верно ли, что Lqx = LGa;
верно ли, что Lqx с Lq^ ".
является ли дополнение Vt\Lq языком типа 2.
Можно заметить,' что все эти проблемы неразрешимы уже для подкласса грамматик типа 2, который соответствует наборам п стандартных последовательностных функций, определенным Гинзбургом и Райсом [11]. Для этого надо только убедиться, что все языки типа 2, которые встречаются в этом раз^ деле, являются последовательностно определимыми множествами.
Доказательство будет вестись таким образом, что неразрешимость проблемы 1 будет использована при доказательстве неразрешимости остальных проблем. Ответ на вопрос 2 был дан Кантором [5], на большинство остальных вопросов ответили Бар-Хиллел, Перле и Шамир [6]. Приводимое здесь доказательство неразрешимости проблемы 2 более симметрично, чем
канторовское, а использование комбинаторной проблемы Поста проще, чем у Бар-Хиллела и др. Некоторые другие проблемы, касающиеся и языков типа 3, также должны быть рассмотрены, но откладываются до следующего раздела; простейший пример подобной проблемы: «Является ли язык LG (G— грамматика типа 2) языком типа 3?» Прежде всего рассмотрим теорему Поста [12] о неразрешимости комбинаторной проблемы. Из этой теоремы будет выведена неразрешимость проблемы 1, а отсюда легко получается неразрешимость проблем 2 и 3. Следующий шаг состоит в том, чтобы показать, как из неразрешимости проблемы 1 следует неразрешимость проблемы 4; на этом шаге будет показано, что дополнения к элементам некоторого класса языков типа 2 будут снова языками типа 2. После этого неразрешимость остальных трех проблем получается очень просто.
Комбинаторная проблема Поста для алфавита 2 и целого положительного п формулируется следующим образом: по данным двум спискам %=(%i, ..., хп) и y=(f/i, ..., у^ слов в алфавите 2 решить, существует ли последовательность индексов ti, ..., iT (r> 1), где 1 ^fj^n, такая, что
Пост [12]4) доказал, что, каков бы ни был алфавит 2 более чем из одной буквы, существует такое целое положительное число п, что комбинаторная проблема для 2 и п алгоритмически неразрешима. (Эта формулировка представляет собой некоторое усиление результата Поста, неявно содержащееся в его доказательстве.) '
Сведем теперь комбинаторную проблему к некоторой проблеме, касающейся грамматик типа 2. С этой целью зафиксируем алфавит 2 и число м, для которых комбинаторная проблема неразрешима. Введем алфавит 20 = {61, ..., Ьп^ каждая буква которого отлична от остальных и от букв алфавита 2, и пусть 2i = 2 U 20. Если x=(xi, ..., хп) —список п слов в алфавите 2, то обозначим через Q^ множество всех слов вида
bir • • • \хч • • • хч
для всех последовательностей ц. .... ir. у которых г>1 и Х^ЛпОг. Ниже следуют две леммы, относящиеся к этим языкам; доказательство первой из них очевидно.
Лемма 4. Если x=(xi, ..., ха) и y^tyi, ..., уп)—два списка, содержащие по п слов в алфавите 2, то комбинаторная
]) См. гакже Марков [14, гл. VI, § 9]. — Прим. ред.
проблема для этих списков имеет решение тогда и только тогда, когда '
QWnQM^O.
Лемма 5. Для каждого списка х = (%i, ..., хп) из п слов в S множество Q(x) является языком типа 2 над Si.
Доказательство. Построим грамматику G типа 2 над алфавитом Si, такую, что Lq = Q^xY Для этого возьмем Vn = {S}, IZt = 5i и следующие правила: (S, biXi), (S, b^Sx^ для каждого /=1, ..., п. Проверку того, что эта грамматика порождает язык Q(x), можно предоставить читателю.
Теорема 5. Не существует алгоритма, который по двум грамматикам Gi и G^ типа 2 определял бы, пусто ли пересечение языков Lqx A Lq2. •
Доказательство. Если бы можно было эффективно определить, пусто ли пересечение Lqx A Lq2, то можно было бы узнать, пусто ли Q(x) П Q(r/), поскольку грамматика, порождающая Q(x), строится эффективно по х=(хь ..., хп). По лемме 4 отсюда следовала бы разрешимость комбинаторной проблемы, а это приводит нас к противоречию, чем и доказана неразрешимость. - .
Нужно заметить, что комбинаторная проблема Поста используется весьма аналогично тому, как использовали ее Рабин и Скотт [3].
Теорема 6. Не существует эффективного метода, позволяющего решить, является ли данная грамматика типа 2 неоднозначной или нет. (См. статью Кантора [5].)
Доказательство. Из леммы 5 очевидно, что языки Q(x) порождаются однозначными грамматиками. Язык Q(x)UQ(y) порождается грамматикой G со словарями ^ = {5, А, В}, VT = = Si и правилами .
S->A, A->btxb A->btAxt 1
S->B, B->btyb B->btByt J v 1
[В дальнейшем мы предпочитаем записывать правила в виде ф->ф, а не (ф, ф), если это не приведет к недоразумению.] Эта грамматика неоднозначна в том и только в том случае, когда Q(x)OQ(t/) непусто, а это последнее свойство неразрешимо. Следовательно, неразрешима и проблема неоднозначности для грамматик типа 2, что и требовалось доказать»
Теорема 7. (Приводимое ниже доказательство принадлежит Бар-Хиллелу и др. [6] и кратко излагается здесь для полноты картины.) Не существует алгоритма, который бы решал, является ли пересечение Lqx^Lq2 языков. порождаемых двумя грамматиками типа 2, сноЪа языком типа 2 или нет.
Для доказательства необходимо заменить языки Q(x) и Q(y) языками Q(x. у) и Q\ определяемыми так:
Q (л:, у)= {q>£?$ |<р 6 Q W€ Q (У)} =
= {6 . .6 X .X су . .у b .6 } (1 <Zp<n. 1 </„<«) / 11 11 о
и . "
Q' = {гсг|г£2:},
где с — новый терминальный символ, х, у и Si имеют то же значение, что и в предыдущих доказательствах, а z обозначает отражение слова г. '
Легко видеть, что пересечение Q(x, у) HQ' непусто (и бесконечно) тогда и только тогда, когда существует положительное решение" комбинаторной проблемы Поста для списков х и у. Можно показать, что языки Q(x, у) и Q' также являются языками тупа 2. Тогда для них справедливы утверждения, аналогичные лемме 4 и лемме 5. Но аналог леммы 4 может быть значительно усилен, так что имеем следующий результат:
Лемма 4а. (Бар-Хиллел и др., см. приложение I.) Пересечение Q(x, у) П Q' непусто тогда и только тогда, когда комбинаторная проблема Поста для списков х и у имеет положительное решение. Более того, когда Q(x, у) DQ' непусто, оно не является языком типа 2.
Лемма 5а. Множества Q (х, у) и Q' являются языками типа 2; грамматика G(x, у), порождающая язык Q(x, у), может быть получена эффективно по х и у.
Опираясь на эти леммы, мы можем теперь приступить непосредственно к доказательству теоремы 7.
Доказательство теоремы 7. Предположим, что существует алгоритм, определяющий, является ли языком типа 2 пересечение Lq^Lq, языков, порождаемых грамматиками Gt и G2 типа 2. Пусть G^x, у) и G'—грамматики, порождающие языки Q (х, у) и Q'; эти грамматики могут быть построены эффективно по спискам х и у. Тогда можно эффективно определить, является ли пересечение Q(x, у) HQ' языком типа 2. Но по
лемме 4а это пересечение является языком типа 2 тогда и только тогда, когда оно пусто и, следовательно, когда комбинаторная проблема имеет для списков х и у отрицательное решение. Тогда мы получили бы алгоритм для решения проблемы Поста, что не^ возможно..
Теперь мы можем приступить к решению проблемы 4. Пусть 21 и Q(x) имеют то же значение, что и выше. Мы знаем, что не существует алгоритма, определяющего, пусто ли пересечение Q(x)DQ(t/). Но пустота пересечения эквивалентна равенству
(sXq(x))u(2\q(//))=s;.
Если удастся показать, что S*\Q(x) всегда является языком типа 2, то получим неразрешимость равенства Lqx U £q2 = 2i для грамматик Gb G2 типа 2 над Si. Отсюда мы сможем заключать, что невозможно эффективно определить, имеет ли место равенство £q = Si для грамматик G типа 2 над Si, поскольку грамматика, порождающая объединение Lqx U £о2> получается эффективно по Gt и G2.
Лемма 6. В предыдущих обозначениях языки Si \ Q (х) все являются языками типа 2.
Док аз ательство. Пусть М = ^ху | х £ So, у£ S”) (напоминаем соглашение о том,, что пустое слово не принадлежит So или S*). Тогда Q(x)eM и.
2* \ Q (х) = & \ М) U (М - Q (х)).
. Ясно, что М — язык типа 3, так что его дополнение S* \ М есть также язык типа 3, а следовательно, и. язык типа 2. Остается показать, что M\Q(x) есть язык типа 2, т. е, мы должны найти грамматику типа 2, которая порождает все слова множества М, не принадлежащие языку Q(x).
Читателю предоставляется убедиться в том, что следующая грамматика типа 2 порождает язык Al\Q(x): возьмем
^м= {5, А, Bv В^, Ba, Ср .Сп, Dv ..., Dn\, и следующие правила:
S-^B;, 2. S-^-By 3. S->B3-, 4. A^btxt;
A-^btAxt (Z = 1, ..., n); 6. B1->biA; 7. B1-»biB1(i = ln); 8. B2->Aay, 9. В2^В2а, <а,№, 10. Ba-*btCt; 11. Ba->blACl;
B3->6zS3(Z=lliy,‘
Ct-*x [для всех x, таких, что X(х) < X(х£\ Z = 1п];
Dz->x [для всех х+х^ Х(х} — Х{х^ Z = l, .... nV V?. D^D^; Хб-С^О^ VJ=\щ а,^.1
Идея, лежащая в основе этой грамматики, состоит в следующем: чтобы порождалось слово из M\Q(x), начнем строить слово из Q(x) и затем как-нибудь «испортим» это построение. (Болес подробное доказательство см. в приложении II.)
Лемма 6а. Языки S2 \ Q ^х> у) и 22 \ Q7 порождаются грамматиками типа 2, которые могут быть эффективно построены по х и у. Здесь через S2 обозначено объединение 2i U {с}. -
Теорема 8. Предыдущая лемма и рассуждения, предваряющие лемму 6, дают нам возможность заключить следующее: не существует алгоритма, который по грамматике G типа 2 с терминальным словарем VT определял бы, справедливо ли равенство Lq = Vt-
Перейдем к доказательству неразрешимости проблемы эквивалентности и проблемы включения для грамматик типа 2. Вначале покажем, что для грамматик одного и того же типа эти две проблемы равносильны, т. е. сводятся друг к другу.
Лемма 7. Для грамматик одного и того же типа i (t=0, 1, 2 или 3) разрешающий алгоритм для проблемы эквивалентности (£01 = £02) существует в том и только в том случае, когда существует разрешающий алгоритм для проблемы включения U-gx с Lq^
Доказательство. Доказательство непосредственно вытекает из соотношений .
Lqx = Lg2<^(Lqx с Lq2 и Lq2 с Lqx)>
Lqx С Lq2 <— ^Gx U ^G2) == Lq2* x
Теорема 9. Проблема эквивалентности для грамматик типа 2 неразрешима.
Доказательство. Если бы можно было эффективно определить, когда имеет место LGx = Lq2, то, в частности, можно было бы определить, в каких случаях справедливо равенство Lg = Vt» где VT — терминальный словарь грамматики G. Но это противоречило бы теореме 8, и наша теорема доказана.
Следствие. Проблема включения для грамматик типа 2 неразрешим®, ‘
Теорема 10. По грамматике G типа 2 невозможно эффективно определить, является ли Vt\Lq языком типа 2.
Доказательство. Предположим, что существует алгоритм, позволяющий узнать, является ли Vt\£g языком типа 2. Тогда, в частности, мы могли бы узнать, является ли языком типа 2 язык
£=2;\[&\q(x ^u^xq')]. ,
применив лемму 6а и тот факт, что грамматика, порождающая объединение LGx U Lq2, определяется эффективно по Gi и G2. Но язык L равен Q^x, у^ A Q' и, следовательно, мы могли бы эффективно определить, является ли Q(x, у) A Q' языком типа 2. А это в силу леммы 4 дало бы возможность решить комбинат торную проблему Поста.
Неразрешимые проблемы (грамматика типа 1)
Основным результатом этого раздела является доказательство неразрешимости проблем пустоты и бесконечности для грамматик типа 1. Кроме того, будет показано, что предикат ф =^> хр для грамматик типа 1 неразрешим. (Предикат ф=^ф зависит, кроме ф и ф, также от грамматики G.)-
Покажем вначале, что все пересечения Q(x) AQ(y) языков, определенных в предыдущем разделе, представляют собой языки типа 1. Это следует из теоремы о пересечении (контекстных языков), принадлежащей автору [8], но применительно к данному случаю будет дано специальное более изящное доказательство. Поскольку не существует алгоритма, определяющего, пусто ли пересечение Q(^)AQ(y), проблема пустоты для грамматик типа 1 должна быть неразрешима. Очевидно, что, когда множество Q(x) AQ(y) не пусто, оно бесконечно; следовательно, проблема бесконечности для грамматик типа 1 также неразрешима. Таким Образом, осталось доказать нижеследующую лемму:
Лемма 8. Все пересечения Q(x)AQ(y) являются языками типа 1.
Доказательство. Продолжаем использовать обозначения предыдущего раздела. Так, х=(хь ..., %п) и у=(уь ... ..., уп)—два списка по п слов в алфавите S, a 50={6i, ... ..., 6П} — алфавит из п новых, отличных друг от друга букв. Допустим, 2 = {аь ..., aPY Введем пр новых символов следующего вида:
. C={Czy |г = 1п; j=Xр\.
Если х, начинается с буквы а,, то обозначим через x't слово, полученное из хг заменой первой буквы на символ С^; точно так же через y't обозначим слово, полученное из у^ заменой первой буквы символом Ctj, если а,— первая буква уг. Например, если Х2=аза7а1, то x2 = C23a7av Кроме того, пусть а, (/ = 1, ..., р) — еще р новых букв, образующих алфавит 2. Для любого слова и в алфавите 2 U С обозначим через й слово, полученное из и заменой каждой буквы Qj на а,-. Например,, если и = ааСжа!1, то м=азС25Щ2_а если, как в предыдущем примере, х2=аза7а1, то •Х2 = С23а7а1- Теперь определим грамматику G как грамматику над алфавитом 2i = 2U2o с нетерминальным словарем KN = =2 U С U {S} и правилами
S->b/t
S -> btSx't ^l^k^ afilk ak^lj Cikaj "y'i-*yi G=1n;fe=L...,p).
Так определенная грамматика G типа 1 порождает язык Q(x)DQ(t/). Грамматика сперва подражает грамматике, порождающей слова bif ... bixXtx ... xit языка Q(x), а затем перебрасывает маркеры С№ через буквы а, до тех пор, пока не станет возможно привести полученное слово к виду Ь, ... Ь, у, ... у, . Лемма доказана.-
'г 1 1' г
Лемма 8а. Для каждой пары х, у пересечение Q (х, у) П Q' порождается грамматикой типа 1, которая может быть построена эффективно по х и у. ' .
Теорема 11. Предикат Ф =ф ф неразрешим для грамматик G типа 1. .
Доказательство. Теорема будет доказана для грамматик типа 1, использующих граничный символ. Если задана 0= =ДУм, Vt. S, #, Р)—грамматика с граничным символом, то добавим два новых символа ei и е2 и построим грамматику Gx = = kVN? VT? Sp #, Pj) типа 1. где VN = VN U VT U {^}. Vr = = {e2}, Si=5, a Pi — множество, включающее следующие правила:
каждое правило грамматики G;
для каждого а € Ут правила # а -> # et ■ и еха -» ехех,
правило ех й->е2 #.
Легко видеть, что язык LG непуст тогда и только тогда, когда S=^e2- Поскольку проблема пустоты для грамматик типа 1
-*•
неразрешима, неразрешим и предикат S=^e2 (для G\ типа 1). ,о
*
А тогда предикат ф=Фф (G типа 1) также неразрешим и тео- о
рема доказана.
Из доказательства теоремы 11 дополнительно следует, что невозможен эффективный метод, позволяющий узнать, применяется ли данное правило грамматики типа 1 хотя бы в одном выводе из начального символа.
Языки различных типов •
В данном разделе рассматриваются проблемы разрешения, связывающие между собой языки различных типов. Грамматики типа I будут обозначаться 6^. В основном нас интересуют следующие проблемы:-.
можно ли по данным I и / решить, совпадает ли язык L^ с языком L^p; ,
можно ли по данным I и / решить, является ли язык L<^ языком типа /.
Проблема 1) есть не что иное, как расширение проблемы эквивалентности; проблема 2) представляет интерес, только если Кр
Теорема 12. Для данных i, j, 0 -^ t -^ 3, О -С / < 3, не существует алгоритма, определяющего, справедливо ли равенство
Доказательство. Возьмем пару (t, /), удовлетворяющую условию теоремы, и зафиксируем грамматику HW, порождающую язык Vt. Поскольку для /=0, 1, 2 невозможно узнать, равен ли язык L^h языку V т = LH<3V расширенная проблема эквивалентности Lgm = LGU) неразрешима. .
Теорема 13. Для i=0, 1, 2, /=2, 3 и i<j невозможно эффективно определить, является ли язык L^ языком типа j.
Доказательство. Рассмотрим случаи / = 2, / = 3 и 7=1, /=2; остальные случаи с очевидностью вытекают из них, поскольку для к<1 грамматика G^ является и грамматикой GW. В случае / = 2, / = 3 предположим, что существует алгоритм для определения того, является ли Lq^ -языком типа 3. Тогда можно узнать, является ли языком типа 3 язык
(^XQtx, ^U^XQ') •
(сохраняя обозначения предыдущего раздела). Поскольку дополнение языка типа 3 также есть язык типа 3, мы сможем узнать, является ли языком типа 3 язык Q(x, у) A Q'. Но это приводит нас к противоречию в силу леммы 4а: если язык Q(x, у) AQ' непуст, он не является языком типа 2 и тем более не является языком типа 3.
Пусть теперь /=1, / = 2. Если бы мы имели алгоритм, определяющий, когда Lq^ является языком типа 2, то по лемме 8а мы могли бы определить, является ли язык Q(x, у) A Q' языком типа 2., Как и выше, используем лемму 4а и приходим к противоречию, которое и доказывает теорему.
Приложение 1 *)
Доказательство того, что какой-либо язык не является языком типа 2, опирается на основное свойство языка типа 2, сформулированное и доказанное Бар-Хиллелом и др. [6, разд. 4]. Ниже следует изложение этого основного свойства, слегка модифицированное в расчете на читателя данной статьи.
Теорема. Пусть G=^VN) VT, S, Р')—грамматика типа 2. Можно определить такие два натуральных числа р и q, что каждое слово z языка LG длиной Х^>р может быть представлено в виде z = xuwcy, где и+Х^ или офК, X^uwo^^q, причем все слова вида Zk=xuhwvky(k=\, 2, ...) также принадлежат языку LG.
Доказательство. Вначале построим грамматику G', эквивалентную G и не содержащую правил вида (Л, В), где В — единственный нетерминальный символ. (Такая грамматика может быть построена эффективно по G.) Затем построим приведенную грамматику G", эквивалентную G', и заметим, что по построению грамматика G" также не будет содержать правил вида (Л, В). Пусть п— число' нетерминальных символов грам-
!) Приложения добавлены при переводе. — Прим, ред-
Здесь Л обозначает пустое слово.—Прим. ред.
матики G". Как уже говорилось в данной статье, в грамматике G" существует лишь конечное число деревьев вывода с вершиной S, высота которых не превышает п. Число слов, выводимых при помощи таких деревьев, также конечно; обозначим через р максимум длин таких слов. Тогда слово г языка LG", длина которого больше р, должно порождаться деревом высоты >п. Пусть (Ль Л2, ..., Лг) (г>п) — самая длинная ветвь этого дерева, а (Лг_п, ..., Лг) — ее конец длины п+1. Этот конец будет самой длинной ветвью поддерева с вершиной Лг_п; следовательно, высота этого поддерева равна п+1.
По лемме 1 это дерево должно соответствовать выводу с повторением, а именно среди символов Лг_п, ..., Лг хотя бы один должен повториться, т. е. Ai=Aj = W (г — n^ i<j ^г). Рассмотрим поддерево с вершиной А^ Этому поддереву соответствует вывод в грамматике G" вида W (п=+Л или и+^Л), поскольку грамматика G" приведенная и не содержит правил (А/В). Кроме того, слово uwu, как нетрудно видеть, будет подсловом слова z; следовательно, z может быть представлено в виде z=xuwcy. *
Заметим теперь, что выводы VT^cplFip, cp=^>n, ф^у могут быть повторены к раз (6=1, 2, ...). Таким образом, в грамматике G" для любого к могут быть получены выводы Vr^q^VTilA S^xWy^x^W^y, и любое слово zh = = xuhwvky принадлежит языку Lg" = Lg.
Наконец, из того, что узел Аг принадлежит поддереву с вершиной Ат-п, вытекает, что высота поддерева с вершиной А^ не превосходит п+1. Тогда можно указать такое число q, что X(nwy) ^ q. Доказательство теоремы закончено.
Следствие. Язык Q(x,y) AQ' не является языком типа 2, если он не пуст. "
Доказательство. Вопреки предположению допустим, что язык Q (х,у) AQ' не пуст и является все же языком типа 2. Тогда язык Q (х, у) A Q' содержит сколь угодно длинные слова вида 2 = p/c/iPi, где р— слово в алфавите So, / — слово в алфавите 5, a Pi и /1 представляют собой отражения соответственно слов р и Л Очевидно, по любой из частей р, Pi можно однозначно восстановить все слово z.
Пусть теперь z— слово языка Q(x,y)[\Q', для которого Х(р) и Х(/) больше, чем р и чем q. По основному свойству языка типа 2 z = xuwcy, x(uwc) <.q и любое слово z^xu^wo^y должно принадлежать языку Q(x,t/) A Q'. Но из четырех частей р, t, tx, Pi подслово uwu может захватить одну или две соседние; остальные две или три останутся нетронутыми при изме-
нении к. Тогда очевидно, что ни при каком Ы=\ слово х^ не может принадлежать языку Q(x,у) HQ'. Это противоречие и доказывает наше следствие.
Приложение II ' .
Докажем, что грамматика с правилами 1—16, представленными на стр. 119, действительно порождает язык Af\Q(x). Доказательство будет опираться на следующие утверждения:
слово х выводимо из S (т. е. порождается данной грамматикой) тогда и Только тогда, когда х выводимо либо из Вь либо из В2, либо из В3 (правила 1—3);
слово х выводимо из А тогда и только тогда, когда z€Q(x) (правила 4, 5);
слово х выводимо из Bt (соответственно из В2) тогда и только тогда, когда x=tw (x=wt), где tw€Q(x) и t — произвольное непустое слово в алфавите 50(2) (правила 6—9);
слово х выводимо из Di тогда и только тогда, когда х— произвольное слово в алфавите 5, такое, что X(z) > Х(х<) и х не начинается словом X; (i=l, 2, ..., п) (правила 14, 15);
слово х выводимо из Ci тогда и только тогда, когда либо х выводимо из Di, либо х — произвольное слово в алфавите S, для которого %(z)<X(x{) (i=l, 2, ..., и) (правила 13, 16);
Из [4] и [5] следует, что х выводимо из Ci тогда и только тогда, когда z — произвольное непустое слово в алфавите S, не начинающееся с xt (i=l, 2, ..., п); '
теперь уже очевидно, что никакое слово, порождаемое этой грамматикой, не принадлежит Q(x) и принадлежит Af, т. е. принадлежит M\Q(x);
покажем, что любое слово языка Af\Q(x) порождается этой грамматикой. Если слово x^MXQ^x) начинается или кончается словом из Q(x), то оно, очевидно, выводится из Bi или из В2 и порождается нашей грамматикой. Пусть слово х£М\ \Q(x) не начинается и не кончается словом из Q(x). Поскольку z принадлежит М, имеем: 2=иу, и — слово в алфавите So, у — слово в алфавите S/Возможны два случая: либо у слова х есть подслово из Q(x), либо нет. В последнем случае, если обозначить через Ъ^ последнюю букву слова и, то ясно, что у не должно начинаться словом Xi. Но тогда у выводимо из Ci и все слово х может быть получено из Ва по правилам 10 и 12. В случае же когда х имеет одно или несколько подслов из Q(x), ясно, что все эти под слова вложены друг в друга и являются подсловами одного максимального подслова из Q(x). Обозначим последнюю букву левого крыла вхождения этого
максимального подслова через bt и заметим, что правое крыло этого вхождения представляет собой непустое слово, не начинающееся словом Xv Тогда оно выводится из Сг-, а все слово 2 получается из S3 по правилам 11 и 12 (плюс правила для вывода из Л и из Ct). Доказательство закончено.
ЛИТЕРАТ УРА
Chomsky N., On certain formal properties of grammars, Information _ and. Control, 2, № 2 (1959), 137—167. (Русский перевод: Хомский H., О некоторых формальных свойствах грамматик, Кибернетический сборник, вып. 5, ИЛ, 1962, 279—311.)
Chomsky N., A note on phrase-structure grammars. Information and, Control, 2, 393—395, 1959. (Русский перевод: Хомский H., Заметка о грамматиках непосредственных составляющих, Кибернетический сборник, вып. 5, ИЛ, 1962, 312—315.)
Rabin М., Scott D., Finite automata and their decision problems, IBMJ, 3, 114—125, 1959. (Русский перевод: Рабин M. О., Скотт Д., Конечные автоматы и задачи их разрешения, Кибернетический сборник, вып. 4, ИЛ, 1962, 58—91.)'
Davis М., Computability and Unsolvability, McGraw-Hill Book Co., № 4, 1958.
Cantor D., On. the ambiguity problems of Backus systems, J. ACM, 9 (1962), 477—479..
В a r - H i 11 e 1 Y., Perles M., Shamir E., On formal properties of simple phrase structure grammars, Zeitschrift fur Phonetih, Sprachwissen- schaft und Kommunikationsforschung, 14 (1961), 1'43—172.
Chomsky N., Miller G., Finite state languages', Information and Control, 1 (1958), 91—112. (Русский перевод: Хомский H., Мил. лер Дж., Языки с конечным числом состояний, Кибернетический сборник, вып. 4, ИЛ, 1962, 231—255.)
Landweber Р., Three theorems on phrase structure grammars of type 1, Information and Control, 6 (1963), 131—136.
Scheinberg S., Note on the Boolean properties of context free languages, Information and Control, 3 (1960), 372—375.
Moore E. F., • Gedanken-experiments on sequential machines, Automata Studies, 1956, 129—153. (Русский перевод: Мур Э. Ф., Умозрительные эксперименты с последовательностными машинами, сб. «Автоматы», ИЛ, М., 1956.)' .,
Ginsburg S., Rice Н., Two families of languages related to ALGOL, J. ACM, 9 (1962), 350—371.
Post E., A variant of a recursively unsolvable problem, Bull. Am. Math. Soc., 52 (1946), 264—268.*
KI ее ne S. C. Introduction to Metamatematics, Van Nostrand Company, - . N. Y., 1952. (Русский перевод: Клини С. К., Введение в метаматема*
• тику, ИЛ, М., 1957.)_
Марков А. А., Теория алгорифмов, Труды МИАН, т. 42.
Характеристика машинныхотображений1}
С. Гинзбург, Дж. Роуз
Введение. Обобщенной последовательностной машиной (сокращенно ОПМ) называется шестерка (Л, 2, А,- 6, %, р^, где К, 2, А — конечные непустые множества («состояний», «входов» и «выходов» соответственно), д (функция переходов)—отображение КХ2 в К, К (функция выходов)—отображение ^КХ2 в A*), a pi (начальное состояние) —выделенный элемент в К. (Для множеств слов X и Y.
XY^xylx^X, y£Y^ Х*=()Х\
1=0
где X°={8}, е — пустое слово. Таким образом, для произвольного множества ЕЕ* — свободная полугруппа, порожденная Е.) Функции б и Л распространяются на ^X2* по определению
' 6(/>, е) = ^, Цр, XjX2 ... х^ — ЦЦр, хг ... х^), х*],
Х(р, е) — е,.
и
Л (р, хг ... х^ = Х<р. х, ... х^ х [6 (р, х, ... х^), xj
для каждого р из К и каждой последовательности .хь ..., хк элементов 2. Функция f, отображающая 2* в А*, называется машинным отображением) или отображением, реализуемым ОПМ, если f (%) = K(pli %) для всех х из 2* для некоторой ОПМ S. Машинное отображение, реализуемое ОПМ S, обозначается также через S.
Цель настоящей заметки доказать, что функция f, отображающая 2* в А*, реализуется ОПМ тогда и только тогда, когда выполняются следующие условия:'
(О f(s)=e;
!) GinsburgS. and Rose G., A characterisation of machine mappings, Canad. J. of Math., XVIII, № 2 (1966), 381—388.
f сохраняет начальные подслова, т. е. если и — начальное подслово и, то /(ц) является начальным подсловом f(v);
выход f ограничен, т. с. существует число М, такое, что
для всех и в S* и а в 2 (\и\ обозначает длину слова и);
f-1 сохраняет свойство регулярности множеств, т. е. для каждого регулярного множества Ye А* множество /~1(У) = = {х//(х)€У} регулярно. Автоматом называется пятерка А = = (К, 2, 6, pt, F), где К и 2 — конечные непустые множества, д — отображение Кх2 в К, pi — выделенный элемент К и F — подмножество К (быть может, пустое); 6 распространяется на КХ2*, как в ОПМ. Множество U регулярно, если существует автомат А, такой, что
£/={^£2*|д(А, ^G/7}.
Из условий (i) — (iv) вытекает, что отображение f реализуемо ОПМ, откуда, согласно [5], следует, что
f сохраняет свойство регулярности множеств.
Статья состоит из трех разделов. Доказательство основного результата образует разд. 1. Контрпримеры, показывающие независимость условий (i) — (iv), даже при наличии (v) составляют содержание разд. 2. В разд. 3 приводятся два следствия.
Доказательство. Если f реализуемо в ОПМ, то выполнение условий (i), (ii) и (iii) очевидно, a (iv) доказано в работе [5].
Предположим, что f удовлетворяет (i) — (iv). Согласно (iii), существует целое число М, такое, что
If (wa)| — |f(w)|<M(1)
для каждого w из 5* и а из 2. Пусть,
U (а, -ау) = \и^ (аа^ = f (^) ту)м
для каждого w из (J^ и каждого а из 5. Во-первых, дока< у-о
жем, что
U {а, ад) есть регулярное множество.(2)
Пусть g»W =\и]иа^Х\ для каждого а из 2 и Х^2*. По работе [5, теорема 2.2] gaW регулярно, если X регулярно. Пусть At = (AM+1) *А* для каждого 0 ^.t ^ М и
м
V(a. ^-^ДгЧМ^пгЧ^
t-0-
для каждого а€2 им^€ U ^е
Поскольку Atw — регулярное множество, согласно (iv) регулярно и множество f-1(A^). (Класс регулярных множеств является наименьшим из классов множеств, содержащих все конечные множества и замкнутых относительно объединения, произведения и *. Кроме того, класс регулярных множеств замкнут относительно вычитания и пересечения [3].) Таким образом, множество ga[f-1(A^)] регулярно. Так как At регулярно, то регулярно и /^(А/). Поэтому множество V^a, w) регулярно. Рассмотрим произвольное слово иЕ U(a,w). Так как
-м
/ = 0'
существует целое число t, такое, что f(u) €At, т. е. u^f-1^). Так как
f (ыа) = f (ы) то £ А(то, иа^/"1(А,то)
и u Cgalf-^A/TO)]. Таким образом, Ща, w^sV^a, w). Теперь возьмем любое слово u€ V(a,то). Тогда для некоторого t и принадлежит каждому из множеств ga(f-'(AZTO)) и ^‘(At). Таким образом, ua€f-1(A;TO), т. е. f(ua) €А(ТО и /(и)СА<. Тогда для некоторых целых чисел h и i-
|f(zza)| = A(^+l) + ^ + |TOj,(3)
|f(«)| = Z(M+l) + t(4)
Согласно (и) и (1), Kua^f^v для некоторого слова у, |и[^Л1. Отсюда
№a)| = Z(M + l) + f + M(5)
Поскольку |v|, |^| ^>М, из выражений (3) и (5) следует, что |^| = |и|. Следовательно, w = v< так что f(wa)=f(u)w. Таким образом, u^U^a, w). Тогда U^а, w) = V{a, w) и имеет место утверждение (2). Рассмотрим конечное множество всех гомоморфизмов т полугруппы S* в А*, таких, что
м
T(a)eU А'
j-0
для каждого а из 2. Для каждого такого т положим
U^=\u^'L*\^ua^ = t ки^т^ для всех a £2}.
Поскольку
им^ Л и^а* х(а^'
множество (7(т) регулярно согласно (2). Множества 17 (т) ткн парно не пересекаются, а их объединение есть 2*. Для ка-* ждого т пусть Лт обозначает автомат (Кт, 2, бт, рт, F^, такой, что U(т) =Ци\6х (рТ1и) £ FTY Пусть ti, ..., тг— различные отображения т. Рассмотрим конструкцию A=(K, 2, 6а, рА, HV)... ..., Нг^ где
Ра = (Рх; •••• Рх> K = Kt X XKt,
bA = l(Pr •••• P^ a> = ^txkPv “)\(Pr’«))
для каждого набора (pi, ..., pr) € К и а^ 2 и для каждого i
Ht j = KTj — Ftj или Hi j = Ftj,
если jN=i или /=i соответственно, и Hi = HцХ ■.. У.Нir. Тогда ^Ш ^ i ^ г} является семейством непересекающихся подмножеств К ([3], стр. 109) и слово х входит в U^xi), тогда и только тогда, когда Ьа^Ра, х) €Н{. Наконец, пусть S является ОПМ (_К, 2, Д,~6а, X, рд), где для каждого р^К и а€ 2 Х(р, а) = =т,(а), если Н, содержит р, и Х(р, а)=е, если
. р^к- и^
Для завершения доказательства достаточно установить, что Х(рА, x)=f(x) для всех слов х. Име$м Х(рд, е) =f(e) =е. Предположим Х(рА, x)=f(x) для всех слов х, |х| <s. Для а€2 рассмотрим ЦрА,ха). Тогда
Ц/>д. ха) = Х(рА, х)Х[6А(рА, х), al=f(x)X[6A(pA, х), а].
Для некоторого i хЕ U^ti). Тогда 6а(Ра, х) £Hi. По определению X, Tj(a) =Х[6а(Ра, х),а]. Поскольку хС ^(т,),
f (^«) = f W ^i («) =-t№ [6Л (рд, х), а] = X (рд, ха),
что завершает доказательство.
Замечание. Доказательство показывает, что условие (iv) можно ослабить, требуя лишь, чтобы f"4Y) было регулярным для всех множеств У=(АМ+1)А^, где 0-<t^M и
м
'€ U Ау.
у-о
Контрпримеры. Покажем теперь, что ни одно из условий (i) — (iv) нельзя исключить даже при наличии (v). Функции f и f-1 сохраняют свойство языков быть контекстно-свободными для каждой из таких функций f, хотя этот факт мы не доказываем.'
Пример 1. Пусть S = A=(a, 6}. Для каждого слова w€S* положим f(w)=aw. Тогда очевидно, что f удовлетворяет (ii)— (v), но не (i).
Пример 2. Пусть 2=А=(а, 6}. Положим f(a)=b, f(b')=a и f(x)=x в остальных случаях. Очевидно, что f удовлетворяет (i), (iii) — (v), но не (ii).
Пример 3. Положим S={a, 6} и А=(а). Положим f(a<)=ai и f(a{bu) = a2i для i> 0 и u€S*. Очевидно, что f удовлетворяет (i), (ii), но не удовлетворяет (iii). Рассмотрим (iv). Пусть S является ОПМ ({pi, р^, {a}, {a}, 6S, Xs, Pi), где
6S(^P <z) = p2, 6s(p2, a) = pP Xs(j)v a) = e, Xs(p2, a^a.
Для каждого Y^a*
Г’(П=ки[$(гп№’.
Таким образом, f-1 сохраняет свойство регулярности множеств. Рассмотрим (v). Пусть Т обозначает ОПМ
({^р 9^* 2, А, бг, Хг, q^, где
бг(^Р а) = ^Р 6Г = ^2 в остальных случаях;
^г(^р #) = а2, Хг = е в остальных случаях.
Для каждого события X с S*
f (X) = ^Х П a*) U Т (X П а*Ь^*\
Таким образом, f сохраняет свойство регулярности множеств.
Пример 4. Пусть 2 = А = {я, by Положим f^bvw^a^b^V если |u|=Z>0, и f(x)=aM в противном случае. Ясно, что функция / сохраняет длину слов и удовлетворяет (i), (ii) и (iii). Для установления того факта, что f нс удовлетворяет (iv), достаточно показать, принимая во внимание основную теорему, что отображение f нс реализуется никакой ОПМ.
Предположим, что существует ОПМ S=(K> 2, А, б, X, рО, такая, что f(x)=S(x) для всех х€2*. Пусть pi, ,tM pt будут
различные элементы К. Тогда найдутся целые числа I и /, 1 ^Z<f+j ^i+J, такие что д(рь а^ ^6(рь aw). Имеем а2'+3 = f(aH ^ = ^pv aM Xbt+^ =
= X^Pv ai+3)K[b(pv al+3\ aw-*-jbt+^ =
= al+^[^pv al+j\ am-l-3bm\ так что
xtd^p a1*^, aw-l-3b,^ = a2,+3-1-3.-
Далее,.
X(pv at+1-jbt+^ = x(pv a^[^pv a1), a^1"1"^-
= а1к[^Р1, al+3\ at+1~'~3bt+2] =
= aV+3-z^ = a2,+3"' + f (aH1-3b<+2), т. e. получаем противоречие.
Рассмотрим (v). Пусть g обозначает отображение А* в А*, определенное посредством g^a^=a^ и g^bw) ^a^b^w, i^ 0. Тогда g реализуется ОПМ
- W-lVy"^. {а, Ь\, {а, 6], б„, Х„, г,),
где бм(Г1, а)=Г1, би = г2 в остальных случаях, Xu(pi, а)=а и Хи = Ь в остальных случаях. Заметим, что f(x)=fg(x) для всех х из 2*. Если х=а\ то f (аг) =fg(a’)- Если x = aibw, |ty|>i, то
' fW =а|х| =f(ai6b|®l ) =fg(x).
Если х = а'Ь™, | tw|>i, то,
f (х) = а21+xb'w 1 ~1 = f (albbx w') = f g (x).
Для доказательства того, что f сохраняет свойство регулярности множеств, возьмем произвольное регулярное множество R. Поскольку g реализуется ОПМ, g сохраняет регулярность множеств. Таким образом, g(R) с a*b* — регулярное множество. Множества слов {a^V/^i+l} и {аг7>^//>г + 1} являются контекстно-свободными языками. уГрамматикой называется четверка (V, S, Р, <т), где V—конечное множество, S — подмножество V, о — элемент V —2, а Р — конечное множество правил £ -> ту с | € V — 2 и w € V*.
Для слов х, t/C V* записываем х=^у, если х=у или существует натуральное число к и слова
X ===' Хр Ху е е е > Х^ £/, Ир • • • , Hh^p *Up е . . > V £ _ р
Ур . .., У^-х» 2)Zt-l,
такие, что Хг = щугОг, xw = uizi'ui и правила у^^г содержатся в Р для 1 <U^& — 1. Подмножество L слов из S* называется контекстно-свободным языком, если существует грамматика (V, 5, Р, о), такая, что L = ^w^ ^lo =ф w}.] Поскольку пересечение контекстно-свободного языка и регулярного множества является контекстно-свободным языком [1], множества
' R^gUWHiKi-^ и
являются контекстно-свободными языками. Возьмем гомоморфизм т множества 5* 'в а*, заданный посредством равенств т(а) =т(6) = а. Будучи гомоморфизмом, т сохраняет регулярные множества и контекстно-свободные языки [1]. Поэтому f^Rx^T^R^^a* является контекстно-свободным языком. Согласно [4] (теорема 4, следствие 2), каждый контекстно-свободный язык в а* является регулярным. Поэтому событие f(R\) регулярно.
Так как g(/?) = Ri U R2 и
f (/?) = fg (/?) = Ж U /?2) = f №) U f (Д2\
достаточно доказать, что множество слов f(R2^ регулярно. Для этого нам нужна следующая лемма.
Лемма. Для каждого регулярного множества В существуют регулярные множества Ui, ..., UT, Vi, ..., Vr co следующими свойствами*.
\JUiVi = B.
1=1
Для всех слов и, v, таких, что ио € В, существует натуральное число к, такое, что u£.Uh и у С V^.
Доказательство. Пусть А=ЦК, 5, 6, pi, F) — автомат, такой, что
■ В= (то |6(рр т^С/7}.-
Пусть pi, ..., рг — элементы К. Для каждого i пусть
^/ = {«62*|б(л- ^=рД и
Очевидно, что U^, ..., Ur, Vi, ..., VT удовлетворяют заключению леммы.
Теперь рассмотрим ЦКУу. Поскольку g(R)— регулярное множество, согласно лемме существуют регулярные множества Ui, ..., Ur и Vb ..., Vr, такие, что
(J UiVt = gW и
/=1
для всех и и v, таких, что uu^g^R"), существует натуральное число /, такое, что tt^Ut и и6 Vt. Для каждого к положим
U'feb = UbV\W^li>ti\-
Очевидно, что
^2= U U^bV^
Поскольку множество Uh регулярно, U^b является контекстно-свободным языком [1]; тогда Uh также является контекстно-свободным языком [5]. Для каждого к, 1 ^ к ^ г, f^bV^-TW^^bV^. где р, есть гомоморфизм, определенный посредством ц(а) = ц(&) =Ь. Тогда т(^)с« является контекстно-свободным языком и потому регулярным множеством [4]. Ввиду регулярности p(6Vh), множества f^UfebV^,
Г
а следовательно, f (/?2) = (J ^ VlAbV^ регулярны. ^=1
Следствия. Если f—отображение, сохраняющее длину слов, то мы получаем следующий результат, впервые доказанный (неопубликованный) Дж. Родсом и Е. Шамиром:
Следствие 1. Пусть f отображение S* в А*, сохраняющее длину и начальные подслова, такое, что f-1 сохраняет свойство регулярности множеств. Тогда f реализуется полной последовательностной машиной, т. е. ОПМ, в которой Л отображает KXS в А.‘
Замечания. (1) Известны другие характеристические свой-* ства отображений, реализуемых полными последовательностными машинами (см. [2, 7]).
i(2) Нам неизвестны способы доказательства основного ре< зультата, использующие следствие 1.
Возникает вопрос, при каких условиях частичное отображение f можно доопределить до отображения, реализуемого ОПМ. Здесь дастся один список условий. (Список условий на f для полных последовательностных машин дан в работе [6].)
Следствие 2. Пусть X^S% а / — отображение X в А*, удовлетворяющее следующим условиям:
если в СХ, то f (в) = е;
если и^и и иСХ, то f(u) ^f(v). (Отношение ^ на множестве S* является частичным упорядочением: и^с тогда и только тогда, когда и является начальным отрезком и.)
(Hi) Существует натуральное число М со следующим свой-^ ством: если и и и — элементы множества X, u<v, ни для какого х£ X не имеет места и<х<и, то
№)ЫИ«)|<М..
(iv) f-1 сохраняет свойство регулярности множеств.
Тогда f можно доопределить до отображения g моноида 2*, реализуемого ОПМ.
- Доказательство. Определим g следующим образом. Для х^Х положим g(x) = f(x). Если м>х не имеет места ни для какого х^Х, положим g^=г. Если х^Х, и>х и не существует у^Х, такого, что х<у<.и, положим g (и) = g (х). Ясно, что отображение g является продолжением f на 2*, которое удовлетворяет условиям (i), (ii) и (iii) из введения. Для доказательства реализуемости g на ОПМ достаточно установить, что g-x сохраняет свойство регулярности множеств.
Пусть Z^A* является регулярным множеством. По пред^ положению /^(Z) и X=f"1(A*) —регулярные множества. Тогда 771=f-1(Z), Н^ = Х— /^(Z) и Нг=^* — X являются непересе* кающимися регулярными множествами, объединение которых есть 5*. Тогда существует конструкция' z
(К, 2, б, pv Fv Fv F^ ’.
3
и Ft не пересекаются, (J Ft =К, так что
Н^^^^р^^РД для / = 1,2,3 (см. [3]).
Для всякого р^ К введем абстрактные символы р' и р". Для каждого а €2 введем абстрактные символы а' и а". Пусть S'= = {а/|аС2}, 2i={a', а"|аС2}, и пусть s0 — символ, не содержащийся в {р', р"\р^К\. Пусть т — гомоморфизм 21 в 2 , определенный посредством т(а') =т(а") —а для всяких а' и а" в Si. Сконструируем ОПМ S = (Кв, 2, 2b ds> Xs, s0) , где
Ks=WUIpV№
такую, что для £> = -r[S(2*)n S^S'] либо
'Du^ = g-4Z),-(*)
либоD = g-i(Z\(**)
и тем самым мы докажем, что множество g-1.(2) регулярно.
(a) e^Z. Пусть а принадлежит S. Если б(рр a^F^ положим 6s(s0, a) = b(pv а)" и \$(50, а) = а". В остальных случаях пусть 6s(s0, a) = b(pv а)' 'и Х5($о, а) —а'. Если б(р, a^FY пусть б5(//, а) = б(р, аУ и ^S(X> а) = а"; в остальных случаях
б5(//, а^ = Ь^р, аУ и Xs(^pf, а) = а'.
Если б (р, а) £ Fv положим 6S (р", а) = б (р, а)' и Xs (^", а) = а'; в остальных случаях пусть ьДр^'. a) = t>(p, а)" и Х$^р", а) = а".
Имеем e^Du(e) и 6^g-1(Z\ Если ни для какого х^Х не имеет места и ^- х, и ^ е, то и £ D и, ввиду того что g (и) = е, u-^g-X(Z\ Если ы^е принадлежит f-1(Z), то u£g~x (Z)(jD. Если x^f-1(Z) и и>х и не существует у^Х, такого, что х <у<,и, то
■' и с ^-1(z) ВН
ЕСЛИ ы£ X — f-1 (Z), то« лежит в S*—[D и {е}] и в 2*—g~1 (Z). Если х^Х — f-1(Z), и > х и не существует такого у^Х, что х<у<?и, то и лежит в S* — g-1^ и в ^*—[^U Iе)]- Следовательно, выполняется соотношение (*)..
(р) e^Z. Пусть я £2. Если б(рр a^Fv положим 6s(s0, а) = = б(рР а)Си1
Xs(s0, а^ = а. ■
В остальных случаях положим 6s(s0, а) = б(рр аУ и Xs(s0, ») = »"; определим^ (У, а), bs(p", a), XSU/, а) и Х$(р", а) так же, как и в (а). Соотношение (**) имеет место в силу тех же аргументов, что и в случае (а).
ЛИТЕРАТУРА
Bar-Hell el Y., Perles M.,. Shamir E., On formal properties of simple phrase structure grammars, Z. Phonetik, Sprachwiss. and Kom- munikationsforsch., 14 (1961), 143—172.
E 1 g о t C., Decision problems of finite automata design and related arithmetics, Trans. Amer. Math. Soc., 98 (1961), 21—51.
Ginsburg S., An introduction to mathematical machine theory, Reading, Mass., 1962.
Ginsburg S., R i с e H. G., Two families of languages related to ALGOL, J. Assoc. Comput. Mach., 9 (1962), 350—371.
Ginsburg S., Rose G. F., Operations wich preserve definability in languages, J. Assoc. Comput. Mach., 19 (1963), 175—195.
Летичевский А. А., Автоматные разложения отображений свободных полугрупп, Журнал вычислительной математики и математической физики, 2, № 3 (1962), 467—474.
Raney G., Sequential functions, I. Assoc. Comput. Mach., 5 (1958), 177— 180. (Русский пеоевод: Кибернетический сборник, вып. 3, ИЛ, 1961, 142—145.)
Об инвариантности классов языковотносительно некоторыхпреобразований1}
С. Гинзбург и Дж. Роуз
Линейно-ограниченный преобразователь (преобразователь с магазинной памятью) есть линейно-ограниченный автомат (автомат с магазинной памятью), снабженный выходной лентой. В работе дается ответ на следующие два вопроса: 1) Является ли множество S(L) языком некоторого известного класса, если S есть линейно-ограниченный преобразователь, или преобразователь с магазинной памятью, a L есть НС-язык, КС-язык, регулярное множество? 2) Можно ли по произвольным двум НС- или КС-языкам Lx и Л2 эффективно определить, существует ли линейно-ограниченный преобразователь (преобразователь с магазинной памятью), осуществляющий а) отображение Lx на L2 или б) нетривиальное отображение Lx в L2?
Введение
Если на каждом такте работы линейно-ограниченный автомат (автомат с магазинной памятью) осуществляет запись на выходе, то соответствующее устройство называется «линейноограниченным преобразователем» — сокращенно «ЛО-преобра- зователем» («преобразователем с магазинной памятью» — сокращенно «МП-преобразователем»). В настоящей работе дан ответ на следующие два вопроса:
Является ли множество S(L) языком некоторого известного класса, если S есть ЛО-преобразователь или МП-преобразователь, a L — НС-, КС-язык или регулярное множество?
Существует ли эффективная процедура, позволяющая по произвольным двум НС- или КС-языкам Li и L2 определить, найдется ли ЛО-преобразователь (МП-преобразователь), осуществляющий а) отображение Li на Л2 или б) нетривиальное отображение Lv в L2? '
Работа состоит из трех разделов. В разд. 1 дан обзор основных понятий, некоторые из них до сих пор не излагались в до-
^ Ginsburg S. and Rose G. F., Preservation of Languages by Transducers, Information and, Control, 9, № 2 (1966), 153—176. Эта работа частично финансировалась Кембриджскими исследовательскими лабораториями ВВС США.
статочно явной форме. Особый интерес представляет теорема 1.1, в которой утверждается, что граничный маркер в линейно-ограниченном автомате может быть элиминирован.
В разд. II рассматриваются ЛО-преобразователи. Если L пробегает всевозможные регулярные множества, aS — всевозможные ЛО-преобразователи, то S(L) пробегает всевозможные рекурсивно-перечислимые множества. Если на каждом такте работы ЛО-преобразователь осуществляет на выходе запись некоторой непустой цепочки и L— НС-язык, то S(L)—также НС-язык. Если L пробегает всевозможные конечные множества, a S — всевозможные ЛО-преобразователи, то S(L) пробегает всевозможные регулярные множества. Что касается вопроса 2), то существует алгоритм, позволяющий по произвольным регулярным множествам Li и L2 определить, найдется ли ЛО-преобразователь, осуществляющий отображение L^ на L2 (нетривиальное отображение Li в L2). В то же время не существует алгоритма, позволяющего по произвольным КС- (и, следовательно, НС-) языкам Lf и Р2 определить, найдется ли ЛО-преобразователь, осуществляющий отображение Li на Р2 (нетривиальное отображение Li в L2).'
Разд.. III посвящен изучению МП-преобразователсй. Для подходящего КС-языка L и подходящего МП-преобразователя S язык S(L) может быть произвольным рекурсивно-перечислимым множеством. Если L пробегает произвольные регулярные множества, a S — произвольные МП-преобразователи, то S(L) пробегает всевозможные КС-языки. Если на каждом такте работы МП-преобразователь осуществляет запись на выходе непустой цепочки, то S(L) есть НС-язык для каждого НС- (следовательно, для каждого КС-) языка L. Что касается вопроса 2), то существует алгоритм, позволяющий по произвольным двум КС-языкам Li и L2, не содержащим пустой цепочки, определить, найдется ли МП-преобразователь, осуществляющий отображение Li на Р2 (нетривиальное отображение Li в L2). В случае же когда Li и L2 могут содержать пустую цепочку, такого алгоритма не существует.
Языки и автоматы
Напомним определения некоторых известных понятий.
Определение. Порождающей грамматикой называется упорядоченная четверка G={V, S„ Р, а), где
V — конечное непустое множество.
2 — непустое подмножество К
Р— непустое конечное множество пар вида (и, и), и^ (V— 3)* — {8} и V* !).
a€V —2).д
Элементы множества V— 2 называются вспомогательными символами.
Элементы множества 2 называются основными (терминальными) символами.
Каждый элемент (и, v) множества Р называется правилом и обычно записывается и—* и.'
Обозначение. Пусть G=(V, 2, Р, а)— порождающая грамматика и Wi, w2£ V*. Тогда ^г^^, если существуют у, и, z, и, такие, что wx=yuz, w2 = yvz и и -* vС Р. Далее, w^*xx, если либо w=x, либо существует последовательность цепочек w0 = w, w{, ..., wk=x, такая, что ^=^^/+1 Для каждого I.
Последовательность цепочек ^о, ..., w^, такая, что w^ww для каждого i, называется выводом цепочки wk (из цепочки w^.
Используя введенное выше обозначение, определим понятие языка, порождаемого грамматикой. х
Определение. L с 2* называется языком, порождаемым грамматикой, если существует порождающая грамматика G = = (У, 2, Р, о), такая, что L = L(G) ={w С2*/о=Ф *w}.
Пусть G — некоторая порождающая грамматика. Будем го* ворить, что язык L порождается грамматикой G или что грам- матикаЛ? порождает язык L, если L = L(G).
Множество цепочек является языком, порождаемым грамматикой, тогда и только тогда, когда оно рекурсивно-перечислимо (Chomsky, 1959).
Мы будем рассматривать несколько типов языков, порождаемых грамматиками.
Определение. Порождающая грамматика G = (V, 2, Р, о) называется грамматикой непосредственно составляющих (сокращенно НС-грамматикой), если либо 1) каждое правило имеет вид y^z-*ywz, где £€ V— 2 и w=£=e, либо 2) о~*еСР и
!) Если X и У— некоторые множества цепочек и XY=^xyfx £ X, y^Y\ где ху— конкатенация цепочек х и у, то Х°={е} (е— пустая цепочка), Х^^Х^Х и ^«(J^. Таким образом, для произвольного множества /-о
символов Е Е* есть свободная полугруппа, порожденная множеством Е.
все остальные правила имеют вид y^z —> ywz, где | С V — S и до€(У— W)* — {е}. Язык L s S* называется НС-языкож, если L порождается некоторой НС-грамматикой).
Множество L является НС-языком тогда и только тогда, когда оно порождается некоторой грамматикой G = ^V, S, Р, а), такой, что либо 1) для каждого правила и—*и £ Р имеет место | и| ^ |о| ), либо 2) а —» е € Р и для всех других правил и—» и в Р имеет место \и\ <. |и| и и не содержит вхождений символа a (Chomsky, 1959, Kuroda, 1964) ).
Определение. Порождающая грамматика G = (V, 2, Р, а) называется контекстно-свободной (сокращенно КС-грамматикой'), если каждое правило имеет вид £ -» и, где £—вспомогательный символ. L s 2* называется КС-языком, если L порождается некоторой КС-грамматикой.
Каждый КС-язык является НС-языком (Bar-Hillel et al, 1961).
При рассмотрении НС-языков зачастую оказывается удобным использование так называемого «граничного маркера».
Определение. НС-грамматикой с граничным маркером называется упорядоченная пятерка (У,- 2, Р, а, *), где
tt€S.
(V, 2U{tt), Р, а) есть НС-грамматика.
В каждом правиле и->-и либо 1) u = tov ч) = то2; либо 2) «=#«л, -и=#1У2; либо 3) и =-$),#, v = w2#, где то,,
Определение. Пусть G есть НС-грамматика с граничным маркером. Множество
#£#—£((?) = [# ^#£ #2*#/#^
называется языком, порождаемым грамматикой G.
L^I7 является НС-языком тогда и только тогда, когда # L # порождается некоторой НС-грамматикой с граничным маркером (Landweder, 1963) )..
С классом всех языков (соответственно НС- и КС-языков) ассоциируется устройство, которое в некотором смысле характеризует этот класс. Хорошо известно (Davis, 1958), что машины Тьюринга позволяют получать рекурсивно-перечислимые множества (или языки, порождаемые грамматиками) различными способами. Наиболее интересующие нас классы языков, а именно НС- и КС-языки, характеризуются соответственно «линейно-ограниченными автоматами» и «автоматами с магазинной памятью», определения которых приводятся ниже.
Определение. Линейно-ограниченным автоматом (сокращенно Л 0-автоматом^ называется упорядоченная пятерка В = = б, 9о, F\ где
К — конечное непустое множество (множество состояний^.
S — конечное непустое множество (множество входных символов), КП2 = Ф-
б— отображение множества /(XS во множество всех подмножеств множества /<Х5Х{—1, 0, 1}.
q0 £ К (начальное состояние).
F^K (множество заключительных состояний).
Приведем формальное описание способа функционирования линейно-ограниченного автомата.
Определение. Цепочка из множества S*№* называется конфигурацией ЛО-автомата В = ^К, S, б, q^ F\
(Конфигурация а^ ... a^pai ... am, где 1 ^ i ^ т, для каждого i я^СХ, /?€ К интерпретируется как указание на то, что ЛО-автомат, находясь в состоянии р, обозревает f-й символ цепочки #1 ... ат.)
Определение. Пусть S = (V, S, б, q^ F) есть ЛО-автомат и |—в (или Н *, если В подразумевается) — отношение на мно' жестве 2*№*, определенное следующим образом: если и, и €2*, с € 5, то (1) исрао Н uqcbv, если (q, b,—1) € б(р, а); (2) ирао (— Н uqbv, если (^, 6,0) €б(р, а); (3) upav р ubqv, если (q, b, 1) С €б(р, а). Для каждого а€2*№* полагаем a Ra. Для а, p€S*KS* полагаем а Н*Р, если существуют а = а0, ..., а& = = р, такие, что а^ Н аш для каждого i<k.
ар Р означает, что ЛО-автомат переходит из конфигурации а в конфигурацию р за один такт работы. Так, например, при условии (q, 6,— 1) € б(р, а) запись uepat) |— uqcbv означает, что ЛО-автомат обозревает символ а в состоянии р, переходит в состояние q, заменяет а на b и сдвигает ленту на одну ячейку вправо. 2) и 3) интерпретируются аналогично. аН*р означает,
что ЛО-автомат переходит из конфигурации а в конфигурацию (3 за несколько тактов работы.
Заключительные состояния используются для «допускания» множеств цепочек.
О п р е д с л ен и е. Цепочка ку €2* допускается ЛО-автома- том В = (К, S, 6, go, Ру если 90^Ь*Р для некоторого |3 из ^F. Множество цепочек, допускаемых ЛО-автоматом S, обозначим через Г (В).
Заметим, что е€Т(В) тогда и только тогда, когда q^F.
Следующий результат был известен только для ЛО-автома- тов с граничным маркером 41= •.
Теорема 1.1. Множество X является НС-языком тогда и только тогда, когда существует ЛО-автомат В, такой, что х-т^ву '.
Доказательство. Известно [Kuroda (1964), теорема 1 и сноска 3], что X является НС-языком тогда и только тогда, когда существует ЛО-автомат В = (К, 2и {#}, б, q^ Fy удовлетворяющий следующим условиям:
/сУ; '
# е 2;
если (q, b, п)^6(р, #), то 6=#;
(4)Т(В) = Х#.’
Это утверждение распространяется на НС-языки, содержащие пустую цепочку.'
Чтобы доказать нашу теорему, достаточно показать, что ЛО- автомат В, удовлетворяющий условиям (1)— (4), существует тогда и только тогда, когда существует ЛО-автомат С, такой, ЧТо Х = Т^ 9.
Предположим, что существует ЛО-автомат С = (Кс> 2С, дс, qc, FcY такой, что Х = Т(С\ Пусть f, # А"с U S. Рассмотрим ЛО-автомат B = (KCUUV 2С (J {#}, б, qc, (Ц), где д(^, а) = = бс(q, аУ если q^Kc, а^с, и 6(7, #)={(/, #, 1)}, если q^F^y Очевидно, В удовлетворяет условиям (1) — (4).
Предположим, что В = (К, SU{#}, б, q^ F} — ЛО-автомат, удовлетворяющий условиям (1) — (4). Определим ЛО-автомат С==(Кс, 2с, 6с, 9с, Вс) следующим образом. Для всех q^.K и a€SU{#} введем новые символы q, а\ а и а (а означает, что
!) Эта эквивалентность противоречит замечанию Куроды [Kuroda (1964), сноска 3] о необходимости правого граничного маркера.
Если при задании функции f(x), значениями которой являются множества, для некоторого х значение не указывается, то имеется в виду, что
в В справа от обозреваемого символа а записан символ #; а означает, что в В слева от обозреваемого символа # записан символ а).
Пусть qc, R, L и # — абстрактные символы. Пусть
Kc = K\5\q!q^K^\3\qc, R. Ц и
2c = 2u{#}U{a', а. а/а€2и{#}].
Пусть Fc = \qlq^F\U^c\- если e6^> и Fc = \qiq^F\ в противном случае. Пусть
6С(^С, a) = ^R, а', 1), если a^S1);
bc(R, а) ={(£, а, —1), (R, а,1)}, если а £2;
6C(L, а) — {(£, а, —1)), если а £'2;
дс(£, а') — to0, а, 0)), если а £2;
Ьс(р, а) = Ь(р, а\ если р^К и а £2 и {#};
бс(р, а) ={(^, V-ХШ Ь, -1)Ед(/>, а)} и
и to- ь, 0)/(^, Ь, О)£Ь(р, а)} и
U {^, b, 0)l(q, b, l)^, а)}, если р^К и а£2и {#};
(11)6^, а) ={(^, a,Q)/(q, #, -1)66^. #)} U
U{(^, a, <Ш #, 0)€d(/>, #)}U U{(?, a, l)to, #, 1)€дф, #)), если p^K и а£2и{#].
Покажем, что ХсТ(С\ Определим отображение g следующим. образом. Пусть а, г>^(2и {#})*, «G^U}#}, q£.K; тогда g^uq-ua #) — uqva, g^uaq^ — aqa, g{ua # q) = aaq. (В остальных случаях отображение не определено, ср. со сноской 2 на стр. 143.) Нетрудно видеть, что для всех цепочек х ^ 2*—(е) и всех 5-конфигураций р из ^ох#|—др следует qcx\-*cg^. Итак, ХеТ^СУ
Предположим, что л^Т(С). Если х = г, то, очевидно, х £ X. Пусть х^ь. Тогда, как нетрудно видеть, х^* и для х = на (и С 2*, а^2) имеет место qcua \—*cqoua (—с ^q- гДе ®€(2U {#})*, 6^2и{#} и q^F. Индукцией доказывается, что если ^оиа|—^у, то существует р, такое, что ^оаа#|—дР
’) В оригинале. (5) бс(<?с,а)={(<7о,а,0), (R,a', 1)}, что усложняет кон- струкцию, не меняя результата. — Прим, перво.
и у = g (₽)• Отсюда qoua # Нв ^ # Ч* Следовательно, х # £ Т (5), откуда х^Х. Итак, T(QcX, так что 7 (С) = Х.
Перейдем к рассмотрению «автоматов с магазинной памятью».
Определение. Автоматом с магазинной памятью (сокращенно МП-автоматом^ называется упорядоченная семерка М = = (К, 2, Г, 6, Zo, 9о, f), где
К — непустое конечное множество (множество состояний^.
S — непустое конечное множество (множество входных символов).
Г — непустое конечное множество (множество вспомогательных символов).
б— отображение множества ^X(SU{8})XГ во множество всех конечных подмножеств множества КХГ*.
Z0€r.
q^K (начальное состояние).
F—.подмножество множества К (множество заключительных состояний) !).
Обозначение. Пусть дан МП-автомат
М = (К, 2, Г, б, Zo, q^ Fy .
Отношение |—^ (или |—*, если М подразумевается) есть отношение на множестве ^X2*XГ*, определенное следующим образом. Если Z^T, х£2и{е} и (q, у)£б(р, х, Z), то положим (р, хту, aZ)P~(q, ту, ау). Кроме того, будем считать (р, ту, а)Н*(р, ту, а) для всех р, ту, а. Для а, ££Г* их^2и{е) (1<С/<^) в случае, когда существуют последовательность состояний Р1=р> ...» pk^ = 4 и последовательность цепочек а1 = а, ..., аА+1 = р над Г, такие, что
(^. Xt ... хкч$), at)\-(pi+v xi+1 ... х^, а<+1),
где 1 ^ i ^ к, положим (р, Xi.. .x^w, a)H*(q, w, p).
Содержательно это означает, что МП-автомат имеет входную ленту, множество состояний и ленту магазинной памяти (на которую записываются вспомогательные символы), (р, xw, aZ) Н (q, w, ссу) означает, что, находясь в состоянии р и обо* зревая на входной ленте символ х (возможно, х = е)), а на
!) Эта концепция МП-автомата несколько отличается от общепринятой (Chomsky, 1962) наличием множества заключительных состояний.
ленте магазинной памяти крайний правый символ Z, МП-ав- томат переходит в состояние q, записывает цепочку у вместо Z и стирает к.
Определение. Цепочка w допускается МП-автоматом Л1 = (/(, S, Г, d, Zo, ^о, F\ если (^0, w, Zo) H*(q, е, а) для некоторых q^.F и а£ Г* ^ Множество всех цепочек, допускаемых МП-автоматом М, обозначим Т(М).
Множество цепочек является КС-языком тогда и^ только тогда, когда оно допускается некоторым МП-автоматом (Chomsky, 1962; Evey, 1963; Ginsburg, 1966).
Мы будем изучать также регулярные множества, называемые иногда «языками с конечным числом состояний».
Определение. Множество Х^2* называется регулярным, если X может быть получено из конечных множеств конечным числом применений операции объединения, умножения и итерации (операция итерации обозначается звездочкой*).
Определение. Конечным автоматом) называется упорядоченная пятерка Л = (/(, 2, 6, So, F\ где
К, 2 и F означают то же, что и прежде.
S0^K (множество начальных состояний). "
д — отображение множества Д' X 2 U {е} во множество всех подмножеств множества К, причем 6(q, е) ={^} для всех q^K.
Если So и каждое из множеств д(^, х) состоят из одного элемента, то А называется детерминированным конечным автоматом ).
Определение. Пусть дан конечный автомат А = ^К, 2, 6, So, F\ Будем говорить, что цепочка w = wt... wk, ^г6 2, допускается конечным автоматом Л, если существует последовательность состояний s0, ..., sk в К, s0С So и sk^F, такая, что 5i€6(Sj_i, Wt) для каждого L Множество всех цепочек, допускаемых конечным автоматом Л, будем обозначать Т(А).
Следующие три утверждения эквивалентны (Rabin and Scott, 1959): 1) X — регулярное множество; 2) Х = Т(А) для не-
9 В определении МП-автоматд в форме Хомского (1962) цепочка w считается допускаемой, если (^0, w, Z^ Ь*(<7, е, е) для некоторого q С К.
которого конечного автомата Л; 3) Х = Г(Л) для некоторого детерминированного конечного автомата А.
Каждое регулярное множество является КС-языком, а именно Х^2* является регулярным множеством тогда и только тогда, когда существует КС-грамматика G = (V, 2, Р, о), порождающая X и такая, что каждое правило из Р имеет вид ^->w^ или g~>w, где w£2*, v€ V— 2 (Chomsky, 1959).
П. Линейно-ограниченные преобразователи
Перейдем к рассмотрению линейно-ограниченных преобразователей. Содержательно линейно-ограниченный преобразователь есть не что иное, как линейно-ограниченный автомат, снабженный выходной лентой, на которой он может писать на каждом такте работы. Приведем формальное определение линейно-ограниченного преобразователя.
Определение. Линейно-ограниченным преобразователем (сокращенно, ЛО-преобразователем) называется упорядоченная пятерка S = (K, 2, А, р, ^0), где
К, 2 и^ имеют тот же смысл, что и в определении ЛО-автомата;
А — непустое конечное множество (множество выходных символов);-
р— отображение множества КХ^ во множество всех конечных подмножеств множества КХ2ХА*Х{—1, 0, 1}.
Изучая ЛО-преобразователи, мы будем использовать следующие обозначения (при этом соблюдается аналогия с обозначениями для ЛО-автоматов).
Обозначение. Пусть S = (K, 2, А, р, ^0) — ЛО-преобра- зователь. На множестве 2*К2*ХА* определим отношение Н* следующим образом: если u^iL*, о€2*, с 62, ^6 А*, то (1) ^исрао, w) Н ^uqcbo, wy), если (9, b, у, — 1)£р(р, а); (2) (upav, w) Н ^uqbo, wy^, если (9, b, у, 0) Ср(р, а), и (3) (upav, w) \—(ubqv, wy^ если (9, b, у. 1) Е р(р, а). Далее полагаем (и, w) Н*(и\ если либо и = и' и w = w\ либо существуют последовательности и = и0, и^ ..., uk = u\ w0 = w, ^ь • • •> wk = w\ такие, что (щ, w^ Н (u+1, ww^ 0<Л<.к—1.
Обозначение. Пусть S= (К, 2, А, р, q^ — ЛО-преобразо- ватель и w£2*; тогда S ^==^у[(^отй), е)(—*(р, у), где Р62*К}. Если X с 2*, положим S (X) = Q 5 (л).
х^Х
В частности, 5(e) =е.
Если S — ЛО-преобразователь, то отображение S(x) множен ства 2 во множество всех подмножеств множества А* назьь вается ЛО-отображением. '
т Известно, что каждый детерминированный конечный преобразователь !) отображает регулярное множество на регулярное множество (Ginsburg and Rose, 1963b). Естественно возникает вопрос, какова природа языка, являющегося образом НС-языка при ЛО-отображении.
Теорема 2.1. Если 2 содержит по крайней мере два символа, то класс НС-языков не замкнут относительно операции гомоморфизма. *
Доказательство. Пусть а — выделенный элемент множества 2, 2'=2-г{а} и G = (V, 2', Р, о) —произвольная порождающая грамматика, такая, что язык L(G) не является НС-языком. Мы можем считать, что а С V. Поскольку все НС-языки рекурсивны, такая грамматика G существует. Пусть goE V и G' = (V', 2, Р\ о)—порождающая грамматика, где V' = VU^, ga) и Р' состоит из следующих правил:
w -> у, где w ->у^Р и | w | | у |;
чю^у^™х"хух. где w-*y£ Р и |#|<|w|;
ЦЧ£а для каждого g€ V — 2;
^—*61^ '
Поскольку |u|<CM для каждого и^и^Р', L(G') является НС-языком. Пусть h — гомоморфное отображение множества 2* во множество 2*, определенное следующим образом: /г(х)=х, если х£2 —(а) и А(а) =е. Тогда h(L(G')) = L(G).
Замечание. Если L — НС-язык и h — гомоморфизм, такой, что Н^+г для каждого х€ 2, то Л (Л) —НС-язык.
Поскольку всякое гомоморфное отображение может быть осуществлено подходящим детерминированным конечным преобразователем, а следовательно, ЛО-преобразователем, то справедливо такое следствие:
Следствие. Образ НС-языка при ЛО-отображении в общем случае не является НС-языком. Для каждого рекурсивноперечислимого множества У существуют НС-язык X и ЛО-преобразователь S, такие, что S (X) = У.
В третьем разделе будут рассмотрены два случая, в которых преобразователи с магазинной памятью порождают КС-языки. Покажем, что в аналогичных ситуациях ЛО-преобразователи не всегда порождают НС-языки.
Определение. ЛО-автомат В = (К, 2, d, qo, F) и ЛО-преобразователь 5 = (К, 2, А, ц, ^0) называются согласованными, если д(р, «)={(</, b, m)l(q, b, у, т)^ц(р, а) для некоторого у€ А*} для всех (р, а) € Хх2.
Другими словами, ЛО-автомат и ЛО-преобразователь являются согласованными, если ЛО-преобразователь получен из ЛО-автомата добавлением выходной ленты.
Теорема 2.2. Для каждого рекурсивно-перечислимого множества Y существуют ЛО-преобразователь S, ЛО-автомат В, согласованный с S, и регулярное множество X, такие, что S (X) = =5(Т(В)) = У.
Доказательство. Из доказательства теоремы 2.1 видно, что существуют НС-язык W и гомоморфизм h, такие, что Y^^h^YF^. Пусть B^ — (K^i 2у^, ^W' 4w* Fур)— ЛО-автомат, такой, что W=Т (Bw). Определим ЛО-автомат.В=(^ 2, д, q0, F) и ЛО-преобразователь S = (/C, 2, Д, р,, q^ следующим образом. Для каждого q^Kw, <7—абстрактный символ. qw R, L, d— также абстрактные символы, не принадлежащие множеству \q. qlq^Kw\. далее, K=Vq- qlq£Kw]u{q0, R. ц, s=2vu{d} и F = \qlq^F^. Все символы, входящие в цепочки из множества А(2^), образуют множество А. Для каждого а^^, b(q0,d) = {(R,d, 1)}, d(/?, «) = {(/?, а, 1)}, b(R, d)=^L,d,-l^, b(L, а^ = {£, а, —1)}, б(£, d) — {(<7^, d, 1)}, b^q, a) = bw(q, а) для q£Kw, b^q.d^^q.d, 1)} для q^Fw, р (R,a) = {(R, а, А (а), 1)} и р(р, х) = {(q,.b, е, m)l(q, b, m^^b^p, %)}, если p + R или х^^.
Очевидно, что В и S являются согласованными, dWd=T(В), множество dS^d регулярно и SVl^wd^ = S ^dWd^ = Y. '
Замечание. Есл'и алфавит, над которым определено множен ство У, содержит не менее двух символов, то (при подходящем кодировании) множества X и Т(В) могут быть выбраны над этим алфавитом.
Однако при некотором ограничении на ЛО-преобразователь множество S(L) будет НС-языком, если L есть НС-язык.
Теорема 2.3. Для каждого ЛО-преобразователя S, непрерывно пишущего на выходе), и каждого НС-языка X множество S (X) является НС-языком.
Доказательство. Пусть # X # = L (О), где G = = (у, 2Р Р, о, #) — НС-грамматика с граничным маркером. Без потери общности можно считать, что если #а#=^*а, то а имеет вид ДР#, где р^ (!/—{#})*. Пусть S = (К, S, А, ц, q0). Поскольку S— ЛО-преобразователь, непрерывно пишущий на выходе, можно предположить, что у принадлежит множеству А (а не множеству А*—{е)), если ^q, b, у, т)£р.(_р, а). Мы можем также предположить, что множества V — 2Р К, 2 и А попарно не пересекаются. Определим НС-грамматику с граничным маркером, порождающую язык #S(A")#. Для каждых у^A, q^ и q^K пусть Еи, (q, а, —) и (—, а, у) — абстрактные символы [(^, а, —) означает, что в состоянии q ЛО-преобразователь обозревает символ а\. Пусть V содержит V, X, все символы (q, а, —), (—, а, у) и Еи ). Пусть О' = У, А, Р', а, #), где Р' содержит Р и все правила вида (q, а, а', у, у' обозначают элементы множеств К, 2, 2, А и А соответственно):
#а->#(?0, а, —);
(q, a, —)->у^р. b, —), если (р, Ь, у, 0)^^(^, а);
(q, а, —)а'-*^—, Ь, у)(р, а', —), если ^р, Ь, у, 1)6р(^, а);
(—, a', y')(q, а, —)^у'у<р. а', —)Ь, если ^р, Ь, у, —1)£ € н (^, «);
(—, а, у)у'-^у(—, а, у');
(q, а, —)#->£у#, если (.р, Ь, у, 1)^р.(^, а) для некоторых р и Ь\
(7) ((7) ((—, а, у)Еу-->Еиу';
(7) (
(7) (
уЕу' —> Еуу'",
# Еу -> # у.
Покажем теперь, что L(G') = #S(X) #. Пусть g и h.— гомоморфизмы, определенные на множестве V следующим образом: g^q, a, —)) = qa, g(a) = g((—, а, у)) = а, в остальных случаях g = e; Цу) = Ц(—, а, у)) = ЦЕу) = у и А = е в остальных случаях.
Предположим, что ту£5(х) для некоторого х^Х. Если ®> — е, то х = е и # да # ^ А (О'). Предположим, что х + е. Тогда для некоторого г ~> 1 ту = уг ... уг и каждое yt£k. Отсюда 4Ф О tt =^G' # ^ tt и■
(^ е)Н(Up уг)\- ... Н(«г, У1 • • • Уг)
для некоторых ар ..., аг, а^^К. Индукцией по /(1</<г) можно доказать [с учетом правил (1) — (6)], что существуют рр .... рг, такие, что
#х#^*, #Р!#^;, ...=^о, #pz#;_, _
если а^ра-и, где р^К и а £2, то ,pz = и(р, а, —) т>, где й^А*, й^Е*, g(pz) = az и /г(рг) = У! .. . yz; __
если az = upav, где и+ь, р С К, а £ S,to р; = и ^р, а, —) ч>, где «€△•[{(— Ь, У>^, уСА}*-{е}], Й£2*, g^ = at и h(Pi) = УХ ИЙ и
Pr С А* {(—* Ь. у)^, У^^Еуг и ЦМ = УХ .. • уг
Более того, из (7) и (8) следует, что #p#=^G, #А(р)# для всех ^\*^->МЖ^У^ПЕу1у£^.
Следовательно, из (9) и (11) вытекает
#0#^, #Х#^, #РГ#^О, #У, уг*.
Итак, #S(X)# сЦв'у.
Предположим теперь, что # ту # ^ А (О'). Если ту = е, то #е#£А(О) и, следовательно, #е#£ #5^)#. Пусть чю + г. Поскольку множества (И — SJ, S, К и А попарно не пересекаются, то существует вывод цепочки #ту#, в котором все применения правил из Р предшествуют применениям правил из Р'—Р. Итак, существует цепочка # х # £/. (О), т. е. х^Х, такая, что
# a # ^*0 # х # ^0, # ту #.
Пусть х = хг... xh и каждое xz^Sz. Нетрудно видеть, что если # х # =фд, # ту #, то существуют Pj = (^0, xv —)х2... хь, р2, ..., рг, тр ..., т5, такие, что
#x#^G,#p1#^0,...^0,#pr#^0,#T1#^0,.. . •. • =>о; # s # =^о' # ^ #;
всякий раз, когда # pz # =^о, # pz+1 #, применяется одно из- правил типа (2), (3), (4) или (5);
всякий раз, когда #т^ #=^0, #т^+1 #, применяется некоторое правило типа (7);
в -случае когда #ts # =>G, #та #, применяется некоторое правило типа (8); ■
в случае когда #pr#=>G, #Tj #, применяется некоторое правило типа (6).
Итак, к(х^ = та. Пусть далее ур ..., у< — последовательность, полученная удалением повторений из
(^(Pi),(^(М- Ж))-
Тогда YiH ... Н YtK^-®) Для некоторых у £2* и р^К. Следовательно, та^5(Х), т. е. L(G') с #8(Х) #.
Рассмотрим теперь образ конечного множества при ЛО-ото- бражении.1.
Теорема 2.4. (а) Если 8— ЛО-преобразователь и X— конечное множество, то S (А) — регулярное множество.
Для каждого регулярного множества W'sS* и каждой непустой цепочки w£2i существует ЛО-преобразователь 8, такой, что 8 (w) = W.,
Доказательство, (а) Пусть 8 = (К, 2, А, ц, q»). Без потери общности можно считать, что «/С A U{e} всякий раз, когда (q, b, у, пг) С р(р, а). Достаточно показать, что S(x) —регулярное множество для каждой цепочки х длины т>0.
Пусть А = (Ка. Ад, б, {уох}, Г)— конечный автомат, где
Кд-Ц^КЯ”"*, Е=^тК, Ал=Аи {а8), ае—абстрактный символ, 1-0
не принадлежащий множеству А, б (а, а) = {р С КА[(а. е) |— (р, а)} для всех (а, а)^КдХ^ и б(а, а8) = (р^Кд^а, е)|—(р, е)} для всех а^Кд. Пусть h— гомоморфное отображение Ад в А, определенное следующим образом: h(a) = a для всех а^Х и h(a6) = e. Индукцией по d можно доказать, что если
(Ро* е)Н$(Рц У1)Н? • ■ • Hs(Pd- У1 • ■ • У^-
где р0Р^б^л и z/iУ^бАЩе), то для всех i (\<1<Д) Pz€6(pz_P у'^, где у' обозначает ае, если yt — е, или уР если у^Х. Обратно, если PzC6(Pz-v zt)(i=\, ..., d-, р0, ..., ^Кд, zp .... zd^XA), то
(Pq* e)l s(Pl' ^(г1))1 S • • • I s(Pd* ^(г1 ■ • • Zd)\
Следовательно,;
S(x) = ^y((qox, e)|—*(p, у) для некоторого P€ Д] = h(T(A)).
Поскольку Г(Д)—регулярное множество, то h(T(A)) = S(x) также регулярно.\
Пусть А = (К, S, d, Pi, F)—детерминированный конечный автомат, такой, что W=Т(Д).. Положим ну = m»i... ау^, где ^>1 и wv, ..., ty^C Si. Пусть, кроме того, р2, • ■ -, Рь-и — символы, не содержащиеся в К, и /Cs=-^U{pi/2^i^fe + l}. Рассмотрим ЛО-преобразователь S = (/C3, Si, S, ц, pi), где
ц(^, ^)^ !(^(^ х\ wv х, Q)lx^} U {(А> ^р е> ^!р€Л
для р С К и
Н(А> ^/)={(Ачр ^, ^ 1)}
для 2-<л^&.
Нетрудно видеть, что S (tw) = Т(А) = W.
Замечания. (1) Пусть 5 = ({рь р^ р^ {а, Ь, с^Дх^УА Ц, Pi)— ЛО-преобразователь, где p(pi, ^)={(Pi, сц х, 1)}, ц(р1, 6) = = {(Рь Ь, х, 1)}, ц(рь с)={(р2, с,у, —1)}, ц(р2,Ь)={(р2,Ь, у,—1)}, ц(р2, а)={(р3, а, 2, 1)} и ц(р3, и)={(р3, и, 2, 1)}, где и=а, b или с. Тогда S(ab*c) =^xnynzn^x/n>i^ и язык в правой части равенства нс является КС-языком. Итак, образ регулярного множества при отображении, осуществляемом ЛО-преобразова- тслсм, непрерывно пишущим на выходе, в общем случае не является КС-языком и тем более регулярным множеством.
Согласно теореме 2.4 (б), существуют ЛО-преобразователь Si и символы а, Ь, с, такие, что Si (я) = ab*c. Пусть S — ЛО-преобразователь, описанный в замечании (1). Тогда SSi(a) ={xnynzn+1/n>iy т. е. SSi не является ЛО-отображе- нием. Следовательно, суперпозиция ЛО-отображений не обяза- тсльно является ЛО-отображением.
В работах (Ginsburg and Rose, 1963а) и (Ginsburg and Hibbard, 1964) рассматривались следующие алгоритмические проблемы. Существуют ли алгоритмы, позволяющие по произвольным КС-языкам X и У и по произвольным регулярным множествам X и У узнавать:
Существует ли детерминированный конечный преобразователь S, такой, что S (X) = У?
Существует ли детерминированный конечный преобразователь^, такой, что 5(Х)^У и S(X) бесконечно, если X бесконечно?
Рассмотрим аналогичные вопросы для ЛО-преобразователей, Из теоремы 2.4 (б) и из распознаваемости свойства регулярных множеств быть бесконечными (Rabin and Scott, 1959) следует, что для регулярных множеств и ЛО-преобразователей проблемы (1) и (2) алгоритмически разрешимы. В случае, же когда X
и У суть КС- (и, следовательно, НС-) языки, имеет место следующая теорема:
Теорема 2.5. Не существует алгоритма, позволяющего для произвольных двух КС- (и, следовательно, НС-) языков X и Y узнавать:
СуществуетлиЛО-преобразовательS,такой,что
S(X) = Y?
СуществуетлиЛО-преобразовательS,такой,что
S^X^^Y и 5(Л) бесконечно, если X бесконечно?
Доказательство, (а) Пусть X состоит из одного символа. Согласно теореме 2.4, ответ на вопрос (а) положителен тогда и только тогда, когда Y — регулярное множество. Поскольку не существует алгоритма определения по произвольному КС-языку, является 'ли он регулярным множеством (Ваг- Hillel et al., 1961) 1), проблема (а) алгоритмически неразрешима.
Пусть S = {a, Ь, с} и Х = а*— (е). Для каждой п-ки w=^wv, ..., wn) непустых цепочек из множества {а, 6}* рассмотрим КС-язык
L^=^ablx ... аЬ^стм.^ ... то. jk^ 1, 1 <ZV ..Zp<^j-.
Далее, для каждых двух n-ок х=(хь ..., хп) и у=^У^ ••• .. .„ уп) непустых слов из множества {а, 6}* рассмотрим КС-язык
Цх, y)=Q [сЦх)]”^)]".п = 1
- Покажем, что ЛО-преобразователь S, такой, что S(X)^ ^L(x, у) и S(X) бесконечно, существует тогда и только тогда, когда существует последовательность натуральных чисел ч, ... ..., ik, такая, что х. ... х^ = у^ ... у^. Поскольку последнее есть нс что иное, как алгоритмически неразрешимая проблема соответствий (Post, 1946), то проблема (б) алгоритмически неразрешима.
9 Сходные вопросы рассматриваются в работе Ландвебера «Проблемы разрешения в грамматиках непосредственных составляющих», перевод которой напечатан в настоящем сборнике, стр. 103—127. В частности, нераспозна- ваемость регулярности КС-языка доказана в теореме 13 (стр. 123). Распознаваемость пустоты и бесконечности КС-языка, на которые опирается доказательство теоремы 3.5, доказаны у Ландвебера в теоремах соответственно 2 и 3. В доказательстве теоремы 3.6 используется построение, отличное от работы Ландвебера, но нераспознаваемость «полноты» КС-языка доказана в теореме З. — Прим. ред.
Предположим, что существуют натуральные числа У, ..., /д, такие, что ' х. ... х^ = yt ... у^- Пусть S — ЛО-преобразо- ватель с одним состоянием ({/?}, (я), {а, Ь, с}, ц, рУ гдер.(р, а) = = (р, си (cabtk ... ab^cx^ ... х^, 1). Тогда
5 cab k ... abxcx. ... %. If
есть бесконечное подмножество множества L^x, у).
Допустим теперь, что S — ЛО-преобразователь, такой, что S(X)^L(x, у) и’5(Х) бесконечно. Возможны следующие два случая.
(a) S(as) бесконечно для некоторого s>\. Согласно теореме 2.4, множество S(ns) регулярно. Таким образом, множество S(as) является бесконечным регулярным подмножеством множества L^x, уУ Однако, как было отмечено при доказательстве леммы 3.2 (Ginsburg and Rose, 1963а), множество L(x, у) содержит бесконечное регулярное множество тогда и только тогда, когда существует последовательность натуральных чисел ib ..., ih, такая, что х( х =у .,, у
(Р) S(as) конечно для всех s>l. Поскольку множество S(X) бесконечно, a S(a) конечно, то существует />1, такое, что S(af)—Зу^ + ф. Пусть w^S^a*) — S(a). Существуют u^S(a) и u¥=e, такие, что w = uu. Поскольку и и w принадлежат множеству L^x, уУ то существуют г и s У<$У такие, что u^VcL^YVcL^Y и w^VcL(.xysYcL(yys. Тогда и имеет вид cpi ... ср2п где pt^ L^ для l^Z^r и /?iC L^ для г+1^^2г. Аналогично w имеет вид cq^ ... cq2s, где q^ L^ для 1^/^s и уг-СА(у) для s + l^f^2s. Поскольку w = uu, то pi = qt для X^i^^r. Тогда pr+i€ А(х) П А(у). Следовательно, существуют натуральные числа q, ..., К, такие, что
рг^г = ablk ... ablxcx. ... х.^ = abik ... abixcyt ... у^,
так ЧТО Хгх . . . ХЧ = Угх . . • Уг^
Замечание. Подходящим кодированием можно добиться, чтобы язык У содержался во множестве {a, by.
III. Преобразователи с магазинной памятью
Данный раздел посвящен изучению устройства, которое находится в том же отношении к МП-автомату, в котором ЛО-преобразователь находится к ЛО-автомату.
Определение. Преобразователем с магазинной памятью (сокращенно МП-преобразователем) называется упорядоченная семерка S = ^K, 5, Г, А, р, Zo, q^, где
К, 2, Г, Zo и q0 имеют тот же смысл, что и в определении МП-автомата;
А — конечное множество (множество выходных символов) ;
р— отображение множества /<Х(2и{е})ХГ во множество всех конечных подмножеств множества КXГ*ХА*.
Приведем формальное описание способа функционирования МП-преобразователя. Это описание аналогично соответствующему описанию МП-автомата.
Обозначение. Пусть S = (АГ, 2, Г, А, р, Zo, q^—МП-пре- образователь. Определим отношение (—* на множестве КХ^*Х ХГ*ХА* следующим образом: для произвольных Z^F и х£2и{е} имеет место (/?, хчн, aZ, y)[—{q, w, av, yyx\ если (.q, V» Ут) € H (P> x, Z). Пусть, кроме того, (p, w, а, у) |—* (p, ту, a, y) для всех p, ®, а и у. Для a,p£F*, у,у'£А* и xz£2u{e} (1 <О'С^) полагаем (_р, хх ... xhi$), a, у)|—*{q, w, р, у'), если существуют последовательность состоянийр^—р, ..., p^vi — q* последовательность аг = а, ..., а6+1 = р элементов множества Г* и последовательность y = yv ..., yk+1 = y' элементов множества А*, такие, что
(.Pt, Xi ... xbTt), щ, У^Х-ДРт- xm ... хкм, az+1, yz+1)
для l<i<A.
Обозначение. Пусть S = (К, 2, Г, А, р, Z^q^ — МП-пре- образователь. Для каждого x£2*S(x) есть множество цепочек у^ А*, таких, что (у0, х, Zo, е)(—*(у, е, а, у) для некоторого (0 а) € ATX Г*. Если Zc2‘, то SW = (J S(x).
Отображение х в S(x) для каждого х€2* называется МП-отображением.
Теорема 3.1. Для произвольного рекурсивно-перечислимого множества У существуют КС-язык X и МП-преобразова- тель S, такие, что S (X) = У.
Доказательство. Поскольку У — рекурсивно-перечис- димое множество, существует порождающая грамматика
G = (V, S, Р, а), такая, что L(G) =У. Пусть t и а — абстрактные, символы, не принадлежащие множеству V. Пусть
A =и X = ^d$M/o->p С ^} At.
Легко видеть, что X есть КС-язык. Пусть S = (К^ V U {d}, VU{Zo}, S, р, Zo, 90) — МП-преобразователь, где Z0C V, К= = {9о, 9ь 92» 9з} и отображение р определено следующим образом:
Н(?о> °- ^о) = {(^> ZQ, е)};
ц.(^р х,x^ = \^qvе, е)}для x£V;.
ц^р d,x) — {(q2,х, е)}для x^VU{Zo};
ц(^2* ^> z)= {(^2- Zx> е)1 Для x^V и Z^VUtZ^; '
ц(?2, d,Z) = i(qvZ, е),(q3, Z, e)} дляZ^VU (Zo);
n(^3, e,Z) = ^q3,e, Z)}для Z^S;
ц(?3, Л Z0)={(?3, e, e)}..
Покажем, что S(X) = y Пусть ю^У. Тогда существуют £>0, ту0, .... ту6+р и^ ^, -Ур р, (0<7<£), такие, что о = ту0, туйи = ту и для всех l<k iyt = uitl‘ul,4iat.H = u£i-ul и^->р,^Р. Нетрудно видеть, что для каждого I
(^0’ (Ио£о^ОИО^) • • • (М/^/^Р?И?^)’ ^ е)1 5 (^2’ ^’ ^0®?+1’ е)‘
Следовательно, (?0, ^u^od^Ru^ ... ^u^^d^RuRd^, ZQ, е)|—* |—* (^3, е, ZO40R, е) Р* (q3, е, Zo, ту) |— (^3, е, е, w), так что w^S (Х\
Предположим теперь, что to^S^x) для некоторого х^Х. Тогда х имеет вид (uo^odpRuRd) ... (u^fcdpRuRdy где ^>0, и0 = г и ^0 = а; и (^0, х, ZQ, е) [—* (^, е, е, ту) для некотррого q. Тогда
(^0, х, Zo, е)Н*(^, е, Zo, ®)Н(^> е, е, ту)
для некоторого q'. Очевидно, что q — q3 и q' —qY Тогда (^0, х, Zo, е)|-*(^2, d, Z^R, е)|-(?3’ е> ^о^* е)Н(^з> е- е> ^)- Как следует из определения отображения ц, для" некоторых •у0, ..., у6+1 имеет место о = ту0=^ту1=^> ... =>туа+1 = ту, где -ю1 = и.1^1'о1 и ,Divi = u-5>l4)l для 1<.к. Итак, ту^У, т. е. S(y) = y
Замечания. (1) Если S содержит по крайней мере два символа, то VU{d} может быть так закодировано элементами множества 2*, что для каждого рекурсивно-перечислимого
множества Уе2* можно подобрать КС-язык Xs2* и МП-пре- образователь S, такие, что S(X) = У. Однако это не имеет места, если 2 состоит в точности из одного элемента, скажем а. Каждый КС-язык Хеа* является регулярным множеством (Ginsburg and Rice, 1962). Согласно теореме 3.3 (см. ниже), множество S(X) является КС-языком. Однако существуют рекурсивно-перечислимые множества Yea*, не являющиеся регулярными, например, ^ап21п>\\
Если L — КС-язык и А— МП-преобразователь, непрерывно пишущий на выходе1), то 5Щ не обязательно является КС-языком. В самом деле, пусть S — {K, 2, Г, А, р, Zo, q^ — МП-преобразователь, где АГ = {^0, qv q^ <7зЬ ^ = \а, Ь, с}, Г = {a, b, Z^, К = \а, Ь, с} и отображение р определено следующим образом: р(у0, a, Z0)={(^p Zo, а)}, р^, a, Z^ = = ^qvZoa, а)), р(^, 6, Zo) = {(у3, Zo, 6)}, р(9Р а, а) = {(9Р аа,а^\, р(^1, b, a)={(q2, е, 6)}, р(у2, b, a)=\(q2, е, 6)], р(92, b, Z^ = = {(^3, Zo, 6)| и р(у3, с, Zo) = {(^3, Zo, с)}. Тогда если L = = {а1Ь^с^1,)^>\}, то S(Z.) = ^а1Ь1с1;1^> 1]. Итак, L является КС-языком, a S(Z.) — нет.
Эви (Evey, 1963) указал условия, которым должны удовлетворять S и L, чтобы язык S(L) был КС-языком, если L является таковым. Для полноты изложения приведем новое короткое доказательство этого факта.
Определение. МП-автомат М = (К, 2, Г, 6, Zo, qo, F) и МП-преобразователь S = (K, 2, Г, А, р, Zo, qo) называются согласованными, если для каждого (q, х, Z) tKX (2 U |е|) ХГ 6 (у, х, Z)={(p, а)/(р, а, у) € р(у, х, Z) для некоторого у€А*}.
Теорема 3.2. [Evey, (1963), теорема 2.6.6.] Если МП-автомат М и МП-преобразователь S являются согласованными и L = T(M),to S(L) — КС-язык. -
Доказательство. Пусть М — (К, S, Г, 6, Zo, q0, F) и S = {K, 2, Г, A, p, Zo, q0\ Пусть 2' — множество упорядоченных пар (х, у) ^(2 U {е])Хд*> Для которых существует (y,Z, р, а), такое, что (р, a, y^p^q, х, Z). Очевидно, 2х конечно. Пусть М' = (К, 2х, Г, 6ЛР, Zo, q0, F)— МП-автомат, где •
бм- (q, (х, у\ Z)={{p, а)/(р, а, y^^kq- х* ^
для каждого (у, (х, у), Z) СКхЕ'ХГ. Определим гомоморфное отображение f множества S'* во множество Д* следующим образом: f ((х, у)) = у для каждого (х, у) С S'.
Поскольку класс КС-языков замкнут относительно гомоморфизмов (1), достаточно показать, что f ] Г (ЛГ)] = £(/.). Пусть (Хр yj ... (хй, у^ £ Т (ЛК). Поскольку для всех q и Z имеет место дм- (у, е, Z) = <]>, существуют qxЧкС;К, где qkQF, и ах ... ай £ Р, такие, что
(у0, (Хр у^ ... ^xk, у^, ZQ\ ^(Ур (х2, у2) • • •
• • • (^- Ук> ai)hr • • • Нм- ^k-v (,xk> Ук)’ ак-1)Ьм- ^к- е- ак> Из определения отображения бдг и того факта, что М и S являются согласованными, следует, что
(^ф хг .., хк> Z^ е)| s^qv х2 ... хк, ar У^Н^ • • •
• • • Н(^_р xfe, ak_v Уг... Ук_х)Ь$(Ук’ е’ ак’ Ух • • • У к)
и (уо, хх...хк, Zq) j— м • • • Нм(Уа-1, Хк, ад-i) |—м(уд, е, ад). Итак, xx...xk^L и У1.. .yk=t ((xb yi)...(xft, у^) £ S (Z.), т. е. f[T(AK)]sS(K). Аналогично можно показать, что S(L) г?[Т(М')], следовательно, S (^L) =f[T (ЛК)].
Рассмотрим теперь образ регулярного множества при МП- отображении..
Теорема 3.3. Для произвольного МП-преобразователя S и произвольного регулярного множества L множество S(L) является КС-языком.
Доказательство. Пусть 5 = (К, S, Г, Д, ц, Zo, q^. Поскольку L — регулярное множество, существует конечный автомат А = (Кд, S, дл, р0, FA), такой, что L = T (А). Пусть S' = (кКХКА, S, Г, Д, р', Zo, k.qQ>p^ — МП-преобразователь, где
ц'((у, р), х, Z^VW- ЫР- х)), а, у)/(у', а, у)^ц(у. х, Z^
для всех ((у, р), х, Z) (КХКА) X (S Ще}ХГ. Пусть, далее, М' = (Д' X Кд, S, Г, дм-, Zo, (у0, р0), KX Fa)—МП-автомат, согласованный с S', с множеством заключительных состояний KXFа, и М = (К, S, Г, д, Zo, q0, К) —МП-автомат, согласованный с S, с множеством заключительных состояний К. Тогда S(T(A))=S(T(M) ПТ(А))=5'(Т(М')). Согласно теореме 3.2, S'(T(M')) — КС-язык.
Замечания. (1) Эви [Evey, (1963)., теорема 2.6.3] показал, что регулярное множество S*c, где с — символ, не принадлежащий
обладает следующим свойством: каков бы ни был КС-язык Ls2*, найдется МП-преобразователь S, такой, что S(2*c)=L. (Нетрудно показать, что при подходящем кодировании для произвольного КС-языка L существует МП-преобразователь S, такой, что S({a, &}*c)=L, где а, b и с — различные символы.) Имеет место также следующее утверждение (его доказательство мы опускаем): «для каждого регулярного множества R существует детерминированный конечный преобразователь S, такой, что S({a, b^*c)=R, где а, b и с — различные символы».
Пусть 2 = {а, b, с, d} и Ь=^а1Ь’с31ц /^1}. Согласно замечанию (1), существует МП-преобразователь Si, такой, что Si({a, b, c}*d) =L. Пусть S2— МП-преобразователь, построенный в замечании (2) к теореме 3.1. Тогда S2(L) ^aWc’/t >: !}• Поскольку S2S1({a, b, c^d) =\aibictll'> 1} не есть КС-язык, согласно теореме 3.3, S2Si не является МП-отображением. Итак, суперпозиция МП-отображений в общем случае не является МП-отображением.
Существует МП-отображение, не являющееся ЛО-ото- бражением. Рассмотрим МП-преобразователь S = ({p, ^}, (а), (Zo, а, Ь}, {а, 6}, , Zo, р\ где ц(р, е, Z)={(p, Za, a), (^, Z, a)} для ZC{Z0, a}, p(^, e, а1={(^, e, 6)} и ц(?, a, Z^=^q, e, 6)}. Очевидно, S(a) ={an6n/n^l} не есть регулярное множество. Согласно теореме 2.4, не существует ЛО-преобразователя Si, такого, что Si (a) =S(a).
Существует ЛО-отображение, не являющееся МП-отображением. Пусть Y=^aibiciIO\Y Тогда множество У рекурсивно перечислимо, но оно не является КС-языком. Согласно теореме 2.2, существуют ЛО-преобразователь S и регулярное множество X, такие, что S(X) = Y. Согласно теореме 3.3, не существует МП-преобразователя Si, Такого, что St(X)=y.
В замечании (2) к теореме 3.1 мы отметили тот факт, что если S — МП-преобразователь, непрерывно пишущий на выходе, и L — КС-язык, то множество S(L) не обязательно является КС-языком. Следующая теорема, аналогичная теореме 2.3, показывает, что множество S(L) должно быть НС-языком, если L — НС-язык и S — МП-преобразователь, непрерывно пишущий на выходе. '
Теорема 3.4. Пусть S = (K, 2, Г, А, ц, Zo, q») —МП-преобразователь, непрерывно пишущий на выходе, и L — НС-язык, тогда S(L) также есть НС-язык.
Доказательство. Пусть G= (V, 2, Р, с, *) — НС-грамматика с граничным маркером, порождающая язык ^Z,#. Без потери общности мы можем считать, что множества 2, А и
V — 2 попарно не пересекаются. Мы можем также считать, что s^L. [В самом деле, если e^L, то S(L) =S(e) U S(L— {e}), S(e)—КС-язык, a L— {e} — НС-язык.] Построим НС-грамматику с граничным маркером, G' = (V", Д, Р', о, ^), порождающую язык # S(L) #.
Пусть nj = max{ |у|/(у, у, ту)^ц(р, х, Z) для некоторых р, х, Z, q, ту] и n2 = max (|ту |/(у, у, ^V^vAP' х* 2) Для некоторых р, х, Z, q, у}. Всем x£SU [е], q^K, У С Г* длины <:«! и ту £Д* длины <,п2 сопоставим абстрактные символы ^х, q, у, ту), (—, q, у, чу), (—, —, у, ту), Ew и Fw. Пусть, далее, V' содержит как все элементы множества V U Д, так и все символы (х, q, у, ту), (—, q, у, ту), (—, —, у, ту), Ето и Fw; Р' содержит все правила из Р и все следующие правила [символы х, у, ту, т, Z, у (возможно, с индексами) обозначают элементы множеств 3, ЕЩе], А*—(е), Д*—[е], Г и Г* соответственно]:
44 х—> 44 (^» Уо> ^о. ®У«
#x->#(e, q0, Zo, e)x; -
(у, q, Z, e) -> (—, p, у, ту), если <р, у, ту) £ р (у, у, Z)\
(—, q, yZ, ту)—>(—, —, у, ту)(е, q, Z, е);
(—• Я* N^, ту) х->(—, —, у, чу)(х, q, Z, е);
(—, —, е, ту) -> Ew\
(—, —, yZ, 4yx)Ew->EW1^—, —, yZ, ту);
(—, —, yZ, чу)^—, q, е, чу^->^—, —, у, ту)(—, q, Z, ту^;
(—. я- у. w) # -*/7№ 44;
Е^уЕ-ф^ —^ Fщ,чух,
(—, —, у, ту)/7^-*/7^;
# Fw -> 44 чу.
Покажем, что L (О') = 44 S (L) #. Определим гомоморфные отображения gv g2, g3 и g4 на множестве V следующим образом: gx ((у, q, у, ту) ) = gj ((—, q, у, чу) ) = q, в остальных случаях S"! = e; g"2((y, q, у, чу) ) = g2 (у) = у, в остальных случаях ^=6; g3 ((у, q, у, ту) )=g3 ((—, q, у, ту) )=g3 ((—, —, у, ту) )= = У; КЛ<У' Я* Y. 4y)) = g4^—, q. у, 4y)) = g4^—. —, у, ту)) = = g4W = g4(Ew) = §4^а)) = '»>, в остальных случаях g4 = e. Пусть g = Uv S-г- Sa- gi)-
Предположим, что т/^5(ы) для некоторого a^L. Тогда 44 а 44 =Ф*, 44 и 44 и существуют ч)0 = е, -Ур ..., т^ Д*—[е], «1Uk^^\€\,qv ...» qk^K. y0 = Z0, ухУ6€Г*. такие,
ЧТО и = их .. . ик, -у — У] . . . Ч)к и
(у0, их ... ик. у0, -У0)Н(уР «2 • ■ • «ft> Yp fOH . ..
• • • НкЯк- е, Ук. Ч)х ... Ч)к).
П Зак. 1204
Индукцией по i можно доказать [с учетом (1) — (7)]. что для всех I <, к существуют р0рР такие, что
ft « ft ^G, # р0 # =>*о, ...=>;,# р, #;
если I < к, то существуют0^/■<I, Уу+1, .... У^Г*— (е) и Z. ^Г, такие, что yz = Y;+1 ••• У^г и'
у;, уi)(«1+v qv Ev ^aw
P^^^ ...^(-.-.Y'y+v ^+1)---(-’-’VLi’ ^-0^» где0</<7 и Y;+p • • •, Y*_j €Г*—{e}. Следовательно, согласно (8),#сг#=ф*, #«#=>$, #рй#^, ft-о ft. Итак,
#S(Z)#s£(G')-
Предположим теперь, что # у ft ^Lkp'\ Поскольку V —5, 2 и А попарно не пересекаются, существует вывод цепочки #®#, в котором все применения правил из Р предшествуют применениям правил из Р'— Р. Итак, существует цепочка #«# £ L(G), т. е. u^L, такая, что,
ft О # ^0, ft и ft ^Q, # V ft.
Нетрудно видеть, что если # и ft =Ф*, ftvft, то существуют Ыр .... мй2и (е), р1 = (цр ^0, Zo, е) и2 ... Ыд, р2 Р,, Тр ..., т5, такие, что.
а = их ... и^
ft И ft ^Q' ft Pj ft =^0' 1 • • =^0' ft Pr ft ^0' ft ^1 ft ^Q' • • • • =^G' # L # ^c ft ft!
всякий раз, когда ft pz ft ^G, ft pz+1 ft, применяется одно из правил типа (2), (3), (4), (5) или (6);
всякий раз, когда # т^ ft =^Q, # т^+1 ft, применяется одно из правил типа (8);,
в случае когда ft у, ft =^0, ft у ft, применяется одно из правил вида ftF^-^ftw; •
(17) в случае когда ft pr ft =>0, ft т, ft, применяется одно из правил типа (7).
Тогда ^4 (Рг) = ^4 (Ti) — у- Пусть ajа( — последовательность, полученная удалением повторений из
.'g-(Pi). • • •> ^ФД
Тогда ax = Vqo« их ... ик, Zv е) |— ... н о, = (^, е, у, ®) Для некоторых q£K и у С Г*. Следовательно, y^S(£), т. е. ^(G^c = #S(£)#».
Прежде чем заняться проблемами разрешимости для МП- отображений, докажем следующую лемму:
Лемма 3.1. Пусть Y^S*— КС-язык и w=f=z— элемент множества 21. Тогда существует МП-преобразователь S, такой, что S (zy) = У.
Доказательство. Пусть G = (У, 2, Р, о) — КС-грамматика, порождающая язык У, и <zy = ‘zy1 ... чук, для каждого I 4fi)t^v Пусть, далее, 5 = (/С, 2Р У (J {Zo}, 2> Н> ^о» ?о)— МП- преобразователь, где К = Vhl^ < / < £ + ij, Z0£V, ц(^0, е, Zo)— = {(^, Zna, 8)}, р^р е, х)= {(^Р е, %)} для всех х С 2, р(^р е, у= = {(^v Р** е)/£ -> Р С Р} для 5 € V—2 и р (^, ^z, Zo) = {(^+р Zo, 8)} для 1</<&. Непосредственно проверяется, что S(ту) = У.
Теорема 3.5. Следующие проблемы алгоритмически разрешимы для произвольных КС-языков (и, следовательно, регулярных множеств) X с 5Х — (е) и У с S2:
СуществуетлиМП-преобразовательS,такой,что
S(X)=Y?
СуществуетлиМП-преобразовательS,такой,что
S^^Y и S(Z) бесконечно, если X бесконечно?
Доказательство, (а) Если Х=ф, то МП-преобразователь S, такой, что S (X) = У, существует тогда и только тогда, когда У= ф, а свойство КС-языка быть пустым алгоритмически распознаваемо (Bar-Hillel et al., 1961). Предположим, что Х+ф. Пусть w— цепочка наименьшей длины, принадлежащая множеству X. Согласно условию теоремы, zy^e. Пусть S— построенный в лемме 3.1 МП-преобразователь, отображающий цепочку w на множество У. Из способа построения S и того факта, что w имеет наименьшую длину, следует, что если x = w, то 5(х) = У; в противном случае. S(x) = ф. Итак, £(Х)=У.
Доказательство аналогично доказательству в случае (а), поскольку свойство КС-языка быть бесконечным алгоритмически распознаваемо (Bar-Hillel et al., 1961).
В случае когда е£Х, проблемы (а) и (б) алгоритмически неразрешимы.*
Теорема 3.6. 'Для произвольных КС-языков X и У каждая из следующих проблем алгоритмически неразрешима:
Существует ли МП-преобразователь S, такой, что 5^ = У>
Существует ли МП-преобразователь S, такой, что S(X)^ г¥ и S(X) бесконечш^ если X бесконечно? "
Доказательство, (а) Пусть а, b и с — различные сим-* ВОЛЫ. Для произвольных П-ОК y=(t/i, . . ., Уп) И 2= (21, . . ., 2П) непустых цепочек над алфавитом {а, 6}* существует бесконечный КС-язык W^y, z)^a, 6}*, эффективно строящийся по у и 2 и такой, что VT(y, z) ={а, 6}* тогда и только тогда, когда не существует последовательности натуральных чисел ч, ..., 1^ такой, что yt ... y.^z^ ... z^ (Bar-Hillel et aL, 1961) !). Пусть
Г (у, г)={а, 6}* U W^ z)c{a> 6}*U{^ b^cW^ z)c.
Ввиду алгоритмической неразрешимости проблемы существования натуральных чисел ц, . .., U, таких, что Уг v • • Угь = — zlx ... Ztk (Post, 1946), достаточно доказать, что W^y, 2) = ={а, 6}* тогда и только тогда, когда существует МП-преобразо- ватель S, такой, что S (е) = У (у, z).
Предположим, что W(у, z) = (a, 6}*. Пусть 5 = ({у0 ^J, {a}, (Zo), \а, b, ^}, ц, Zo, у0) — МП-преобразователь, где ц(?0, е, Z0) = ((y0, Zo, а), (у0, Zo, 6), (у0, Zo, с)} и ц(уР е, Zo) = = {(?р Zo, а), (ур Zo, b), (^, е, с)}. Тогда
S (е) = У (у, г) = (а, 6}* и {а. 6]* с (а, 6}* U Vu Ь]* с{а, Ь}* с.
Предположим* теперь, что S = (,K, 5, Г, А, ц, Zo, qo) —МП-преобразователь, такой, что S(e) = У(у, z). Пусть
m = max {|а |/(у, у, «)£ц(р, е, Z) для некоторых р, q^K, ^€Г, у 6 Г*}’
Поскольку множество W^y, z) бесконечно, существует цепочка u£W(y, z), такая, что т^,\у\, Пусть да— произвольная цепочка, принадлежащая множеству {а, 6}*. Тогда weye^. ¥^,2) = =S(e). Согласно определению числа т, существуют и'^е, у", a, Z, у, р, q, такие, что ус = у"у' и
(^0, е, Zo, е)|—*s(p, е, aZ, wcv") |—s (q, е, ay, чи)су"ч)'^.
Тогда даси"€ 3(e) = У (у, z). Следовательно, дасо"С У (у, z)c{a, 6}* и да € IT (у, z). Поскольку да — произвольная цепочка, W (у, z\ = ={a, by.
Пусть а, b и с — различные символы и множества L(x), L(y) и L(x, у) определены так же, как в п. (б) теоремы 2.5. Пусть Х=а* и У(х, y)=L(x, у) U {е}. Предположим, что существует последовательность натуральных чисел i\, ..., i^, такая, что xt ... xlk = yt ... ylf. Пусть z = ^ca6tk ... ab‘1cxl ... xt^2.
') Теорема 6.2(a), — Прим, иерее,.
Тогда множество z* есть некоторое бесконечное подмножество множества У (%, у). Пусть S = ([p}, {a}, {Zo}, {а, 6, с}, ц, Zo, р) — МП-преобразователь с одним состоянием, где ц(р, я, Zo) = = (р, Zo, z). Тогда множество S(X)=z* является бесконечным подмножеством множества У (%, у).
Предположим теперь, что S= (/С, 2, Г, А, ц, Zo, у0)— МП-преобразователь, такой, что 5(Х)еУ(х, у) и S(X) бесконечно. Пусть
m= max {|z'|/(у, у, ?')€н(Л^) Для некоторых р, q£K>
zesu W> Z^V и убГ}.
Пусть 2 — цепочка из множества S(X), такая, что \z\>m. Тогда существуют I, j, и^е, v+г, а, 0, такие, что z = wo и
(у0, alt Z^ е) |—*(^, ^Л а> ^)Н(^ е> 0> а<1°¥
Итак, цепочка w=#s принадлежит множеству У(х, у) и ш)фи. Нетрудно видеть, что отсюда следует существование натуральных чисел ч, ..., ik, таких, что х. ... х. =у. ... у. .
Ч
Итак, 5(Х)^У(х, у), где S(X) бесконечно, имеет место тогда и только тогда, когда существует последовательность натуральных чисел ib • •., к» такая, что х.^ ... х^ = у^ ... у.^ а эта проблема алгоритмически неразрешима.
Замечание. При подходящем кодировании множества У можно считать, что Y^a, 6}*.
В заключение отметим, что проблемы, касающиеся МП-ото- бражений, алгоритмически неразрешимы для двух произвольных НС-языков X и У, даже если каждый из них не содержит пустую цепочку. В самом деле, рассмотрим проблему, относящуюся к отображению X на У. Пусть у=(уь ..., у^ и 2 = = (zb ..., 2П), у4=г, — произвольные n-ки непустых цепочек над алфавитом {а, 6}*, и пусть L(y) и L(z) определены, как в теореме 2.5. Пусть, далее, М(у, z)=L(y) 0L(z). Тогда множество М(у, 2) не содержит пустую цепочку в и М(у, z) есть НС-язык (Landweber, 1963), нс являющийся КС-языком (Bar-Hillel et al., 1961) !)» если только он не пуст. Тогда МП-преобразователь S, такой, что 5(a) =М (у, z) существует тогда и только тогда, когда М(у, z) = ф, а это алгоритмически нераспознаваемо. Рассмотрим проблему, относящуюся к отображению X в У. Пусть N^y, z)■= (J [Z (у) П L (z)]L Очевидно, что W(y, z) есть
9 См. приложение I к статье Ландвебера в настоящем сборнике.— Прим. ред.
НС-язык, не содержащий пустую цепочку в. Пусть Х = аа*. Тогда МП-преобразователь S, такой, что S(X) ^N^y,z) и S(X) бесконечно, существует тогда и только тогда, когда 1Ду) (]L(z)^= ^ Ф, а это алгоритмически нераспознаваемо.
ЛИТЕРАТУРА
В а г - Н i 11 е 1 Y., Perles М., Shamir Е., On formal properties of simple phrase structure grammars, Z. Phonetik, Sprachwiss. Rommunikations- forsch, 14 (1961), 143—172.-
Chomsky N., On certain formal properties of grammars, Inform. Control, 2 (1959), 137—167. (Русский перевод: Хомский H., О некоторых формальных свойствах грамматик, Кибернетический сборник, вып. 5, ИЛ, М., 1962.)
Chomsky N., Context-Free Grammars and Pushdown Storage, Quarterly Progress Report № 65, Research Laboratory of Electronics, MIT, 1962. Davis M., Computability and Unsolvability, McGraw-Hill, New York, 1958. Evey J., The Theory and Applications of Pushdown Store Machines, PhD Thesis, Harvard University, 1963.
Ginsburg S., The Mathematical Theory of Context Free Languages, McGraw- Hill, New York, 1966 (в изд-ве «Мир» готовится к печати русский пе- . ревод).
Ginsburg S., Hibbard Т. N., Solvability of machine mappings of regular sets to regular sets, /. Assoc. Comput. Mach., 11 (1964), 302—312. Ginsburg S., Rice H. G., Two families of languages related to ALGOL, /. Assoc. Comput. Mach., 9 (1962), 350—371.
Ginsburg S., Rose G. F., Some recursively unsolvable problems in ALGOL- like languages, I. Assoc. Comput. Mach., 10 (1963a), 29—47.
Ginsburg S., Rose G. F., Operations which preserve definability in languages, J. Assoc. Comput. Mach., 10 (1963 b), 175—195.
Kuroda S. Y., Classes of languages and linear-bounded automata, Inform. Control, 7 (1964), 207—223.
Landweber P. S., Three theorems on phrase structure grammars of Type I, Inform. Control, 6 (1963), 131—136.
Post E., A variant of a recursively unsolvable problem, Bull. Am. Math. Soc., 52 (1946), 264—268.
Rabin M., Scott D., Finite automata and their decision problems, IBM J. Res. Develop., 3 (1959), 114—125. (Русский перевод: Рабин M. О., Скотт Д„ Конечные автоматы и задачи их разрешения, Кибернетический сборник, вып. 4, ИЛ, М., 1962.)
Обинвариантности класса НС-языковотносительно некоторых отображений^
С. Гинзбург и Ш. Грейбах
В работе доказана теорема, определяющая условие, при котором класс языков непосредственных составляющих (НС-языков) замкнут относительно гомоморфизмов (в том числе и некоторых укорачивающих гомоморфизмов). С помощью этой теоремы получаются, следующие основные результаты: указываются условия, при которых преобразователи с магазинной памятью и линейно-ограйиченные преобразователи переводят НС-языки в НС-языки; доказывается, что грамматики некоторого специального вида порождают НС-языки, а не произвольные рекурсивно перечислимые множества; особый интерес представляет тот факт, что если правая часть каждого правила грамматики содержит хотя бы один основной символ, то язык, порождаемый такой грамматикой, является контекстно-свободным.
Введение
В теории контекстно-свободных языков (КС-языков) одним из важных методов является преобразование данного КС-языка в другой КС-язык с помощью какого-либо оператора, относительно которого класс КС-языков замкнут. Представляется правдоподобным, что этот метод может оказаться полезным также и в теории НС-языков. В настоящее время известно несколько общих операций, относительно которых класс НС-языков инвариантен. Сюда относятся пересечение с другим НС- языком (Landweber, 1963) ), отображение, осуществляемое преобразователем с магазинной памятью (Ginsburg and Rose, 1966), и отображение, осуществляемое линейно-ограниченным преобразователем (Ginsburg and Rose, 1966). Однако класс НС-языков замкнут относительно последних двух отображений только при условии, что соответствующие преобразователи
9 Ginsburg S. and G г е i b а с h Sh., Mappings which Preserve Context Sensitive Languages, Information and Control, 9, № 6 (1966). Эта работа финансировалась согласно программе независимых исследований SDC (System Development Corporation). Контракт AF—19/628/5166, Кембриджская исследовательская лаборатория, программа алгоритмических языков, проект № 5632, задание № 563 205.
пишут на выходе непустую цепочку на каждом такте работы. Цель настоящей работы — указать ситуацию, в которой данное ограничение может быть ослаблено. Это достигается путем введения некоторого общего условия, гарантирующего замкнутость класса НС-языков относительно гомоморфизмов одного простого типа. [Грубб говоря, это условие состоит в том, что длина цепочки х ограничена сверху линейной функцией от длины цепочки h (х).]
Работа состоит из четырех разделов. В разд. I приводятся необходимые предварительные сведения и вспомогательные утверждения; здесь же доказывается, что класс НС-языков замкнут относительно гомоморфизмов некоторого специального вида. [После того как работа была сдана в печать, мы обнаружили результат Гладкого (1963), из которого как следствие может быть получена теорема 1.3. С другой стороны, результат Гладкого может быть легко доказан с помощью теоремы 1.3 и некоторого видоизменения доказательства теоремы З.1.] В разд. II рассматриваются приложения основного результата первого раздела к различным отображениям, таким, как отображение, осуществляемое преобразователем с магазинной памятью, и отображение, осуществляемое линейно-ограниченным преобразователем. В разд. III используется основной результат первого раздела для доказательства того, что грамматики некоторого специального вида порождают НС-языки, а не произвольные рекурсивно перечислимые множества. Разд. IV посвящен доказательству того, что если каждое правило грамматики имеет вид и —>и, где и — непустая цепочка вспомогательных символов и и содержит по крайней мерс один основной символ, то такая грамматика порождает КС-язык.
Надо заметить, что некоторые теоремы разд. II становятся более очевидными, если использовать хорошо известный факт, что множество цепочек тогда и только тогда является НС-языком, когда оно допускается некоторым линейно-ограниченным автоматом (Kuroda, 1964). Однако доказательство того, что некоторый линейно-ограниченный автомат допускает в точности то или иное множество цепочек, значительно сложнее рассуждений, приводимых в работе.
Основной результат
Прежде всего напомним определения необходимых основных понятий, относящихся к грамматикам и языкам. Затем будет доказано, что класс НС-языков замкнут относительно гомоморфизмов (в том числе и некоторых укорачивающих гомоморфизмов), удовлетворяющих приведенному ниже условию.
Определение. Порождающей грамматикой (грамматикой) 9 называется упорядоченная четверка G = (V, 2, Р, о), где (1) V — конечное непустое множество.
2 — непустое подмножество множества V.
а С V — 2.
Р— конечное множество правил вида (и, и), где и^ (V —2)* —{е}и у€7*).
Элементы множества V — 2 называются вспомогательными символами (variables). Элементы множества 2 называются основными символами (terminals). Элементы множества Р записываются обычно в виде «и-^о»*
Обозначение. Пусть G = (V, 2, Р, от)—порождающая грамматика. Если wb w2 £ V* и и—*и £ Р, то полагаем wtuw2 =^ => wiyw2. Кроме того, х =Ф *у, если либо х = у, либо существуют Xi, ..., хп, такие, что xt=x, хп=у и х^=^ xw, 1 -^i<n. Последовательность цепочек z^o, •. •> w^ такая, что Wt =^> ww, 0 ^ i<kv называется выводом цепочки wk из цепочки w0.
Теперь мы можем определить НС-языки.
Определение. Грамматика G = (V, 2, Р, а) называется монотонной, если для каждого правила и-*о^Р либо (1) Ы^Ы) и и€ (V —{а})* — {е}*; либо (2) u = ohu^V*. Множество £^2* называется языком непосредственных составляющих (сокращенно НС-языком), если существует монотонная грамматика G=(V, 2, Р, а), такая, что £ = £(О),где L(G)=^w €2*/а =Ф*^}. Будем говорить, что грамматика G порождает язык L ).
*) Это определение несколько отличается от определения порождающей грамматики в форме Хомского. Его цепочка и из п. (4) может быть произвольным элементом множества V* — {е}. Однако порождающая сила грамматики при настоящем определении та же, что при определении Хомского.
Каждый НС-язык является рекурсивным множеством, но существуют рекурсивные множества, не являющиеся НС-языи ками.
При изучении НС-языков одним из важных вопросов является вопрос о том, относительно каких отображений замкнут класс НС-языков. Следующий общеизвестный результат до сих пор нигде нс был изложен в явной форме.
Теорема 1.1. Если f— подстановка, определенная на множестве 5* !) и такая, что для каждого а^^ множество f(a) является НС-языком и не содержит пустой цепочки е, и L — некоторый НС-язык, то множество f(L) также является НС- языком.
Доказательство. Пусть L = L(<G), где G = (V, S,P,n)— некоторая монотонная грамматика. Без потери общности мы можем считать, что L^S* —{е}. Можно, как заметил Курода (Kuroda, 1964), допустить, что Р состоит из правил следующих видов ($ — некоторый выделенный элемент множества V — -2-W):
о-»$о и а-»$.
В1В2-*ВзВ4 для некоторых Вь В2, В3, B^V— 2 — {а}.
В-*а для некоторых В € V — S и а €2.
Пусть для каждого а€2 Ga = (Va, Sa, Ра, аа) — монотонная грамматика, порождающая множество f(a). Можно предполагать, что (Va — Sa) П (V — S) = ф И (Va — Sa) П ( Vb — 5Ь) = ф, где a, 6€S и a+b. Пусть G' = (V', [J Sa, P', a) — монотонная a грамматика, где
^=0 PaU(P-VB->afB^V-^ a^)U\B^ojB->aeP\.
Очевидно, L(G') =f(L).
Условие, что каждое из множеств /(а) не содержит пустой цепочки в, является существенным. Например, в работах (Evey, 1963; Ginsburg and Rose, 1966) был. получен следующий результат:
Пусть для каждого a £ 2 2a — конечное непустое множество и Ца) С2*. Пусть f(e) = {e} и f(xx ... xd = f (^D ... f (хг); Для каждого i xt^* Тогда отображение f называется подстановкой. В случае когда для каждого а £2 множество f(a) состоит из одной цепочки wat принадлежащей множеству Sa, отображение f называется гомоморфизмом и рассматривается как отображение множества 2* во множество ^(J ^«j •
Теорема 1.2. Пусть £ е 2* — рекурсивно-перечислимое множество, символ с С 2 и рс — гомоморфное отображение, определенное следующим образом: цс(а)=а для a^S и цс(с) = = е. Тогда может быть эффективно построен НС-язык U с 2*с*, такой, что цс (£')=£.
Класс НС-языков не замкнут относительно произвольных гомоморфизмов, поскольку они могут «стирать». Однако класс НС-языков замкнут относительно гомоморфизмов с «линейным» укорачиванием («стиранием»). Это понятие будет разъяснено ниже.
Обозначение. Пусть 2 — произвольный алфавит, символ с £ 5 и 2c=2U(c). Тогда рс — гомоморфное отображение, определенное на множестве 2» следующим образом: рс(а)=а для а€ 2 и цс(с) =8.•
Лемма 1.1. Пусть £s2*(c22*)*— НС-язык, где с С 2. Тогда множество рс^Ц также является НС-языком.
Доказательство. Пусть £ = £(G), где G = (V,2C, Р, а)— монотонная грамматика. Пусть
Ев = (ту/ту £ £ — цепочка четной длины} и•
£0 = (ту/ту ^ £— цепочка нечетной длины}.
Множества [ту С 2^—цепочка четной длины) и {w С 2* — цепочка нечетной длины) являются НС-языками. Поскольку пересечение НС-языков есть НС-язык (Landweber, 1963), множества Le и Lo являются НС-языками. Так как объединение НС-языков есть НС-язык и £ = £eU£o, достаточно доказать утверждение для L = Le и £ = £0.
Пусть L = Le, доказательство для множества Lo аналогично. Очевидно, мы можем предположить, что е€ £е. Мы можем также считать, что множество Р состоит из правил следующих видов ($ — некоторый элемент множества V — 2С — {а)):
а->$а и о-*$.
В^г—»В3В4 для некоторых В^ В3, В3, В^ V—2С — {о}.
В—*b для некоторых ВС V — 2С и 6£2С.
Пусть G'=^V', 2, Р', ст)— монотонная грамматика, определенная следующим о0разом: V'={ct)U (VxV) U2. Множество Р' содержит следующие правила:.
Начальные правила: а-»($, $)о и о->($, $).
Промежуточные правила: (Вь В2)->(В3, В Аи
(A, Bi) (В2, В2) -* №, S3) (В4, D2) для всех BtB2—>В3В^ ^Р и всех Db D2C V — 2С — {о}.
Терминальные правила: (В, D) —* (b, D) и ^D,B)-* -♦ (D, b) для всех B-*b£ Р и каждого DС V — (о).
Заключительные правила: (а, Ь) —*аЬ,(а, с)—»а и
(с, а)—»а для всех а, 6 €2. Поскольку грамматика G' монотонна, множество L^G') является НС-языком. Очевидно, мы можем считать, что в выводе произвольной цепочки из языка L^G') все правила типа (1) применяются раньше правил типа (2), (3) и (4); все правила типа (2) — раньше правил типа (3) и (4); все правила типа (3) —раньше правил типа (4). Содержательно, правила типа (1), (2) и (3) «имитируют» правила грамматики G. Индукцией по длине вывода можно показать, что о^>’*оА1 ... А2к (для каждого I Л,£ V — —{о}) имеет место тогда и только тогда, когда о^с- (Ль Л2) ... (Л2д_1, Aah). В случае когда для каждого i At = $, это очевидно. Индукционный шаг нетрудно провести после внимательного рассмотрения правил типа (2) и (3). В частности, «1... а3и £L(G) тогда и только тогда, когда o^*Q,^av а^ ... (a2n_v а^, для каждого I (aai-v •h^^X'S^—Пс’ С)Ь Согласно (4), о^о-(«г «2) ••• (а2Я-1> аД для каждого i (a2t_v а2^ ^(2eX^J—((^> 0). имеет место тогда и только тогда, когда о ^Q, (av а^ ... (a2n_v а^^, цД^ ... а2^
. Итак, £((?') = цс(Z) и множество цДА) есть НС-язык. Следующая лемма позволит нам заменить условие смежности другим, более слабым условием:
Лемма 1.2. Пусть символ с^ и L^^c—НС-язык. Если |w[^2|цс(^) | для каждой цепочки w£L, то множество цс(£) является НС-языком.
Доказательство. Для каждого а 6 2С введем абстрактный символ а, положим 2с={а/а€2с) и L=L(G), где G = = (V, 2С, Р, о) — монотонная грамматика. Пусть, кроме того, f — гомоморфное отображение, определенное на множестве V* следующим образом: f(a)=a для каждого а£2с и /(Л)=Л для каждого А € V—2С. Пусть G'=(VU2c, 2С, Р', о), где
Р' = (/(«)->/(ф)/ы->'9£Р} и \ас-*са, са->ас, а->а, с->с/а^2}.
Рассмотрим множество L^L^G^ А2*(с22*)*. Поскольку пересечение НС-языков является НС-языком, множество Li есть НС-язык. Согласно лемме 1.1, множество цс(£1) также есть НС-язык. Кроме того, для каждой цепочки w ^L, |цс(^)|> >*y|w|. Итак, w^.L тогда и только тогда, когда существует некоторая цепочка w'G ^-i, представляющая собой перестановку цепочки w и такая, что цс(^) =Цс(^')- Следовательно, цс(Л1) = = Цс(£) и множество цс(Л) есть НС-язык.
Теперь мы можем доказать, что класс НС-языков замкнут относительно гомоморфизмов, удовлетворяющих некоторому общему условию. ■
Теорема 1.3. Пусть символ с €2 и L с2^ — НС-язык. Если существует натуральное число к, такое, что \w\ <^|р,с^)| для каждой цепочки w^.L, то множество цс(£) является НС-языком.
Доказательство. Согласно лемме 1.2, утверждение истинно для 6=1 и к = 2. Предположим, что утверждение справедливо для всех к<пг, т^З. Пусть к = т. Введем абстрактный символ d,. нс принадлежащий множеству 2С. Определим подстановку f следующим образом: Ца)=Ца^ для всех а €2 и f(c)={c, d\ По теореме 1.1 множество /(Л) есть НС-язык. Пусть
Lx = f (Z) f) 2* (X*c^W (2* U 2*^2*);
Тогда множество Li является НС-языком и
ИЛ (А) = (f (Й) = Нс Щ.
Теперь половина всех вхождений символа с в каждую цепочку из множества L заменилась вхождениями символа d в цепочки из Lv Итак, |w| -^2|p.d(w)| для каждой цепочки w^Lv Согласно лемме 1.2, множество p.d(^i) есть НС-язык. Нетрудно видеть, что, поскольку т > 3,| gd(®) |<\т — 1) | p.cp,d(w) |для каждой цепочки w^Lt. Следовательно, множество цс(£) = = PcPd(bi) есть НС-язык и теорема доказана.
Следствие. Пусть символ с £ 5 и £ £ ^ — НС-язык. Если существует натуральное число к, такое, что каждая цепочка из языка L содержит не больше k вхождений символа с, то множество рс(£-) является НС-языком.
II. Приложения к преобразователям
Воспользовавшись теоремой 1.3, мы докажем теперь, что класс НС-языков инвариантен относительно отображений, осуществляемых преобразователями, удовлетворяющими некоторым
слабым допущениям. Мы будем рассматривать детерминированные конечные преобразователи, преобразователи с магазинной памятью и линейно-ограниченные преобразователи. В работе (Ginsburg and Rose, 1966) было отмечено, что 1) класс НС-языков инвариантен относительно отображений, осуществляемых каждым из этих устройств, если эти устройства являются непрерывно пишущими на выходе; 2) если же эти устройства не являются непрерывно пишущими на выходе, то класс НС-языков нс замкнут относительно осуществляемых ими отображений. Это требование будет здесь несколько ослаблено..
Приведем определения преобразователей, изучением которых мы будем заниматься. Определения и обозначения заимствованы из работы (Ginsburg and Rose, 1966), где они объяс^ йены более подробно.
Определение. Детерминированным конечным преобразователем (сокращенно ДК-преобразователем) называется упорядоченная шестерка S = (^ 5, А, 6, X, ^0), где
К — непустое конечное множество (множество состояний) .
5— непустое конечное множество (множество входных символов).-
А — непустое конечное множество (множество выходных символов).
6 — отображение множества ^XS во множество К (функция переходов).
X— отображение множества ^XS во множество А* (функция выходов).
qo С К (начальное состояние).
Отображения б и X могут быть продолжены на множество КХ2* следующим образом: 6(q, е) = q, 6(q,wx)=6[d(q,w),x], X(q, в) =в и X(q, wx) =Х(^, zw)X[6(<7, tw), я] для всех q^ К, w£ S* и х 65.
Обозначение. Если S = (/С, 5, А, б, X, ^о) — ДК-преобра^ зователь, то
S(Z)={X(^0, ^/^C^h
Определение. Преобразователем с магазинной памятью (сокращенно МП-преобразователем) называется упорядоченная семерка S = (/(, 2, Г, А, б, Zo, q^), где•
К» S, Г и А — конечные непустые множества (множества состояний, входных символов, вспомогательных символов и выходных символов соответственно).
д— отображение множества ^X(2U{e}XГ во множество всех конечных подмножеств множества КХГ*Х^*.
q»^K {начальное состояние).
Обозначение. Пусть М = (К, 2, Г, Д, б, Zo, у0) — МП-пре- образователь. Полагаем {р, хту, uZ, у)|— {q, ту, ау, уу^ (назовем это тактом, работы. МП-преобразователя), если {q, у, у^ £ £ д {р, х, Z), ту £ 2*. а £ Г* и у £ Д*. Пусть {р, ту, а, у) [—* {р, ту, а, у) для всех {р, ту, а, у) £ К X 2* X Г* X А*. Полагаем {р, ту, а, у) |—-* \—*{р',ту',а',у'), если существуют pt, ту^ at, yt, l^i^n, такие, что {р, ту, a, y^ = {pv тух, ар у^, {р', ту', а', у') = = {р„, ТУ„, а„, у„) и .
{pt, Tyt, at, yi)\-(pi+1, ту1+х, ai+1, yl+x)
для всех L Пусть L с 2*. тогда -
M{L) — {у^ ^*l(qQ, х, Zo, е)|—*{q, е, а, у) для некоторых x^L,
(q, а)€КХП-
Аналогично определяется линейно-ограниченный преобразователь..
Определение. Линейно-ограниченным преобразователем (сокращенно ЛО-преобразователем) называется упорядоченная пятерка S = {К, 2, Д, 6, q^, где " _
К, 2 и Д — конечные непустые множества (множества состояний, входных символов и выходных символов соответственно).
д — отображение множества КХ^ во множество всех конечных подмножеств множества /СХ2Х^*Х{—L 0, 1}.
q^K {начальное состояние).
Обозначение. Пусть S = {К, 2, Д, 6, у0) — ЛО-преобра- зователь. Определим отношение )—* следующим образом:,для и, у £2*, с^ и гу^Д* полагаем
- (П {ucpav. ту) |— {uqcb-u, туу), если {q, b, у,—1)6б(р, а). ■
{ират), Ty)\—{uqb-u, ту у), если {q, b, у, О)£6(/2, а), и
{ира*о, ту)\—{иЬут), туу), если {q, b, у, Х)^Ь{р, а).
(Каждый из этих переходов называется тактом работы ЛО-преобразователя.) Пусть «, w'^2^2* и ту, ту'^\*\ тогда полагаем {и, w)|—*{и', ту'), если либо {и, ту) = {и', ту'), либ» существуют иь ту( {l^i<Cn), такие, что {ut, тух) = {и, ту), {и„, туп) = {и', ту') и {ut, Tyt)V—{Um.v туг+1) для всех г < п. Если L с 2*. то полагаем
S {L) = {у ^ A7(yot0, е)|—*(р, у) для некоторых ту^Ь, р^2*/С}.
Поскольку класс НС-языков не замкнут относительно гомоморфизмов, он не замкнут также относительно отображений, осуществляемых ДК-преобразователями, МП-преобразо- вателями и ЛО-преобразователями. Мы наложим на ДК-пре- образователь ограничение, при котором множество S (£) есть НС-язык, если L является таковым. Соответствующие ограничения для МП- и ЛО-преобразователей будут приведены ниже.
Теорема 2.1. Пусть S — ДК-преобразователь (непрерывно читающий на входе МП-преобразователь^ и L — НС-язык. Если существует натуральное число k, такое, что | w |<ф Ц у | для всех w^L и всех y^S(ту), то множество S(Е) является НС-языком.
Доказательство. Пусть 5 = (К, 2, А, б, X, q^ — ДК-преобразователь и символ с^Х. Пусть Sc — ДК-преобразователь, отличающийся от S только тем, что Sc пишет на выходе символ с, когда 5 ничего не пишет на выходе. Формально пусть SC=(K, 2, А и {с}, 6, Хс, q^, где для всех q и а имеет место Xc(q, a) = ^(q, а), если X(q, а^е., и X^q, а') = с, если Х(^, а) = е. Тогда 5С есть непрерывно пишущий на выходе ДК-преобразователь). Итак, множество SC(Z.) является НС-языком (Ginsburg and Rose, 1966). Пусть r = max{ \X(q, a^jq^K, a£2}. Тогда
|5(ту)|<г|ту| и | Sc (ту) Кr | w |.
Очевидно, p.c (Sc (ту) ) = S (ту) для всех ту££. Тогда для всех ту С L
1рЛ^М)1 = |5(ту)|>^-|ту |>-^|5с(ту) |,
т. е. | 5с(ту) |<г^| p.c(Sf(Ty))|. Согласно теореме 1.3, множество У-Д5ДЕ^ = 5Щ есть НС-язык.
Предположим, что S — непрерывно читающий на входе МП-преобразователь. В этом случае доказательство аналогично доказательству для ДК-преобразователя. Различие состоит в том, что вместо 5(ту) может быть записана любая цепочка у из множества 5(ту).
Ч МП-преобразователь S= (К, 2, Г, Д, б, Zo, уд непрерывно читает на входе, если б (q, 8, Z) = Ф для всех q £ К и Z $ Г.
Замечание. Пусть S — ЛО-преобразователь, L — НС-язык и существует натуральное число к, такое, что |ту|^^|у| для всех ту££ и у £5 (ту). Тогда способом, существенно отличным от предложенного в теореме 2.1, можно доказать, что множество S(£) является НС-языком.
Следствие. Пусть ,£ — НС-язык и т, п — положительные числа. Тогда множества
(ту|тух^£ и п|ту | =/п| х| для некоторого х},
(ту | уту £ L и п\чв \ = т! у\ для некоторого у}
и
{ту\хч!:у^£ и п|ту| = /п(|х|4~|у|) для некоторых х, у} являются НС-языками.
Доказательство. Пусть £ s 2* и символ с $2. Определим подстановку т следующим образом: т(а)={а, с} для всех а^ и £с = т(£). Итак, £с есть НС-язык. Пусть Ст-п = = (тух/ту £2*, х^с*. п\ ту | = т\ х |}. Тогда множество Ст<п является НС-языком (на самом деле, КС-языком).
Следовательно, множество
цД^П Ст, „) = (ту/тух££ и п\ ту | = /п| х| для некоторого ту} является НС-языком. Для остальных множеств доказательство аналогично.
Определим теперь „последовательность к реализуемых тактов работы" ДК-преобразователя, МП-преобразователя и ЛО-преобразователя соответственно.
Определение. Пусть ах ... ak (^>1; для каждого/, at £2)— некоторая цепочка входных символов; последовательность б(ур ai) = y2> б(^2- «2) = ^з« ->б(^> a-^ = qkv\ называется последовательностью к реализуемых тактов работы ДК-преобразователя (К, 2, А, б, X, у0), если б(у0, то) = дх для некоторого ту. Х(ур ах ... а^ называется выходной цепочкой этой последовательности. Последовательностью к реализуемых тактов работы МП-прёобразователя (К, 2, Г, A, Zo, q^ называется последовательность
(^р “р Yp У)Н ... H(9ft+p ае+р уА+р уух ... уй),
в которой (у0, ту, Zo, е)|—*(ур ар ур у,) для некоторого ту. Цепочка ух ... ук называется выходной цепочкой этой последовательности. Последовательностью к реализуемых тактов
работы ЛО-преобразователя (/С, S, А, 6, q^ называется последовательность
, (аР Р)Н Н(аА+Р РУ1 • •• Ук¥
в которой (^w, е)(—(ар р) для некоторого ту. Цепочка Ух • • • Ук называется выходной цепочкой этой последовательности. '
Теорема 2.2. Пусть S — ДК-преобразователь, МП-пре- образователь или ЛО-преобразователь, L— НС-язык и к — натуральное число, такое, что выходная цепочка каждой последовательности к реализуемых тактов. работы преобразователя S непуста всякий раз, когда на вход преобразователю S подается цепочка из множества L. Тогда множество S (L.} является НС-языком.
Доказательство. Пусть S(Z)cA*, символ с^А и преобразователь Sc определен как в доказательстве теоремы 2,1. Тогда ц^ (Sf (Z)) = 5 (Z). Поскольку Sc непрерывно пишет на выходе, множество SC(L) является НС-языком (Ginsburg and Rose, 1966). Так как выходная цепочка каждой последовательности к реализуемых тактов работы преобразователя S непуста всякий раз, когда на вход преобразователй) S подается цепочка из множества L, то эта выходная цепочка содержит — при том же условии — вхождение элемента множества А. Пусть Н— (конечное) множество тех цепочек из множества SCHY которые получены в результате применений последовательностей реализуемых тактов работы преобразователя Sc, состоящих менее чем из к тактов каждая. Тогда Sg^ — H есть НС-язык и |Se(w) — ZZ|<:(k — 1) X X | Uc (S, (ту) — Z/) | ')• Итак, множество nf (Sc (Z) — //) является НС-языком. Следовательно, множество
S(Z) = lic(Sc(Z)) = pc(Sc(Z)-^)UPc(ZO
также является НС-языком.
Рассмотрим теперь вопрос об инвариантности класса НС-языков относительно отображений, осуществляемых обра- щенйыми ДК-преобразователями.
Лемма 2.1. Для каждого ДК-преобразователя 8 = = {К, S, А, б, X, ^0) существуют положительное число к и МП-преобразователь S' = ЦС, 8, Г, S, б', Zo, ^0), такие, что
S' (та) = S~1 (та)1) для всех та^А* и
выходная цепочка каждой последовательности к реализуемых тактов работы МП-преобразователя S' непуста.
Доказательство. Пусть k = max (1, | Х(^, a) \iq^K, а £2}. Для каждого а^А введем новый символ а и для каждого а £2 — новый символ "а. Пусть символ_ Z0^\a, aja^^U Ufad/a^Z] и Г = {Zo} и {а, а/а^ A) U {а, а/а^Ъ}. Определим отображение д' следующим образом (q^K и а £2):
Если_Х(^, а^ = Ьл ... Ьг, г>1, для каждого / bt£А, то (d(^, tz), Zoabr .. .bv е)£д'(?, by, Zo\
Если X(q, 0^ = 6, то (b(q, a), Zo, а) ^6' (q, е, Zo).
(q, e, e) £ d' (q, b, b) для всех b £ A. -
(q, г, a) £ д' (q, e, a\
Непосредственно проверяется, что к и S' удовлетворяют условиям (1) и (2) леммы.
Из леммы 2.1 и теоремы 2.2 непосредственно получается следующая теорема:
Теорема 2.3. Множество S-1 Щ является НС-языком для каждого ДК-преобразователя S и каждого НС-языка L.
Аналогичный результат для МП-преобразователей не имеет места.
Теорема 2.4. Существуют непрерывно пишущий, на выходе МП-преобразователь S и НС-язык L', такие, что множество S^L'^ не есть НС-язык.
Доказательство. Пусть Lc — нерекурсивное рекурсивно перечислимое множество, такое, что L с 2* и символ с ^ 2. Согласно теореме 1.2, существует НС-язык L' с Led*, символ d^SU (с), такой, что ^dkL^ — Lc. Пусть S = ({^0, q'^, Su {^}. l-Z'ol’ 2U (с, d\, d, Zo, q^— непрерывно пишущий на
') Пусть S — ДК-преобразователь. Для каждой цепочки ® и каждого множества цепочек L полагаем S-1 (да) = ^x)S (лг) = ®} и S-1 (L) = = U 5-1w
Пусть S — МП- или ЛО-преобразователь. Для каждой цепочки w и каждого множества цепочек Е мы будем полагать5“ 1(w)={x/S WCK^}^^} hS-1(£)=(J 5"*(®).
w^E
выходе МП-преобразователь и отображение б определено следующим образом:
б(^0, a, Zo)=((^o, ZQ, а)} для всех а £2.
б (<70, с, Zo) = {(^р Zo, с)}.
б(^, е, Z0)={(^p^Z0, d^..* *
Очевидно, S(Lc) = Lcd* и S-1(®) = pd(®)) для всех ту £2*cd*'. Тогда множество L' является НС-языком, а множество 5-1(Z,) = pd(^ } = Lc не есть НС-язык.
Замечания. (1) Мы можем выбрать язык Lr с Led* таким образом, что множества L' и Z? = (2u {с, с?})* — U являются НС-языками. Тогда множество
{ту/S (ту) с L'\ = [ту/5 (ту) A L' = $} ='
= {ту/ту £ (2 U ИГ - 2V} U ^* — L^c
не является рекурсивным и, следовательно, не является НС-языком.
Различными способами можно показать, что если 5 есть 1) непрерывно пишущий на выходе МП-преобразователь или 2) ЛО-преобразователь, такой, что для некоторого к~>0 имеет место |ту|-<^|л:| для всех х и всех ту£5(х), то класс НС-языков замкнут относительно отображений, осуществляемых преобразователем S-1.
Приложения к грамматикам
Укажем теперь, пользуясь теоремой 1.3, некоторые условия, при выполнении которых грамматика может содержать укорачивающие правила, т. е. правила и->ч), где | у | < | и |, и тем не менее порождать НС-язык.
Определение. Пусть G = (l^, 2, Р, о) — порождающая грамматика. Числом укорачиваний Е^ в выводе т: их^ ...^ип называется мощность множества (<7|M;+i|< |«Jh
Таким образом, число укорачиваний в выводе есть число применений в этом выводе укорачивающих правил.
Теорема 3.1. Пусть О = (у, 2, Р, о)—порождающая грамматика. Тогда для каждого натурального числа к множество Lk(G)= {'W ^^*1Е(х) ^. k 1^1 для некоторого вывода т: g=^. ... =>®7 является НС-языком. В частности, L^G) есть НС-язык, если L (О) = Lb (О) для некоторого к.
Доказательство. Без потери общности мы можем считать, что каждое правило грамматики G имеет вид «-*v, где
•(W и to) 7) v’11=(W и to) 7) "^=to) *7
и коянев-эц вэхэвкав ^n U to) 7) V оахээжони вкхо^ ‘МПкЭ*" №tf ^ = My и э = ^Ч :woEBdgo wHmoiXK -экэ goHHoiroKodno ‘эинажвЗдохо эон^окоиох — у чхэХц
•(^Uto)7) prfri = to)¥7
ОХЬ ЯВХ ^Af U to) ?)Ртрг| Э <» ‘иехи -^g = j экх *4^ U (о) 7 Э «РР® охь ‘эоявх ‘ы хоХахэз^Хэ ‘онкиаэьо *| т |^>(х) j охь ‘цоявх *9 эяих -BwwBdx а 02.4= ••• 4=0 :х Коана хоХахэаКтХэ eKxoj, "(О^ТЭ® чхэХн ‘oaxBdgo "(о)?7Э® •ончь’эхваокэ^э "l®^^"-7= ^3 *¥дг Хахэажони xижэfKвниdц эжявх ир?®- Хячкояэоц -д эяих -BwwBdx а ®4= ••• 4=0 :х вкоана oxodoxonan век (х)7 = х и (0)7Эт вКхо^ -^д/ U (о) 7 Э иР?® 01h ,wижoEOцKэdц \z вахэ -эжони хнэиэЕе хавьвнЕодо вкхаэа аь эахэчЕэхвввяок иохе g •{с/Э<2-*-Я/1 —Ы —И ‘1)ХВШ = /
чхэХц '(’yv U to) 7) pTi’ri = to) ?7 01h *4dauax иэжвяоц
•ИОЯНЕВ-ЭН вэхав1гав ¥wUto)7 оахээжони ‘явхц (-янев-эл эжву чхээ чм airav wowB3 вц) -янев-эн чхээ ч^ охь ‘чхэКиа OHVXdxoiq
•{|m|y>j *«i3®Upp®\:=,in
чхэХц "to) 7 = ((О) 7)р^ и ноянев-эн вэхэвкав (г>) 7 оахээжонп ‘онкиаэно
•j Хахээжони xвжэIn^вниdц р-^-р и э<-э *рэ*-эр (f) хээа yuY j Хахэажони xвжэfVвниdц pv*~VP и £V*-yo (g)
■d^x-xax-^xPan-*--» ох «|и I > I а I и d3cb*-Ti иь-эд (g) ■d^tL*-'n 01 112 1^1 и I и с/Э0-*-13 ИЕэд (i)
:№OEBdgo wHlnoiXKofO onairdKoduo d aKx *(o ‘d '{p *^}nz ‘АР *P £ ^}ПД> = 0 и ‘д Хахэажони эи'ПIBЖэf'п'вниdц эн •нЕоакиэ энаон—р и р *э *э чхэХц
[•^Э» И1ГИ
*(Z—/Д) Э <ь эКх ‘а, <— и Киа хээки ,9 HHHXBwwBdx oirnaBdu эоКжвя и (0)¥7 = С0)¥7 BKxoi •{зЭ»/»<-/»}П{с/Э<2<-й/(а)41<-и) = = ,d чхэХц -^ — дЭу к1,6, ^ = (0^ и S3» ккК ^ = (0)^ :wo£Bdgo ии'то1Хкэь’э ф аинэжвЗдохо эoнфdowowox ииеэК -9dno -д Хахээжонн yи'ПIвжэIfKвниdц эн ‘еозниэ унаон — рз эокжвя '{зЭ 77/,77) П Д = ,Д чхэХн :MOEBdgo ии'тетХкэи'э доннэ^ -9K9dno '(о *,d ‘Z ‘/Д) = /0 yoHHXBMMBdx 9 XnHXBwwBdx чхин -эиве иэжон ни эвьХеэ woHaHxodn g] •#z9tt И1ГИ »(Z — Д)Эа
181181еомчек-эн т)ээ№м тнэош'нппдиенп gg
181
181
Для цепочки ,wcrdn £ L (G) Л Nk имеет место | чазУдп К (/ 4- 1)6| w |4~ I w |< [(/ 4- l)A-h-1] |ту |.
Тогда час8 £ к (L (G) (} Nк) тогда и только тогда, когда 4iucrdn^ £ £ (G) П Nk для некоторых г, п, таких, что g = г 4- п. Итак, для цепочки чис8 £ к (£ (G) П N^ имеет место
I 40081^ [(^ +1)^4-1] 1® |-
Согласно теореме 1.3, множество Lk (О) = цс [к (G) П W6)j является НС-языком. -
Следствие. Если каждое удлиняющее правило и-+чР) грамматики О = (У, 2, Р, о) таково, что о^У^У*, то L (G) — НС-язык.
Доказательство. Числом удлинений /(т) в выводе т назовем число применений в этом выводе удлиняющих правил. Очевидно, существует kv такое, что Е^^к^^ту По условию из того, что правило и->4), | и | < | -у |, принадлежит множеству Р, следует, что ч)^У*^У*. -Итак, существует Ц, такое, что для каждого вывода т: о=^ ... ^чй цепочки из множества £(G) имеет место / (т) < £21 ® I)- Таким образом, ^(тХ <Х ^!^21 "^ I- Согласно теореме 3.1, множество £(G) является НС-языком. ■ .
Ниже будет показано, что если условие изменить следующим образом: из того, что | и | > | v |, следует, что чз^У^У*, то такая грамматика также порождает НС-язык.
Определение. Пусть т: иг^ ... =^и„ — вывод в грамматике G = (у, 2, Р, о). Пусть для любых I, г, хм\ ut^ ... ... =^ul+r есть часть вывода т. Характеристическим числом Щх) вывода т называется максимальное число из множества '
Хдля некоторых I, г-, E(xlr') = k и цепочка uUr содержит не больше вхождений основных символов, чем иД.
, Грубо говоря^ £>(т) есть максимальное число применений укорачивающих правил между двумя появлениями основных символов в цепочке.
*) Правило и->и называется удлиняющим, если |«|<|о|.
Теорема 3.2. Для каждой порождающей грамматики G = iy, 2, Р, а) и каждого натурального числа &>0 множество
Lk(G) = {ту £2*/Z)(t)^A для некоторого вывода т: ц=^ ... =^w} является НС-языкдм. В частности, L(0) есть НС-язык, если HQ^ = Lk^ для некоторого kxY .
Следствие 1. Если каждое укорачивающее правило грамматики G = у, 2, Р, а) имеет вид и —> -у, где v £ И*2У*, то множество L^G) есть НС-язык.
Доказательство. Поскольку £ (G) = £0 (О), множество £(G) является НС-языком. В частном случае мы получаем
Следствие 2. Если каждое правило грамматики G имеет вид и->Р, где -u^V*W*, то L(G) есть НС-язык.
Специальный результат
.Следствие 2 из теоремы 3.2 утверждает, что если каждое правило грамматики G = <y, 2, Р, о) имеет вид и->-и, где d^V^V*, то множество £(G) является НС-языком. В настоящем разделе мы усилим этот результат, а именно, покажем, что L^G) есть КС-язык). Для доказательства" нам понадобится ряд лемм различной сложности. -
«Лемма 4.1. Пусть О —(у, 2, Р, о} — порождающая грамматика, все правила которой имеют вид и-у-и, где -o^V^V*. Тогда существует грамматика G' — (y', 2х, Р', а), все правила которой имеют вид u-уу, где | а |<2 и •о € У У 2' У'У- и гомоморфизм h, такой, что L(G) = k (L (G')).
^ Доказательство теоремы 3.2, занимающее более двух страниц, в переводе опущено, поскольку эта теорема просто получается из предыдущей. Именно, назовем правило и->и сильным, если u^V^V*. Число s(t) применений сильных правил в выводе т цепочки w£2* не превосходит, очевидно, числа |о>|. Число применений укорачивающих правил между двумя соседними применениями сильных правил (а также перед первым применением сильного правила и после последнего) не превосходит D(t) [по определению числа D(t)]. Поэтому число применений в выводе т укорачивающих правил, не являющихся сильными, не превосходит" D(t) (s(t) +1), а общее число применений укорачивающих правил Е(х) < D(t}(s(t) +1) +s(t) < -^ ^(|w| +1) + |w| < (2&+1)|до|. Остается применить теорему 3.1.— Прим. ред.
Доказательство. Пусть гхгп — различные правила грамматики О. Если правило rt имеет вид ы-*-у, где |«|<i2, то и-уи£Р'. Пусть правило г, имеет вид Л, ...Ак->уах, где к >2, для каждого / Aj^V — 2, у, г£У* и <т£2. Пусть Кд, ..., ¥1к, а1х, ..., ai(A_D—новые символы и АхА2-> yauYiv КдАз ~*■ ^ггК/2’ • • •, К; ^-^А^ —► ах (д-цК; (й-ц и К^д-д —> ах элементы множества Р1. Пусть 2'= 2и {«///все а^\ и V = = 2'U {Kz//все У^. Очевидно, £ (О) = Л (£ (О')), где к — гомоморфное отображение, определенное на множестве (2')* следующим образом: к^ = а для всех а£2 и й(а^) = е для всех atj.
Лемма 4.2. Пусть О = (У, 2, Р, ст) — грамматика, все правила которой имеют вид u-уо, где | и | С 2 и -и £ У*2У*. Тогда существуют грамматика О' = (У' 2', Р', ст) и ДК-пре- образователь S, удовлетворяющие следующим условиям:
2' = ^at, a'Jl<.i^.n^ — множество, состоящее из 2п элементов, где п — число правил грамматики О'.
Каждое правило грамматики О' имеет вид и -> уа^х, где | и К 2, у, г £ (У' —2')* и каждая цепочка а^ появляется в точности в одном правиле из Р*..
(3)5(£(О')) = £(О)..
Доказательство. Без потери общности мы можем считать, что каждое правило грамматики О имеет вид и-*уах, где а £2 и у, г С (У— 2)*. Пусть rv .... гп — правила грамматики О, 2' = ^at, a'Jl <:/<:«} — множество из 2/z элементов и У'= 2'и (У—2). Если правило гг имеет вид u^yfijZi, vj\y b^Y, и у t, xt С (У—2)*, то введем новое правило ut -> у-а^х^ Множество всех таких правил обозначим через Р'. Пусть S — ДК-преобразователь с двумя состояниями, отображающий каждую цепочку ata't в символ bt. Очевидно, О' и S удовлетворяют условию леммы.
Следующая лемма послужит основой для доказательства главного результата этого раздела.
Лемма 4.3. Пусть О = (У, 2, Р, ст) — порождающая грамматика, где 2= ^ар а'^Х <: / ^ п) — множество из 2п элементов (п — число правил грамматики О). Пусть для каждого / (l<;z<C п) i-e правило из множества Р имеет вид и^ —> y^a'iZp где | ut |<2 и у^^У — 2)*. Тогда множество L (6?) является КС-языком.
Доказательство. Мы можем считать, что для 1 <С г <С /п /-е правило имеет вид-
0) А^у^^р
а для ш-\- 1 ^/<^п Z-е правило имеет вид
В^-^а^р где Bp Ct£V—2.
Пусть G'—(y',^, P',d)— КС-грамматика, где множество Р' определено следующим образом:
Каждое правило типа (1) принадлежит множеству Р'.
Если 5,CZ -> у1а1а'1г1 £ Р, то
В^у^ И
Сt —► а^, принадлежат множеству Р.
Пусть R=^ala'l]\ <.1 <.п,у и R=(RU(V— 2)). Поскольку пересечение КС-языка и регулярного множества есть КС-язык (Bar-Hillel et al., 1961)!), множество £(С')П R является КС-языком. Для завершения доказательства леммы достаточно показать, что L (О') Л R = L (О). Очевидно, L (G) с L (О') П R- Чтобы доказать обратное включение, достаточно установить, что
если и ^Q, ... =>0, ч> ^u^R и у £ R) — вывод длины р, то существует вывод и=>0 ... =^оч) длины <i/n
Доказательство проведем индукцией по длине вывода ы=^0, ... =^0,ч). Пусть длина равна единице, т. е. и=^0,ч). Тогда и = и! Ха", v = и'той", где и', u"^R и Х—^чв^Р'. Очевидно, что X->то— правило типа (3), т. е. X = At и чю = а1а,1 для некоторого I. Поскольку А^а^ также принадлежит множеству Р. u=^qd. Пусть (5) имеет место для всех выводов длины меньше р и u = uQ^Q, ... ^Q,up = *o — вывод длины р. Тогда u = tYx ... Ydt' и ч) = 1ч)Ч’, где /, t*, ч)' ^R, YvYd£V — 2 и для каждого j Yj^V. Мы можем считать, что / = /' = е. Итак, ч) = ч/< Пусть к — наименьшее натуральное число такое, что первое правило, примененное к символу Yk, не есть правило типа (4а). Поскольку правило типа (4а) не применяется к символу Yd (в противном случае ч/ будет оканчиваться некоторым символом а^, такое к существует. Возможны три случая.
(а) К символу Yk применяется правило типа (46). Тогда к > 1 и
^о'Узха)ху ik_^ )к_^'1к^ k-v\
Поскольку у £ /?, jk_x = jk. Итак,
Yx...Yk... Yd = Bj . B)k_ Bjfc_ Ck_ Y^x .. • Yd^0, .
=Vn,B. ...B. y, a. a*, z. Y.^. ... Y,.
0 Л • ift-i^k-i Ju-x h-x ik-\ 6+1 d
Тогда -и = Ч)хак a'jk ^т где ^i’ ^2 € R- Поскольку Q'—КС-грамматика, В. ...В. у. =^* -и,—вывод длины не больше р, и z jk К6+1 ... Kd=>*, ^— вывод длины не больше pY где Рх +а+2 = Р- Очевидно, В^ ...В^у]кх и г^_Кй+1... Kd принадлежат множеству R. По индукции В} ... В} yj ^q^ — вывод длины не больше рх и z} Yk+X... ^=>о®2 — вывод длины не больше pY Итак,
— вывод длины не больше л+а+^ < Р-
(Р) Yk = c^'L. Тогда к>\, поскольку YX£V — 2. Кроме того, '•
^G-yj^J yjk_xajk_vCYk+X ^d^G'^
для подходящих индексов. Тогда с = а'}^ . Это противоречит тому, что Yx ... Yd^R.■
(у) К символу Yk применяется правило типа (3). Тогда
К. ... Yk ... Y^B, ... В. А. Г_.Yd=^*
кd jtjk_x ]к й + 1d 'О
^G'yjaj ••• yjk_xajk_xyjkCljka'jk:jYk+l ••• Yd ^G'45 = 'axa}ka'jk4)'1
для некоторых ©p d^R. Тогда А. -^-у.а^а'^г^ £P и Jk Jk Jk
Yx...Yd = Bjx...Bjk_A.YM...Yd^Q
Поскольку G' - КС-грамматика, В^ ... В^ У^^а- ^j — вывод длины -не больше рх и ZjY^ ... K^g,^ —вывод длины не больше pY где p=px-VР^А- Ь Очевидно, что В} ... В^ у} и z.Yk+x • • - ^d принадлежат множеству ф По индукции В} ... Bjfe у^ ^*Q Tj — вывод длины не больше рх и гу Ук+Х .. . . .. ^=^0^2 — вывод длины не больше pY где р=рх -Vp2 + 1. Итак, Ух ... yd=^>Q-oxaja'jT)2—вывод, длины не больше р.
Таким образом, индукция проведена для каждого из трех случаев. Отсюда сразу следует результат.
■ Теперь мы можем доказать основной результат этого раздела. .
Теорема 4.1. Если G = (y, 2, Р, а)— порождающая грамматика, все правила которой имеют вид и—>*и, где -у^У^У*. то множество L(G) является КС-языком. -
Доказательство. Согласно леммам 4.1 и 4.2, существуют грамматика G' и ДК-преобразователь S, такие, что О' удовлетворяет условиям леммы 4.3 и S(L(G')) = L(G)., Согласно лемме 4.3, множество £(0') является КС-языком. Поскольку класс КС-языков замкнут относительно отображений, осуществляемых ДК-преобразователями (Ginsburg and Rose, 1963), /(G) есть КС-язык.
Пользуясь теоремой 4.1, мы получим как следствие результат, сформулированный Метьюзом на Международном коллоквиуме .по алгебраической лингвистике и теории автоматов в Израиле в 1964 г. (До сих пор в печати не появилось доказательство этого факта.) -
Определение. Пусть Q = (V, Б, Р, а) — порождающая грамматика. Для всех и—^-и^Р, а ^2* и y^V* полагаем auy^uvy и уиа=^к у-иа. Если uv ..., ип— последовательность, такая, что для каждого i ut=^Lut+x или ut=^R ul+v то полагаем U^^Un-
Следствие. Пусть Q = (V, 2, Р, а) — произвольная грамматика. Тогда множество {ту^^о ^>lr*to\ является КС-языком.
Доказательство. Без потери общности мы можем считать, что каждое правило из Р имеет вид и->*и, где *o£\V — 2)* или ^£2*— [е]. Пусть o', L, R, с — символы, не принадлежащие
множеству V, и G' = iy U {а\ Z, R, с\, Su{i}> Pr> вг}> где Р' определено следующим образом:
o'->LoR, L->c и R->c принадлежат множеству Р’.
Если и->ч)^Р, где ^^(У —S)*, то Lu->cbo и uR-^vRc принадлежат множеству Р'.
Если й->77^Р, где ^£5* — {е}, то Lu-^vL и uR-^Rv принадлежат Рг.
Очевидно, что ^Д^(СУ=^Е^*1°^с^^* Согласно теореме 4.1, множество L (О') является КС-языком. Поскольку класс КС-языков замкнут относительно гомоморфизмов (Bar-Hillel et al, 1961), множество pc(Z(O')) также является КС-языком.
ЛИТЕРАТУРА
Bar-Hillel Y., Perles М., Shamir Е., On formal properties of simple phrase structure grammars, Z. Phonetik, Sprachwissen. Kommunikations- forsch., 14 (1961), 143—172.
Chomsky N., On certain formal properties of grammars, Inform. Control, 2 (1959), 137—167. (Русский перевод: Хомский H., О некоторых формальных свойствах грамматик, Кибернетический сборник, вып. 5, ИЛ, М., 1962, стр. 279—312.)
Evey R. J., The Theory and Application of Pushdown Store Machines, Mathematical Linguistics and Automatic Translation, Report № NSF-10, The Computation Laboratory of Harvard University, 1963.
Ginsburg S., Rose G. F., Operations which preserve definability in languages. J. Assoc. Comput. Mach., 10 (1963), 175—195.
Ginsburg S., Rose G. F., Preservation of languages by transducers, Inform. Control, 9 (1966), 153—176.
Гладкий А. В., Грамматики с линейной памятью, Алгебра и логика, Семинар, 2 (1963), стр. 43—55.
Kuroda S., Classes of languages and linear-bounded automata, Inform. Control, 7 (1964), 207—223.
Landweber P., Three theorems on phrase structure grammars of type I, Inform. Control, 6 (1963), 131—136.
Кратчайший путь через сетьс переменным временем пробегапо дугам1}
К. Л. Кук, Э. Холсей
Введение
Рассмотрим множество N городов, каждые два из которых связаны дорогой. Если города можно нумеровать в произвольном порядке, то мы обозначим место' назначения номером N. Пусть нам дана матричная функция G^ = (gij(t)), которая не обязательно является симметричной. Здесь gaW—время, необходимое для проезда из города i в город j и представляющее собой функцию от времени t отправления из пункта I. Мы хотим найти путь, который минимизирует время пробега из пункта I в пункт N для случая, когда наше путешествие начинается в момент t = t0. Постановка задачи не меняется, если города i и j либо не связаны вообще никаким путем, либо связаны лишь в одном направлении. В этих случаях полагаем соответствую* щее время переезда gij(t) равным очень большому числу или же бесконечности. Кроме того, времена giV(t) могут зависеть от t произвольным образом.
Для случая, когда все gtjW суть константы t^, Беллман ввел в рассмотрение числа fi, где ft — длины оптимальных пу* тей из i в N для /=1, ..., N— 1 и fN = 0 [1]. Он доказал существование и единственность чисел ft и, используя принцип опти* мальности [2], показал, что они удовлетворяют равенствам
fz = minЦи + 1 у),/ = 1, 2, TV—1, .
Эти числа были найдены с помощью итерационной схемы f^^min^-f-f^-1)),/ = 1, 2, .... N — 1,
где f^ сходятся к ft не более чем за N—1 итерационных шагов при условии, что начальные приближения для f^ были выбраны достаточно корректно.
9 Cooke К. L. and Halsey Е., The shortest route through a network with time-dependent internodal transit times, Journal of Mathematical Analysis and Applications, 14, № 3 (1966), 493—498..
Для того чтобы упростить решение вопроса о существовав нии и обеспечить удобную схему для вычислений, мы выберем дискретную временную шкалу t^ /0+L /о + 2, ... . Соответственно мы будем предполагать, что все giA^ определены и принимают положительные целые значения для /6S = {/0, /о+1> /о+ 2, ...} и i+j (в самом деле, мы могли также предположить, что все gtjW являются кратными некоторой величины А, и использовать другую временную шкалу {/0, /о+А, /о+2А, ...}). Обозначим теперь через Ег(/) множество всех путей 9, которые выходят из i в момент / и достигают N за конечное время после конечного числа шагов. Так как время для каждого пути'из ЕД/) есть положительное целое -число, то существует минимум по этим временам. Теперь для всех /6 5 мы опрёделим /Д/) — минимальное время для пути из ЕД/), /=1, 2, ..., N — 1, fN(/)=0, где минимальное время fi(/) достигается по меньшей мерс на одном пути из i в ^, имеющем конечное число звеньев.
Исходя из принципа оптимальности [2], мы устанавливаем, что для /6 5
МО = min (£Zy(/) + fy(/H-£Zy (<))),ML 2, .... N — 1,
fNW=o.-.(1)
Итерационный процесс
Мы хотим теперь определить последовательность итераций, которая будет сходиться к числу fi(/о) для каждого /, 1-^/^А/. Для удобства вычислений мы будем действовать таким обра* зом, что нам потребуются значения, полученные с помощью итераций только для фиксированного конечного множества моментов времени 5т={/о, /о+1, /о+2, ..., /о+Е}, где целое Т выбирается так, чтобы все' числа, входящие в нашу итерацию, были однозначно определяемыми для t£ST. Как мы в дальнейшем увидим, наиболее удобно выбирать Т = М, где М удовлетворяет для всех i = 1, 2, ..., N неравенству
Ks^oX^.(2)
Поэтому всегда возможно выйти из / в момент /0 и достичь N не позднее момента /0+М.
Перейдем теперь к заданию итерационного процесса. Мы на* чинаем с выбора Т = М, удовлетворяющего (2), и потом моди* фицируем числа £гД/) следующим образом: для /6 5г и
!) В предположении Ei (Z) 4= Ф.
/, /= 1, .. .у N положим
go (0.ОО,go (0.ОО,(3)(3)если /-hgiAt)<t0-VT, если tA-gtj^> t0-\-T.
go (0.
ОО,
go (0.
ОО,
(3)
(3)
Другими словами, мы выбрасываем любой участок пути, если время прибытия на конец этого участка не лежит в ST. Теперь мы определим для t^ S
f№ = £iNW. * = b 2, (4)
Таким образом, f^HO есть время переезда по однозвенному пути из i в N с началом движения в момент / при условии, что N достигается не позднее момента to+T. В противном случае f^ (/) = со. В частности, ^0)(/) = оо для />^04-7 и f(z0)(/) = = giNW для / = '
Обозначим теперь через f$4f) множество всех путей, состоящих из одного или двух звеньев, выходящих из i в момент/ и достигающих N не позднее /о + Т. Потом определим для / С 5
fW)=°- . ; -
минимальному времени для пути из Е1?1^, если - е^ + ф, оо, если Е^Ч^ = Ф' < = 1, 2, ..., N—1.
Из принципа оптимальности следует, что
W) = 0,
№) = пнп(£.у(0 + ^/ = L 2W-l. (5)
Чтобы доказать (5), заметим, что, если ^^) = ф< однозвенный путь из i в N, выходящий из i в момент t, должен достичь ^ после момента t0A-T, так что ^(^—оо. Следовательно, ни один двухзвенный путь из i в / и из / в N не может достичь N к моменту to+T, так что ни один однозвенный путь, исходящий из / в момент 1А-Зц^, не может достичь N к моменту to+T. Следовательно, или ^(0=°°, или ^(t+giД/))=со и правая часть в (5) есть оо, что в свою очередь является значением, приписываемым f^V) по определению. Если, с другой стороны, E^4f) не пусто, тогда существует по крайней мере один путь, состоящий из одного или двух звеньев, исходящих из I в момент t и достигающий N к моменту /о+Л причём
существует минимальный подобный путь. Этот минимальный путь идет из i к некоторому /, а затем следует однозвенный путь из / к N, который имеет наименьшее время прохождения, если / покидается в момент 1+дц(1) =t-Vgi3W *)•
В общем случае обозначим через ^(t) множество всех путей, состоящих не более чем из к звеньев, покидающих i ц момент t и достигающих N нс позднее t0-VT, и положим для t^S
fW)=o,
fro—
минимальному времени для пути из £1*+1)(/), если f^* (/) =£ ф,
оо, если Ei6*^ ^ — ф,>
1 = \, 2,N— 1, А=1, 2, 3,.
Мы утверждаем, что для t С S
^«) = 0.
О) = пНп(^) + ^^1-Х, 2, .... N—\. (6)
Справедливость (6) устанавливается аналогично (5).
Теперь предположим, что Т выбирается удовлетворяющим (2). Так как оптимальный путь из i в N, выходящий из i в момент /0, достигает N в момент (/o+fH^J.^o+T1 и этот путь реализуется за определенное конечное число шагов &0+1, то этот путь принадлежит f^+1) (/о). Отсюда следует, что мы должны доказать сходимость (6) за конечное число итераций, т. е. что для К>кй выполняется равенство
В самом деле, всякий раз, как t-HiW^to + T, существует минимальный путь из i, достигающий N к моменту /о + Т и имеющий- конечное число звеньев. Следовательно, существует целое к0, зависящее от i и t и такое, что)
^Ч^ = № ^™ к<^ если t V^M^<t^T.
Рис. 1 1). Проблема домино состоит в том, чтобы из трех разноцветных костей построить блок, который может быть продолжен до бесконечности таким образом, чтобы все прилегающие друг к другу края были одинакового цвета (см. рис. 3). Предполагается, что игрок имеет бесконечное число костей каждого типа и что кость нельзя поворачивать в двух измерениях. Проблема решается нахождением прямоугольного блока, в котором последовательность цветов на верхнем основании такая же, как на нижнем, а на правой боковой стороне такая же, как на левой. Такой блок можно повторять во всех направлениях, заполняя им бесконечную плоскость (см. рис. 3).
' Рис. 1 •). Проблема домино состоит в том, чтобы из трех разноцветных ’ костей построить блок, который может быть продолжен до бесконечности ’ таким образом, чтобы все прилегающие друг к другу края были одинакового • - цвета (см. рис. 3). Предполагается, что игрок имеет бесконечное число костей каждого типа и что кость нельзя поворачивать в двух измерениях. Проблема решается нахождением прямоугольного блока, в котором последовательность .цветов на верхнем основании такая же. как иа нижнем, а на
• правой боковой стороне такая же, как иа левой. Такой блок можно повто- р«$Ь во всех направлениях, заполняя им бесконечную плоскость (см. рис. 3).
$
•) Рисунки, помещенные на этой вклейке, относятся к статье Ван Хао «Игры, логика и вычислительные машины* (стр. 195—207).—Пром. ред.
Рис. 2. Правила игры в домино могут быть изложены с помощью символики, употребляемой в математической логике (см. словарь в правом верхнем углу рисунка). Сверху в середине — набор костей: А, В и С. Выражение / гласит, что должны совпадать цвета у левого и правого края; выражение 2— что должны" совпадать цвета верхнего и нижнего края. Третье правило состоит в том. что кости нельзя располагать одну над другой. .Выражение 4, которое представляетРис. 2. Правила игры в домино могут быть изложены с помощью символики, употребляемой в математической логике (см. словарь в правом верхнем углу рисунка). Сверху в середине — набор костей: А, В и С. Выражение / гласит, что должны совпадать цвета у левого и правого края; выражение 2— что должны" совпадать цвета верхнего и нижнего края. Третье правило состоит в том. что кости нельзя располагать одну над другой. .Выражение 4, которое представляет
Рис. 2. Правила игры в домино могут быть изложены с помощью символики, употребляемой в математической логике (см. словарь в правом верхнем углу рисунка). Сверху в середине — набор костей: А, В и С. Выражение / гласит, что должны совпадать цвета у левого и правого края; выражение 2— что должны" совпадать цвета верхнего и нижнего края. Третье правило состоит в том. что кости нельзя располагать одну над другой. .Выражение 4, которое представляет
Рис. 2. Правила игры в домино могут быть изложены с помощью символики, употребляемой в математической логике (см. словарь в правом верхнем углу рисунка). Сверху в середине — набор костей: А, В и С. Выражение / гласит, что должны совпадать цвета у левого и правого края; выражение 2— что должны" совпадать цвета верхнего и нижнего края. Третье правило состоит в том. что кости нельзя располагать одну над другой. .Выражение 4, которое представляет
собой типичный пример ограничения, используемого для усложнения игр с целью приблизить их к трудным вычислительным проблемам, означает, что на главной диагонали плоскости может находиться только кость Л. Расположение на плоскости описывается с помощью декартовой системы координат. В обозначениях типа «Лух» первая переменная у выражает положение кости относительно горизонтальной оси, вторая — положение относительно вертикальной оси.
Рис. 3.
Рис. 3.
Вычисления
Подобно другим итерационным схемам, предназначаются ли они для вычисления кратчайшего пути или нет, эта схема хорошо приспособлена для реализации на ЭВМ. На практике, если мы хотим вычислить fi(t0) для 1^-ЬСМ, то мы начинаем с выбора достаточно большого числа Г, удовлетворяющего (2); или же, если мы хотим вычислить /у (О одновременно для t=t0, /о+1> • •., Zo+т, мы можем выбрать
.Z=L 2, ...» TV;
T>™«MgMWV , = ,о+1/о + т.(7)
В некоторых случаях каждое из этих определений Т должно допускать Т = оо (или же «Г равно очень большому числу»). Так как это оказывается нежелательным при практических расчетах, реальное переменное значение Т получается заменой ^^(^о) в (2) [или giNW в (7)] на «путь, начинающийся в i в момент /0 [или «во время t» в (7)], содержащий наименьшее возможное число звеньев, но, однако, еще достигающий N в приемлемо короткое время». Мы находим такой путь первой проверкой всех двузвенных путей из i в N, потом всех трехзвенных путей и т. д., пока не найдем приемлемый ^ -звенный путь. «Приемлемо малое время» зависит от памяти ЭВМ, ограничения на время счета или же от требований, предъявляемых к скорости1). Если же теперь (2) используется для выбора Т, то мы можем лишь заметить, что Zo 4- /^ (/0) <; /0 -|- Т, если k^k'—1, где
К = max (А^, 1 < Z < N.
Теперь g^^t) заменяются на g^ty определяемые с помощью формул (3), а с помощью формул (4) вычисляется матрица ^ (/) «начальных приближений», которая содержит значения для 1</<СМ t^ST2y Затем, используя (5), вычисляем матрицу F(i4C = (fi,ty гДе U^f^W- Если gtj (Z) = oo для всех у, то
. 9 Наш метод требует хранения значений gtj (ft и fi (ft для 1 < Z, j<.N, t£Sr— всего (2V24-ZV) (Г-}* 1) значений.
Если минимальный путь из I в N, начинающийся в момент Zo, лежит в £^o+1)(Zo), но не в ^(Zo) для 1<&<&0, тогда fz(Z0)>^04“^ так как gijW^^ Для t^S. Но мы знаем, что h (М С?. Поэтому &0<7—1 и сходимость имеет место за самое большее k$ < Т — 1 итераций.
'Могут быть развиты различные методы сокращения объема хранимой информации и ускорения сходимости, но изложение их не является целью данной статьи.
2) Нет необходимости хранить значения f/0) (О для Z С Sr.
13 Зак. 1204
/0) (/) = оо. Если же / +£/у (/) £ Sr для любого у, то тогда из (4) и (3) следует, что /^(Z + gtj^ = оо, и вследствие (5) справедливо равенство /<*>(/) = оо. Когда оба числа g^it) и f(»)(Z + ^, (Z)) конечны для некоторого /, мы вычисляем первую величину непосредственно, а последнюю находим с помощью ^((У Затем ищем минимум их сумм по всем у для отыскания f(p^)- Тем же самым путем,, используя (6), мы последовательно вычисляем матрицы F^\t\ ..., ^ Ц\ ... для 1 <: Z <.N, t^ST. В конечном счете векторы
{№'(',)>■' </'№)>
обязательно сходятся к вектору кратчайшего пути QiWY Самый кратчайший путь получается нахождением последовательности индексов, для которых переменные достигают минимума.
Если требуется большая точность задания функции gtA^ нежели точность до целого значения, то вместо целых чисел в качестве масштаба точности должна использоваться величина А, упомянутая нами выше.
Заключение
Задачи о кратчайшем пути, изучавшиеся до сих пор, были далеки от реальности. Везде предполагалось, что время пробега между двумя вершинами (узлами) постоянно. Это предпо- ложецие, очевидно, нс выполняется для большинства физических и биологических задач. Проведенный нами анализ демонстрирует, как можно осуществить поиск кратчайшего пути в более реалистическом случае, когда время передвижения является переменным.•
В статье используется модифицированная итерационная схема Беллмана [1] для отыскания кратчайшего пути между любыми двумя вершинами сети. Она сходится за конечное число шагов к кратчайшему пути между двумя любыми вершинами, причем для любого начального момента времени в случае выполнения некоторых начальных условий. Одна из основных особенностей этого подхода заключается в такой организации работы, что вычисление новой итерации не требует повторения вычислений предыдущих итераций.
ЛИТЕРАТУРА
, Bellman R., On a routing problem, Quart. Appl. Math., 16 (1958), 87-—90.
Bellman R., Dynamic programming, Princeton University Press, Princeton, New Jersey, 1957. (Русский перевод: Беллман P., Динамическое программирование, ИЛ, М., 1960.)'
Некоторые технические реализации
Игры, логика и вычислительныемашины1}
Ван Хао
" Немалая часть работы, которую раньше способны были выполнить только человеческие мускулы и человеческий мозг, в настоящее время выполняется машинами. Поэтому люди часто задают такого рода вопросы: «Какие из человеческих способностей не могут быть воспроизведены машиной?», «Чего машины не могут сделать?» Читателя, быть может, удивит, что в то время как на первый вопрос никакого определенного ответа дать нельзя, для второго вопроса имеется прямое математическое решение.
Еще раньше, чем была построена первая современная вычислительная машина, ныне покойный английский логик Алан Тьюринг поставил именно такой вопрос: «Чего машины не могут сделать?» Исследуя, что может быть вычислено на машине, а что нет, Тьюринг описал простую и медленно действующую врображаемую вычислительную .машину (машину Тьюринга), и доказал, что она теоретически способна выполнять любые операции любой вычислительной машины. С помощью своей машины он продемонстрировал тесное родство между теорией вычислительных машин и логикой — двумя областями математики, которые обе связаны с математическими доказательствами и со способами записи, позволяющими точно выражать наши мысли. Задача этой статьи — пояснить некоторые фундаментальны^ понятия из области, пограничной между теорией вычислительных машин и логикой, с помощью некоторых видов игр.
Человеческий ум может воспринимать лишь относительно малые числа и количества. Л^ежду тем математика имеет дело прежде всего с бесконечностью. Конечность математических операций и бесконечность математических сущностей удивительным образом контрастируют друг с другом. Плавный переход от интуитивно понятных частных случаев к неограниченно общим ситуациям — это замечательное достижение человеческого интеллекта. Абстрактные соображения, касающиеся игр, могут послужить естественным введением в изучение этого явления.
*) Нао .Wang, Games, logic and computers, Scientific american, 213, № 5 (1965), 98—106.
Нахождение последовательности ходов, обеспечивающей победу в такой игре, как «крестики — нолики», — это логическая проблема, в точности аналогичная проблеме нахождения последовательности шагов, обеспечивающей решение произвольной математической проблемы из заданного класса. Для некоторых игр нет оптимальной стратегии, которая могла бы гарантировать победу; аналогично для некоторых классов проблем не существует алгоритма решения, т. е. не существует общего метода, который давал бы возможность выбрать последовательность шагов, приводящую к решению. Поскольку машинная программа есть просто алгоритм, приспособленный для реализации на машине, то отсюда следует, что имеются классы проблем, которые машина не может решить. Прежде чем говорить о трудностях, возникающих при построении алгоритмов для решения математических проблем (а также при создании программ для выработки оптимальной стратегии ведения игры), попытаемся понять, почему разработка таких алгоритмов и программ не только полезна, но и составляет конечную цель математики. -
Очевидно, что на запоминание таблицы умножения должно было бы уйти бесконечное количество времени и энергии, если бы эта таблица включала не только произведения всех возможных пар однозначных чисел, но и произведения всех многозначных чисел. Человек сделал так, что эту бесконечную таблицу умножения запоминать не требуется: таблица умножения для одозначных чисел и последовательность шагов, вклю^ чающая «сдвиг» (на разряд) и сложение частичных произведем ний, дают возможность перемножать произвольные многозначные числа.
Как известно, операции элементарной арифметики основаны на формальных правилах, а многие, наверное, помнят, что и некоторые другие операции, такие, как извлечение квадратного корня, также могут быть представлены как строго определенная последовательность шагов. Имеются, однако, более сложные проблемы, про которые уже менее очевидно, что они могут быть решены с помощью алгоритма. Рассмотрим, например, такую проблему: «даны два положительных числа 6 и 9; найти их наибольший общий делитель». Читатель тотчас же находит ответ: 3. Если задать числа 68 и 153, то читатель, который имеет склонность к терпеливому перебору различных возможностей, найдет ответ и в этом случае: 17. Однако, если бы удалось показать, что общая проблема — «даны два положительных числа а и Ь\ найти их наибольший общий делитель» — может быть решена с помощью алгоритма, то любой человек и любая машина, способные выполнять заданный набор операций, могли бы ре-
шить эту проблему для произвольных а и Ь. Такой алгоритм существует; он был построен Евклидом (рис. 4—6).
Польза алгоритмов столь же очевидна и в области игр: здесь алгоритм даст инструкцию относительно наиболее выгодных ходов. Математик, разумеется, заинтересован' нс столько в том, чтобы выиграть игру, сколько в том, чтобы понять абстрактную структуру данного класса игр. Выяснить существование или несуществование выигрышной стратегии — это и значит проникнуть в абстрактную структуру данной игры и других игр того же типа.
Возьмем в качестве примера так называемую игру «ним». Произвольное число предметов, например шесть спичек, делится на три кучки. Игроки А и В берут поочередно любое число спичек из любой кучки (но каждый раз только из одной). Побеждает тот, кто берет последнюю спичку. Число спичек конечно, и когда-нибудь спички заведомо кончатся, так что в этой игре нет ничьих. Существенно то, что только один из игроков располагает выигрышной стратегией; кто именно — зависит от того, как разделены предметы и чей первый ход. В частности, в игре, где кучки состоят соответственно из одной, двух и трех спичек, беспроигрышную стратегию имеет игрок В, т. е. тот, кто ходит вторым. Это можно доказать с помощью схематического дерева, где вершины изображают положение на соответствующем этапе игры, а ветви, отходящие от вершины, — возможные ходы, которые игрок может сделать в данной ситуации (рис. 7).
Допустим, что мы играем в эту игру, начиная с кучек, содержащих первая 10 млн. спичек, вторая — 234 спички и третья — 2729. Теоретически можно и для этого случая затабулировать все возможные последовательности ходов и понять, имеется ли у А или у В выигрышная стратегия. Однако построить такую таблицу ни один человек не захочет и нс сможет. Математик прежде всего начнет систематический поиск сокращенных путей, ведущих к упрощению операций и к экономии мысли. Поиски такого рода для игры в «ним» действительно предпринимались, и был выработан простой рецепт для определения того, какой из игроков имеет выигрышную стратегию. Этот рецепт состоит в том, что игрок А всегда может выиграть, если при представлении числа предметов в каждой из трех кучек в двоичной системе получившиеся двоичные разложения содержат нечетное число единиц хотя бы в одном разряде. Нахождение такого рецепта может не означать ничего, кроме блистательного окончания работы, но может также привести к важному математическому осмыслению каких-то явлений — это зависит от природы игры и от того, насколько непосредственно она связана с большими математическими и логическими проблемами.
GCD ^ THIS ROUTINE COMPUTES THE GREATEST COMMON $ DIVISOR OF TWO INTEGERS A ANO 8.
JR
EXTERNAL FUNCTION (A,B)
NORMAL M0OE IS INTEGER
ENTRY TO GCD.
LOOP REMAIN = В - A*(B/A)
WHENEVER REMAIN.E.O,FUNCTION RETURN .ABS.(A)
В 5 A
A = REMAIN
TRANSFER .TO LOOP
END OF FUNCTION
TYPE INPUTA=8.8=12* THE GCD OF A AND В ISTYPE INPUTA=8.8=12* THE GCD OF A AND В ISTYPE INPUTA = 12W678,B = 8765U321*The GCD OF A ANO 8 IS9TYPE INPUTA = 12W678,B = 8765U321*The GCD OF A ANO 8 IS9
TYPE INPUT
A=8.8=12* THE GCD OF A AND В IS
TYPE INPUT
A=8.8=12* THE GCD OF A AND В IS
TYPE INPUT
A = 12W678,B = 8765U321*
The GCD OF A ANO 8 IS
9
TYPE INPUT
A = 12W678,B = 8765U321*
The GCD OF A ANO 8 IS
9
Рис. 4. Алгоритм, записанный на машинном языке, задает последовательность шагов, с помощью которых может быть найден наибольший общий делитель прозвольных двух чисел. Внизу — полученные решен ля для двух пар чисел. Операции записаны на языке, называемом MAD (Michigan algorithm decoder — Мичиганский декодировщик алгоритмов). Буква О перечеркивается при печати косой чертой, чтобы отличать ее от нуля.
/. Рм^отри два полржатель-числа к иЪ . П^рШи
х к Следующей инструкции.
Сравни два рассматриваемых •гибла (определи, равняли они, d если нет, то которое бд'Лыие). Перейди к следующей инструкции
Если числа равны, любое из них является ответом; остановись Если нет, перейди к следую- щей инструкции.
Вычти меньшее число цз большего и замени два рассматриваемых числа на вычитаемое
х и остаток. Перейди к инструкции 2.
Рис. 5. Тот же алгоритм, записанный на обычном языке. Процесс деленияааменяется повторным вычитанием. Эта последовательность операций из-вестна под названием алгоритма Евклида.
Рис. 6. Машина Тьюринга, предназначенная для осуществления алгоритма Евклида, в этом схематическом изображении содержит на ленте числа 4 и 6. (Каждая единица представлена штрихом; звездочка отделяет одно число от другого.) Логический блок машины содержит инструкции, определяемые отметкой на обозреваемой ячейке ленты и состоянием внутренней памяти. Осуществление шагов алгоритма ведет к изменениям на ленте, как показано внизу. Вначале машина определяет, какое число длиннее, с помощью «цикла сравнения»: штрихи,справа и слева от звездочки заменяются символами (слева ставится символ Л, справа — В). Когда один набор штрихов подойдет к концу, машина начинает «цикл вычитания», т. е. стирает символы меньшего числа, а символы большего числа обращает снова в штрихи. Этот набор отделяется от штрихов, соответствующих остатку от вычитания, с помощью звездочки. Процесс сравнения и вычитания повторяется после того, как на ленте остаются числа 4 и 2, а затем 2 и 2; в конце'концов на ленте появляются 2 и 0. Когда начинается цикл сравнения, пустая ячейка с одной стороны от звездочки вызывает из логического блока сигнал остановки (!), и машина останавливается, когда на ее ленте записан ответ (2). Машина Тьюринга является идеализированной машиной, поскольку ее лента потенциально бесконечна.
Такие игры, как «ним», считаются «нечестными», поскольку один игрок всегда имеет выигрышную стратегию. Игры вроде «крестиков — ноликов» считаются «безрезультатными», поскольку оба игрока имеют беспроигрышную стратегию, так что в ней невозможно выиграть. Эти характеристики могут- быть
6000 000
Рис. 7. Дерево игры в «ним» показывает, что игрок, который ходит вторым (В), имеет выигрышную стратегию. В начале игры (см. корень дерева) имеются кучки из одной, двух и трех спичек (цифры при каждой вершине дерева показывают число спичек, остающихся в кучках). Игроки забирают одну или несколько спичек из одной кучки, пока кто-нибудь не выиграет, забрав последнюю спичку. Ребра дерева показывают все возможные ходы для А и ведущий к выигрышу ответ В на каждый из них.
сформулированы в виде теоремы: всякая игра является либо безрезультатной, либо нечестной, если в ее дереве имеется фиксированная верхняя граница длины всякого пути и если при этом от каждой вершины отходит конечное число ребер. Эта теорема верна потому, что если игра конечна и если на каждом этапе имеется конечное число разрешенных ходов, то общее число возможных последовательностей ходов тоже конечно. Теперь, представив в виде дерева все разрешенные варианты игры, мЫ увидим, что если ни один из игроков нс имеет выигрышной стратегии, то обязательно каждый из игроков имеет беспроиг^ рывшую* .
Эта теорема неприложима к игре в шахматы, до тех пор пока не существует точных правил для предотвращения бесконечных партий. Предположим, однако, что мы ввели правила,
Рис. 8. Лемма о бесконечности подсказывается деревом, растущим вверх. Эта лемма есть утверждение о том, что если в дереве имеется бесконечное число связанных вершин, но от каждой вершины отходит лишь конечное число ребер, то на каждом уровне дерева должна существовать вершина, от которой отходит вверх бесконечное число ребер. Э*ги два обстоятельства, взятые вместе, дают бесконечный путь. Эта лемма может быть перефразирована следующим образом: «Если род человеческий никогда не исчезнет, то сейчас существует человек, потомок которого будет жив в произвольно далеком будущем».
которые исключают бесконечные партии, но не тем, что накладывают какие-то ограничения на абсолютное число ходов в партии, а как-то иначе. Тогда мы могли бы применить к шахматам утверждение, известное как лемма о бесконечности, которое гласит, что если в дереве игры имеется бесконечно много вершин, связанных ребрами, но от каждой вершины отходит конечное число ребер, то в этом дереве имеется бесконечный путь.
Если даны лемма о бесконечности и допущение о том, что новые правила игры исключают возможность бесконечных партий, то отсюда следует, что дерево, представляющее игру в
шахматы, содержит конечное число ребер. В противном случае, поскольку от каждой вершины отходит лишь конечное число ребер, были бы бесконечные пути (т. е. бесконечные партии). Сле^ довательно, имеется лишь конечное число возможных последовательностей ходов, а значит, как мы показали ранее, игра в шахматы является либо нечестной, либо безрезультатной.
Доказательство леммы о бесконечности почти очевидно. Возьмем вершину, образующую корень дерева. Поскольку мы допустили бесконечное число ребер, но конечное число ребер, отходящих от одной вершины, то по крайней мере одна из вершин следующего уровня должна быть корнем поддерева с бесконечным числом ребер. Назовем эту вершину X. Наша гипотеза состоит в том, что непосредственно от X отходит лишь конечное число ребер. Следовательно, одна из вершин на том уровне, который следует за X, должна быть корнем бесконечного поддерева. Повторяя это же рассуждение, мы увидим., что на каждом уровне имеется по крайней мере одна вершина, которая является корнем бесконечного поддерева; а вместе эти вершины определяют в дереве некоторый бесконечный путь. Между прочим, применяя лемму о бесконечности «антропоморфически», мы должны заключить, что если род человеческий никогда не исчезнет, то сейчас существует человек, потомок которого будет жив в произвольно далеком будущем (рис. 8).
Разумеется, исследование игры представляет интерес в зависимости от того, насколько важные математические вопросы она затрагивает. В 1960 г., когда я работал, в лаборатории компании «Бэлл телефон», я придумал игру для одного ^человека, похожую на домино с раскрашенными костями. Позднее в Лаборатории вычислительных машин Гарвардского университета я и мои коллеги нашли некоторые неожиданные и важные применения этой игры. Некоторые проблемы, возникающие при игре в это домино, являются точными аналогами задач, для решения которых предназначалась машина Тьюринга. Условия, которыми задается эта игра в домино, могуу быть поставлены в соответствие с вычислениями, осуществляемыми на машине Тьюринга, так что анализ этой игры может послужить основой для новых подходов — иногда чрезвычайно плодотворных — к некоторым математическим проблемам.
При этой игре в домино игрокам дастся конечное число квадратных костей; все кости одинакового размера, но каждый из краев имеет некоторый определенный цвет, и цвета комбинируются несколькими способами. Предполагается, что имеется бесконечное число экземпляров каждой кости и что нельзя поворачивать кость в двух измерениях. Цель игры — покрыть костями бесконечную плоскость так, чтобы края костей, прилегаю-
щие друг к другу, были одинакового цвета. Ебли плоскость может быть покрыта данным множеством костей, то это множество называется разрешимым.
Рассмотрим набор из трех костей на рис. 1. Этот набор раз- решим^ потому что из него можно построить блок в 9 костей, который удовлетворяет указанному выше условию и может быть повторен в любом направлении. Если имеется решение для всей плоскости, то очевидно, что можно обрубить три квадранта и получить решение для одного квадранта. Обратное менее очевидно, но здесь мы можем использовать лемму о бесконечности.
Покрыть секцию декартовой плоскости белыми и черными костями таким образом, чтобы не получилось ни однога блока (того размера, который показан на рисунке справа, или большего) с совпадающими краями-правыми и левыми или верхними и нижними. Можно ли заполнить блоками такого вида бесконечную плоскость ?
Рис. 9. Автор предлагает читателю четыре проблемы. Только для этой первой и для четвертой проблемы решения известны. Решение первой проблемы см. на рис. 12.
Поскольку существует решение для бесконечного квадранта, то существуют частные решения для квадрантов этого квадранта, т. е. решения для любого квадрата размером п на п. Из таких частных решений мы можем построить бесконечное дерево и показать с помощью леммы о бесконечности, что в этом дереве существует бесконечный путь, который даст решение для всей плоскости. Таким образом, если можно заполнить квадрант бесконечной плоскости, то можно заполнить и всю плоскость.
Игрой в домино можно имитировать различные машины Тьюринга и строить эквиваленты для важной тьюринговской «проблемы остановки». Будет проще, если считать известным, какая кость находится в исходной точке плоскости, т. е. какая кость была выставлена первой. С некоторым усилием можно добиться того же, если ввести условие о том, что некоторые кости лежат на главной диагонали, или даже если опустить все условия, кроме тех, которые были упомянуты ранее. Рассмотрим эквивалентность проблемы остановки игре в домино более подробно. '".
Тьюринг имел в виду, что его простая вычислительная машина будет соперничать с вычислителем. Человек, решающий математическую задачу, скорее всего, пользуется карандашом и бумагой, т. е. пишет и стирает числа; он может также
иметь под рукой запас математических фактов — в виде таблиц— и содержащийся либо в уме, либо на бумаге набор инструкций для выполнения нужных шагов в нужной последовательности. Воображаемая машина Тьюринга также имеет устройство, позволяющее делать пометки, и стирающее устройство, которые вместе позволяют. записывать числа в соответствии с инструкциями, посылаемыми логическим блоком, который действует в соответствии с заранее написанной таблицей команд.
Можно договориться, что цепочка из нулей и единиц дает „потомство**
011010001001
01000100100
101110110011
1101100111101
по следующим правилам:
0010010000
11001111011101
1. Если в цепочке менее чем 3 сим
001000000
01111011101 f*l01
вола, остановиться.
2. Если цепочка начинается с нуля, стереть три символа слева
00000000
0000000
11011101110100
111011101001101
и добавить справа 00.
000000
0111010011011101
3. Если цепочка начинается с еди
00000
101001101110100
ницы, стереть три символа слева и добавить справа 1101 Существует ли алгоритм, позволяю
0000 000
00
0011011101001101 10110100110100 1101001101001101
щий определить, является ли одна из двух цепочек потомком другой ? '*
(stop)
(progeny continue)
Рис. 10. Вторая проблема — найти алгоритм, который определяет, являются ли две цепочки из нулей и единиц связанными друг с другом. Проблема усложняется тем, что некоторые цепочки могут давать бесконечное потомство. Другое решение состоит в том, чтобы доказать, что такого алгоритма не существует. [Stop (англ.) — остановка, progeny continue — порождение потомства продолжается.]
Числа записываются в виде штрихов в квадратных ячейках бесконечно длинной ленты, служащей в качестве памяти. (Поскольку никакая действительная машина не может иметь бесконечной памяти, машина Тьюринга является идеализированным устройством.)
Считывающая головка рассматривает ячейки ленты, по одной в каждый момент времени, и передает символ в ячейке в логический блок (рис. 6). Логический блок обращается к своим внутренним инструкциям с помощью указателя, который направлен на участок, называемый «Текущая инструкция». В зависимости от того, что находится на ленте, вырабатывается одна из следующих четырех команд: (1) напечатать некоторый символ в ячейке, стерев предварительно ее содержимое, если это потребуется; (2) передвинуть ленту на одну ячейку вправо; (3) передвинуть ленту на одну ячейку влево; (4) остановиться. Кроме того, инструкция указывает, где хранится следующая
команда. В машину Тьюринга можно заложить столько инструкций и команд, сколько потребуется, а лента может содержать бесконечное число ячеек; это даст возможность решить на машине Тьюринга любую заданную ей математическую проблему (если эта проблема относится к числу разрешимых с помощью алгоритмов).
Тьюринг выдвинул проблему остановки в качестве примера проблемы, для которой никакая программа нс может дать всех
Существует ли алгоритм, позволяющий определить имеет ли полином с целочисленными коэффициентами целочисленные корни?В число таких полиномов входят уравненияи х2-4х*3 = 0 а2 а- Ьг-с2=0В первом уравнении имеется только одно неизвестное х. Следовательно, оно может быть приведено к виду'апх° + а^х”'1 А-...Aa^-vao-O,Существует ли алгоритм, позволяющий определить имеет ли полином с целочисленными коэффициентами целочисленные корни?В число таких полиномов входят уравненияи х2-4х*3 = 0 а2 а- Ьг-с2=0В первом уравнении имеется только одно неизвестное х. Следовательно, оно может быть приведено к виду'апх° + а^х”'1 А-...Aa^-vao-O,а для уравнений такого вида желаемый алгоритм известен:Найт и все делители а0.Подставить каждый из них на место х и вычислить значение левой части уравнения.Если какой-нибудь из них дает значение 0, то он является корнем уравнения; если такого нет, то уравнение не имеет целочисленных корней."Проблема состоит в том, чтобы построить такой алгоритм для уравнений второго типа,т.е. для уравнений с более чем одним неизвестным.а для уравнений такого вида желаемый алгоритм известен:Найт и все делители а0.Подставить каждый из них на место х и вычислить значение левой части уравнения.Если какой-нибудь из них дает значение 0, то он является корнем уравнения; если такого нет, то уравнение не имеет целочисленных корней."Проблема состоит в том, чтобы построить такой алгоритм для уравнений второго типа,т.е. для уравнений с более чем одним неизвестным.
Существует ли алгоритм, позволяющий определить имеет ли полином с целочисленными коэффициентами целочисленные корни?
В число таких полиномов входят уравнения
и х2-4х*3 = 0 а2 а- Ьг-с2=0
В первом уравнении имеется только одно неизвестное х. Следовательно, оно может быть приведено к виду'
апх° + а^х”'1 А-...Aa^-vao-O,
Существует ли алгоритм, позволяющий определить имеет ли полином с целочисленными коэффициентами целочисленные корни?
В число таких полиномов входят уравнения
и х2-4х*3 = 0 а2 а- Ьг-с2=0
В первом уравнении имеется только одно неизвестное х. Следовательно, оно может быть приведено к виду'
апх° + а^х”'1 А-...Aa^-vao-O,
а для уравнений такого вида желаемый алгоритм известен:
Найт и все делители а0.
Подставить каждый из них на место х и вычислить значение левой части уравнения.
Если какой-нибудь из них дает значение 0, то он является корнем уравнения; если такого нет, то уравнение не имеет целочисленных корней."
Проблема состоит в том, чтобы построить такой алгоритм для уравнений второго типа,т.е. для уравнений с более чем одним неизвестным.
а для уравнений такого вида желаемый алгоритм известен:
Найт и все делители а0.
Подставить каждый из них на место х и вычислить значение левой части уравнения.
Если какой-нибудь из них дает значение 0, то он является корнем уравнения; если такого нет, то уравнение не имеет целочисленных корней."
Проблема состоит в том, чтобы построить такой алгоритм для уравнений второго типа,т.е. для уравнений с более чем одним неизвестным.
Рис. 11. Третья проблема известна как «10-я проблема Гильберта» с тех пор, как немецкий математик Давид Гильберт включил ее в 1900 г. в число выдающихся проблем математики.
правильных решений. Он превысил возможности всякой единичной машины Тьюринга, поставив вопрос, касающийся всех машин. Он показал, что хотя всякая машина в зависимости от содержимого ее ленты либо остановится, либо будет продолжать работать до бесконечности, тем не менее здесь не суще^ ствует алгоритма, который мог бы определить поведение ма^ шины, т. е. для этой проблемы не существует общего рецепта, похожего на рецепт определения победителя в игре «ним». Оказывается, однако, что для всякой машины Тьюринга можно найти такой набор костей домино, что машина останавливается в том и только в том случйе, когда этот набор нс является разрешимым. Прямым следствием этого факта является неразрешимость проблемы домино: если бы мы могли решить проблему домино, то мы могли бы решить и проблему остановки; мы не можем решить проблему остановки, а следовательно, не можем решить и проблему домино. Иными словами, не существует общего метода получения ответа на вопрос, является ли данный набор костей домино разрешимым.
Проблема домино является примером бесконечной проблемы такого тина, который часто возникает в логике, в теории вычислительных машин и вообще в математике. Эта проблема является бесконечной в следующем смысле слова. Всякое решение проблемы домино должно представлять собой единый метод получения правильного ответа на бесконечное число вопросов
а
ab
abba
abbabaab
a b ba b аа b b аа ba b b а..
Рис. 12. Решение первой проблемы (см. рис. 9). Для того чтобы провести это построение, обозначим черную кость через а, белую—через b (см. левую часть рисунка). Напишем а й заменим его на ab. Затем заменим b на Ьа и далее будем заменять а и b таким же образом. Запишем эту последовательность в верхнем ряду и повторим каждый символ вдоль всей диагонали, идущей от правого верхнего угла к левому нижнему.
вида: «Можно ли с помощью данного набора костей домино покрыть плоскость?». Хотя каждый конкретный набор типов костей конечен, таких наборов, разумеется, бесконечное число, и потому число вопросов также бесконечно.
Таким образом, мы свели проблемы, касающиеся наборов костей домино, к проблемам, касающимся машин, и установили некоторые факты относительно игры в домино, апеллируя к результатам, известным для машин. Следующий этап — это сведение проблемы интерпретации формулы в логике к проблеме разрешимости набора костей домино. Поскольку условие о том, что набор костей домино разрешим, может быть выражено в виде простой логической формулы, то такое сведение решает проблему разрешения — важнейшую из проблем логики.
Если мы хотим выразить условие о том, что набор из трех типов костей домино имеет решение в первом квадранте бесконечной плоскости, то прежде всего приходит в голову записать положение кости в декартовой системе координат и представить каждую кость в виде предиката; например, Аху будет означать, что кость А занимает положение (х, у). Если обозначить х+1 через х\ то требуемое условие может быть сформулировано в
Рис. 13. Четвертая проблема (проблема домино с десятью костями) состоит в том, чтобы построить из этих косгей блок, в котором схема распределения цветов одинакова для верхнего и нижнего края с одной стороны и для левого и правого края — с другой. Решение см. на рис. 14.
Рн с. 13. Четвертая проблема (проблема домино с десятью костями) состоит в том, чтобы построить.из этих костей блок, в котором схема распределения цветов одинакова для верхнего и нижнего края с одной стороны и для левого н правого края — с другой. Решение см. на рис. 14.
Рис. 14. Решением проблемы домино с 10 костями является прямоугольный блок из 36 костей. На рисунке изображены два таких блока, разделенные жирной линией, проходящей через центр рисунка. Это решение не является единственным, т. е. существуют другие в равной мере приемлемые конфигурации, построенные из указанного набора костей.
Рис. 14. Решением проблемы домино с 10 костями является прямоугольный блок из 36 костей. На рисунке изображены два таких блока, разделенные жирной линией, проходящей через центр рисунка. Это решение не является единственным, т. е. существуют другие в равной мере приемлемые конфигурации, построенные из указанного набора костей.
виде нескольких предложений с очень небольшим числом кванторов (т. е. конструкций с оборотами «для всякого» и «существует»). Кроме того, из конечных операций формальной логики мы расщедримся только на «не», «и» и «или» (рис. 2). Мы можем заключить, что для любого заданного набора костей можно -найти соответствующую АЕА-формулу (т. е. предложение, начинающееся словами: «Для всякого X существует У, такое, что для всякого Z», после чего следует комбинация логических связок и предикатов, уже без кванторов), такую, что набор является разрешимым тогда и только тогда, когда формула не является противоречивой. Иными словами, мы можем перевести проблему домино в логическую формулу, введя некоторые ограничения, а затем устанавливать разрешимость проблемы домино по тому, является ли противоречивой соответствующая формула. Следовательно, раз общая проблема домино неразрешима, то не существует общего метода для решения вопроса о том, является ли противоречивой произвольная АЕА-формула.
Этот результат весьма полезен, поскольку сложность формулы в логике в значительной мере определяется числом и порядком кванторов и логические формулы часто относятся к различным классам в зависимости от структуры кванторных оборотов. Тот факт, что такой простой класс формул, как АЕА-формулы (всего с тремя кванторами), неразрешим, весьма удивителен. Действительно, имея этот результат, мы можем решить проблему разрешения для всех классов формул с данным набором кванторов. Если дана произвольная цепочка кванторов, мы можем сказать, является ли класс определяемых ею формул разрешимым.
Логическая проблема разрешения имеет большое значение потому, что все математические теоремы могут быть сформулированы в рамках элементарной логики. Вопрос о том, может ли формула F быть выведена из системы аксиом А, сводится к тому, чтобы решить, является ли логическая формула «А, но не.Е» противоречивой. В этом смысле вся математика сводится к логике. Действительно, одна из мер сложности математической проблемы задается структурой соответствующей ей логической формулы. Тем самым определение сложности различных классов логических формул является важной задачей.
Можно с полным основанием утверждать, что „вся математика может быть сведена через посредство машины Тьюринга к игре в домино (для одного человека). В большинстве случаев это сведение не облегчает решения проблемы. Однако доказательство того, что некоторые проблемы неразрешимы с помощью вычислительной машины, часто упрощается при сведении их к проблемам домино.
СОДЕРЖАН И Е
Математические вопросы 5
Э. В а й н ер, Р. Эш. Анализ рекуррентных кодов. Перевод И. И. Грушко 5
Дж. Ш тиф л ер. Коды без запятой, исправляющие ошибки. Перевод Е. Ю. Захаровой . . 34
Ж. А н с е л ь. Минимальное число замыкающих контактов, достаточное для реализации одной симметрической булевой функции п переменных. Перевод Н. А. Карповой 47
Ж. А н с е л ь. О числе монотонных булевых функций п переменных. Перевод Н. А. Карповой53
Ж. Анс ель. Построение двухполюсной контактной схемы для произвольной монотонной булевой функции п переменных. Перевод Н. А. Карповой ................... 58
П. Фишер. Многоленточные и бесконечные автоматы. Обзор, Перевод А. А. Мучника 64
А. Атрубин. Одномерное итеративное умножающее устройство, работающее в реальное время. Перевод Ю. А. Бухштаба 81
П. Фишер. Порождение простых чисел на одномерной итеративной сети в реальное время. Перевод Ю. А. Бухштаба95
П. Ландвебер. Проблемы разрешения в грамматиках непосредственных составляющих. Перевод М. В. Ломковской ЮЗ
С. Гинзбург, Дж. Роуз. Характеристика машинных отображений, . Перевод А А. Мучника ................. 128
С. Гинзбург, Дж. Р о у з. Об инвариантности классов языков относительно некоторых преобразований. Перевод А. С. Модиной . . . . 138
С. Гинзбург, Ш. Г р е й б а х. Об инвариантности класса НС-языков относительно некоторых отображений. Перевод Л. С. Модиной . . 167
К. Кук, Э. X о л с е й. Кратчайший путь через сеть с переменным временем пробега по дугам. Перевод В. А. Евстигнеева 189
Некоторые гехнические реализации 195
Ван Хао. Игры, логика и вычислительные машины. Перевод Е. В. Падучевой . .195
КИБЕРНЕТИЧЕСКИЙ СБОРНИК
Новая серия
Выпуск 5
Редактор А. Г. Крылов. Художник Н. К. СапожниковХудожественный редактор В. И. Шаповалов
Технический редактор Т. В. Чечик. Корректор И. С, Цветкова
дано в производство 12/1V 1968 г. Подписано к печати 25/Х 1968 г. Бумага тип. № 3 60X90’/ie=6,6 бум. л. 13,-38 печ. л., в т/ч 3 вкл. Уч.-изд. л. 12,16. Изд. № 1/4732. Цена 1 р. 03 к. Зак. 1204-
Темплан изд-ва «Мир» 1968г.,пор,№ 10
ИЗДАТЕЛЬСТВО „МИР*
чМосква, 1 й Рижский пер., 2
Ленинградская типография № 2 имени Евгении Соколовой ГлавполиграфпромаКомитета по печати при Совете Министров СССР, Измайловский проспект, 29,
П(| Jot_ 1+Z | + ^ > шах | Jw | +1
С другой стороны, поскольку число цепей длины к — 2р+1 равно С^—^^~\
ния Хомского (1959) тем, что: а) мы не вводим граничный символ; б) мы требуем, чтобы в правиле и->и цепочка и удовлетворяла условию u^(V— —X)*— {е}, тогда как в определении Хомского требуется только u^V*—{е}.
(—}а? у^ и Еу». — Прим, перев.
... < / $0) (0- 1 < * < М t^-S. В частности, тогда f^ (/0) ^ f ^ (£0) =
= glN (^0) < М = Т. Следовательно, мы уверены, что ^o + f^ (^о) < ^о+ ^ и»
наконец, что ^0 + h (^о) < ^о + ^-
!) Рисунки, помещенные на этой вклейке, относятся к статье Ван Хао „Игры, логика и вычислительные машины* (стр. 195—207). — Прим. ред.
Кибернетическийсборник
НОВАЯ СЕРИЯ
ВЫПУСК
5
Сборник переводов
Под редакцией
А. А. ЛЯПУНОВА и О. Б. ЛУПАНОВА
ИЗДАТЕЛЬСТВО «МИР»
Москва 1968
УДК 519.95
Научный совет по кибернетике Академии наук СССР
Пятый выпуск новой серии кибернетических сборников состоит из двух разделов: математические, вопросы ш некоторые технические реализации. В первом разделе представлены работы по теории кодирования, теории автоматов и статьи' (С. Гинзбурга и др.) по математической лингвистике, также тесно связанные с теорией автоматов. Во втором разделе помещена оригинальная статья Ван Хао, посвященная некоторым проблемам неразрешимости.
Сборник рассчитан на научных работников, инженеров, аспирантов и студентов различных специальностей, интересующихся кибернетикой в ее математическом аспекте.
Редакция литературы по математическим наукам
Инд. 2-2-3
математические вопросы
Анализ рекуррентных кодов1)
Э. Вайнер и Р. Эш