Text
                    Кибернетический
сборник
НОВАЯ СЕРИЯ
ВЫПУСК
I
Сборник переводов
Под редакцией
А. А. ЛЯПУНОВА и О. Б. ЛУПАНОВА
ИЗДАТЕЛЬСТВО «МИР»
Москва 1965


Научный совет по кибернетике УДК 519.95 Академии наук СССР В 1960—1964 гг. Издательством иностранной литературы и издательством «Мир» выпускалась серия кибернетических сборников (выпуски 1—9). Этот выпуск открывает новую серию, которая является в известном смысле продолжением предыдущей, но будет отличаться от нее более раз- разнообразной тематикой. В разделе «Математические вопросы» представлены работы по теории кодирования (статьи Дж. Мак-Вильяме и Э. Гилберта), а также по теории автоматов и теории управляющих систем. Раздел «Вычислительные машины и программирование» в основном посвящен описанию новейших вычислитель- вычислительных машин системы 1ВМ-360. Вопросам математической лингвистики посвя- посвящена обзорная статья Н. Хомского и Дж. Миллера. Это первая из трех статей, в которых обсуждаются математические модели языка; остальные статьи будут включены в следующие выпуски сборника. Сборник рассчитан на научных работников, инженеров, аспирантов и студентов различных специальностей, занимающихся и интересующихся ки- кибернетикой. Редакция литературы по математическим наукам
Математические вопросы
О базисах симметрической группы1) С. Пи кар От редакции. Книга Софи Пикар «О базисах симметрической группы», вышедшая в 1946 г., посвящена детальному изучению пар подстановок, по- порождающих симметрическую группу е^п. В книге содержится большое коли- количество критериев, позволяющих распознавать полноту пар подстановок опре- определенного вида. Некоторые результаты, изложенные в книге, имеют прило- приложение в вопросах описания работы электрических схем, теории кодирования и др. В настоящем сборнике публикуется перевод части книги, содержащей основной результат и весь материал, необходимый для его доказательства 2). ВВЕДЕНИЕ Пусть л>3 (^-4)—целое число и &*п {<Ап)—симметри- {<Ап)—симметрическая (знакопеременная) группа степени п и порядка п\ (п\/2). Обозначим через 1, 2, ..., п элементы подстановок груп- группы <^п. Известно, что ни группа <^Л (п>-3), ни группа <Лп (я>4) не могут быть порождены одной подстановкой. Напротив, для всех п^-Ъ (п^-4) существуют пары подстановок в группе <&* п (с^п), порождающие эту группу. Пара 5, Т подстановок группы ъ?п (<Ап) называется бази- базисом этой группы, если все подстановки из &\ (сЛп) могут быть получены в виде суперпозиции (конечной) 5 и Т. Мы докажем, что при любом целом п >- 3 (^-4) для каждой нетождественной подстановки 5 группы о?п (Лп) существует по крайней мере одна подстановка Т группы 4?п {<Ап), которая вместе с 5 составляет базис группы &п (Лп), за исключением трех подстановок A 2) C 4), A 3) B 4), A 4) B 3), которые не входят ни в один базис группы ^ 1) Р 1 с с а г 6 5., 5иг 1ез Ьазез Aи дгоире зутёЧ^ие, Рапз, 1946. 2) Позднее вышла книга того же автора «О базисах групп конечного порядка» E. Р1ссагс1, 5иг 1ез Ьазез дез &пшрез д'огдге т1п1. Ауес ипе ргё!. де М. Агпаид Эе^оу. ЫеисЬа1еГ, 1957), в которой многие результаты первой книги обобщаются на случай произвольных групп конечного порядка.
8 С. Пикар ОПРЕДЕЛЕНИЯ И ПРЕДВАРИТЕЛЬНЫЕ ЗАМЕЧАНИЯ Определение 1. Пусть 5 и Т — две подстановки из эле- элементов 1, 2, ..., п (л^-3). Назовем их связанными, если не су- существует собственного подмножества Е4 множества Е — = {1, 2, ..., /г}, состоящего из множества элементов некоторых циклов как для 5, так и для Т. Например, подстановки 5 = = A 2) C 4) и Т=A) B 3) D)—связанные, а подстановки 5=A 2 3) D) и Г=A 2) C) D) — несвязанные; здесь = {1, 2, 3}. Замечание 1. Две несвязанные подстановки группы п порождают нетранзитивную группу. Но группа &п (<АП) тран- зитивна. Поэтому необходимым условием того, чтобы две под- подстановки группы ^п (Жп) были ее базисом, является их свя- связанность. Определение 2. Назовем две подстановки 5 и Г группы непримитивными, если можно разложить множество Е = = {1, 2, ..., п) в сумму Е = Е1 + Е2+ ... +Ек (к > 2) попарно не- непересекающихся множеств одинакового порядка таким обра- образом, чтобы и 5 и Г преобразовывали каждое множество Ег в некоторое множество Е$. Если такое разложение множества Е невозможно, то 5 и Г называются примитивными. Например, две подстановки 5= A 2 3 4) и Т= A2) C 4) из группы <^4 непримитивны, так как Е = Е1 + Е2у /?1={1, 3}, Е2= = {2, 4}, и 5 и Т переводят Е^ в Е2 и Е2 в Е^ Подстановки 5== = ( 12 3 4) и Г=A 2) примитивны. Если п — простое число, то две связанные подстановки группы о7п {<Ап) всегда прими- примитивны. Замечание 2. Непосредственно видно, что две неприми- непримитивные подстановки порождают непримитивную группу. Группы же &П и Л п примитивны. Поэтому необходимым усло- условием того, чтобы две подстановки группы &\ (<Ап) были бази- базисом, является их примитивность. Замечание 3. Если две подстановки 5 и Т группы &\ (<Л>п) принадлежат одной и той же собственной подгруппе группы <5?п {<Лп)> они не могут, очевидно, составлять базис группы &\ (<Ап). Напротив, если можно показать, что подста- подстановки 54 и Ти о которых известно, что они составляют базис, входят в группы, порождаемые соответственно подстановками 5 и Г, то можно утверждать, что подстановки 5 и Т также со- составляют базис группы &\ (<Лп)- Замечание 4. Каковы бы ни были подстановки 5 и Г, составляющие базис группы ^п {Лп), и какова бы ни была
О базисах симметрической группы 9 подстановка 7? из <&>„ {<Ап), две подстановки 51 = /?5/? и = /?Г/?~1 тоже составляют базис о7п {<Ап). Мы будем говорить, что базис 5Ь Т1 получен трансформированием базиса 5, Т подстановкой /?. Обозначения. 1. Пусть п > 1—целое число, к— целое число, такое, что 1 ^ к ^ п\, и пусть 54, 52, ..., 5& — подстанов- подстановки элементов 1, 2, ..., п. Обозначим символом EЬ 52, ..., 5&) группу, порожденную подстановками 5Ь 52, ..., 5&. Группа Eь 52, ..., 5&) содержит все подстановки, которые можно по- получить конечными суперпозициями подстановок 54, 52, ..., 5&. Для краткости мы будем говорить, что подстановки 5Ь 52, ... ..., 5& порождают подстановку Т или группу О, если Г, соот- соответственно О, входят в группу E1, 52, ..., 5&). 2. Пусть п > 1 — целое, 5= A 2 ... п) и а, Ь — два различ- различных числа из множества {1, 2, ..., п}. Обозначим через аЪ и иазовем расстоянием между а и Ъ в цикле 5 наименьшее целое число между 1 и п— 1, такое, что а + аЬ^Ь (хпоАп). Например: /г = 10, а = 9, 6 = 3. Тогда аЬ = 4. Очевидно, аЬ-\-Ьа = п. Более общий случай: пусть й> 1, гпи гп2у ..., шк — последова- последовательность из к целых чисел, таких, что 1 ^ т4 -^ т2 -^ ... -^Оп^, и по крайней мере одно из чисел т^+1 — Шх (/ = 0, 1, ..., к — 1, то = О) больше 1; пусть, кроме того, 5=A 2 ... пг{) (т4+1 ... ... т2) ... (тк-1+1 ... тк) и С=(т^+1 т{ + 2 ... т<+1), 0 <<л <1 й—1—какой-либо цикл порядка >1 в 5 и а, Ь — ка- какие-либо два различных элемента из этого цикла. Назовем расстоянием между а и Ь в цикле С или, короче, расстоянием между а и Ъ (обозначается аЪ) наименьшее положительное це- целое число, такое, что а + аЬ = Ь (той (тш\— тг)). Очевидно, аЪ + Ъа — Шг+1 — т*. ) 3. Каковы бы ни были целые числа а±9 а2, ..., ак (к^-2), обозначим их наибольший общий делитель через Ь (аи а2, ... %.., ак). 4. Символ Е = {а, 6, с, ...} обозначает множество Е, состоя- состоящее из элементов а, 6, с ... . НЕСКОЛЬКО КРИТЕРИЕВ, ПОЗВОЛЯЮЩИХ РАСПОЗНАВАТЬ БАЗИСЫ СИММЕТРИЧЕСКОЙ ГРУППЫ Лемма 1. Каково бы ни было целое число п^- 2, транспо- транспозиции A 2), B 3), ..., (п — 1 п) (*) порождают группу
10 С. Пикар Доказательство. Очевидно, что лемма верна при п = 2. Пусть п>2 и лемма верна для п—1. По предположению, транспозиции A 2), B 3), ..., (п — 2 п— 1) порождают группу ^Л_1. Транспозиции A 2), A 3), ..., A п—1) принадлежат л-1- Кроме того, имеем A п — 1) • (п — 1 п) • A п — 1) = A п). Следовательно, п — 1 транспозиций A /), / = 2, 3, ..., п, (**) могут быть получены суперпозициями транспозиций (**'). Но транспозиции (**), как известно, порождают группу о?п. То же относится и к транспозициям (*), что и требовалось доказать. Теорема 1. Каковы бы ни были целые числа п^-3 и (<й^Сп), две подстановки 5=A 2 ... п) и Т=(к к+1) (если к = п, то к+1 заменяется на 1) составляют базис груп- группы & Доказательство. Действительно, каково бы ни было / из последовательности 1, 2, ..., п—1, имеем (* /+1) = х=8{~кТЗк-\ Следовательно, транспозиции A 2) B 3) ... ... (п — 1 п) могут быть получены суперпозициями 5 и Г, и поэтому в силу леммы 1 подстановки 5 и Т образуют базис группы У Лемма 2. Каково бы ни было целое число п >; 3, подста- подстановки A 2 3), B 3 4), ..., (п — 2 п—\п) (*) порождают группу Лп. Доказательство. Лемма очевидна при я = 3. Легко про- проверить, что она также верна и при я = 4. Пусть п — целое число >4; предположим, что лемма доказана для п— 1. Дока- Докажем ее для п. По предположению, подстановки A 2 3), B34),... ..., (п — 3 п — 2 п—1) порождают группу <Ап-1. Но эта груп- группа содержит подстановки A 2 3), A 2 4), ..., A 2 п—1), а также подстановку /?=B п— 1) A п — 2). Имеем Яш(п — 2 п—1 /г) •/?==( 1 2 /г). Следовательно, п — 2 подстановок A 2 /), / = 3, 4, ..., п (**) получаются суперпозициями подстановок (*). Но подстановки (**), как известно, порождают группу <Ап, поэтому подстанов- подстановки (*) также порождают группу <Ап, что и требовалось дока- доказать.
О базисах симметрической группы И Теорема 2. Каково бы ни было четное (нечетное) число 3 и йA^й^л), две подстановки 5=A 2 ... п) и Г = = (к к+1 к+ 2) составляют базис группы &п (о1п). Доказательство. Каково бы ни было г из последова- последовательности 1, 2, ..., п — 2, имеем 8{~кТ8к-{=A 1+]1 1 + 2). Следо- Следовательно, п — 2 подстановки A 2 3), B 3 4), ..., (п — 2 п— 1 п) (*) получаются из суперпозиций двух подстановок 5 и Г, а подстановки (*) порождают группу <Ап в силу леммы 2. Отсюда следует, что подстановки 5 и Т порождают также группу о?п (с#л), если п четно (нечетно), что и требовалось до- доказать. Лемма 3. Каковы бы ни были целые числа п^- 3 и к B ^С к < п), подстановки = A 1+1 1 + 2 ... 1 + к—\), / = 1, 2, ..., я — к+\ порождают группу <^п (Лп), если к четно (нечетно). Доказательство. Лемма 3 сводится к лемме 1 при к=2 и к лемме 2 при й = 3. Пусть й>3. Предположим сначала, что п = к+1 и, следовательно, п — А+1=2. Имеем 1 = (\ к к+1) и 71A * А+1) 772 = A 2 3). В силу теоремы 2 две подстановки 7\ и A 2 3) порождают группу&к 0-^д)» если к четно (нечетно). Группа, порожденная подстановками 7\ и A 2 3), содержит во всяком случае под- подстановки A 2 3), A 2 4), ..., A 2 к). Но[A 2 к) (I к к+1) A й 2)]2=A 2 6+1). А так как подстановки A 2 3), A 2 4),... ..., A 2 к + 1) порождают группу Жи+и то, следовательно, под- подстановки Т1 и Т2 порождают группу^+1 (^/н-О, если к четно (нечетно). ч—— Предположим теперь, что п > к+1, т. е. п > 5, и что мы уже доказали лемму для п—1. Докажем ее для /г. По нашему предположению, подстановки м» *2» • • •> ^л-л (**) порождают группу с^п-1 Мп-О, если к четно (нечетно). Следо- Следовательно, группа (Ти Т2, ..., Тп-ъ) содержит во всяком случае подстановки A 2 3), A 2 4), ..., A 2 п—1), а также две под- подстановки Р=(п — 2 п — Ъ...п — к + 2 п — к + \) и <2 * A п — к+\){2 п— 1).
12 С. Пикар Имеем С1Тп-ъ+1РС}= (I 2 п). Следовательно, подстановки A 2 /), * = 3, 4, ..., л, входят в группу (Гь Г2, ..., Гп-л+О и поэтому подстановки (*) порождают группу о?п (<ЛП), если к четно (нечетно), что и требовалось доказать. Теорема 3. Каковы бы ни были целые числа п^- 3, к(\ < к < л) атA^т^л), две подстановки 5= A 2 ... п) и Т=(т т + \ ... т+к —т1) (здесь числа, большие п, берутся по той /г) составляют базис группы &'„, есуш л:отя бы одно аз «ш- я, й четно, и базис группы <Ап, если оба эти числа нечетны. Доказательство. Каково бы ни было целое число <*<л —6 + 1), имеем Тг=A 1+1 .. А+к — 1) =5*-™Г5™~*. Но в силу леммы 3 подстановки Ти Т2, ..., Гп-ь+1 порождают группу оРп^Жп), если к четно (нечетно). Отсюда следует, что E, Т) = с^\г, если хотя бы одно из чисел п, к четно, и E, Т) = Лп, если оба числа пик нечетны, что и требовалось доказать. Тео- Теоремы 1 и 2 являются частными случаями теоремы 3. Следствие. Каковы бы ни были целые числа п ^> 3, кA<к<п) и 1A <а ^С к), две подстановки 5=A 2...Й) а Т=A к+\ к + 2 .. .п) составляют базис группы о?п, если хотя бы одно из чисел п, к четно, или базис группы <Ап, если оба эти числа нечетны. Доказательство. Действительно, положим Т = Имеем ... п), 5Г = A 2 ... п). Две подстановки V и ЗТ порождают в силу теоремы 3 группу о?п или группу Ли в соответствии с тем, четно ли хотя бы одно из чисел я, к или оба они нечетны. Утверждение следствия по- получается отсюда при помощи замечания 3. Лемма 4. Взяв некоторое число к > 1 транспозиций 7\ = ■=(#г&г), '=1» 2, ..., к, таких, что для всех значений индекса 1= 1, 2, ..., к — 1 множества [аи Ьг, а2, 62, ..., аь, Ьс) и имеют по крайней мере один общий элемент, мы получим базис симметрической группы & подстановок всех элементов, переста- переставляемых транспозициями 7\A=1, 2, ..., к). Доказательство. Очевидно, лемма верна при к—\. Пусть к — некоторое целое число >1; предположим, что лемма уже доказана для к—1. Докажем ее для к. В силу нашего предположения подстановки Ти Т2, ..., 7\-1 порождают сим-
О базисах симметрической группы 13 метрическую группу О подстановок тех элементов, которые они переставляют. Пусть с1и й2, ..., йг A) есть последовательность, образованная всеми этими элемен- элементами. Группа О содержит подстановку (^ с12 ... й%), и в силу на- наших предположений по крайней мере один из элементов а&, && принадлежит последовательности A). Если только один из этих элементов принадлежит последовательности A), то в силу след- следствия теоремы 3 вместе с подстановкой (^ с12 ... й%) поро- порождает группу <^\ Если оба числа а&, Ьь входят в последователь- последовательность A), то очевидно, что С = <^\ В обоих случаях лемма до- доказана. Лемма 5. Составляя некоторое число к ^ 1 подстановок вида Т{=(а{ 6г- С{), 1=1, 2, ..., й, таких, что для каждого ин- индекса г= 1, 2, ..., к — 1 множества {аи Ъи си а2, 62, с2, ..., аг-, Ъи ъ} и {аш, Ьш, С{+х} имеют по крайней мере один общий элемент, получим знако- знакопеременную группу <А подстановок элементов, переставляемых подстановками Гг- (/=1, 2, ..., к). Доказательство. Очевидно, что лемма верна для й=1. Пусть к — некоторое целое число >1; предположим, что лемма верна для к — 1. Докажем ее для к. По предположению, под- подстановки Ти Т2у ..., 7\_1 порождают знакопеременную группу О подстановок тех элементов, которые они переставляют. Пусть A) есть последовательность, образованная всеми этими элемен- элементами. По предположению, по крайней мере одно из ^чисел а&, &ь, Си принадлежит последовательности A). Если все три числа принадлежат последовательности A), имеем О = о1, и лемма доказана. Если только одно из чисел а&, &&, сн принадлежит последовательности A), лемма вытекает из следствия теоре- теоремы 3. Предположим теперь, что среди чисел а&, Ьк, ск нахо- находятся два элемента из последовательности A). Пусть йг и й^A^л</^0—такие элементы. Предполо- Предположим сначала, что г четно. Тогда подстановка (с11 йг ... ^_4 я^+1 яГ}+2 ... йг), имеющая порядок I— 1 и, следовательно, чет- четная, принадлежит группе О. Эта подстановка вместе с 7\ в силу следствия теоремы 3 порождает группу <А. Предположим те- теперь, что I нечетно. В силу наших предположений г > 3. Если = 3, группа О содержит подстановку (^ й) й), где д, означает
14 С. Пикар элемент последовательности A), отличный от а&, Ьку ск. Легко проверить, что две подстановки (^ й^ й) и Тк всегда поро- порождают группу о1. Пусть г > 3. Мы всегда можем выбрать обо- обозначения таким образом, чтобы было />-/>*' > 1. Подста- Подстановка (с12 с13 ... й$-ч я^+1 ^+2 ••• ^*), которая является четной, принадлежит группе О и порождает вместе с Г^ в силу след- следствия теоремы 3 знакопеременную группу подстановок соответ- соответствующих элементов. Эта группа содержит подстановки (йг с13 ^), (Лз ^4 я?б), ..., (^-1 й% ^ж). гДе ^^ означает эле- элемент 7\, не принадлежащий последовательности A). С другой стороны, подстановка (й( й2 с13) принадлежит группе О и мно- множество подстановок (^ йг й3), \йг ^з ^4), ..., (^-1^^4-1) в силу леммы 2 порождает группу с#. Следовательно, то же самое можно сказать о подстановках Ти г=\, 2, ..., к, что и требо- требовалось доказать. Лемма 6. Каковы бы ни были целое число п ^ 2 и четная подстановка 8 степени п+\ элементов 1, 2, ..., м+1, содержа- содержащая элемент п+1 в цикле порядка > 1, соединив 3 с подстанов- подстановками симметрической группы <&*„ (знакопеременной группы о1п), введенными над элементами 1, 2, ..., п, мы получим группу Доказательство. Пусть / A-^л^/г)—элемент, кото- который подстановка 5 переводит в п+1. а) Группа 3*п содержит транспозиции A 2), B 3), ..., (п—1 п), (п 1). (*) Среди этих транспозиций имеется транспозиция {ь—1 г) (где I— 1 должно быть заменено на /г, если 1=1). Мы имеем Транспозиция (/ п+1) порождает вместе с транспозициями (*) группу ^п+1» как это следует из леммы 4. б) Группа сЛп содержит подстановки (I 2 3), B 3 4)...., (п — 2 п— I я), (п — I п I), (п I 2), (**) среди которых имеется подстановка (I — 2 г — I г) (где / — 2A—1) должно быть заменено на п+1 — 2(п + 1—1), если I < 2 (/=1)). Но тогда имеем 5- A — 2 I— 1 0 -5-1 = (/ к п+1), 1 </Р<п, 1 и в силу леммы 5 подстановка (г к п+1) порождает вместе с подстановками (**) группу <Ап+ь Таким образом, лемма 6 до- доказана.
О базисах симметрической группы 15 Лемма 7. Каковы бы ни были целое п>3 и три раз- личных числа аи а2, а3 из последовательности 1, 2, ... ..., п(ах<а2, ах<а3), если й(а2— ах, а3— ах) — к, то под- подстановка (ах ах-\-к ах-\-2Щ может быть получена из двух подстановок 5 = A 2 ... п) и 5г==(а1 а2 а3). Доказательство. Пусть а2 — ах = ки а3— ах = к2. Так как а2Фаг, то не может быть кх = к2. Предположим, что кх > к2. Если кг = 2к2, то к2 = к и Т~г = (ах ах~\-к аг-\-2к). Следовательно, в этом случае лемма верна. Предположим, что кх Ф 2к2. Пусть кх = 12к2 4-^з A == ^з^З Г" ^4 ( * где />>2, /2, /3» •••» ^ — определенные целые положительные числа. Рассмотрим подстановки / — 19 / где числа, большие я, берутся по той я. Подстановки Г, 7\, 72, ..., 7"/2 в силу леммы 5 порождают знакопеременную группу подстановок тех элементов, которые они переставляют. Они порождают, следовательно, также и подстановку 7? = ( ^ & 1 Пусть /?' — подстановка, которая получается при трансфор мировании подстановки /? подстановкой 5*3. Имеем к2-\-къ ах-\-12 где числа >л взяты по той п. Две подстановки /? и /?' поро- порождают знакопеременную группу подстановок тех элементов, ко- которые они переставляют, следовательно, они порождают также подстановку (ах + 12к2 ах + /2&2 + къ ах-{- 12к2 Трансформирование этой подстановки подстановкой 5~1гк2 дает @1^14-&з а!+2/г3). Аналогичным рассуждением можно последо- последовательно показать, что группа E, Т) содержит подстановки ( ах + кА ах+2кА), (а{ ах + к5 а{ + 2к5) и, наконец, подстановку
16 С. Пикар ( п1+2к). При ^<к2 рассуждение вполне аналогично. Лемма 7, следовательно, доказана. Теорема 4. Каковы бы ни были четное (нечетное) число ^ 4 и три различных числа а, Ъ, с из последовательности 1, 2, ... п, необходимым, и достаточным условием того, что две подстановки 5=A 2 ... /г), Т—(а Ъ с) составляют базис груп- группы 3?п(с&п), является равенство , Ьс, п)== 1. (Это условие также необходимо и достаточно для того, чтобы подстановки 5 и Г были примитивны.) Доказательство. Можно ограничиться рассмотрением случая а < Ь < с. Действительно, всегда можно выбрать обо- обозначения таким образом, чтобы а было наименьшим среди чисел а, 6, с. Если 6>с, то достаточно взять подстановку 7м, которая вместе с 5 порождает ту же группу, что и Т. Итак, пусть а < Ь < с. Тогда аЬ = Ь — а, Ьс = с—Ь. Необходимость. Предположим, что подстановки 5 и Г поро- порождают группу <^п(с#п). В этом случае подстановки 5 и Г при- примитивны. Пусть /)(& — а, с — 6, п) =г>1; Ь — а = кг, с — Ь = тг, п=п'г, и пусть М1={19 1 + г, / + 2г, ..., 1-\-(п'—\)г) (/==1, 2, .... г]. Подстановка 5 преобразует все множество М{ в множество Мг+ь где /+1 следует заменить на 1, если / = г, в то время как Т преобразует все множество Мг в себя. Следовательно, под- подстановки 5 и Т непримитивны, т. е. мы пришли к противоре- противоречию. Отсюда следует, что условие необходимо. Достаточность. Предположим теперь, что условие, сформу- сформулированное в теореме, выполнено. Предположим сначала, что Ъ — а = с — Ъ — к. Если &=1, то теорема 4 верна в силу тео- теоремы 3. Пусть к>\. Тогда к взаимно просто с п. Следова- Следовательно, существует целое т, такое, что тк = 1 (той п). В этом случае имеем Г=* (а а + к а + 2к). Рассмотрим подстановки ] у=1, 2, ..., 2т — 2. В частности, получим Тт_2 = (а-±-(т— 2)к а + {т—\)к а + тк) и 2)к а + 2{т—\)к а
О базисах симметрической группы 17 числа, большие п, берутся по той л. В силу сказанного выше а + тк=а +1 (той л), а+2тк=а + 2(тоА п) и в силу леммы 5 подстановки Г, 7\, Г2, ..., Ггт-2 порождают знакопеременную группу подстановок тех элементов, которые они переставляют. Следовательно, они порождают также подстановку (а а+1 а + 2), которая вместе с 5 образует в силу теоремы 3 базис группы ъ^п (с#п). То же самое можно сказать относительно 5 и Г. Предположим теперь, что Ъ — аФс— Ь. Пусть И(Ъ — а, с — Ь) =г> 1. Так как п(Ь—а, с — 6, л) = 1, то /)(г, п) = \. Непосредственно видно, что Б(Ь — а, с — Ь) =п(Ь — а, с — а) = = г и в силу леммы 7 подстановка (а а + г а + 2г) может быть получена суперпозициями подстановок 5 и Г. Так как г взаимно просто с я, то подстановка (а а+У а + 2г) вместе с 5 поро- порождает в силу предыдущих рассуждений группу &\ или груп- группу (Ап. Следовательно, условие достаточно, что и требовалось доказать. В частности, если п — простое число, то подстановки 8 и Т всегда образуют базис группы <Ап. Теорема 5. Каковы бы ни были нечетное (четное) п^ 3, пг{\ -*С гп < п) и три числа а, 6, с из последовательности 1, 2,... ..., п, из которых по крайней мере одно ^Ст и по крайней мере одно >т, необходимое и достаточное условие того, что две подстановки 5=A 2 ... т) (т+1 ... /г), Т=(а Ь с) со- составляют базис группы ^п (<Ап)> состоит в том, что В(т, п—т, й) = 1, где й — абсолютное значение разности тех двух чисел из системы а, Ъ, с, которые содержатся в одном и том же цикле из 5. (Это условие также необходимо и доста- достаточно для того, чтобы две подстановки 5 и Г были прими- примитивны.) Доказательство. Из соображений симметрии можно ограничиться рассмотрением случая, когда два из трех чисел а, Ь, с, например а и 6, не превосходят т. Кроме того, можно ограничиться случаем, когда а < 6, так как E, Т) = E, Г). Итак, пусть а < Ь. Тогда имеем с1=Ь —а. Необходимость. Предположим, что условие не выполняется; пусть /)(т, п—т, */)=А>1. Пусть т^т'к, п — т = п'к, й= Рассмотрим к множеств Мг = {а + 1У а + 1 + к,..., а+1+ (т! к р { ) с+1, с + 1 + к, ..., с + 1+(п'— \)к) (* = 0, 1, 2, ..., к— 1), где числа, предшествующие с+1, должны быть взяты по той т з широком смысле между 1 и т, а остальные числа должны быть взяты по той (п—т) в широком смысле между т+1 и/г. Из определения подстановок 5 и Т следует, что 5 преобра- преобразует каждое множество Мг (/ = 0, 1, ..., к — 2) в Мш и мно-
18 С. Пикар жество Мк-1 в МОу а Т преобразует каждое из множеств в себя. Следовательно, в данном случае подстановки 5 и Т непри- непримитивны. Но если бы 5 и Г образовывали базис группы &\ или <Ап, то они должны были бы быть примитивными. Следо- Следовательно, наше условие необходимо. Достаточность. Предположим, что О(/п, п — т, */) = Покажем, что в этом случае 5 и Г образуют базис группы п или <Ап- Допустим сначала, что /г = т + 1, а, следовательно, 5 = = A 2 ... /л), Т=(а Ь т+1). Рассмотрим подстановки Гг = = 5гТ5-г'=(а + * Ь + 1 т+1) A=1, 2, ..., т— 1), причем числа а + ь и Ъ + г взяты по той т в широком смысле между 1 и т. Подстановки Г, Ти ..., Гт_! переставляют все элементы после- последовательности 1, 2, ..., т + 1, и в силу леммы 5 из суперпозиций этих подстановок мы получаем группу о^т+1. Следовательно, 5 и Т представляют собой базис группы <^т+1 Мтц), если пг четно (нечетно). Предположим теперь, что я>т + 1. Пусть /)(т, с1)=к. Подстановка /?=(а а + й с) может быть получена суперпози- суперпозицией 5 и Г. Действительно, это очевидно для й = к (тогда Ь = а + к и /? = Г). Пусть с1>к, и пусть й = й'к (й' > 1), т = т'к. Тогда О(й/, т') = 1. Рассмотрим подстановки Т1 = 5№Т5-№ = = (а + 1с1 а+(/+1)й с + ]с1)у /=1, 2, ..., где числа а + ]й(с+1й) должны быть взяты по той т (той (п—т)) между 1 и /п (между т+1 и п). Так как О(^, /п/) = 1, существует целое гу такое, что гд!^ 1 (той т'). Следовательно, существует целое <^>1, такое, что Ш' = = (т'+1. Умножим обе части этого равенства на к. При этом получим Ш=1т + к, следовательно, Ш^к (той т). Пусть г — наименьшее целое положительное число, удовлетворяющее этому второму равенству. Имеем 7\-_1 = (а+(/—\)й а + к с+A—1)^). Подстановки Г, Ти ..., 7г_1 порождают в силу леммы 5 знакопеременную группу подстановок тех элементов, которые они переставляют. Эта группа содержит подстановку #=(а а + к с)\ таким образом, наше утверждение доказано. Так как О(ту п — т, й) = 1, то п(к, п — т) = 1. Рассмотрим последовательность подстановок ]= 1, 2, ..., п — т— 1, где числа а + ]к(с + ]к) должны быть взяты по тойт(той (п — т)) в широком смысле между 1 и т(т+\ и п). Поскольку кип — т взаимно просты, последовательность чисел с, с + к, ..., с+(п — т—1)й, взятых, как было сказана
О базисах симметрической группы 19 выше, по той (п — т), содержит все числа из последователь- последовательности т+1, т + 2, ..., п. Подстановки /?, /?1, ..., /?п-т-1 порождают в силу леммы 5 знакопеременную группу О подстановок тех элементов, которые они переставляют. Теперь следует рассмотреть отдельно два случая: а) п — т — нечетное число (^3). Группа О содержит под- подстановку (п п — 1.../л + 1),а также подстановки (а т+1 т + 2), (т+1 т+2 т+3), ..., (п — 2 п—1 п). (*) Но 5 • (п п — 1 ... /л+1) =A 2 ... /л), и легко видеть, что из следствия теоремы 3 и уже рассмотренного случая нашей тео- теоремы (п = т+\) вытекает, что подстановка A 2 ... т) вместе с подстановками (*) порождает группу о?п (<Ап), если т четно (нечетно). Следовательно, 5 и Г составляют базис группы &п (сАп), если п нечетно (четно). б) п — т — четное число (^-2). В этом случае группа О содержит подстановку (а п п—1 ... /л+Д), а также подста- подстановки (а гп-\-\ т + 2), (т+1 т + 2 т + 3), ...,(# — 2 п — 1 п). (**) Но 8- (а п п— 1 ...т + 1) = A 2 ... а гп+1 а+\ а+2 ... т), и легко видеть, учитывая уже рассмотренный случай /г = т+1, что эта последняя подстановка вместе с подстановками (**) порождает группус^„ {Лп)> если пг+1 четно (нечетно). Отсюда следует, что 5, Т составляют базис группы &п (<Лп), если п не- нечетно (четно). Таким образом, достаточность условия дока- доказана. Теорема 6. Каковы бы ни были нечетное число к !> 3 {четное к > 6) и целое I A-<л^6 — 2), две подстановки 8=* ~A 2 ... к) и Г=(/ 1+1) (к к+\) порождают группу , за исключением трех следующих случаев: = (\ 2 3 4 5), Т = B 3) E 6); = A 2 3 4 5 6 7), Т = B 3) G 8); = A 2 3 4 5 6 7), Г = D 5) G 8). Доказательство, Пусть й=3. Тогда возможен только один случай: 5=A 2 3), 7"=A 2) C 4), и без труда можно убедиться, что эти две подстановки порождают группу <ЛА. Пусть й = 5. Тогда г может принимать значения 1, 2, 3. Если / = 2, то имеем исключительный случай: две подстанов- подстановки 5= A 2 3 4 5), Т = B 3) E 6) порождают группу порядка 120, отличную от А
20 С. Пикар Если /=1, то 5= A 2 3 4 5), Г=A 2) E 6), Г5~175^Г53Г5 = = C 5 4) =/?. Подстановки 5 и Я порождают группу сЛ5 в силу теоремы 4. Кроме того, из леммы 6 следует, что суперпози- суперпозиции Т и подстановок группы Лъ дают группу <А$. Следова- Следовательно, 5 и Г составляют базис группы Л&. Если / = 3, то тогда мы имеем 5=A 2 3 4 5), Г=C 4) E 6), 52Г5~1Г5Г5= C 4 5)=/?, и по аналогии с уже разобранным случаем, три подстановки 5, Т и /? порождают группу <^6. Сле- Следовательно, 5 и Т составляют базис группы Ж§. Пусть й = 6. Тогда г может принимать значения 1, 2, 3, 4. Если 1=2, то 5= A 2 3 4 5 6), Г=B 3) F 7), EГ52ГM = = D 7), а эта последняя подстановка вместе с 5 в силу след- следствия теоремы 3 порождает группу ^7. Следовательно, 5 и Г составляют базис группы ^7. Если 1 = 3, то 5= A 2 3 4 5 6), Г=C 4) F 7), EГ52ГM= = C 7), а эта последняя подстановка вместе с 5 в силу след- следствия теоремы 3 порождает группу о?7. Следовательно, 5 и Г составляют базис группы ^7- Позднее мы рассмотрим случаи, когда 1=1 или 4. Пусть й = 7. Тогда г может принимать значения 1, 2, 3, 4, 5. Если 1 = 2 или 1=4, легко проверить, что мы имеем исключи- исключительные случаи и что соответствующие этим случаям подста- подстановки 5 и Г не составляют базиса группы ^8, а в обоих слу- случаях порождают группу порядка 1344. Случаи, когда 1=1, 3 или 5, будут рассмотрены «иже. Предположим теперь, что к > 7. Если /=1, то Т = -A 2) (к й+1), 5375-з=D 5) C к+1)=Ти G\ГJ= C к к+\)г и эта последняя подстановка вместе с 5 порождает в силу тео- теоремы 5 группу с^Ч+1 или группу с^а+1. Следовательно, 5 и Г со- составляют базис группы с^ь+1 или группы с^л+1. Это верно так- также и для к = 6 и й = 7. Если * = 2, то Г-B 3)(й й+1), 5475-4=F 7) D Й+1)=ГЬ G\ГJ=Dй й+1), и в силу теоремы 5 эта последняя подста- подстановка вместе с 5 порождает группу в§%+1 или группу <^ь+1. Следовательно, 5 и Г образуют базис группы с$%+1 или группы +1 Если 1 = к — 2, то Т=(к — 2 к—\){к й+1), = A 2)C й+1)=Гь (Г1ГJ=C й й+1). Это верно также и для й = 6 и й = 7. Из теоремы 5 следует, что подстановка C к к+\) вместе с подстановкой 5 порождает группу ^+1 или группу с^а+1- Следовательно, 5 и Г составляют базис группы + \ ИЛИ ГруППЫ с^А+1. Если 1 = к — Ъу то Т=(к — 3 к —2) (к й+Ч), 54Г5 = = A 2) D й+1) =Г±, (Г!ГJ=D й й+1), и, как следует из тео- теоремы 5, эта последняя подстановка вместе с 5 порождает группу
О базисах симметрической группы 21 или группу <Ак+1. Следовательно, 5 и Г составляют базис Ъ^ь + Х или °%к + \* Наконец, если 2<г<к— 3, то 52Г5~2=(/+2 / + 3)B 6+1)=» = Ти (Т^J=B к й+1), и, как следует из теоремы 5, эта по- последняя подстановка вместе с 5 порождает группу с^ь+1 или группу <Ак+\. Следовательно, 5 и Г составляют базис группы <^ь+1 или с^л+1. Те же рассуждения остаются верными для =7 и 1 = 3. Следовательно, теорема 6 доказана. Лемма 8. Каковы бы ни были целые к > 1 (к > 2) а п> к, суперпозиции подстановки вида 5= (* 1+.1 ... я) A 50 &) с подстановками группы3?\ (Жк)дают группу $*„ (с^Л), 5 — четная подстановка, или &п, если 5 — нечетная). Доказательство. Если /г = й+1, то лемма, которую мы должны доказать, является следствием леммы 6. Предположим, что п > к+1. Если 1=1, то лемма 8 вытекает из теоремы 3. Пусть теперь г > 1. Группа &К содержит подстановку A 2 ...*), которая вместе с 5 порождает,группу &п или группу <Лп в силу следствия тео- теоремы 3; так как группа &ъ содержит нечетные подстановки, от- отсюда следует, что при помощи суперпозиций 5 с подстановками группы оРь мы получим группу^. Группа <Лн(к > 2) содержит подстановки A 2 3), B 3 4), ..., (/—1 / /+1)=/?, где *+;1 должно быть заменено на 1, если / = й. В силу теоремы 5 и след- следствия теоремы 3 подстановки 5 и /? порождают симметрическую или знакопеременную группу подстановок тех элементов, кото- которые они переставляют. Во всяком случае, они порождают под- подстановки (/ / + 1 1 + 2), ..., (п — 2 п—\ п). Но множество подстановок A2 3), B34),..., (п — 2 п — 1 п) порождает в силу леммы 2 группу Жп. Следовательно, при по- помощи суперпозиций подстановки 5 с подстановками группы <Ак мы получим группу о?п (если п — /+1 четно) или группу (если п — 1+1 нечетно), что и требовалось доказать. Теорема 7. Каковы бы ни были целые п > 3, к(\ <к и ь(\ < Г< к), две подстановки 5= A 2 ... к) и Г= (г ь + ...к к+\ ... п) составляют базис группы о?п (ц&п), если по крайней мере одно из чисел к, п — *'+1 четно (если оба числа к, п — *'+1 нечетны), за исключением трех случаев: (\ 2 3 4), Г = C 4 5 6); 2 3 4), Т = B 3 4 5 6); 5=A 2 3 4 5), Г = C 4 5 6).
22 С. Пикар Доказательство. Если * = 1, то теорема 7 следует из теоремы 3. Для 1 = к теорема 7 вытекает из следствия теоремы 3. Пусть 1<1<к, й>3, п — *'+1>3. Если й = 3 или если л — /+1=3, теорема 7 следует из теоремы 5. Таким образом, можно предположить, что к ^> 4 и л— *+1 >- 4. Имеем 1=A 2 ... I — г = (к к—\ ... 1).A 2 ... /—1 = (/ — 1 /) {к к-\-\) = %. Если две подстановки 5, /? порождают группу + + то две подстановки 5, Т порождают группу &п или группу <АП. Действительно, в силу леммы 8 суперпозиции подстановки Т 4 подстановками группы с$%+1 {<Аь+\) дают группу о?п или груп- лу с^п. В силу теоремы 6 две подстановки 5 и /? порождают группу <^ь+1 или группу <Аь+\ для всех пар значений / и й, взя- взятых в рассматриваемых пределах, за исключением следующих ляти случаев: 1) / = 2, * = 4; 2) / = 3, к = 4; 3) / = 3, ^ = 5; 4) / = 3, * = 7; 5) / = 5, А = 7. Мы рассмотрим эти пять случаев отдельно и покажем, что, за исключением трех случаев, указанных в формулировке тео- теоремы 7, подстановки 5 и Г всегда порождают группу о?п или группу <АП. 1) Пусть /=2, к = 4. Имеем 5=A 2 3 4), Т= B 3 4, ..., п) > Если л = 5, то ХГ-^О 2 3 4) • B 5 4 3) = A 2 5), и в силу теоремы 5 эта последняя подстановка вместе с 5 порождает группу с^5. Следовательно, 5, Т составляют базис группы <^5 Если п = 6, то мы имеем исключительный случай, и легко прове- проверить, что две подстановки 5 и Г порождают группу порядка 120. Пусть п > 7. Имеем Р5Г~3= A 5 6 7) =54. В силу следствия теоремы 3 две подстановки 5 и 54 порождают группу е^7, и в ►силу леммы 8 суперпозиции Т с подстановками группы <^7 дают труппу <^п. Следовательно, 5 и Г образуют базис группы &„. 2) Пусть / = 3, А = 4. Имеем 5=A 2 3 4), Г=C 4 5... п) > ) Если /г = 6, то имеем исключительный случай. Две подста- подстановки 5 и Т порождают группу порядка 120. Если л = 7, то EГ)9= D 5 6 7), и в силу следствия теоремы 3 эта подстановка образует вместе с 5 группу оРт. Следовательно, ^5, Т составляют базис группы ^7. Если /г>8, то Г25Г~2=A 2 5 6)=5Ь Г45Г~4=A 2 7 8)=52, .55~1=A 2 3 4) • A 6 5 2) = A 6 5 3 4), а эта последняя подста-
О базисах симметрической группы новка вместе с 52 порождает группу &% в силу следствия тео- теоремы 3. Как следует из теоремы 6, при помощи суперпозиций Т с подстановками группы <^з мы получим группу ^п. Следова- Следовательно, 5 и Т составляют базис группы <^п. 3) Пусть 1 = 3, й=5. Имеем 5= A 2 3 4 5), Г= C 4 5 ... п) > Если я = 6, то имеем исключительный случай: две подста- подстановки 5 и Г порождают группу порядка 120. Если я = 7, то- EГ2J=A 3 2). Эта подстановка вместе с 5 порождает в силу теоремы 4 группу с#5, и в силу теоремы 6 суперпозиции Т с под- подстановками из Ль дают группу &П или группу с^п. Следова- Следовательно, 5 и Г образуют базис группы оУп или Ап. Если л>8, имеем Р5Г=A 2 6 7 8) =5*, E5?M = B 6 8), и в силу следствия теоремы 3 эта последняя подстановка поро- порождает вместе с 5 знакопеременную группу подстановок элемен- элементов 1, 2, 3, 4, 5, 6, 8, т. е. группу, которая содержит <А&. В силу леммы 8 суперпозиции Т с подстановками этой последней группы: дают группу &П или группу <Ап- 4) Птсть ;=3, /г = 7. Имеем 5= A 2 3 4 5 6 7), Г= C 4 5... ... п) (п !> 8). Этот случай можно свести к случаю E). Действительно^ имеем 5Г~1 = /?=A 2 3 п п — 1 ... 8), Г=/?~Л5. Следовательно, две пары подстановок 5, Т и 5, /? порождают одну и ту же группу. С другой стороны, две пары подстановок 5, /? и 5, /?1 = = 54/?5~4= E 6 7 п п — 1 ... 8) порождают изоморфные группы*. Положим 1п п— 1 ... 8 \8 9 ... п Получим 5г 1=E б 7... п) = тг. Две пары подстановок 5, Г и 54, 7\ порождают в силу преды- предыдущих рассуждений изоморфные группы, и этот случай сво- сводится к случаю E). 5) Пусть^=5, А = 7. Имеем 5= A 2 3 4 5 6 7), Т= E 6 7 .... ... п) (л> 8). Если я = 8, то имеем E7'2M= F 7 8). Эта подстановка вместе с 5 порождает в силу теоремы 5 группу Л%. Если п = 9, то имеем ($Г2N=A 2 3 4 5). В силу теоремы 3 эта подстановка вместе с 5 порождает группу с#7, и в силу леммы 8 суперпозиции Т с подстановками этой группы дают группу <Ад. Следовательно^. 8 иТ образуют базис группы <А9- Если п= 10, то Т8Т25-1=(\ 10 8 5 6) G 9) = /?, #5 = G 9).
24 С. Пикар Транспозиция G 9) вместе с 5 порождает в силу следствия тео- теоремы 3 симметрическую группу подстановок элементов 1, 2, 3, 4, 5, 6, 7, 9, т. е. группу, которая содержит группу ^7, и в силу леммы 8 при помощи суперпозиций Т с подстановками этой последней группы мы получаем группу с^%. Следовательно, 5 и Т есть базис группы <^ю. Если л > 11, то Р5Г-3=A 2 3 4 8 9 10)=5ь 535!5~3 = = D56789 10) =52, и в силу предыдущего две подстановки 5 и 52 порождают группу <Аы. Но по лемме 8 при помощи супер- суперпозиций Т с подстановками группы Жы мы получаем группу &\ или группу с^п. Следовательно, 5, Т образуют базис группы ъ?п или Жп. Теорема, таким образом, полностью доказана. Сопоставляя теоремы 3 и 7, можно сформулировать следую- следующее более общее утверждение: Теорема 8. Пусть к > 1, г A «< I <*С к) и п> I — три целых числа, такие, что по крайней мере одно из равенств ь—\у к — п не имеет места. Тогда, если по крайней мере одно из чисел к, п — *'+1 четно {если оба числа к и п — *'-Н нечетны), то две подстановки 5= A 2 ... й), Т= (ь ь+\ ... /г) порождают группу ^*. л) Мтах(л, п)\ ™ исключением трех случаев: 1) 5 = A 2 3 4), Г = C 4 5 6); 2) 5 = A 2 3 4), Т = B 3 4 5 6); 3) 5 = A 2 3 4 5), Г = C 4 5 6). ОСНОВНАЯ ТЕОРЕМА Теорема 9. Каково бы ни было целое число п ^ 3, для лю- любой нетождественной подстановки 3 группы &}п существует по крайней мере одна подстановка Т, которая вместе с 8 состав- составляет базис группы &Рп. Исключение составляют три случая: A 2) C 4), A 3) B 4), A 4) B 3). Эти подстановки не входят ни в один базис группы ^4. Доказательство. Пусть 5 — некоторая нетождественная подстановка группы ^п{п ^> 3). I. Предположим сначала, что 5 содержит по крайней мере один цикл первого порядка. Так как 5=^=1, эта подстановка содержит по крайней мере один цикл порядка > 1. Мы всегда можем выбрать обозначе- обозначения таким образом, чтобы можно было 5 записать в виде 4$ = A 2 ... гп^) (/?&! -\- 1 ... ш2) ... 1 ... тГ) (тг 4-1) ... (п),
О базисах симметрической группы 25 где г> 1, Ш{ > 1, /=1, 2, ... г, п> тг, циклы подстановки 5 расположены таким образом, что циклы порядка >. 1 предше- предшествуют всем циклам, состоящим из одного элемента, и, кроме того, цикл (тг_1+1 ... тТ) имеет порядок не меньший, чем все остальные циклы в 5. Следует выделить три случая: 1. Не имеет места хотя бы одно из равенств г=2, п — /лг = 2> и подстановка 5 — нечетная, или если 5 — четная, то число всех ее циклов п — пгг+'г четно. Положим Т= (пг1 т2 ... тг тг+\ ... п) и покажем, что 5 и Т составляют базис группы ^ Имеем 5Г= A 2 ... п), 5Т5'1 =A тх+\ . Из теоремы 8 следует, что две подстановки 71 и 7\ поро- порождают симметрическую или знакопеременную группу подстано- подстановок тех элементов, которые они переставляют в соответствии с тем, нечетные эти подстановки или четные. Во всех случаях эти подстановки порождают подстановку A гп\ п), которая вме- вместе с 5Г составляет базис в ^п, если п четно, и в <Ап> если п нечетно, в соответствии с теоремой 4. Так как по крайней мере одна из подстановок 5 и Г нечетна, отсюда следует, что эти подстановки порождают всегда группу <^п. 2. Предположим теперь, что г=п — тг = 2. Следовательно, 5 имеет вид = A 2 ... Эта подстановка может быть четной или нечетной; в любом случае два из ее циклов имеют порядок больше 1, два других — порядок, равный 1, и тп2 — тх^>тх. Если 5 = A 2) C 4) E) F), положим Т = B 3) D 5 6). Как легко проверить, 5 и Г порождают группу <^6. Предположим теперь, что 5 Ф A 2) C 4) E) F). Тогда т2 — гп1^-3. В этом случае положим Т = (шх т2т2~\-\ т2-\-2)* Получим 8Т = {\ 2 ... т2+2) = /?. Если тх = 2, то 52Г5~2=г = (т1 т1-{-2 т2-\-\ т2-\-2)=Т1. Две подстановки Т и Тг по- порождают в силу теоремы 8 симметрическую группу подстано- подстановок тех элементов, которые они переставляют. Следовательно, они порождают также транспозицию (т2+1 т2 + 2), которая вместе с /? порождает группу <^т?+2 в соответствии с тео- теоремой 8. Таким образом, 5 и Т составляют базис группы
28 С. Пикар Если тх^3 и щ — т!>3, то 2=B щ+2 1 = A тх щ Подстановки Т2 и Г3 порождают в силу следствия теоремы 3 симметрическую группу подстановок тех элементов, которые они переставляют, поэтому они порождают и транспозицию {/Из+1 /7*2 + 2). В силу теоремы 8 эта транспозиция вместе с /? составляет базис группы <^та+2. Следовательно, подста- подстановки 5 и Т во всех случаях составляют базис группы 2+2 3. Подстановка 5 четна, а общее число ее циклов нечетно, а) Все циклы в 5 имеют порядок <; 2 = A 2) C 4) ... (*—1 к) (* + 1) ... (л), где к/2—четное число>2 и к/2-\-п—к—нечетное число >3. Если 5 = A 2) C 4) E), положим Т = (\ 2 3) D 5). Эти две подстановки порождают, как легко проверить, группу <^5. Предположим теперь, что 5 Ф A 2) C 4) E). Положим тогда Г = B 4 6 ... Н —14+1... п). Это не- яетная подстановка. Покажем, что две подстановки 5 и Т порождают группу о?п. Действительно, если 5 содержит два цикла второго по- порядка и нечетное число !>3 циклов первого порядка, дру- другими словами, если = A 2) C 4) E) F) ... Bл-Н), 2л-И>7, то Г = B 4 3 5 ... 2л-И), 5Г = A 2 3 5 6 ... 2л+1) = Подстановка II нечетная. Имеем !=C 4 5 б ... 2л+1 1) = Ти ТТГ1 = (\ 2 4 5 3) = /?, 1=C 5 4 2 1), Ц2№~2=C 5 4 7 6) = Две подстановки 7? и /?! порождают в силу теоремы 8 труппу <АГ Следовательно, они порождают подстановку ■D 5 6), которая вместе с С/ образует в силу теоремы 5 базис группы с^2л+1- Т° же самое, следовательно, можно сказать о подстановках 5 и Т.
О базисах симметрической группы 27" Если 5 содержит более двух циклов второго порядка, та 8, подстановка Т имеет четный порядок >> б и мы имеем 8Т = (\ 2 ... к — 2 *— 1 к+1 к + 2 ... п)=Ц19 5Г5=A 3 5 7 ... к — 3 к—1 к к + 1 * + 2 ... п)=Т2; Т и Г2 — две подстановки вида Л = A 2 ... 8 5 + 1 ... /) и В = E+1 5 5 + 2 ... / /+-1 ... /+<?— 1), где I — четное число>-6 и 4<5</— 1. Но две подстановки А и В всегда порождают группу с$р/+5_1. Действительно^ пусть сначала 5 = /— 2. Имеем Л = A 2..,/), 5 = (/—1. /_2 / /+1 ... 2/ —3), 1 =A 2 ... / — 3 / г —2 /+1) = А, 1 = С==(/ —3 /—1 / — 2 / + 1 /), =С1 = (/ —2 / / — 1 / + 1 1). Две подстановки С и Сг порождают знакопеременную группу подстановок тех элементов, которые они переставляют, по- потому что это имеет место для подстановок С и ССХС2 = = (/—1 I /+1) в силу теоремы 5. Они порождают, следова- следовательно, подстановку {I—1 I < + 1), которая вместе с Л со- составляет базис группы <&*(+1 в силу теоремы 5. Эта группа содержит подстановку A 2 ... I — 2), которая вместе с В составляет базис группы <^2/-з в силу следствия теоремы 3. Следовательно, подстановки Л и В также порождают группу Предположим теперь, что 8 < ^ — 2. Имеем ВАВ'1 ={\ 2 ... 5—1 5 + 2 5 5 + 3 ... /+1) = ЛЛ1 = С = E—1 5 + 1 5 5 + 2) (/ /+1), ЛСЛ^1=С1 = E 5 + 2 5 + 1 5 + 3) A / + 1). Легко видеть, что две подстановки С и С4 всегда порождают подстановку A I /+1); эта подстановка вместе с Л в силу тео- теоремы 5 составляет базис группы с#*ж — группы, которая содер- содержит подстановку A 2 ... 5), а эта подстановка порождает вме- вместе с В группу с^*+в„1 в силу следствия теоремы 3. Следова- Следовательно, Л, 5 есть базис группы ^1+8^\. Отсюда вытекает, что две подстановки Т и Тх всегда по- порождают симметрическую группу подстановок тех элемен-
28 С. Пикар тов, которые они переставляют. Поэтому они порождают под- подстановку A к п), которая вместе с Цх порождает группу <^„ в силу теоремы 5. Следовательно, в рассматриваемом случае 5 и Т также составляют базис группы <&* п. б) По крайней мере один из циклов в 5 имеет порядок больше двух: A 2 ... тх) (тх +1 ... т2) ... ... ШТ) (Шг-\~ 1) ... (п), Шт — Положим Т = Покажем, что две подстановки 5 и Т порождают группу Действительно, в силу нашего предположения Т—нечетная подстановка порядка >- 4. Предположим сначала, что 5 содержит только один цикл порядка > 1 и два цикла первого порядка: = A 2 ... тО {тх+\) {тх-\-2). (**) Число тх нечетно и тх^-3. Тогда имеем Т = (тх тх — 1 тх +1 тх + 2), 8Т = (\ 2 ... тпх — 1 тх-\-\ Подстановка и нечетная, и две подстановки Ц и Т поро- порождают группу &>т,+2 в силу теоремы 8. Подстановки 5 и Г также образуют базис группы ^т,+2. Предположим теперь, что 5 имеет вид, отличный от (**). Имеем = (\ 2 ... тт— ... гпг_х+\ тт тпт + \ ... п 1)=7\. Две подстановки Т и Тх имеют вид Л = A 2 ... 5 5 + 1 ... О» В = (8 5 + 2 5 + 3 ... //+1 ... / + 5), где /—-четное число>4 и 5 = 2, если / = 4, или 5 — цело,е число, находящееся (в широком смысле) между 1 и / — 2, если I > 4. Две подстановки А и В порождают группу с^+<5- Дей- Действительно, если / = 4, имеем А = {\ 2 3 4), В = B 4 5 6), и эти две подстановки порождают, как легко проверить, группу
О базисах симметрической группы 29 Предположим теперь, что /> 4. Если 5=1, имеем Л = A 2 ... *). В = {\ 3 ... / /+1), 1 = С = (\ 2) Две подстановки А и С порождают группу ^г+\ в силу тео- теоремы 6. Отсюда следует, что А и В составляют базис в & Если 5 = 2, имеем А = {\ 2 ... /), B 3), 2) C 4). Две подстановки С и Сг порождают знакопеременную группу подстановок тех элементов, которые они переставляют, а следовательно, и перестановку (г / + 1 < + 2). А эта пос- последняя подстановка образует вместе с А базис группы ^1+2 в силу следствия теоремы 3. Следовательно, Аи В составляют базис группы <^+2- Если 5 = / — 2, имеем 2 ... /), В = {Ь — 2 I / + 1 ... 2/ —2), 2 ... / — = С = (/ —3 / — 2 / /+1 /—1). В силу теоремы 8 две подстановки С и В порождают сим- симметрическую группу подстановок тех элементов, которые они переставляют. Эта группа содержит подстановку (I ...2/ — 2\у которая вместе с А порождает группу 2B в силу следствия теоремы 3. Следовательно, А и В составляют базис группы с#%-2- Если 2<5</ — 2, имеем ВАВ =Д = A 2 ... 5 — 1 5 + 25+1 5 + 3 ... /+1), ЛЛ = С = E—1 5 5+2 5+1) (/ / + 1), ВСВ-Х =СХ = {8— 1 5 + 2 5 + 3 5 + 1) (/+1 / + 2). Нетрудно видеть, что две подстановки С и С{ всегда порождают подстановку (/ /+1 г + 2), которая вместе с А составляет базис группы с^н-2 в силу следствия теоремы 3. Эта группа содержит подстановку A 2 ... 5 5+1), которая вместе с В порождает группу с^+5 в силу следствия теоремы 3. Следовательно, А и В составляют базис группы ^+8. Таким образом, две подстановки Т и 7\ во всех случаях по- порождают симметрическую группу подстановок тех элементов,
30 С. Пикар которые они переставляют; эта группа содержит подстановку A тг я), которая вместе с V порождает группу е#*п в силу тео- теоремы 5. Следовательно, 5 и Г также составляют базис груп- группы &п. II. Предположим теперь, что «У не содержит ни одного цикла первого порядка. Всегда можио выбрать обозначения таким образом, чтобы подстановка 5 записывалась в виде 5 = A 2 ... тх) (тх +1 ... щ) ... (тг_г +1 ... тг), где г>1 и цикл (тг^+1 ... гщ) имеет порядок не меньший,, чем все остальные циклы в 5. Нужно отдельно рассмотреть три случая. 1. По крайней мере один цикл в 5 имеет порядок > 3, сле- следовательно, тг — Шг-1 ^ 4. а) 5 нечетна, или если 5 четна, то общее число ее циклов нечетно. Положим г_\ шТ шт—1). Покажем, что две подстановки 5 и Г порождают группу Действительно, имеем 2 ... г) , = 7\. Две подстановки Т и 7\ порождают в силу следствия теоремы 3 симметрическую или знакопеременную группу подстановок тех элементов, которые они переставляют. Следовательно, они во всех случаях порождают подстановку A шг— 1 тг), которая вместе с V порождает группу &>тт или группу Лтг в силу теоремы 5. Отсюда следует, что две подстановки 5 и Г, из ко- которых по крайней мере одна нечетна, с необходимостью поро- порождают группу с^т- б) Подстановка 5 четна, и общее число ее циклов тоже четно. Положим Г=<т! т2 ... тг_1 тТ тт—\ пгг— 2). Это нечет- нечетная подстановка порядка ^>4. Покажем, что 5 и Г составляют базис группы <^тг. Действительно, предположим сначала, что 5 имеет вид ... пц), причем тг и т2 одновременно четны или нечетны, тх>4. В этом случае Т = (тх т2 щ—\ щ — 2).
О базисах симметрической группы 31 Если тх = 2, то /^2>-6. Предположим сначала, что/712 = Тогда 7* = B 6 5 4), 57* = A 2 3 4). Две подстановки Т и 8Т порождают группу <^6. То же самое можно сказать о под- подстановках 5 и Г. Предположим теперь, что ^ = 2 и ш2 > 6, Так как щ четно, имеем т2>-8. Тогда Т = B т2 т2 — 1 т2 — 2), 5Г = A 2 ... т2 —2), 5Г5^! = 7\ = A 3 т2 т2—1), 1 т2 —2 2 т2 3), 5 4 3). Две подстановки # и Г2 порождают в силу теоремы 8 симме- симметрическую группу подстановок тех элементов, которые они пе- переставляют, т. е. группу, содержащую транспозицию A т2). Легко показать, опираясь на следствие теоремы 3 и лемму 6, что эта транспозиция вместе с подстановками 8Т и Т поро- порождает группу ^т2. Отсюда следует, что подстановки 5 и Г представляют собой базис группы <&*т2- Если /Л1 = 4 и /п2=8, то 5 = A 2 3 4) E 6 7 8), Г = D 8 7 6), =и = (\ 2 3 4 5 6), 5^/3 = B 6 4) C 7 8 5), = B 6 4) = /?. Две подстановки Я и Т порождают в силу теоремы 8 симме- симметрическую группу подстановок тех элементов, которые они пе- переставляют. Следовательно, они порождают также подстановку F 7 8). Эта подстановка вместе с V порождает группу <^8 в силу следствия теоремы 3. Поэтому подстановки 3 и Т поро- порождают группу <^8. Во всех остальных случаях мы имеем /71!>3, т2>8, 5Г = A 2 ... ш2 — 2) = С/, 82Т5~2=B тг + 2 тх+\ т2) = Т1. Две подстановки Т и 7\ порождают симметрическую группу подстановок тех элементов, которые они переставляют; следо- следовательно, они порождают подстановку (т2 — 2 т2—1 т2), ко- которая вместе с V образует базис группы е^т2 в силу следствия теоремы 3. Таким образом, 5 и Г составляют базис группы <^т2. Предположим теперь, что 5 состоит не из двух циклов. Имеем = A 2 ... тг — 2) = и, 1 =A /Я!+ 1 ... тг^!+ 1 пгГ пгГ— 1) = Г1. Две подстановки Т и 7\ порождают в силу теоремы 8 сим- симметрическую группу подстановок тех элементов, которые они
32 С. Пикар переставляют, в том числе и подстановку (тг — 2 тг—1 тг), которая вместе с V составляет базис группы &т в силу след- следствия теоремы 3. Следовательно, и в этом случае 8 и Т состав- составляют базис группы E?т 2. В 5 нет ни одного цикла порядка > 3, но есть по крайней мере один цикл третьего порядка. Если 5 четна или если 5 нечетна, но общее число циклов у нее нечетно, то положим Т = {гПц ш2 ... тят шг — 1). Рассуждение, аналогичное проведенному в случае II, 1, а), по- показывает, что 8 и Т составляют базис группы &т . Предположим теперь, что подстановка 5 четная и что число циклов у нее четно. Пусть 5 = A 2 ... тх) (тх -\-1 ... т2) ... (тг — 2 тг где г>2ишг — Если 5=A 2 3)D 5 6), положим 7=A 2) C 4 5). Эти две подстановки порождают группу с^6. Если 5=^A 2 3) D 5 6), положим Т = (щ ш2 ... тг__! шг шг — 1 тг — 2). Это нечетная подстановка. Покажем, что две подстановки 5 и Т составляют базис группы <^т • Действительно, имеем 5Г=A 2 ...тг —2)={/, ИТЦ'1 =(тх-\-\ т2-\- 1 • • • тг_2-{-1 тТ — 2 тпт тпт— 1 1) = Две подстановки Т и 7\ имеют вид = A 2 ...'/) и В = (г г —2 г — \ /4-1 ... 2/ — 3), где / — четное число > 6. Покажем, что подстановки А и В по- порождают группу с^2*-з. Действительно, имеем АгВ8~г= C 1 2 /+1 1 + 2 ... 2/ — 3) =Ви и две подстановки В и Вь порождают сим- симметрическую группу подстановок тех элементов, которые они переставляют, в силу теоремы 8. Следовательно, во всех слу- случаях они порождают подстановку A /+1 1 + 2 ... 21 — 3), ко- которая вместе с А образует в силу следствия теоремы 3 базис группы е^2*-з- То же самое, следовательно, можно сказать о под- подстановках А и В. Отсюда следует, что две подстановки Т и 7\ порождают сим- симметрическую группу тех элементов, которые они переставляют, следовательно, и подстановку (шг — 2 тг—1 тг), и эта под-
О базисах симметрической группы 33 становка в силу следствия теоремы 3 вместе с I) порождает группу (Ут . Две подстановки 5 и Г образуют поэтому базис ГруППЫ &тг. 3. Все циклы в 5 имеют второй порядок: 5 = A 2) C 4) ... (п— 1 п) (п четно). Если 5=A 2) C 4), то не существует подстановки Т группы с^4, которая образовывала бы с 5 базис группы <^*4. Если 5=* = A 2) C 4) E 6), то легко проверить, что подстановка Г= =* A 2 3 4 5) порождает вместе с 5 группу <^в. Если 5= A 2) C 4) E 6) G 8), положим Т= A 2 3 4 5 6 7). Подстановки 5 и Г порождают группу <^*8. Пусть п > 8. Тогда если общее число п12 циклов в 5 нечетног то положим Г= B 4 ... п — 2 п п — 1). Покажем, что две под- подстановки 5 и Г порождают группу &>п. Действительно, имеем 5Г=A 2 ... п— 1)= 575-!=A 3 ... п — 3 п— 1 п)у {8Т8'1)'1 =(/* п — 1 п — 3 ... 3 1) = Ти и две подстановки Т и 74 порождают в силу теоремы 8 симме- симметрическую группу подстановок тех элементов, которые они пе- переставляют, в том числе и транспозицию (п— 1 п)\ эта послед- последняя вместе с V составляет базис группы &\ в силу следствия теоремы 3. Следовательно, в рассмотренном случае подстановки 5 и Г представляют собой базис группы &п- Если число л/2 четно (тогда оно ^ 6), положим Г= B 4 6... ... п — 2 п — 3 п п—1). Покажем, что 5 и Г составляют ба- базис группы &\. Действительно, имеем 5Г=A 2 ... п — 3 л_1) = 1/, 575^= A 35.../г — 3 п — 2 п— 1 л)=Г4. Две подстановки Т и Т1 имеют вид Л=A 2 ... ?) и В = =-{1 — 2г — ЪИ—\ г+\ ... 2/ —4), где I — четное число > 8; следовательно, / — 4>4. Тогда имеем В4ЛВ~4=A 2 ... / — 4 г+2 г+\ /+4 /+3)=^!. Две подстановки А и А± всегда порож- порождают группу с#*2*-4 в силу теоремы 8. То же самое, следователь- следовательно, можно сказать о подстановках Л и В. Отсюда следует, что две подстановки Т и 7\ порождают сим- симметрическую группу подстановок тех элементов, которые они переставляют, в том числе и подстановку (п — 2 п — 1 п); в силу следствия теоремы 3 эта последняя перестановка вместе с II образует базис группы ^п. Следовательно, 5, Т составляют базис группы &*п. Таким образом, теорема полностью доказана.
34 С. Пикар Теорема 10. Каково бы ни было целое число п >- 4, для любой нетождественной подстановки 3 из группы Лп суще- существует по крайней мере одна подстановка Т из группы Жп, ко- которая вместе с 8 образует базис группы Жп. Эту теорему можно доказать, опираясь только на теоремы 4, 5 и 8, а также на следствие теоремы 3. Теорема 11. Каково бы ни было четное (нечетное) число п > 3, для любой циклической подстановки 8 из группы &п (<Ап) существует по крайней мере одна циклическая под- подстановка Т, которая образует вместе с 8 базис группы &п {<Ап). Доказательство. Очевидно, достаточно доказать тео- теорему для какой-нибудь одной циклической подстановки 5. Пусть, например, 5 = A 2 ... п). Предположим сначала, что п четно. Положим Г=B 4 6 ... ... /г 3 5 7 ... м — 1 1). Две подстановки 5 и Г образуют базис группы &П. Действительно, имеем 5Г5 = A 2) и в силу тео- теоремы 1 две подстановки 5 и Г порождают группу <^п. Теорема доказана для четного п. Пусть п — нечетное число, п = 2к+1 (А>2). Если к=2, по- положим Т= A 4 3 2 5). Если к^- 3, положим Т = (\ Н2 3 к + А ... I ... к 2*+1 к+\ 2 * + 3), Каково бы ни было к^2, имеем Г5А=A 2 3), и в силу тео ремы 8 две подстановки 5 и A 2 3) порождают группу <Ап. Та ким образом, теорема доказана и для нечетных п%
Перестановочное декодирование систематических кодов1) Дж. М ак- В иль ямс Под симметрией систематического кода понимается такая перестановка позиций каждого кодового слова (одна и та же для всех кодовых слов), относительно которой код инвариантен в целом. При перестановочном де- декодировании эти симметрии кода используются для построения алгоритма декодирования. Для выбранного случайным образом кода трудно найти соответствую- соответствующее ему множество симметрии. Эта проблема является более простой в слу- случае циклических кодов и для некоторых специальных циклических кодов пол- полностью решена в данной работе. Кроме того, для этих кодов перестановочное декодирование технически легко реализуемо и обходится дешевле по срав- сравнению с другими схемами декодирования. Оценивается контроль ошибок с помощью перестановочного декодирова- декодирования для бинарного симметричного канала и переключательных телефонных линий, описанных экспериментальными данными. Перестановочное декодиро- декодирование оказывается очень эффективным в случае бинарного симметричного канала и имеет весьма сомнительную ценность для современных телефон- телефонных линий. ВВЕДЕНИЕ Систематический код с длиной блока п является подпро- подпространством векторного пространства всех возможных строк из п символов, принимающих значения в конечном поле. В данной статье такие коды будут называться алфавитами [1], а последо- последовательности, принадлежащие алфавиту, будут называться буквами. Для описания алфавита используются параметры: длина блока я, число информационных позиций к и коэффициент кор- корректирования е (п — число символов в каждой букве; к — раз- размерность алфавита как подпространства; е определяется тем свойством, что минимальное (в смысле Хэмминга) расстояние между двумя буквами равно либо 2е+1, либо 2е+2). Хорошо известно [1], что с теоретической точки зрения ал- алфавиты с параметрами п, к и е в блоках длины п могут ) МасШЛПатз Л., Регти1аНоп с1есосИп§ о! 8у$1ета11с собез, ВеИ . ТесНп. /., 43, № 1, раг1 2 A964), 485—505..
36 Дж. Мак-Вильяме корректировать все ошибки кратности -<^. Однако для е > 1 процедура декодирования с коррекцией ошибок является слож- сложной и требует соответственно дорогой аппаратуры. В данной работе описывается новая схема декодирования—перестано- декодирования—перестановочное декодирование, которая является простой по своему су- существу и допускает простую техническую реализацию. Процедура декодирования состоит из ряда перестановок по- полученного блока символов, каждая из которых сопровождается подсчетом проверок на соответствие. Таким образом, имеется возможность провести грубое сравнение сложности аппаратуры, требуемой для кодирования и декодирования. Для построения корректирующих позиций в кодирующем устройстве исполь- используется один регистр сдвигов, а в декодирующем — г регистров (или один регистр г раз), где г — число перестановок декоди- декодируемой последовательности. При постоянном времени задержки время операции декодирования имеет вполне допустимую вели- величину и, по-видимому, обходится не слишком дорого. Перестановочное декодирование впервые рассматривалось в более ранних работах П. Неймана и Е. Прейнджа. Оно суще- существенно зависит от симметрии алфавита. Под симметрией алфа- алфавита понимается такая перестановка позиций, относительно ко- которой алфавит инвариантен в целом. Одна и та же перестановка применяется к каждой букве алфавита, и при этом каждая буква переходит, вообще говоря, в другую букву того же са- самого алфавита. Симметрии произвольных алфавитов изучены очень мало, однако, как будет показано, даже этого достаточно для того, чтобы применять перестановочное декодирование для большого класса алфавитов. Два важных свойства отличают перестановочное декодиро- декодирование от предложенных ранее схем декодирования. Во-первых, оно тем легче, чем больше избыточность алфавита, т. е. оно бо- более результативно для алфавитов с высоким коэффициентом корректирования. Во-вторых, в л-мерном блоке оно не может корректировать более чем е ошибок. Полученная последователь- последовательность, содержащая более чем е ошибок, либо будет неправильно «скорректирована», либо поступит на выход декодера без из- изменений. В разд. III показывается, что при перестановочном декоди- декодировании на выходе получается намного больше ошибок, чем при обычных методах детектирования с ретрансляцией. Поэтому там, где это в принципе возможно, следует использовать более простую схему детектирования и ретрансляции. Статья имеет следующий план: разд. I содержит описание перестановочного декодирования в целом, без обращения к ка- каким-либо специальным (частным) алфавитам. Разд. II является
Цврестановочное декодирование систематических кодов %7 лримером и содержит детальный расчет одной специальной группы перестановок, которая позволяет обосновать перестано- перестановочное декодирование для многих бинарных циклических алфа- алфавитов. В разд. III описывается, как можно оценить вероятность некорректируемых ошибок и обнаружения без коррекции. I. Контроль ошибок и перестановочное декодирование Обозначим через Уп множество всех возможных бинарных !) последовательностей длины п. Расстояние между двумя после- последовательностями равно числу несовпадающих позиций; иначе говоря, расстояние между VI и ь% равно минимальному числу позиций, которые надо изменить в 01 для того, чтобы перевести ее в 02. Для осуществления контроля за ошибками лишь некоторые последовательности из Vй выбираются в качестве последова- последовательностей, которые могут передаваться. Это подмножество Vй называется кодом. Обнаружение ошибок заключается в про- проверке, принадлежит или нет полученная последовательность коду. Каждый метод исправления ошибок заключается в ото- отображении полученной последовательности в ближайший (в смысле определенного выше расстояния) элемент кода. Если при этом имеется несколько ближайших элементов кода, то про- произвольным образом выбирается любой из них или указывается, что произошла некорректируемая ошибка. Основной принцип выбора кода обычно сводится к тому, чтобы разместить его элементы в пространстве V71 по возмож- возможности дальше друг от друга. При этом потребуется относительно большое число ошибок, чтобы из переданной кодовой последо- последовательности получилась другая последовательность кода. Если Расстояние между двумя кодовыми последовательностями >• ^•2е+1, то теоретически такой код позволяет корректировать все одиночные, двойные, ..., е-кратные ошибки. Это можно обо- обосновать следующим образом: если в полученной последователь- последовательности V произошло -<С е ошибок, то в коде существует единствен- единственная последовательность а, находящаяся на расстоянии -^в от V. Все другие элементы кода находятся от V на расстоя- расстоянии >е. Сущность декодирования состоит в нахождении а по задан- заданному V. Для быстрого осуществления этой процедуры необхо- необходимо знать некоторые дополнительные структурные бсобенности !) Предлагаемый метод легко переносится на случай кодов с ббльшим основанием. Единственное, что для $того требуется, *>тб Замени слов «бинар- «бинарная последовательности соответствующим термином.
38 Дж. Мак-Вильяме кода, и поэтому в дальнейшем мы ограничимся одним классом кодов, описанным в следующем абзаце. Алфавит !) (систематический код, групповой код) есть код, в каждой последовательности которого фиксированное число фиксированных позиций являются информационными, а осталь- остальные позиции содержат проверки на соответствие, т. е. являются линейными комбинациями содержимого информационных пози- позиций. Для удобства в качестве информационных выбираются пер- первые к позиций. Добавление п — к проверок на соответствие к не- некоторой /г-мерной бинарной последовательности к определяет единственную букву алфавита. Эта буква будет обозначаться через т(к). Пусть а — вектор, стоящий в первых к позициях п-мерной последовательности а. а является буквой алфавита тогда и только тогда, когда а = /л(а). Пусть я будет перестановкой по- позиций в Уп, относительно которой инвариантен данный алфавит, Если а является буквой, то и ая является буквой. Первые к позиций последовательности ая являются информационными и ая=»/п(ая). Пусть полученная последовательность V содержит г^ е оши- ошибок. Если в первых к позициях V не произошло ошибок, то ао=т(^) является единственной буквой алфавита, находящейся на расстоянии -^ е от V и являющейся правильной интерпрета- интерпретацией V. Наоборот, если в первых к позициях V произошла одна или более ошибок, то буква /л(г;) является неверной интерпре- интерпретацией у, так как в первых к позициях она совпадает с V. В этом случае т($) находится от V на расстоянии > е. Первый шаг процедуры декодирования состоит в образова- образовании осо^т^), нахождении расстояния между о и «о и в приня- принятии схо в качестве правильной версии у, если это расстояние ^ е* Пусть а означает единственную букву алфавита, находя- находящуюся на расстоянии -^ е от V. Пусть я, как и ранее, будет пе- перестановкой позиций, относительно которой данный алфавит ин- инвариантен. Тогда очевидно, что расстояние между ая и Vл рав- равно расстоянию между а и V. Предположим, что нам удалось найти перестановку я*, отно- относительно которой алфавит инвариантен и которая передвигает ошибки в V из к информационных позиций в проверочные. Тогда аг = #г(шт*) находится на расстоянии 4е от г^ и яв- является единственной буквой алфавита, обладающей этим свой- свойством. Следовательно, а = а.я/~1 является правильной версией V. 1) Было показано [1], что всякий систематический код является груп- групповым, а всякий групповой — систематическим.
Перестановочное декодирование систематических кодов 39 Это рассуждение является обоснованием следующей проце- процедуры декодирования: пусть / (тождественная перестановка), яь яг, • • • > — последовательность перестановок, относительно кото- которых инвариантен данный алфавит. Образуем буквы и будем последовательно находить расстояния между щ и Vл^ до тех пор, пока не найдем букву аи находящуюся на расстоя- расстоянии ^ е от VIII. Тогда с^я*1 является правильной версией V. Если полученный вектор V находится на расстоянии > е от всех букв алфавита, то рассматриваемая процедура позволяет обнаружить ошибку, но не позволяет скорректировать ее. На этот случай необходимо предусмотреть дополнительную проце- процедуру, что обсуждается в разд. III. Возможна также такая ситуация, когда декодер производит неправильную «коррекцию» ошибки. Это происходит тогда, когда вектор шума (содержащий более чем е единиц) перево- переводит переданную букву а в последовательность у, находящуюся на расстоянии ^ е от буквы а', отличной от а. Вероятность та- такого события вычисляется в разд. III. Для того чтобы работать с помощью перестайовочного деко- декодирования, мы должны быть уверены, что одна из последова- последовательностей ря* содержит к правильных первых позиций. Если и = а+/, где /—вектор ошибки, то перестановка Яг должна пе- передвинуть все ненулевые координаты этого вектора из первых к позиций. Для того чтобы такая процедура имела практический интерес, должна существовать достаточно короткая последова- последовательность перестановок, которая позволяла бы передвинуть из первых к позиций любую ошибку кратности ^е. Итак, для того чтобы с помощью перестановочного декоди- декодирования можно было корректировать любую ошибку кратности ^е в блоке длины я, необходим 1) алфавит с длиной блоков п, размерностью к и минимальным расстоянием ^2е+\ и 2) мно- множество перестановок яь яг, ..., которые передвигают любую ошибку кратности ^е из к информационных позиций в прове- проверочные и относительно которых алфавит инвариантен. Подчеркнем, что требование инвариантности алфавита отно- относительно перестановок я* является следствием требования того, чтобы для всех последовательностей алфавита проверки на со- соответствие вычислялись идентичным образом. Кодирующее уст- устройство (вычислитель проверок на соответствие) является слож- сложной и дорогой частью аппаратуры. Поэтому желательно в деко- декодирующем устройстве использовать только одну кодирующую схему. Если по какой-либо причине (например, для уменьшения
40 Дж. Мак-Вильяме реального времени операции) необходимо иметь более чем одно кодирующее устройство, то можно в определенной степени осла- ослабить ограничения, накладываемые на перестановки щ. Может показаться, что найти одновременно подходящий ал- алфавит и подходящую группу перестановок чрезвычайно трудно. Основная трудность при этом состоит в том, что ни алфавиты, ни группы перестановок не изучались с этой точки зрения. В разд. II показано, что многие циклические алфавиты имеют очень простую группу перестановок. В заключение данного раздела приведен пример перестано- перестановочного декодирования для алфавита Хэмминга с параметрами /г = 7, й=4, е=1 1). Алфавит выписан в табл. 1. Он, очевидно, инвариантен относительно циклических перестановок. Таблица 1 Циклический алфавит с я = 7; к = 4; е=\ Таблица 2 Процедура декодирования для алфавита табл. 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 10 0 10 10 110 1 0 110 0 0 11 0 0 0 1 10 00 1111 10 11 0 10 1 0 0 10 10 0 1 1100 1110 0 111 К= 1110100 т (V") =1110010 УТ = 011 1010 т{уТ)= 011 1001 УТ2^ ООН 101 /72A772)^001 1010 УТ8— 1001 110 /тг(УТЗ)= Ю0101 1 КЛ = 0100111 т(УТ4) = 0100011 Расстояние = 2 Расстояние = 2 Расстояние = 3 Расстояние = 2 Расстояние = 1 Таким образом, а = 0 100011 является един- единственной буквой, находящейся на расстоянии < 1 от УТА и, следовательно, аТ" 4 = аТ3 «011010О является правильной версией V. Пусть Т обозначает циклическую перестановку. Очевидно, что самое большее четырехкратное применение Т передвигает любую единичную ошибку из первых четырех позиций. Декоди- Декодирующая последовательность состоит из перестановок /, Т, Г2, Р ) Данный пример выбран для простоты. Перестановочное декодирова- декодирование не является самым эффективным способом коррекции одиночных ошибок, 2) Е. Р. Берлекамп заметил, что достаточна более короткая декодирую- декодирующая последовательность: /, Р 74
Перестановочное декодирование систематических кодов 41 Пусть на приемном конце получен вектор 1110100 (первый ненулевой вектор из табл. 1 с искаженной первой позицией). Все последовательные этапы процедуры декодирования приве- приведены в табл. 2. II. Перестановочное декодирование циклических алфавитов1) Для удобства описания перестановок перенумеруем коорди- координаты пространства Vй числами 0, 1, 2, ..., п — 1. Если <о — про- произвольное из этих чисел, то циклическая перестановка Т описы- описывается соотношением Г:со->со+1 (сложение по модулю п). Степени циклической перестановки Т определяются соответ- соответственно правилами Т2: со->со-[-2; Г3 : со->со-{-3; ..., Тп : с Циклический алфавит в Vй — это такой алфавит, который инвариантен относительно Т и, следовательно, относительно Г2, Т3 и т. д. Предположим, что нам надо декодировать цикличе- циклический алфавит с параметрами л, 6, е. С помощью последовательных циклических сдвигов всегда можно передвинуть любые к последовательных позиций на пер- первые к мест и, следовательно, перевести из первых к позиций все единичные координаты любого вектора шума, который имеет не менее к подряд идущих нулей. В частности, последователь- последовательность /, Г, Г2, ..., Тп'1 всегда позволяет корректировать оди- одиночные ошибки 2). Если вектор шума не имеет отрезка длины !> к из подряд идущих нулей, то последовательность циклических перестановок не может корректировать соответствующие ошибки. Предполо- Предположим, например, что п = 23 и й=12. Тогда не существует цикли- циклических сдвигов, которые бы позволяли скорректировать ошибку вида X 1 2 3 4 5 6 7 8 X 10 11 12 13 14 15 16 17 18 X 20 21 22. Для этих ситуаций мы введем другую подстановку — С/ : со —> 2со (умножение по модулю п) и ее степени — И2 : © —> 4©; I/3: о -* —> 8оз и т. д. Если п — нечетное число, то существует такое 1) Необходимо подчеркнуть, что данный раздел является всего лишь примером. Перестановки, описанные в этом разделе, не являются достаточ- достаточными для того, чтобы декодировать все циклические алфавиты с нечетной длиной блока. В приложении А дан метод нахождения других перестановок. 2У Она также позволяет корректировать все двойные ошибки, если /2 и так далее.
42 Дж. Мак-Вильяме наименьшее целое число I, что 2'=1 (той я) и [/* = /. Выбор V обосновывается следующей теоремой. Теорема 1. Каждый бинарный циклический алфавит с не- нечетной длиной блока п инвариантен относительно перестановки И и ее степеней. Доказательство этой теоремы приведено в приложении А. Рассмотренная выше ошибка в позициях 0, 9 и 19 с помощью перестановки V может быть переведена в позиции 0, 18 и 15, а затем сдвинута из первых двенадцати позиций с помощью 21 циклического сдвига. Обозначим через Оп группу перестановок на множестве О, 1, ..., п — 1, порожденную перестановками Т и I/. Легко убе- убедиться, что ТЦ=ЦТ2У и, следовательно, каждую перестановку из Оп можно представить в виде 1IТ*, где 0<л-</— 1 и 0-</*< [^л—1. Так как никакая степень V не затрагивает нулевую позицию и так как любая степень Т (за исключением нулевой) ее передвигает, то Ц{Т^=ЦкТк тогда и только тогда, когда /=й(то(И) и ] = к{тойп). Отсюда следует, что группа Оп имеет порядок п1 и состоит из элементов Т Т Т2 грп-1 и цт ит2 итп~1 КУ у I*/ 1 у *^ Л у . . • , К~/ 1 у т т* ^рИ — 1 Предположим, что в позициях ии и2, ..., и8 произошли ошибки, где 0 ^ #1 < иг < ... < и8 ^ п—1 {п — нечетное число). Пусть #(#1, и2у ..., и8, п) будет длиной максимального отрезка подряд идущих нулей, который может быть получен из соответ- соответствующего вектора шума в процессе последовательного умно- умножения номеров позиций на 2 по модулю п. Если и-чъ обозначает число, меньшее чем п и сравнимое с 2киу, по модулю п, то |/л — а]к при условии, что интервал [иг-&, и^] не содержит других иу,$. Обо- Обозначим через ^E, п) наименьшее значение длин максимальных нулевых отрезков для всех возможных наборов чисел ии и2, ...
Перестановочное декодирование систематических кодов 43 и& при заданном 5, #E, п)= Ш1П (г(ии и2, ..., и3, л). и1> «2 и8 Тогда группа Оп содержит перестановки, которые передви- передвигают любую ошибку кратности 5 из первых ^($, п) позиций. Очевидно, что §(з\ п)^> §($, п) для $' < 5. Следовательно, би- бинарный циклический (п, й, е) -алфавит с нечетным п можно де- декодировать с помощью группы Оп тогда и только тогда, когда &<#О, п). Величина д(е, п) имеет несколько очевидных свойств. Множество чисел 0, 1, ..., п — 1 можно разбить иа непере- непересекающиеся подмножества, инвариантные относительно У{). Например, для п =15 эти подмножества имеют вид @), A, 2, 4, 8), C, 6, 12, 9), E, 10), G, 14, 13, 11). Объединение любого числа инвариантных подмножеств так- также является инвариантным относительно I). Инвариантные подмножества дают возможность получить верхнюю оценку &(е, п) путем непосредственной проверки. Для рассмотренного выше примера имеем ^B,15) <^9, так как инвариантное подмножество E,10) дает максимальный нулевой отрезок 11, 12, 13, 14, 0, 1, 2, 3, 4 длины 9; ^C,15)-^4, так как инвариантное подмножество @, 5, 10) дает максимальный отрезок 1, 2, 3, 4 длины 4; ^E,15)'^ 2, так как инвариантное подмножество @,3,6,9,12) дает максимальный отрезок длины 2. Верхняя граница является полезной и интересной характе- характеристикой, так как она позволяет ограничить область целесо- целесообразности использования группы Сп. На 1ВМ-7090 были просчитаны значения @(е, п) для раз- различных наборов п и е. Для некоторых циклических кодов эти данные совместно с параметрами м, й, е приведены в табл. 3. В качестве декодирующей последовательности желательно, если это возможно, использовать только часть группы Оп. Рас- Рассмотрим, например, алфавит с параметрами л = 23; й=12; е = 32). В этом случае перестановки [/, Ц2, Vй будут всегда создавать неискаженный отрезок длины по меньшей мере 12 при любой трехкратной ошибке. Декодирующая последовательность имеет !) Число циклических алфавитов с длиной блока п определяется через число этих подмножеств, а размерность циклических алфавитов определяется мощностью этих инвариантных подмножеств (см., например, [4]). 2) Этот алфавит детально описан в табл. 5,
44 Дж. Мак-Вильяме ВИД1) / Т Т2 г/г, ..., Для этого 'частного алфавита процедура декодирования мо- моделировалась на 1ВМ-7090. Диаграмма логической программы Приведена на рис. 1, а в табл. 4 прослежена процедура деко- декодирования для одной частной последовательности. Для того чтобы последовательность на выходе появлялась в своем есте- естественном виде, на практике к декодирующей последователь- последовательности перестановок удобно добавить еще одну перестановку (в данном случае ТЦ). Окончательно на выходе перестановоч- перестановочного регистра появляется принятая последовательность уже в скорректированном виде. Таблица 3 Эффективность перестановки V для различных длин блоков п 47 31 31 31 23 21 ^1 21 17 15 15 Коды к 24 21 16 11 12 12 9 5 9 7 5 е 5 2 3 4 3 2 3 4 г 2 3 Длина отрезка % ($)* *<2) 25 13 13 9 К C) # D) е E) 26 19 12 17 6 6 4 *) 8{$) является длиной максимального отрезка из последовательных нулей, который можно вставить в произвольный л-мерный вектор —шум 5-кратной ошиб- ошибки при последовательном применении перестановки ©->2со(тос1 л). Если к<е(е), то группа, порожденная Перестановками Г и С/, содержит Последовательность перестановок, позволяющую применять перестановочное декодирование к (п, к, ^алфавиту. Операции на ШМ-7090 выполняются последовательно, и эта приводит к замедлению при моделировании вычислений прове- 1) Берлекамп показал, что на самом деле для декодирования необходима только последовательность из 40 перестановок.
Перестановочное декодирование систематических кодов 45 рок на соответствие. Из логической диаграммы видно, что чрезвычайно удобно расчленить кодирующее устройство на че- четыре параллельные части, каждая из которых содержит ре- регистр, способный осуществлять циклические перестановки, и 1 \Л/ —п 1/ 4 ГУ гз V) 1 ]Л/ — \А/1 уу *— кк с 1 // Г г 1 г «= с/ - • /-< -23 - • 1 ОС XV в ИТ, / # «ИИ ^О 1 ОС 1=23 \ ОС т( ^ в/ + / г<23 г = /77^; = 1*1 т/1А/) •— /ГЦ УУу уУ-1УТ, /«/+/ 1 =23 «• ,1<23 М/ = Расстояние а 1 ' \А/ Расстояние ос, УУ ХУ **<* Расстояние ос, IV | XV ^ос Расстояние а ' М^ Рис. 1. Логика декодера для B3, 12, 3)-алфавита. В прямоугольниках записаны инструкции типа .Фортран"; например, / ===== / -4— 1 означает ./ заме- заменить на 1-\-\*. кодирующее устройство для проверок на соответствие. Эта идея может быть использована для ускорения процедуры декоди- декодирования любого циклического кода.
Таблица 4 Процедура декодирования для B3, 12, 3)-алфавк?а Проверки на соответствие *) Расстояние V %)Т %)Т22 VII ь1РТ» а1Т^Т22 а 3 0 2 3 0 2 3 4 0 0 2 0 0 8 0 5 4 4 5 4 4 5 6 1 1 5 9 1 9 3 7 6 6 6 6 5 6 7 3 3 6 10 10 10 5 И 8 10 7 7 6 7 8 4 4 9 11 11 12 11 13 12 12 10 8 9 10 11 8 8 12 13 12 13 13 14 14 13 13 11 12 11 12 9 9 14 14 14 16 15 15 15 14 14 14 13 12 13 10 10 16 17 15 17 18 18 16 17 15 15 14 14 15 15 12 18 18 18 18 19 19 19 18 17 16 16 15 16 17 15 20 19 19 20 20 20 20 19 19 18 18 19 20 18 18 21 21 20 21 21 21 21 20 21 20 20 20 21 19 19< 22 22 21 22 22 22 22 21 22 22 21 21 22 22 3 5 7 И 13 16 18 21 0 4 6 8 16 18 19 2 4 6 10 12 15 17 20 3 5 6 7 10 12 15 16 17 19 20 0 4 6 7 8 11 12 13 14 20 21 22 2 4 5 6 9 13 14 17 18 19 21 22 3 5 6 7 10 И 12 13 19 20 21 22 4 6 7 9 И 13 16 17 18 20 21 .0 13 4 8 9 10 12 15 18 19 6 7 6 7 6 6 4 5 3 *) Числа указывают номера позиций последовательности длины 23, в которых стоят единицы. Например, первая последовательность V имеет вид: 00010101000101110011111.
Перестановочное декодирование систематических кодов 47 III. Оценка перестановочного декодирования с точки зрения контроля ошибок Перестановочное декодирование (/г, й, е) -алфавита Л лю- любую полученную последовательность V отображает в ближай- ближайшую букву из Л при условии, что эта буква единственна. Это» происходит в том случае, когда V лежит на расстоянии 4е от некоторой буквы из <А. Если V находится иа расстоянии > е от любой буквы алфавита, декодер обнаружит ошибку, но не сможет скорректировать ее1). Декодер может также делать ошибки. Если / — шумовая последовательность, имеющая больше чем е единиц, и а — пе- переданная буква, то полученная последовательность а+1 может лежать на расстоянии ^е от некоторой другой буквы а! алфа- алфавита Л. При этом декодер интерпретирует а+! как а'. Шумо- Шумовые последовательности, которые приводят к такому непра- неправильному декодированию, характеризуются следующей теоре- теоремой. Теорема 2. Шумовыми последовательностями, приводя- приводящими декодер к неправильным «коррекциям», являются в точ- точности те последовательности веса >е, которые лежат на рас- расстоянии г*Се от некоторой буквы из Ж. Доказательство. Пусть \ последовательность веса такая, что / = Р + /', Р 6<^, и /' имеет вес <^е. Тогда для любой переданной буквы а и декодер интерпретирует а+! как а+р. Обратно, предполо- предположим, что I — такая шумовая последовательность, для которой а + / декодируется как а'фа. Тогда а+/=а/ + /7, а! ^Л, /' имеет вес ^Се и 1 = а' — а+^. Следовательно, / находится на расстоянии ^ е от буквы а' — а алфавита Л. Обозначим через А ($), 5 = 0, 1, ..., /г, число букв веса 5 в ал- алфавите <А, а через С ($), 5=0, 1, ..., л, — число последователь- последовательностей веса 5 в пространстве Уп, находящихся на расстоянии *Се от букв алфавита Л. Тогда С (8) однозначно определяется через А (з) с помощью простых вычислений по точным форму- !) Соблазнительно, конечно, потребовать, чтобы в случае такого обна- обнаружения декодер посылал запрос для ретрансляции. Однако идея эта со- сомнительна, так как вообще не следует использовать коррекцию ошибок при декодировании, если возможна коррекция ошибок методом обнаружения с последующей ретрансляцией. Поэтому мы предположим, что ретрансляция чрезвычайно трудно выполнима, если не полностью невозможна.
48 Дж. Мак-Вильяме лам, приведенным в приложении В. Для некоторых бинарных циклических алфавитов значения А (з) приведены в табл. 5, а значения С(з) —в табл. 6. Для $ ^ е ^E) = ($) и является числом последователь- последовательностей веса 5, которые правильно корректируются декодером. Для 5 > е С(з) является числом последовательностей веса 5, которые неправильно корректируются декодером. Обозначим через О(з), $ = #+1, ..., л, число таких последо- последовательностей веса 5, что декодер обнаруживает соответствую- соответствующие ошибки, но не корректирует их. Очевидно, что п(з)=0 для 5<еи О (з) = (п$] — С (з) для $ > е. Пусть РЕ означает вероятность того, что полученная по- последовательность неправильно «скорректирована» в декодере, <а Рг> — вероятность того, что в полученной последовательности обнаружена ошибка, но не скорректирована. Рассмотрим би- бинарный симметричный канал без памяти с вероятностью р иска- искажения сигнала. Тогда вероятность некоторой конкретной 5-крат- 5-кратной ошибки в блоке длины п не зависит от ее конкретного местонахождения и равна р8A—р)п~8. Следовательно, -\ . С.)= 2 С(з)р*(\-р)п РО(Б. С.) = Необходимо отметить, что если используется обнаружение с ретрансляцией, то вероятность необнаруженных ошибок равна п или с1 = Эта сумма начинается с того номера 5 E > 0), для которого А(з) > 0, т. е. с з = 2е+1 или 5 = 2^+2. Очевидно, что при зна- значениях пир, принятых для использования в Ве11 Зу81ет, кор- коррекция ошибок с помощью обнаружения и ретрансляции является более предпочтительной схемой. В табл. 7 для некоторых алфавитов приведены значения вероятностей РВ(Б.С.) и Рд(Б.С), причем в качестве р взята величина 3,22Х10~5, равная частоте ошибок телефонной сети согласно данным Александера, Гриба и Наста (см. [5]). Все алфавиты, за исключением первого и последнего, вхо- входят в табл. 5, 6 и 7 парами. Второй алфавит каждой пары содержит буквы первого алфавита, имеющие четный вес. Для
Таблица 5 Значения Л(«) п> к, е 8 0 11 12 15 16 19 20 23 24 27 28 31 32 35 36 47 47, 24, 5 АE)/47 1/47 92 276 3 795 7590 35420 49 588 81720 81720 49588 35420 7590 3795 276 92 1/47 • 0 5 6 7 а 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 31 31, 21, 2 Л(*)/31 1/31 7 27 75 245 655 1387 2640 4480 6510 8 310 9 489 9 489 8310 6 510 4480 2640 1387 655 245 75 27 7 1/31 31, 20, 2 Л(*)/31 1/31 0 27 0 245 0 1387 0 4480 0 8310 0 9 489 0 6 510 0 2640 0 655 0 75 0 7 0 0 7 8 И 12 15 16 19 20 23 24 31 31, 16, 3 у 1/31 5 15 168 280 589 589 280 168 15 5 1/31 31, 15, 3 А(*)/31 1/31 0 15 0 280 0 589 0 168 0 5 0 п, к, е 5 0 7 8 И 12 15 16 23 23, 12, 3 лиугз 1/23 11 22 56 56 22 11 1/23 23, 11, 3 Л(*)/23 1/23 0 22 0 56 0 И 0 Р 5 6 7 8 9 10 И 12 13 14 15 16 21 21, 12, 2 А(з) 1 21 168 360 210 280 1008 1008 280 210 360 168 21 1 21, 11,2 1 0 168 0 210 0 1008 0 280 0 360 0 21 0 0 5 6 7 8 9 10 11 12 17 A7, 9, 2) А (*) 1 34 68 68 85 85 68 68 34 1 A7, 8, 2) А{з) о 1 6$ 0 85 0 68 0 34 0 0 5 6 7 8 9 10 15 A5, 7, 2) А(з) г 18 30 150 150 30 18 1 4 ?ак. 1622
Значения С ($) Таблица 6 п, к, е 5=1 2 3 4 5 6 7 8 9 10 И 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 47, 24, 5*) С E) = 47 1081 16215 178365 1533939 1997688 11700743 58503719 253516120 1094459500 3681363800 10764415000 28981118000 70307802000 154677160000 310193350000 565646700000 942103590000 1437947500000 2012287600000 2587226900000 3059047600000 3325051800000 4- симметричные члены 31, 21, 2*) 31 465 2170 13640 82274 360964 1276115 3829585 9788250 21506932 41087771 68535730 100106900 128661310 145890120 145890120 128661310 100106900 68535730 41087771 21506932 9788250 3829585 1276115 360964 82274 13640 2170 465 31 1 31, 20, 2 31 465 0 12555 5022 339047 81685 3591040 604655 20159981 2569497 64275400 6245260 120616350 9085914 136804210 8044965 93861645 4260330 38518275 1346950 9183595 238545 1194430 21917 77252 1085 2170 0 0 0 31, 16, 3 31 465 4495 5425 29295 92225 329375 1248525 3190675 6790333 12963363 21284445 31108034 40561485 45969682 45969682 40561485 31108034 21284445 12963363 6790333 3190675 1248525 329375 92225 29295 5425 4495 465 31 1 31, 15, 3 31 465 4495 а 26040 13020 303180 86025 2861455 690525 11812395 1987720 28201320 3675360 41569263 4400419 36886124 2906715 19296724 1150968 6099808 329220 1162500 26195 79205 33255 5425 0 0 0 0 *) Таблица просчитана с точностью до восьмой значащей цифры.
Перестановочное декодирование систематических кодов 51 Продолжение п, к, е «-1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 23, 12, 3 С(з) =23 253 1771 8855 33649 100947 245157 490314 817190 1144066 1352078 1352078 1144066 817190 490314 245157 100947 33649 8855 1771 253 23 1 23, 11, 3 23 253 1771 0 28336 14168 216568 61226 715990 138138 1180774 171304 1005928 101200 429088 28589 86779 5313 8855 0 0 0 0 21, 12, 2 21 210 210 2625 10269 24024 52440 92610 131530 161196 161196 131530 92610 52440 24024 10269 2625 210 210 21 1 21, 11, 2 21 210 0 2520 1008 21168 4200 85050 12810 146748 14448 118720 7560 48240 2856 9261 105 210 0 0 17, 9, 2 17 136 340 1190 3910 7820 11560 14450 14450 11560 7820 3910 1190 340 136 17 1 17, 8, 2 17 136 0 1020 408 6936 1428 13005 1445 10132 884 3502 170 340 0 0 0 15, 7, 2 15 105 180 540 1413 2355 3135 3135 2355 1413 540 180 105 15 1 второго алфавита С(е+1) равна нулю, поскольку его мини- минимальное расстояние равно 2е + 2. Иными словами, обнаружи- обнаруживается любая ошибка веса е+1. В тех случаях, когда это важ- важно, более выгодно использовать второй алфавит. Вероятности ошибок, приведенные в табл. 7, являются фан- фантастически малыми, что, к сожалению, справедливо лишь для бинарного симметричного канала. В реальных телефонных ка- каналах дело обстоит совсем иначе. Пусть Р($, п) обозначает вероятность 5-кратной ошибки в п последовательных позициях. [Для бинарного симметричного канала ЯE, #) = (л/^О—/О""*-] Для телефонной сети таб- таблица величин Р(зу п) составлена по данным Александера, Гри- Гриба и Наста. Каждая ошибка веса >е в перестановочном декодере либо обнаруживается, либо корректируется неправильно.
Дж. Мак-Вильяме Таблица 7 Вероятность ошибок для бинарного симметричного канала л, Л, е 47. 24. б 31. 21. 2 31. 20. 2 31. 16. 3 31, 15. 3 23. 12, 3 23, 11, 3 21. 12, 2 21. И, 2 17, 9. 2 17, 8, 2 15, 7, 2 РЕ 2.23 X Ю1 7.23 X Ю1 1.342ХЮ"2 5,83 X Ю~15 9,01 X Ю9 9,59 X Ю~15 9,81 X Ю"~19 7,00 ХЮ~12 2,70 X Ю5 . 4.54 X Ю2 1,11 X Ю~13 6.092 ХИТ12 ро 4.56 X Ю " 20 0,77 X Ю ~0 1,50 X Ю ~10 2,80 X Ю ~14 3,38 X Ю ~14 0 9.59ХЮ"5 3,72 X Ю "п 4,42 X Ю "п 1,80 X Ю "п 2,27 X Ю~ п 1,078 X Ю0 РЕ+РО 4.78ХЮ"0 1,50 X Ю ~10 1,50Х100 3,38 X Ю4 3,38 X Ю" 14 9,59 X Ю ~15 *> 9,59 X Ю ~15 4,42 X Ю "п 4,42 X Ю "п 2,27 X Ю" п 2,27 X Ю "п 1.078ХЮ0 *) Рассматриваемый алфавит является плотноупакованным: каждая последовательность из 23 бинарных цифр находится на расстоянии < 3 от некоторой буквы алфавита. Следовательно, п з=е+\ . я). Получить точные формулы для величин РЕ и Рв в отдель- отдельности в случае телефонной сети невозможно. Используя метод, предложенный в работе [5], удается получить приближенные формулы п . с.)= п Р E, П) Эти числа были просчитаны и соответствующие значения приведены в табл. 8. Приведенные данные ясно показывают, что в канале, описанном по данным Александера, Гриба и Наста, частота ошибок на слово после коррекции ошибок
Перестановочное декодирование систематических кодов больше частоты ошибок на символ при передаче без всякого- кодирования. Частоты ошибок, приведенные в табл. 8, конечно, не позво- позволяют сделать точные выводы. Исследование величин Р($, п) Таблица & Частоты ошибок для телефонной сети *) л, к, е 47. 24. 31. 21. 31. 20. 31, 16. 31. 15. 23. 12. 23. 11. 21. 12. 21. 11. 17. 9. 17. 8. 15. 7. 5 2 2 3 3 3 3 2 2 2 2 2 4.65 3.17 1.23 7.34 3.06 3,69 1.62 1.82 8.72 2.36 0.98 1.83 РЕ хит6 ХЮ хит5 ХЮ ХЮ ХЮ хкг5 ХЮ ХЮ ХЮ ХЮ ХЮ 3.51 3.73 6.67 3.99 4.41 2.17 3.13 4.18 1,89 3.27 2.0 ро ХЮ ХЮ ХЮ ХЮ ХЮ 0 ХЮ ХЮ ХЮ ХЮ ХЮ ХЮ 4.08 6.9 6.9 4.72 4.72 3.69 3.69 5.05 5,05 4.25 4.25 3.83 X X X X X X X X X X X X ро 10~5 10~5 10~5 10~5 10~5 10~5 КГ5 1(Г5 10~5 10 10~5 10~5 *\ и Р[) имеют приближенное значение, а Р]?-\- Рр— точное. для некоторых частных случаев показывает, что примерно в по- половине из тех случаев, в которых встречались ошибки, послед- последние были бы успешно скорректированы с помощью перестано- перестановочного декодирования. ЗАКЛЮЧЕНИЕ Перестановочное декодирование является простой и удоб- удобной схемой коррекции ошибок без ретрансляции. Особенно его целесообразно применять для алфавитов с большой избыточ- избыточностью. Подобно любой аналогичной схеме, перестановочное декодирование приводит к значительно большему числу оши- ошибок декодирования, чем коррекция с помощью обнаружения и ретрансляции, но оно вполне пригодно для каналов, в которых.
54 Дж. Мак-В иль ямс Р(з, п) быстро убывает с ростом 5. Перестановочное декодиро- декодирование имеет весьма сомнительную ценность для телефонной сети, описанной по данным Александера, Гриба и Наста. ПРИЛОЖЕНИЕ А ИДЕМПОТЕНТЫ И АВТОМОРФИЗМЫ ЦИКЛИЧЕСКИХ КОДОВ Приведем прежде всего краткую сводку свойств циклических 1КОДОВ. Пусть V — конечное поле характеристики ц. Обозначим че- через Vй прямую сумму п образцов V. Обозначим через У\у] кольцо полиномов от у над полем V. Пусть V[х]=* V[у]1(уп — 1) — кольцо классов вычетов кольца У[у] по модулю уп—1. У[х] содержит все полиномы степени -^п — 1 с коэффициентами из поля V. Сложение полиномов выполняется как обычно; для умножения двух полиномов про- производят обычное умножение, а затем показатели берутся по мо- модулю п. Подмножество Л полиномов из ]/[х] называется идеалом, «если 2) Полином полностью определяется своими коэффициентами, ято позволяет фактически отождествить У[х] с V71. Однако удобно рассматривать полином и последовательность его коэф- коэффициентов как отдельные % объекты, связанные взаимно одно- однозначным соответствием ао+«1^+ ... +ап_ххп-1 ^± а0, аь ..., ап_г. Согласно свойству A), каждый идеал в У[х] является линей- линейным подпространством в Vй. Это подпространство, согласно свойству B), инвариантно относительно циклической переста- перестановки координат и, следовательно, является циклическим алфа- алфавитом в Vй. Обратно, каждый циклический алфавит в Vй обра- образует идеал в У[х]. Мы будем обозначать идеал и алфавит одной и той же буквой Л. Кольцо У[х] можно рассматривать как групповую алгебру циклической группы 1, х, ..., хп~1 над V. При условии, что у не делит п, групповая алгебра является полупростой ([6], разд. 10.8). В этом случае, как известно, каждый идеал со-
Перестановочное декодирование систематических кодов 55» держит полином е, обладающий следующими свойствами: 1) е является идемпотентом 2) е является единицей в Л (а€<А=$ае — а); 3) е порождает Л {Л состоит из всех полино мов \е, /6^ то- тополином е называется порождающим идемпотентом Ж. Автоморфизмом а кольца У[х] называется такое взаимно однозначное отображение У[х] на себя, которое сохраняет как сложение, так и умножение. Если *у2» ^гб^М» т0 а = Лемма 1.1. Идеал <Л инвариантен относительно автомор- автоморфизма о кольца У[х] тогда и только тогда, когда о сохраняет порождающий идемпотент е идеала Ж Доказательство. Предположим, что а сохраняет е. То- Тогда с^а=У[ф еа=У[фб=1 Предположим, что Л инвариантен относительно а. Тогда ео 6<^ и еое = еа согласно свойству B). Пусть Ъ — такой элемент из Л, что Ьо=е. Тогда еое = еоЬо = (еЬ) о = Ьв = е. Следовательно, е = еое = еа, и а сохраняет е. Лемма 1.2. Если ц (характеристика V) взаимно проста с п (длина блока алфавита Л), то отображение о:х{-*х19 является автоморфизмом V [х]. Доказательство. Очевидно, что рассматриваемое ото- отображение сохраняет сложение и умножение. Необходимо только доказать его взаимную однозначность. Если х{я=х^, то (/ — /)<7 = 0(тос1 п). Так как ц и п — взаимно простые числа, то из этого вытекает, что {г — /) = еО(гтюс[ п), или х{~хК Это и доказывает лемму. Теорема 1.3. Если д и п взаимно просты, то каждый идеал в У[х] инвариантен относительно отображения о :
56 Дж. Мак-Вильяме Доказательство. Пусть Л—некоторый идеал в У[х] и п =2 <*{Х* — его порождающий идемпотент. п I п \я так как ц является характеристикой V. Имеем е = е2 = е3=... ... = е?, следовательно, а сохраняет е, и в силу лемм 1.1 и 1.2 Л инвариантен относительно а. Обозначим через 0, 1, ..., п — 1 координаты Vй. Тогда ото- отображению о: х{ —> х*ч в У[х] соответствует перестановка Иц : со —> цы координат Vй. Следствие. Каждый бинарный циклический алфавит с нечетной длиной блока инвариантен относительно переста- перестановки <7 : со —► 2оз. Это и есть теорема 1 разд. II. Приведенное здесь доказа- доказательство ее использует более обширный аппарат, чем это тре- требуется для доказательства теоремы 1. Это сделано с целью обращения внимания на лемму 1.1, указывающую методы на- нахождения других автоморфизмов У[х], сохраняющих некоторые циклические алфавиты. ПРИЛОЖЕНИЕ В РАСПРЕДЕЛЕНИЕ ВЕСОВ В СМЕЖНЫХ КЛАССАХ ГРУППОВОГО КОДА Пусть <Л — бинарный (/г, к, е) -алфавит и пусть 35 — орто- ортогональное дополнение (двойственный алфавит) Л в Vй. Пусть АA) и ВA) обозначают число букв веса /в Л и 35 соответ- соответственно. Величины АA) и ВA) связаны производящей функ- функцией 2 АA) (\+г)п'1(\ —гI = 2* ^ВA)г1. Так как АA) известно, то из этого соотношения можно под- подсчитать ВA). Положим Пусть С E, /) означает число последовательностей в Vй веса 5, находящихся на расстоянии ; от некоторой буквы алфавита А
Перестановочное декодирование систематических кодов 57 Тогда для /^е С($, /) и ВЦ) связаны производящей функ- функцией 2 /=0 Так как ВA) и я|)(/, /) известны, то из этого соотношения можно найти С E, /). Очевидно, что 2 ./=0 Л ИТЕРАТУРА 1. &1ер!ап О., А С1азз о! Втагу 51дпаНп§г А1рпаЬе1з, В. 5. Т. Л, 35,. A956), 634. (Русский перевод: Слеп ян Д., Класс двоичных сиг- сигнальных алфавитов, сб. Теория передачи сообщений, ИЛ, 1957.) 2. N е и т а п п Р. О., А 1Мо1е оп СусНс Регт^а11оп Еггог-Соггес^^п^ Сойез^ 1п}огтаИоп апй Согйгог, 5 A962), 72. (Русский перевод: сб. Теория кодирования, «Мир», М., 1964, 65—82.) 3. Р г а п ^ е Е., ТЬе 1Лзе оГ 1пГогта1юп 5е(з 1П Оесо(Ип^ СусНс Сойез, 1Я.Е Тгапв., 1Т-8 A962), 5—9. 4. Р г а п д е Е., Ап А1^оп(Ьт Гог Рас1опп§ хп — 1 оуег а р1пИе Р1е1A, А1Г Рогсе СатЬп^е КезеагсЬ Сеп^ег, АРСКС-ТЫ-59—775. 5. Е11! о 11: Е., Ез^^та^ез оГ Еггог Ка{ез Гог Сойез оп ВигзЬМо1зе СЬаппе1з^ В.8.Т.1., 42 A963), 1977. 6. С и г ^ 1 з С. \\Л, К е 1 п е г I., КергезепЫюп ТЬеогу оГ р1пйе Огоирз апд Аззос1акA А1^еЬгаз, 1^егзс1епсе РиЬНзЬегз, Ые^ Уогк, 1962. 7. МасШИПатз Л., А. ТЬеогет оп Ше ^^з^г^Ьи^^оп о! \Уе1§Мз 1п а 5уз^е• та«с Сойе, В.8.Т.1., 42 A963), 79
Циклически перестановочные самокорректирующиеся коды') Э. Гилберт В асинхронных мультиплексных системах в одной и той же полосе час- частот радиоволн одновременно идет передача нескольких разговоров, каждый из которых использует различную последовательность импульсов в качестве «носителя». При синтезе хорошего списка допустимых последовательностей импульсов возникает любопытная задача, аналогичная некоторым задачам теории самокорректирующихся кодов. Искомое кодирование использует двоичные наборы длины N (кодовые слова), в которых большинство разрядов равно нулю. Кроме того, расстояние Хэмминга между любым кодовым словом и всеми циклическими перестанов- перестановками остальных кодовых слов должно превышать заданное минимальное значение. Кодовые слова, найденные при этом, легко могут быть порождены регистром сдвига. ВВЕДЕНИЕ Путем асинхронного уплотнения система рассеянных (на- (например, подвижных) станций может сообщаться одна с другой одновременно по общему радиочастотному каналу ([10, 6, 9, 4]). Сигналы идут прямо от одной станции к другой без проме- промежуточного центрального устройства, осуществляющего конт- контроль или такое распределение, при котором не происходит интерференции. Каждая передающая станция испускает харак- характерную последовательность импульсов, однозначно соответ- соответствующую этой станции. Принимающая станция должна рас- распознавать этот поток импульсов и отделять его от импульсов, предназначенных для других станций. Поток импульсов для .заданного приемника представляет собой фиксированную на- наперед заданную последовательность, или кодовое слово. Для того чтобы передавать сообщение не только для простого ото- отождествления, можно модулировать некоторые свойства потока импульсов (например, амплитуду импульсов).. Так как отсутствует центральное устройство, контролирую- контролирующее все станции, то нет и центральных часов, устанавливающих ) 011Ь е г \ Е. N.. СусНсаНу репшйаЫе еггог-соггес{т& соёез, 1ЕЕВ 7гапзасНопз оп 1п\оттаИоп гкеогу, 1Т-9, № 3 A963), 175—182,
Циклически перестановочные самокорректирующиеся коды синхронность передатчика и той станции, которую он вызывает (отсюда название асинхронное уплотнение). Из-за отсутствия синхронности и возникает задача распознавания приемником потока импульсов. Приемник должен распознать свой собствен* ный поток импульсов, если фаза этого потока импульсов неиз- неизвестна. Задача, которую мы рассмотрим в этой статье, касается синтеза соответствующих потоков импульсов. Эти потоки пред- представляют собой двоичные последовательности периода N. Что- Чтобы интерференция между станциями оставалась маленькой, не- необходимо ограничить сверху число единиц (представляющих импульсы) в каждом периоде потока импульсов. Кроме того, список допустимых потоков импульсов будет обладать некото- некоторого рода способностью исправлять ошибки. Для некоторого* числа 5 никакие два различных потока импульсов не могут различаться менее чем в 5 из N позиций периода. Чтобы сравнить два потока импульсов, нужно исследовать каждую из N возможных относительных фаз. Решение, которое предлагается здесь, использует цикличе- циклический код (см. Питерсон [5], гл. 8), у которого каждая пара ко- кодовых слов различается по крайней мере в 5 позициях. Из такого кода выбирается меньший список кодовых слов, не со- содержащий ни одной пары слов, получающихся друг из друга циклической перестановкой. Повторяя кодовые слова из этоп> меньшего списка, мы получим периодические последователь- последовательности, пригодные для потоков импульсов. Таким образом, за- задача сводится к построению циклических самокорректирую- самокорректирующихся кодов при дополнительном ограничении на вес кодовых, слов. Эту задачу предложил автору М. Карно. Для его целей нужны были кодовые слова для нескольких тысяч станций. В одном из типичных решений, предлагаемых в настоящей ра- работе, 2475 станций обслуживаются потоками импульсов с пе- периодом N = 231, разделением 5=12 и с 24 единицами в каждом периоде. КОДИРОВАНИЯ Каждый сигнал, который подлежит передаче, представляет собой бесконечную двоичную последовательность с перио- периодом 1) N *) N не обязательно является наименьшим периодом последовательности {Х{}. Таким образом, эта последовательность может обладать также меньшим периодом, который является делителем N.
60 Э. Гилберт лолученную повторением двоичного слова длины А. —— Не предусматривается никакого соглашения между передат- передатчиком и приемником о моменте появления х0. Приемник не может отличит^ периодическую последовательность, получен- полученную путем повторения X, от последовательности, полученной пу- путем повторения или любой другой циклической перестановки /?2Х, /?3Х, ... ..., ^~{Х слова X. Таким образом, циклическая группа {1, /?, ..., #м~1} разбивает двоичные слова длины N на клас- классы эквивалентности неразличимых слов длины N. Если X и Х/— двоичные слова длины /V, то пусть й(Х, X') обозначает число индексов /(/==1, ..., М), для которых хг и х\ различны. Число й(Х, X') называется расстоянием Хэмминга |П] между X и Х\ Чтобы учитывать циклические перестановки, определим Число п(Х, X') зависит только от тех классов эквивалентности, к которым принадлежат X и X'. Будучи функцией классов экви- эквивалентности, оно удовлетворяет трем, аксиомам метрики. По- Поэтому О(Х, X') мы будем называть просто расстоянием между ХиХ'. Кодированием размера К называется список слов длины {кодовых слов) Хи ^2, ..., Хк. Числа называется разделением кодирования. Если некоторое кодиро- кодирование имеет разделение 5, то могут быть изменены по крайней мере 5 разрядов кодового слова внутри периода (# разрядов), прежде чем это слово станет эквивалентно другому кодовому слову. Следовательно, приемник может исправлять [E—1)/2] любых ошибок внутри одного периода (здесь квадратные скоб- скобки означают целую часть). Весом ш{Х) произвольного на- набора X длины N называется число разрядов л:*, которые равны 1. Циклический код (см. Питерсон [5], гл. 8) представляет ■собой список наборов длины Л^, таких, что все циклические пе- перестановки /?Х, /?2Х, ..., ^Х каждого набора X, входящегр в список, также входят в этот список. Каждый такой список может быть представлен в виде
Циклически перестановочные самокорректирующиеся коды 61 где -Л II ^2» Х$9 ' ' • — это слова циклического кода, которые неэквивалентны (ни- (никакие два различных набора Хи Х$ не являются циклическими перестановками друг друга). Теорема 0. Пусть Хи ..., Хк — неэквивалентные наборы длины Ы, принадлежащие циклическому коду, в котором рас- расстояние Хэмминга между любыми двумя наборами не меньше чем 50. Тогда {Хг, ..., Хк) представляет собой кодирование с разделением 8 > 5<>. Доказательство. Для любых /, /, таких, что Следовательно, Применяя теорему 0 к получению потоков импульсов из циклических кодов, в качестве Хи ..., Хк берут только слова с малым весом. Таким образом, очень важно знать число 1{ш) классов эквивалентности кодовых слов веса хю. Если известно число М(ш) кодовых слов веса т в циклическом коде, то так как каждый из I (ш) классов эквивалентности содержит не более N кодовых слов. Равенство имеет место в том случае, когда все М{хю) кодовых слов имеют наименьший период N (например, когда N — простое число и 1<^до-<Л^—1 или, в более общем случае, когда Л/иш взаимно просты). ЦИКЛИЧЕСКИЕ КОДЫ ХЭММИНГА Циклические коды Хэмминга (коды Хэмминга, исправляю- исправляющие единичную ошибку, сделанные циклическими соответствую- соответствующим размещением разрядов) образуют семейство, для которого распределение весов М{ш) известно; Питерсон [5] дает его в форме производящей функции
62 Э. Гилберт Явное выражение для М(хю) имеет вид если счетно, —(— если нечетно. Табл. 1 дает нижнюю оценку М(ху)/М величины 1(хю) для неко- некоторых малых значений N и хю. В этой таблице «3—» обозначает «число между 2 и 3». Табулированные числа в точности пред- представляют собой числа классов эквивалентности, когда N — про- простое число 7 или 31 и 1 -^ ш -^ N — 1. Таблица I Нижняя оценка числа неэквивалентных слов веса до в циклических кодах Хэмминга длины N XV Лг= 7 15 31 63 0 1 — 1 — 1 — 1 — 1 0 0 0 0 2 0 0 0 0 3 1 3 — б И — 4 1 7 35 155 б 0 12 — 168 1736 6 0 19 — 728 16782 — 7 1 — 29 2665 137291 — Так как циклические коды исправляют единичную ошибку, то кодовые слова в них отстоят друг от друга на расстояние 3. Таким образом, табл. 1 показывает, что возможны 1+5 + 35+] + 168+728 = 937 различных потоков импульсов с периодом 31> разделением 3, весом 6 или менее. Рассмотрим, с другой сто- стороны, только кодовые слова с четным весом в коде Хэмминга. Эти слова образуют код с расстоянием 4, обнаруживающий двойную ошибку. Табл. 1 показывает, что возможны 1+35 + + 728 = 764 потоков импульсов с периодом 31, разделением 4 и весом 6 или менее. ПОСЛЕДОВАТЕЛЬНОСТИ, ПОРОЖДАЕМЫЕ РЕГИСТРОМ СДВИГА Двоичная последовательность, удовлетворяющая линейному рекуррентному соотношению ••• (ШОA2) A) A -^ #1 < сц < • • • < Ь), называется последовательностью, поро- порождаемой регистром сдвига. Если A) имеет решения периода М, то множество всех наборов (хи ..., а:^) длины М, являющихся
Циклически перестановочные самокорректирующиеся коды 63 последовательными разрядами решения уравнения A), имею- имеющего период N. образует циклический код. Эти наборы длины N включают нулевой набор Уо = @, 0, ..., 0); ненулевые наборы длины N будем обозначать через У и У г, ... . Теорема 1. Пусть Хи ..., Хк — неэквивалентные наборы длины 1\1, состоящие из N последовательных разрядов решений уравнения A), имеющих период N. Тогда список {Хи ..., Хк} является кодированием с разделением 3 ^ 50 = гшп {ш (У4), Доказательство. Расстояние Хэмминга между любыми двумя различными членами У;, У$ циклического кода есть й(Уи У;) =йу(Уг + У;). Здесь Уг + У^ есть векторная сумма по той 2 элементов Уг- и У^ Так как соотношение A) линейно и однородно, то У{ + У] является некоторым третьим ненулевым ре- решением У и- Тогда ^(У;, ^)=гс;(У*) ^ 5<ь и мы можем приме- применить теорему 0. В качестве небольшого примера рассмотрим все решения периода Л^=9 рекуррентного соотношения хп+6=хп+з+хп- Имеются восемь классов эквивалентности решений; они приве- приведены в табл. 2. Любой выбор значения X из табл. 2 приводит к кодированию с разделением по меньшей мере два. Таблица 2 Вес 0 2 4 4 4 б б 6 Решение Х= лг/ для / и 1 0 1 1 1 1 1 1 1 2 0 0 1 0 0 1 1 1 3 0 0 0 1 0 1 1 1 4 0 1 1 1 1 1 0 1 ..., . 5 0 0 1 0 1 1 1 0 6 0 0 0 1 0 1 1 1 7 0 0 0 0 0 0 1 0 8 0 0 0 0 1 0 0 1 9 0 0 0 0 0 0 0 0 Возможное преимущество кодирования, построенного при помощи рекуррентного соотношения A), состоит в простоте по- получения сигналов. Сумматор по той 2 и линия задержки ре- регистра сдвига с Ь ступенями являются основными частями не- необходимого оборудования. В частности, так как Ь может быть намного меньше N. то возможна экономия по сравнению со схемами, в которых требуется запоминание всех N разрядов
64 Э. Гилберт периода. Кроме того, один и тот же передатчик может посы- посылать любой из К кодов. Чтобы послать Хь Ъ ячеек памяти регистра сдвига должны быть заполнены Ь последовательными разрядами Хи после чего передатчик будет бесконечно повто- повторять Х{. Возможный недостаток этой системы состоит в том, что единичная ошибка в передатчике может преобразовать по- поток импульсов в совершенно иной. СВЯЗЬ С КОДАМИ БЕЗ ЗАПЯТОЙ Код без запятой [2, 1] является списком кодовых слов дли- длины N. обладающим следующим специальным синхронизацион- синхронизационным свойством: для любой пары кодовых слов X = (включая пары, где Х=У) и целого числа йBКй^М) слово не является кодовым словом. Таким образом, блок из N после- последовательных разрядов, выделенный в сообщении, использующем код без запятой, лишь тогда совпадает с некоторым кодовым словом, когда он является передаваемым кодовым словом. Во многих примерах слова Хи ..., Хк из теоремы 1 обра- образуют коды без запятой. Асинхронное уплотнение не использует полностью свойства отсутствия запятой, потому что сообщение просто повторяет одно и то же кодовое слово. Однако, если важно хронометрирование, как это может быть в случае неко- некоторых способов модуляции потока импульсов, то свойство от- отсутствия запятой весьма полезно. В теореме 1 наборы Хи ..., Хк образуют код без запятой всякий раз, когда все эти наборы длины N получены из пе- периодических последовательностей с наименьшим периодом и, кроме того, М>26— 1. Действительно, рассмотрим набор определенный, как указано выше, с X и У, выбранными из спи- списка Хи Х2у ..., Хк. Так как Л^>26—1, по крайней мере один из элементов X, У совпадает с 2 в Ь или более разрядах. Пред- Предположим, что к ^6 + 1, так что 2 содержит к — 1^6 разря- разрядов У. Если бы набор 2 был кодовым словом, то периодическая последовательность, которая повторяет 2, должна была быть решением соотношения A). Тогда 2 и У можно было бы полу- получить из двух решений соотношения A), которые содержат по- последовательные разряды уи • • •> Уъ и поэтому отличаются друг от друга только циклической перестановкой: 2=#к-1У. Так как единственным кодовым словом, эквивалентным У, является У,
Циклически перестановочные самокорректирующиеся коды 65 то У=2=7?А-1У. Следовательно, У должен иметь период к — 1 < Ы, что приводит к противоречию. Подобно этому, легко показать, что 2 не может быть кодовым словом, содержащим Ь или более разрядов набора X (что имеет место в том случае, если к^Ь). ХАРАКТЕРИСТИЧЕСКИЙ МНОГОЧЛЕН Для того чтобы подобрать параметры аи а2, ..., Ь в соотно- соотношении A) для получения хорошего кодирования, нужно знать, каким образом эти параметры определяют 50 и список классов эквивалентности (как в табл. 2) или по. крайней мере распреде- распределение весов ш(Х). Чтобы исследовать эти свойства соотноше- соотношения A), определим следующим образом характеристический многочлен СA) рекуррентного соотношения A): Пример из табл. 2 имеет характеристический многочлен Н3 + ^6. Этот многочлен оказался неприводимым (т. е. он не может быть разложен в произведение многочленов меньших степеней над полем коэффициентов 0, 1). В том случае, когда многочлен С{1) неприводим, все «енулевые решения соотноше- соотношения A) имеют один и тот же наименьший период. Для много- многочлена 1+^3 + ^6 этот период равен девяти. Читатель может убе- убедиться, что никакое из семи ненулевых решений периода де- девять, приведенных в табл. 2, «е имеет меньшего периода. При- Приведенные решения содержат 7 • 9+ 1 =26 различных блоков из шести последовательных разрядов; таким образом, табл. 2 со- содержит все решения. В общем случае для неприводимого многочлена С{1) сте- степени Ъ и наименьшего периода р каждый из 2Ь — 1 ненулевых двоичных наборов длины Ь должен один раз появиться в ка- качестве блока из Ъ последовательных разрядов в некотором не- ненулевом решении соотношения A). Так как СA) неприводим, то каждое ненулевое решение имеет период р и каждый класс эквивалентности ненулевых решений содержит р различных бло- блоков из Ъ разрядов. Имеется в точности BЬ— 1)/р классов экви- эквивалентности ненулевых решений, которые нужно записать в виде таблицы, аналогичной табл. 2. Таким образом, период р и число классов ненулевых решений оба делят 2Ь—1. В част- частном случае р может быть равно 2Ь — 1 (как это, очевидно, бу- будет при 2Ь—1 простом), и тогда существует только одно не- ненулевое решение. Многочлен с периодом 2Ь — 1 называется при- примитивным.
66 Э. Гилберт Питерсон [5] приводит список неприводимых многочленов до 16-й степени включительно и дает достаточную информацию, благодаря которой легко получить периоды этих многочленов. Голомб, Велч и Хейлз [3] дают подобную информацию относи- относительно трехчленов (многочленов вида 1+/а + /ь) до 36-й сте- степени. Эти таблицы очень удобны для наших приложений. На- Например, чтобы получить кодирования с заданным значением Ы, нужно искать многочлен с периодом.р — N и со степенью, до- достаточно большой для получения соответствующего набора классов решений, из которых можно было бы выбрать Хи ... ..., Хк. К сожалению, нет простого способа предсказания ве- величины 50 из этих таблиц. Однако этот подход дает некоторые кодирования с малыми значениями N и К, которые можно ком- комбинировать с целью получения кодирований большего размера. НАСЛОЕНИЕ Если С является циклическим кодом, состоящим из двоич- двоичных наборов длины р, то циклический код- С, состоящий из наборов длины N. где Ы^Мр, может быть без труда построен при помощи наслоения кодовых слов из С по М штук. Код С состоит из всех иаборов (хи ..., Хп) длины Л/, таких, что ка- каждый набор длины р принадлежит коду С. Минимальное расстояние Хэмминга ме- между различными кодовыми словами в С равно минимальному расстоянию в С. Если кодовые слова из С порождаются регистром сдвига с многочленом С'A), то слова из С являются последователь- последовательностями, порождаемыми регистром сдвига с многочленом Теорема 2. Если С (г) = С'((м) для некоторого много члена С степени Ь/М, то для каждого г=0, 1, ..., М— 1 под последовательность Хп удовлетворяет рекуррентному соотношению с характеристиче ским многочленом С'A). Доказательство. Применяя алгоритм Евклида, напи шем п = пгМ+г, где остаток г есть одно из чисел 0, 1, ..., М — 1
Циклически перестановочные самокорректирующиеся коды 67 Тогда A) перейдет в Ущ+Ь/М ^^Ущ ' Ут+а{/М > Ут+а2/М~{- •••» B) где ут=Хтм+г- Характеристический многочлен этого рекуррент- рекуррентного соотношения имеет вид В случае 1+/3 + ^6 многочлен С'(/) равен 1+/+72. Рекур- Рекуррентное соотношение для С'A) есть ут+2=Ут+1+Уту которое имеет только нулевое решение и один класс ненулевых решений Г<1)=... 1101101... (многочлен С'(г) примитивен, потому что он неприводим и 22 — 1 =3 — простое число). Таким образом, как читатель может убедиться, каждое решение в табл. 2 состоит из трех наслоен- наслоенных последовательностей периода 3. Каждая из этих трех по- последовательностей эквивалентна либо УA), либо нулевой по- последовательности. Одно из ненулевых решений соотношения A) содержит У<!> только один раз. Кроме того, теорема 1. показывает, что 50 есть число единиц в одном периоде У*1), т. е. 50 = 2. В общем случае многочлен С'A) может иметь много раз- различных классов решений У<1>, У&\ .... Только решения У^\ имеющие период, который делит Ы/М (включая сам период Л^/М), комбинируются для составления решений X периода N для С (г). Все эти решения X представляют собой комбинации М решений У& с периодом, являющимся делителем Ы/М, на- наслоенных всеми возможными способами. В частности, некото- некоторые решения X содержат только одно ненулевое решение У<*). Таким образом, 50 есть наименьшее число единиц, которые по- появляются среди Ы/М последовательных разрядов ненулевого решения У& с периодом, делящим М/М. МАЛЫЕ КОДИРОВАНИЯ Наслоение переводит малые кодирования в большие. При этом остаются две проблемы. Одна из них состоит в нахожде- нахождении классов решений и распределения весов хю(Х) для много- многочленов С'(I) малых степеней. Вторая проблема, которую мы рассмотрим в следующем разделе, состоит в вычислении по за- заданному весу классов наслоенных решений. Для многочленов С7(/) достаточно малой степени Ь/=Ь/М возможно вычисление всех классов решений соотношения B) вручную. Каждый раз, когда найдено какое-либо решение, 5»
68 . Гилберт начальными значениями, используемыми для следующего реше- решения соотношения B), могут быть любые V разрядов, которые еще не появлялись последовательно ни в одном из найденных решений. Примитивные многочлены С'(г) особенно просты. Для них существует только один класс ненулевых решений; он имеет наименьший период р = 2ь' — 1. Все р возможных блоков из Ь' разрядов, не равных одновременно нулю, появляются в каче- качестве последовательных разрядов в этом решении. Эти р бло- блоков содержат вместе единиц. Так как каждая единица появляется в р блоках, то един- единственное ненулевое решение содержит (р + 1)/2 единиц в ка- каждом периоде из р разрядов. Если наслаиваются М решений для получения кодирования с Ы=Мр, то разделение 5 оказы- оказывается равным или более (р + 1)/2. Таблица 3 Сте- Степень 4 6 8 9 10 Непризодимый многочлен 1 «|» ^з _|_ р 1 _|_ г + г2 + га + г* 1 _|- г + *2 + *4 + ^6 + ^7 + ** Пери- Период р 5 9 21 17 73 33 Начальные значения 001, 356, 357, 377, 001 402, 406, 0572, 0264, 1463, 0716, 1513, 1777, 1171 (восьмеричные) СМ. -252, 276, 172, 076 404, 361, 0666, 0402, 1111, 1403, 1717, 0776, 12, 18 табл. 17 1 01 52, 77 020, 155, 216, 410 362 1205, 0512, 0314, 1375, 1061, 0462, 206 203, 162 1001, 0060, 1315, 1607, 0170, 1667, 212 ОНО 1265 1572 0606 0374 0204 Число единиц в пе- периоде 2 4 8 12 6 8 10 12 28 36 40 12 14 16 18 18 20 22
Циклически перестановочные самокорректирующиеся коды, 69 В табл. 3 представлены классы ненулевых решений для не- некоторых неприводимых многочленов малых степеней. Для эко- экономии места в этой таблице не даны полные периоды каждого класса решений. Однако в ней дан блок разрядов, используемый в качестве начальных значений для вычисления решений из B). Каждый блок задан в восьмеричной записи. Например, восьме- восьмеричное число 12 изображает одно из начальных условий для многочлена степени 4. Чтобы получить хи ..., #4, переведем восьмеричную запись 12 ( = 8 + 2) в двоичную 001010 и из по- последних четырех разрядов получаем Я1 = я3=1, х2=Хгк = 0. Два или более восьмеричных чисел расположены в таблице на одной и той же линии, если они изображают различные классы реше- решений, имеющие одинаковый вес. Если многочлен С'(/) степени Ъ' приводится в табл. 3, то двойственный многочлен 1Ь'С (\\1) не приводится. Решения двой- двойственного многочлена представляют собой обращенные реше- решения многочлена С'A). В табл. 3 также опущены примитивные многочлены, так как они всегда имеют период р = 2ы— 1 и со- содержат (р +1)/2 единиц. За исключением этих случаев, табл. 3 является полной для неприводимых многочленов степени <17. Некоторые изолированные классы степеней 8, 9 и 10 также представлены в этой таблице. ПЕРЕЧИСЛЕНИЕ КЛАССОВ Предположим теперь, что известны все классы слов для циклического кода С Пусть слова из С наслаиваются по М штук для получения циклического кода С. Построить все слова из С и рассортировать их по классам — это трудоемкая работа. Однако и без построения С можно найти число 1(ш) классов слов веса т и исходя из этого предсказать, насколько С будет хорошим в качестве источника потоков импульсов. Чтобы не усложнять формулы, предположим, что С содер- содержит нулевое слово @, ..., 0) и что все остальные слова из С' имеют одинаковый наименьший период р. Например, С может порождаться линейным рекуррентным соотношением с неприво- неприводимым многочленом С'A). Все слова из С имеют период Мр (возможно, что этот период не наименьший). Пусть С есть число различных классов ненулевых слов из С'. Пусть К<°> = @, 0, ..., 0), * :==\У\'> У 2* • • '» Ур)у • ••••••••• = {у?,
70 Э. Гилберт представляют собой наборы длины р, состоящие из последова- последовательных разрядов слов кода С, принадлежащих различным классам. Для каждого значения г=0, ..., М—1 ровно р разрядов X =(хг, хм+п ..., Х(Р-\)м+г) C) слова X, принадлежащего С, должны быть циклической пере- перестановкой одного из У<*>. Рассмотрим лишь те слова X, в которых для * = 0, 1, ... С? ровно к{ из ХМ являются циклическими перестановками У(г). Обозначим число классов таких слов через 1(кОу ки . . ., /(до) есть сумма /(Ао, ки ..., ко), взятая по тем разбиениям для которых Так как каждое У^\ где I > 0, обладает р различными цик- циклическими перестановками, то существует ~Ъ I ъ \ Ъ Г Р ^ / /г01 лг I ... *01 слов, распадающихся на /(&ь ..., йд) классов. Из того, что существует только один класс, содержащий ну- нулевое слово, следует, что /(Л4, 0, ..., 0) = 1. В следующих раз- разделах мы будем рассматривать ненулевые слова и поэтому предположим, что к0 < М. Если X есть слово с наименьшим периодом ц, то класс, со- содержащий X, состоит просто из ц слов X, ИХ, ..., №~ХХ. Ос- Основная трудность в вычислении классов состоит в том, что слова не обязаны иметь одинаковый наименьший период. Поэтому классы могут иметь различные размеры. Простейший случай возникает, когда все ненулевые слова из С имеют один и тот же наименьший период (например, в случае регистра сдвига, где СA)=С(гм) — неприводимый мно- многочлен). Этот общий период должен быть равен Мр (например, набор У1, наслоенный с М — 1 экземплярами У<°>, имеет наи- наименьший период Мр). Все классы содержат Мр слов; /(/г0, ... ,.., ко) есть число слов D), деленное на Мр, В общем случав имеет место следующий результат. Теорема 3. (М/Д)!/>(Л1-Л")/А
Циклически перестановочные самокорректирующиеся коды 71 где сумма берется по всем числам Д, взаимно простым ери являющихся общими делителями чисел к0, ки ..., &<? и М. Член ф(А) в теореме 3 является функцией Эйлера. Прежде чем доказывать равенство E), приведем для иллюстрации сле- следующий пример. Условия, накладываемые на Д, настолько строгие, что сумма E) обычно содержит только небольшое число членов. Сумми- Суммирование чисел /Fо, &ь • • •» к>о) по разбиениям числа М с целью получения общего числа ](хю) классов веса хю не представляет труда, если М мало. Например, рассмотрим многочлен где С'A) ==/10 + /9 + /5 + /+1. В соответствии с табл. 3 многочлен СA) будет пригоден для кодов с периодом А1р = бХЗЗ=198 и с разделением 12. Чтобы найти число /B8) кодов с весом 28, отметим, что все такие коды получаются путем наслоения двух ненулевых решений У^\ УМ уравнения С'(/) и четырех нулевых решений У<°>. При этом либо У<1"> и УМ имеют веса 12 и 16, либо уо и У<Л> оба имеют вес 14. В первом случае 60=4, йг-=1, 6/1=1 и остальные к равны нулю. Для этих значений 60, . •., кц в соотношении E) имеетей только один член Д = 1 и ^(к^^ ..., ^/== 9з" 411111 == Так как и У(г), и У<Л) может быть одним из пяти решений с весом 12 и 16, то имеется 25x165 = 4125 классов решений этого типа. Во втором случае, когда оба УФ и У(Л> имеют вес 14, У<*> и У<Л) могут быть выбраны либо равными, либо различными. Если они различны, то опять мы имеем 165 неэквивалентных способов наслоения У&\ У<Ы и четырех экземпляров У(°). Так как имеется 5 различных решений веса 14, то существует = 10 способов выбора различных УЮ и УМ. Эти 10 спосо- способов порождают в целом 1650 классов решений. Наконец, если У@ и УМ являются одним и тем же решением веса 14, тогда &о=4, 6* = 2, а все остальные к равны нулю. В этом случае Л в соотношении E) может быть равно 1 или 2 и . ., — х >6!332 I 3!3311_оо 198 \ 4121 ' 211!) — Пять возможных способов выбора У<г*> и У<Л), где У(*> и У<Л> представляют собой одно и то же решение веса 14, поро- порождают всего 5Х83=»415 классов решений. Общее число классов
72 Э. Гилберт решений веса 28 при всех разбиениях 60, &ь • • •» &<?» принимае- принимаемых во внимание, равно У B8) = 4125 Н- 1650-+- 415 == 6190. В столбцах табл. 4 представлены результаты вычислений значений функции 1(хю) для других многочленов С(/)=С'(/М). В каждом случае многочлен С'(г) либо примитивен, либо яв- является многочленом из табл. 3, имеющим заданную степень и период р. Доказательство теоремы 3 использует теорему Пойа [7] (см. также [8]). В общем случае теорема Пойа позволяет находить число классов эквивалентности объектов относительно некото- некоторой конечной группы О симметрии. В этом случае объектами являются слова из С, а О представляет собой циклическую группу {1, /?, /?2, ..., /?^-1}. Одна из форм теоремы Пойа утвер- утверждает, что число классов эквивалентности равно г12 /(*). F) 5 = 1 где § есть порядок группы С, а /E) есть число объектов, ин- инвариантных относительно 5-го элемента группы О. В нашем слу- случае § = Ы=Мр, а 5-й элемент /?8 оставляет инвариантными те слова, которые имеют 5 в качестве периода (не обязательно наименьшего). Таким образом, остается задача нахождения числа /E) слов из С, имеющих период 5. Каждое слово X с периодом 5 имеет также период Мр и, следовательно, период с?=E, Мр), т. е. наибольший общий де- делитель 5 и Мр. При заданном значении делителя й число зна- значений 5, для которых с?=E, Мр), выражается функцией Эйлера ф(Мр/с?). Таким образом, F) приобретает вид ^ Ф {Мр1йI(а\ G) а\ мр где сумма берется только по делителям й числа Мр. Для слов X с периодом й имеет место соотношение В частности, — <л = . . . — В равенствах (8) элемент Х(кб) представляет собой набор дли- длины р, как ив C). Однако заметим, что верхние индексы в (8) не должны быть меньше, чем М. Если кс1=тМ-\-г, где 0<^г< < М, то Х(ы) в соотношении (8) является ХМ из соотношения C), сдвинутым циклически на т мест. Таким образом, если
Циклически перестановочные самокорректирующиеся коды 73 Таблица 4 Распределение по весу классов последовательностей, порождаемых регистром сдвига с многочленом С (*) = Сг (м) Степень С (г) Период р Разделение 50 М=Мр ш = 4 8 12 14 16 18 20 22 24 26 28 30 32 36 40 56 64 68 72 76 80 84 92 96 3 7 4 49 1 21 245 0 1715 0 7203 0 16807 0 16807 4 15 8 45 1 0 0 15 0 0 0 75 4 15 8 75 1 0 0 30 0 0 0 450 0 0 0 3375 0 10125 4 15 8 90 1 0 0 38 0 0 0 750 0 0 0 8445 0 50625 • • 4 15 8 105 1 0 0 45 0 0 0 1125 0 0 0 16875 0 151875 • • • 10 33 12 99 5 5 5 10 5 1 825 1650 2475 4950 • • • * 10 33 12 231 5 5 5 10 5 1 2475 4950 7425 14850 • • • 9 73 28 365 1 0 0 3 3 146 876 876 2190 2628 2190 10658 95922 95922 6 63 32 189 1 0 0 0 63 0 0 0 0 0 0 1323 6 63 32 441 1 0 0 0 189 0 0 0 0 0 0 19845 один из У№ выбран в качестве Х@\ то равенства (8) автомати- автоматически определяют некоторые другие ХМ в соотношении C). Ненулевое слово X может иметь период й только в том слу- случае, если Мр1й чисел о, а, 2а,..., Мр—а, (9)
74 Э. Гилберт которые в соотношении (8) являются верхними индексами, раз- различны по той М. Чтобы доказать это, предположим противное. Допустим, что два числа из (9) равны по той М. Их разность (обозначим ее через Ы1 где к < Мр/й) имеет вид СМ, где с = ш/м < (Мр/а) а/м= Тогда набор Х(на> длины р из соотношения (8) представляет со- собой Х&\ циклически сдвинутое на С мест. Из соотношения (8) при этом следует, что Х<°) имеет период С < р. Так как все не- ненулевые слова из С имеют (наименьший период р, то Х<°> может быть только У<°>. Подобные рассуждения показывают, что ка- каждый ХМ в соотношении C) должен быть равен также У@), что приводит к противоречию. Предположим теперь, что все числа (9) различны по той М. Тогда каждый выбор УФ в качестве одного из ХМ в соотноше- соотношении C) автоматически определяет Мр1й элементов ХМ через равенства, аналогичные (8) у Ул. Эти Мр1й наборов длины р являются циклическими пере- перестановками различных X из C). Таким образом, /(с?)=0 только в том случае, если Мр/с1 делит к0, ки ..., кс^ и, следовательно, делит также и М. В этом случае р должно делить й, т. е. с1=рО. Так как й делит Мр, то Б делит М. Поскольку ХМ выбираются в группах размера Мр/Л=М/О, то имеется для выбора в точ- точности В независимых ХМ. В этих Б выборах циклические пере- перестановки УМ должны появиться к{О\М раз. Всего имеется выборов. Эта формула для 1(й) вместе с G) дает решение. Чтобы получить выражение E), заменим переменную й, по которой производится суммирование, на Д=Л1р/с?=М/О. Условие, что Д делит к0, ..., кц и М, рассматривалось (в терминах й) в пре- предыдущем абзаце. Остается наложить такие условия на Д, чтобы числа (9) были различны по тосШ. Числа (9) представляют собой О, рЭ% 2рО, ..., (А— которые должны быть различны по той Л1=1)Д. Таким образом, О, р, 2р, ..., (Д— \)р должны быть различны по той Д. Они различны тогда и только тогда, когда Д и р взаимно просты.
Циклически перестановочные самокорректирующиеся коды 75 Л ИТЕРАТУРА 1. 011Ь е г 1 Е. N.. ЗупспгошгаИоп о! Ыпагу тезза&ез, 1КЕ Тгапз. 1п\ог- таПоп. Ткеогу, 1Т-6 A960), 470—477* (Русский перевод: Гил- Гилберт Э. Н., Синхронизация двоичных сообщений, Кибернетический сборник, вып. 5, ИЛ, М., 1962.) 2 О о 1 о т Ь 5. №., О о г с1 о п В., № е 1 с п Ь. К., Сотта-Ггее сойез, СапасНап /. Ма1п., 10 A958), 202—209. (Русский перевод: Г о лом б С. У., Гордон Б. и В е л ч Л. Р., Коды без запятой, Кибернетический сбор- сборник, вып. 5, ИЛ, М., 1962.) 3. О о 1 о т Ь 5. №., № е 1 с Ь Ь. К., Н а 1 е з А., Оп Ше !ас1опгаИоп о! 1ппо- гша1з оуег СРB), гезеагсЬ зоигсе, 1оса1юп, Ле1 РгориЫоп ЬаЬ. Мето, 1959, 20—189. 4. Н а т з п е г Т>. Н., 5уз1ет сопсер!з Гог аййгезз соттип1саИопз зуз1етз, ЩЕ ^ЕЗСОИ Сопуеп!. ^есогс!, р1. 7, 1960, 102—106. 5. Ре1егзоп Ш., ^ез1еу, Еггог-соггесИп^ сос!ез, ЛоЬп ШПеу апд 5опз, 1пс, Ие^ Уогк, 1961. (Русский перевод: Питерсон У., Коды, исправ* ляющие ошибки, «Мир», М., 1964.) 6. Р1егсе Л. Н., Норрег А. Ь., МиШр1ех \^НЬ гапскнп затрНпд, Ргос, №Е, 40 A952), 1079—1088. 7. Р 61 у а С, КотЫпа1оп5Спе АпгаЫЬезИттип^еп !йг Огирреп, ОгарЬеп ипс! сЬет1зсЬе УегЫпс1ипдеп, Ас1а Маш., 68 A937), 145—253. 8. Н 1 о г с1 а п Л., Ап т!гос1ис1юп 1о сотЫпа!ог1а1 апа1уз13, ЛоЬп №Пеу апй 5опз, 1пс, Ие^ Уогк, 1958. (Русский перевод: Дж. Р и о р д а н, Введе- Введение в комбинаторный анализ, ИЛ., М., 1963.) 9. Т а у 1 о г Л. Е., АзупсЬгопоиз тиШр1ехтд, Тгапз. А1ЕЕ, 79 (Сопгш. апй ЕШготсз, р1. 1) A960), 1057—1062. 10. \\Пи1е №. I)., ТЬеогеИса! азрес15 о! азупсЬгопоиз тиШр1ех1пд, Ргос. ШЕ, 38 A950), 270—275. 11. Натпип^ К. №., Еггог Aе1есИпд апс! еггог соггесИп^ сойез, Ве11 8уз. ТесН. /., 29 A950), 147—150. (Русский перевод: Хэмминг Р, В., Коды с обнаружением и исправлением ошибок, ИЛ, М, 1956.)
Задача о синхронизации цепи стрелков1) Э. Мур Задача, известная под названием задачи о синхронизации цепи стрелков, была придумана Джоном Майхиллом примерно в 1957 г., но, насколько мне известно, формулировка этой за- задачи еще не появлялась в печати. Она широко распространи- распространилась в устной форме и привлекла достаточный интерес для того, чтобы ее напечатать. Эта задача возникла вначале в связи с за- задачей о том, как заставить все части саморазмножающейся ма- машины включаться одновременно. Впервые задача была решена Джоном Мак-Карти и Марвином Минским, и теперь, когда о су- существовании решения известно, даже лица без всякой подго- подготовки в области программирования или логического конструиро- конструирования обычно в состоянии найти решение за время от двух до четырех часов. Необыкновенное изящество задачи состоит в тЪм, что она вполне аналогична задачам логического проекти- проектирования, конструирования систем или программирования, но не зависит от свойств конкретного набора логических элементов или набора команд конкретной вычислительной машины. Я на- настоятельно прошу знающих решение этой задачи избегать раз- разглашения его тем людям, которые сами ищут решение, чтобы не испортить удовольствия от решения этой интригующей про- проблемы. Рассмотрим конечное (но сколь угодно длинное) одномерное расположение конечных автоматов, которые все одинаковы, за исключением крайних. Автоматы называются солдатами, а один из крайних — генералом. Автоматы синхронны, и состояние ка- каждого в момент времени /+1 зависит от состояния его самого и двух его соседей в момент г. Задача состоит в том, чтобы построить солдат (т. е. указать их состояния и переходы) таким образом, чтобы генерал мог заставить солдат перейти в опреде- определенное заключительное состояние (произвести выстрел), всех точно в один и тот же момент времени. Предполагается, что в начальный момент (т. е. при /=0) все солдаты находятся в од- одном состоянии — состоянии покоя. Когда генерал переходит в ) Мооге Е. Р., ТЬе Пппд 5^иа(^ зупсЬгошгаИоп ргоЫет, «5е^иеп^^а1 тасЫпез» геасНвд, Мазз., Ра1о АИо, Ьопйоп, Ас1(Н5оп \\^ез1еу РиЫ. Со., 1пс, 1964, рр. 213, 214.
Задача о синхронизации цепи стрелков 77 некоторое отмеченное состояние (команда «по готовности — стрелять»), он после этого не проявляет никакой инициативы, и остальное предоставляется солдатам. Сигнал может распростра- распространяться по цепи не быстрее чем на одного солдата за единицу времени, и задача солдат — достичь согласованности. Слож- Сложность задачи заключается в том, что это должны уметь делать солдаты одного и того же вида с фиксированным числом К со- состояний независимо от длины п цепи. В частности, такой сол- солдат с К состояниями должен правильно функционировать, даже когда п намного больше К. Грубо говоря, ни одному солдату не разрешается считать до п. Двое из солдат — генерал и солдат, наиболее удаленный от генерала, — могут слегка отличаться от остальных солдат, бу- будучи способны действовать, не имея солдат с обеих сторон от себя, но их структура тоже должна быть независима от п. Один из удобных способов описания решения задачи состоит в использовании листа клетчатой бумаги; горизонтальная коор- координата задает пространственное положение, вертикальная — время. В клетке (/, /) помещается символ, указывающий со- состояние *-го солдата в момент /. Визуальное изучение картины распространения этих символов может показать, какого рода сигнализация должна иметь место между солдатами. Легко показать, что при всяком решении задачи о синхрони- синхронизации цепи стрелков время от команды генерала до выстрела должно быть равным по крайней мере 2п — 2, где п — число солдат. Большинство людей решают эту задачу способом, тре- требующим от Ъп до 8п единиц времени, хотя изредка попадаются и другие решения. Некоторые из этих других решений требуют, например, 5п/2 или же порядка п2 единиц времени. До недав- недавнего времени было неизвестно, каково минимальное возможное время решения. Это было выяснено в Массачусетском техноло- технологическом институте профессором Э. Гото [1] из Токийского уни- университета. В решении, полученном Гото, использовалась весьма хитроумная конструкция, где каждый солдат имел много тысяч состояний, и решение требовало ровно 2п — 2 единиц времени *). Ввиду трудности получения этого решения гораздо интереснее для начинающего попытаться получить решение, требующее от Ъп до 8п единиц времени, что, как замечено выше, сравнительно просто сделать. Л ИТЕРАТУРА [I] О о 1 о Е., А пиштшп Ите 5о1и1юп о! Ше Ппп& 5^иас^ ргоЫет, сШоей соигзе по!е$ 1ог аррИей таШетаКсз 298, Нагуагй II ту., 1962, 52—59. *) В. И. Левенштейн нашел решение задачи о синхронизации за время 2я—2, в котором каждый солдат имеет 9 состояний (см. журнал «Проблемы передачи информации», № 4, 1965). — Прим. ред%
Оптимальное расписание для двух- и трехступенчатых процессов с учетом времени наладки1) С. Джонсон СЛУЧАЙ ДВУХСТУПЕНЧАТОГО ПРОЦЕССА Рассматривается типичный многоступенчатый процесс, опи- описанный Беллманом следующим образом. Даны п предметов, которые должны пройти сначала через одну производственную стадию или машину, а потом через другую. На каждой стадии имеется только одна машина. В ка- каждый момент времени на каждой машине может обрабаты- обрабатываться не более одного предмета. Рассмотрим 2л констант Аи Ви А2, В2, ..., Ап, Вп — неотри- неотрицательных, !но в остальном совершенно произвольных чисел. Пусть Аи В{ — время установки и обработки /-го предмета на первой и второй машинах соответственно. Будем искать опти- оптимальный порядок обработки предметов, а именно порядок, обес- обеспечивающий минимум общего затраченного времени. Дается простое разрешающее правило, применение которого ведет к оптимальному упорядочению. Это правило позволяет, например, упорядочить оптимальным образом 20 предметов за несколько минут путем непосредственного перебора величин А г-, В{. Во второй части обсуждается (и решается для некоторого частного случая) аналогичная задача для трехступенчатого про- процесса. Лемма 1. Порядок прохождения предметов через обе ма- машины может быть сделан одинаковым без дополнительных за- затрат времени. Доказательство. Разместим А\ и В* произвольным об- образом на шкалах времен для соответствующих машин, соблю- соблюдая единственное условие: начало Вг должно быть правее кон- конца А{. Если порядок прохождения предметов через первую ма- ^Ьпзоп 5. М, ОрШпа1 Т\уо апс1 ТЬгее-51аде Ргос1исиоп 5сЬес1и1е5 5е1-ир Итез 1пс1ис1еA, Ыжа1 КезеагсН Ье&зИсз О.па1ег1у, 1 A954).
Оптимальное расписание с учетом времени наладки 79 шину отличен от порядка на второй машине, элементы, следую- следующие не по порядку, будут расположены приблизительно следую* щим образом: А; Тогда без потери времени мы можем сделать порядок на пер- первой машине таким же, как на второй, выгодным образом пере- переставляя те предметы, которые следуют не по порядку (начиная слева). Симметричным образом можно переставлять предметы на второй машине до совпадения порядков. Далее, так как порядок теперь один и тот же для обеих ма- машин, можно начинать обработку каждого предмета при ближай- ближайшей возможности с целью минимизации общего времени обра- обработки. Таким образом, на первой машине время простоя равно 0. Обозначения. Положим Х{ — время простоя второй ма- машины непосредственно перед началом обработки на ней /-го предмета. Если, например, мы установим порядок 5={1, 2, ... ..., /г}, то шкала времен для обеих машин будет выглядеть сле- следующим образом: имеем Хг = Аъ 1, 0), А'з=тах{2Л|-2Д|-2^1 о), и=1 ь=\ /=1 ; 3^ Г 3 2 2л У\ X; == тах { 2 -Л/ — 2 В'/, 2 ^/ г = тах
80 С. Джонсон Вообще п 2 Х1 = тах Ки, Ь-\ 1<и<л где и и-1 и = 2а А^ — 2л &1* Пусть РC)= тах /Си. Задача состоит в нахождении 1 < и < 1 < и 1 < и <л такой последовательности 5*, что для всех 50 Решение задачи. Пусть 5' — последовательность, по- получаемая из 5 перестановкой у- и (у+1)-го предметов. Тогда ()= тах где 1=1 1 \ = В1 для и Тогда Ки = К'и для й=^=у\ у+1. Следовательно, если тах {/Су, АГу+1) =тах Теорема 1. Оптимальная последовательность строится по следующему правилу: у-й предмет предшествует (у+ 1) тах {/Су, /С;Ч1} < тах {/С;, /С;+1} ... A) Если имеет место равенство, то любой порядок оптималь- оптимальный, и требуется выполнение некоторых дополнительных условий (см. случай 4 в лемме 2). У+1 7-1 Вычитая 2Л~2^ из каждого члена неравенства A), получаем тах {— В 1> — Лу+1} < тах {— /?у+1, — или тт {Лу, Д/Ч1} < тт (Лу+1, Ду} ... B)
Оптимальное расписание с учетом времени наладки 81 Это упорядочение транзитивно (доказательство ниже) и ведет к построению последовательности 5*, единственной с точностью до несущественных перестановок. Тогда Т7($*)<[/^о) для последовательности 50, так как 5* может быть получена из 50 путем последовательных переста- перестановок соседних элементов соответственно с B), причем каждая перестановка не ведет к увеличению Р. Лемма 2. Соотношение 2 транзитивно. Пусть пип {Аь В2) < ппп {Л2, пип {Л2, Вг] ^ ппп {-Аз» В2]. Тогда пип {Л1? #3}<ппп{Л3, ^Ь за исключением возможного случая, когда перестановка второго предмета с первым ила третьим несущественна. Доказательство. Случай 1: Л} ^. В2, Л2, В\\ А2 ^ <#з> -^з> <^2* Тогда , так что Л1<т1п{Л3, Вг). Случай 2: В2 Тогда ^3<^^2<^^1» ^З^^З' ТаК ЧТ0 Случай 3: \ ^ 2, 2, 1, § ^ 2, з» В Тогда !<х; 3<3, так что ппп Случай 4: Тогда Л2 = 52 и перестановка второго предмета не влияет на Р. В этом случае первый предмет может идти до или после треть- третьего предмета, но это не противоречит транзитивности, если мы упорядочим сначала первый и третий предметы, а затем поме- поместим произвольным образом второй предмет. Используя B), получаем чрезвычайно простой практический способ упорядочивания предметов за п шагов. 6 Зак. 1622
82 С. Джонсон Рабочее правило. 1. Поместить константы Л*, В1 в два столбца: 1 2 п А1 А{ А2 В1 Вх В2 Вп 2. Выбрать среди всех констант минимальную. 3. Если эта константа есть время обработки некоторого предмета на первой машине (т. е. Лг), поместить этот предмет первым. 4. Если эта константа есть время обработки некоторого пред- предмета на второй машине (т. е. 5*), поместить этот предмет по- последним. 5. Вычеркнуть соответствующую строку из таблицы. 6. Повторить операции 1—5 с оставшимися 2п — 2 констан- константами и т. д. Таким образом, мы строим последовательность с обоих концов к середине. 7. В случае если применение правила 2 даст несколько пред- предметов, для определенности расставить эти предметы по порядку номеров. В случае если минимум приходится и на Аи и «а Ви действовать по правилу 3. Для иллюстрации этого метода приведем следующий пример: • 1 1 2 3 4 5 м 4 4 30 6 2 5 1 4 30 3 Применение рабочего правила дает оптимальную последова- последовательность E, 1, 4, 3, 2). Общее время простоя для этой последо- последовательности равно 4, общее время обработки — 47. При обрат- обратном порядке общее время будет равно 78 — наихудшее из воз- возможных значений.
Оптимальное расписание с учетом времени наладки 83 СЛУЧАЙ ТРЕХСТУПЕНЧАТОГО ПРОЦЕССА Лемма 3. Оптимальное упорядочение достигается при оди- одинаковом порядке на всех трех машинах. По лемме 1, порядок на первой и третьей машинах может быть сделан одинаковым с порядком на второй, а именно поря- порядок на первой машине можно сделать таким же, как и на вто- второй, а на последней — таким же, как и на предпоследней. Тем самым лемма доказана. Для четырех и большего числа машин оптимальное упоря- упорядочение может потребовать изменения порядка обработки. Рас- Рассмотрим два предмета, проходящих через четыре машины, со следующими временами обработки: / 1 2 м 3 3 3 1 3 1 3 3 Легко убедиться, что оптимальное упорядочение требует пе- перемены порядка при переходе со второй машины на третью. Ве- Вероятно, решение для общего случая весьма сложно. Обозначения. Определим Аи В{> Х{ так же, как в случае двухступенчатого процесса. Пусть С{ — время заправки и обра- обработки *-го предмета на третьей машине, и пусть У{ — простой третьей машины непосредственно перед началом обработки на ней *-го предмета. Рассмотрим шкалу времен для всех машин: А, X, Аи 12 . Лг У, с, Аз, в, - Уг X, Уз Имеем = А п-\ п-\
84 С. Джонсон так что тах{ 2 5,-2 С,+ 2 */> 1 Г п = тах< л-1 л-1 я-2 л п-\ Пусть + *1 и и-1 Ь-\ -0 = 1, 2 л); | 2, ..., /г), как и раньше. Тогда п {Н„-{-тахКи} = тах 1<< Как и раньше, переставим у-й и (у+1)-й предметы. Тогда изменятся только Нр К], Н]+ъ К Теперь сравним Заметим, что эти выражения включают уже не только члены с номерами у, у+1, так что решение будет зависеть от предшествующих элементов. Частный случай: т^пА^^>таxВ^. В этом случае тах Ки = Кю так что можно сравнивать и < V меньшее число членов. Тогда правило утверждает, что у-й предмет предшествует (&+1)"мУ> если '.+ К)) ... C) В случае равенства упорядочение определяется дополни- дополнительными условиями.
Оптимальное расписание с учетом времени наладки 85 Вычитая 1 = 1 / = 1 1 = 1 / из обеих частей равенства C), получаем тах{— Ду — Су, — 5у+1 —Лу+1}< <тах{— или ... . D) Лемма 4. Соотношение D) транзитивно. Доказательство аналогично доказательству леммы 2. Проводя рассуждения аналогично случаю двух машин, мож но получить оптимальный порядок обработки путем последова тельных перестановок соседних предметов, исходя из любой по следовательности 5. Таким образом, доказывается следующая теорема: Теорема 2. Если пип А\ ^ тах В^ 1 <^ / ^ п, то оптималь ное упорядочение для трехступенчатого процесса дается следую щим правилом: 1-й предмет предшествует \-му, если Если имеет место равенство, то любой порядок предметов 1 и / оптимален; требуется выполнение дополнительных условий. Как и в случае двух машин, существует простое правило^ позволяющее очень быстро вырабатывать оптимальный порядок. Вместо А\ берется А\Л-Ви а вместо В$ берется С^ + В^. Отметим, что тот же результат получается в случае Сг- >~ тах В^. Другой специальный случай трехступенчатого процесса — когда правила двухступенчатого процесса, примененного к пер- первым двум машинам, дает на второй машине порядок, совпа- совпадающий с результатом применения того же правила к послед- последним двум машинам. Тогда этот порядок будет оптимальным и для всего трехступенчатого процесса. Возможна следующая интерпретация трехступенчатого про- процесса: заметим, что тах есть максимальная сумма элементов, встреченных при проходе матрицы времени из левого верхнего угла в нижний правый,.
С. Джонсон двигаясь только вправо или вниз. Проблема состоит в отыска- отыскании порядка столбцов, минимизирующего этот переход. Эта интерпретация полезна для трехступенчатого процесса, но для большего числа машин непригодна. Как замечено выше, порядок не всегда одинаков на всех ма- машинах. Однако практически удобно предполагать его одинако- одинаковым для сокращения числа рассматриваемых случаев. ЛИТЕРАТУРА 1. Ме1У1п Е. 5а1уезоп, Оп а (ЭиаШаНуе МеШос! т Ргос1ис1юп Р1аппт§г апс1 ЗсЬейиНпд, ЕсопотеМса, 20, № 9 A952), 571—574. 2. V а п 1 г 1 а С. В., Ыпеаг Моде! о! РгоДисИоп, КАШ РиЬНсаНоп, Р. 375А, 1953,
Деревья, леса и переупорядочение Я. Ф. Уайндли1) В этой статье описывается некоторый метод переупорядочения данныэг в вычислительной машине, при котором минимизируется используемый объем памяти. Выведены выражения для математического ожидания и дисперсии* необходимого числа сравнений..Проведено сопоставление этого числа с чис- числом сравнений, которое требуется для процесса сращивания. ВВЕДЕНИЕ Френд (Рпепс!, 1956) рассматривает влияние времени до- доступа, когда на магнитной ленте хранятся сращиваемые дан- данные, и указывает, что для уменьшения требующегося числа по- последующих прогонов необходим специальный первый прогон в- целях выработки длинных последовательностей. Наряду с этим он, как и Белл (Ве11, 1958), исследует некоторые технические приемы для выполнения необходимого предварительного пере- переупорядочения внутри вычислительной машины. Все методы, рас- рассмотренные ими, включают в выражении необходимого числа сравнений множитель №, где N — число элементов; исключение составляет метод внутреннего сращивания (тег^т^), при кото- котором выражение равно М[1о§2 Щ. Два недостатка метода внутрен- внутреннего сращивания состоят в том, что, во-первых, при нем необ- необходимо рабочее поле, достаточное для хранения по крайней мере N/2 элементов, вследствие чего уменьшается максималь- максимальная длина последовательностей, которые могут быть обработаны этим методом; во-вторых, при каждом проходе все данные пе- перемещаются из одного места памяти машины в другое. Если код короткий, то эти возражения можно частично снять, приме- применив прием независимых ключей. Метод переупорядочения с ис- использованием дерева, описанный кратко Дугласом (Оои^1аз, 1959) и приписываемый Бернерс-Ли (Вегпегз-Ьее), не обладает этими недостатками. Данные помещаются в памяти один раз » 1) Ш 1 п с11 е у Р. Р., Тгезз, Рогез{з апс! Кеаггапдтд, ТНе Сотригег /., №2 A960), 84-88.
П. Уайндли не перемещаются до выборки в окончательном порядке. В па- памяти требуется место, достаточное лишь для сохранения трех адресов при каждом элехменте. Число необходимых сравнений зависит от исходной последовательности. Мы рассмотрим здесь несколько вариаций этого метода и выведем выражения для ма- математического ожидания и дисперсии числа сравнений в пред- лоложении, что возможные исходные последовательности рав- равновероятны. Деревья Дерево можно определить как сеть точек, размещенных по уровням. Самый нижний уровень содержит только одну точку, называемую корневой точкой. Любая другая точка связана с од- одной и только одной точкой на соседнем нижнем уровне и не более чем с п точками на соседнем верхнем уровне. Для дихото- дихотомического дерева п = 2; мы в дальнейшем будем рассматривать только дихотомические деревья. Каждой связи точки с другой точкой на соседнем верхнем уровне соответствует (направление. Номер ячейки 1 2 3 4 5 6 с/лемент А В С Е Р Левый адрес 2 5 6 Правый адрес 3 4 Обратный адрес 1 1 2 2 5 в Рис. 1. Запоминание элементов в процессе формирования дерева. Эти направления называются правыми и левыми. Каждой точке дерева соответствует элемент. Адреса тех элементов, которые связаны непосредственно с некоторым элементом, хранятся в памяти вместе с этим элементом. Эти адреса называются: ле- левый адрес, правый адрес и обратный адрес. Левый адрес ука- указывает место в памяти, где хранится элемент, соответствующий точке, расположенной левее на верхнем уровне. Обратный адрес указывает точку на соседнем нижнем уровне, с которой связан данный элемент. Все точки, связанные с некоторым элементом через его левый адрес, образуют левую ветвь этого элемента. На рис. 1 показано, как при формировании изображенного де- дерева элементы А — Р вместе с их адресами связи размещаются в ячейках 1—6 вычислительной машины. Левая ветвь корневой точки А содержит элементы В, О, Е, Р«
Деревья, леса и переупорядочение Рост дерева Дерево растет в результате того, что элементы берутся в их первоначальной последовательности и размещаются один за другим на дереве. Сделано так, что дерево растет следующим образом: в окончательном порядке для каждого элемента X все элементы из левой ветви X будут затребованы раньше X, а все точки с правой ветви X — позже. Например, на рис. 1 дерево представляет первоначальную последовательность А, В, С, О, Е, Р и окончательный порядок Р, Е, В, О, А, С. Предположим, что требуется добавить к этому дереву элемент О и что в окон- окончательном порядке О встретится между В и Э. Сначала О срав- сравнивается с корневой точкой А. Элемент О идет раньше А в окон- окончательном порядке, он должен быть расположен на левой Номер ячейки 1 2 3 4 5 6 7 олемент А В С Е Р 0 Левый адрес 2 5 7 6 Правый адрес 3 4 Обратный адрес 1 1 2 2 5 4 р о в Рис. 2. Рост дерева. ветви А. Левый адрес А точно определяет следующий элемент В, который необходимо сравнить с О. Это сравнение показы- показывает, что О должен хранится на правой ветви В. Поэтому сле- следующее сравнение делается с Э, этот элемент точно определяет- определяется правым адресом В. Последнее сравнение показывает, что О принадлежит левой ветви Э. У Э еще нет левой ветви, таким образом ему приписывается левый адрес 7— адрес, по которому О направляется в память, а О присваивается обратный ад- адрес 4 — адрес Э. Новое дерево показано на рис. 2. Заметим, что элемент О не обязательно помещать в ячейку 7. Его можно поместить на любое свободное место при условии^ что левый адрес элемента О соответственно сформирован. Алго- Алгорифм размещения точки на дереве состоит в следующем: 1. Адрес корневой точки помещается в качестве адреса эле- элемента, с которым будет производиться очередное сравнение. Пе- Переход к п. 3.
-90 П. Уайндли 2. Левый (или правый) адрес берется в качестве адреса элемента, с которым производится очередное сравнение. 3. Элемент, для которого ищется место на дереве, сравни- сравнивается с элементом, определенным по п. 1 или 2. 4. Выясняется, где должен разместиться наш элемент — на левой или правой ветви того элемента, с которым он только что сравнивался. 5. Выделяется очередной левый (или правый) адрес и срав- сравнивается с нулем. Если он ие нуль, то переход к п. 2. 6. Новый элемент помещается на дерево с обратным адре- адресом, относящимся к последнему элементу, с которым он сравни- сравнивался. 7. В найденный левый (или правый) адрес, который до сих пор был нулем, заносится адрес, по которому в п. 6 был поме- помещен новый элемент. Выборка данных из дерева Данные должны выбираться из дерева таким образом, что для каждого элемента X все данные с левой ветви X выби- выбираются раньше X, а все данные с правой ветви X выбираются после X. Предположим, что программа достигла элемента X, да- далее выполняется следующее: 1. Проверяется левый адрес X. Если у X нет левого адреса, то либо у X нет левой ветви, либо все точки на левой ветви уже были выбраны. В этом случае переходим к п. 2. Если у X есть левый адрес, то используем этот адрес в целях точного опреде- определения X7 — Элемента для очередного испытания. Снова выпол- выполняем п. 1. 2. Проверяем, выбирался ли ранее элемент X. Если да, то переходим й п. 4. Если нет, выбираем X и помечаем, что X вы- выбран !). 3. Проверяем правый адрес X. Если этот адрес не пуст, то ^используем этот адрес для точного определения X' — элемента для очередного испытания, и повторяем процесс, начиная с п. 1. Если правый адрес пуст, то переходим к п. 4. 4. Проверяется обратный адрес X. Если обратный адрес пуст, то X — корневая точка, и процесс окончен. В противном случае обратный адрес указывает элемент для очередной про- проверки. Возврат к п. 1. Процесс начинается с проверки корневой точки и движется вверх и вниз по каждому соединению дерева. Поэтому всего де- ) До окончания процесса правые и левые адреса, указывающие на уже выбранные элементы, интерпретируются как пустые (см. п. 1, 3). — Прим. т,ерев.
Деревья, леса и переупорядочение 91 лается 2Л/ проверок. Каждый раз, когда происходит подъем па- дереву, продвигается адрес в главной памяти; кроме того, перед подъемом по правой ветви делается пометка, что элемент вы- выбран. Эту пометку не обязательно делать, если нет правого ад- адреса, а при подходящем уплотнении ее можно сделать в момент передвижения по правому адресу. Отсюда этот процесс требует всего 3(М— 1) обращений к памяти: два обращения на каждый- подъем вверх по дереву и одно для каждого спуска вниз. Число сравнений, которое необходимо в течение роста дерева Каждому уровню дерева припишем некоторое значение. Кор- Корневая точка имеет значение 1, точки на следующем уровне — 2 и т. д. Пусть N — число точек на дереве. Суммарное значение дерева, т. е. сумма значений всех точек ла этом дереве, зависит от формы дерева и определяется первоначальной последователь- последовательностью данных. Обозначим форму дерева через 51), а суммарное значение дерева — через К(N, 5). Пусть Р(М, 8) —вероятность того, что^ дерево из N точек имеет форму 5. Точка на г-м уровне дерева сравнивается с (г—1)-ми точками, на ветвях которых она по- помещена. Таким образом, общее число сравнений равно* Я(ЛГ, 5)— N. Среднее значение дерева Среднее значение С}(М) дерева из N точек определяется фор- формулой С}(Щ=^Р(М, 5)#(М, 5), где суммирование произво- дится по всем возможным формам дерева. Левая ветвь корне- корневой точки в свою очередь является деревом. Предположим, что это дерево имеет / точек и пусть его форма 5х. Его значение должно быть равно /?(/, 3/)+^ (так как его корневая точка имеет значение 2). Правая ветвь корневой точки также является деревом. Оно имеет (Ы — 1 — I) точек и форму, например, 5". Его значение равно /?(М — 1 — /, 5") + (Ы — 1 — /); тогда Вероятность того, что имеется / точек на левой ветви корневой точки, равна вероятности того, что в окончательном порядке корневая точка является (/+1)-й точкой. Но в окончательном !) О числовом способе представления формы дерева см., например, Т. Л. Гаврилова, О структурном анализе вьетнамского текста и одном.* способе записи его результатов, «Проблемы кибернетики», вып. 13, М., 1965„ стр. 201— 220. — Прим. ред.
92 П. Уайндли порядке корневая точка будет всюду с одинаковой вероятно- вероятностью. Отсюда вероятность равна 1/ЛЛ 5 ЛГ- 1 V V гр и §'\. р /д^ | ^ $"\ ч/ = 0 5' 5" ЛГ-1 Среднее отклонение значения дерева Среднее отклонение У(М) дается формулой I/2 (ЛО = Ц(Ы)— где ^ у 3) = 8 N-1 / = 0 5' 5" X /=0 5' 5" -1 —*, 5")] = =0 5' 50
Деревья, леса и переупорядочение 93 лг-1 21 N-1 B) N-1 (=0 Определение 0. В силу A) г=О Отсюда /=0 (АО О A) _ 3 у _^ "г"^ 2* Отсюда N Формальный ряд для ^Т' полУченный по формуле Эй- Эйлера— Маклорена, имеет вид оо 1 = 1 (где -у—константа Эйлера, а В1— числа Бернулли). 7^0,57721566 (приближенно). X .-. C)
94 Я. Уайндли Таблица 1 N 10 20 30 34 91 158 4 10 16 N 40 50 100 231 309 748 22 28 59 N 150 200 250 1238 1763 2313 коло 91 123 155 Оценка среднего и дисперсии К вычислениям C(М) и У(Ы) надо подойти с большой осто- осторожностью, так как рекуррентные соотношения, полученные из формул A) и B), являются неустойчивыми. Значения, данные в табл. 1, были вычислены на машине посредством «двойного просчета». Точность значений С}^) была проверена путем срав- сравнения их со значениями, полученными по асимптотическому раз- разложению C). Оказалось, что дисперсия мала по сравнению со средним. Время, необходимое для работы по этому методу Рассмотрим сначала машину типа «Пегас» с главной па- памятью на магнитном барабане и малой быстродействующей опе- оперативной памятью. Допустим, что элемент может целиком со- содержаться в оперативной памяти и что он может пересылаться «а барабан и обратно посредством одной или более групповых пересылок. Можно допустить, что для второй и последующих групповых пересылок барабан находится в правильной позиции, что не влечет за собой времени ожидания. Каждое сравнение открывает определенный ключ, по которому левый или правый адрес пересылается в оперативную память. По мере того как очередной элемент размещается в главной памяти, ему при- придается обратный адрес, а адрес, который хранится вместе с предшествующим элементом, формируется так, чтобы привязать новый элемент к дереву. Всего для этого требуется 2М пересы- пересылок. Так как в среднем имеется <?(М) — N сравнений, то при построении дерева необходимое общее число пересылок равно С}(Ы)+Ы. Как было видно ранее, для выборки данных из де- дерева необходимо ЗЛ/ пересылок. Таким образом, в целом число пересылок, необходимое для полного процесса, приближенна равно <?(Л0+4Л^(Л/+1) \о& N+A+у)М~1А(Ы+1) 1оё2#+ + A_(-<у)Л/. Процесс сращивания требует 2Лфоё2^] пересылок. На машине, главная память которой реализована на магнит- магнитных сердечниках, нельзя производить сравнение обоих методов просто по числу пересылок в память и обратно. Необходимо вы-
Деревья, леса и переупорядочение 95 яснить, сколько внутренних циклов включают в себя обе про- программы, и оценить сравнительные длины этих циклов. Для сор- сортировки при помощи дерева имеется два внутренних цикла. Первый используется в процессе роста дерева и насчитывает <2(Л/)—N тактов. Второй используется в процессе выборки и включает в себя 2 N тактов. Теперь предположим, что а — вре- время проведения одного сравнения, р — время, необходимое для пересылки одного полного элемента из одной или группы ма- машинных ячеек в другое место, X — время на административное указание, необходимое для привязки нового элемента к дереву, и К* — среднее время для нахождения очередного по порядку элемента в процессе выборки. Если не учитывать время, необ- необходимое для первоначального размещения всех данных в памяти и являющееся одним и тем же для всех методов, то общее время работы по методу дерева, таким образом, приближенно равно а [<3 (ЛО — Щ + N1 + 2Ла*. Время работы по методу сращивания равно Достаточно сравнить выражения и 1,4 аЛГ [1ог2#1 и (а + р)ЛПо& N. Отсюда при условии, что а < 2,5р, метод дерева быстрее. Поиск информации Деревья можно использовать для облегчения поиска инфор- информации, хранящейся в главной памяти и отвечающей данному ключу. Если это сделать, то для опознания каждого элемента требуется в среднем B(Л/)/М«1п N сравнений. Леса деревьев Как уже было упомянуто, если элемент размещается на де- дереве, то это размещение может быть проведено где угодно, на любом участке памяти, еще не использовавшемся для хранения элемента дерева. Единственным параметром, необходимым как для начала процесса роста дерева, так и для начала процесса выборки данных из дерева, является адрес корневой точки. Все другие требующиеся адреса хранятся уже на дереве. Отсюда — возможность иметь в машине два дерева, растущих одновре- одновременно без взаимодействия друг с другом. Эти деревья имеют различные корневые точки. Пока деревья растут, очередное ме- место в машине предназначается то первому, то второму дереву, как потребуется. Если на дереве необходимо разместить
96 П. Уайндли элемент, то сначала проверяется, какому дереву этот элемент принадлежит. Затем выбирается соответствующая корневая точка, чтобы начать сравнение. После проведения необходимых сравнений новый элемент помещается в машине на свободное место и привязывается по- посредством своего обратного адреса к соответствующему дереву. Может быть использовано не только два, но и любое число де- деревьев, при условии, что каждое дерево имеет в машине место для своей корневой точки. Для выборки данных используется тот же самый процесс. При нем происходит вход в каждое де- дерево, начиная от его корневой точки. Преимущество такого тех- технического приема «мультидерева» или леса состоит в том, что значение двух деревьев меньше, чем значение дерева, равного по размеру двум деревьям, взятым вместе. Выбор соответствую- соответствующего дерева для каждого элемента можно сделать путем раз- разделения диапазона ключей на части и подбора дерева к ка- каждой части. Заметим, что подбор эквивалентен одному прогону распределительной сортировки, причем в оценке размера мас- массивов нет надобности. Теоретически в лесу следует использовать столько деревьев, сколько возможно, но если какое-либо дерево пусто (т. е. на нем нет никаких элементов), то пространство, предназначенное для его корневой точки, пропадает. Практически оптимальное число зависит от распределения ключей по их возможному диа- диапазону и от того, что об этом диапазоне известно. В пределе, когда каждый ключ определяет дерево, этот метод вырождается в метод типа «ящика для бумаг». Метод идеально подходит для данных, которые должны быть упорядочены в последователь- последовательность внутри многих групп, причем критерий для определения групп отличен от критерия, который используется для упоря- упорядочения данных внутри этих групп. Таковы фактически и были условия, для которых развивались эти технические приемы. Были использованы данные о студентах Университета в Лидсе (см. \\Ппс11еу, Кау апй Кочу1апс1-*1опез; 1960); требова- требовалось составить список студентов, упорядоченный по алфавиту для каждого курса. Сначала для каждого студента по его дан- 1ным выяснялся курс, а затем были проведены сравнения по фамилиям студентов. Деревья и сортировка Деревья можно очень эффективно использовать для. сорти- сортировки. Под сортировкой понимается накопление элементов с од- одним и тем же ключом. Чтобы использовать метод типа «ящика для бумаг», необходимо иметь возможность выделения ячейки
Деревья, леса и переупорядочение 97 в машине для каждого ключа из полного диапазона ключей. В сортировке при помощи дерева требуется место лишь для на- накопления элементов, фактически встреченных в течение сорти- сортировки, и для трехблочного адреса на каждый ключ, отличный от других ключей. Если пометить ключи, о которых известно, что они встречаются наиболее часто, и выделить отдельное де- дерево для каждого помеченного ключа, то возможно использо- использовать скорость сортировки типа «ящика для бумаг» в примене- применении к наиболее часто встречающимся ключам. При подсчитыва- подсчитывании это может привести к значительному выигрышу в скорости, если некоторые подсчеты намного чаще других. В сортировке при помощи дерева элементы с одним и тем же ключом нака- накапливаются по мере того, как они размещаются на дереве. Таким образом, не иадо времени для запоминания одного и того же ключа дважды. В этом большое преимущество метода сортировки по сравнению с методом сращивания, при котором элементы накапливаются только постепенно. Деревья в слегка измененной форме можно еще использо- использовать и при выработке наилучших стратегий для других методов сортировки и переупорядочения. Соответствующие технические приемы рассмотрены в статье Берджа (Виг^е, 1958). Заключение Метод переупорядочения при помощи деревьев сначала был рассмотрен автором с целью получения наиболее длинных по- последовательностей внутри вычислительной машины. Было по- показано, что для случайно заданной начальной последователь- последовательности этот метод в среднем быстрее, чем переупорядочение по- посредством сращивания. Метод был успешно испытан на двух упомянутых выше программах, относящихся к регистрации сту- студентов. Во-первых, он был использован для расположения дан- данных во всевозможных порядках, как требовалось университет- университетской канцелярии. Для этой программы потребовалось только 6% памяти под рабочее поле. Во-вторых, он был использован для подсчета числа студентов, посещающих различные курсы, причем эти данные не были упорядочены по курсам. Сорти- Сортировка типа «ящика для бумаг» не могла быть использована по причине большого числа ключей для возможных курсов, так как только часть из них относится к фактическим курсам. Исполь- Использование предлагаемого метода сортировки может иметь хоро- хорошее применение в области исследования рыночных цен, где тре- требуется обременительный счет по многим разным заголовкам из большого количества данных. Если использовать лес из де- деревьев, то станет возможным проведение нескольких подсчетов за один прогон полной информации. Этот технический прием
98 П. Уайндли полезен там, где кодирование основных данных таково, что сор- сортировка типа «ящика для бумаг» не может быть использована по причине большого диапазона возможных ключей. Л ИТЕРАТУРА 1. В е 11 О. А., ТЬе Рппаркз о! ЗогИпд, Сотр. /., 1 A958), 71. 2 В и г § е №. Н., 5ог1т&, Тгеез апс1 Меазигез о1 Огс!ег, //г/, апй Сопгго1, 1 A958), 181. 3. Б о и & 1 а з А. 5., ТесЬг^иез !ог Ше НесогсИпд оГ апс! КеГегепсе 1о Оа1а 1П а Сотри1ег, Сотр. /., 2 A959), 1. 4. Р г 1 е п 6. Е. Н., ЗогИп^ оп Е1ес1готс Сотри1ег 5уз1етз, /. Аззос. Сотр. МасН., 3 A956), 134. 5. ЛЛ/1 п C1 е у Р. Р., К а у Ь. Р., Н о \у 1 а п A - ^ о п е з А., Эа1а Ргосезз1Пй т и11 АAт1п1з1га11оп, Сотр. /., 3 A960), 15.
Вычислительные машины и программирование
Архитектура системы 1ВМ-3601) Дж. Амдаль, Дж. Блоу, Ф. Брукс Архитектура2) недавно объявленной 1ВМ-360 имеет четыре основных новшества: 1. Метод организации памяти, допускающий и использующий очень боль- большие емкости, иерархию скоростей, постоянную память для микропрограммно- микропрограммного управления, гибкую защиту памяти и простое перемещение программ. 2. Системы ввода-вывода с новой степенью совмещенной работы, совме- совместимость операций в каналах ввода-вывода, скорость передачи данных, дости- достигающая 5 000 000 символов в секунду, совместное использование аппаратной и программной логики, новая дешевая компоновка оборудования большого количества каналов в одной стойке, новые возможности получения информа- информации о состоянии схем и стандартное сопряжение между центральным про- процессором и устройствами ввода-вывода, обеспечиваемое каналами ввода-вы- ввода-вывода. 3. Универсальная организация машины, предлагающая новые удобства для управления ее работой, мощные логические возможности и широкий на- набор форматов данных. 4. Прямая совместимость машинных языков для серии из шести моделей, имеющих коэффициент перекрытия по производительности 50. , В статье детально рассматриваются цели проекта и рациональность основных черт архитектуры. Подчеркиваются проблемы, связанные с необхо- необходимостью совместимости между центральными процессорами различных раз- размеров и соперничающими требованиями задач — коммерческих, научных, ло- логических и решаемых в реальном масштабе времени. Табличная сводка дан- данных об архитектуре приведена в приложениях. ВВЕДЕНИЕ В статье рассматриваются основные идеи, положенные в ос- основу разработки новой универсальной организации машин се- семейства 1ВМ-3603). Кроме рассмотрения архитектуры, мы оста- остановимся на различных инженерных проблемах, возникших при попытках сделать систему совместимой на уровне программ для г) Атс1ап1 О. М., В1ааи\у С. А.. Вгоокз Р. Р., АгсНйесгиге ог Ше 1ВМ 5уз1ет /360. 1ВМ /. о/ Кезеагск апс1 Веиегортепг, 8, №2 A964), 87—101. 2) Термин архитектура используется здесь, чтобы охарактеризовать свой- свойства системы с точки зрения программиста, т. е. общую структуру и функцио- функциональное поведение, в отличие от организации потоков информации и упра- управления, логической схемы и физической реализации. 3) Дополнительные сведения, относящиеся к архитектуре, инженерной части проекта, программированию и применению ШМ-360, появятся в серии статей в 1ВМ 8уз1ет,8 1оигпа1.
102 Дж. Амдаль, Дж. Блоу, Ф. Брукс больших и малых моделей. Совместимость должна была рас- распространяться не только на модели различных размеров, но также на их различные применения — научные, коммерческие, решение задач в реальном масштабе времени и т. д. В следующем разделе описываются основные принципы про- проектирования новой системы, а именно чтобы она служила осно- основой для новой технологии и новых применений, чтобы она была универсальной, эффективной >и прямо программно совместимой во всех моделях. Остальная часть статьи посвящена проблемам внешних характеристик системы, рассмотренным альтернативам и решениям, принятым для форматов данных, кодировки данных и команд, иерархии памяти и управления вводом-выводом. ОСНОВНЫЕ ПРИНЦИПЫ ПРОЕКТА Новая архитектура построена на основе проектов, которые постепенно развивались с 1950 г., но отличается от них. В про- процессе эволюции вычислительных машин, кроме основных техно- технологических улучшений, выкристаллизовались следующие важ- важные принципы и достижения: 1) приспособленность к обработке деловых данных; 2) растущая важность всех частей системы, особенно вво- ввода-вывода; 3) всеобщее использование составляющих программ, ком- компиляторов и других метапрограмм; 4) усовершенствование записи на магнитные ленты, бара- барабаны и диски; 5) увеличение в сотни раз памяти; 6) приспособленность к работе в реальном масштабе вре- времени. В течение этого периода большинство новых машин с точки зрения их логической структуры были улучшенными, увеличен- увеличенными или более дешевыми (за счет достижений технологии) ва- вариантами машин, разработанных в начале 50-х годов. Продук- Продукция 1ВМ не атипична; развитие шло от 1ВМ-701 к 7094, от 650 к 7074, от 702 к 7080, от 1401 к 7010. Однако характеристики системы, описываемой здесь, дают новый подход к логической структуре и функциям, предназна- предназначенный для удовлетворения нужд следующего десятилетия, в со- согласованном ряде систем обработки информации. Предпосылки Исходя из того что проект должен учесть последние дости- достижения в принципах построения машин и, следовательно, при не-
Архитектура системы 1ВМ-360 ЮЗ обходимости не быть совместимым с существующей продукцией, были рассмотрены следующие предпосылки: 1. Так как вычислительные машины развиваются в семей- семейства, любая предложенная система должна быть способна к ро- росту и пополнению семейства новыми машинами. 2. Соответствующее оборудование ввода-вывода делает си- системы особенно полезными для конкретных применений. Необ- Необходим общий метод для использования устройств ввода-вы- ввода-вывода, отличающихся по скорости передачи данных и своим функциям. 3. На самом деле действительная ценность информационной системы определяется количеством задач, решаемых за месяц, а не числом бит, перерабатываемых за микросекунду. Этот кри- критерий потребовал принятия специальных мер, которые увеличи- увеличивали бы пропускную способность для данной внутренней ско- скорости, сокращали бы время пребывания задачи в системе для данной пропускной способности и обеспечивали бы простоту использования всего комплекса машин и программных систем. 4. Только малую часть времени центральное вычислитель- вычислительное устройство (СРИ, сеп1га1 ргосеззш^ игл!) занимается пе- переработкой информации собственно в области применения машины. Основную часть времени занимают действия, требуе- требуемые системой для ее собственного функционирования, т. е. компиляция, управление вводом-выводом, обращение к слож- сложным информационным структурам и адресация внутри этих структур. Должна быть обеспечена эффективность этих дей- действий, и они не должны отличаться в машинах, сконструиро- сконструированных для различных применений. 5. Канал ввода-вывода и управляющая программа ввода- вывода должны проектироваться согласованно друг с другом. 6. Машинные системы должны быть приспособлены к само- самоуправлению без вмешательства человека при решении задач в реальном масштабе времени, при мультипрограммировании и работе с разделением во времени. Чтобы иметь эту возмож- возможность, требуется: исчерпывающая система прерываний, защита памяти, защищенная программа-супервайзер, управляемое су- первайзером переключение программ, управление с помощью еупервайзера всем вводом-выводом (включая распределение устройств ввода-вывода), работа без остановок, простое пе- перемещение программ, простое изменение постоянной памяти (т. е. простая замена постоянных программ), часы и интерпре- интерпретируемые пульты. 7. Должна иметься возможность просто комплектовать си- системы с избыточными устройствами ввода-вывода, памятями
104 Дж. Амдаль, Дж. Блоу, Ф. Брукс и СРЦ1 с тем, чтобы система могла действовать при неисправ- неисправностях в отдельных блоках. 8. Может потребоваться емкость памяти большая, чем обыч- обычно доступные 32 000 слов.. 9. Определенные типы задач требуют слова с плавающей запятой с длиной большей, чем 36 разрядов. 10. Поскольку надежность СРЦ1 непрерывно растет, обяза- обязателен полный аппаратный контроль машинных сбоев для всех систем вне зависимости от применения. 11. Так как самая большая проблема обслуживания — диаг- диагноз сбоев, то для уменьшения потерь времени необходимы встроенные в конструкцию схемы, облегчающие диагностику сбоев; кроме того, желательно обеспечить обнаружение единич- единичных сбоев и характерных неправильностей в синтаксисе про- программ. Способность системы к расширению Предлагаемый проект должен на десятилетие вперед обес- обеспечить потребности пользователей, а также послужить надеж- надежным фундаментом для непрерывного внедрения новых резуль- результатов исследовательских лабораторий фирмы как в области технологии, так и в методах программирования, способах ком- компоновки систем и методах удовлетворения специальных требо- требований. Элементы, память и устройства ввода-вывода, используе- используемые в системе, изменяются независимо и не одновременно, что приводит к соответствующим изменениям в их относительных скоростях и стоимостях. Чтобы использовать эти изменения, же- желательно, чтобы проект предусматривал асинхронное действие этих компонент по отношению друг к другу. Изменения в областях приложения машин и методах про- программирования неизбежно требуют от машины способности к расширению с функциональной точки зрения. Целесообразно проэкстраполировать сегодняшние тенденции и заранее учесть их развитие. Этого можно достичь прямым увеличением мощ- мощности системы, т. е. увеличением емкости памяти, использова- использованием систем с многими СР1Л, использованием различных новых устройств ввода-вывода и разделением времени. Можно пойти также по пути обобщения функций. Примером может служить кодово-независимый просмотр информации и соответствующие возможности перекодировки. Наконец, можно пойти по пути разумного оставления запасных разрядов, кодов операций и блоков кодов операций для новых режимов, команд и групп команд.
Архитектура системы 1ВМ-360 105 Изменение требований к комплектации системы приводит к необходимости разрабатывать не только такие вопросы, как стандартность сопряжения устройств ввода-вывода с устрой- устройствами управления, но и обеспечения специальных возможно- возможностей для того, чтобы машина могла непосредственно опраши- опрашивать состояния, управлять работой и отвечать на запросы других комплектующих модулей, пользуясь при этом линиями передач, отличными от обычных. Эти черты допускают получе- получение сверхсистемы, которая может быть динамично перестроена с помощью программного управления с целью приспособить ее более точно к специфическим функциям или получить изящный уменьшенный вариант. Во многих частных приложениях некоторое специальное (и часто минимальное) изменение увеличивает полезность системы. Эти модификации (КРС5), которые могут скорректировать не- некоторые недальновидности первоначального проекта, часто со- содержат операции, заранее не предусмотренные. В любом слу- случае хорошая общая схема позволила бы избежать некоторых изменений и легко внести другие. Универсальность функций Проект машины должен предусматривать индивидуальные конфигурации системы для больших и малых, специфических и общего типа задач из следующих областей: экономика, наука, реальное время, обработка первичной информации, связь, язык и логическая обработка данных. Спроектированное СР11 должно быть удобным для каждого из этих применений. Отдельные удобства, такие, как десятичная арифметика или арифметика с плавающей запятой, могут потребоваться только в задачах того или иного типа и должны предлагаться на выбор, однако с точки зрения логической структуры они должны быть согла- согласованы со всем проектом. В частности, универсальность системы приводит к следую- следующим требованиям: 1. Логика должна обладать большой общностью, чтобы до- допускались все комбинации разрядов в данных и их можно было обрабатывать с помощью операций, мощность и полез- полезность которых зависит от общей природы представления дан- данных больше, чем от любого специфического выбора такого пред- представления. 2. Операции должны быть кодово-независимыми, за исклю- исключением, конечно, тех операций, где структура кода существенна для операции, как, например, в арифметике. В частности, все кодовые комбинации должны быть допущены в качестве дан- данных; ни одна комбинация разрядов не должна оказывать влияние
106 'Д&с. Амдпль, Лж. Блоу, Ф. Брукс на любую управляющую функцию в случае ее появления в по- потоке данных. 3. Должна иметься возможность работы с отдельным раз- разрядом. 4. Адресная система должна обеспечивать возможность ад- адресоваться к небольшим группам разрядов, желательно к группе, используемой для кодирования символа. Далее, использование СР11 общего назначения для машин, работающих в системах связи, потребовало радикального пере- пересмотра понятий. Традиционные СР11, например, дополняются независимым устройством со своей программой AВМ-7750 или 7740), чтобы управлять всеми функциями связи. Поэтому же- желательно, чтобы новое СР11 легко производило такие логиче- логические функции, как перекодирование и компоновку сообщений. Линии связи в этом случае прямо связывались бы с каналом ввода-вывода через управляющий блок, который осуществлял бы только сборку букв и функции электрического управления линиями. Реальная производительность Основным признаком хорошо спроектированной системы яв- является более высокая производительность по сравнению с дру- другими машинами, имеющими ту же самую цену. Этого нельзя игнорировать при конструировании серии совместимых машин. Отсюда каждая индивидуальная модель и конфигурация си- системы должны быть конкурентоспособны по сравнению со спе- специализированными системами, аналогичными по функциям, мощности или по тому и другому. Эта цель вполне достижима, несмотря на требование совместимости, так как благодаря той же совместимости можно осуществить особенно значительное снижение стоимости. Совместимость моделей Нужно было спроектировать серию моделей с внутренней производительностью, перекрывающей диапазон от машин типа 1ЁМ-1401 до машин значительно более мощных, чем 1ВМ-7030 E1ге1сЬ). Как уже упоминалось, все модели должны быть прямо программно совместимы, как «вверх», так и «вниз», на уровне программ, записанных в машинных кодах. Выражение «прямо программно совместимы» требует более точного определения. Здесь оно означает, что правильная (уаНй) программа, логика которой не зависит явно от времени выпол- выполнения и которая выполняется на машине Л, будет также выпол- выполняться на машине 5, если последняя имеет по крайней мере требуемую память, по крайней мере требуемые устройства вво-
Архитектура системы 1ВМ-360 107 да-вывода и по крайней мере требуемые выборные черты. Неправильные (шуаНс!) программы, т. е. программы, не удовле- удовлетворяющие требованиям инструкции по программированию, не Адреса Модем» Память Модель 30 40 50 60 62 70 Емкость в ^р рядных байтах 1к = 1024 8-64К 16-2 56 К 32-256К 128-Л 2 к 256-512п 256-512к Команды Управление 30 40 50 ВО 62 70 Тип Односторонняя память Односторонняя память Односторонняя память Односторонняя память Односторонняя память Стандартные компоненты Цикл, мксек 1,0 0,625 0,5 0,25 0,25 Проиндексированные адреса Алина слова, исключая четность 8 16 32 64 64 6 Цикл, ми сек 2,0 2,5 2,0 2,0 *>о 1,0 Поток данных Модель 30 40 50 60 62 70 Разрядность шин передачи инфорлга - исключая четноап 8 8 32 64 64 64 Фиксированная запятая { Задержка на логический уровень^ нсек 30 30 30 10 10 5 Поле перемен- переменной длины Плавающая запятая Общие регистры аьз2) Регистра для плава- плавающей запятой Dx64) Местная память Моде* 30 40 50 60 62 70 Тип Отавная память Регистры на сер- сердечниках Регистры -на сер- сердечниках Транзисторные _Г регистры Транзисторные Г регистра Транзисторные ре а ист Л" Длина слоша\иикл исключая й четность 8 16 32 64 64 64 2,0 1,25 0,5 Рис. 1. Структура машины и основные параметры. обязаны давать одни и те же результаты на всех моделях. Ин- Инструкция определяет, кроме результатов всех операций, завися- зависящих от типа модели, результаты не зависящих от модели, но необычных или неправильных (туаНс!) операций. Программы, зависящие от времени выполнения, будут также совместимы, если эта зависимость явная и если, например, предусмотрена проверка окончания операций ввода-вывода или проверка вре- времени по часам.
108 Дж. Амдаль, Дж. Блоу, Ф. Брукс Совместимость гарантирует, что самые разнообразные нужды пользователя легко удовлетворяются соответствующей моделью. Совместимость обеспечивает также максимальное ис- использование обслуживающих программ, подготовленных изго- изготовителем, максимальное привлечение программ, сделанных пользователем, способность использовать небольшие системы для выполнения вспомогательных работ в комплекте с боль- большими и исключительную свободу в комплектовании систем для тех или иных конкретных приложений. Потребовались новые взгляды и способы мышления, чтобы понять, что совместимость может быть достигнута. В последние несколько лет многие создатели вычислительных машин поняли, хотя и недостаточно четко, что логическая структура (как она представляется программисту) и физическая (как она представ- представляется инженеру) совершенно различны. Так, все могут пред- представить себе регистры, счетчики и т. д., однако для программи- программистов они могут не ассоциироваться с реальной конструкцией. Иное положение было в 50-х годах. Явное признание дуальности структуры открыло путь к совместимости в 1ВМ-360. Требова- Требование совместимости предопределяет, что основная архитектура должна охватывать различные технологии, различные соотно- соотношения скоростей памяти и схем, различную разрядность цепей передач данных и различную сложность потоков данных. На рис. 1 приведены данные об основной структуре машины и реа- реализации ее на различных уровнях производительности. РЕШЕНИЯ, ПРИНЯТЫЕ ПРИ ПРОЕКТИРОВАНИИ Некоторые решения при проектировании архитектуры стали основополагающими, так как они а) определяют выдающиеся характеристики 1ВМ-360, б) решают проблемы, возникающие в связи с совместимостью, тем самым проливая свет на суть различия между небольшими и большими моделями, или в) ре- решают проблемы, возникающие при достижении универсализма, тем самым проливая свет на суть различий в применениях. Эти решения, возникшие проблемы, конкурирующие возможности и причины принятия окончательных решений обсуждаются в по- последующих частях статьи. Формат данных Для основного формата (который влияет на размер симво- символов, слов, командных полей, число индексных регистров, выпол- выполнение ввода-вывода, разбивку команд, емкость памяти, ко- кодировку символов и т. д.) нужно было решить, должны длины
Архитектура системы IВ М-360 109 модулей информации быть кратными 2п или ЗХ2П. Несмотря на то, что при выборе формата было рассмотрено много сторон во- вопроса, существенно влияющих друг на друга, мы будем обра- обращаться с основными компонентами решения как с независи- независимыми. Длина кода символа 6 или 4/8. В длине символа основная проблема в том, что десятичная цифра требует 4 разрядов, а буквенно-цифровые символы — 6. Были рассмотрены три оче- очевидные альтернативы — 6 разрядов и для цифр и для букв с 2 разрядами, теряемыми в случае числовых данных; 4 раз- разряда для цифр, 8 для буквоцифр с 2 разрядами, теряемыми на буквоцифрах; и 4 разряда для цифр и 6 для буквоцифр, что потребовало бы принятия 12-разрядного модуля в качестве ми- минимального адресуемого элемента. Был также кратко рассмо- рассмотрен 7-разрядный символ, который содержит перекодированную пару десятичных цифр. Вариант 4/6 был отвергнут, так как а) желательно иметь гибкую и мощную обработку потоков символов и адресацию от- отдельных символов даже в моделях, где десятичные цифры не используются; б) ограничение буквенного символа 6 разрядами казалось недальновидным и в) инженерные сложности этого решения могли стоить больше, чем потерянные разряды в сим- символе. Шестиразрядное представление, использованное в семей- семействах 1ВМ-702—7080 и 1401—7010, а также в системах других фирм, имело преимущества привычности, пригодности суще- существующего оборудования ввода-вывода, простого определения структуры поля и соразмерность с 48-разрядным словом с пла- плавающей запятой и 24-разрядным командным полем. Представление 4/8, использованное в семействе 1ВМ-650— 7074 и других машинах, имело большую эффективность коди- кодирования, запасные разряды в кодах алфавитно-цифровых сим- символов (позволяя расширить запас символов) и соразмерность с 32/64-разрядным словом с плавающей запятой и 16-разрядным командным полем. Наиболее важным из этих факторов была кодовая эффективность, которая следует из того, что числа в деловых записях встречаются не менее чем вдвое чаще букв. Эта эффективность, для данных затрат на конструкцию, позво- позволяет лучше использовать память на сердечниках, иметь более быстрые ленты и более емкие диски. Длина слова с плавающей запятой 48 или 32/64. Для боль- больших моделей время сложения растет медленно с длиной слова, а время умножения растет почти линейно. Для небольших по- последовательных моделей время сложения растет линейно, а умножение — как квадрат длины слова. Время ввода-вывода
ПО Дж. Амдаль, Дж. Блоу, Ф. Брукс массивов данных растет линейно. В больших машинах чаще требуется высокая точность; для небольших машин более важно требование коротких операндов. Иными словами, из-за совместимости при выборе основного формата появляются опре- определенные противоречия. Надежные данные о том, какая точность должна выдержи- выдерживаться на различных задачах и в различные моменты решения одной задачи, отсутствовали. Практически нельзя получить на- надежные данные по таким первичным параметрам, как частота операций с двойной точностью на 36- и 48-разрядных машинах. Стоял вопрос — либо обострить все эти проблемы, приняв 48-разрядное слово, либо принять 64-разрядное слово, тем са- самым обеспечив задачи, чувствительные к точности, либо принять 32- или 36-разрядное слово, чтобы обеспечить максимальную скорость и лучшую эффективность кодирования для остальных задач. В 1ВМ-360 было решено иметь слова с плавающей за- запятой длиной и в 64 и в 32 разряда. Это решение, с целью лучше удовлетворить требования пользователя, предлагает на выбор или улучшить показатель скорость/занятая память, или увеличить точность за счет ухудшения этого показателя. Счи- Считается, что пользователи больших моделей большую часть вре- времени используют 64-разрядные слова. Для пользователя мень- меньших моделей в большинстве случаев достаточно 32 разрядов. Все модели с плавающей запятой имеют обе длины слова и работают одинаково. Плавающая запятая с основанием 16. Для плавающей за- запятой без противоречий между большими и малыми моделями было выбрано основание 16. Исследования Суини [1] показали, что при этом выборе относительная частота пресдвигов, пере- переполнений и послесдвигов с потерей точности в сложениях с пла- плавающей запятой существенно уменьшается. Он показал, что по сравнению с основанием 2 процент частоты случаев перепол- переполнения составляет 5 против 20, пресдвигов — 43 против 58 и по- послесдвигов с потерей точности—11 против 18. Таким образом, скорость заметно увеличивается. Кроме того, большую часть всех пресдвигов будут завершать за один проход более простые логические цепи с меньшим числом логических уровней. На- Например, цепи, сдвигающие на 0, 1, 2, 3 или 4 двоичных разряда, покрывают 82% пресдвигов при основании 2. Существенно бо- более простые цепи, сдвигающие на 0,1 или 2 шестнадцатиричных разряда, покрывают. 93% всех пресдвигов при основании 16. Это упрощение дает высокую скорость для больших моделей и низкую стоимость для малых. Наиболее существенное неудобство принятого основания 16— это сдвиг в использовании разрядов от порядка к мантиссе. Так,
Архитектура системы 1ВМ-360 Ш для данного диапазона и данной минимальной точности осно- основание 16 требует на 2 разряда меньше для порядка и на 3 раз- разряда больше на мантиссу по сравнению с основанием 2. Соот- Соответственно эффекты округления и усечения в 8 раз больше для данной длины мантиссы. Для 64-разрядной длины это не про- проблема. Для 32-разрядной длины с ее 24-разрядной мантиссой минимальная точность уменьшается до 21 разряда. Но так как для задач, где минимальная точность стесняет пользователя, можно употреблять 64-разрядное слово, были выбраны более высокая скорость и простота основания 16. Арифметика значимости. Было предложено много схем, даю- дающих оценку значимости машинных результатов. Одна такая схема, модифицированная форма ненормализованной арифме- арифметики, была в течение некоторого времени включена в проект. Эта схема была в конце концов отброшена после того, как мо- моделирование показало, что при этом способе работы по срав- сравнению с операциями с нормализацией действительно получае- получаемая значимость примерно на одну шестнадцатиричную цифру меньше Кроме того, оценка значимости, полученная для любой данной задачи, существенно меняется в зависимости от данных, используемых для теста. Представление знака. Для отрицательных чисел в арифме- арифметике с фиксированной запятой в двоичном случае было выбрано представление в дополнительном коде. Единственность предста- представления нуля и отсутствие повторных переходов к дополнению — хорошо известные достоинства такого представления. Эти су- существенные преимущества дополняются несколькими особенно полезными в адресной арифметике свойствами. Особенно это важно для больших моделей, в которых адресная арифметика имеет свое собственное оборудование. При использовании до- дополнительного кода это индексирующее оборудование работает быстрее, так как не нужна схема, пропускающая прямой код или его дополнение. В небольших последовательных моделях тот факт, что старшие разряды адресной арифметики могут быть опущены без изменения младших разрядов, также позволяет увеличить скорость. Аналогичное свойство усечения упрощает вычисления с двойной точностью. Кроме того, при вычислениях таблиц округление и усечение до целого числа изменяют все переменные в одном и том же направлении, таким образом давая более приемлемое распределение погрешности, чем дает представление «абсолютная величина плюс знак». С другой стороны, установившийся в коммерческих расчетах способ округления сделал использование записи в дополнитель- дополнительном коде для десятичных данных неудобным, поэтому здесь ис- используется представление «абсолютная величина плюс знак».
112 Дж. Амдаль, Дж. Блоу, Ф. Брукс В операциях с плавающей запятой достоинства нормализации по нулям только в старших разрядах и представления наимень- наименьшего возможного числа всеми нулями предрешили выбор в пользу метода «абсолютная величина плюс знак». Десятичные числа переменной или постоянной длины. Так как в деловых записях разрядность чисел существенно меняется от случая к случаю, эффективность кодирования (и отсюда ско- скорость лент, емкость накопителей, скорость СРЦ1 и т. д.) может быть увеличена с помощью операций над числами переменной длины. Это легко осуществимо для последовательных (зепаЬЪу- Ьу1е) 1) машин, и семейства 1ВМ-1401—7010 и 702—7080 сде- сделаны именно так. Менее гибкая структура больше подходит бо- более параллельной машине, и в машинах семейства 1ВМ-650— 7074 десятичная арифметика работает с фиксированной длиной слова. Можно ожидать, что преимущество в эффективности хра- хранения данных переменного формата уменьшается тем, что в командах требуется дополнительная информация для указания длины. Хотя для больших машин предпочтителен фиксирован- фиксированный формат, был принят переменный формат из-за того, что а) мелкие фирмы многочисленны и совсем недавно освоили пе- переменный формат и б) большие коммерческие машины обычно ограничены вводом-выводом; для них неудобство внутренней работы с переменным форматом более чем компенсируется уве- увеличением эффективной скорости движения ленты. Десятичный накапливающий сумматор или операции па- память-память. Тесно связанный с предыдущим вопрос, встре- встречающийся и в больших и в малых моделях, касается использо- использования накапливающего сумматора как одного из операндов в десятичной арифметике или же использования ячеек памяти для всех операндов и результатов. Этот вопрос уместен даже после принятия форматов переменной длины; например, он отличает арифметику 1ВМ-702—7080 от семейства 1ВМ-1401—7010. Большие модели легко позволяют увеличивать скорость, ис- используя в качестве накопителей регистры или местную память. Для небольших машин, использующих память на сердечниках для логических регистров, прибавление к накапливающему сум- сумматору не быстрее, чем сложение с ячейкой, указанной програм- программистом. Сложение двух произвольных операндов и сохранение результата становятся ЗАГРУЗИТЬ, СЛОЖИТЬ, ПЕРЕСЛАТЬ В ПАМЯТЬ, однако и эта процедура существенно медленнее для небольших моделей, чем последовательность ПЕРЕСЛАТЬ, СЛОЖИТЬ, соответствующая операции память-память. Ариф- ') Байт (Ьу1е)—единица, равная нескольким битам (здесь восьми).— Прим. ред.
Архитектура системы 1ВМ-360 ПЗ метические операции в программах обработки деловых данных (как в написанных вручную, так и особенно в компилиро- компилированных с КОБОЛа) чаще представлены в последней форме, и редко случается, что промежуточные результаты выгодно хра- хранить в накапливающем сумматоре. В адресной арифметике и арифметике с плавающей запятой верно прямо противопо- противоположное. Работа с полями: слова-метки или длина. Поля переменной длины могут быть определены либо с помощью символов раз- разграничителей или слов-меток, либо указанием в команде длины поля или начала и конца. Для деловых данных слова-метки имеют некоторое слабое преимущество в эффективности памяти: один лишний разряд на 8-разрядный символ должен стоить меньше, чем добавочные 4 разряда на 16-разрядный адрес. Кроме того, команды, и, следовательно, адреса, обычно зани- занимают большую часть памяти на сердечниках в машинах для коммерческих вычислений. Однако принятие слова-метки приво- приводит к использованию слов-меток также и в командах, так что стоимость не уменьшается. То же самое верно для всех данных с фиксированными полями, что является важным фактором для универсальной машины. В итоге, поскольку эффективность памяти примерно та же, определение поля было перенесено в команду с тем, чтобы до- допустить все комбинации данных и обеспечить легкое и более прямое программирование. Последнее в основном является следствием того, что принятый способ дает удобную адресацию к частям полей. Чтобы упростить перемещение программ и мо- модификацию команд, для указания размеров поля была выбрана именно длина, а не конечный адрес. Код А5СН или ВСЭ. Дальновидность выбора в 1961 г. 8-разрядного символа стала ясной в 1963 г., когда Американ- Американское бюро стандартов приняло 7-разрядный символьный код для информационного обмена (А5СН). Этот 7-разрядный код про- проходит теперь окончательное обсуждение в Международной ор- организации стандартов для принятия в качестве рекомендуемого международного стандарта. Возникает вопрос — почему не при- принять А5СП в качестве единственного внутреннего кода для 1ВМ-360? Причиной против принятия только кода А5СН было широко распространенное использование кода ВСЭ, ведущего свое про- происхождение от перфокарточного кода 1ВМ и легко транслируе- транслируемого на этот код. Чтобы облегчить использование обоих кодов, центральные вычислительные устройства спроектированы с вы- высокой степенью кодовой независимости, со специальными 8 Зак. 1622
Номера разрядов 4567 00' 01 • 00 ■ 0 I 1 0000 0001 оою ООН 0100 0H1 ОНО ОШ 1000 1001 1010 1011 1100 1101 1110 1111 N111.1. РР нт 1С N1. КЕ& N1 К 1СХ ВУР 1Р БОВ РВЕ РМ КЗ ис ЕОТ 00 Ы.АМК • ? ( ••• 0» & 1 \ • ) С 10 - / * * .—. _ м и : * » у ю- 00 а Ь с а е И 01 ^ к 1 ш п о Р Ч г 10 и V X У X 11 • п. 00 > А В С 0 Е Р б Н 1 01 < ) К 1 М N О Р Я 10 1 5 Т V V VI/ X V 1 II 0 1 2 3 4 5 6 7 б 9 Рис. 2а. Расширенный двоично-кодированный десятичный (ВСЭ) код для обмена. Номера разрядов 4321 — 00- Х5 00 01 10 11 0000 ОО01 оою ООП 0100 0101 0110 0111 УООО 1001 1010 1011 1100 1101 1110 1111 мои. 5ОМ 10 А СОМ ЕОТ ки БЕ11. ВК$Р нт 1.Р УТ г? СИ $0 $1 осо ОС, ОС7 ос3 0С4 5Т0Р Е«к 5УЫС им *о 51 5г 53 54 55 $6 57 ■01- 10- 00 &АЫК 1 и # $ % » ( ) • - • / 01 0 1 2 3 4 5 6 7 8 9 • • > < - > 7 Ю И 11- 00 и* ю <§> А В с 0 Е Р 0 н 1 ^ к М N 0 п Р К 5 т и V * X У 2 С \ 3 1 00 01 го а Ь с а е 9 • 1 к 1 т п о М Р г 8 и V УУ X У г Е5С 0Е1. Рис. 26. 8-разрядное представление 7-разрядного Американского стандарт- стандартного кода для информационного обмена (АС5П).
Архитектура системы 1ВМ-360 115 средствами для перекодировки и программным выбором кода ВСЭ или А5СП для кодовозависимых команд. Тем не менее должен быть сделан выбор для схем ввода-вывода, чувстви- чувствительных к кодировке, и для программных обслуживающих си- систем. Было решено предложить на выбор пользователю оба кода на равных правах. Какой бы из кодов ни был выбран, си- системы будут, конечно, легко читать и писать входную-выход- входную-выходную информацию с носителя с другим кодом. На рис. 2 при- приведены расширенный код ВСЭ для обмена и 8-разрядное пред- представление 7-разрядного кода А5СП. Расположение границ форматов. Основная проблема совме- совместимости относится к выравниванию границ полей. Различные модели должны иметь различную разрядность памяти и шин пе- передачи данных, и поэтому для каждой модели более выгоден свой способ работы. Для 8-разрядных моделей границы симво- символов, по-видимому, должны совпадать с границами ячейки без каких-либо еще ограничений. Для 64-разрядных моделей пред- предпочтительным является способ работы, при котором не бывает разделения полей между различными 64-разрядными двойными словами. Принятое общее правило постулирует (рис. 3), что ка- каждое поле фиксированной длины должно начинаться с адреса, кратного его длине; на десятичные и символьные поля перемен- переменной длины ограничение не накладывается, и они обрабатывают- обрабатываются последовательно во всех моделях. Все модели должны сле- следить за тем, чтобы программисты придерживались этих правил. Это весьма существенно для защиты от использования непра- неправильных программ, которые могли бы работать отлично на ма- малых моделях и не работать на больших; это исключило бы со- совместимость. Общее правило, имеющее очень немного и очень незначительных исключений, состоит в том, что недопустимые ситуации, описанные в инструкции по программированию, обна- обнаруживаются аппаратно и вызывают прерывания. Этот тип пре- прерывания отличается от прерываний из-за сбоев машины. Вопросы, касающиеся структуры команд Стэк или адресуемые регистры. Была серьезно рассмотрена схема, основанная на магазинном накопителе, или стэке [2]. Она была отвергнута в пользу нескольких адресуемых регистров. Так как преимущества стэка рассматривались в литературе [3], здесь достаточно перечислить его неудобства, которые вызвали решение использовать адресуемые регистры: 1. Более высокая производительность при работе со стэком является следствием существования нескольких быстрых ре- регистров, а не того, каким образом они используются или адре- адресуются.
116 Дж. Лмдаль, Дж. Блоу, Ф. Бруке 2. Из-за случающихся повторений операндов (как констант, так и общих множителей) доля случаев, когда «полезные» дан- данные, т. е. данные, нужные в следующий момент, «выплывают на поверхность» стэка, составляет около половины всех случаев. Это приводит к использованию таких операций, как ПОДНЯТЬ и ОБМЕНЯТЬ, первая из которых копирует погруженные дан- данные в активную позицию, а вторая помогает устранить погру- погруженные данные, когда они больше не нужны. 3. С учетом операций ПОДНЯТЬ и ОБМЕНЯТЬ реальная плотность команд, достигнутая за счет широкого использования неявных адресов, примерно равна плотности для команд с яв- явными, но укороченными адресами, которые употребляются только для быстрых регистров. 4. При любой практической реализации глубина стэка огра- ограничена. Те заботы о регистрах, которые сняты «магазинной» ор- организацией, появляются снова как заботы о конечной глубине стэка и заботы об адресации данных, находящихся внутри стэка, для команд ПОДНЯТЬ и ОБМЕНЯТЬ. Кроме того, когда стэк нужно разгрузить, чтобы освободить место для новых данных, то разгружать нужно часть, расположенную на дне стэка, а не в активной области. 5. Способность использовать подпрограммы рекурсивно есгь одно из очевидных преимуществ стэка. Однако неудобство со- состоит в том, что это преимущество не реализуется, если не ввести добавочные независимые стэки для целей адресации. 6. Обработка полей переменной длины затруднительна в стэке с фиксированной разрядностью. В конечном счете стэковая организация должна быть отно- относительно удачной для системы, предназначенной в основном для научных вычислений. Здесь намерение сделать систему более универсальной заставило выбрать более гибкую организацию с адресуемыми регистрами. Полные или укороченные адреса. С самого начала главный вызов совместимости лежал в адресации памяти. Ясно, что в больших моделях потребуется емкость памяти в миллионы сим- символов. В небольших (последовательных) моделях требуются ко- короткие адреса, чтобы сэкономить дорогую память и уменьшить время выборки команд. Положение до некоторой степени было облегчено решением использовать адресуемые регистры, что уменьшает частоту появления полных адресов в потоке команд приблизительно в два раза. Из предшествующих решений ясно, что все адреса должны быть индексируемы и что должно быть обеспечено простое пе- перемещение всех программ. Индексирование полностью подтвер-
Архитектура системы 1ВМ-360 117 дило свою ценность в существующих системах [4]. Используя индексирование, полные адреса можно получать с помощью полноразмерного индекс-регистра, выполняющего роль базы. Этот способ вместе с использованием укороченных адресов дает существенное увеличение в плотности команд. Принцип ре- регистра-базы был принят, а затем усилен введением для некото- некоторых команд второго индексирования. Следующим возник вопрос: какой объем памяти нужно еде-' лать прямо адресуемым, а к какому можно обращаться только с помощью базовых регистров? Некоторые имевшиеся ранее слу- случаи использования принципа регистра-базы были явно не- неудачны, в основном из-за плохой организации перехода с пря- прямой адресации на базовую и обратно. Было решено сделать си- систему полностью основанной на базовых регистрах; прямая часть адреса, или «смещение», было сделано таким маленьким. A2 разрядов, или 4096 символов), что прямая адресация встре- встречается практически только на очень небольших моделях. Эта решение приводит к тому, что все программы не зависят от места, за исключением констант, помещаемых в регистры-базы. Таким образом, все программы можно легко перемещать. Эта решение также приводит к тому, что обслуживающая система эффективно и действенно управляет механизмом использования регистров-баз. Компонующая программа автоматически строит адреса по принципу «база плюс смещение» и распределяет их во время построения таблицы символов. Компиляторы вы- выполняют не только эту работу, но и распределяют память для базовых регистров так, чтобы получались эффективные про- программы. Десятичная или двоичная адресация. Решено использовать двоичную, а «е десятичную адресацию, так как а) компонующие программы, так сказать, «на уровень отдаляют» пользователя от адресов, поэтому привычность использования становится не столь важной, б) двоичная адресация более эффективна (эф- (эффективность характеризуется отношением 3,32/4,00) и в) ра- работа с таблицами проще и имеет более общий вид, поскольку любые комбинации разрядов могут находиться в адресе и могут быть сложены с «им, опять давая допустимый адрес. Однако эта решение несколько противоречит принципам, принятым в прош- прошлом. Машины для чисто деловых применений часто использо- использовали десятичную адресацию (машины «родоначальники» семей- семейства). Теперь большинство машин для деловых применений имеет двоичную адресацию или перешло к адресации со сме- смешанным основанием. Использование многих накапливающих регистров. Экстра- Экстраполяция тенденций развития техники показывает, что можно
Двойное слово Слово Слово Полуслово Полуслово Полуслово Полуслово Байт I Байт Байт Байт Бай т Байт- Байт Байт Число с фиксированной запятой (полуслово) 15 Целое | Число с фиксированной запятой (полное слово) 31 Целое Короткое число с плавающей запятой Порядок 24 Мантисса О 7| ) | Длинное число с плавающей запятой Порядок 56 Мантисса О Упакованное десятичное число Цифра Цифра Цифра Цифра Цифра Цифра Цифра Знак Десятичное число с восьмеричным представления цифр Зона* Цифра Зона ■Логическая информация фиксированной длины Логические данные Цифра лЛогическая информация переменной длины Форматы команд Зона Цифра Знак 4 Цифра, 1 * | Символ 6 ■Символ НЯ формат 1 8 \Код операции 4 4 яг б Символ формат 8 Код операции Н1 Х2 4 В2 02 15 31 формат Код операция^ Я1 Г~4 я^ Я1 4 52 /г 02 51 формат 11 15 19 6 Код операции 0 1 55 формат 8 Код операции 0 1 8 12 г 4 4 12 ' 11 15 15 4 В1 4 В1 19 1$ /г 01 12 01 31 4 В2 31 35 ! 12 О2 47 * Зона - А старили* разряда при пред- представлении десятичной цифры в ВСО или А6СП подах Рис. 3. Форматы.
Архитектура системы 1ВМ-360 сделать небольшую, но очень быструю память. Вследствие этога в проекте используется значительное число логически независи- независимых регистров, которые физически реализованы или в памяти на сердечниках, или в местной быстрой памяти, или на транзи- транзисторах в зависимости от модели. В логическом проекте системы имеется шестнадцать 32-разрядных регистров общего назначе- назначения и четыре 64-разрядных регистра для плавающей запятой. Предусмотрена возможность увеличения числа последних до восьми. Неожиданно оказывается, что решение использовать, много регистров не создает конфликта между большими и ма- малыми моделями. В разных моделях одна и та же логика реа- реализована соответственно по-разному. Иерархия памяти. Развитие технологии обеспечивает непре- непрерывный спектр систем памяти, скорость которых меняется об- обратно пропорционально емкости при равной цене за бит. Равно важно и то, что требования задач, естественно, соответствуют спектру систем памяти — небольшое количество данных исполь- используется с большой частотой, среднее количество — со средней ча- частотой и очень большое количество — с низкой частотой. Если иерархия памяти сможет быть эффективно использована, эти факты улучшат отношение производительность/цена. Было решено внести в проект инженерные, архитектурные и программные черты, требуемые для использования иерархии памяти. Инженер должен согласовать в пределах одной системы памяти с технически различными принципами построения, с раз- различными скоростями, схемами, потребляемыми мощностями, сиг- сигнальными шинами и т. д., причем все это требует асинхронности; работы всех видов памяти по отношению к СР11 Программист1) вынужден считаться с неудобствами, создаваемыми границами- внутри полной памяти, и должен определять используемые ча- части памяти. Он должен разработать методику адресации для очень больших емкостей, методику передач данных блоками \и работы с ними, методику сквозной индексации и обхода разры- разрывов в последовательности адресов. Раздельные или универсальные накапливающие регистры Имеются некоторые преимущества в использовании одних и. тех же логических (в противоположность физическим) реги- регистров для арифметики с фиксированной и плавающей запятой. Однако имеются некоторые менее очевидные неудобства, кото- которые повлияли на решение использовать разные группы накап- накапливающих регистров. Во-первых, при принятом методе адреса- *) Имеется в виду программист — создатель обслуживающих программ.— Прим. перев.
120 Дж. Амдаль, Дж. Блоу, Ф. Брукс ции регистров D разряда в нашем случае) использование раз- разных групп допускает адресацию большего количества регистров с использованием для этого кода операции. Во-вторых, в боль- больших моделях выполнение команды и подготовка следующих команд производятся одновременно в отдельных блоках. При использовании одной группы регистров эти. процессы оказы- оказываются взаимосвязанными сильнее; этим уменьшается асинхронизм и достижимое совмещение. Исторически индексные регистры были отделены от регистров для фиксированной запятой, что ограничивало задачу распределения регистров только задачей распределения индексных величин. Объединение регистров ве- ведет к тому, что вся мощь арифметических операций с фикси- фиксированной запятой используется для индексных вычислений. Преимущества объединения проявляются при выполнении лю- любых программ (даже при выполнении компиляторов и компо- компонующих программ), в то время как заботы о распределении регистров падают только на компиляцию и компоновку. Система ввода-вывода Способ управления вводом-выводом без понимания отли- отличия логической структуры от физической стал бы главной про- проблемой при попытке сделать совместимыми все модели. Не- Небольшие машины используют оборудование СРУ для выполне- выполнения действии, необходимых для ввода-вывода; в больших ма- машинах требуется несколько независимых каналов, способных действовать независимо и одновременно по отношению к СРУ и друг к другу. В каждом из таких каналов в больших машинах часто содержится больше компонент, чем во всей небольшой машине. Канальные команды. В логической схеме машины канал рас- рассматривается как независимо действующая единица. Программа СР1Л начинает канальную операцию, задавая нужную каналь- канальную программу и используемое устройство ввода-вывода. Ка- Канальные команды, специализированные для ввода-вывода, определяют блоки памяти для чтения или записи, действия устройства ввода-вывода, условные и безусловные переходы в канальной программе и т. д. Когда канальная программа кончается, программа СРЦ1 прерывается и становится доступ- доступной полная информация о состоянии канала и устройства вво- ввода-вывода. Особенно ценной чертой является зацепленность команд, (соттапй сЬатт^) — способность последовательных каналь- канальных команд задавать устройству последовательность различных операций, таких, как ИСКАТЬ, ЧИТАТЬ, ПИСАТЬ, ЧИТАТЬ
Архитектура системы 1ВМ-360 121 С КОНТРОЛЕМ. Эта черта позволяет подавать новые команды в устройство за очень короткое время, тем самым существенно увеличивая фактическую скорость. Стандартное сопряжение. В результате общности подхода к вопросу о связях между центральным вычислительным уст- устройством и устройствами ввода-вывода появился канал, ко- который осуществляет стандартное сопряжение с устройством управления для устройства ввода-вывода. Это сопряжение было достигнуто тем, что канал сделали способным передавать между памятью и устройством не только данные, но и упра- управляющую информацию, а также информацию о состоянии устройств. Все функции, специфичные для данного устройства ввода-вывода, предусмотрены в^ устройстве управления этим устройством. Для сопряжения требуется 29 сигнальных линий. Независимость сопряжения от времени осуществлена с по- помощью блокирующих сигналов. Реализация. В небольших моделях поток данных и управ- управляющая информация разделены во времени между СР{] и ка- каналом. Когда байт данных появляется из устройства ввода- -вывода, СР1Л «захватывается», разгружается, используется и восстанавливается. Хотя максимальная скорость передачи дан- данных оказывается при этом меньше (а взаимодействие с вычис- вычислениями в СР11 больше), чем в случае отдельной аппаратуры, выполняемые действия одни и те же. После того как канал становится самостоятельным понятием, использующим оборудование с разделением во времени, можно иметь большое число каналов фактически бесплатно, за исклю- исключением места в памяти на сердечниках для управляющих слов. Мультиплексный канал такого типа включает в себя до 256 ин- индивидуальных каналов, причем все они могут работать одновре- одновременно, пока суммарный поток данных находится в приемлемых границах. Такое мультиплексирование очень полезно для приме- применений в системах связи. ЗАКЛЮЧЕНИЕ В статье показано, как принимались решения для логиче- логической структуры шести моделей, которые составляют систему 1ВМ-360. Были перечислены причины, повлиявшие на принятие форматов данных, выбор команд и управление вводом-выво- вводом-выводом. Главными чертами новой организации машин являются ее пригодность для многих типов обработки данных, новый подход к памятям большой емкости и совместимость машинного языка для шести моделей.
122 Дж. Амдаль, Дж. Блоу, Ф. Брукс Кратко перечислим вопросы, которые были рассмотрены в статье. 1. Относительная независимость логической структуры и фи- физической реализации допускает эффективную реализацию на различных уровнях производительности. 2. Задачи, являющиеся общими при работе машин в боль- большинстве приложений, требуют такой совокупности команд и воз- возможностей в машине, которая могла бы послужить базой для добавления специальных возможностей, ориентированных на конкретные приложения. 3. Форматы, команды, распределение регистров, а также та- такие функции, как защита памяти и прерывания в машине, могут быть определены так, что они становятся применимы на многих уровнях производительности и допускают широкую специализа- специализацию для частных применений. Мы надеемся, что обсуждение этих черт проекта прольет не- некоторый свет на сегодняшние и завтрашние потребности в орга- организации систем обработки данных. П РИЛОЖЕНИЯ Основные черты окончательного проекта, кратко рассмотрен- рассмотренного выше, приведены в пяти приложениях, в которых даются форматы, коды данных и команд, распределение памяти и ха- характеристики прерываний. Осуществление проекта 1ВМ-360 зависело от различных до- достижений многих людей. Наиболее важными из этих достижений были гибридные полупроводниковые компоненты, герметизи- герметизированные стеклом, печатный монтаж на панелях и внутри ячеек, новые системы памяти, односторонние памяти и микро- микропрограммная техника, новые устройства ввода-вывода и до- достижение нового уровня в обслуживающих программных си- системах. Разработка и широкое применение идеи совместимости, а также осуществление всей ШМ-ЗбО в значительной степени были проведены благодаря Б. О. Эвансу, вице-президенту отде- отделения Е)а1а 5у51ет5-Оеуе1ортеп1. Приложение 1. В таблице приведены все коды операций. Восьмиразряд- Восьмиразрядные коды операций разбиты на основные группы, такие, как арифметика с фиксированной запятой, арифметика с плавающей запятой и логические операции. Кроме того, коды группируются в соответствии с пятью основ- основными форматами команд: КК (регистр-регистр), КХ (регистр-память (с ин- индексированием)), КЗ (регистр-память), 51 (память-непосредственная инфор- информация) и 35 (память-память).
Коды операций Формат Класс хххх 0000 0001 0010 ООН 0100 0101 ОНО 0111 • 1000 1001 1010 1011 1100 1101 1110 1111 Передачи управления и переключения состояния ООООхххх • Установить маску програм- программы Передать управление с воз- возвратом Передать управление по счет- счетчику Передать управление по ус- условию Установить ключ (зе1 кеу) Выбрать ключ AП5ег1 кеу) Обратиться к супервайзеру Операции над полным словом с фиксированной запятой и логические операции 0001ХХХХ Загрузить положитель- положительным Загрузить отрицатель- отрицательным Загрузить и проверить Загрузить дополнением И Сравнить логически Или Исключающее или Загрузить Сравнить Сложить Вычесть Умножить Разделить Сложить логически Вычесть логически КК Операции с плавающей, запятой над длинными числами ООЮхххх Загрузить положитель- положительным Загрузить отрицатель- отрицательным Загрузить и проверить Загрузить дополнением Уменьшить вдвое (Ьа1- уе) Загрузить Сравнить Сложить N Вычесть N Умножить Разделить Сложить У Вычесть У КК Операции с плавающей запятой над короткими числами ООП хххх Загрузить положитель- положительным Загрузить отрицатель- отрицательным Загрузить и проверить Загрузить дополнением Уменьшить вдвое (Ьа1- уе) Загрузить Сравнить Сложить N Вычесть N Умножить Разделить Сложить У Вычесть II
Продолжение Формат Класс хххх 0000 0001 0010 ООП 0100 0101 ОНО 0111 1000 1001 1010 1011 1100 1101 1110 1111 Операции над полусловами с фиксированной запятой и передачи управления ОЮОхххх Записать в память Загрузить адрес Записать в память символ Вставить символ (шзег! сНа- гас!ег) Выполнить команду (ехеси!е) Передать управление с воз- возвратом Передать управление по счетчику Передать управление по ус- условию Загрузить Сравнить Сложить Вычесть Умножить Преобразовать в десятичную Преобразовать в двоичную кх Операции над полным слоном г гЬиксипонанной ^ *>11/ О \^ 1У\ \~ *-г* **■ '*■ *■ ** г ^^ ^-* ^ ^ ^ ^^ * * запятой и логические Ъ^ ъ& 11/1 л ^^ * А * А У1\У 1 * А ^& ^^ ^^ 1V X А ^^ операции 0101ХХХХ Записать в память И Сравнить логически Или Исключающее или Загрузить Сравнить Сложить Вычесть Умножить Разделить Сложить логически Вычесть логически КХ Операции с плавающей запятой над длинными числами ОПОхххх Записать в память Загрузить Сравнить Сложить N Вычесть N Умножить Разделить Сложить У Вычесть V КХ Операции с плавающей запятой над короткими числами ОШхххх Записать в память Загрузить Сравнить Сложить N Вычесть N Умножить Разделить Сложить V Вычесть У
Формат Класс хххх 0000 0001 0010 ООП 0100 0101 ОНО 0111 1000 1001 1010 1011 1100 1101 1110 1111 КЗ, 51 Передачи управления, переключения состояния и сдвиги ЮООхххх Установить маску системы Загрузить Р5№ Диагностика Записать непосредственно Прочитать непосредственно Передать управление по «больше» Передать управление по «меньше-равно» Сдвинуть вправо 5Ь Сдвинуть влево 5Ь Сдвинуть вправо 5 Сдвинуть влево 5 Сдвинуть вправо ЭЬ Сдвинуть влево ОЬ Сдвинуть вправо В Сдвинуть влево 0 К5, 51 Операции с фиксированной запятой, логические операции и операции ввода-вывода 1001хххх Записать в память группу ($1оге тиШр1е) Проверить по маске Aез1 ипйег таэк) Переслать И Сравнить логически Или Исключающее или Загрузить группу Начать ввод-вывод Проверить состояние устрой- устройства ввода-вывода Остановить. ввод-вывод Проверить состояние канала ЮЮхххх Продолжение ЮПхххх
Продолжение Формат Класс хххх СООО 0001 0010 ООП 0100 0101 ОНО 0111 1000 1001 1010 1011 1100 1101 1110 1111 ПООхххх 55 Логические операции 1101хххх Переслать цифры (тоуе питепс) Переслать Переслать зоны *) (тоуе гопе) И Сравнить логически Или Исключающее или Перекодировать Aгапз1а1е) Перекодировать и проверить Отредактировать (есН1) Отредактировать и отметить (есН1 апс1 тагк) ШОхххх 55 Операции с десятичными числами ИНхххх Переслать со сдвигом Упаковать (раек) Распаковать (ипраск) Очистить и сложить Сравнить Сложить Вычесть Умножить Разделить Сокращения: N — с нормализацией 5Ь — слово логически — двойное слово логически II — без нормализации 5 — слово Э — двойное слово *) См. сноску к рис. 3.
Архитектура системы 1ВМ-360 127 Приложение 2. В данной таблице приведены форматы всех управляющих слов, нужных при работе СРП и каналов. Базовые и индексные регистры, определяемые В и X полями команды, обеспечивают получение 24-разрядного адреса. Слово Состояния Программы (Р5^, Рго^гат 51а1из ^огс!) управ- управляет последовательностью выполнения команд и отражает, за исключением адресуемых регистров и памяти, полное состояние СР11. При прерывании Р5Ш сохраняется в памяти. Управляющее Слово Канала (СС^, СЬаппе! Соттапс! ^огс1) управляет операцией ввода-вывода и переходом к сле- следующему управляющему слову. Часть таблицы составляют команды, кото- которые могут быть посланы в канал1). Адресное Слово Канала (СА^, СЬаппе! АсЫгезз ^огй) используется, чтобы начать последовательность операций ввода-вывода. В Слове Состояния Канала (СЗЭД", СЬаппе1 51а1из ЭДогс1) фиксируется состояние канала после завершения операции ввода-вывода или, когда оно определено, во время операции ввода-вывода. Форматы управляющих слов базовые и индексные Регистры ГО-О- О-О-О-О-О-О-О-О-1- 1-1 -1-1 -1-1-1 -1-1-2-2-2-2-2-2-2-2-2-2-3-3-» ! • .1 ВАЗОВЫЙ АДРЕС ИЛИ ИНДЕКС * • • I ••О-1-2-*^*»*-5-6-7-в-9-О-1-2-3-*-5-6-7-8-9-0-1-2-3-4-5-6-7-8-9-0-1-» о - 7 Не используются в - 31 Вазовый адрес или индеко Слабо Состояния Программы (Р31У) гО-О-О-О-О-О-О-0-0-0-1-1- 1-1 -1-1 -1-1-1-1-2-2-2-2-2-2 -2-2-2-2-3-3-1--■ ! МАвКА СИСТЕМЫ ! КЛЮЧ \ АМУ/Р ! КОД ПРЕРЫВАНИЯ ■ * I I I I Ю- 1-2-3-4-5-6- 7-8-9-0-1-2-3-4-5-6-7-8-9-0-1 -2-3-4-5-6-7-8-9-0-1* 3-3—3-3-3-3-3-3-4-4-4-А-4-4-4-4-4-4-5-5—5-5-5-5-5-5-5-5-6-6-6-61 I I I МАСКА I | I НСIСС • ПРОГРАММ АДРЕС КОМАНДЫ » » • • Ш ' • -—2-3-4 .5-6-7-8-9- О-1-*-3-«- 5-6-7-8-9-0- 1-2-3-4-5-6-7-8-9- 0-1-2-3-1 О—7 Маска системы 0 Маска мультиплексного канала 1 Маска селекторного канала 1 2 Маска селекторного канала 2 3 Маска селекторного канала 3 4 Маска селекторного канала 4 5 Маска селекторного канала 5 6 Маска селекторного канала 6 7 Маска внешних прерываний 8—11 Ключ защиты памяти 12 Режим А5СП (А) 13 Маска контроля машины (М) ') Упомянутая часть таблицы в английском оригинале отсутствует. -- Прим. перея.
128 Дж. Амдаль, Дж. Блоу, Ф. Брукс Продолжение 14 Состояние ожидания (^) 15 Режим решения основной задачи (Р) — в отличие от режима супервайзера 16—31 Код прерывания 32—33 Код длины команды AЬС) 34—35 Код-условие (СС) 36—39 Маска программы 36 Маска переполнения в операциях с фиксированной запятой 37 Маска переполнения в операциях с десятичными числами 38 Маска исчезновения порядка 39 Маска потери значимости 40—63 Адрес команды Управляющее Слово Канала (ССИ/) г0-0-0-0-0-0-0-0-0-0-1-1-1-1-1-1 -1 -I -1-1-2-2-2-2-2-2-2-2-2-2-З-Зч •ПОДКОМАНДЫ • АДРЕС ДАННЫХ ! »-О-1-2-3-4-5-6-7-8-9-0-1 -2-3-4-5-6- 7-8-9-0- 1 -2-3-4-5-6-7-8-9-0-1 -1 -— г-Э-Э-3-3-3-Э-3-3-4-*-«»-<1-<»-а-4-4-4-с-5-5-5-5-5-5-5-5-5-5-6-6-6-6ч 111! I 1 ПРИЗНАКИ1000* # 1 СЧЕТЧИК «| 1111 ( -— С2-3-4-5-6-7-8-Ч-О-1-2-3-4-5-6-7-8-9-0-1-2-3-4-5-6-7-8-9-0-1-2-3* О—7 Код команды 8—31 Адрес данных 32—36 Управляющие признаки 32 Признак цепочки данных 33 Признак цепочки команд 34 Признак блокировки неправильной длины массива 35 Признак пропуска (блокировка записи в память) 36 Признак программно-управляемого прерывания 37—39 Нули 40—47 Не используются 48—63 Счетчик Адресное Слово Канала (САМ) с0-О-О-О-О-0-0-О-0-0-1-1-1-1-1-1 -1- 1 -1 -1-2-2-2-2-2-2-2-2-2-2-3-33 \КЛЮЧ го о о о! АДРЕС СШ ! III ! «-О-1-2-3-4^5-6-7--8-9-0-1-2-3-4-5-6-7-8-9-0-1-2-3-4-5-6-7-8-9-0-1"' о - э Ключ заищты 4-7 Нули а - 31 Адрес
Архитектура системы 1ВМ-360 129 Продолжение Слово Состояния Канала (С$№) гО-0-0-0-0-0-0-0-0-0-1-1-1-1-1-1-1-1-1-1-2-2-2-2-2-2-2-2-2-2-3-3-1 --- I КЛЮЧ !оооо! АДРЕС ССЫ \ III I *0-1-2-3-4-5-6-7-8-9-0-1-2-3-4-5-6-7-8-9-0-1-2-3-4-5-6-7-8-9-0-1 ---гЗ-3-3-3-3-3-3-3-4-4-4-4-4-4-4-4-4-4-5-5-5-5-5-5-5-5-5-5-6-6-6-61 » • I I СОСТОЯНИЕ I СЧЕТЧИК I I I I ... 12-3-4-5-6-7-8-9-0-1-2-3-4-5-6-7-8^-9-0-1-2-3-4-5-6-7-8-9-0-1-2-3-» О—3 Ключ защиты памяти 4—7 Нули 8—31 Адрес СС№ 32—47 Состояние 32 Внимание (а11еп1юп) 33 Состояние модификатора (зШиз тосИПег) 34 Конец работы устройства управления 35 Занято (Ьизу) 36 Конец работы канала 37 Конец работы устройства 38 Ошибка в устройстве 39 Исключенная операция в устройстве (ипН ехсериоп) 40 Управляемое программой прерывание 41 Неправильно задана длина массива (тсоггес1 1еп&1п) 42 Ошибка в программе 43 Задано обращение к защищенной области памяти (рго1ес1юп спеск) 44 Ошибка в канале (в данных) 45 Ошибка в канале (в управлении! 46 Ошибка в стандартном сопряжении 47 Ошибка в цепочке 48—63 Счетчик Приложение 3. В таблице приведены все постоянно распределенные ячей- ячейки памяти. СР11 и каналы ввода-вывода обращаются к этим ячейкам в программе начальной загрузки, во время прерываний и при изменении со* стояния часов. При работе программы начальной загрузки при помощи Опре- Определенного входного устройства считывается 24 байта в ячейки с 0 по 23. Эта информация последовательно используется в качестве СС№ для ука- указания расположения дальнейшей входной информации и в качестве Р5АКГ для управления действием СР11, после того как загрузка завершена. Во время прерывания текущее Р5№ сохраняется в ячейке «старого», а Р5\^ из ячейки «нового» выбирается в качестве следующего Р5Ш. Счетчик вре- времени уменьшается, и когда он проходит через 0, происходит прерывание. Ко всем постоянно распределенным ячейкам возможно также обращение из программы.
Постоянно распределенная память 0 8 16 24 32 40 48 56 64 72 76 80 84 88 96 104 112 120 128 Адрес 0000 0000 0000 1000 0001 0000 0001 1000 0010 0000 0010 1000 ООП 0000 ООП 1000 0100 0000 0100 1000 0100 1100 0101 0000 0101 0100 0101 1000 ОНО 0000 ОНО 1000 0111 0000 0111 1000 1000 0000 Длина Двойное слово » » » » » » » » » » » » Слово Двойное слово » » » » » » Назначение Р5^ программы начальной за- загрузки ССМ1 программы начальной за- загрузки СОМ2 программы начальной загруз- загрузки Старое Р5^ при внешних пре- прерываниях Старое Р5АУ при обращении к су- первайзеру Старое Р5АУ программы Старое Р5^ машины Старое Р5АУ ввода-вывода Слово Состояния Канала Адресное Слово Канала Не занято Часы Не занято Новое Р5\У при внешних прерыва- прерываниях Новое Р5^ при обращении к су- первайзеру Новое Р5№ программы Новое Р5^ машины Новое Р5^ ввода-вывода Поле информации о состоянии ма- машины для диагностики ♦) *) Размер этого поля зависит от конкретной модели и каналов ввода-вывода.
Архитектура системы 1ВМ-360 131 Приложение 4. В таблице приведены все команды, которые изменяют код-условие C2 и 33 разряды в Р5№). Все другие команды оставляют код- условие неизменным. Код-условие определяет результат команды ПЕРЕ* ДАЧА УПРАВЛЕНИЯ ПО УСЛОВИЮ. Четырехразрядная маска в команде определяет, при каких значениях кода произойдет передача управления. ЗНАЧЕНИЕ КОДА-УСЛОВИЯ 0 12 3 Арифметика фиксированной запятой Сложить Н/Р Сложить логически Сравнить Н/Р Загрузить и проверить Загрузить дополнением Загрузить отрицатель- отрицательным Загрузить положитель- положительным Сдвиг влево V Сдвиг влево 5 Сдвиг вправо 0 Сдвиг вправо 5 Вычесть Н/Р Вычесть логически Десятичная арифметика Сложить десятичные Сравнить десятичные Вычесть десятичные Очистить и сложить Нуль » Равно Нуль » » » » » » » — Нуль Равно Нуль , Нуль Меньше нуля Не нуль Меньше Меньше нуля Меньше нуля Меньше нуля — Меньше нуля Меньше нуля Меньше нуля Меньше нуля Меньше нуля Не нуль Меньше нуля Меньше Меньше нуля Меньше Больше нуля Нуль, перенос Больше Больше нуля — Больше нуля Больше нуля Больше нуля Больше нуля Больше нуля Больше нуля Больше нуля Нуль, перенос Больше нуля Больше Больше нуля Больше Переполнение Перенос — — Переполнение — Переполнение Переполнение Переполнение — — Переполнение Перенос Переполнение — Переполнение Переполнение нуля нуля
Арифметика с плаваю- плавающей запятой Сложить с нормализа- нормализацией 5/Ь •Сложить без нормализа- нормализации 5/Ь Сравнить 5/Ь Загрузить и проверить 5/Ь Загрузить дополнением 5/Ь Загрузить отрицатель- отрицательным 5/Ь Загрузить положитель- положительным 5/Ь Вычесть с нормализаци- нормализацией 5/Ь Вычесть без нормализа- нормализации 5/Ь Логические операции Сложить Сравнить логически Отредактировать Отредактировать и от- отметить Исключающее или Или Проверить по маске Перекодировать и про- проверить Операции ввода- - вывода Прекратить ввод-вы- ввод-вывод Начать ввод-вывод Проверить состояние ка- канала 0 Нуль Нуль Равно Нуль Нуль Нуль Нуль Нуль Нуль Нуль Равно Нуль Нуль Нуль Нуль Нуль Нуль Не работает Доступно Не оаботает I Меньше нуля Меньше нуля Меньше Меньше нуля Меньше нуля Меньше нуля — Меньше нуля Меньше нуля Не нуль Меньше Меньше нуля Меньше нуля Не нуль Не нуль Смешанное Не завершилась Остановле- Остановлено С5№ записано в память С5№ готово 2 Больше нуля Больше нуля Больше Больше нуля Больше нуля — Больше нуля Больше нуля Больше нуля — Больше Больше нуля Больше нуля — — — Заверши- Завершилась Продолжение 3 Переполнение Переполнение — — — — — Переполнение Переполнение — — — — — — Единицы — Прекраще- Выключено но Занято Работает Выключено Выключено
о Проверить состояние ус- Доступно тройства ввода-вы- ввода-вывода 1 Продолжение 2 3 Работает Выключено Сокращения Доступно Занято Перенос Завершилась С5\У готово С5\У записано в память Равно Р Больше нуля Н Остановлено Больше Не завершилась I Меньше нуля Меньше Смешанное Выключено Не работает Не нуль Единицы Переполнение 5 . Прекращено Работает Нуль записано в память Устройство и канал доступны Устройство или канал заняты Произошел перенос из разряда знака Последний байт результата не нуль Слово состояния канала готово для проверки - или прерывания Слово состояния канала записано в память Сравниваемые операнды равны Полное слово Результат больше нуля Полуслово Передача данных прекращена; отключенный блок переводится в нулевое положение Первый операнд больше Байт результата не нуль; байт не последний Длинное число Результат меньше нуля Первый операнд меньше Среди выбранных разрядов имеются и нули и единицы Устройство или канал выключены Устройство или канал не работают В результате не все разряды равны нулю Все выбранные разряды — единицы Переполнение результата ; Короткое число Передача данных прекращена Устройство или канал работают Результат или выбранные разряды — нули Замечание. Код-условие может быть также изменен операциями ЗАГРУЗИТЬ#-Р5\\^- НОВИТЬ МАСКУ СИСТЕМЫ, ДИАГНОСТИКА и при прерывании.
134 Дж. Амдаль, Дж. Блоу, Ф. Брукс Приложение 5. В таблице приведены все прерывания, которые могут произойти. В ней указывается код в старом Р5^, определяющий причину прерывания, разряды маски, которые могут быть использованы для того, чтобы заблокировать прерывание, и сведения о том, как влияет прерывание на выполнение команды. Адрес команды, которая была бы выполнена сле- следующей, если бы прерывание не произошло, записывается в адресном поле команды старого Р5^. Если известна длина предшествующей команды, то она приводится в коде длины команды (ИХ, 1пз1гисИоп Ьеп&1Ь Сос1е), и это отражено в одном из столбцов таблицы. ОБРАБОТКА ПРЕРЫВАНИЙ Название источника прерывания Код прерывания, разряды Р5АУ 16—31 СО м о со 1ЬС Выполнение команды В вод-вы вод (старое Мультиплексный канал Селекторный канал 1 Селекторный канал 2 Селекторный канал 3 Селекторный канал 4 Селекторный канал б Селекторный канал б Программа (старое Операция Особая операция Выполнить команду Защита памяти Адресация Спецификация (ЗресШсаМоц) Данные Переполнение в опера- операции с фиксированной запятой Деление с фиксирован- фиксированной запятой Переполнение в опера- операции с десятичными чи- числами Десятичное деление Переполнение порядка Исчезновение порядка 56, новое Р5№ 120, приоритет 4) 00000000 00000001 00000010 00000011 00000100 00000101 00000110 аааааааа аааааааа аааааааа аааааааа аааааааа аааааааа аааааааа 0 1 2 3 4 5 6 X X X X X X X 40, новое Р5№ 104, приоритет 2) 00000000 00000000 00000000 00000000 00000001 00000010 00000011 00000100 00000000 00000000 00000101 00000110 00000000 00000111 00000000 00001000 00000000 00001001 00000000 00001010 00000000 00001011 00000000 00001100 00000000 00001101 36 37 38 1 0 0. 1 .2,3 1.2 2 , 2. 3 1.2,3 ,2, 3 2,3 1.2 1.2 3 3 1.2 1,2 Завершается Завершается Завершается Завершается Завершается Завершается Завершается Прекращается Прекращается Прекращается Прекращается/ Заканчивается Прекращается/ Заканчивается Прекращается Заканчивается Завершается Прекращается/ Завершается Завершается Прекращается Заканчивается Завершается
Продолжение Название источника прерывании Значимость Деление с плавающей запятой Код прерывания, разряды Р5Ш 16—31 00000000 00001110 00000000 00001111 Маска 39 1.2 1.2 Выполнение команды Завершается Прекращается Обращение к супервайзеру (старое Р5№ 32, новое Р5№ 96, приоритет 2) Разряды команды 00000000 гггггггг 1 Завершается Внешний источник (старое Внешний сигнал 1 . 00000000 Внешний сигнал 2 00000000 Внешний сигнал 3 00000000 Внешний сигнал 4 Внешний сигнал б Внешний сигнал б Прерывание по кнопке на пульте Часы 24, новое 88, приоритет 3) 00000000 00000000 00000000 00000000 ххххххх1 хххххх1х ххххх1хх хххх1ххх ххх1хххх хх1ххххх х1хххххх 00000000 1ххххххх 7 7 7 7 7 7 7 7 X X X X X X • X X Завершается Завершается Завершается Завершается Завершается Завершается Завершается Завершается Проверка машины (старое 48, новое Р5\У 112, приоритет 1) Машинный сбой 00000000 00000000 13 Заканчивается Сокращения: а) Разряды адреса устройства ввода-вывода, г) Разряды полей 1 и 2 команды ОБРАТИТЬСЯ К СУПЕРВАЙЗЕРУ. х) Значение этих разрядов заранее неизвестно. ЗАПИСЬ ДЛИНЫ КОМАНДЫ Код длины команды 0 1 2 2 3 32-33 разряды Р5Ш 00 01 10 10 11 0—1 разряды команды 00 01 10 11 Длина команды Не известна Одно полуслово Два полуслова Два полуслова Три полуслова Формат команды ЯК ях КЗ или §1 55
136 Дж. Амдаль, Дж. Блоу, Ф. Брукс Л ИТЕРАТУРА 1, З^еепеу И. №., Ап Апа1уз15 о! Р1оа1т&-Рот1 АсШШоп апс! 1ВМ Зузгетз 1оита1. 2. См., например, В а г I о п К. 5.,, А Ые^ АрргоасЬ {о Ше РипсИопа1 о! а В'щШ Сотри1ег, Ргос. ШСС, 19 A961), 393—396. 3. В г о о к 5 Р. Р., Зт., Кесеп1 Оеуе1ортеп1з 1П Сотри1ег Ог^ап12аИоп, Аи- Vапсез хп Е1есгготс8, 18 A963), 45—64. 4, В 1 а а и \у О, А., 1пс1ех1гш, т Р1апп1пц а Сотршег Зузгет, №. В и с Ь- Ьо1г, её., МсОга^-НШ Воок Сотрапу 1пс, 1962, рр. 150—178,
Проектирование свойств эксплуатационной надежности для системы 1ВМ-3601) У. Картер, Г. Монтгомери, Р. Прейсс, Г. Рейнхеймер В этой статье обсуждается проектирование свойств, которые призваны обеспечить значительно большую эксплуатационную надежность системы 1ВМ-360 по сравнению с надежностью предыдущих систем. С самого начала было решено разрабатывать систему 1ВМ-360 как единый комплекс обору- оборудования, операционных программ и методоов технического обслуживания. Главными проблемами, которые следовало решить, добиваясь повышен- повышенной эксплуатационной надежности и единства, были: а) уменьшение макси- максимальной продолжительности ремонтов, б) уменьшение медианной и средней продолжительности ремонтов и в) подбор единого комплекса эксплуатацион- эксплуатационных программ и методов эксплуатации, согласующихся с самыми различными программами операционных мониторов и моделями машины. Эти задачи были решены с помощью дополнительных стандартных об- обслуживающих средств (и аппаратных, и программных), предусматривающих: а) возможность автоматически записывать во всех деталях ту ситуацию, в которой находилась система в момент обнаружения ошибки; б) возмож- возможность установить центральное вычислительное устройство (СР11, сеп!га1 рго- сеззш^ ипП) в любое произвольно заданное состояние (как «допустимое», так и «недопустимое»), выполнить, начиная с этого состояния, указанное количество машинных циклов и сравнить новое состояние с предварительно вычисленным результирующим состоянием; значительная часть используемых при этом схем не зависит от схем, необходимых для выполнения програм- программы; в) систему программ, которую можно использовать совместно с комплек- комплексом Автоматизации Проектирования 1ВМ-360, чтобы автоматически полу- получить входные значения, эталонные результаты и анализ места неисправности, т. е. то, что необходимо для реализации возможностей, описанных в б); г) семейство программ диагностических мониторов, которое решает задачу подбора эксплуатационных процедур для различных моделей машины и программ операционных мониторов; д) в больших моделях возможность повторить выполненные с ошибкой операции СШ на уровне команды в до- добавление к обычному повторению на уровне сегментов программы. Введение На ранней стадии проектирования системы 1ВМ/360 была поставлена задача: значительно повысить эксплуатационную ) С а г I е г №. С, М о п 1 § о т е г у Н. С, Р г е \ 8 8 К. X, К е * п Ь е 1- т е г Н. Л., Оез^п о1 ЗетсеаЬПНу РеаШгез 1ог 1Ье 1ВМ 5уз1ет/360, 1ВМ /. #ез. апй йеу., 8, № 2 A964), 115—126.
138 У. Картер, Г. Монтгомери, Р. Прейсе, Г. Рейнхеймер надежность по сравнению с эксплуатационной надежностью существующих систем. Стремление получить требуемые, улуч- улучшенные характеристики заставило искать новые пути, что неиз- неизбежно привело к смещению акцента при проектировании си* стемы. Цель этой статьи: описать новые способы, в которых выразилось стремление к повышению эксплуатационной надеж- надежности 1ВМ-360. Здесь не описывается количество дополнитель- дополнительного оборудования, поскольку оно зависит от модели. Благодаря тому, что особое внимание уделялось единству свойств в моде- моделях системы и многократному использованию элементов везде, где это возможно, количество дополнительного оборудования оказывалось не чрезмерным. Вначале описывается процесс, с помощью которого основ- основная задача сводится к конкретным целям. Далее излагается разработанная с целью уменьшения продолжительности ремон- ремонтов система для автоматического определения места ошибки. Затем рассматривается совокупность специального оборудова- оборудования и программ, которые обеспечивают возможность объединить эксплуатационные программы в любой комплекс машина/про- машина/программа-монитор. В последнем разделе резюмируются наиболее существенные эксплуатационные преимущества 1ВМ-360. ГЛАВНЫЕ ЗАДАЧИ ПРИ ОБЕСПЕЧЕНИИ ЭКСПЛУАТАЦИОННОЙ НАДЕЖНОСТИ СИСТЕМЫ 1ВМ-360 Основные определения Система с точки зрения эксплуатационной надежности со- состоит из оборудования 1ВМ-360, программ системы, операцион- операционных программ, оператора и среды. Большинство внеплановых остановок для технического обслуживания вызывается отказами системы, которые можно определить как обнаруженное присут- присутствие нежелательного действия или обнаруженное отсутствие желательного действия. Устойчивый отказ определяется как от- отказ, всегда проявляющийся при одних и тех же условиях, ко- которыми пользователь может управлять. Неустойчивый отказ определяется как отказ, над проявлением которого пользователь совсем или почти совсем не властен [1]. Рабочий период состоит из времени, пригодного для продук- продуктивного использования системы, времени, предусмотренного для планового профилактического обслуживания, и времени внепла- внеплановых ремонтов. Время внеплановых ремонтов —это произве- произведение числа отказов в элементах на среднее время устра- устранения последствий отказов плюс время, обусловленное ошиб- ошибками оператора, неправильной работой программ и средой. Не-
Эксплуатационная надежность системы 1ВМ-360 139 исправности элементов обсуждаются в [2]. Хотя ряд средств в 1ВМ-360 предусмотрен для облегчения обработки программ- программных ошибок, настоящее обсуждение ограничивается в основном особенностями, которые облегчают и улучшают локализацию неисправностей в оборудовании. Постановка задачи Прежде всего при постановке задачи предполагается, что на- начальные эффекты обучения [3] прошли, и период быстрого из- изменения эксплуатационной эффективности, обусловленный вво- вводом новых методов и систем, позади. Чаще всего этот период занимает приблизительно год. Имеющийся в настоящее время опыт работы в промышлен- промышленности показывает, что распределение внеплановых простоев си- системы определяется графиком, приведенным на рис. 1. Для большинства установок наиболее серьезным показателем вне- внепланового обслуживания являются ие столько медианная или средняя продолжительности (хотя они тоже важны), сколько продолжительность устранения неисправности на уровне 90% и выше. В настоящее время большие неудобства возникают при остановках системы на 4, 5, 6 или более часов подряд, ибо та- такая остановка нарушает весь график работы установки. По- Поэтому самой насущной целью является резкое уменьшение ма- максимальной продолжительности ремонта. Кроме продолжительности длительного ремонта, важны так- также медианные и средние продолжительности ремонта. Эти три величины взаимосвязаны и зависят от распределения продолжи- продолжительности внеплановых ремонтов как функции от суммарного процента внеплановых ремонтов. Распределение, полученное в результате имеющегося опыта, показано на рис. 1. Рабочая ги- гипотеза состоит в том, что общая форма кривой распределения будет оставаться относительно неизменной. Если некоторая средняя продолжительность простоя предполагается равной, скажем, йа или йъ, тогда кривые Л и В на рис. 1 дают прием- приемлемые распределения внеплановых перерывов. С помощью этих кривых можно показать, что для уменьшения среднего значения в данном эмпирическом распределении необходимо уменьшить медианное значение в том же процентном отношении. Учитывая основную задачу, упомянутую во введении, и только что рассмотренные соображения, был установлен сле- следующий приоритет целей по повышению эксплуатационной на- надежности для 1ВМ-360: а) резко уменьшить максимальную продолжительность вне- внепланового ремонта;
140 У. Картер, Г. Монтгомери, Р. Прейсс, Г. Рейнхеймвр б) существенно сократить медианную продолжительность внепланового ремонта; в) как естественное следствие пункта (б), существенно уменьшить среднюю продолжительность внепланового ремонта. Рис. 1. Суммарный процент ремонтов как функция продолжительности ремонта. Величины Ла и йь представляют средние продолжительности, а величины тпа и т^ представляют медианные продолжительности ремонтов для предполагаемых распределений А и В. С другой стороны, чтобы совместимость программ и стан- стандартизация компонент способствовали эксплуатационной надеж- надежности в такой степени, в какой они могут этому способствовать, было признано необходимым сделать так, чтобы нить подобия, которая охватывает несколько моделей, осталась видимой для тел, кто обслуживает эти системы. Нельзя допустить, чтобы со-»
Эксплуатационная надежность системы 1ВМ-360 141 четания различных аппаратных реализаций с программами опе- операционных мониторов скрывали принципиальное сходство раз- различных моделей. Стремление не потерять эти потенциальные удобства приводит к четвертой цели в эксплуатационной на- надежности: г) разработать единый всесторонний комплекс стандартных обслуживающих программ и процедур, которые эффективны для всех основных сочетаний конфигураций машины и программ- -мониторов. После того как цели определились, немедленно встала за- задача указать средства, с помощью которых эти цели можно* было бы реализовать и определить среду, в которой эти сред- средства могли бы использоваться. Первым средством являются до- дополнительные схемы, которые предназначены для облегчения эксплуатации. Второе средство — это программы, которые ис- используют новое оборудование и стандартные команды вычисли- вычислительной машины для локализации неисправных элементов. Эти средства должны использоваться в двух ситуациях. Чаще встре- встречается ситуация, при которой отказ повторяется и симптомы отказа легко получить. Диагностические средства должны быть рассчитаны так, чтобы использовать эти симптомы непосред- непосредственно. Во второй ситуации неисправность в системе прояв- проявляется редко, но тем не менее она серьезно мешает желаемому* использованию системы. В этом случае задача состоит в полу- получении симптомов, которые можно проанализировать. Если симп- симптомы получены, то для их обработки можно использовать ту же самую редко сбивающуюся вычислительную машину. УМЕНЬШЕНИЕ МЕДИАННОЙ И СРЕДНЕЙ ПРОДОЛЖИТЕЛЬНОСТИ РЕМОНТОВ Можно достичь уменьшения продолжительности внеплано- внепланового ремонта, используя следующую общую стратегию: а) при неисправностях в устройствах, функции которых мо- могут быть выполнены другими устройствами, использовать диаг- диагностическую программу для сбора данных о симптомах, после чего исключить неисправное устройство и продолжать работу на сокращенной системе; б) для неисправностей в устройствах, функции которых нельзя выполнить с помощью других устройств, улучшать экс- эксплуатационные характеристики. Метод, реализующий эту стратегию, был применен в системе 1ВМ-360. Неисправности типа (а) будут обсуждаться в этой статье позднее. Для неисправностей типа (б) было решено
142 У. Картер, Г. Монтгомери, Р. Прейсе, Г, Рейнхеймер сосредоточить внимание на уменьшении времени, необходимого для диагностики, так как это самая значительная составная часть времени ремонта и именно она создает наибольшие воз- возможности для улучшения. Два главных препятствия, которые ограничивали уменьшение времени диагностики в более ранних машинах, состоят в следующем: 1. Лишь незначительная доля элементов схемы была до- доступна непосредственно программному управлению и опросу. Это было названо проблемой разрешающей способности по ад- адресам. 2. Интервал между точками, в которых состояние системы можно было определить с помощью программ, был равен вре- времени выполнения целой команды. Система проходила через не- несколько промежуточных состояний, «о это можно было устано- установить только по тому, что наблюдалось в конечных точках. Это было названо проблемой разрешающей способности по вре- времени. После того как в недавней работе [4] было показано, что удачное решение обеих этих проблем можно получить достаточ- достаточно дешево, естественно было испытать это предложение на СР11, а в целях снижения стоимости учесть это с самого начала проектирования. В малых моделях, управляемых с помощью постоянного за- запоминающего устройства (ПЗУ), для достижения тех же целей был избран несколько другой подход. Это будет обсуждаться ниже в разделе «Самодиагностика». Тесты, локализующие неисправность (ТЛН) Диагностика выполняется применением серий стимулов и анализом соответствующих реакций. Если логика между стиму- стимулом и реакцией управляется и идентифицируется однозначно, тогда серии правильных и неправильных реакций могут при- привести к точному указанию неисправного элемента схемы. Чтобы обеспечить хорошую разрешающую способность по адресам в 1ВМ-360, требуется оборудование, ограничивающее количество схем, участвующих в отработке конкретного тест-стимула. Чтобы выполнить идентификацию, требуется длинная и сложная про- программа, которая вычисляет необходимые стимулы для проверки логики и анализирует реакции. Так как нельзя надеяться, что эту работу сможет выполнить неисправная машина, данные должны быть вычислены заранее на работающей системе. В не- неисправной системе необходимо иметь дополнительное оборудо- оборудование, которое должно подавать стимулы, рассматривать реак- реакции и определять следующее действие, которое нужно выпол- выполнить для достижения диагностического заключения.
Эксплуатационная надежность системы 1ВМ-360 143 Как можно вычислить конкретные стимулы? Хорошо из* вестно, что логические свойства элементарных конструктивных блоков можно проверить, используя подмножество 'всех возмож* ных комбинаций входов [б]. Комбинаторная логическая сеть, связывающая любые два запоминающих элемента в вычисли* тельной машине, состоит из нескольких уровней таких элемен- элементарных блоков, соединенных так, как это диктуется логикой ра- боты вычислительной машины. Любой элементарный блок можно проверить, подавая на его вход некоторый пример, если в результате инверсии правильного состояния его входных или выходных линий будет инвертирован наблюдаемый выход логи- логической схемы [6, 7]. Был разработан комплекс программ для ШМ-7094 (см. до- дополнение), чтобы заранее вычислять последовательность стиму- стимулов, необходимую для указания в схеме малого количества сменных блочков, один из которых содержит неисправный эле- элемент. Определение примера, локализующего неисправность, ис- используется для описания этих стимулов. Каждый пример пред- представляет совокупность состояний запоминающих элементов, специально подобранную для того, чтобы проверить группу эле- элементарных блоков в комбинаторной логической сети, которая определяется (некоторым выходом и всеми ее входами. С использованием программ ШМ-7094 и особенностей си- системы 1ВМ-360 возможен следующий основной подход к про- проблеме быстрой локализации неисправности логической схемьп а) улучшить разрешающую способность по адресам, чтобы непосредственно работать с неисправным элементом на уровне комбинаторной логики, последовательностной логики или на уровне временной диаграммы; б) улучшить разрешающую способность по времени, обес- обеспечивая возможность записать каждое последовательное состоя- состояние вычислительной машины в ее темпе; в) представить получаемую при этом информацию в таком виде, который требует минимума человеческого анализа во время ремонта; г) обеспечить непосредственную проверку ремонта. Чтобы использовать стимулы, необходимо было только до- добавить к системе 1ВМ-360 схемы, которые устанавливают лю- любые запоминающие элементы машины в любое состояние, и обеспечить возможность, позволяющую определить состояние любого запоминающего элемента, т. е. наблюдать его реакцию. Эта особенность используется, кроме того, при автоматической записи ситуации и обсуждается в этой статье позднее. Комплекс программ для подготовки ТЛН анализирует дан- данные о логических схемах машины, записанные на ленте Основ-
144 У. Картер, Г. Монтгомери, Р. Прейсе, Г. Рейнхеймер ного Логического Массива Автоматического Проектирования {8], и вычисляет или анализирует группу тестов для определе- определения места ошибки в зависимости от модели 1ВМ-360, в кото- которой они будут использоваться. Эти тесты могут быть записаны на входной носитель, такой, как магнитная лента или диски, для непосредственного считывания моделью 1ВМ-360 в режиме тестирования с определением места неисправности или, для других моделей, диагностические тесты могут находиться в ПЗУ. Этот комплекс программ а) подготавливает данные для ТЛН, чтобы непосредственно проверить большую часть элемен- элементов СР11 в больших моделях 1ВМ-360; б) упорядочивает эти данные так, чтобы результаты проверки можно было легко ана- анализировать; в) модифицирует эти данные в связи с инженер- инженерными изменениями в логических схемах и г) выдает обрабо- обработанную документацию, которая сама по себе достаточна, чтобы уменьшить продолжительность текущего ремонта. Пользование тестом, находящимся во внешнем запоминающем устройстве ТЛН хранятся во внешнем накопителе, таком, как магнитная лента или блок дисков. Когда на инженерном пульте нажи- нажимается кнопка «ввод ТЛН», упрощенная последовательность схем управления каналом переписывает группу тестов с внеш- внешнего носителя в основную память. Каждый ТЛН подразделяется на несколько полей, как показано в табл. 1. После того как группа ТЛН считана в запоминающее уст- устройство, последующими действиями СР11 управляет специаль- специальная дополнительная схема1), предназначенная для проверки машины на примерах ТЛН. Прежде всего запоминающие эле- элементы СРМ устанавливаются в соответствие со значениями сти- стимулов в данном примере. На специальный счетчик также зано- заносится значение, указанное в поле количества тактов. Когда эта начальная установка окончена, разрешается выполнять машин- машинные такты синхронно со счетчиком. Как только на счетчике ока- окажется нулевое значение, такты прекращаются и машина опра- опрашивает запоминающий элемент, чтобы сравнить его состояние ><р предварительно вычисленным результатом. Производится это •сравнение, результат запоминается и тест повторяется фикси- фиксированное число раз, N. Если получено N одинаковых резуль- результатов, принимается решение, зависящее от этих результатов, какой из двух возможных ТЛН, указанных в поле I табл. 1, надлежит выполнять следующим. Если результаты не одинако- ') Эти схемы существуют только в больших моделях.
Эксплуатационная надежность системы 1ВМ-360 145 Таблица 1 Формат ТЛН Поле Функция а Ь С а е Идентификация Комбинация стимулов Количество тактов Управляющие разряды Указание эталонного результата и место- местоположения контролируемого элемента Указание следующих возможных ТЛН. вые, т. е. обнаружен неустойчивый отказ, вычислительная ма- машина останавливается, а тест и причина останова индуцируются на инженерном пульте. В этом случае можно обратиться к до- документации на ТЛН, которая обсуждается далее. Первичная последовательность ТЛН будет контролировать отсутствие ошибок в машине. (Одним из ТЛН, указанных в поле ( теста в первичной последовательности, является следую- следующий такой же первичный тест.) Заранее вычисленные примеры ТЛН готовятся программой-составителем ТЛН так, что полу- получается предельно широкий охват элементарных логических бло- блоков вычислительной машины. Если (неисправность обнаруживается первичным тестом, тогда ошибка машины на этом тесте либо позволяет, либо не позволяет поставить удовлетворительный диагноз, чтобы ука- указать неисправные сменные ячейки в машине. Если да, то ма- машина останавливается и на инженерном пульте индуцируется номер теста. В документации на ТЛН перечисляются эти подо- подозреваемые в неисправности ячейки схемы. Управляющие раз- разряды — поле й табл. 1 в тесте — дают информацию, чтобы определить, продолжать работу или остановиться после устой- устойчивого отказа. Если первичный тест не обеспечивает достаточной локализа- локализации, подаются ТЛН для ее улучшения. Вторичный ТЛН, ука- указанный в поле / табл. 1, проверяет некоторое подмножество эле- элементарных логических блоков из тех, которые отказали при выполнении первичного теста. Если это подмножество отказы- отказывает при вторичном тесте, значит именно это подмножество со- содержит неисправность; если тест выполняется правильно, зна- значит неисправность находится в дополняющем подмножестве. Тестирование продолжается до тех пор, пока не достигнута
146 У. Картер, Г, Монтгомери, Р, Прейсс, Г. Рейнхеймер конечная точка, как это показано в типичной последователь- последовательности тестов на рис. 2. Первичная и вторичная последователь- последовательности заранее составляются так, чтобы, когда достигается ко- конечная точка, разрешение было доведено до нескольких подо- подозреваемых сменных ячеек х). I Пербцч*ный тест [Ла Первичный тест Аа Первичный\ тест г Аа Первичный тест Нет Нет в Нет 9 Нет Вторичный тест Аа Вторичный 1 тест Вторичный тест , Аа Вторичный тест 1 Аа Вторичный тест Нет Нет Нет Нет Нет Вторичный тест 1 Ла Вторичный тест Вторичный тест Аа Вторичный тест Нет в Нет Нет Нет Конечный тест Вторичный тест Нет Конечный тест \Аа Вторичный тест Нет Конечный тест Конечный тест Конечный тест №нечный ' | тест Конечный тест Конечный тест Конечный тест Конечный (Пест Рис. 2. Типичная последовательность тестов. Конечные тесты на блок- схеме указывают, что имеется достаточное основание произвести ремонт. Чтобы избежать ошибочных выводов, вызываемых случай- случайными сбоями, тесты строятся так, что неправильное выполнение теста является условием, которое ведет к конечной точке. Если на самом деле это оказывается не так, то последний тест в це- цепочке повторяет пример первого теста, в котором была обна- обнаружена неисправность. Если последний тест не обнаруживает неисправность, машина останавливается и дается специальное указание о случайном сбое. 1) Для простых моделей число подозреваемых сменных ячеек в сред- среднем составляет приблизительно три.
Эксплуатационная надежность системы 1ВМ-360 147 Документация на тесты В документации на ТЛН указываются все логические эле- элементы машины, которые активно участвуют в образовании же- желаемого выхода для данного входного примера. Единичная не- неисправность в любом одном из описанных логических элементов или в соединении между ними обычно вызывает неправильный ответ, который обнаруживается вместо ожидаемого резуль- результата. (Это не означает, что только названные цепи работают в машине во время выполнения данного примера. Но только эти цепи при наличии в них одной неисправности могут быть обна- обнаружены по выходу.) Упомянутое перечисление включает также идентификацию теста, все относящиеся к цепи номера контак- контактов вместе со значениями, которые обычно наблюдаются в этих точках с помощью тестера или осциллографа, и ссылками к со- соответствующим логическим схемам, а также к отдельным ячей- ячейкам, которые подозреваются в каждой конкретной конечной точке. Характеристики ТЛН Предшествующая работа [4] и опыт, накопленный на экспе- экспериментальной модели, на прототипах 1ВМ-360 и на машинах 1ВМ.-1418, 1419 и 1428, показали, что наиболее существенными являются следующие характеристики ТЛН: а) процент оборудования в СР11, необходимый для работы ТЛН, колеблется между 3 и 10 (в зависимости от модели); б) тестирование с целью локализации неисправностей обес- обеспечивает единообразные процедуры, документацию и заранее спланированную методику отыскания неисправностей; в) каждый из последовательных тестов при проверке управ- управляет небольшим количеством логических элементов, обеспечи- обеспечивая тем самым отличную пространственную разрешающую спо- способность; г) ТЛН проверяют малые комбинации действий схемы, пре- предоставляя тем самым возможность имитировать логические условия, которые при тестировании обычными программами были бы возможны только при задании извне особых сиг- сигналов или при наличии специальных команд вычислительной машины; д) тестирование с локализацией неисправности обеспечивает вторичные документы, которые указывают и цепи, которые те- тестируются, и цепи, которые не тестируются; е) ТЛН и связанные с ними документы составляются и об- обновляются автоматически;
148 У. Картер, Г. Монтгомери, Р. Прейсе, Г. Рейнхеймер ж) ТЛН, составленные вычислительной машиной, требуют меньшего времени для отладки на макете и меньшего времени для проверки правильности указания места отказа в неисправ- неисправной схеме. Самодиагностика Для машин 1ВМ-360, управляемых с помощью ПЗУ, каждая команда относится к совместимому списку команд 1ВМ-360 и выполняется за один или более циклов. В каждом цикле опре- определяется некоторое состояние машины, т. е. запоминающие элементы устанавливаются в соответствии с содержимым слова, считанного из ПЗУ, при участии активной логики, такой же, как в машинах с традиционным управлением. Инженеру, который зачастую выполняет команду цикл за циклом, такое управление в вычислительной машине покажется обычным. Но потребитель в этом случае не может непосред- непосредственно воспользоваться микропрограммированием. Тем самым сразу исчезают как преимущества прямого использования мик- микрокоманд, так и недостатки двух уровней управления. Однако в машины, у которых ПЗУ является элементом уп- управления, легко встроить диагностические средства, используя часть постоянной памяти для диагностических микропрограмм *). В целях диагностики машины можно также воспользоваться од- нотактной работой, обеспечив тем самым и адресное, и времен- временное разбиение. Обнаружение ошибок производится схемами контроля. Тесты местной и основной памяти проверяют эти устройства непосредственно, не считывая из них команды. Кроме того, ПЗУ содержит микрокоманды, которые исполь- используются для инвертирования разрядов четности; таким образом, можно непосредственно тестировать схемы обнаружения оши- ошибок. Для моделей 1ВМ-360 с постоянной памятью характерны следующие эксплуатационные черты: а) управление легко проверяется: как данное слово ПЗУ» так и возможные следующие слова контролируются по чет- четности; б) документация составляется на уровне циклов машины, представляется в удобной для понимания форме блок-схемы и обновляется с помощью программ вычислительной машины; в) матрицы ПЗУ в малых моделях могут быть легко прове- проверены тестами, находящимися в ПЗУ; г) неисправности ПЗУ в больших моделях можно диагнози- ровать, используя ТЛН; Эти тесты широко используются в малых моделях.
Эксплуатационная надежность системы 1ВМ-360 149 д) специальные модификации (о некоторых из них будет сказано ниже) можно включать без особых затрат и с незна- незначительным влиянием на существующую логику управления. УМЕНЬШЕНИЕ ПРОДОЛЖИТЕЛЬНОСТИ ДЛИТЕЛЬНЫХ РЕМОНТОВ Обычно самым существенным фактором, определяющим дли- длительность ремонта, является время, необходимое для диагноза. Зачастую хуже других поддаются быстрому диагнозу те от- отказы, которые названы неустойчивыми. Стратегия для умень- уменьшения продолжительности длительных ремонтов в 1ВМ-360 на- направлена на устранение трех трудностей, относящихся к слу- случайным сбоям. Во-первцх, эффективность диагноза случайных сбоев в ранее существовавших системах была низка, так как от- отсутствовала точная и полная информация о симптомах. Во-вто- Во-вторых, влияние случайных сбоев в СР11 усугублялось потерями времени на процедуры восстановления. В-третьих, многие от- отказы относили к случайным и обрабатывали как случайные просто потому, что не было подходящих средств, чтобы вы- вызвать соответствующие симптомы. Сбор и анализ данных о симптомах Ясно, что пользователь не может вызвать случайные сбои^ чтобы получить данные о симптомах. Остается только собирать и сохранять эти данные, когда они появляются в реальной об- обстановке. Система 1ВМ-360 снабжена аппаратно-программной системой, которая именно для этого и предназначена. В связи с этой задачей к аппаратной части системы предъяв- предъявляются следующие требования: а) обнаружение ошибок сразу же после их появления; б) детальная регистрация состояния си- системы в момент появления ошибки и в) переключение к различ- различным последовательностям команд. В системе 1ВМ-360 прерывания, вызванные сигналами схем контроля, автоматически и аппаратно отделяются от прерыва- прерываний, обусловленных программой. Так как обработка программ- программных ошибок находится, очевидно, в распоряжении подпрограмм,, к которым приводит система прерываний, мы ограничимся лишь теми замечаниями, которые касаются неисправностей схемы. Требование (а) об обнаружении ошибок сразу же после их появления удовлетворяется распределением схем контроля1) по системе, включая области управляющих схем; таким В 1ВМ-360 используется целый ряд методов контроля, но &се они за- зависят от модели и поэтому здесь рассматриваться не будут.
150 У. Картер, Г. Монтгомери, Р. Прейсе, Г. Рейнхеймер образом, ошибки обнаруживаются в непосредственной близости к пространственной и временной точке их появления. Требование (б) о записи подробного состояния системы в момент ошибки приводит к интересной задаче, напоминающей принцип неопределенности. Как может машина записать свое состояние, ие изменяя того, что записывается? Для решения этой задачи по отношению к ошибкам СР11 и некоторым ошиб- ошибкам в каналах ввода-вывода в 1ВМ-360 решено ввести спе- специальные независимые схемы. Если контрольная схема обна- обнаруживает ошибку в СР\] или в некоторой части каналов ввода- вывода большой модели, то: 1) нормальная последовательность в неисправном устройстве сразу же останавливается (ошибки СР11 не влияют на операции каналов и наоборот для моделей, в которых СР11 и каналы ввода-вывода работают автономно); 2) под управлением специальных схем состояние запоминающих элементов управления и шин передачи данных «еисправного устройства записывается как совокупность разрядов в основную память и 3) затем возобновляется нормальная последователь- последовательность. Требование (в) о переключении к различным последователь- последовательностям команд удовлетворяется при возобновлении нормальной последовательности, когда возбуждается специальное прерыва- прерывание программы, 'названное прерыванием от машины. Требование (б) в устройствах ввода-вывода удовлетво- удовлетворяется отчасти по-разному. Здесь имеется два основных раз- различия: 1. Сигнал схемы контроля останавливает блок управления устройства, но не обязательно само устройство (из-за механи- механического движения). Например, магнитная лента при чтении пробегает до конца текущей зоны. Некоторые блоки управле- управления останавливаются сразу же, сохраняя состояние в данный момент времени; другие блоки управления сохраняют состоя- состояние лишь частично, так как блок работает до нормального окончания. 2. Информация о состоянии должна выбираться из неисправ- неисправного блока с помощью программы. В случае устройств ввода-вывода требование (в) удовле- удовлетворяется тем, что после нормального прерывания от устрой- устройства ввода-вывода, которое свидетельствует о выполнении команды, становится доступной кодированная информация о со- состоянии [9]. Таким образом, автоматически записанные данные дают точную и детальную картину состояния неисправного устрой- устройства самого по себе, т. е. СР11, канала или блока управления, мо они не обеспечивают полной информации о всей среде си-
Эксплуатационная надежность системы 1ВМ-360 151 стемы. Для данного же класса неисправностей необходима знать больше, чем локальные условия ошибки, потому что воз- воздействие из внешнего источника на подозреваемое устройство является весьма распространенной причиной отказа. Данные, которые дополняют информацию о ситуации, в каждом случае собираются специальной программой. В эти дополнительные данные включаются: сведения об устройствах ввода-вывода, которые работали во время ошибки, время дня, название про- программы, операнды для данной команды, адрес команды а памяти и, если необходимо, номера лент и дисков. Эта инфор- информация в сочетании с автоматически записанными данными образует страницу в описании среды во вспомогательном запо- запоминающем устройстве1). Результат является полной, подроб- подробной, хронологической историей эксплуатации системы в форме,, пригодной для ввода в машину. Чтобы помочь инженеру эффективно пользоваться этой ин- информацией при эксплуатации, предусмотрена программа, кото- которая соответствующим образом редактирует страницы описания среды. Имеются также программы, которые печатают информа- информацию в форме, удобной для чтения, и программы поиска, ко- которые просматривают записи и выделяют страницы, которые удовлетворяют признакам, указанным в стандартном запросе поиска. Например, инженер может запросить все страницы, относящиеся к устройству, имеющему указанный адрес, или все страницы, порожденные указанной схемой контроля. Обход последствий ошибок — повторение команды Пользователь системы совершенно безразличен к отказам машины, если они не мешают его работе. Например, если все неисправности обнаруживаются и устраняются в течение пе- периода, когда он не пользуется системой, пользователь, как пра- правило, удовлетворен. Опыт показывает, однако, что отказы не всегда имеют такое удачное распределение во времени. Когда отказы появляются в процессе нормальных рабочих периодов, пользователь может либо прекратить работу на машине, либо* может (и часто это делает при отказах в блоках магнитной ленты, например) попытаться продолжить работу, обходя эф- эффекты ошибок. Обход последствий ошибок можно осуществить либо исклю- исключая из использования части системы, в которых только что^ наблюдались отказы, либо повторяя неверно выполненную об- обработку данных в надежде, что причина ошибки более не суще- ) Вспомогательным (весопбагу) запоминающим устройством может быть либо магнитная лента, либо диски. — Прим. ред.
152 У. Картер, Г. Монтгомери, Р. Прейсе, Г. Рейнхеймер ствует. Первая возможность — правильный выбор для устойчи- устойчивых отказов, а вторая — предпочтительна для отказов, симптомы которых неустойчивы. Эта вторая возможность называется по- повторением этапа (сЬескрот1т§). Исключение неисправной части системы может быть сделано удачно, если система содержит достаточную избыточность, а характер работы таков, что функцию подозреваемой части мо- может взять на себя другая часть или если функция, выполняе- выполняемая подозреваемой частью, может быть временно исключена. Оба эти метода применялись довольно успешно к оборудованию ввода-вывода. Чрезвычайно неодинаковые требования различ- различных программ к вводу-выводу создали избыточность как по- побочный результат. Метод исключения можно также применять успешно (прав- (правда, менее успешно) к области основной памяти. Исключение подозреваемой области основной памяти является целесообраз- целесообразным лишь в том случае, если машина связана с многими под- подсекциями составной памяти и вся подсекция, о которой идет речь, может быть исключена. Даже в этом случае отрицатель- отрицательное воздействие на работу системы значительно, так как в боль- большинстве случаев программа, на которой произошел сбой, дол- должна быть заново введена в другую область памяти и вновь начата либо с последнего этапа, либо с самого начала. Однако такой частью машины, где метод исключения может использоваться с наименьшим успехом, является СРИ Устой- Устойчивый отказ приводит обычно к останову работы системы, если в системе одно СР11, и по крайней мере к коренному пересмотру работы в системе, имеющей более чем одно СР11. Изменение конфигурации системы для продолжения работы с исключением одного СР11 требует специфичного планирования и программи- программирования. В прошлом обработка случайных ошибок СР11 была не очень эффективной. Деление программы на сегменты в соче- сочетании с выводами этапа и возвратами к этапу действительно выполняли обработку случайных сбоев, но со значительными потерями времени. Кроме того, при таком подходе требова- требовалось значительное время для обнаружения устойчивого от- отказа. Исключение не требуется при случайных сбоях в операциях ввода-вывода. Программы, управляющие вводом-выводом, уже давно допускают повторение на уровне операции, помимо по- повторения на уровне сегментов программ. При правильном про- программировании вся информация, необходимая для повторного выполнения операции ввода-вывода, сохраняется в конце опе- операции.
Эксплуатационная надежность системы 1ВМ-360 153 Аппаратные средства, включенные в 1ВМ-360 для решения других задач, создают новую благоприятную возможность для повторного выполнения команды СР11, в случае если обнару- обнаружена ошибка. Сохранение всей информации, необходимой для повторного выполнения операции после того, как обнаружена ошибка, является первым условием успешного повторения опе- операции в СРИ Второе условие состоит в том, чтобы проявление неисправности было неустойчивым. Например, в команде, которая пересылает из памяти в- регистр, первое условие удовлетворяется, так как операнд сохра- сохраняется в основной памяти. Однако, если неисправно запоминаю- запоминающее устройство на сердечниках, проявление ошибки будет устой- устойчивым и повторение приведет опять-таки к отказу. Большин- Большинство команд нельзя повторить после того, как их выполнение завершено; порог повторения 1) для них наступает обычно после этапа выборки команды, на некоторой стадии ее выполнения. Повторное выполнение команд налагает два требования на машину: а) выполнение должно быть остановлено сразу же после об- обнаружения ошибки; таким образом, если порог повторения еще ее достигнут, операнды не будут искажены; б) когда машина остановлена, программе, которая решает, возможно или невозможно повторное выполнение, должна быть доступна достаточная информация о состоянии машины. Как было показано ранее, схемы, которые удовлетворяют этим требованиям, обеспечили для 1ВМ-360 средства записи си- ситуации. По сигналу схемы контроля состояние вычислительной машины «замораживается» и специальные цепи записывают по- подробное состояние СР11 как группу разрядов в зарезервирован- зарезервированную для этих целей область основной памяти. Программа, кото- которая записывает в память информацию о ситуации, кроме того, анализирует эту информацию, определяет, возможно ли повто- повторение, и считает количество попыток повторения. Если порог по- повторения пройден или эффекты неисправности устойчивы, по- повторение бесполезно. Эта программа занимает доли секунды па сравнению с минутами, необходимыми для возврата к предыду- предыдущему этапу, что сопровождается повторным выполнением про- программы. Полная эффективность описанных средств зависит от доли всех случаев сбоев, для которых порог повторения не достигнут и для которых неисправности не являются устойчивыми. Для данной машины порог повторения изменяется от команды к ') Порогом повторения команды является стадия ее выполнения, после которой некоторые исходные операнды оказываются измененными,
154 У. Картер, Г, Монтгомери, Р. Прейсе, Г. Рейнхеймер команде, так что успех повторения очень чувствителен к набору команд, на котором он (успех) измеряется. Используя грубое предположение, что неисправности во всех циклах равнове- равновероятны и что использование команд подчиняется нормальному распределению, более 50% повторений будет успешным для мо- моделей 1ВМ-360, в которых описанные средства работают наи- -лучшим образом. Изменения в наборе команд могут снизить этот процент, по-видимому, до 35% или увеличить его до 80%, Уменьшение количества случайных сбоев Если ошибки, которые иными способами обычно обрабаты- обрабатываются как случайные, можно было бы обработать как устой- устойчивые, тогда среднее время для диагностики неисправностей можно было бы уменьшить. Это делается с помощью более пол- полного и лучше управляемого испытания элементарных конструк- конструктивных блоков. Как обсуждалось ранее, процедура составления ТЛН выполняется с помощью комплекса программ для 1ВМ-7094. Эти программы подготавливают списки всех логиче- логических элементов, которые тестируются непосредственно, и эле- элементов, которые не тестируются. Это позволяет сильно увели- увеличить охват непосредственно тестируемых элементов. А такое расширение охвата позволяет обрабатывать как устойчивые мно- многие отказы, которые при других методах обычно относятся к случайным. Кроме того, если любой из ТЛН обнаружит ошибку хотя бы один раз, немедленно будет получен список подозреваемых це- цепей. Ячейки, содержащие эти цепи, можно профилактически заменить, исходя из эксплуатационной предосторожности. Подводя итог, мы видим, что количество случайных ошибок значительно уменьшено за счет дополнительных схем управле- управления, позволяющих иметь перед собой симптомы, указывающие подозрительное поведение, а также за счет обеспечения более качественной документации, которая используется, когда обна- обнаружена ошибка. ОБЪЕДИНЕНИЕ ЭКСПЛУАТАЦИОННЫХ ПРОГРАММ В КОМПЛЕКС МАШИНА/ПРОГРАММА-МОНИТОР — СТАНДАРТИЗАЦИЯ ПРОЦЕДУР ОБСЛУЖИВАНИЯ Условия, в которых будут использоваться эксплуатационные программы 1ВМ-360, можно описать, так сказать, в двух «изме- «измерениях». В простейшем случае эксплуатационной программе в процессе ее работы доступны все средства системы. В более -сложных условиях программа должна ограничить себя подмно-
Эксплуатационная надежность системы 1ВМ-360 жеством системы, в которой она используется, и быть готовой передать управление операционному монитору сразу же после появления событий, внешних к используемому подмножеству и. требующих быстрого ответа. Таким образом, первым «измере- «измерением» является присутствие или отсутствие монитора. Второе- «измерение» характеризует, имеется в системе одно СР11 или более чем одно. Совместимость программ, использование общего набора уст- устройств ввода-вывода и блоков управления во всех моделях « наличие основных блоков памяти в различных моделях ставит целью составление единого набора эксплуатационных программ^ как основы для наладки и эксплуатации этих устройств во всех моделях. Чтобы оставить программы для данного устройства в* основном неизменными при изменении окружения, в котором находится устройство, было решено вставить буферную про- программу между программами для каждого устройства и внеш- внешней средой и в то же время передать в эту программу, называе- называемую диагностическим монитором, те средства (стандартные* функции), которые являются общими для программ многих уст- устройств. Таким образом, проблема объединения комплекса экс- эксплуатационных программ свелась к задаче подбора диагности- диагностического монитора для этого комплекса. Необходимость работы и в среде, состоящей только из ма- машины, и в среде, управляемой монитором, а также решение цен- централизовать общие функции привели к включению в диагности- диагностический монитор следующих средств: а) самозагрузка через опе- операцию начальной загрузки программ; б) установка системы в> начальное состояние; в) предварительная обработка прерыва- прерываний и их распределение по диагностическим программам для устройств; г) декодирование поступивших извне сообщений и« выполнение по ним соответствующих действий; д) распознава- распознавание приоритетных прерываний1); е) загрузка диагностических программ для устройств; ж) управление последовательностью,, в которой обрабатываются устройства, включая случаи, когда несколько устройств работают одновременно, и з) управление^ выбором работы (например, выдача описания ошибки на пе- печать). Главным образом потому, что малые модели 1ВМ-360 нала- налагают серьезные ограничения на размер диагностического мони- монитора, а также чтобы свести к минимуму требования диагности- 1) Приоритетным прерыванием считается прерывание, которое возникает вне области, заданной диагностическому монитору операционным монитором. Без всяких исключений приоритетное прерывание вынуждает диагностический- монитор немедленно возвратить управление из своей области операционному^ монитору.
156 У. Картер, Г. Монтгомери, Р. Прейсе, Г. Рейнхеймер ческого монитора на память при распределении системы опера- операционным монитором, делается несколько диагностических мони- мониторов. Они составляют семейство в том смысле, что диагности- диагностические мониторы обладают свойством совместимости снизу вверх. Уменьшение размера достигается за счет уменьшения числа возможностей и обеспечения некоторых из них в более простой форме. Начальные варианты трех членов семейства диагностических мониторов работали на прототипах 1ВМ-360 с конца 1963 г. С точки зрения диагностического монитора проблема при- приспособления к изменяющимся средам является в основном проблемой связи с внешним миром. В этом контексте внешний мир, естественно, распадается на четыре части: диагностиче- диагностические программы устройств, программы операционного мони- монитора, другие диагностические мониторы (в других СР11), а так- также операторы и инженеры. Всякая связь со своей средой осуществляется диагностиче- диагностическим монитором через стандартное сопряжение программ. В том виде, как это используется здесь, сопряжение программ состоит из средств для передачи запросов (передача управляющей ин- информации) и средств для передачи параметрических и других данных. Эти сопряжения являются стандартными в том смысле, что они идентичны во всех диагностических мониторах семей- семейства. Сопряжение диагностический монитор/диагностическая про- программа устройства решает проблему объединения в одну си- систему комплекта диагностических программ для устройств, ко- которые сделаны независимыми проектными группами, и про- проблему использования с различными мониторами одних и тех же диагностических программ для устройств. Общее согласование достигается в самом начале при определении этого сопряже- сопряжения, и затем все программирование подчиняется этому стан- стандарту. Часто используемые функции реализуются как подпрограм- подпрограммы в диагностических мониторах, где они доступны диагности- диагностическим программам устройств через сопряжение. Через это же сопряжение диагностический монитор влияет на управление выбором работ. Диагностический монитор приводит к некоторому нормализованному виду команды, направляемые диагностическим программам устройств из внешнего мира так, чтобы 'независимо от первоначального вида сообщения програм- программам устройств всегда передавались стандартным образом. Сопряжение диагностический монитор/операционный монитор обеспечивает решение проблемы подбора нескольких диагности- диагностических мониторов к большому числу операционных мониторов.
Эксплуатационная надежность системы 1ВМ-360 157 Именно с практической точки зрения важен тот факт, что со- составление операционного монитора и составление диагностиче- диагностического монитора не нужно тщательно согласовывать по времени. Но, возможно, (наиболее замечательным преимуществом являет- является то, что потребитель, который делает свой собственный опе- операционный монитор, может подключить соответствующий ком- комплекс эксплуатационных программ 1ВМ к своей системе, просто включая в свою программу блок, который обеспечивает это со- сопряжение «со стороны» операционного монитора. Именно через это сопряжение операционный монитор дает запросы на работу диагностического монитора. В такой запрос на работу включается определение области диагностического монитора и устройств системы, которые следует проверить. Уп- Управление из указанной области через это же сопряжение воз- возвращается операционному монитору после нормального завер- завершения запроса на работу и при возникновении приоритетного прерывания. Результаты заказанной работы передаются через сопряжение в то же время, когда возвращается управление. Сопряжение диагностический монитор/диагностический мо- монитор необходимо при работе нескольких диагностических про- программ устройств под согласованным управлением более чем од- одного СР1Л При таком применении диагностический монитор дол- должен быть в каждом СРИ Эти диагностические мониторы свя- связаны один с другим через сопряжение диагностический мони- монитор/диагностический монитор. Сопряжение диагностический монитор/человек обеспечивает единый набор процедур и сообщений, которыми может пользо- пользоваться оператор и инженер при запросах и управлении работой обслуживающих программ на любой машине 1ВМ-360. Именно через это сопряжение могут указываться вручную выборы работ и печататься выходные сообщения. Благодаря этой возможности человеку не требуется узнавать и изучать не- неизбежные индивидуальные различия, которые появляются в про- программах для диагностики устройств. Это стандартное сопряже- сопряжение облегчает обучение пользователя процедурам применительно к любым установкам 1ВМ-360 независимо от модели, что осо- особенно ценно при обучении процедурам обслуживания системы такой конфигурации, в которой представлено несколько различ- различных моделей. ЗАКЛЮЧЕНИЕ Для обеспечения эксплуатационной надежности системы 1ВМ-360 предполагалось решить с помощью дополнительного стандартного оборудования следующие проблемы:
158 У. Картер, Г. Монтгомери, Р. Прейсе, Г. Рейнхеймер а) обнаружение ошибок (при передаче данных и в управле- управлении); б) «замораживание», а затем перепись в основную память «фотографии» внутренних элементов С9М, которые определяют состояние машины в данный момент; в) передача управления программы к специфическим ме- местам монитора при данных сигналах; г) установка внутренних элементов СР11 в состояние, задан- заданное в основной памяти; д) выполнение указанного количества циклов при независи- независимом управлении; е) сравнение фактического состояния машины с требуемым состоянием; ж) управление этим оборудованием с помощью специальных команд или независимых схем. Как указано в тексте, не всякая модель имеет все возмож- возможности. В дополнение к этому оборудованию были составлены сле- следующие новые программы и процедуры: а) Использование машины 1ВМ-7094 при: 1) подготовке примеров для тестирования почти всех элементов СР11 в 1ВМ-360 (в больших моделях), 2) упорядочении последователь- последовательности тестов на магнитной ленте или дисках, чтобы добиться локализации схемных неисправностей до нескольких сменных схемных ячеек, и 3) составлении документации, в которой ука- указываются подозреваемые ячейки, и обновлении ее при инженер- инженерных изменениях. б) Использование ПЗУ как хранилища для диагностических программ в малых моделях, чтобы 1) проверить схему в поша- пошаговой (от такта к такту) работе на полной скорости машины, 2) локализовать ошибку после обнаружения, используя схемы ТШЕП^ТШПГ^ пользоваться при работе переключателями инженерного пульта. в) Использование ТЛН (в больших моделях) или провероч- проверочных процедур из ПЗУ для диагностики системы с индикацией часто повторяющихся ошибок. г) Программы, работающие как часть операционного мони- монитора, чтобы 1) обеспечить запись ситуации, при которой про- произошла ошибка, 2) использовать запись состояния машины при желании повторить команду и 3) использовать диагностический монитор при проверке той части машины, которая указана опе- оператором или операционным монитором. д) Программы, работающие независимо, которые 1) при ошибке анализируют возникшую запись ситуации, чтобы помочь инженеру в диагностике случайного сбоя, и 2) эффективно упра-
Эксплуатационная надежность системы 1ВМ-360 159 вляют диагностическими процедурами с помощью диагностиче- диагностического монитора. После того как первоначальный период обучения прошел, эта заранее разработанная совокупность аппаратных и про- программных процедур иаправлена а) на уменьшение максималь- максимальной продолжительности ремонта, б) на уменьшение средней и медианной продолжительности ремонта и в) на подбор единого комплекса эксплуатационных программ и процедур для широ- широкого спектра программ операционных мониторов и моделей ма- машины. ДОПОЛНЕНИЕ Контрольные и диагностические процедуры, которые основы- основываются на анализе схем вычислительной машины, осуществимы только в том случае, если этот анализ выполняется автомати- автоматически. Первые программы для выполнения такого анализа были сделаны Рутом и др. [7] и Форбзом и др. [6]. Методика выпол- выполнения анализа для вычислительной машины в целом (в проти- противоположность логике без обратных связей) и формулировка требований к оборудованию, необходимому для реализации этих тестов для всей системы, были впервые описаны Малингом и Алленом [4]. Эти методы были успешно использованы для ана- анализа таких систем, как 1ВМ-1418, 1419, 1428, и таких особен- особенностей машины, как защита памяти для 1ВМ-7094 в М1Т1). Знания, накопленные при составлении и использовании этих первых систем, послужили для внесения улучшений в эти си- системы. Новая система использует в качестве входной информа- информации ленту, содержащую Основной Логический Массив Автома- Автоматического Проектирования [8]. Кроме того, она может анали- анализировать вдвое с лишним больше логических схем, чем преды- ля ття-да-** ттпиг гппиу ИПЧППРПШУ ИОЧМПЖНПРТЯХ требует меньше вычислительного времени на ШМ-7094. Общая блок-схема комплекса программ для составления ТЛН показана на рис. 3. Информация, определяющая логиче- логическую структуру сетей вычислительной машины, извлекается из Основого Логического Массива. Затем по структуре связей оп- определяется структура схем комбинационной логики, информа- информация о физическом местоположении схем отделяется от логиче- логической информации и последняя преобразуется в форму, которая удобна для анализа. (Здесь не упоминаются многие программы, необходимые для вывода на печать и для анализа ошибок.) Следующая часть программы состоит из блоков для эври- эвристического анализа схемы логического дерева. Блоки просма- 1) М1Т — Массачусетский технологический институт. — Прим. ред.
Прем- Премии основ- основой лог ичес кий мас- массив Новыйи основной о логический массив Обновление* 'массива авто матического ния ' I I Выборка Основной массив схем Переход п функциям Аанные о местополо мении каза- ние элемен- элементов, п-рые проверяет каждый из примеров Аиагности- ческий индекс Редаптиро вание и раз- разделение данных \ I /"оставлена и оценка {примеров 'Упорядочение примеров Формат и управление изменения Управление г нснов- , ной массив транслиру- транслируемых фун- функции осичеспие данные /Обновление \ /транслируеЛ \ мых I \фунщий I Глобальные изменения Примеры тести Редакти-\ рование У Новая система ТЛН режняя система ТЛИ Рис. 3. Комплекс программ для составления тестов, локализующих не- неисправность Этот комплекс используется на 1ВМ-7094 для предваритель- предварительного вычисления примеров тестов.
Эксплуатационная надежность системы 1ВМ-360 161 тривают схему вперед от предполагаемой неисправности к вы- выходу дерева и назад до входов. На каждом этапе логические значения, определяемые элементами схемы, присваиваются ли- линиям. Это может привести к логической несовместимости и к от- отказу от данной попытки. Входы сети указывают комбинацию входных условий, с помощью которых можно определить, что конкретная тестируемая линия работает правильно. Анализи- Анализируется каждая входная и выходная линия для элемента схемы. После того как составлен пример, проверяется, какие линии он в действительности тестирует и тестирует ли какие-нибудь линии, не проверенные ранее. Составление и проверка продол- продолжаются до тех пор, пока не получен набор тестов, который бу- будет указывать неисправные элементы. Тесты сами по себе не обязательно обеспечивают разбиение, достаточное, чтобы локализовать неисправный элемент. Однако после того, как их организуют в последовательность в форме дерева решений, требуемое разбиение достигается. Последняя из комплекса программ переводит деревья реше- решений и соответствующие примеры в данные для тестов. Эти дан- данные преобразуются в форму, соответствующую конкретным те- тестирующим схемам, используемым в тех или иных моделях 1ВМ-360. Л ИТЕРАТУРА 1. М а И п & К., Оаззез о! Сотропеп! РаПигез апй а 5уз1ет Оез^п 1о РасШЫе ТЬен* ЬосаИоп, 1ВМ Оа!а 5уз1етз Ошзюп ТесЬтса1 Керог! ТН 00.1029. (Неу. МагсЬ 10, 1964). 2. И а V 1 з Е. М., Н а г A1 п & №. Е., 5 с Ь \у а г { г К. 5., С о г п 1 п & 3. 3., 5оН<1 Ьо&1С ТесЬпо1о&у: УегзаШе, Н1&Ь-Рег1огтапсе М1сгое1ес1готсз, 1ВМ /., 8 A964), 102. 3. В е п п е I С. А., АррНсаКоп о! а Ьеагпшд Сигуе {о а МаЫепапсе РгоЫет, 2-пс1 Аппиа1 (ЗиаШу Согйго1 Зутрозшт о! Ше ОаНаз-Рог! ШогШ ЗесНоп о! Ше А5рС, 1961, 16. 4. М а П п ^ К-, А11 е п Е. Ь., Зт., А Сотргйег Ог^ап1з$11оп апс1 Рго^гат- тт§ 5уз1ет !ог Аи1ота1ес1 Ма1п1епапсе, 1ЕЕЕ Тгапз. Е1ес1г. Сотр. ЕС-12, № 6 A963), 887. См. настоящий сборник, стр. 191. 5. Е 1 с1 г е с1 К. О., Тез! НоиИпез Вазес! оп ЗутЬоНс Ьо^1С 51а!етеп!з, /. ЛСМ, 6, № 1 A959), 33—36. 6. РогЬез К. Е., ЗМедтг С. В., МиПег О., Аи1отаИс Раи11 О1а^по- 313, А1ЕЕ СопГегепсе оп О1а^по518 о! РаПигез т 5\у11сЬ1П2 С1гсииз, 1961, 15—16. 7. С а 1 е у 3. М., N о г Ь у К. Е., К о 1Ь ^. Р., ТесЬп1диез Гог 1Ье П1адпоз1з о! ЗауйсЫп^ С1гсиИ РаПигез, Ргос. 2-пс1 Аппиа1 5^1сЫпд-С1гсиЙ ТЬеогу апс1 Ьо^1са1 Оез1^п 5утроз1ит, А1ЕЕ, 1961. 8. Сазе Р. Ш., О га II Н. Н., ОгНШЬ Ь. Е., ЬеС1егя А. К., Миг- 1 е у XV. В., 5 р е п с е Т. М., 5оПA Ьо^1С Оез^п Аи1ота11оп 1ог 1ВМ 5уз!ет/360, 1ВМ /., 8 A964), 127. См. настоящий сборник, стр. 162. 9. А т й а Ь 1 О. М., В 1 а а и ш О. А., В г о о к з Р. Р., .1г., АгсЫ!ес!иге о! Ше 1ВМ 5уз1ет/360, 1ВМ ]., 8 A964), 87. См. настоящий сборник, стр. 101.
Автоматизация проектирования вычислительных систем с использованием логических схем на твердом теле1) Я. Кейс, Г. Графф, Л. Гриффит, А. Ле-Клерк, У. Мерли, Т. Спенс Эта статья описывает отличительные черты ряда программ для ШМ-7090, которые помогают инженерам в проектировании систем, использующих логи- логические схемы на твердом теле. Эти программы применялись при проектиро- проектировании системы 1ВМ-360. ВВЕДЕНИЕ Для эффективного использования способностей инженера при разработке современных цифровых систем стала необходи- необходимой автоматизация проектирования. Проектирование таких си- систем связано с переработкой огромного количества информации и получением документации к проекту. При отсутствии авто- автоматизации от инженера требуется не только выполнение его основной задачи по определению внутренней логической струк- структуры системы, но также осуществление вручную всей скучной, однообразной работы по детализации, вычерчиванию и про- проверке своих схем. Идея автоматизации проектирования цифровых систем рас- рассматривалась ранее [1]. Согласно этой идее, инженер должен составить грубый план размещения логических элементов для системы, которую он проектирует. Как только он сделает это, использование вычислительной машины может помочь на всех дальнейших стадиях детализации проекта и обеспечить полу- получение документации о состоянии проектирования на каждой из этих стадий. Базой для этого процесса является Основной Массив, который хранится на магнитной ленте и служит основ- основным показателем состояния проекта аналогично ранее исполь- использовавшимся чертежам инженера. Автоматическая печать ло- логических схем, производимая вычислительной машиной, заме- заменяет устаревший процесс получения синек. ) Сазе Р. №., Ога!! Н. Н., О г ИШЬ Ь. Е., ЬеС1ега А. К., М и г 1 е у №. В., 5 р е п с е Т. М., 5оНс1 Ьо^с Оез^п Аи1ота1юп, 1ВМ 1оигпа1 о/ Кезеагск апй ^еVе^ортеп^, 8, № 2 A964), 127—140.
Автоматизация проектирования системы 1ВМ-360 163 АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ СИСТЕМЫ 1ВМ-360 Логическое проектирование Создание 1ВМ-360 потребовало применения новых методов автоматизации проектирования. Поскольку основными целями при разработке системы 1ВМ-360 были высокое качество и пол- полная совместимость различных моделей [2], что, естественно, при- привело к увеличению объема и сложности логического проекти- проектирования, становится очевидной необходимость более эффек- эффективной переработки информации в процессе проектирования. Очевидна также необходимость в эффективных процессах по- получения документации к проекту. Поэтому, помимо известных ранее методов хранения и на- накопления данных о проекте, а также использования печатаемых вычислительной машиной логических страниц, в процедуру проектирования для уменьшения нагрузки на инженера были включены новые возможности, увеличившие способность вычис- вычислительной машины использовать данные на главной проектиро- проектировочной ленте для производства различных документов. Это по- позволило исключить много ошибок, появлявшихся раньше из-за участия человека. Для того чтобы проектировщики 1ВМ-360 могли оценить свои логические схемы до конструирования аппаратуры, реализую- реализующей их, был разработан ряд моделирующих программ. Неко- Некоторые особенности этих программ дают большую гибкость дей- действий, чем предшествующие моделирующие программы. Вопросы компоновки На ранней стадии планирования системы было решено, что 1ВМ-360 должна использовать новый способ компоновки схем, названный Технологией Логики на Твердом Теле (ТЛТ). Это решение послужило основным мотивом для разработки метода автоматического проектирования, описанного в этой статье. Как было описано Дэвисом и другими [3], микроэлектрон- микроэлектронные схемы ТЛТ заключены в модули. От 6 до 24 таких модулей монтируются в ячейках различных стандартных размеров. Пе- Печатные проводники на обеих сторонах ячейки связывают выводы модуля с контактами разъема в основании ячейки. В свою оче- очередь ячейки устанавливаются на больших монтажных панелях, при этом контактные штырьки панели попадают в разъемы ячеек. Большие панели также несут двусторонний печатный монтаж. Связи между большими панелями выполнены при помощи плоских гибких кабелей [4]. На рис. 1 показаны ячейки, уста- установленные на большой панели. Предварительно спроектирован-
164 П. Кейс, Г. Графф, Л. Гриффит, А. Ле-Клерк, У. Мерли, Т. Спенс ные ячейки с прикрепленными модулями являются наимень- наименьшими конструктивными единицами, с которыми работает проек- проектировщик 1ВМ-360. Рис. 1. Ячейки, установленные на большой монтажной панели. Были разработаны новые программы: 1) для распределения каждого блока логической схемы по ячейкам, 2) для присвое- присвоения меток тем контактам в разъемах ячеек, которые соответ- соответствуют входным и выходным цепям блоков иа логической схеме, 3) для размещения каждой ячейки на большой панели, 4) для расчета маршрутов, последовательности укладки, расположе-
Автоматизация проектирования системы 1ВМ-360 165 ния изгибов и длин плоских кабелей, связывающих большие панели. Другие программы были созданы для автоматического опре- определения конфигурации печатных проводников на больших па- панелях. ПРОЦЕСС НАКОПЛЕНИЯ ИНФОРМАЦИИ ПРИ ЛОГИЧЕСКОМ ПРОЕКТИРОВАНИИ Процесс накопления информации при логическом проек- проектировании осуществляет регистрацию текущего состояния про- проектирования машины на каждой стадии разработки. Первичным документом такой регистрации является напечатанная вычисли- вычислительной машиной логическая схема, такая, как показано на рис. 3. Процесс начинается с того, что инженер дает чертеж, пока- показывающий, как должна быть связана группа логических элемен- элементов (например, блоков И или ИЛИ для получения желаемой машинной функции). Этот чертеж делается в определенной форме, что дает возможность перенести его на перфокарты. Затем данные, пробитые на перфокартах, вводятся в 1ВМ-7090 и сохраняются на магнитной ленте в Основном Логическом Массиве Автоматического Проектирования. Вычислительная машина также сразу печатает логическую схему, заданную ин- инженером. Всякий раз, когда инженер вносит изменение в свою схему, изменяется Основной Логический Массив и печатается новая логическая страница. Как показано на рис. 2, другие программы будут последовательно получать данные прямо из Основного Логического Массива. На всем протяжении процесса проектирования инженер по- получает полный набор свежих напечатанных вычислительной ма- машиной логических страниц, описывающих проектирование си- системы. Эти страницы перенумерованы и озаглавлены, чтобвт идентифицировать изображенную логическую функцию. Приве- Приведены названия и номера всех входных и выходных сигналов страницы. При печати каждый логический блок на странице снабжается 1) типом логической функции, выполняемой блоком (И, ИЛИ, НЕТ, ТРИГГЕР и т. д.); 2) идентификатором микро- микроэлектронной схемы, представляющей блок; 3) числом, опреде- определяющим тип ячейки, на которой располагается схема; 4) обо- обозначением, определяющим часть ячейки, на которой распола- располагается схема; 5) координатами ячейки на большой панели и 6) обозначением клемм разъема ячейки, контактирующих со
^Основной югичеспий} месив на ленте. Электрические параметры схем и правила . соединений /снов- юй фюиче} \спий массив, на ленте с Цнженер 1 Программы для работы с основным логическим мае сивом на ленте I Печать I Программы моделирования I Печать I Программы компоновки Печать Программы размещения кабелей Программы проектирования печатного монтажа на панелях печать 11тог(У оая лента -•{сданными о логических 'страницах^ производство итого- итоговая лента ■*\с данными о\ кабелях На производство итого- итоговая лента' -Ас данными \р панелях На производство Рис. 2. Схема использования программ автоматизации проектирования систем с использованием логических схем на твердом теле.
♦ о*с »РОС< 1Н0- 4 ИММ.1 ЧОО1- N0» ♦ то- •САТС ♦ )ГЙ»Т. •«СО13 4 Т1 •сатхчс то >♦ %от В.;* 1НР- О •'•согь «сете т» ■ •<• Зйк. 1622 двух логических страниц ххриьедены 167 , как жна в ру нет воде в чально иден- V!, СВЯ- оаммы я, что [ческой е пол- получила адана, Логи- нения Пи пе- овщи- I. Это 1ужно писы- > про- 1Ы НО- •раба- такой части (страница АВ101 и АВ405) перед
Рис. 2. С сие
Автоматизация проектирования системы 1ВМ-360 167 штырьками на большой панели. На рис. 4 дан пример того, как выглядит блок на логической схеме. Хотя вся только что перечисленная информация должна в конце концов появиться на логической странице, инженеру нет необходимости определять ее всю при первоначальном вводе в Основной Логический Массив. Он может задать первоначально только названия входных-выходных сигналов и указать иден- идентификаторы логических функций и микроэлектронных схем, свя- связанных с каждым блоком на схеме; последующие программы будут помогать ему в дальнейшей детализации. Считается, что Логическая функция Контакт ячейки для входных сигналов идентификатор схемы /Часть и подчасть ячейки - Контакт ячейки для выходного сигнала Позиция ячейки на большой панели Координаты блока на логической странице Порядковый номер блока Панель Р и с. 4. Пример задания информации, связанной с блоком на логической странице. логика на этом раннем этапе «задана», так как ее действие пол- полностью определено, несмотря на то, что она еще не получила конструктивного воплощения. После того как логика задана, контрольные программы проверяют проект из Основного Логи- Логического Массива на выполнение ряда критериев соединения схем. Эти программы будут показывать, например, есть ли пе- перегруженные схемы. Итак, логические страницы должны снабдить проектировщи- проектировщиков новейшей картиной состояния проектирования системы. Это утверждение предполагает, что на появление изменений нужно рассчитывать и эти изменения должны автоматически записы- записываться на логические страницы. Для того чтобы упростить про- проблему внесения изменений, для 1ВМ-360 были разработаны но- новые программы. Одна из этих программ автоматически обраба- обрабатывает изменения во взаимных связях страниц. Пример такой обработки дается на рис. 5. На рис. 5, а приведены части двух логических страниц (страница АВ101 и АВ405) перед
•001« 00210 {тозоа т СО?'» •Т01РВ 600091' Рис. 3. Пример логической страницы, напе
!о18 ^ 'СОООЕП •«-С*С31 —вв» •СЛТХЧС ТО ♦ %0? 0*С «иос*» .»„• •«в чатанной вычислительной машиной.
168 П. Кейс» Г. Графф, Л. Гриффит, А. Л е-Клерк, У. Мерли, Т. Спенс изменениями. Предположим, что инженер хочет использовать выходной сигнал страницы АВ 101 в качестве входного для блока на странице АВ405. Тогда он на странице АВ405, как показано на рис. 5, б, определяет входной сигнал, написав название стра* ницы (АВ 101) и место на этой странице (блок СБ, выход 4), где образуется этот сигнал. -ЗТ0Р — — АВ230К54 А АВ405 снег АВ101С04 -5Т0Р N АВ230К54 А А8405 с ив снсз ДВЮ1 •со - ВС211 -АВ405 КЕАОУ С»1С СН6 3 -ЗТ0Р АВ101С04- — А А8405 СНСЗ Рис. 5. Пример, иллюстрирующий автоматическое внесение изменений в проект. (а)— страницы до изменения; (б) — измененная страница, представленная инженером; (б) — страницы, выданные программой Используя код сигнала (АВ101СО4), вычислительная ма- машина может найти в Основном Логическом Массиве, какое на- название дать сигналу ( + КЕАОУ), и напечатать его на странице АВ405. Вычислительная машина также автоматически отразит на странице АВ101 новое использование сигнала и перепеча- перепечатает ее. Рис. 5, в показывает, как выглядят страницы после
Автоматизация проектирования системы 1ВМ-360 169 того, как они были исправлены. Эта специальная программа осуществляет автоматический просмотр использования сигна- сигналов и немедленную переработку всех страниц в случае внесе- внесения изменений инженером. Это уменьшает количество информа- информации, задаваемой вручную, и помогает избежать введения лиш- лишних и двусмысленных названий сигналов в проекте. Стандартное кодирование названий сигналов последователь- последовательностями из восьми символов (называемых «номером сигнала») дает дополнительные преимущества на последующих стадиях проектирования. Например, облегчается проверка списков про- проводников и кабелей, так как все номера сигналов в списках не- непосредственно соответствуют логическим страницам, из кото- которых они выходят. Другое новшество программ Автоматизации Проектирования Вычислительных Систем состоит в обработке модификации проекта. После того как планирование основной системы закон- закончено, производится запись модификаций этой системы, кото- которые возникают при добавлении тех или иных черт, включаемых по выбору заказчика. Так как неизменяемая часть основной схемы не нуждается в дублировании, удается избежать избы- избыточности и двусмысленности. Для каждой модификации авто- автоматически печатаются результирующие логические страницы, на которых отражены соответствующие изменения основной ло- логики. Одним из наиболее важных преимуществ обработки мо- модификации проекта является то, что программы автоматически выдают измененные страницы, когда основная схема изме- изменяется. ЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ Проектирование логики 1ВМ-360 было весьма эффективным благодаря использованию программ логического моделирования. Эти программы были созданы для того, чтобы дать возмож- возможность инженерам предсказать работу предложенных ими схем до того, как эти схемы будут реализованы. В эти моделирую- моделирующие программы были включены некоторые новые черты: 1. Исследуемая логика при моделировании берется непо- непосредственно из Основного Логического Массива. 2. Моделирующая программа может учитывать время про- прохождения сигнала и задержки переключения. 3. Моделирующая программа может обрабатывать петли ло- логической обратной связи. 4. Моделируемая логика просматривается только в те мо- моменты времени, когда некоторые элементы изменили со- состояние.
170 П. Кейс, Г. Графф, Л. Гриффит, А. Ле-Клерк, У. Мерли, Т. С пенс 5. При просмотрах проверяются только те элементы, кото- которые, возможно, могут изменить состояние в будущем как ре- результат изменения состояний в данный момент. При использовании моделирующей программы инженер за- задает, какую часть логики он хочет исследовать. Так как логика уже находится в Основном Массиве, исходные данные для мо- моделирующей программы берутся с ленты: это исключает необ- необходимость вручную задавать логику для использования в моде- моделирующей программе. Инженер должен также задать времен- временной масштаб моделирования и моменты переключения в этом масштабе логических состояний входных сигналов. Когда кодированная логика из Основного Массива вводится в моделирующую программу, она объединяется с данными с других магнитных лент, которые определяют задержки каждого логического блока. Эта комбинация данных транслируется в ряд кодированных уравнений, определяющих логическое состояние каждой схемы как функцию задержек и логических состояний других схем. Затем функциональные уравнения помещаются в часть памяти на сердечниках, которая используется модели- моделирующей программой и называется функциональной таблицей. Другая часть памяти содержит таблицу ссылок вперед. Для каждой логической схемы хранится список, перечисляющий все другие схемы, логические состояния которых зависят от данной схемы. Когда бы схема ни изменила свое состояние, модели- моделирующая программа уходит на соответствующий вход в таблице. Она определяет, какие схемы могут в дальнейшем подвергнуться влиянию этого изменения. Поступая так, моделирующая про- программа исключает необходимость в просмотре каждой логиче- логической схемы во время теста, таким образом уменьшая время мо- моделирования. Кроме того, эта черта делает возможным для мо- моделирующей программы рассмотрение петель обратной связи в логических схемах. Третья часть памяти занята таблицей событий переключе- переключения. Переключение сигнала в определенный момент времени на- называется «событием». События расписаны хронологически по временной шкале, заданной инженером. Первоначально в таб- таблицу вносятся с соответствующими временами события, связан- связанные с входными схемами. Например, инженер может задать, что вход схемы X переходит в состояние включено в момент вре- времени 1 и в состояние выключено в момент времени 12. Однако может случиться, что в соответствии с таблицей ссылок вперед событие в схеме X может повлиять на логиче- логическое состояние схемы V. Затем в результате обращения к таб- таблице уравнений для схемы V может быть установлено, что схе- схема V переходит е состояние выключено через 4 единицы вре*
Автоматизация проектирования системы 1ВМ-360 мени после того, как схема X перешла в состояние включено. Поэтому, когда в момент 1 произойдет событие «X перешло в состояние включено», это вызовет новый вход в таблицу со- событий. Это в свою очередь приведет к тому, что схема V перей- перейдет в состояние выключено в момент 5. Так как переключение в момент времени 5 есть следующее событие в таблице, моделирующая программа затем определит, какое влияние окажет это событие на появление следующих со- событий, и внесет любое последующее событие в соответствующее место в таблице. Таким образом, таблица событий постоянно перерабатывается во время моделирования. Благодаря использованию таблицы ссылок вперед и таб- таблицы событий достигается значительная экономия памяти, так как обычно только около 1% логических элементов активны в каждый момент времени при прохождении теста. Таким обра- образом, полное время моделирования уменьшается благодаря спо- способности моделирующей программы 1) рассматривать логику только в те моменты времени, когда в ней происходит событие, и 2) рассматривать только те логические элементы, которые влияют на события. Результаты моделирования выдаются инженеру в форме или временной диаграммы, или последовательностной диаграммы. Чтобы выдать временную диаграмму, моделирующая программа печатает состояние каждой схемы через равные промежутки времени. При выдаче последовательностной диаграммы печать производится только в моменты времени, соответствующие со- событию. На рис. 6 показаны последовательностные диаграммы для логической страницы, приведенной на рис. 3. Левая часть диа- диаграммы — список всех схем в этой логической странице, для ко- которых нужны диаграммы. Три одинаковые колонки печатаются после того, как одна или более схем, для которых выдаются диаграммы, изменят состояние. В данном ряду колонки проис- происходит печать, если соответствующая схема в состоянии вклю- включено в рассматриваемый момент. Временной масштаб внизу диаграммы указывает моменты времени, в которые произошло событие. Временные диаграммы моделирующей программы, которые могут показать состояние свыше ста схем, можно сравнить с наблюдением экрана многолучевого осцилографа, подключен- подключенного к каждой схеме. Изучая такие диаграммы, инженеры ча- часто способны опознать нежелательную временную ситуацию и исправить свою схему до какого бы то ни было осуществления ее в конструкции.
Временна? сикала МС041ВВ4 МС013001 НС0370И4 МС013АС4 МС041ВС* МС013ЯЯ4 «С013О0<# МС013ЙМ4 ПС01 «СО13ВГ»** МСО13ВР* ПС013О04 МСО13ВС* МС013ВГ4 МСО13В5О ^^СО13ОV<♦ МСО118С<» МС013ВОч ИС013ОЫ4 МС013в1.<» МС013ВС4 МС013АУ4 МС013П04 1 2 3 к 5 6 7 в 9 1 2 з 4 5 6 7 б 9 1 2 3 4 5 Ь 7 в 9 1 2 3 <• 5 Ь Результаты моделирования 111111111111*111111111111111111111111111111111111Л1111111111111111111111111111111111111111111111111111111111П11111111111111111111111 гггггиггггг ггггггггггггггггггггг гггггггггггггггггг ггггггггггггггг 666666666666Ь6666666666666Ь66666666666666666666666Ъ6666ЬЬ6Ъ666666«66666666 66666666 6666666466 6666 66 6666 66 666666666666Ь6666Ь66*66666«6 777771 777777774777777777777 777777777777777777 777777777777777777 ввввввВввввввввввв ввввввввввввввввввввв 8в88886вав8в888вввавв ввввМ 999999999999 ~ 999999999999999999999999 999999999999999999999 999999999999999999999 1111И1111111111111И 111111111111111111111 111111111111111111111 7777777777777777 77 вввввввввввввевевв гггггггггггггггг^ггг 5555555555555555555555! 666666666666666666666666666 777777777777777777 8688868ввввввввввв 9^909 999999999999 9999 99 99999 3555555555555555555! 666666666666666666666666 77777777777777777? 688888888868888886 999999999999999999999999 «444444*444*444444446: ._ ._ *5555555555555555555 666666666666666666666666 7777777777?'» 88ввввв8888в 999999999999999999999999 ггггггггггггггггггггг ггггггггггггггггггггг гггггггггггг зззззззззззззззззз ззззззззззззззз ззззззззззззззз 446466446464644444644644444444464444444444444444444444444444444444444444444444444444444444444444444 555555555555555555555555555555555 555555555555555555555555555 555555555555555555555555555 555553 666666666666666666 666666666666666 66666666666666* 4«44«<144644444444.4644444444 Список схем 000001 1 1 1 1 1 1. 22^22223333333444444555555566666 О 0 3 5 В О 1 2357801 2356801 2357802356801 2357802356 оооооооооооооооооооооооооооооооооооооооооооо Рис. 6. Пример последовательностной диаграммы, полученной в результате логического моделирования.
Автоматизация проектирования системы 1ВМ-360 173 Только что описанная моделирующая программа способна промоделировать 3000—4000 логических элементов в течение 10—20 синхронизирующих тактов менее чем за 30 минут вре- времени на 1ВМ-7090. ПРОГРАММЫ КОМПОНОВКИ И РАЗМЕЩЕНИЯ КАБЕЛЕЙ После того как логика отработана, возникает проблема фи- физической реализации этой логики. Как говорилось ранее, логика 1ВМ-360 монтируется с использованием модульных схем ТЛТ. Вновь разработанные программы позволяют распределять логи- логические элементы по стандартным ячейкам, присваивать метки контактов в разъемах- ячеек соответствующим входам логиче- логических блоков, размещать ячейки на больших панелях и опреде- определять требования к кабельным соединениям. Распределение логики по ячейкам и панелям 1. Формирование логических групп Программа разбиения просматривает логику, содержащуюся в Основном Массиве, и разделяет ее на группы блоков для дальнейшего распределения этих групп по ячейкам. Каждый ло- логический элемент имеет на ленте идентификатор (например, 203ВВ), который определяет стандартную схему 1ВМ. Сле- Следовательно, этот идентификатор определяет и логическую функцию, реализуемую элементом, и электрические характери- характеристики схемы. Полная библиотека ячеек, используемых для монтажа, со- содержит много типов ячеек. Однако для простоты предположим, что библиотека содержит только три типа, показанные на рис. 7. На этом рисунке видно, что в ячейке 1234 смонтированы две схемы 203ВВ. Одна схема находится в части А ячейки, а дру- другая — в части В. Все входы и выходы схем связаны через разъем с монтажом на большой панели. В ячейке 6789 смонтированы четыре схемы. Схемы 203АС связаны проводниками в самой ячейке со схемой 203СС. Эти три схемы находятся в части А ячейки, в подчастях 1, 2, 3 соответственно. Внутренние связи в ячейке не выведены на контакты разъема и не могут иметь соединения с монтажом «а большой панели. Схема 203ВВ не связана в ячейке с другими схемами. Совокупности схем, встречавшиеся в предыдущих двух ячей- ячейках, рассматриваются как «нефункциональные» части. Это свя- связано с тем, что они представляют собой либо отдельную схему, либо совокупности схем, которые появляются в ячейке всегда вместе.
174 П. Кейс, Г. Графф, Л. Гриффит, А. Ле-Клерк, У. Мерли, Т. Спенс Третья рассматриваемая ячейка (ячейка 4567) имеет три схемы 203ВВ, которые находятся в части А, подчастях 1, 2, 3. Так как 203ВВ может также появиться в качестве самостоя- самостоятельной схемы, как, например, т предшествующих ячейках, 603 — 604 — 605 — 808 — 612 ем 608 009 — 004 005 602 804 А гозвв [ А1 А 203ВВ 1 81 >- >— — 006 -610 А 203АС А1 А 203АС А2 он 203СС I АЗ А 20388 1 п | *—> ок А 20388 [ А2 11 20386 а а —1ч. "** и 807— >—810 809 — ©10 — 608 007 — Ячейка 1234 20386 ^—010 Ю 1 Ячейка 6789 А 1 203ВВ >—009  Ячейка 4567 Рис. 7. Библиотека ячеек. составная часть А называется «функциональной» частью. Насть В ячейки 4567 снова является независимой схемой. Важно помнить, что ячейки с установленными модулями до- доступны лишь как предварительно собранные блоки. Функция
А 703 АС 703АС >0Й 20388 4567А1 {> А-В1А2 АС >0Я ОЙ 105СС > гозвв 4567А2 А-В1А2 АЕ идентификатор схемы Заранее присвоенный тип ячейки А гозвв •ас-1 А 7ОЗВВ А^^ Метка контакта ячейка ■- Г воз В04 А 20368 1 1234А1 А-81АЗ АК- 203ВВ Рис. 8. Внешний вид логической схемы перед началом распределения.
176 П. Кейс, Г. Графф, Л. Гриффит, А. Ле-Клерк, У. Мерли, Т. С пенс вычислительной машины состоит в том, чтобы распределить блоки логической схемы по подходящим частям и подчастям в соответствующих ячейках. Теперь предположим, что инженер хочет распределить по ячейкам логику, приведенную на рис. 8. На стадии проектиро- проектирования, представленной на этом рисунке, инженер сам помещает блок АК в ячейку 1234, часть А, подчасть I, он сам помещает блоки АС, АЕ и АР в ячейку 4567, часть А, подчасти 1, 2, 3, все другие блоки должны быть распределены автоматически. (Из рис. 4 можно понять, какая информация содержится на логиче- логической схеме.) Распределение блока АК вручную продиктовано такими соображениями, как тепловой режим или электрические наводки. Распределение инженером блоков АС, АЕ и АР было выз- вызвано предпочтительностью использования в монтаже функцио- функциональных частей. В противном случае программы разбиения Таблица 1 Номер группы Логические блоки, соста- составляющие группу Название группы Причины формирования группы 2 3 4 АО А^ АЬ АЭ, АА, АВ АК АР, АЕ, АС 203ВВ 203ВВ 203ВВ 203С2 Этот блок не является предварительно распределенным. Критерий разбиения требует, чтобы группа состояла только из 203ВВ и была реализована как от-» дельная часть ячейки То же, что для группы 1 То же, что для группы 1 Критерий требует, чтобы эти три блока встречались всегда вместе в ячейке. Поэтому они рассматриваются как одна группа Этот блок не является кандидатом для разбиения, так как он предварительно распределен инженером Эти блоки не являются кандидатами для разбиения; они были предварительно помещены инженером в функциональ- функциональную часть. Если бы этого не было, то при разбиении они рассматривались бы как три отдельные группы, подобные группе 1
Автоматизация проектирования системы 1ВМ-360 177 могли бы выбрать нефункциональные части для монтажа этих схем. Программа разбиения извлекает логику из Основного Мас- Массива и проверяет каждый логический блок с точки зрения ряда критериев разбиения, получаемых с другой ленты. Критерии ис- используются для определения групп. Группы блоков, сформиро- сформированные программой для данного примера, и причины формиро- формирования для каждой группы приведены в табл. 1. 2. Распределение групп по ячейкам При следующем шаге размещения необходимо распределить каждую нераспределенную группу по ячейкам, используя про- процесс, описанный Хэспелом [5]. Прежде всего программа выби- выбирает из библиотеки ячеек минимальный комплект ячеек, на ко- котором возможно разместить все группы. Затем вычислительная машина работает по стандартной про- программе, которая помещает в одну ячейку «связанные» между собой группы. Для этого произвольно выбирается одна из ячеек. Рассматривается «часть» в этой ячейке, в нее помещается группа. (Для простоты предположим, что предварительно рас- распределенные группы отсутствуют.) Затем выбирается следую- следующая часть ячейки и выбирается «наилучшая группа-кандидат» для размещения в ней. «Группа-кандидат» — это такая группа, конфигурация которой соответствует конфигурации данной ча- части ячейки. «Наилучшей группой-кандидатом» будет «группа- кандидат», которая наиболее «связана» с уже размещенной группой. Наиболее «связанной» группой является такая группа, которая имеет наибольшее число соединений с размещенной группой (группами) и наименьшее число цепей, не связанных с размещенной группой (группами). Если этому критерию удо- удовлетворяет более чем одна «группа-кандидат», делается произ- произвольный выбор. Теперь, имея две группы, размещенные по частям ячейки, вычислительная машина выбирает следующую часть и находит «группу-кандидата», наиболее связанную с двумя уже разме- размещенными группами. Таким же образом каждая ячейка, выбран- выбранная из библиотечного комплекта, рассматривается по частям до тех пор, пока не будут размещены все группы. Конечно, в неко- некоторых случаях число имеющихся в наличии частей может быть больше, чем число групп, которые нужно разместить, и тогда программа должна решить, какие из частей останутся неисполь- неиспользованными. Для логической схемы, приведенной в качестве примера на рис. 8, с помощью только что описанного процесса группы можно было бы распределить следующим образом:
178 Я. Кейс, Г. Графф, Л. Гриффит, А Ле-Клерк, У. Мерли, Т. Спенс Группа 1: ячейка 4567, часть В, подчасть 1. Группа 2: ячейка 6789, часть В, подчасть 1. Группа 3: ячейка 1234, часть В, подчасть 1. Группа 4: ячейка 6789, часть А, подчасти 1, 2, 3. Группа 5: распределена ранее. Группа 6: распределена ранее. 3. Размещение ячеек на панелях После того как группы распределены по ячейкам, следующим шагом процесса компоновки должно быть размещение ячеек на соответствующих панелях. Этот процесс во многом аналогичен процессу распределения групп в том смысле, что ячейки, кото- которые связаны друг с другом, располагаются на одной и той же панели. Здесь понятие связанности ячеек имеет точно такой же смысл, что и связанность групп. Наиболее связанной ячейкой- кандидатом является ячейка, которая связана наибольшим чис- числом цепей с уже размещенными ячейками и имеет минимальное число цепей, не связанных с размещенными ячейками. 4. Присвоение меток контактам разъема После завершения процесса компоновки в Основном Мас- Массиве имеется достаточно данных, для того чтобы произвести присваивание меток, которые устанавливают соответствие ме- между контактами разъемов ячеек и сигнальными цепями для всех блоков логической схемы. Присвоенные метки контактов также записываются в Основной Массив. На рис. 9 показано, как будет выглядеть логическая схема, приведенная на рис. 8, после того, как будут произведены все виды размещений. Из этой схемы видно, что каждому логиче- логическому блоку приписаны часть и подчасть в ячейке, что при- присвоены метки контактов, что ячейки распределены по большим панелям и, наконец, ячейки размещены по гнездам разъемов на больших панелях. Последнюю проблему еще предстоит рас- рассмотреть. Размещение ячеек на большой панели Соединения между ячейками выполняются с помощью пе- печатных проводников, полученных травлением «а большой па- панели. Поскольку выполнение печатного монтажа включает в себя задачу выбора маршрутов сигналов и требует, чтобы связи между ячейками были как можно более короткими для хорошей работы схем, то желательно максимально использо- использовать ту гибкость, которой обладает размещение ячеек на па- панели. Программа размещения определяет позиции ячеек на панели.
812 В13 6789А1 А-6162 •АА 808 009 гоздс 6789А2 А-61В2 ЛВ 004 > ОК 203ВВ 4567А1 А-81А2 АС 802 > гозсс >8ю 6789АЗ А-В182 ■АО-1 ^ ВО4 гозвв 4567А2 А-В1А2' ае Метка контакта разъема 203ВВ 4567АЗ I А-В1А2 1 — 807 2036В 456781 А-В1А2 •АС 203ВВ 678981 А-В1В2 -АЗ ячейки (присвоенной) Стойка, панель й позиц ия (присвоенные) воз 804 гозвв 1234А1 А-В1АЗ АК ^ 1— 805 808 20368 >810 1234В1 А-81АЗ Рис. 9. Внешний вид логической схемы после частичного размещения (ячеек) и присвоения меток контактам разъемов
180 П. Кейс, Г. Графф, Л. Гриффит, А. Ле-Клерк, У. Мерли, Т. Спенс В распоряжении инженера имеются две основные программы размещения: алгоритмическая программа и программа обме- обмена. Они могут быть использованы независимо или последова- последовательно. Поскольку иногда инженер захочет сам точно задать место некоторых ячеек из большого набора, в обеих программах на этот случай предусмотрены соответствующие возможности. Программы дают приоритет предварительным указаниям и бу- будут размещать ячейки в оставшиеся гнезда. 1. Алгоритмическая программа Для выполнения размещения по алгоритмическому методу программа прежде всего выбирает одну панель из ранее вы- выбранного комплекта панелей. Затем она составляет список всех ячеек, которые должны быть размещены на этой панели, и дру- другой список всех свободных гнезд панели. (Гнездо считается сво- свободным, если оно не было занято при предварительном рас- распределении или если оно не было исключено инженером из числа свободных.) Предположим, например, что одна из ячеек размещена в гнезде инженером. Тогда эта ячейка и это гнездо отсутствуют в таблицах. Далее программа выбирает из таблицы ячейку Сг и по очереди пытается поместить ее в каждое гнездо 5^ Каждый раз, когда вычислительная машина выбирает комбинацию ячей- ячейка-гнездо С{3^ она отмечает местоположение всех контактов, которые участвуют в связях с уже занятым гнездом (гнездами) и гнездом, которое рассматривается. Затем она вычисляет полупериметр наименьшего прямоугольника, в который можно вписать все контакты связей схемы, общей для обоих гнезд. Если существует более чем одна общая схема (обычно так и бывает), вычислительная машина рассчитывает полупериметры описанных прямоугольников для каждой схемы и склады- складывает их. Такая сумма А^- определяется для всех возможных комби- комбинаций ячейка-гнездо С*5^ Из всех А^- выбирается сумма такая, что На основе этого критерия ячейка Ср помещается в гнездо д определенные таким образом ячейка и гнездо вычерки- вычеркиваются из таблиц, и процесс повторяется до тех пор, пока не будут размещены все ячейки. На практике алгоритмическая программа размещает 80 ячеек по гнездам на панели в тече- течение 10 мин при использовании машины 1ВМ-7090.
Автоматизация проектирования системы 1ВМ-360 181 2. Программа обмена После того как все ячейки размещены по гнездам, про- программа обмена пытается улучшить монтаж панели. Коэффи- Коэффициент монтажа равен сумме всех А^, где каждое Ы^ рассчиты- рассчитывается вышеуказанным способом. Чем ниже этот коэффициент^ тем лучше монтаж панели. Пытаясь улучшить монтаж, вычислительная машина пробует поменять местами каждую ячейку с каждой другой ячейкой на панели. При каждом пробном обмене вычисляется величина 2^/у- Если в результате вычислений получается сумма, мень- меньшая, чем та, которая была получена при предыдущем размеще- размещении, оставляется вновь полученное размещение ячеек. Процесс обмена продолжается до тех пор, пока не будут отсутствовать замены, которые дают меньшую величину 2-^/у Инженер ис- использует коэффициент монтажа для сравнения эффективности? различных способов размещений. Практически программа об- обмена занимает на машине 1ВМ-7090 от 15 до 40 мин для тогог чтобы оценить монтаж панели с 60 ячейками и выполнить пере- перераспределение. Программа размещения кабелей Использование плоских кабелей ставит перед проектирова- проектированием новые задачи для получения эффективной и правильной монтажной схемы. Необходима весьма точная информация от- относительно длины и расположения изгибов. Кроме того, поря- порядок укладки и маршруты следования (кабелей) должны быть Кабель В-СЗА4 Кабель В-С5К2 (Лз кабельного разъема д кабельный разъем Рис. 10. Схема блока кабелей. такими, чтобы общая толщина нескольких кабелей >не превы- превышала величины поперечного сечения кабельного канала, и та- такими, чтобы кабели, выходящие из канала в данной точке, рас- располагались в той же относительной последовательности, что и разъемы, с которыми они соединяются. Программа размещения кабелей рассчитывает по известным конечным точкам порядок укладки, изгибы и длины плоских кабелей. Для того чтобы это осуществить, имеется дополнитель- дополнительный ^вход связи с инженером, который рисует схему блока ка- кабелей, как показано на рис. 10. Эти схемы содержат пары
182 П. Кейс, Г. Графф, Л. Гриффит, А. Ле-Клерк, У. Мерли, Т. Спенс блоков, которые устанавливают соответствие между каждым кабелем и разъемами на большой панели, которые кабель ис- использует. В первую очередь программа размещения кабелей рассма- рассматривает те кабели, которые соединяются с гнездами, располо- расположенными наиболее близко к кабельным каналам, и помещает их в таблицу «доступных» кабелей. Из этой группы выбираются те кабели, которые могут быть расположены единственным об- образом. Анализ путей этих кабелей вместе с выбором соответ- соответствующих изгибов, когда направление кабеля меняется, опреде- определяет их первоначальное размещение в каналах. По мере раз- размещения кабелей добавляются другие гнезда и к списку «до- «доступных» добавляются новые кабели. Когда все кабели раз- размещены в каналах, подсчитывается суммарное число получен- полученных в канале пересечений. Эта величина используется для вы- выбора расположения кабеля в случае существования различных путей, которые желательны в равной степени. При размещении кабеля подсчитывают длины, чтобы отметить места изгибов. Ка- Каждый подсчет используется для того, чтобы определить в про- процессе изготовления кабеля отметку, которая показывает, где не- необходимо изогнуть кабель, если указано изменение направле- направления, или где необходимо укрепить кабель (или набор кабелей) для получения дополнительной опоры. После завершения размещения комплекта кабелей изготав- изготавливаются магнитные ленты, которые используются в процессе производства. Главные преимущества, вытекающие из использо* вания этих программ, состоят в точности получаемых данных и в уменьшении доли ручного труда и стоимости проектирования. Хотя методы, описанные выше и имевшие целью облегчить проектирование, весьма важны, тем не менее наиболее суще- существенной помощью при проектировании в условиях использо- использования инженером логических схем на твердом теле является подготовка к выполнению печатного монтажа панели. Этот во- вопрос рассматривается в следующей главе. ПРОЕКТИРОВАНИЕ ПЕЧАТНОГО МОНТАЖА НА ПАНЕЛИ Определение конфигурации печатных проводников на панели является завершающим и наиболее важным шагом в процессе проектирования. В предыдущих главах было описано, как пер- первоначальная логическая схема машины последовательно уточ- уточняется, испытывается, проверяется и распределяется по ячей- ячейкам. Так как каждая ячейка помещена в некоторое место на печатной панели, в результате имеет место строгая опреде- определенность в соединениях, которые необходимо выполнить между
Автоматизация проектирования системы 1ВМ-360 контактами «а панелях. Основная задача программ проектиро- проектирования печатных проводников на панели состоит в подробном расчете конфигурации этих проводников. Как и для описанных ранее программ, помогающих проек- проектированию, источником информации для размещения проводни- проводников является массив на магнитной ленте, в котором находятся данные, накопленные при логическом проектировании. Это очень- важно, так как это обеспечивает абсолютную уверенность в томг что проводники и результаты логического проектирования со- соответствуют друг другу. Другим важным фактором, преду- предусмотренным в программах, является способность сохранять «историю», т. е. архивные массивы данных о печатном мон- монтаже. Использование этих массивов позволяет вносить измене- изменения в данные о проводниках, что необходимо для перехода с од- одного уровня проектирования на другой. В следующих разделах статьи полное расположение провод- проводников на панели будет рассматриваться как «первоначальное- проектирование монтажа», в то время как определение добав- добавлений-выкидываний будет называться проектированием «из- «изменений монтажа». Конструкция панели с печатным монтажом На рис. 11 в общих чертах показано, что представляет собой монтажная панель. Панель имеет две поверхности, на которых методом травления может быть получена система проводников. Связь между обеими поверхностями осуществляется с помощью сквозных отверстий. Некоторые из сквозных отверстий заняты штырьками, через которые сигналы поступают на панель или выходят из нее. Сквозные отверстия без штырьков называются «перемычками» и используются исключительно для связи между поверхностями панели. Отверстия расположены в виде прямо- прямоугольной матрицы 65x98, в этой матрице имеются группы 5x14, образующие гнезда. Каждое гнездо состоит из трех рядов перемычек и двух рядов штырьков. Как показано на рис. 11, между соседними отверстиями раз- размещается до трех печатных проводников. Печатные схемы по- получаются на машине с цифровым управлением, которая исполь- использует для экспонирования движущийся источник света. Допол- Дополнительные связи между штырьками могут быть выполнены на- навесными проводниками, которые накручиваются на штырьки со стороны панели, противоположной укрепленным ячейкам. Первоначальное проектирование печатного монтажа Определение совокупности отрезков печатных проводников, которые реализуют требуемые соединения, представляет собой
184 П. Кейс, Г. Графф, Л. Гриффит, А. Ле-Клерк, У. Мерли, Т. Спенс •сложную задачу главным образом из-за того ограничения, что можно использовать только две плоскости для печатных провод- проводников. Характерными особенностями программ, по которым рассчи- рассчитывают конфигурацию проводников, являются следующие. —— Верхняя поверхность » Нижняя поверхность Навесной проводник См. верхнюю Линия, отмечающая часть чертежа положение гнезд (повторяется 13рауу горизонтально и 6 раз вертикально) Печатные проводники (горизонтальные на верхней поверхности панели и вертикальные на нижней поверхности; Рис. 11. Элементы панели с печатными проводниками. 1. Если требуют обстоятельства, инженер может предвари- предварительно задать путь проводника. Это позволяет иметь дело с осо- особыми случаями. Поэтому программы в первую очередь рассма- рассматривают все такие вводимые вручную данные. 2. Печатные проводники в отличие от навесных могут иметь, как показано на рис. 12, несколько концов. Так как все верти- вертикальные печатные отрезки расположены на одной плоскости, а горизонтальные отрезки на другой (для эффективного ис- использования пространства), важно использовать, где это воз- возможно, такие проводники с несколькими концами для умень- уменьшения длины проводников и увеличения плотности монтажа. 3. Иногда порядок соединения штырьков в пределах схемы должен быть выполнен строго определенным образом для того, чтобы учесть параметры отдельных цепей. Поэтому в програм- программах предусмотрено выполнение специальных правил расположе- расположения, связанных с назначением отдельных ячеек.
Автоматизация проектирования системы 1ВМ-360 4. При расчете путей конкретных проводников последова- последовательно применяются два различных метода. С помощью эври- эвристического метода выполняется приблизительно 60% всех тре- требуемых соединений. На это затрачивается 2—3 мин на машине 1ВМ-7090. Метод движения по лабиринту [6, 7], который являет- является исчерпывающим при нахождении свободных путей для остав- оставшихся связей, обеспечивает выполнение в среднем около 95% шшшппи I I I I I I I I I I I Рис. 12. Способы соединения трех штырьков а — с использованием многоконцевых печатных проводников; б ■— с использованием навесных проводников; в — с использованием проводников типа «штырек-штырек». всех связей. Это занимает на вычислительной машине при- примерно 30 мин. Оставшиеся 5% необходимых связей выпол- выполняются навесными проводниками. Результаты исследования способов расположения проводников В процессе разработки способов расположения проводников была выполнена большая экспериментальная работа для выяс- выяснения наилучшего способа. Некоторыми наиболее существен- существенными результатами являются следующие: 1. Способ с использованием многоконцевых проводников оказался лучше, чем способ с использованием проводников типа «штырек-штырек» в смысле средней протяженности про- проводников и количества навесных проводников, необходимых для завершения всех соединений. В табл. 2 даны сравнитель- сравнительные результаты, полученные при использовании обоих спо- способов. 2. Обнаружено определенное преимущество при управлении очередностью, в которой монтировались различные схемы.
186 П. Кейс, Г. Графф, Л. Гриффит, А. Ле-Клерк, У. Мерли, Т. Спенс Таблица 2 Сравнение результатов использования многоконцевых проводников и проводников типа «штырек-штырек» Номер панели 1 2 3 4 5 6 Число штырьков на панели 961 1161 989 1113 1046 901 Число отдельных схем на панели 314 514 323 297 298 261 Число навесных проводников., необходимых для завершения монтажа при использовании многоконцевых проводников 0 54 23 164 52 0 при использовании проводников типа «штырек-штырек» 3 68 57 203 97 13 В среднем необходимо на 15% меньше навесных проводников, если схемы монтируются в порядке убывания размера, а не в случайном порядке. (Размер схемы определяется здесь как пе- периметр наименьшего прямоугольника, который содержит все штырьки схемы.) 3. Как затраты машинного времени, так и требуемое число (гавесных проводников значительно увеличивались, когда ис- использовался только метод движения по лабиринту, по сравне- сравнению с тем, когда он использовался совместно с эвростическим методом. 4. Ограничения, накладываемые на програ1\шу движения по лабиринту, ведут к заметному уменьшению числа требуемых навесных проводников. Эти ограничения заключаются в умень- уменьшении области, в которой разрешено работать программе в по- поисках свободных путей, и ограничении числа перемычек и дли- длины печатных проводников, позволяющих завершить путь. Наи- Наилучшие результаты получаются при ограничениях на программу в начале работы, когда исследуются все требуемые соединения, в постепенном уменьшении ограничений при последующих ите- итерациях. Программы проектирования печатных проводников на па- панели, используемые при разработках 1ВМ-360, выполнены так, что могут использовать вышеуказанные результаты наилучшим образом. Как и следовало ожидать, дополнительные затраты машинного времени по мере улучшения результатов проектиро- проектирования становятся все менее эффективными. Параметры, кото- которые управляют ограничениями и итерациями для каждой обра-
Таблица Влияние затрат машинного времени на характеристики монтажа Характеристики панели Результаты N Панель 1 Число штырьков Число отдельных схем Среднее число штырь- штырьков в одной схеме Панель 2 Число штырьков Число отдельных схем Среднее число штырь- штырьков в одной схеме Панель 3 Число штырьков Число отдельных схем Среднее число штырь- штырьков в одной схеме 791 280 2,32 1050 357 2,94 1299 362 3,58 Машинное время (в мин) Число навесных про- проводников Число использованных перемычек Среднее число перемы- перемычек в одной схеме Средний полупериметр схемы (в дюймах) Машинное время (в мин) Число навесных про- проводников Число использованных перемычек Среднее число пере- перемычек в одной схе- схеме Средний полупериметр схемы (в дюймах) Машинное время (в мин) Число навесных про- проводников Число использованных перемычек Среднее число перемы- перемычек в одной схеме Средний полупериметр схемы (в дюймах) 12 12 915 3,36 6,75 37 60 1319 4,27 8,64 94 169 1653 5,66 10,72 4 16 898 3,34 6,77 18 78 1179 3,94 8,69 60 188 1576 5,69 11,15 0,5, 60 71а 3,01 6,85* 139» 852" 3,37 9,11 272 1099* 4,70» 11,62 Примечания: 1 — набор параметров при значительных затратах машинного времени. N — набор параметров при оптимальных затратах машинного времени (нормальный). 2 — набор параметров при небольших затратах машинного времени.
188 П. Кейс, Г. Графф, Л. Гриффит, А. Л е-Клерк, У. Мерли, Т. С пенс батываемой панели, можно регулировать с помощью управляю- управляющих перфокарт. В табл. 3 показаны результаты расчета провод- проводников для панелей различной степени сложности с использова- использованием трех наборов управляющих параметров. Проектирование изменений монтажа Вслед за завершением и выдачей первоначального проекта инженер сталкивается с проблемой внесения изменений в проект. Часто необходимо, чтобы такие изменения ограничива- ограничивались модификацией существующего проекта, а не выполнением совершенно нового. Для этого программа проектирования печатных проводни- проводников на панели обладает способностью воспринимать добавле- добавления или удаления, которые должны быть сделаны в логике первоначального проекта. Затем1 изменения в логике приводят к изменениям в ранее полученной конфигурации проводников, преобразуя ее в соответствующий новый вид. Важнейшими особенностями этого процесса являются: 1. В первоначальном проекте удаляются только те провод- проводники, которые не нужны. 2. Дополнительный "требуемый монтаж добавляется так, что- чтобы вновь завершенный проект был пригоден для производства. Для увеличения эффективности этот процесс требует макси- максимального использования печатных соединений. 3. Оба вышеуказанных процесса совершаются так, что этапы удаления и добавления проводников могут быть описаны и эф- эффективно выполнены вручную для ранее полученной панели. Удаление вручную производится путем разрыва существующих травленых проводников или перемещением существующих на- навесных соединений, добавление выполняется с помощью допол- дополнительных навесных проводников. 4. Каким бы из двух возможных путей ни была получена новая панель (т. е. выполнена заново или переделана вручную из старой), процесс в целом таков, что в случае будущих из- изменений он может применяться одинаково к панелям обоих сортов. Это достигается за счет того, что все добавочные тра- травленые проводники делаются по типу «штырек-штырек» и прямо соответствуют навесным соединениям, добавляемым вручную. Помимо того, что программы изменений монтажа необходимы для эффективности производства и доработки машин, подвер- подвергающихся схемным изменениям, они дают при проектировании два важных преимущества: позволяют проводить проектирова- проектирование путем итераций при постоянно управляемых условиях и
Автоматизация проектирования системы 1ВМ-360 189 значительно уменьшают машинное время, необходимое для вы- выполнения измененного проекта. Изменения в законченном проекте, затрагивающие 10% монтажа, могут быть выполнены в течение машинного времени, которое составляет 30% машин- машинного времени, необходимого для того, чтобы рассчитать проект заново. ЗАКЛЮЧЕНИЕ Использование автоматизации проектирования вычисли- вычислительных систем с использованием логических схем на твердом теле оказало существенную помощь в разработках, связанных с использованием схем на твердом теле для нового семейства вычислительных машин 1ВМ-360. Для автоматизации проекти- проектирования логических схем на твердом теле характерно то, что она: 1) обеспечивает различные лаборатории, участвующие в проектировании частей машины, одинаковыми методами проек- проектирования; 2) обеспечивает получение единообразной документации так, что любой завод может выполнять проекты любой лаборатории и каждый человек, освоивший одну машину, может понять до- документацию любой другой машины; 3) дает в руки инженера новые мощные средства для вы- выполнения и детализации своих проектов с недостижимой ра- ранее степенью точности (такое увеличение точности особенно важно, так как ошибки в печатном монтаже, обнаруженные после того, как образец уже изготовлен, ведут к серьезным последствиям); 4) позволяет инженерам легко вносить в проект изменения в целях выбора наилучшего варианта; 5) дает возможность получения экономичного расчета пане- панелей с печатными проводниками и плоскими кабелями; 6) преобразует логические схемы в цифровую информацию, благодаря чему осуществляется управление автоматической ап- аппаратурой, выполняющей панели с печатным монтажом и пло- плоские кабели. Невозможно перечислить всех, чье постоянное сотрудниче- сотрудничество позволило осуществить этот универсальный набор про- программ: работа по программированию в десятки раз превышает объем работ при реализации РСЖТКАЫ. Упомянутое в статье устройство для производства печатных схем разработано в На- Научно-исследовательской лаборатории фирмы 1ВМ в Эндикотте, штат Нью-Йорк.
190 П. Кейс, Г. Графф, Л. Гриффит, А. Ле-Клерк, У. Мерли, Т. Спенс Л ИТЕРАТУРА 1. К1 о о т о к М., Сазе Р. XV., Ога!! Н. Н., ТЬе КесогсПп^, СЬескт& апд РгтНпе о\ Ьо^с О1адгатз, Ргосее<Ип%8 о\ (Не Е1СС A958), 108. 2. А т 6 а Ы О. М, В 1 а а и \у О. А., В г о о к з Р. Р., »1г., АгсЫ1ес1иге о[ 1Ье 1ВМ 5уз1ет/360, 1ВМ /., 8, № 2 A964), 87—101. См. настоящий сбор- сборник, стр. 101—136. 3. Б а VI з Е. М., Наг(Пп& Ш. Е., 5сЬ^аг1г К. 5., СоггНп^ Л. ^-» 5оПс1 Ьо^1с ТесЬпо1о^у: УегзаШе, Н1^Ь-РегГогтапсе М1сгое1ес1гошсз, 1ВМ I., 8, № 2 A964), 102—114. 4. Р а и 1 з е п Н. С, 5рг1п§Не1A XV. К., Н^дЬ-Рге^иепсу, МиШр1е- 51дпа1-СопAис1ог Тгапзт1зз1оп Ыпе, готовится к печати. 5. Н а з р е 1 С. Н., Аи1отаИс Раскад1пд ог Сотри1ег С1гсиИгу, готовится к печати. 6. К0A г ез 11 Н., Ь1рртап Н. Е., 5ЬТ Воагй Ьауои!, 1ВМ ТесЬшса1 Нерог! ТНОО, 1010, 1964. 7. Ь е е С. У., Ап А1доп1Ьт !ог Ра1Ь СоппесИопз апс1 Из АррПсаИопз, 1КЕ Тгапз. оп ЕШ. Сотригегз, ЕС-10, № 3 A961), 346—365,
Автоматизированное обслуживание вычислительных машин (машинная организация и программная система1) /С. Малине, Е. Л. Аллен В статье рассматривается подход к вопросу эксплуатации центрального процессора при минимальном участии человека. Этот подход включает в себя: 1) программную систему, которая составляет диагностическую программу на основе информации, хранящейся на магнитной ленте автоматического про- проектирования машины, и 2) новую организацию части управления экспери- экспериментальной машины. Перечисляются проблемы, которые требуют решения, и объясняется, почему для решения этих проблем были выбраны описанные ниже методы. Описывается программная система и схемы. Указывается, какие усовершенствования следует в них внести для преодоления встретив- встретившихся трудностей. I. Введение Сейчас все острее встает вопрос о том, чтобы выделить часть схем вычислительной машины для облегчения обслуживания. С точки зрения нормальной работы машины желательно, чтобы эти схемы осуществляли контроль. С точки зрения повышения эксплуатационной надежности желательно при проверке значи- значительной части процессора регистрировать ошибки и иметь не- некоторые вспомогательные средства локализации ошибок, когда полученная о них информация достаточно подробна. Наибольший интерес представляет вопрос об общем методе разработки системы обслуживания экспериментальной вычисли- вычислительной машины. Некоторые основные функции осуществляются почти теми же схемами, которые нужны для выполнения обыч- обычных функций процессора и для осуществления контроля по чет- четности. Различные комбинации этих основных функций будут ис- использоваться в различных эксплуатационных ситуациях. Одна из таких комбинаций предназначена для работы с программами, которые создаются программной системой на основе теории ло- локализации ошибок. Программная система и схемы машины 1) М а П п в К., А 11 е п Е. Ь., А Сотри1ег Ог&ашгаИоп апA Рго&гат- & 5у51ет !ог Аи1ота1ес1 Мат1епапсе, 1ЕЕЕ Тгапз. оп Ексгготс Сотри1., ЕС-12, № б A963), 887-895.
192 К. Малине, Е. Аллен взаимно связаны; для достижения максимальной эффективности они дополняют друг друга. Программная система не зависит от специфических особен- особенностей машины, а аппаратная система зависит только частично. Это объясняется тем, что найден достаточно общий подход к во- вопросу обслуживания. II. Возникающие проблемы Обнаружение ошибок Как создать минимальную систему тестов, успешное выпол- выполнение которой гарантировало бы, что процессор выполнит лю- любой другой тест? Нужно доказать, что программа, отлаженная на одной модели процессора, будет вести себя точно так же на другой модели или на этой же модели в другое время. Как про- процессор будет проверять свои схемы контроля? Локализация ошибок Как построить системы тестов, выполнение которых на не- неисправной машине позволило бы определить, какой элемент или какие элементы являются неисправными? Полнота охвата контролем Каким образом можно гарантировать, что в процессе обна- обнаружения или локализации ошибок ни один элемент не будет пропущен? Обновление Как можно упростить или автоматизировать задачу обновле- обновления диагностических программ? Ядро машины Какой должна быть организация машины, чтобы свести к минимуму ту часть машины, которая должна правильно рабо- работать, прежде чем можно будет пустить диагностическую про- программу? Упрощение пульта управления Каков наименьший объем вспомогательных средств — сиг- сигнальных лампочек и переключателей, — позволяющий эффек- эффективно обслуживать машину? Создание опытной модели Как диагностическое программирование сможет обнаружить ошибки проектирования до того, как опытная модель будет вве- введена в строй?
Автоматизированное обслуживание вычислительных машин 193 Неустойчивые ошибки Как процессор может отличить постоянную ошибку от не- неустойчивой? Как процессор восстанавливает свою работоспособ- работоспособность после неустойчивой ошибки? Какую информацию может сохранить процессор об обстоятельствах, при которых появилась неустойчивая ошибка? Очередность разработки Как разрешить парадокс, заключающийся в том, что диагно- диагностические программы должны быть готовы к моменту заверше- завершения схемной части машины и в то же время их нельзя детали- детализировать, пока не закончатся все инженерные изменения? III. Дополнительные условия Требования Из перечисленных проблем видно, что существуют по край- крайней мере два требования. Во-первых, машина должна обладать, если можно так сказать, способностью самоанализа, и, во-вто- во-вторых, диагностические программы должны вырабатываться про- процессором. Однако любые дополнительные аппаратные средства не должны существенно увеличивать стоимость машины, а лю- любая программная система, разработанная для составления диаг- диагностических программ, должна быть достаточно общей, чтобы ее можно было применить для машин других типов. Нельзя исходить из предположения, что иа установке потре- потребителя имеется другой процессор, специальное испытательное оборудование или цифровое устройство связи для анализа ре- результатов диагностической программы. Нельзя также предпола- предполагать, что процессор, после того как он не смог помочь в ана- анализе, все еще работает правильно. Диагностическая программа должна быть достаточно про- простой, чтобы оператор мог пользоваться ею без знания схем ма- машины. Среднее время локализации ошибки должно быть равно по крайней мере наименьшему времени локализации ошибки в со- современных вычислительных машинах. Ограничения Такое решение применимо только для процессора и только для случая одиночных логических ошибок. Многократные ошиб- ошибки, ошибки питания, задающего генератора, синхронизации по- потребуют обычных методов поиска с использованием осцилло- осциллографа.
194 К. Малине, Е. Аллен IV. Теория метода Число различных комбинаций входных сигналов, которые мо- могут быть поданы на логический элемент с п входами, равно 2П. Тест заключается в подаче на вход элемента одной из таких комбинаций сигналов и сравнении значения его выхода с из- известным результатом. Однако для доказательства правильности работы элемента не нужны все 2П тестов. Достаточно убедиться, что каждый вход способен индивидуально управлять выходом и что выход может иметь любое состояние. На рис. 1 показаны Достаточные тесты Избыточные тести О 1 1 / О 7 \ \ 0 1 1 1 1 0 0 0 1 О 0 О 1 0 0 0 1 0 О О 1 О О 0 1 О О О О 1 1 1 0 1 1 / 0 / / / -ииим -ИНН И Рис. 1. Достаточные и избыточные тесты для схем «И» и ИЛИ» с тремя входами. достаточные и избыточные тесты для схем «И» и «ИЛИ» с тремя входами. Для транзисторных схем, например, можно утверждать, что если любой из входов некоторой схемы «И» определяет значе- значение выхода, то несколько таких входов также будут определять значение выхода. Следовательно, число необходимых тестов бу- будет равно только четырем, или в общем случае п+1. При анализе логической сети можно рассматривать пооче- поочередно все элементы и для каждого из них перебирать все п + 1 комбинации входных сигналов. При этом каждый раз сеть про- прослеживается назад к входам, для того чтобы определить значе- значения сигналов на входах сети, обеспечивающих нужную комби- комбинацию на входе элемента. Если А2 должен иметь на входах все единицы, то комбинация сигналов может быть такой, как на рис. 2 (х означает, что данный входной сигнал может иметь любое значение).
Автоматизированное обслуживание вычислительных машин 195 Для сети из к элементов, когда 1-й элемент имеет п\ входов, число комбинаций равно Это число комбинаций является верхней границей числа те- тестов Гтах = С. Можно установить нижнюю границу числа тестов (она нам потребуется в дальнейшем). Пусть С = 2*. Предполо- Предположим далее, что достижима идеальная степень локализации ошибки и пусть каждый тест будет подавать на входы тех или иных элементов половину оставшихся комбинаций входных сиг- сигналов. После I тестов останется только одна комбинация вход- входных сигналов. Поэтому нижней границей является Гтщ=1 + ^ = = 1 +{| 1о^2 С П> где [| |]- используется для обозначения ближай- ближайшего целого, превосходящего данное число. Опыт показал, что Рис. 2. Входы сети. фактически достаточно, чтобы число тестов было приблизитель- приблизительно равно числу элементов к. Ясно, что существуют и другие способы задания подходя- подходящих входных сигналов >на Л2. Например: л: 1 1 X 1 1 вместо 1- X 1 1 X X Некоторые способы позволяют воспользоваться «безразлич- «безразличными» состояниями. Если" бы, например, требовалось только об- обнаружить ошибку, то можно было бы минимизировать число тестов. Для локализации ошибок было решено выбирать зна- значения входных сигналов таким образом, чтобы тест был
196 К. Малине, Е. Аллен наименее чувствительным к неисправностям всех элементов, кроме проверяемого. В приведенном выше примере следовало бы взять все входы равными единице. Этот метод был исполь- использован в программе для выработки системы тестов (которая не является единственно возможной) для любой логической схемы, не содержащей обратной связи. Существуют схемы, для кото- которых нельзя найти теста. Схема, показанная на рис. 3, является Рис. 3. Цепь с избыточными элементами. избыточной, так как значение ее выхода всегда определяется значением сигнала, поданного на верхний вход. На входах А\ невозможно обеспечить комбинацию 1 О Точно так же нельзя задать комбинацию О О на входах 02 или различить значения выходных сигналов 01 (как было сделано для А\) для входных комбинаций О О и О 1 Следовательно, элементы такой схемы не могут быть полностью проверены. Программа, вырабатывающая систему тестов, об- обнаружит конструкторские ошибки такого рода (пропуск инвер- инверторов и т. д.). На практике большое число ошибок в начертании логической схемы неожиданно делают ее избыточной. Между тестами и вышедшими из строя элементами не обя- обязательно существует взаимно однозначное соответствие. Оши- Ошибочное выполнение теста может быть вызвано отказом разных элементов. Поэтому для локализации ошибок приходится при- применять один из двух методов: 1) принять расположение тестов в виде дерева, когда пра- правильное или ошибочное выполнение теста определяет, какой
Автоматизированное обслуживание вычислительных машин 197 тест должен выполняться следующим для того, чтобы группа подозреваемых элементов постепенно сужалась; 2) выполняя все тесты или часть тестов, фиксировать те из них, которые выполняются неверно, и затем взять пересечение множеств подозреваемых элементов для каждого из них, т. е. найти такой элемент, отказ которого мог бы объяснить все слу- случаи неверного срабатывания. Чтобы пояснить различия между этими двумя методами, ниже в табличной форме приводятся данные о вычислительных средствах, необходимых на разных этапах локализации ошибок. Действие Выработка тестов Использование тестов 1) Выбор последо- последовательности тес- тестов 2) Установление пересечения по- подозреваемых элементов Время До проверки Во время проверки Во время проверки После проверки Вычислительные средства Сложная программа, выполняемая на уни- универсальной вычислительной машине Сравнение результата теста, выполненно- выполненного на неправильно работающей машине, с известным результатом. Метод A) требует выбора выходов. Пропуск некоторого числа тестов в соот- соответствии с результатом предыдущих. Установление соответствия между ко- конечными тестами и неисправным эле- элементом Установление пересечения новой группы подозреваемых элементов с накоплен- накопленной до этого группой. Установление со- соответствия между оставшимися подозре- подозреваемыми элементами и неисправным элементом Теперь можно определить, какие из вычислительных средств, необходимых для локализации ошибок, должны быть встроены в процессор и какие должны существовать вне его. Для мето- метода B) требуется сравнивать, устанавливать пересечение и устанавливать соответствие. Любая из этих логических опера- операций или все они могут быть выполнены либо ручным способом, либо с помощью другого процессора» если он есть, либо же с помощью специальных схем, являющихся частью процессора. Рассмотрим, сколько раз выполняется каждая из этих опе- операций. Сравнение должно выполняться для каждого теста,
198 К. Малине, Е. Аллен пересечение выполняется всякий раз, когда сравнение дает от- отрицательный результат, а операция установления соответствия выполняется лишь несколько раз в конце диагностической про- программы. Если пренебречь возможностью использования другого процессора, то в специальные схемы несомненно должны вхо- входить схемы сравнения, возможно — схемы установления пере- пересечения, но не должны входить схемы установления соответ- соответствия. Списки подозреваемых элементов можно получить также для сокращенной системы тестов (осуществляющей обнаружение ошибок). Список подозреваемых элементов для теста, состоя- состоящего из нескольких тестов, можно получить в результате объ- объединения списков подозреваемых элементов для входящих в их х=о —► у = 0-*~ 2=0—*- 01 А1 . 0 1 1 1 0 0 02 О •*- 1 + 03 О -*» 04 О А2 1 -*» -*-0 7 •*► 0 + АЗ / -** 7 -► А4 Рис. 4. Комбинации входных сигналов. него тестов. Существует два метода получения списков подозре- подозреваемых элементов для теста. Оба эти метода требуют модели- моделирования логики с помощью программы на вычислительной ма- машине. Моделирование может быть интерпретативным; тогда имеет место сложный алгоритм для определения того, насколько да- далеко следует прослеживать в обратном направлении от выхода каждого элемента. Рассмотрим четыре комбинации входных сигналов для элементов «И» и «ИЛИ». Для схемы «ИЛИ» это могут быть все нули, все единицы или другие входные комби- комбинации (рис. 4). Напоминаем, что возможны только одиночные ошибки и что логика неизбыточная. Тогда для случаев 01 и А\ не мужно про- прослеживать ни одного входа, так как изменение значения одного входа не повлияет на значение выхода. Для случаев 02 и А2 справедливо то же самое. Но для 03 и ЛЗ уже нужно просле- прослеживать вход 2, а для случаев 04 и Л4 должны быть просле- прослежены все входы, поскольку ошибка на любом входе приведет к тому, что выход окажется ошибочным. Моделирование можно выполнить также путем компилиро- компилирования программы, эквивалентной моделируемой логике. Исполь-
Автоматизированное обслуживание вычислительных машин 199 зуя в качестве входных данных комбинации каждого теста, М0Ж1Н0 моделировать ошибку в каждом элементе путем измене- изменения одной команды в выполняемой программе. Таким образом определяют, влияет или нет моделируемая ошибка на резуль- результат, получаемый в данном тесте. Преимущество такого метода заключается в том, что с его помощью на вычислительной ма- машине ШМ-7090 можно моделировать одновременно 36 ошибок. Недостаток состоит в том, что время вычисления пропорцио- пропорционально приблизительно кубу числа элементов, так как: 1) число тестов примерно пропорционально числу элементов, 2) число ошибок примерно пропорционально числу элементов; 3) число команд, приходящихся на каждый тест, предназначенный для выявления одной ошибки, примерно пропорционально числу элементов. Для больших логических цепей недостатки явно перевеши- перевешивают преимущества, но если одновременно моделировать не 36, а только один тест, то можно прекращать моделирование для тех элементов, через которые ошибка не распространяется. Условие прекращения процесса определяется так же, как и в случае описанного выше интерпретативного моделирования. Тогда время вычисления становится приемлемым для логиче- логических сетей, состоящих из сотен элементов, причем такое коли- количество элементов является вполне реальным. Можно отметить, что при интерпретативном моделировании прослеживание ве- ведется от выхода к входу, а при компилятивном моделирова- моделировании — в обратном направлении. Обычно используют последний метод. Использование описанных идей вытекает из предположения, что диагностические программы не следует писать на функцио- функциональной основе, при которой проверяются все команды в раз- различных видах и со многими операндами. Чтобы получить пол- полный и в то же время минимальный по объему набор тестов для локализации ошибок, их необходимо писать на основе элемен- элементов. Такие программы и составлялись на основе разных точек зрения. V. Организация экспериментальной машины Метод выработки тестов, описанный в разд. IV, применим к комбинаторной логике, т. е. к логике, не содержащей цепей обратной связи или триггеров. Задача выработки тестов для последовательной логики (и составления списков подозревае- подозреваемых элементов для них) не решена иначе, как «исчерпываю- «исчерпывающим» методом. Там, где «исчерпывающий» метод слишком дли- длинен, требуется метод разделения последовательной логики на
200 К. Малине, Е. Аллен участки, с которыми можно оперировать методами комбинатор- комбинаторного анализа. Такой метод сведения к комбинаторной логике особенно удо- удобен для последовательной машины, в которой для большинства команд результат операции получается через много шагов после засылки операндов. Экспериментальная машина является имен- именно такой последовательной машиной. Другая проблема возникает в связи с тем, что тестовая ин- информация проходит, так сказать, через многие руки. В машине информационный поток идет от входного устройства к памяти, процессору и затем обратно от процессора к памяти и устрой- устройству вывода (рис. 5). Процессор \ Память 4 Ввод- вывод 41 Специальное управление Рис. 5. Прохождение информации теста. При такой схеме информационного потока устройства вво- ввода-вывода и память можно проверить независимо и до про- проверки процессора. Поэтому при проверке процессора можно предполагать, что промежуточные схемы передают информацию правильно. В экспериментальной машине число информационных регист- регистров уменьшено за счет того, что они выполняют разнообразные функции в зависимости от обстоятельств. Это требует исполь- использования вспомогательных слов в памяти, по одному для каждой дополнительной функции регистра, и такой организации потока информации, при которой передача информации между запо- запоминающим устройством и регистрами была бы по возможности непосредственной. Это упрощает использование памяти в каче- качестве источника и приемника тестовой информации для процес- процессора (рис. 6). Машина хорошо проверяется (около 60%), и в большинстве случаев ошибка обнаруживается через один такт синхронизации после ее появления. Для полного использования возможностей контроля необходимо сохранять состояние процессора, соответ- соответствующее моменту обнаружения ошибки (идеально было бы сохранять состояние процессора в момент появления ошибки),
Автоматизированное обслуживание вычислительных машин 201 с тем, чтобы по несоответствию состояния машины ее нормаль- нормальному состоянию можно было сделать заключение о характере ошибки. Необходимость предусмотреть возможность появления неустойчивых ошибок оправдывает включение дополнительных схем для пересылки содержимого управляющих триггеров и ин- информационных регистров в память. Кроме того, исходная за- засылка программы требует установки одних и сброса в начальное состояние других управляющих триггеров. Такую установку можно осуществлять из памяти, используя для этого общий ме- метод, и делать это почти так же экономично, как и установку триггеров и регистров в некоторое фиксированное состояние. Установка Управление О Е а Память тгаттл Опрос- Р и с. 6. Прохождение информации в экспериментальной машине. Таким образом, возможность устанавливать состояние машины из памяти и записывать состояние машины обратно в память, естественно, вытекает из тех возможностей, которыми обычно обладает вычислительная машина. VI. Специальные схемы управления Специальные схемы управления реализуют несколько фик- фиксированных программ, осуществляющих пересылку информации Специальное управление Управление командами, вводом-выводом и обработкой Массовые цепи а регистры Рис. 7. Специальные режимы. и восстановление исходного состояния, причем (некоторые из этих программ требуют работы устройств ввода-вывода. Нуж-
202 К. Малинг, Е. Аллен ные программы задаются с помощью переключателя на пульте управления (рис. 7). Когда идет работа в одном из специальных режимов, то с точки зрения специальных схем управления обычные схемы Нормальный Пуск- режим >засылка—-установка вх. Ртцм » авшЫфическоа выдачи *засылка-+усЫ-—нормальный-*опц$с- -*> выдача нб$ка-вх щгх Решим Писк -~ выдача принудительной выдачи Циклический Писк-^засылка режиМ * истановка- Засылка- Пцск-+засшка-*~быдача ёыдача Л сравт татов ойр ь- выдача д, Ошибкамфсмя/азрешеннпгирежима . Ошибка $о время запрещенного режима Рис. 8. Работа процессора в специальном режиме. Примечание. Вычислительная машина входит в режим запрещения для повторения. Программа не может быть прервана, пока машина находится в режиме запрещения. управления ничем не отличаются от информационных разрядов (рис. 8). Следовательно, вместо такого положения, когда при- примерно 65% схем машины управляет 30% схем, мы будем иметь, что 5% будет управлять 95% схем машины. Так реализуется требование о сокращении той части машины («ядра»), которая должна правильно работать перед пуском диагностической про- программы.
Автоматизированное обслуживание вычислительных машин 203 Определение терминов Засылка (Ьоай)— передача информации из вход- входного устройства в память Выдача A1п1оас1)— передача информации из памяти в выходное устройство Установка (Зсап-т)— занесение на триггеры процессо- процессора состояний, соответствующих значениям разрядов памяти Опрос Eсап-ои1)— занесение в разряды памяти зна- значений, соответствующих состоя- состояниям триггеров процессора Задержка (Ое1ау)— число тактов синхронизации ме- между установкой и опросом Простота схем управления была достигнута за счет исполь- использования постоянного общего участка памяти для информации, предназначенной для осуществления установки и полученной в результате о'проса, за счет постоянного формата для этой ин- информации и за счет того, что задержка является частью уста- устанавливаемой информации. Режимы работы задаются переклю- переключателями. Специальные схемы управления выполняют следующие функ- функции: засылка-выдача (режим работы, см. разд. V); исходная засылка программы (режим работы); повторная засылка программы (после ошибки, обнару- обнаруженной контролем по четности); повторяющийся цикл (режим для проверки с помощью осциллографа); опрос (после ошибки, обнаруженной контролем по чет- четности) ; разрешение программной установки и опроса (для моде- моделирования и проверки); устранение с пульта управления световых индикаторов и переключателей; тест установки-опроса и сравнение (режим работы). Последние три функции заслуживают некоторого уточнения. Программная установка-опрос При работе в нормальном режиме программа вычислитель- вычислительной машины может обращаться к специальным схемам управле- управления как к устройству ввода-вывода. Движение информации идет от памяти к процессору и обратно в память. Никакого
204 Л'. Малинг, Е. Аллен механического ввода-вывода при этом нет, не может быть также и одновременного вычисления. В управляющих кольцах преду- предусмотрено состояние, при котором выполняется логическое сло- сложение (операция «ИЛИ») выходов двух регистров перед за- записью в память. Засылая на эти регистры нужную комбинацию разрядов, можно записать в память любую комбинацию разря- разрядов с любым значением разряда контроля по четности (за исключением всех нулей и четного значения контрольного раз- разряда). Это единственный способ, с помощью которого правиль- правильно работающая машина может выработать слова с неправильной четностью, так как при нормальной работе это специальное уп- управляющее кольцо недоступно. Но благодаря специальному уп- управлению в обычные управляющие кольца можно заслать лю- любой код. При наличии возможности задавать слова с непра- неправильной четностью появляется возможность проверить схемы контроля путем осуществления нормального продолжения, ис- используя для этого повторную засылку программы. Неисследованной возможностью использования программной установки и опроса является моделирование машины путем ко- копирования самой себя. Из-за перемежающихся ошибок анализ опроса требует обнаружения несоответствия в состоянии ма- машины. Это означает моделирование состояния машины вплоть до того цикла, в котором был осуществлен опрос, однако моде- моделирование всего процессора является трудновыполнимой зада- задачей. Тем не менее если анализ выполняется на идентичной ма- машине, то можно использовать программную установку и опрос для получения состояния процессора в каждом интересующем нас цикле путем выполнения указанных опросов с последова- последовательно изменяющимися задержками. Устранение световых индикаторов и переключателей Световые индикаторы и переключатели нужны как для нор- нормальной работы, так и для целей обслуживания. Применение интерпретативного пульта управления делает их ненужными для нормальной работы, а возможность осуществлять опрос и выдачу эквивалентна большему количеству индикаторных лам- лампочек, чем обычно принято устанавливать в машине. Выбор средства для наблюдения за состоянием машины зависит от того, кто будет обрабатывать информацию — инженер или дру- другая машина. Для инженера нужны индикаторные лампочки, для машины — перфокарты или лента. Если приходится делать вы- выбор между этими двумя средствами, то следует принять во вни- внимание, что легче производить перевод информации с перфокарт на визуальный индикатор, чем обратно. Та степень автоматиза- автоматизации, которую дают диагностические программы, вырабатывае-
Автоматизированное обслуживание вычислительных машин 205 мые вычислительной машиной, должна уменьшить необходи- необходимость в визуальном контроле за состоянием процессора. Основными лампочками и переключателями являются, ко- конечно, те, которые помогают при проверке специальных схем управления, т. е. той части машины, которая должна работать до пуска диагностических программ. Предусмотрена также воз- возможность индикации любого слова памяти, что оказалось весьма ценным. Тест установки-опроса и сравнение В последнем режиме работы, показанном на рис. 8, тест за- засылается в фиксированный участок памяти, скажем с «екото- рой зоны на ленте. Устанавливается соответствующее состояние процессора, и процессор нормально работает в течение несколь- нескольких циклов синхронизации. Затем состояние триггеров процес- процессора записывается в память (производится опрос). Следующая зона на ленте содержит эталонную информацию. Она посимвольно сравнивается с информацией о состоянии триггеров процессора, находящейся в памяти. Если информация идентична, то начинается следующий тест, если нет, то перед началом следующего теста печатается первое слово текущего теста, которое является его номером. После того как на неисправной машине будут выполнены все тесты, содержащиеся на ленте вместе с эталонной информа- информацией, отпечатанные номера тестов используются для выбора ин- индексных карт. Для каждого теста имеется своя карта. Получе- Получение карт и их использование описано в разд. VII. Специальные схемы управления могут выполнять следующие основные функции: Засылку Установку Задержку Опрос Выдачу Сравнение (в процессе засылки) Нормальную работу Повторение Комбинация основных выполняемых функций определяется переключателем режимов и некоторыми условиями. Переключа- Переключатели могут задавать следующие режимы: Нормальный Автоматической выдачи Принудительной выдачи
20В К. Малинг, Е. Аллен Тест установки и опроса Циклический Засылка-выдача Сравнение результатов опроса Условиями являются: Ошибка, обнаруженная контролем по четности Разрешение-запрещение Успешное сравнение VII. Обслуживающие программы Специальное управление полезно только в том случае, если его особенности успешно используются и дополняются соответ- соответствующими программами. За исключением программы засылки (используемой для начальной засылки программы), все они имеют отношение к случаю появления ошибок. Это следующие программы: 1) Программа восстановления, которая используется при по- появлении ошибки, обнаруженной контролем по четности, с целью заново выполнить неверную команду и получить информацию об обстоятельствах появления этой ошибки. 2) Программа анализа результатов опроса. Общий метод построения этой программы пока еще не найден. 3) Программа обнаружения ошибок, обслуживающая ту часть процессора, которая не может быть охвачена программой локализации ошибок. 4) Программа локализации ошибок или программа теста установки-опроса, которая ниже будет рассмотрена более по- подробно. Программа теста установки-опроса Слова, написанные заглавными буквами, относятся к про- программам, показанным на рис. 9. Резюмируем основные положе- положения разд. IV и V. 1) Благодаря доступу к достаточному числу триггеров в ма- машине стал возможен анализ последовательной по своему харак- характеру логики вычислительной машины. 2) Наиболее удобным документом, из которого можно взять данные о логике машины, является лента автоматического про- проектирования машины. Следовательно, нужна программа, кото- которая ИЗВЛЕКАЕТ некоторую часть информации, содержащейся на этой ленте, и преобразует ее во входной формат РАЗРАБА- РАЗРАБАТЫВАЮЩЕЙ ПРОГРАММЫ. Следует отметить, что все из- изменения логики фиксируются на ленте автоматического проек-
Автоматизированное обслуживание вычислительных машин 207 тирования машины по причинам, не связанным с вопросами об- обслуживания. 3) РАЗРАБАТЫВАЮЩАЯ ПРОГРАММА «вырабатывает си- систему тестов. Лента ^ Р автоматическо-! \ го проектирования^ ) машин Ч_^х г Выбор логических страниц извлекающая программа Выбор т ров, подвергае мых опросу и Массив информации: а. Номер логической страницы б. Координаты элементов на странице в. Расположение эле- элементов б машине Органмующ программа I Разрабаты- Разрабатывающая программа Оцениваю- Оценивающая программа Г Накопленный спи сок проверенных и непроверенных элементов . / Входные \ {ивыходные \ /Подозрева- /Подозреваемые элемен-у \тб/ в тесте/ {есто физи- \ /ескоге располоК .тения подозре-) ваелшх элемен-/ тов / Управление форматом Программа- генератор \ карт Входные значения теста Адрес и значе- значение выходных данных теста индексные карты Рис. 9. Блок-схема программы, вырабатывающей тесты локализации ошибок. 4) ОЦЕНИВАЮЩАЯ ПРОГРАММА определяет полезность теста, составляя описок «подозреваемых» элементов для каж- каждого теста. Под «подозреваемым» элементом понимается эле- элемент, неисправность которого может быть причиной отличия фактического сигнала от заранее вычисленного эталонного. Не- Некоторых входов или выходов элементов может и не быть в
208 К. Малине, Е. Аллея списке подозреваемых ошибок какого-либо теста. Это может быть обусловлено либо избыточностью, либо взаимозависимо- взаимозависимостью логики, что затрудняет нахождение теста в приемлемое время. Однако последний случай встречается редко. Указанные три программы — ИЗВЛЕКАЮЩАЯ, РАЗРАБА- РАЗРАБАТЫВАЮЩАЯ и ОЦЕНИВАЮЩАЯ — в случае их применения к логике всего процессора нужно дополнить еще некоторыми свойствами. Основная задача распадается на три части: разбиение ло- логики на поддающиеся анализу участки, описание участка ло- логики для ИЗВЛЕКАЮЩЕЙ ПРОГРАММЫ и решение вопроса о том, какие триггеры должны быть программнодоступны для установки-опроса. Последняя задача тесно связана с двумя пре- предыдущими и решается в процессе разработки машины. Из со- соображений экономии нецелесообразно делать каждый триггер доступным программе. Для того чтобы выработанные тесты и полученные резуль- результаты перевести в фиксированный формат, определяемый схем- схемной реализацией, нужны специальные программы вывода. Для установления соответствия между тестом и адресом элемента в машине необходимо выработать индекс. Чтобы избежать дублирования тестов, нужно вести список проверенных элементов. Этот список можно также использовать для нахождения остальных элементов, для которых должна быть предусмотрена возможность обнаружения ошибок во время нормальной работы. Подводя итог, можно сказать, что интересующий нас участок логической схемы задается, во-первых, указанием названий всех «логических страниц», содержащих отдельные части этого участ- участка, и, во-вторых, перечислением всех триггеров, образующих «границу» участка по входам и выходам. Для соединения ли- линий, принадлежащих разным страницам, используется инфор- информация, содержащаяся на ленте автоматического проектирования машины. Сигналы, не иесущие логических функций, не рассма- рассматриваются. Страницы извлекаются с ленты и организуются в формат, облегчающий их обработку на машине 1ВМ-7090. Та часть ло- логики, которая была ИЗВЛЕЧЕНА, но лежит за пределами гра- границ, определяемых перечисленными триггерами, ОТБРАСЫ- ОТБРАСЫВАЕТСЯ другой программой. Затем осуществляется проверка на наличие линий, входящих и выходящих из данной схемы, но не оканчивающихся триггерами или явно указанными ли- линиями. Для выделенной таким образом части схемы составляются тесты с учетом списка элементов, для которых тесты уже были
Автоматизированное обслуживание вычислительных машин 209 составлены до начала работы РАЗРАБАТЫВАЮЩЕЙ ПРО- ПРОГРАММЫ. Список проверенных элементов будет существенно увеличен, если анализ не обнаружит избыточных элементов. Затем выполняется ОЦЕНИВАЮЩАЯ ПРОГРАММА, кото- которая вычисляет состояния опрошенных триггеров, а те триггеры, которые не связаны с конкретным тестом, устанавливает в ней- нейтральное состояние, например устанавливает в начальное со- состояние управляющие кольца. Несмотря на то что ошибку можно локализовать с точностью до нескольких элементов, ог- ограничиваются сменным блоком. Тем самым удается сократить число двоичных знаков, среди которых необходимо выполнить ПЕРЕСЕЧЕНИЕ, до такой степени, когда это просто выпол- выполнить ручным способом. В качестве индекса используются пер- перфокарты, причем каждому тесту соответствует своя перфо- перфокарта. Каждому сменному блоку соответствует своя позиция на перфокарте, в которой делается пробивка, если сменный блок содержит подозреваемые элементы. Операция СРАВНЕНИЯ указывает, какая карта индекса должна быть взята из карто- картотеки. Карты собираются в стопку, и путем визуального про- просмотра находится ПЕРЕСЕЧЕНИЕ. При наличии второй вычислительной машины, например та- такой, как 1ВМ-1401, выбор индексов, нахождение пересечений и установление соответствия можно осуществить на этой ма- машине. VIII. Трудности составления тестов Система программирования, описанная в разд. VII, ставит много интересных и вполне преодолимых проблем. Однако не следует думать, что наличие такой системы сделает выработку диагностических программ тривиальной. Вся работа по выбору участков логики падает >на программиста, занимающегося диаг- диагностическими программами. Он должен определить последова- последовательность, в которой следует анализировать эти участки, и, что более серьезно, решить, как быть с теми линиями, к которым нет прямого доступа со специальных схем управления. К таким линиям относятся: 1) входные и выходные линии информационного регистра памяти; 2) входные линии адресного регистра памяти; 3) линии, соответствующие стробирующим сигналам на вхо- входах и выходах регистров; 4) линии, соответствующие цепям сопряжения устройств; 5) линии, представляющие условия, которые используются для индикации ошибок (эти условия могут быть созданы толь- только ошибкой вне процессора);
210 К. Малинг, Е. Аллен 6) линии управления опросом и установкой триггеров про- процессора и линии сброса этих триггеров в исходное состояние (любой триггер, для которого не предусмотрена установка, дол- должен находиться в известном исходном состоянии); 7) выходы триггеров, не доступных для опроса и уста- установки. Для опроса и установки доступно только около 2/3 всех триг- триггеров машины. Половина из них являются регистрами, а дру- другая половина — управляющими триггерами, окружающими шиф- шифраторы и дешифраторы, которые определяют стробирование шин и регистров, а также последовательность работы управляющих колец. Эти управляющие триггеры составляют около 25% обо- оборудования машины. Неизбежно приходится допускать такое положение, когда для проверки некоторой логики В используется логика А, а за- затем с помощью В прямо или косвенно проверяется логика А. Это вполне обоснованно для случая обнаружения и локализа- локализации одиночных ошибок, однако делает локализацию менее ав- автоматической, чем это было бы, если бы А и В были независи- независимыми. Программист, составляющий диагностические программы, должен поэтому тщательно проверить свои предположения от- относительно отдельных участков логики. Один из методов умень- уменьшения указанной зависимости состоит в том, чтобы перед основ- основной диагностической программой выполнить ряд тестов опроса и установки, которые гарантировали бы правильность работы следующих схем: 1) специальных схем управления, памяти и некоторых схем управления вводом-выводом; 2) необходимой части памяти; 3) регистров; 4) шин между памятью и регистрами; 5) схем управления, в частности их способности «ничего не делать», т. е. держать все вентили запертыми; 6) цепей между вводом-выводом и памятью. Эти тесты осуществляют только грубую локализацию оши- ошибок, однако они проверяют те части процессора, к которым легко применимы обычные методы отыскания ошибок. Линии, идущие к регистру адреса запоминающего устрой- устройства, можно частично проверить, если использовать тест записи в ячейку с фиксированным адресом (или выборки из нее) неко- некоторой характерной информации, а затем другой тест для обра- обращения к этой ячейке с помощью адресной части слова в про- программе. Окончательная проверка, состоящая из программы, вы- выполняемой в нормальном режиме, нужна для того, чтобы пока- показать, что все адреса в памяти отличны друг от друга.
Автоматизированное обслуживание вычислительных машин 211 Линии, соответствующие цепям сопряжения устройств, дол- должны проверяться также при помощи нормально выполняемой программы. В некоторых случаях требуется ручное вмешатель- вмешательство, например для задания таких сигналов, как «сигнал вни- внимания» или сигнал «работа-ремонт» в недопустимых сочетаниях с другими сигналами. При выделении участков логики пренебрегают линиями, ко- которые не ведут к доступным триггерам или от них. Так, были опущены линии, которые идут к схемам управ- управления установкой и опросом триггеров, а также линии, идущие от клавиш (начального пуска и пуска и осуществляющие стро- бирование и установку. Для их проверки следует использовать нормально работающие программы и визуально-ручное вмеша- вмешательство. Триггеры, состояние которых записывается в память, должны быть «заморожены»; при этом их использование для выработки стробов запрещено. Эти линии запрещения строби- рования были также опущены. Не все триггеры непосредственно доступны для установки и опроса. Триггеры, недоступные для установки и опроса, можно устанавливать и опрашивать путем введения задержки на два цикла, как это показано на следующей схеме: Логина 2 ^-^ Логика 1 Установка 1 Установка 2 Опроо Логика 1 может быть проверена, поскольку можно устано- установить на триггер Т2 информацию из памяти и после задержки на один цикл осуществить опрос Т3. Логику 2 нельзя проверить, используя задержку в один цикл, так как нельзя осуществить опрос Т2. Однако можно вначале проверить логику 1, затем произвести установку в Ть разре- разрешить задержку, равную двум циклам, и произвести опрос Т3. Это означает, что логика 1 для РАЗРАБАТЫВАЮЩЕЙ И ОЦЕ- ОЦЕНИВАЮЩЕЙ ПРОГРАММ будет указана дважды, однако во второй раз дополнительные тесты выработаны не будут. Возможно аналогичное положение, когда нельзя произвести опрос Т2. В этом случае необходимо сначала проверить ло- логику 2. В режиме «засылка-выдача» удобно проверяются связи ме- между памятью и устройством ввода-вывода. Установка с нуле* вой задержкой используется для проверки способности реги- регистров и управляющих колец хранить коды.
212 К. Малина, Е. Аллен IX. Возможности и ограничения выбранных решений Следует отметить определенный успех в решении таких про- проблем (указанных в разд II), как обнаружение и локализация ошибок, обновление диагностических программ и уменьшение ядра машины. Достигнута полнота охвата контролем в том смысле, что элементы, не охваченные тестами локализации ошибок, будут указаны в списке непроверяемых элементов. Можно ожидать, что по мере сокращения списка непроверяемых элементов труд- трудности их проверки будут возрастать до непреодолимых разме- размеров. По приблизительным оценкам, тестами установки и опроса могут быть охвачены около 85% схем процессора. Остальные 15% схем состоят из схем управления установкой и опросом E%), схем каналов ввода-вывода, пассивных схем управле- управления, схем синхронизации, логических схем, обслуживающих фор- формирователи сигнализации, и некоторых других элементов. Возможность упрощения пульта управления зависит от ис- использования метода установки и опроса. Вопрос заключается в том, не слишком ли много времени занимает манипуляция с кла- клавишами и переключателями в тех случаях, когда их использо- использование совершенно необходимо для определения состояния про- процессора. Обнаружение избыточных элементов оказалось вполне эф- эффективным способом нахождения ошибок, допущенных при кон- конструировании. В результате экспериментальной проверки, охва- охватывающей около 200 элементов, было выявлено пять ошибок. Упомянутый в начале статьи парадокс очередности разра- разработки частично можно разрешить, если допустить, что триггеры, которые должны подвергаться опросу и установке, будут ука- указываться в программе на самом последнем этапе; это вполне приемлемо, так как для инженерных переделок, связанных с их изменением, вообще говоря, нужны лишь провода, а не допол- дополнительные элементы. Однако из-за ограничений, накладываемых мощностью и числом выходных штырьков, необходимо наложить некоторые ограничения на компоновку схем. Единственное удо- удовлетворительное (но дорогостоящее) решение заключается в том, чтобы вести компоновку так, чтобы опросу и установке можно было подвергнуть любой триггер. Из-за недостатка опыта сейчас трудно оценить время, необ- необходимое для детализации диагностики всего процессора, однако можно полагать, что оно будет небольшим по сравнению с вре- временем составления обычных диагностических программ. Дета- Детализация считается самой трудной проблемой. Для логических сетей, содержащих свыше тысячи элементов, время вычисления.
Автоматизированное обслуживание вычислительных машин 21$ как оказалось, составило немного меньше часа работы машины 1ВМ-7094. Оказалось, что при помощи этого метода можно также лока- локализовать ошибки синхронизации, неустойчивые ошибки, при ус- условии, что они принимают форму линий. Разработаны, но еще не реализованы методы для другого класса ошибок, таких, как короткое замыкание диодов. Логику машины можно несколько изменить с тем, чтобы избежать усложнения анализа ошибок и удержания от введения клапанирования, необходимого для осуществления установки и опроса. Если стоимость дополнительного регистра равна стои- стоимости схем управления для использования в двух режимах су- существующего регистра и если этот дополнительный регистр под- подключается к шинам памяти, то лучше иметь дополнительный- регистр. Если затраты на декодирование какого-нибудь усло- условия равны затратам, связанным с его запоминанием на отдель- отдельном триггере, то следует декодировать условие. Наиболее значительным шагом вперед в деле развития ме- метода установки и опроса будет разработка «неисчерпывающих» алгоритмов выработки тестов для последовательных схем. Эго позволит сократить число триггеров, подвергаемых опросу и установке. Число элементов и время локализации ошибок мо- могут быть сокращены также с помощью быстродействующих ка- каналов связи между вычислительными установками или же за счет размещения нескольких машин в одном месте. Время вы- выполнения тестов с локализацией ошибок можно уменьшить, если применить запоминающее устройство с большим быстродей- быстродействием, чем у магнитной ленты. Использование магнитных ди- дисков осложняется тем, что сигналы «выбора» усложняют упра- управление установкой и опросом, но возможность установки маг- магнитных дисков на современных машинах и их высокое быстро- быстродействие делают их использование привлекательным. Опыт разработки экспериментальной машины оказался об- обнадеживающим в отношении неустойчивых ошибок. В одном случае исследование результатов трех опросов позволило точно установить причину довольно тонкой ошибки, являющейся по своему характеру перемежающейся, потому что она появлялась при специфических условиях. X. Дальнейшие исследования Осталось несколько нерешенных вопросов. Наиболее важ- важным на них является вопрос об изменениях в программах в со- соответствии с инженерными изменениями. Для диагностических программ, выполняемых обычным образом, это не является
К. Малинг, Е. Аллен серьезной проблемой, но она должна быть решена таким об- образом, чтобы незначительные изменения в логике приводили к незначительным изменениям в диагностических программах. Нужно разработать такие методы компоновки, которые повы- повысили бы разрешающую способность локализации ошибок и со- сократили бы «ядро» машины. Описанный здесь метод нужно рас- распространить на электронику ввода-вывода, а также на классы ошибок, которые, как показывает опыт, не охватываются су- существующим алгоритмом. Вычислительные процедуры можно безусловно улучшить, и их придется улучшать, чтобы можно было иметь дело с очень большими логическими цепями. Пока еще нет опыта применения этого метода на машинах. Конечная цель состоит, разумеется, в том, чтобы дать возможность чело- человеку, не. знающему техники, ремонтировать неисправную ма- машину. Л ИТЕРАТУРА 1. Е 1 6 г е A Н. &., Тез! гоиИпез Ьазес1 оп зутЬоНс 1о&ка1 з1а1етеп1з, Соттип. АСМ, 1958. 2. О1а&по81з о! РаПигез \п 5\уИсЫп& ОгсиИз Соп!егепсе, Мау, 1961. 3. Зутрозшт оп СотЫпа1юпа1 РгоЫетз, Рппсект, 1960. 4. 5 е з Ь и 5., Ргеетап В. \У., О1а2поз1з о! азупсЬгопоиз зе^иепиа1 з^И- сЫп& зуз1етзг ЩЕ Тгапз. оп Е1еЫгоп1с СопгрШ., ЕС-11, 1962, 459—465. .5. О а 1 е у 3. М., К о 1Ь 3. Р., N о г Ь у К., ТесЬг^иез !ог Ше О1а§поз1з о! 5\щ1сЫпв С1гси!1 РаПигез, Ргос. 2-пй А1ЕЕ 5утр. оп 5Ы ТЬеогу апA Ьо^са! Оез^п, 1961, 162—162.
О цифровой вычислительной машине с программированием посредством формального математического языка1} Л. Кальмар Дается схематическое описание вычислительной машины, программный' язык которой (фактически вариант программного языка, используемого в- связи с операторным методом Ляпунова) близок к обычному формальному математическому языку. ПРОГРАММНЫЙ ЯЗЫК 1. Основные символы: 1.1, цифры 0,1, ..., 9; 1.2. десятичная запятая,; 1.3. символ конца числа ""]; 1-4- простые переменные (любые буквы, которые мы пожелаем использовать для обозна- обозначения скалярных величии); 1.5. идентификаторы массивов (аг- гау ЫегШПегз) (любые буквы, отличные от простых перемен- переменных, которые мы пожелаем использовать для обозначения век- векторов, матриц и т. д.); 1.6. арифметические скобки (,); 1.7. ин- индексные скобки (зиЪзспр{ ЪгаскеЬ) [,]; 1.8. индексный разгра- разграничитель (зиЪзспр! AеНт11ег)^; 1.9. символы арифметических операций +, —, X, /, | (для возведения в степень), У,* (для стандартной элементарной функции одного аргумента); 1.10. символы отношений^5=, ф, <, >-, >, <;; 1.11. логические связки Л» Л» V» V» ->> ~Лу •*->•> *Ф-\ 1.12. символы запоми- запоминания (з!ога§е зутЬо1) ==>, >- ; 1.13. разграничитель (для) метки AаЬе1 йеИтйег) ___|; 1.14. символы передачи управления О'итр 8утЬо1з) [~~, Г"*, {_; 1.16. фигурные скобки (для цикла) {,} Aоор Ьгасез); 1.16. циклические разграничители Aоор йеН^ тНег) <==, (, ), : (двоеточие); 1.17. символ размерности мас- массива (аггау 81яе зутЬо1) ®; 1.18. символ печати Д; 1.19. сим- символ продолжения ; (точка с запятой); 1.20. символ останова .. (точка). 2. Из этих основных символов строятся следующие состав- составные символы: 2.1. (неотрицательные целые) числа, т. е. конеч- ) Ка1таг К., Оп а с11^11а1 сотри!ег \^ЫсЬ сап Ье рго^гаттей 1п а та! Ьета11са1 !огти1а 1ап^иа^е, труды Второго Венгерского математического*' конгресса B4—31 августа 1960 г.), Будапешт, V. 3 —V. 16.
216 Л. Кальмар ные последовательности цифр; 2.2. (неотрицательные) констан- константы вида гП или ^, V'""] (^, Vх обозначают числа); 2.3. индекс- индексные переменные EиЪзспр1ес1 уапаЫез) ^р^е ..._, е^], I обо- обозначает идентификатор массива и еь е2, ..., е^ — выражения, не содержащие индексных переменных; 2.4. константа (простая пе- переменная или индексная переменная) называется термом и в то же самое время выражением; если %\ и тг — термы и® — символ арифметической операции, то (Т10Т2) —терм, Т10т2— выражение; никаких других термов и выражений нет; 2.5. если 81 и е2— выражения, Д — символ отношения, то (е^вг) — скобочная формула, а е^вг—формула; если ф! и ср2 — скобоч- скобочные формулы и □ — логическая связка, то (ф! □ ф2) — скобоч- скобочная формула, а ф4 □ ф2 — формула; никаких других формул и скобочных формул нет. 3. Исходя из выражений и формул, операторы, декларации массивов (аггау Aес1ага1юп8), частичные программы и про- программы строятся следующим образом: 3.1. для любого выраже- выражения е и любой (простой или индексной) переменной О, егф^;, •ггфф., е^й;, е=фД:м и . (один символ останова) есть ариф- арифметические операторы и никаких других арифметических опе- операторов нет; 3.2. для любой формулы ф и любых чисел V и V •ЧгуГ» Ф^1__» Ч^Г* V'1_ и у[~ (и только это) есть логические операторы; 3.3. для любой простой переменной р, для любых вы- выражений 81, е2, ез, для любой частичной программы я и любой формулы ф, {рфге! (е2)е3 : я} и {р^=:Е1{&2) : тр] (и только это) есть циклические операторы; 3.4. для любого числа V и любого (арифметического, логического или циклического) оператора со V _| со (и только это) называется помеченным оператором AаЪе11ес1 орега!ог), V—его меткой (или меткой со) и говорят, что со снабжен меткой V, 3.5. для любых выражений еь е2, ... ..., е^ и любого идентификатора массива I," 81® е2® ... ...®ех>-1 (и только это) называется декларацией массива; 3.6. любая последовательность операторов и (или) помеченных операторов называется частичной программой, а также про- программой; любая последовательность деклараций массивов, опе- операторов (или) помеченных операторов называется программой-; никаких других частичных программ и программ нет. (Семантическое) значение понятий, определенных (синтакси- (синтаксически) таким образом, поясняется следующими замечаниями и примерами: B.2). Символ П, указывающий конец константы, упрощает некоторые команды в списке команд вычислительной машины; ценой усложнения команд можно обойтись без этого символа. B.3, 1.8). Если, например, А (обозначение вектора), В (обозначение матрицы) и С (обозначение трехмерного мае-
О машине с программированием посредством формального языка 217" сива) —идентификаторы массивов и /, /', к— простые перемен- переменные, тогда А[1] обозначает /-ю компоненту А (обычно обозначае- обозначаемую Аг), ВЦуА—элемент (обычно обозначаемый В^) в ь-й строке, ]-м столбце В иС[*у/г&]—элемент в 1-й строке, у-м столбце и к-м слое С. B.4, 1.9). Для каждой стандартной эле- элементарной функции одного аргумента (наряду с возведением в степень и извлечением корня как функций двух аргументов) в ма- машине должна быть построена подпрограмма, идентифицируемая посредством отличительного числа (сНзИпсИоп питЬег). Зна- Значение любой стандартной элементарной функции одного аргу- аргумента рассматривается как результат операции, обозначаемой посредством *, левая и правая компоненты которой являются отличительными числами этой подпрограммы и аргумента функ- функции соответственно. Однако допускается использование обыч- обычных обозначений, например таких, как зт х, при условии, что слово зт кодируется так же, как (V""]*» где V обозначает от- отличительное число подпрограммы для зт (отсутствие правой скобки не имеет значения). C.1). Арифметический оператор еп=>Ф; или е=>Ф. означает: вычислить значение е (для задан- заданных значений фигурирующих в нем переменных), заменить зна- значение О вычисленным таким образом значением или придать О- это значение, если оно до этого не имело значения, и продол- продолжать последовательно вычисления или остановиться соответ- соответственно; е^фВ; или е=фЦ:. означает: вычислить и напечатать значение е и продолжать последовательно вычисления или со- соответственно остановиться; наконец, оператор . означает оста- останов. C.2). Логический оператор чл?[~~ (соответственно яп?|_) означает: вычислить значение истинности формулы ф и перейти к оператору с пометкой V, если это значение «истина» (соответ- (соответственно если это значение «ложь»), в противном случае продол- продолжать последовательно вычисления; яп?Г~^'|_ означает: вычис- вычислить значение истинности ср и перейти к оператору с меткой V или V7, смотря по тому, есть это значение «истина» или «ложь»; гГ" означает: перейти к оператору с меткой V. C.3). Циклические операторы {р 4=: ег (е2) е3 : п] и {р <#= ег (е2) : шр} озна- означают: выполнять частичную программу я последовательно для значений еь 81 + е2, е1+.2ег, ... параметра р до тех пор, пока его значение не превысит ез, и соответственно до тех пор, пока ф не будет удовлетворяться, а потом продолжать последовательно вычисления; при этом еь е2 и е3 обозначают значения этих вы- выражений до первого выполнения я, тогда как в ф каждая пере- переменная должна принимать свое значение после текущего вы- выполнения я. (З.б). Декларация массива гг ® ег ® • • • ® ех>- и означает: I есть массив со значениями 81, ез, ..., ел в качестве числа его строк, столбцов и т. д.
:218 Л. Кальмар В том случае, когда декларация массива содержит простую переменную, которой не придано значение никаким предыду- предыдущим оператором, или содержит индексную переменную, кото- которой или соответствует не единственная (с тем же самым иден- идентификатором массива, что и идентификатор перед индексной скобкой) предыдущая декларация массива («предыдущее» всегда понимается в динамическом смысле), или значения ее индексов не согласованы с этой декларацией массива, или ло- логический оператор содержит (перед символами [""", (_ или Г"*) число, которое не является меткой единственного оператора, то рассматриваемый оператор или декларация массива и любая частичная программа, циклический оператор или программа, их содержащая, должны рассматриваться как бессмысленные. ВЫЧИСЛИТЕЛЬНАЯ МАШИНА Кроме числа возможных простых переменных, идентифика- идентификаторов массивов и общего числа возможных элементов массивов, определяемых объемом памяти машины, следующие данные счи- считаются существенными данными машины, определяющими ее возможности: A) максимальное число п пар круглых скобок; B) число т, такое, что числа 0, 1, ..., т и только они допу- допускаются для использования в качестве меток; C) максималь- максимальная размерность й массивов; D) максимальное число к пар фи- фигурных скобок для цикла. Основные блоки машины содержат следующие подблоки и регистры: 1. Ввод. A) Перфоратор (или подобное устройство) для пер- перфорирования программной ленты. B) Ленточное читающее устройство, передающее кодовые числа последовательных сим- символов программы с программной ленты в память как следую- следующие друг за другом компоненты Р[0], Р[1], Р[2], ... «программ- «программного вектора». 2. Память. A) Часть ее ячеек, адресами которых являются кодовые числа простых переменных, отводится для хранения (меняющихся) значений этих переменных. B) Другая часть ее ячеек, адресами которых являются кодовые числа идентифика- идентификаторов массивов, отводится для хранения сведений (собранных в единое информационное слово) о начальных адресах и адрес- адресных шагах, соответствующих увеличению на 1 индексов соот- соответствующих элементов массивов. C) Остальные ячейки памяти служат для хранения (меняющихся) значений элементов мас- массивов, включая и компоненты программного вектора.
О машине е программированием посредством формального языка 3. Арифметическое устройство. A) Вычислительные устрой- устройства для выполнения элементарных арифметических операций ( + , —, X, /), а также операций, соответствующих элементар- элементарным арифметическим отношениям (==, Ф, <, !>, >, <!) и ло- логическим связкам (Л> Л, V, V, ->, -Л, -*->, ^); кроме того,, вмонтированные подпрограммы с автоматическим возвраще- возвращением к программе для выполнения возведения в степень и из- извлечения корней, а также для стандартных элементарных функ- функций одного аргумента. (В качестве операции, соответствующей арифметическому отношению Л или логической связке П, мо- может быть выбрала любая арифметическая операция, результат которой от а и Ъ положителен тогда и только тогда, когда а А Ь или (а > 0) □ (Ъ > 0) соответственно истинно.) Каждое вычис- вычислительное устройство или: вмонтированная подпрограмма имеет, смотря по числу компонент соответствующей операции, один! или два входных регистра, а также выходной регистр (для ре- результата операции). B) Преобразователь для обращения кон-' стант, записанных в десятичной форме, в машинную форму (скажем, бинарную). Он состоит из выходного регистра СОК*, содержащего 0 в начальном состоянии, а также из преобра- преобразующего факторрегистра СРК, содержащего 10 в начальном! состоянии и способного также содержать отрицательные сте- степени 10. C) п+1 арифметических блоков АВ0, АВ4, ..., АВП из четырех регистров ЬОКг, ОрКь КОКг и КК* A=0, 1, ...,/г) каждый. Их начальные, или «пустые», состояния должны отли- отличаться от любого состояния, в котором они «заполнены», или* содержат любые действительные числа (даже 0). Если реги- регистры ЬОКг и КОКг заполнены компонентами, а ОрКг — кодо- кодовым числом символа операции (+, —, X» /» | ,"/"»*; или опе- операции, соответствующей =, Ф, <, >, >, <, Л, Л, V, \Л->> уЧ <->, -«/•■), то содержимое ЬОКг и КОКг автоматически пере- передается во входные регистры соответствующих вычислительных устройств или вмонтированной подпрограммы (в случае опе- операции * содержимое КОК* передается во входной регистр под- подпрограммы для стандартной элементарной функции одного ар- аргумента, имеющей содержимое ЬОКг* в качестве отличительного числа). После выполнения требуемых вычислений результат ав- автоматически передается из выходного регистра вычислительного* устройства или подпрограммы в ККг и из этого регистра при условии />0 — в регистр ЬОК*-1 или КОК*-ь с которым зара- заранее ККг был соединен. В то же самое время ЬОКь КОКг, ОрК* и ККг очищаются и упомянутые связи разрываются. D) Адрес- Адресное вычислительное устройство, содержащее свободный ячееч-
220 Л. Кальмар ный регистр РСК для хранения адреса первой ячейки памяти, доступной для хранения элементов массивов (содержащий в начальном состоянии, после чтения программной ленты, -адрес первой ячейки памяти для элементов массивов, не за- занятой программным вектором), затем адресный регистр АК, а также A+1 адресных шаговых регистров А5Ко, А5КЬ ... ..., А5Ка и выходной, или информационный, регистр Щ. В на- начальном состоянии А5Ко должен содержать число 1, тогда как А5Кь ..., А5Ка — число 0. 4. Управляющее устройство. A) Счетчик команд ОС. B) Командный регистр ОК. C) Два управляющих регистра СК и СК', первый из которых служит для хранения отличительного числа одного из регистров ЬОКо, КОКо, ККо, ЬОКь КОКь ККь ... ..., ШКп, КОКп, ККп, Ш, РК1, ..., РКа (в начальном состоя- состоянии ЬОКо), называемого активным регистром, тогда как второй служит для хранения содержимого СК, пока последний занят вычислением значений индексов компонент массива. D) Счет- Счетчик цикла IX, считающий число выполнений циклического опе- оператора, выполнение которого начато, но еще не кончено (содер- (содержащий 0 в начальном состоянии). E) т+1 регистр передача управления №Ко, ЛРКь ..., ЗРЯ™, Ошпршд р1асе ге§1з{ег) для хранения адресов кодовых чисел первых символов (как компо- компонент программного вектора) операторов с метками 0, 1, 2, ..., ал соответственно. F) к параметрических регистров РКь РКг, ... ..., РКь для хранения кодовых чисел параметров циклических операторов. G) к параметрических шаговых регистров Р5Кь Р5К2, • • •, Р$Кь. (8) к регистров окончательных значений РУКь ..., РУКь. (9) к циклических стартовых регистров Ь5Кь Ь5Кг, . • • > Ь5Ка- Если дано, что IX содержит /( = 1, 2, ..., к), то РКг называется рабочим параметрическим регистром. 5. Выводное устройство. A) (Печатающий) регистр РгК для хранения действительного числа, которое должно быть напеча- напечатано, до тех пор пока оно не будет преобразовано в десятичную форму и напечатано. B) Реконвертор для преобразования со- содержимого РгК из машинной формы в десятичную. C) Теле- Телетайп (или подобное устройство) для печатания десятичных (действительных) чисел. СПИСОК КОМАНД МАШИНЫ После того как программная лента пробита на перфораторе, вставлена в ленточное читающее устройство и нажата пусковая кнопка, кодовые числа следующих друг за другом символов про- программы передаются в память, ©се прочие ячейки памяти и
Таблица Список команд Основной символ, кодовое число которого равно (ОН) Цифра б Десятичная запятая, Символ конца числа "~| Условие A) (СРК)-10 B) (СРК) =^10 A) ЬОКг — активный регистр B) КОКг — активный регистр, СК' — пуст C) КОКг — активный регистр, (СК') равно отличи- отличительному числу ЬОКр или КОКр Команда, которая должна быть выполнена (СРК) (СОК) +6 =ф (СОК) (СОК)+6(СРК) =#> (СОК),за- (СОК),затем 0,1 (СРК) =Ф(СРК) 0,1- =Ф (СРК) (СОК)=Ф(ШКг), 10=ф(СРК), затем 0 =ф (СОК) и акти- активизируется ОрКг (СОК) =#(КОКг),Ю=Ф (СРК), затем 0=ф(СОК) и активи- визируется ОрК;/, где / есть максимальное число /'<*, такое, что ОрК^- пуст, или если такого числа / нет, то активизируется ККо (СОН)=Ф (КОКг),Ю =# (СРК), затем 0=ф (СОК) и акти- активизируется ОрК^, где \ есть максимальное число, такое, что р<]<1 и Ор^ пуст, или если такого \ нет, то акти- активизируется ККр-и Простая переменная A) ЬОКг — активный регистр ((ОН)) =Ф(ШК<) зируется ОрКг и активи- B) КОК* — активный регистр, СК' — пуст ((ОК))=ф (КОК*) и активизи- активизируется Ор^ с максималь- максимальным ]<1, для которого ОрК/ пуст, или если такого ] нет, то активизируется ККо C) КОКг — активный регистр, (СК') равно отличительному чис- числу ЬОКр или ((ОК)) =ф (КОКг) и активи- активизируется ОрК^ с макси- максимальным ;, таким, что р<]'<1 и ОрКу пуст, или если такого \ нет, то акти- активизируется ККр-и
Продолжение Основной символ, кодовое число которого равно (ОН) Простая переменная Идентификатор мас- массива Левая арифметиче- арифметическая скобка ( Правая арифмети- арифметическая скобка ) Левая квадратная скобка [ Правая квадратная скобка ] Условие D) ККо — активный регистр (б) РК* — активный ре- регистр AIК — активный ре- регистр B)ШКь или КОК*, или ККг Г*=0) — активный регистр ЬОКг или КОК* — активный регистр A) ОрК г — активный регистр B) ККг — активный регистр Команда, которая должна быть выполнена (ККо) =^> ((ОК)), ККо очища- очищается (т. е. переводится в начальное состояние) и ак- активизируется ЬОКо (ОК) =ф (РКг) и активизи- активизируется ЬОКо AК) =#> ((ОК)) и активизи- активизируется ЬОКо ((ОК)), рассматриваемое как информационное слово, раз- разделяется на начальный ад- адрес и й адресных шагов, =ф (АК), (А5К0,... ..., (А5К<г), затем (СК) =ф =Ф (СК') и активизируется ЬОКг+1 Активный регистр соединяется с КК*+1 и активизируется ЬОКг + 1 Нет операции Нет операции Кодовое число операции + ==>(ОрК<), 0=ф(КОКг), затем, как в B) (АК) + (ККг)(А5К0 =ф (ОК), затем (СК')=Ф(СК) и СК' очищается, после чего, как в случае простой перемен- переменной
Продолжение Основной символ, кодовое число которого равно (ОН) Индексный разгра- разграничитель |Г Символ арифметиче- арифметической операции, символ отношения или логическая связка Символ запомина- запоминания =ф Символ запомина- запоминания >~ Разграничитель метки _] Условие A) ОрКг " регистр B) ККг - регистр < - активный - активный ОрКг — активный ре- регистр A)ОрКо - регистр B)КК0-актив A)ОрНв - регистр B)ККо — регистр, (АЗК*)^8!» (А5Кг + 1) = (СОК)-/ • активный 1ный регистр • активный активный 0 Команда, которая должна быть выполнена Кодовое число операции '+=Ф(ОрК<), 0=#(КОКг), затем, как в случае B) (АК) + (ККг)(А5К0 ==> (АК), затем последовательно (А5К2) ф А5К0,... 0=ф (А5Кй) и активизиру- активизируется ЬОКг (ОК) =Ф (ОрК*) и активизи- активизируется КОКг Кодовое число операции + =#> (ОрКо), 0=ф (КОКо), затем, как в случае B) Очищаются ШКо, ОрКо, КОКо Кодовое число операции + =#>(ОрКо), 0=ф(КОКо), затем, как в случае B) (ККо)(А5К;) =ф (А5К;) для /—О, 1, ... 1, 1# (АЗКг+О, затем очищаются ЬОКо, ОрКо, КОКо и ККо, после этого (РСК) как начальный адреси (А5К0, ••»» (А5Ка) как адресные шаги собира- собираются в информационное сло- слово, =ФAК), затем (РСК)+ + (А5Ко)=#>(РСК), 1=#> =Ф (А5Ко) и 0 =#> (А5Ку) для /=1, 2, ..., й и акти- активизируется 1К (ОС) =#> (ЛРК<), Ю =ф (СРК), 0 =ф (СОК)
Продолжение Основной символ, кодовое число которого равно (ОК) Символ передачи управления | Символ передачи управления .-> Символ передачи управления [_ Левая фигурная скобка { Правая фигурная скобка } Циклический раз- разграничитель ^= Условие A) (СОК)-/, ККо пуст или (ККо)>О B) (ККо)<О A)(СОК)=/, (ККо)>О B) (ККо) < 0 A)(СОК)=/, (ККоХО B)(КК0)>0 * A) ШКо — активный регистр, (IX) =* < (РУК,) B) ШКо — активный регистр, C) ККо — активный регистр, (ККо)>О, (IX) =г D) ККо — активный регистр, (ККо)<° Команда, которая должна быть выполнена урКг) =#> (ОС), 10 =#> (СРК), 0=ф> (СОК), затем очища- очищаются ШКо, ОрКо, КОКо и ККо и активизируется ШКо 10 =ф (СРК), 0 =ф (СОК), очи- очищаются ШКо> ОрКо, КОКо и ККо и активизируется ШКо Как в случае символа | 10 =ф (СРК), 0=ф (СОК) Как в случае A) символа Г" Как в случае B) символа! (IX)+ 1 =ф (IX), затем акти- активизируется рабочий пара- параметрический регистр ((РКг)) + (Р5К*)=ф((РКг)), (Ь5Кг)=ф (ОС), (IX) — 1 =ф (IX) Как в случае A), затем очи- очищаются ШКо, ОрКо, КОКо и ККо и активизируется ШКо Как в случае B), затем очи- очищаются ШКо, ОрКо, КОКо и ККо и активизируется ШКо Нет операции
Продолжение Основной символ, кодовое число которого равно (ОН) Циклический раз- разграничитель ( Циклический раз- разграничитель ) Циклический раз- разграничитель : Символ размерности массива ® Символ печати ф(: Символ продолже- продолжения ; Условие A) ОрКо — активный регистр, (ЬС)=~* B) ККо — активный регистр (IX) «* A)ОрКо — активный регистр B) ККо — активный регистр (А5К0-1. (А5Кг+1) = =0 Команда, которая должна быть выполнена Кодовое число операции + =ф(ОрКо), 0=#>(КОКо), затем, как в случае B) (ККо) =ф ((РКг)), очищаются ШКо, ОрКо, КОКо и ККо и активизируется ЬОКо Как в случае (, однако (ККо) =Ф (Р5К0 вместо (ККо) =ф((РК«)) Как в случае (, однако (ККо) =ф (РУКг) вместо (ККо) =ф ((РКг)), далее (ОС) =#> (Ь5Кг) Кодовое число операции + =ф (ОрКо), 0=ф(КОКо), затем, как в случае B) (ККо) (А5КЛ =ф (А5К,) для /=0, 1, ... 1, 1 =ф (А5К*+1), затем очищаются ЬОКо» ОрКо, КОКо и ККо и акти- активизируется ШКо (ККо) =ф (РгР), затем очища- очищается ККо и активизируется ЬОКо- Во время дальнейше- дальнейшего выполнения программы (РгР) будет преобразовано в десятичную форму и на- напечатано Нет операции Символ останова . Останов Незначительными изменениями списка команд можно сделать возможными некоторые- подходящие изменения программного языка. Например, для любого терма х можно рас- рассматривать ( + т) и ( — г) как термы, а+т и-1 как выражения при условии, что список команд, в случае если (ОД) равно кодовому числу символа + или —, будет соответствую- соответствующим образом изменен. 15 Зак. 1622
226 Л. Кальмар регистры очищаются, если их начальные состояния не были за- заданы, или переходят в начальные состояния. Кроме того, информационное слово, указывающее начальный адрес и един- единственный адресный шаг 1 программного вектора (другие шага равны 0), засылается в ячейку памяти, адресом которой является кодовое число идентификатора Р, используемого в ка- качестве обозначения программного вектора, и машина начинает работать с начальным адресом программного вектора в каче- качестве содержимого счетчика команд. В каждом рабочем цикле машины сначала содержимое ячейки памяти, адресом которой является содержимое счетчика команд, передается в регистр команд, затем содержимое счетчика команд увеличивается на единицу, [наконец, выполняется команда, соответствующая со- содержимому регистра команд, согласно следующему ниже списку команд, после 'чего начинается следующий рабочий цикл. В формулировке списка команд содержимое регистра обозна- обозначается посредством заключения его обозначения в круглые скобки, а содержимое ячейки памяти, адресом которой являет- является содержимое регистра, обозначается посредством заключения обозначения последнего в двойные круглые скобки; кроме того, используются обычные математические обозначения и обозна- обозначение
Математическая лингвистика
Введение в формальный анализ естественных языков1) Я. X ом с кий и Дж. Миллер Язык и коммуникация играют особую, чрезвычайно важную роль в человеческом обществе, и над языковыми проблемами думают и работают ученые самых различных специальностей. Вклад, сделанный психологами, составляет лишь относительно небольшую часть от общих усилий. Поэтому, чтобы дать пер- перспективную картину тех проблем, с которыми сталкивается математическая психология, изучая языковое поведение, нам придется в данной главе, как и в двух следующих2), сильно выйти за рамки психологии в традиционном смысле слова. Существо проблемы, возникающей при описании языка и языкового поведения, состоит в следующем: носитель языка об- обладает способностью понимать огромное число предложений, которые он никогда ранее не слышал и не произносил, а также способностью создавать в соответствии с ситуацией новые пред- предложения, в свою очередь понятные другим носителям языка. Возникают следующие основные вопросы: 1. Какова точная природа этой способности? 2. Каким образом эта способность реализуется? 3. Как она приобретается человеком? В последнее время имело место несколько попыток придать вопросам такого рода точную и эксплицитную форму и по- построить модели, имитирующие некоторые из указанных аспек- аспектов поведения носителя языка. Если построенные модели ) Спотзку N.. ЛИ Не г О. А., 1п1гос1ис1юп 1о Ше !огта1 апагуз15 о! па!ига1 1ап&иа^ез, НапсПюок о! МаШета11са1 РзуспоЬду, Уо1. 2, Ые^ Уогк, №Пеу, 1963, 269—322. 2) Настоящая работа представляет собой главу 11 упомянутой книги. Главы 12 и 13 той же книги, на которые здесь и далее ссылаются авторы (Спотзку N.. Рогта1 ргорегИез о! ^гаттагз, 323—418; М111 ег О., Спотзку N.. РтИагу тосЫз о! 1ап&иа&ез изегз, 419—491), также посвя- посвящены математической лингвистике и тесно связаны с настоящей главой. Их перевод будет помещен в следующих выпусках этого сборника. — Прим. ред.
230 И. Хомский, Дж. Миллер достаточно просты, то оказывается возможным чисто абстракт- абстрактное изучение их внутреннего характера и общих свойств. Ис- Исследования такого рода находятся пока еще в младенческом состоянии; лишь очень немногие аспекты языка и коммуника- коммуникации уже формализованы до такой степени, когда можно думать об абстрактном их изучении. Однако плодотворные результаты в этом направлении уже имеются, и количество их все возра- возрастает. Мы попытаемся дать обзор этих результатов и показать, каким образом эти исследования могут углубить наше понима- понимание природы и функционирования языка. Первый из трех вопросов касается природы языка, и чтобы ответить на этот вопрос, необходимо выявить внутреннюю струк- структуру, общую для всех естественных языков. В логике и лингви- лингвистике возник ряд попыток подойти к этой задаче с принципи- принципиально новой стороны; в последние годы эти попытки скон- сконцентрировались вокруг краеугольного понятия «грамматики». Включение данной работы в книгу, посвященную математиче- математической психологии, даст возможность познакомить психологов с более реалистичным взглядом на то, что же в конечном счете приобретает человек, когда он обучается говорить и понимать естественный язык. Ассоциирование звуковых реакций с визу- визуальными раздражителями — фактор, который больше всего при- привлекал внимание психологов, — является далеко не единствен- единственным существенным аспектом процесса обучения языку. Ответом на второй вопрос должно быть формальное (т. е. основанное на построении моделей) описание носителей есте- естественного языка. Психологи, которые, как можно было бы ожи- ожидать, должны были бы заниматься этим вопросом в общей про- программе изучения человеческого поведения, пока что давали лишь самые общие (и часто мало правдоподобные) ответы на этот вопрос. Некоторые ценные идеи, относящиеся к этой тема- тематике,-возникли в общей теории связи; их связь с психологией была самая непосредственная, и она довольно быстро получила признание. Однако понятия теории связи являются преимуще- преимущественно статистическими и лишь незначительно соприкасаются с тем, что известно о внутренней структуре языка. Формулируя вопросы A) и B) раздельно, мы хотим отчет- отчетливым образом отвергнуть то общее мнение, что язык есть не что иное, как множество словесных реакций. Если утверждает- утверждается, что в некотором естественном языке действует определенное грамматическое правило, то это еще не значит, что люди, кото- которые пользуются этим языком, могут последовательно соблюдать это правило. Дать точное описание языка — это одна задача; дать описание носителя языка — другая. Эти две задачи оче- очевидным образом связаны друг с другом, но не тождественны.
Формальный анализ естественных языков 231 Третий из поставленных вопросов не менее существен, чем первые два; однако здесь имеется пока гораздо меньше иссле- исследований, которые могли бы послужить основой для постановки его в абстрактной форме. Те процессы, которые вступают в дей- действие, когда ребенок начинает говорить, находятся пока за пре- пределами математического моделирования. Мы можем только упо- упомянуть о том, что этот вопрос является весьма существенным, и выразить сожаление по поводу того, что ему не уделяется должного внимания в последующем изложении. 1. УТОЧНЕНИЕ ГРАНИЦ ИССЛЕДОВАНИЯ Математическое изучение языка и коммуникации — это очень большая тема. Для наших целей ее необходимо сильно ограни- ограничить. Чтобы помочь читателю, мы перечислим некоторые из ог- ограничений, наложенных на постановку задач в этой и двух по- последующих главах. Первое ограничение состоит в том, что наши интересы сосре- сосредоточены в основном на естественных языках. Существуют так называемые формальные языки, которые разрабатываются ло- логиками и математиками и изучение которых составляет основ- основной предмет современной логики. Мы пытались, однако, огра- ограничиться формальным изучением естественных языков, не вклю- включая в рассмотрение формальных. В некоторых случаях удобно использовать миниатюрные искусственные языки, чтобы проил- проиллюстрировать какое-то частное свойство естественного языка в упрощенном контексте; большой интерес представляют также языки программирования, разработанные специалистами по вы- вычислительным машинам. Однако наше главное внимание будет сосредоточено на естественных языках. Следующее ограничение состоит в том, что исключены из рас- рассмотрения все непрерывные системы. Звуковой сигнал, про- производимый говорящим, является непрерывной функцией времени и обычно представляется с помощью ряда Фурье. Разложение в ряд Фурье особенно удобно в том случае, если изучается влияние непрерывных линейных трансформаций (фильтров). К счастью, этот важный вопрос много и тщательно изучается в математике и теории связи; поэтому мы можем на нем не останавливаться без ущерба для дальнейшего изложения. Системы связи можно рассматривать как дискретные в силу существования того, что в теории информации иногда назы- называется критерием точности (ЗЬаппоп, 1949). Критерий точности определяет, каким образом множество всех сигналов, которые могут быть переданы за данный промежуток времени, должно быть разбито на подмножества сигналов, эквивалентных с точки
232 Н. Хомский, Дж. Миллер зрения адресата. Система связи может точно передавать не- непрерывные сигналы, но, если адресат не может (или не хо- хочет) обращать внимания на тонкие различия, которые система способна передавать, точность канала связи теряется впустую. Таким образом, именно адресат устанавливает степень точ- точности передачи для всей системы. Чем выше критерий точности, тем большим должно быть число различных подмножеств сиг- сигналов, которое система связи должна различить и передать. Адресат, который является для нас объектом изучения, — это человек-слушатель. Критерий точности определяется его спо- способностями, навыками и интересами. На основе различий, кото- которые имеют место в его восприятии, мы можем установить конечное множество категорий, которые будут играть роль ди- дискретных символов. Это множество может быть алфавитом, спи- списком слогов и'ли словарем. Дискретные элементы этих множеств являются теми неделимыми атомами, из которых должны строиться более длинные сообщения. Восприятие этих дискрет- дискретных единиц слушателем является, вообще говоря, важной психо- психологической проблемой, но мы здесь не будем на ней останавли- останавливаться. Некоторые соображения, касающиеся именно восприя- восприятия речи, будут изложены кратко в разд. 6, где рассматривается звуковая структура языка, а'также в третьей из статей цикла, где ставится возрос о том, как знание грамматики может быть использовано для организации нашего восприятия речи. Как мы увидим, строгое описание критерия точности для речевой дея- деятельности человека представляет весьма сложную проблему; но пока для нас существенно только то, что люди делят звуки речи на эквивалентные подмножества; это оправдывает введение ди* скретных обозначений. Далее, в области дискретных систем мы ограничиваемся си- стемами с операцией соединения (сопса1епаИоп 5уз1ет5) и из- изучением алгебраической структуры и взаимосвязей таких си- систем. В частности, мы представляем речевой поток как после- последовательность дискретных атомов, которые непосредственно сополагаются, или сочленяются, друг с другом. Хотя это огра- ограничение может показаться очень простым, из него вытекает не- несколько следствий, на которых стоит остановиться. Пусть Ь — множество всех конечных цепочек (включая це- цепочку длины 0), которые можно построить из^элементов некото- некоторого множества V. Тогда если ф, хб ^ и Ф ~ % есть результат их соединения друг с другом в указанном порядке, являющийся новой цепочкой г|), то -фб^- Иными словами, Ь замкнуто относи- относительно операции соединения. Далее, соединение ассоциативно;
Формальный анализ естественных языков 233 пустая цепочка играет роль единственного единичного символа. Множество, которое включает единицу и замкнуто относитель* но ассоциативной операции, называется моноидом. Поскольку моноиды удовлетворяют трем из четырех требований группы, они иногда называются полугруппами. Группой называется мо- моноид, в котором для каждого элемента имеется обратный. Хотя мы вынуждены строить речевые высказывания с по- помощью ассоциативной операции соединения, при этом следует соблюдать осторожность. Рассмотрим, например, омонимичное английское предложение ТЬеу аге {1ут§ р1апез, которое в дей- действительности представляет собой два различных предложения: ТЬеу(аге (Пут§ р1апез)), Aа) р1апе$) A6) («Они — летящие самолеты» и «Они водят самолеты»). Если имеется в виду только написание и произношение, то пример Aа) равен примеру A6), и имеет место простое соединение. Но если мы принимаем во внимание грамматическую струк-* туру или значение, то примеры Aа) и A6) отчетливо различи ны, хотя это различие, как правило, ни фонетически, ни графи- графически не выражается. Лингвисты обычно решают эту проблему введением допу- допущения о том, что естественный язык имеет несколько различ- различных уровней. В этой работе мы будем рассматривать каждый уровень как отдельную систему с операцией соединения — си- систему со своими собственными элементами и правилами. Структура на более низком уровне определяется тем, как ее элементы соотносятся друг с другом на следующем, более вы- высоком уровне. Поэтому, чтобы сохранить ассоциативность, мы должны ввести несколько различных систем соединения и изу- изучать отношения между ними. Рассмотрим две операции, выполняемые человеком над письменным текстом. Первая операция переводит последова- последовательность букв в последовательность звуковых сигналов; мы будем называть ее произношением. Произношения сегмен* тов сообщения являются (с некоторым приближением) сегмен- сегментами произношения этого сообщения. Таким образом, произно* шение обладает своего рода линейностью (ср. разд. 6.3): Произн. (л;)~ Произн. (у) = Произн. (х~у). B) Хотя равенство B) не является абсолютно верным (в частно- частности, в нем игнорируется интонация и артикуляционные пере- переходы между последовательными сегментами), оно в гораздо
234 Н. Хомский, Дж. Миллер большей мере верно, чем аналогичное утверждение, касающееся второй операции. Вторая операция переводит последовательность символов в некоторое представление ее смысла; назовем ее пониманием. Значения сегментов сообщения очень редко можно отождест^ вить с сегментами значения этого сообщения. Даже если допу- допустить, что над значениями может каким-то образом произво- производиться операция соединения, в большинстве случаев мы скорее всего обнаружим, что при разумной интерпретации соответ^ ствующих понятий Поним. (хрПоним. (у)<;Поним. (х~у). C) Это, по-видимому, один из способов истолковать то общее по^ ложение гештальт-психологии, что значение целого больше, чем значение линейной суммы его частей. Если не следовать поло^ жениям ассоциативной психологии в духе Джемса Милля, то вообще не очень ясно, что .нужно понимать под соединением двух пониманий и каким образом эта операция может быть осуществлена. По сравнению с этим операция из равенства B) кажется уже определенной достаточно точно. Введение в рассмотрение операции понимания ставит много сложных проблем. В недавнее время появились интересные предложения, касающиеся абстрактного изучения некоторых денотативных (\Уа11асе, 1961) и коннотативных (Оз^оой, ЗисГ, ТаппепЬаит, 1957) аспектов значения слов естественного язы- языка. Хотя эти вопросы весьма важны для общей теории психо- психолингвистики, мы не будем в дальнейшем уделять им много вни- внимания. Мы надеемся, однако, что, выяснив некоторые синтак- синтаксические вопросы, мы тем самым внесем ясность и в какие-то аспекты семантики — хотя бы потому, что сможем сказать, чем значение не является. Наконец, как уже было сказано, в нашей работе почти ни- ничего не говорится про обучение языку. Мы в состоянии дать формальное описание некоторых аспектов языка; кроме того, мы располагаем некоторыми математическими моделями про-* цесса обучения. Между тем пересечение этих двух теоретиче- теоретических направлений пока что обескураживающе пусто. Каким образом ребенок может, без взяких наставлений, в столь короткий срок достичь полного владения языком — это насущнейшая проблема теории обучения. Конечно, при долж- должном старании взрослый человек с достаточными способностями может с помощью обычной грамматики и словаря достичь оп- определенной степени владения новым языком; однако ребенок достигает абсолютного совершенства, притом с несравненна большей легкостью и без всяких явных инструкций. Подробные
Формальный анализ естественных языков 235 инструкции и точное программирование арсенала поощрений, по-видимому, не являются обязательными. Простое наблюде- наблюдение, притом в течение поразительно короткого периода вре- времени,— это, по-видимому, все, что требуется нормальному ре- ребенку для достижения уровня овладения языком на уровне взрослого человека. Один из путей выяснения затронутых здесь теоретических вопросов состоит в том, чтобы построить механизм, способный дублировать поведение ребенка (СЬотзку, 1962). Важной со-* ставной частью такого механизма должно быть устройство, имеющее на входе определенную выборку грамматически пра^ вильных предложений (возможно, с определенными ограничен ниями относительно порядка их поступления) и выдающее на выходе грамматику языка (вместе со словарем). Описание этого устройства должно основываться на определенной типо-* тезе относительно врожденных ителлектуальных возможностей, которые ребенок должен пускать в ход при овладении языком. Конечно, при обучении могут играть существенную роль и дру-» гие данные, поступающие на вход устройства. Так, очень важны, по-видимому, исправления со стороны окружающего языкового коллектива: исправление — это указание, что неко- некоторое языковое выражение не является правильным предложе- предложением; таким образом, входом в устройство может быть не толь- только множество предложений, но и множество непредложений. Далее, на входе в устройство могут, по-видимому, появляться указания о том, что один элемент является повторением дру- другого. Какие еще входы окажутся необходимыми, покажут прак- практические исследования. В равной мере существенно, кроме того, определить свой- свойства грамматики, которую наше обучающееся устройство дол- должно в конце концов дать на выходе. Предполагается, что грам* матика отражает некоторые способности владеющего языком взрослого человека. Поэтому грамматика должна, в частности, показать, каким образом человек оказывается в состоянии оп« ределить, что такое правильно построенное предложение; кро- кроме того, она должна содержать информацию относительно объ-» единения языковых единиц в более крупные структуры. Обу* чающееся устройство должно, например, понять разницу между примерами Aа) и A6). Описание грамматики, которая дала бы возможность пере- перечислить в явном виде грамматически правильные предложения языка и их структурные описания, занимает центральное ме- место в дальнейшем изложении. Наша цель состоит в том, чтобы построить формальную грамматику, которая порождает пра- правильные структурные описания предложений, исходя из относи-*
236 Н. Хомский, Дж. Миллер тельно малого числа общих принципов устройства предложен ния; эта грамматика должна быть включена в состав общей теории языковой структуры, которая давала бы возможность обосновать преимущества одной грамматики перед другими. Одна из задач профессионального лингвиста состоит в каком-» то смысле в том, чтобы сделать явным тот процесс, который бессознательно осуществляет всякий нормальный ребенок. Практически работающая модель обучения языку должна основываться на весьма сильных допущениях относительно класса потенциальных грамматик, которые может иметь есте- естественный язык. По-видимому, обучающееся устройство должно иметь в своем распоряжении сведения об общей форме, кото-* рую может принимать грамматика, а также некоторую про-» цедуру, позволяющую на основе заданного текста решить, яв-» ляется ли данная грамматика более адекватной, чем некото- некоторая другая. Кроме того, это устройство должно располагать определенными фонетическими возможностями для распознав вания и реального построения предложений; оно должно также обладать каким-то механизмом для определения, на основе за« данной грамматики, грамматической структуры предложений. Все это должно быть заготовлено заранее, прежде чем начнет- начнется обучение. Думать, что адекватная грамматика может быть выбрана из бесконечного числа теоретически допустимых воз-^ можностей на основе чистой индукции по конечному числу ис-» ходных предложений, — значит совершенно недооценивать сложность проблемы. Процесс обучения должен, таким образом, состоять в оцен- оценке различных возможных грамматик с целью найти ту, которая лучше всего согласуется с исходными данными. Обучающееся устройство должно найти такую грамматику, которая поро- порождала бы все предложения, не захватывая ни одного непред^ ложения, и приписывала бы порождаемым предложениям структурные описания таким образом, чтобы все предложения, которые не являются повторениями друг друга, имели описа* ния, отличные друг от друга в соответствующих местах. Ко- Конечно, обучающееся устройство нужно будет снабдить опре- определенными эвристическими принципами, которые позволили бы ему, при заданных входах и заданном перечне возможных грамматик, достаточно быстро выбирать несколько наиболее подходящих вариантов, которые затем могут быть подвергнуты более тщательному сравнению; эвристические процедуры нуж* ны также для того, чтобы оценивать одни характеристики грам-» матик раньше, чем другие. Необходимые эвристические проце* дуры сильно упростятся, если заранее сделать класс потен* циальных грамматик относительно узким. Практически
Формальный анализ естественных языков 237 правильное разделение труда между эвристическими методами и ограничениями на форму грамматики должно еще уточняться в дальнейшем. Ясно, однако, что не следует особенно надеяться на возможности обнаружения правильной грамматики с по- помощью индукции. В конце концов, даже глупые люди обу- обучаются говорить, а самые умные обезьяны — нет. 2. НЕКОТОРЫЕ АЛГЕБРАИЧЕСКИЕ АСПЕКТЫ КОДИРОВАНИЯ Отображение одной полугруппы на другую — это операция, весьма часто встречающаяся в системах связи. Ее можно называть в целом кодированием, понимая под этим все разно- разнообразные процессы кодирования, перекодирования, декодирова- декодирования и передачи сигналов. Для определенности будем считать, что одна полугруппа состоит из всех цепочек букв, которые могут быть построены при помощи конечного алфавита Л, а другая — из цепочек слов, составляющих конечный словарь V. Таким образом, в этом разделе мы рассмотрим некоторые абстрактные свойства систем с операцией соединения — свой-» ства, которыми характеризуются в равной мере и искусствен- ные, и естественные коды. Код С есть взаимнооднозначное отображение 0 цепочек в словаре V на цепочки в алфавите Л, такое, что если аг-, V) — це- цепочки в V, то 8(Уг^^) =6(Уг)^8(у^). Где 8 — изоморфизм ме- между цепочками в V и некоторым подмножеством всех цепочек в Л; цепочки в Л определяют записи цепочек из V. В дальней- шем там, где не возникает неоднозначности, мы будем упро- упрощать обозначение, опуская символ ~, обозначающий соеди- соединение, и принимая, таким образом, соглашения, обычные для орофографических систем. Рассмотрим в качестве простого примера код С\. Пусть Л = {0, 1}, а У={о1У ..., си}. Отображение 8 определим так: е (<у4)=оо. Это отображение может быть представлено графом вида де- дерева, см. рис. 1 (о формальном описании графов вида дерева см. Вег§[е, 1958). Узлы дерева соответствуют точкам выбора; путь вниз влево от узла соответствует выбору 1; путь вниз вправо — выбору 0. Каждое слово имеет единственную запись, соответствующую цепи (последовательности ребер) кодового
238 Н. Хомский, Дж. Миллер дерева. Когда достигнут конец цепи и записано целое слово, система возвращается к вершине, готовая записать следующее слово. Чтобы правильно декодировать сообщение, необходимо, ко* нечно, обеспечить синхронизацию. Так, цепочка слов 04010401^1 записывается как 0010011; но если первая буква записи будет утрачена, то цепочка будет декодирована как 0302- Чтобы пока- показать, что первая буква в цепочке является началом сообще- сообщения, мы будем писать в начале цепочки символ В. В против- противном случае ставится многоточие. в (VI) Рис. 1. Граф кодового дерева кода С\. В каждой данной точке последовательности букв, записью вающей некоторое допустимое сообщение, имеется фиксирован- фиксированное множество возможных продолжений. Различные начальные цепочки могут допускать в точности одни и те же продолже- продолжения. В коде Си например, два сообщения, которые начинаются с й 000 ... и О 10 ..., могут быть закончены цепочками ...0 О и ... ЮН» ••• И Д» или же этими цепочками плюс новое слово. Введем бинарное отношение /?, которое имеет ме- место между любыми двумя начальными цепочками, допускаю* щими одинаковое продолжение. Непосредственно видно, что /? рефлексивно, симметрично и транзитивно; иначе говоря, /? есть отношение эквивалентности. Две начальные цепочки, которые допускают в точности одинаковые продолжения, будут в даль* нейшем называться эквивалентными справа. В терминах этого отношения можно определить важное понятие состояния: мно*
Формальный анализ естественных языков 239 жество всех цепочек, эквивалентных справа, образует состоя- состояние кодирующей системы. Состояние кодирующей системы — это ее память о том, чтб уже произошло. Каждый раз, когда к кодовой цепочке при* бавляется одна буква, система может перейти в новое состоя* ние. У кода С4 имеется три состояния: 1) 50, когда только что было записано полностью какое-то слово; 2) 51 — после НО... и 3) 52 — после вО1. Эти состояния соответствуют трем неко* нечным узлам дерева на рис. 1. Следуя Шютценберже (ЗсЫНгепЪег^ег, 1956), мы можем записывать переходы из одного состояния в другое в виде ма- матриц— такая матрица существует для каждой цепочки букв. Пусть строки соответствуют состоянию после п выданных букв, а столбцы — состоянию после п+\ буквы. Если переход воз-* можен, в клетку ставится 1; в противном случае — 0. Для того чтобы задать код С\, требуются две матрицы: одна показывает, каков результат добавления цифры 0, другая — результат до- добавления 1 (в общем случае это соответствует разделению ко-* дового дерева на три подграфа, по одному на каждую букву из А). Каждой цепочке букв х сопоставлена матрица Мх\ элементы этой матрицы т^ определяют число возможных пу^ тей между состояниями 5г- и 5^- при появлении цепочки х в за-* кодированном сообщении. Для кода С\ матрицы, сопоставлен^ ные элементарным цепочкам 0 и 1, таковы: мо = 0 1 Л 1 0 0 0" 0 0. ~\ 0 .1 0 0 0 (Г 1 0. Матрица для более длинной цепочки есть упорядоченное побуквенное произведение матриц. Произведение Л<% матриц Л и $ интерпретируется следующим образом: из 5г- система переходит в 5,- в соответствии с переходом, допустимым в затем она переходит из 5;- в 5*. в соответствии с переходом, лустимым в <%?. Число различных путей от 5* через 5,- к 5л есть йцЬзъ- Общее число путей от 5* к 5*, суммируя по всем проме^ жуточным состояниям 5^-, есть 2 #/;#;*> т. е. обычное пройз* ведение матриц «строка на столбец», которое дает элементы матрицы Ж$. В том случае, если некоторая буква вообще не может появиться©данном состоянии, строка ее матрицы, соот* ветствующая этому состоянию, будет состоять целиком из ну* лей. .Цепочке в Л, которая не является частью записи никакой цепочки слов из V, будет соответствовать нулевая матрица. В общем случае для этих матриц не обязательно должны
240 Н. Хомский, Дж. Миллер существовать обратные. Матрицы не образуют группы, но изо- изоморфно отображаются на элементы полугруппы. Если функция, отображающая цепочки в V на цепочки в Л, не является взаимнооднозначной, то в матрицах или их произ^ ведениях появятся элементы, большие единицы; это будет озна* чать, что одна и та же цепочка из п букв является кодовой записью для более чем одной цепочки слов. Когда такая ситуа- ситуация имеет место, полученное сообщение неоднозначно и не мо- может быть понято, даже если оно было передано без помех и искажений. В этом случае нет никакого способа узнать, какая из возможных цепочек слов имелась в виду. Поскольку между словами в нормальном потоке речи нет никаких фонетических показателей границы, неоднозначность такого рода возникает в естественных языках довольно часто, Миллер (МШег, 1958) приводит следующий пример для англий-» ,скоп> языка: ТНе ^ооб сапду саше апудуау, ТЬе ^оод сап ёесау тапу \уауз {«Хорошая конфета все-таки появилась», «Хорошее может ис- испортиться многими способами»). В этих примерах цепочку фо- фонетических элементов можно прочесть нейтрально, так что для слушателя возникает эффект, который можно сравнить с ви- визуальным явлением обратной перспективы. Неоднозначная сег- сегментация гораздо более обычна во французском языке; так, сле- следующий куплет хорошо известен как случай полной рифмы: Оа1, атап! бе 1а Кете, а11а Aоиг та^патте), Оа!аттеп1 бе Гагёпе а 1а Тоиг Ма§;пе, а №тез («Галь, любовник королевы, уехал (великодушный жест!) га- галантно с арены в башню Мань, в Ниме»]. Рассмотрение примеров такого рода показывает, что произ- производство и восприятие речи есть нечто гораздо большее, чем про-* изводство и идентификация последовательных фонетических свойств, и что на разных уровнях организации происходят раз^ личные процессы переработки информации. Эти проблемы бо- более подробно рассматриваются в применении к естественным языкам в разд. 6. Разумеется, трудности сегментации могут быть устранены. Изучение способов их устранения приводит к простой классик фикации кодов (Шютценберже, в частной беседе). Общими кодами можно называть все коды, которые обеспечивают. раз- Личное написание для всех различных цепочек слов. Особым ви- видом общих кодов являются древовидные коды, в которых пра*
Формальный анализ естественных языков 241 вила написания могут быть представлены графически, как на .рис. 1, где каждому слову соответствует отдельная цепь в де* реве. Древовидные коды могут относиться к одному из сле- следующих двух типов: леводревовидными называются такие ко- коды, в которых никакой код данного слова не является началь- начальным (левым) сегментом кода какого-либо другого слова; пра- водревовидными называются соответственно такие коды, в ко- которых ни одно слово не является конечным (правым) сегмен- сегментом какого-либо другого слова; праводревовидный код можно лолучить, переписав в обратном порядке все слова, записанные в леводревовидном коде. Особую разновидность в классе дре« вовидных кодов составляют коды, которые являются одновре- одновременно право- и леводревовидными; Шютценберже называет их анаграмматическими. Простейшим случаем анаграмматического кода являются равномерные коды, в которых все слова имеют одинаковое число букв и разделение сообщения на слова про- производится в воспринимающем устройстве просто на основе под- подсчета. Равномерные коды часто используются в инженерных приложениях теории информации; однако они не имеют боль- большого значения для описания естественных языков. Другим важным видом кодов являются неравномерные коды. Они обладают тем свойством, что если одиночная помеха или ошибка вызвала смещение границы слова, то эта ошибка не будет продолжать смещать границы слов до бесконечности; в течение конечного интервала времени ошибка будет погло- поглощена и восстановится правильная синхронизация. Код С1 обла- обладает этим свойством, равномерные коды им не обладают. В не- неравномерном коде границы слов всегда отмечаются появлением какой-либо определенной цепочки букв. Если имеется цепочка, которая заканчивает написание каждого слова, получается лево-неравномерный древовидный код. Если эта цепочка со- состоит из одной буквы (которая в этом случае не может встре- встречаться ни в какой другой позиции), то получается натуральный код. В письменной речи синхронизация принимающего устрой- устройства осуществляется с помощью пробела между словами. В устной речи процесс сложнее; обсуждение вопроса о том, ка- каким образом цепочки слов (морфем) отображаются в цепочки знаков фонетической транскрипции, см. в разд. 6. Чтобы удостовериться в том, что некоторое отображение действительно является кодом, достаточно в соответствии с ин- инженерной практикой убедиться в том, что оно является лево- древовидным кодом, т. е. в том, что нет такого слова, запись которого. является начальным сегментом записи некоторого другого слова. Существуют, однако, общие коды, которые не являются древовидными. Шютценберже (ЗсШгепЪег^ег, 1956)
242 Н. Хамский, Дж. Миллер предлагает в качестве простейшего нетривиального примера код С2: ={0, 1}, в (г»,) = 00, Ы = 01, Отметим, что 8(^1) является начальным сегментом 6@2), так что этот код не является леводревовидным; кроме того, Общие коды Древовидные коды Леводревовидные коды Прсшодревовидные коды Неравномерные древовидные коды Равномерные коды Натуральные коды Постоянные коды Рис. 2. Классификация кодирующих систем. является конечным сегментом 6(^2), так что он не является праводревовидным. При построении искусственных кодов возникает вполне по- .нятное желание сделать длину закодированных слов как можно меньшей. В этой связи можно показать выполнение для древо- древовидных кодов следующего интересного неравенства (Кга!1, ,1949). Пусть дан словарь У={ъх, ..., ъп], алфавит
Формальный анализ естественных языков 243 = {аь ..., ав} и отображение 0, которое является леводрево* видным кодом. Пусть С{ есть длина 0@*). Тогда 2О"ЧЬ D) / = 1 Это неравенство выводится следующим образом. Пусть ш$ — число закодированных слов длины /; тогда, поскольку 0 есть древовидный код, получаем щ < (О — щ) О = [(О* — Делением последней строки на йп получаем Но если п^>с\ для всех /, то произошло суммирование по всем закодированным словам, откуда и получаем соотношение по формуле D). Чем ближе для данного кода неравенство D) под< ходит к равенству, тем ближе подходит данный код к миними^ зации средней длины своих слов. [Неравенство D) выполняется также для иедревовидных кодов (Мапс1е1Ъго1, 1954; Мс МШап, ,1956).] Для всех древовидных кодов, включая, конечно, все нату-* ральные коды, имеется некоторая функция о^, определяющая число закодированных слов длины /. Эта функция представ- представляет некоторый теоретический интерес, поскольку она выра- выражает в чрезвычайно простом виде значительную информацию относительно структуры кодового дерева. Наконец, следует отметить, что код можно рассматривать как простого вида автомат (см. след. главу), который прини- принимает символы в одном алфавите и переводит символы в дру- другой алфавит в соответствии с заранее составленными прави- правилами, которые зависят только от входного сигнала и внутрен* него состояния автомата. Некоторых более тонких трудностей, возникающих при построении хороших кодов, можно будет кос- коснуться только после того, как мы припишем различным словам различные вероятности (см. гл. 13).
244 Н. Хомский, Дж. Миллер 3. НЕКОТОРЫЕ ОСНОВНЫЕ ПОНЯТИЯ ЛИНГВИСТИКИ Центральным понятием данной работы является понятие языка. Поэтому ему необходимо дать ясное определение. Мы считаем, что язык Ь есть множество (конечное или бесконеч- бесконечное) предложений, каждое из которых имеет конечную длину и построено с помощью операции соединения из конечного мно^ жества элементов. Это определение включает как естественные, так и искусственные языки логики и теории программирования. Чтобы точно определить язык, необходимо установить неко- некоторые общие принципы, которые отделяют последовательности атомарных элементов, являющиеся предложениями, от после- последовательностей, таковыми не являющихся. Это различие нельзя выразить просто списком, поскольку во всех представляющих интерес системах не накладывается ограничений на длину пред- предложения. В таком случае определить язык можно двумя спосо- способами: можно попытаться разработать какую-либо операцион- операционную процедуру, которая будет отличать предложения от не- непредложений, или же можно построить рекурсивные правила, которые будут перечислять все предложения бесконечного спи- списка. Первая из этих возможностей почти не исследовалась1) и останется за пределами нашего обзора. Вторая же составляет один из аспектов того, что естественно назвать грамматикой языка. Мы ограничимся здесь вторым подходом — исследова- исследованием грамматик. ' При практическом исследовании естественного языка вся- всякая операционная процедура проверки грамматической пра* вильности, а также всякая грамматика должны удовлетворять определенным эмпирическим требованиям. До того как начата разработка анализирующей или порождающей процедуры, не-» обходимо выделить конечный класс К\ последовательностей, ко- которые с достаточной уверенностью могут быть включены в мно- множество предложений, а также, по-видимому, класс /B последо- последовательностей, которые можно с достаточной уверенностью ис- исключить из этого класса. Эмпирическая значимость той или иной анализирующей или порождающей процедуры в значи- значительной мере определяется тем, сколь успешно они могут вы- выразить различие между классами К\ и /Сг- Однако вопрос эм- Это утверждение едва ли верно. Алгоритмы синтаксического анализа текста, предназначенные для машинного перевода, как правило, строятся таким образом, что их без труда можно превратить в операционную проце- процедуру для определения грамматической правильности. Ср. также одну из работ, в которых возможности построения разрешающих алгоритмов для естественных языков изучаются в непосредственном виде: И. Б а р - X и л- л е л, Разрешающие процедуры для структуры естественных языков, сб. «Ма* тематическая лингвистика», М., 1964, стр. 108—125. — Прим. перев.
Формальный анализ естественных языков 245- лирической адекватности и многочисленные соображения, ко* торые с ним связаны, выходят за рамки данного обзора. Итак, мы займемся теперь изучением грамматик. Под грам- грамматикой понимается набор правил, которые (в частности) ре* курсивно перечисляют предложения языка. Всякое правило, ко* торое нам может потребоваться, имеет вид Фи •••♦ Фл-^Фл+1» E> где фг есть какая-то структура, а отношение —* интерпрети- интерпретируется как выражающее тот факт, что если наш процесс рекур- рекурсивного определения порождает структуры фЬ ..., фп, то он. порождает также структуру фп+ь Точное определение вида правил, которые могут быть раз* решены в грамматике, — это одна из важных проблем матема* тической лингвистики, и именно к ней мы сейчас обратимся. Рассмотрим следующий частный случай правил вида E). Пусть в правиле E) л=1, а ф1 и фг — цепочки символов некоторого алфавита (или словаря). И пусть имеется конечный язык, со-^ стоящий из предложений о\, ..., огп, и абстрактный элемент 5 (от слова зеп!епсе — «предложение»), который мы выберем в качестве начального, данного. Тогда грамматику можно пред* ставить так: < 5-х^; ...; 3->оп. F) В этом тривиальном случае грамматика есть не что иное, как словарь предложений. Рассмотрим более интересный случай грамматики, состоящей из двух правил: Эти два правила могут породить любое из предложений а, аау ааа, аааа, . ..*) (очевидно, эти предложения могут быть поста-* влены во взаимнооднозначное соответствие с числами нату- натурального ряда, так что язык будет счетным). Порождение предложения, например ааа, происходит следующим образом: 5 (данный, начальный символ), а8 (получается применением первого правила подста- подстановки), ааЗ (получается повторным применением первого пра- (8) вила подстановки), ааа (получается применением второго правила подста- подстановки). Более точно следовало бы сказать, что мы рассматриваем граммати- грамматики с правилами вида |Льф1М<2-> М^фгМя, где [1\ и \х2 — переменные, областью- значений которых являются произвольные, быть может, пустые цепочки,, а ф1 и фг — постоянные. Ясно, что если ограничиться только правилами* этого вида, то. при формулировке правил переменные могут быть опущены».
246 Н. Хомский, Дж. Миллер В дальнейшем мы будем изучать системы правил такого, а также более сложного видов. Повторим еще раз, что грамматикой языка называется ко-» нечное множество правил, задающее этот язык (это определен ние будет уточнено в следующих разделах). Допустимой яв- ляется та грамматика, которая задает список (в общем случае бесконечный) предложений данного языка (т. е. список цепо- чек символов, которые являются предложениями). Грамматика должна быть, по определению, конечной. Если допустить грам- грамматики с неопределенным множеством правил, то сама проб- проблема построения грамматик снимается: можно просто принять в качестве грамматики бесконечное число предложений, что будет, конечно, бессмысленно. Ясно, что грамматика должна играть роль теории повторяющихся закономерностей построения предложения, которые мы называем синтаксической структурой языка. В той мере, в какой грамматика формализована, она яв- ляется математической теорией синтаксической структуры языка. Очевидно, однако, что задачи грамматики не могут быть сведены к простому перечислению предложений языка (хотя практически даже эта цель никогда еще не была достигнута). Мы потребуем, чтобы грамматика приписывала каждому поро- порождаемому предложению его структурное описание, которое оп- определяло бы, из каких элементов построено предложение, ка-* ков их порядок, расположение, и т. д., — в общем задавало бы всю грамматическую информацию, необходимую для того, что- чтобы определить, как это предложение используется и пони- понимается. Теория грамматики должна, таким образом, включать некоторое устройство, позволяющее для любой заданной грам- грамматики О и предложения 5, порождаемого грамматикой О, оп- определять, какое структурное описание приписывает грамматика О предложению 5. Если рассматривать грамматику как конеч- конечно характеризуемую функцию, которая перечисляет язык как свою область значений, то можно считать, что лингвистическая теория должна определить функционал, который сопоставляет каждой паре (О, 5), где О — грамматика, а 5 — предложение, структурное описание 5 по отношению к О; при этом одна из первоочередных задач лингвистической теории состоит, конеч- конечно, в том, чтобы дать ясное определение понятия «структурное описание». Описанное понимание грамматики возникло недавно и мо- может показаться непривычным. Несколько приводимых ниже примеров могут разъяснить, что здесь имеется в виду. Рассмот- Рассмотрим три искусственных языка, описанных Хомским (СЬотзку, 1956).
Формальный анализ естественных языков 247 Язык Ь\. В Ь\ входят предложения аЬ, ааЬЬ, аааЪЪЬ и т. д.; иначе говоря, в Ь\ входят все предложения, содержащие п вхо- вхождений буквы а, за которыми следует п вхождений буквы Ь, и не входит никаких других предложений. Язык Ь2. В Ь2 входят предложения аа, ЪЪ, аЬЬа, ЬааЬ, ааЪЪаа и т. д.; иначе говоря, в Ь2 входят все предложения с зеркаль- зеркальным отображением (т. е. предложения, содержащие данную це- цепочку, за которой следует та же цепочка с обратным порядком символов) и не входит никаких других предложений. Язык Ь3. В Ь$ входят предложения аа, ЬЬ, аЬаЬ, ЬаЬа, ааЬааЪ и т. д.; иначе говоря, в Ь$ входят все предложения, в ко* торых за данной цепочкой следует та же цепочка, записанная еще раз, и не входит никаких других предложений. Грамматика О{ языка Ь\ может иметь следующий вид: Дано: 5, Р\:3->аЬ, где 5 играет роль аксиомы, а Л и Р2— это правила образо- образования, с помощью которых из аксиомы могут быть выведены допустимые цепочки символов. Вывод происходит так, как опи- описано в примере (8). Вывод заканчивается, если в грамматике нет правил, позволяющих произвести замену какого-либо сим- символа в порожденной цепочке. Аналогичным образом грамматика О2 языка Ь2 может иметь следующий вид: Дано: 5, Р\ Интересным и важным свойством языков Ь\ и Ь2 является то, что новые конструкции могут вставляться внутрь старых. Поэтому, например, в предложении ааЬЬаа языка Ь2 имеется отношение зависимости между первым и шестым элементами; внутрь вставлено отношение зависимости между вторым и пя-- тым элементами; и, наконец, в самой глубине расположена за^ висимость между третьим и четвертым элементами. В соответ- соответствии с определением грамматик О\ и О2 никаких ограничений на число таких вставленных друг в друга зависимостей в по-» рождаемых цепочках не наложено. Не приходится сомневаться, что естественные языки в прин- принципе допускают «скобочные» вставки такого типа, так
48 Н. Хомский, Дж. Миллер грамматики естественных языков должны быть в состоянии поро- порождать такие последовательности. Так, английское предложение (ТЬе га! (Ше са! (Ше йо§ сЬазес!) кШеё) а!е Ше таН) («Крыса, которую кошка, которую преследовала собака, убила, съела солод»), конечно, является запутанным и маловероятным; тем не менее оно абсолютно правильно с грамматической точки зрения и имеет ясный и однозначный смысл. Чтобы охаракте- охарактеризовать более полно сложности, с которыми должна встре- встретиться действительная грамматика естественного языка, приве- приведем еще такой пример из английского языка: ! \уЬо 1ее1з Ша1 Н2 зо-тапу3 тоге4 з!иAеп1з5 е6 ЬауепЧб ас!иа11у адтШес! аге5 зШт^ 1П оп Ше соигзе Шап4 опез \уе Ьауе Ша13 Ше гоот Ьас! A1) 1о Ье сЬап^ес!, Шеп2 ргоЬаЫу аисШогз \уШ Ьауе 1о Ье •ехс1ис1ес1, 13! Нке1у 1о а&гее Ша1 Ше сигпси1ит пеебз геу1зюп («Каждый, кто понимает, что если настолько больше студен- студентов, которых мы не пускаем, будет сидеть на лекции, чем тех, которых мы пускаем, что нужно сменить аудиторию, то слуша- слушателей придется исключить, скорее всего согласится, что необ- необходимо изменить расписание»). В примере A1) имеются зависимости у всех пар слов с оди- одинаковыми индексами; в результате получается система встав- вставленных зависимостей, как в языке Ьч. Более того, картина ус- усложняется наличием зависимостей, пересекающих указанные, например, между словами зШйегйз и опез, между ЬауепЧ... асЬ тШей и Ьауе на 10 слов дальше (поскольку здесь опущено под- подразумеваемое слово ас1тШес1). В примере A1) вставленные за- зависимости соответствуют нескольким конструкциям; в частном случае, когда одна и та же конструкция вставляется сама в себя, мы говорим о самовставлении. Разумеется, можно с полной уверенностью утверждать, что предложение A1) никогда не будет практически использовано, разве что в качестве примера; но мы можем с той же уверен- уверенностью утверждать, что такие безусловно правильно построен- построенные предложения, как ВксЬ еа! («Птицы едят»), В1аск сго\уз ^аге Ыаск («Черные вороны черны»), В1аск сго\уз аге \уЫ1е («Черные вороны белы»), Тиезйау Го11о\уз Мопдау («За поне- понедельником следует вторник») и т. д., также никогда не встре- встретятся в нормальной речи взрослого человека. Как и многие другие предложения, которые настолько очевидным образом истинны или ложны, настолько сложны, нескладны или дефект- дефектны в каком-либо ином отношении, что не имеют смысла с точки зрения повседневной жизни, эти предложения просто не ис- лользуются. Тем не менее предложение A1) является абсо-
Формальный анализ естественных языков лютно правильно построенным и имеет ясный и однозначный смысл; поэтому грамматика английского языка, если она пре* тендует на психологическую адекватность, должна порождать и это предложение. Если ограничиваться правилами вида ф->г|), где ф игр — це- цепочки, как было предложено выше (см. об этом подробно в след. главе, разд. 3), то грамматика, порождающая язык Ь3, будет заметно сложнее грамматики языка Ь2. Можно, однако,, построить для языка Ь$ совсем простую грамматику, если до^ пустить более сильные правила. Условимся заменять через х любую цепочку, состоящую из символов а и й, и добавим гра* ничный символ в, отмечающий начало и конец предложения. Тогда грамматика языка Ь$ может иметь следующий вид: Дано: В 5 #, Р\ Р2:3->ЬЗ, A2) /\3: а хЗ П~> а хх Д. Правила Р\ и Р2 порождают произвольные цепочки из букв а и Ъ\ правило ^3 удваивает эти цепочки. Ясно, что порождае- порождаемый язык — это в точности язык Ь$ (с граничными символами в конце и в начале предложения). Важно отметить, однако, что правило /%3 принципально от- отлично от остальных правил, поскольку оно требует анализа цепочки, к которой применяется; такой анализ выходит за пределы возможностей, допускаемых тем ограниченным ви- видом грамматических правил, который мы рассматривали вна- вначале. Допущение более разнообразных и более сильных правил, таких, как ^3, приводит иногда к значительному упрощению грамматики; иначе говоря, новая форма правил дает возмож- возможность использовать закономерности структуры языка, которые в противном случае просто нельзя было бы сформулировать. Против правил такого рода едва ли можно выдвинуть какие* либо возражения, так что в разд. 5 мы рассмотрим их струк* туру и общие свойства более подробно. Поскольку грамматика есть теория языка, а простота и общность являются главными достоинствами теории, мы, конечно, должны попытаться сфор- сформулировать теорию языковой структуры таким образом, чтобы она допускала правила, выражающие более глубокие обобще* ния. Тем не менее вопрос о том, можно ли в принципе поро-» дить естественные языки с помощью правил ограниченного ви* да, — такого, как /Л—Р4 из примера A0), — представляет определенный интерес. Ответ на этот вопрос (как положительный»
250 Н. Хомский, Дж. Миллер так и отрицательный) выявит некоторые важные структурные характеристики естественных языков. Система зависимостей в языке Ьз совершенно иная, чем в языке />2. Так, в цепочке ЪааЪаа языка Ьз зависимости не вста- вставлены друг в друга, как в цепочке ааЬЪаа из Ьг\ вместо этого четвертый символ зависит от первого, пятый — от второго и ше- шестой — от третьего. Системы зависимостей такого рода также могут быть обнаружены в естественных языках (см. примеры в след. главе, разд. 4.2) и потому должны найти себе место в адекватной теории грамматики. Но в таком случае искусствен- искусственные языки Ь2 и Ь3 отражают реальные свойства естественных языков, причем ниже мы увидим, что эти свойства играют прин- принципиальную роль для определения адекватности различных мо- моделей грамматики. Чтобы кратко пояснить, как эти соображения применяются к естественному языку, рассмотрим следующий маленький фраг- фрагмент грамматики английского языка. Дано: В5 В, ИЗ) РА:С->а, Ше, апоШег, ^ ' Р5:О->Ъа11, Ьоу, : Е -> Ы1, з!иск. Правила Р4— Р6— это в действительности группы правил, по- поскольку они указывают несколько возможностей развертывания для каждого из символов С, В и Е. (Обычно мы интерпретируем символ А как группу существительного, В — как группу глагола и т. д.; однако эти привычные имена несущественны для фор- формальной структуры грамматики, хотя они играют важную роль в общей лингвистической теории.) Во всякой настоящей грамма- грамматике должны быть, кроме того, фонологические правила, кото- которые кодируют терминальные цепочки фонетическими символами. Для простоты мы отложим рассмотрение фонологического ком- компонента грамматики до разд. 6. С помощью грамматики A3) можно породить такие терми- терминальные цепочки, как В 1Ье Ьоу Ы1 Ше §1г1 В («Мальчик ударил девочку»). В случае этой простой грамматики все тер- терминальные цепочки имеют одну и ту же структуру составляю- составляющих, что может быть выражено с помощью скобок и приписан- приписанных им грамматических обозначений: И (^ (л (с««0с (дЬоуЬ)л (в {ЕЫ\)Е (А (сйе)с
Формальный анализ естественных языков 25Г или, эквивалентным образом, с помощью размеченного дерева, как показано на рис. 3. Мы предполагаем, что такое дерево- должно быть составной частью структурного описания для вся- всякого предложения; в дальнейшем мы будем называть это де- дерево маркером структуры составляющих (С-маркером). Грам- Грамматика, для того чтобы быть адекватной, должна обеспечивать #5# л Л В Ьоу Рис. 3. Графическое 'представление (С-маркер) вывода грамматически правильного предложения. С-маркером любое предложение. Каждый С-маркер содержит,, в виде меток при конечных узлах, перечень словарных элемен- элементов (т. е. слов), из которых составлена данная фраза. Два С-маркера тождественны, если они имеют одинаковую струк- структуру ветвей и одинаковые метки при соответствующих узлах. Заметим, что дерево С-маркера в отличие от кодовых деревьев, разд. 2 характеризуется определенным упорядочением ветвей слева направо — в соответствии с порядком элементов в це- цепочке. Роль С-маркеров можно продемонстрировать на предложе- предложениях Aа) и A6). Грамматика, которая только порождает за- заданные цепочки слов, не в состоянии охарактеризовать грамма- грамматические различия между этими двумя предложениями. В лингвистике слова (морфемы) или последовательности, ко- которые функционируют в качестве элементов другой конструк- конструкции, называются обычно составляющими. В предложении, С-маркер которого представлен на рис. 3, §1г1, Ше §1г1 и Ы1 Ше §1г1 — это составляющие, а сочетание Ы1 Ше — нет. Каждая со- составляющая возводится к некоторому узлу дерева. Если этот узел помечен символом Л, то говорят, что составляющая при- принадлежит к типу А. Те составляющие, из которых конструкция
252 Н. Хомский, Дж. Миллер непосредственно образована, являются непосредственными со- составляющими этой конструкции. Например, на рис. 3 1Ье Ьоу и Ы1 1Ье §\т\ являются непосредственными составляющими пред- предложения; Ы1 и, 1Ье §11*1 — это непосредственные составляющие глагольной группы В и т. д. Очевидно, грамматика не может -считаться удовлетворительной, если она не дает порождаемым предложениям структурного описания — хотя бы в виде разло- разложения на непосредственные составляющие. Таким образом, грамматика должна обеспечить С-маркером каждое из бесконечного числа порождаемых предложений, при- причем каждый С-маркер представляется графически в виде дерева <, размеченными узлами и размеченными ребрами (узлам соот- соответствуют грамматические типы составляющих, а ребра, отхо- отходящие от одного узла, различаются своим порядковым номе- номером). Цепью дерева мы будем называть последовательность ре- ребер, каждое из которых связано с предшествующим. Так, одной из цепей дерева на рис. 3 является последовательность (E—В), (В-Е), (Е — Ы1)), другой -((А -й), (/> — В1г1)) и т. д. По- Поскольку дерево соответствует правильной системе скобок, его ветви не пересекаются (чтобы сделать это неформальное заме- замечание точным в том очевидном смысле, который здесь имеется в виду, нужно было бы различать разные вхождения в дерево одного и того же символа). Символы, которыми размечаются узлы дерева, — это те самые символы, которые используются в Грамматических правилах. Поскольку число правил конечно, а во всяком представляющем интерес случае число С-маркеров бесконечно, то должны найтись такие символы грамматического словаря, которые повторяются в С-маркерах сколь угодно много раз. Более того, должны найтись даже такие цепи, которые со- содержат некоторый символ более чем п раз для любого фиксиро- фиксированного п. Пусть дано множество С-маркеров; тогда символ сло- словаря называется рекурсивным элементом, если для любого п найдется С-маркер, содержащий цепь, в которой этот символ встречается в качестве названия узла более чем п раз. Мы выделим три вида рекурсивных элементов, особенно важ- важных для последующего изложения. Рекурсивный элемент А на- называется самовставленным, если он встречается в конфигурации типа той, которая изображена на рис. 4, а; леворекурсивным, ^сли он встречается в конфигурации типа 4,6; праворекурсив- Ным, если он встречается в конфигурации типа 4, в. Таким образом, если А есть леворекурсивный элемент, то подчиненное ему дерево содержит А только в самой левой цепи (дерево, подчиненное Л, — это дерево, которое может быть вы- выведено из А); если А—праворекурсивный элемент, то подчи- подчиненное дерево содержит А только в крайней правой цепи; если
Формальный анализ естественных языков 253 А — самовставленный элемент, то подчиненное ему дерево со- содержит А на некоторой внутренней цепи. Эти определения не- нетрудно превратить в точные, однако мы будем вводить вполне точные определения только в особо интересных случаях. Анализ рекурсивных порождающих процессов (в частности, порождающих грамматик) основан на исследованиях в области А /\ в с / в / А \ / А Л \ /\ (а) Самовставление А /\ в с /\/\ А /\ F) Девая рекурсия /\ (в) Правая рекурсия Рис. 4. Типы рекурсивных элементов. оснований математики и теории доказательства. Обзор работ по этому вопросу см. в книге Дэвиса фау15, 1958); более короткое и менее формальное введение см., например, у Роджерса (Ко- &егз, 1959) или у Трахтенброта (Трахтенброт, 1962). Более об- общее рассмотрение рекурсивных грамматик и их свойств см. в след. главе. Мы уже говорили в этом разделе о некоторых основных свойствах грамматик и приводили примеры порождающих уст- устройств, которые можно рассматривать как грамматики. Ниже мы попытаемся сформулировать характеристики грамматик бо- более подробно. В разд. 4 мы опишем (более аккуратно) грамма- грамматики, в которых правила имеют вид E), где /2 = 1 и всякая структура является цепочкой, как в примерах (9), A0) и A3). (В следующей главе изучаются некоторые свойства таких си- систем.) В разд. 5 мы обратимся к более мощному классу грам- грамматик, родственному грамматике языка /,3, предложенной в при- примере A2), т. е. к грамматикам, не удовлетворяющим тому условию, чтов каждом правиле типа E) структуры являются це- цепочками и п=\. Наконец, в разд. 6 указываются, кратко, неко- некоторые свойства фонологического компонента грамматики, ко- который превращает цепочки, являющиеся выходом рекурсивного порождающего процесса, в последовательности звуков. Мы описали порождающую грамматику О как устройство, перечисляющее определенное подмножество Ь множества 2 це- цепочек фиксированного словаря V и приписывающее структур- структурные описания элементам множества Ь(О), которое мы называли
254 Н. Хомский, Дж. Миллер языком, порожденным грамматикой О. С точки зрения тога применения описываемых моделей, которое мы имеем в виду, будет более реалистично считать, что устройство О приписывает структурные описания всем цепочкам из 2, причем структурное описание цепочки х показывает, в частности, в каких отноше- отношениях х отклоняется от правильной построенное™, определяе- определяемой грамматикой О. Вместо того чтобы разделять Е на два под- подмножества— Ь(О) (правильно построенные предложения) и Ь(О) (грамматически неправильные предложения), — можно* считать, что О выделяет в 2 класс Ь\ абсолютно правильно по- построенных предложений и частично упорядочивает все осталь- остальные цепочки из Е с точки зрения степени грамматичности. В этом случае мы говорим, что языком, порождаемым грамма- грамматикой О, является /,!*, «о одновременно мы допускаем, что це- цепочки не из Ьц часто тоже могут быть поняты носителями языка* и даже поняты однозначно, притом на основе структурных опи- описаний, приписанных им грамматикой. Цепочка из Е П Ь\ может оказаться понятной в результате наложения на нее интерпрета- интерпретации, которая основана на аналогиях и сходствах с предложе- предложениями из Ь{. Степень простоты и единообразия такой интерпре- интерпретации предложения можно считать степенью его грамматично- грамматичности. Отклонение от грамматических закономерностей — эта обычный литературный и псевдолитературный прием, и такое отклонение отнюдь не должно приводить к непонятности; дей- действительно, как много раз отмечалось, отступления от грамма- грамматических норм могут обусловливать сжатость и глубину выра- выражения. Определение понятия степени грамматичности на основе ин- интерпретации не абсолютно грамматически правильных предло- предложений и построение грамматик, приписывающих предложениям степени грамматичности, не обязательно равные нулю или еди- единице, — все это интересные и важные задачи. Некоторые ас- аспекты этих задач рассматриваются в работах: СЬотзку, 1955,. 1961в; 211! 1960а, 19606, 1961; Ка1г, 1963. Мы вернемся к этой проблеме в гл. 13. В этой и в следующей главах мы ограни- ограничимся грамматиками, которые разделяют все цепочки ровно- на две категории правильные и неправильные, и не устанавли* вают иерархию степеней грамматичности. 4. НЕКОТОРЫЙ ПРОСТОИ КЛАСС ПОРОЖДАЮЩИХ ГРАММАТИК Мы рассмотрим здесь простой класс порождающих грамма- грамматик, которые могут быть названы грамматиками непосредствен- непосредственных составляющих, и введем некоторые важные обозначения,,
Формальный анализ естественных языков 255 используемые в этой и двух следующих главах. В этом раз- разделе мы рассмотрим грамматику О: которая представляет собой систему с операцией соединения, удовлетворяющую следующим условиям. 1. У есть конечный набор символов, называемый словарем. Цепочки символов этого словаря получаются с помощью опе- операции соединения ~"; это ассоциативная и некоммутативная бинарная операция над цепочками в словаре V. Если не возни- возникает неоднозначности, символ ^ может опускаться. 2. Ут с: V. Мы называем Ут терминальным словарем. До- Дополнение к Ут относительно V называется нетерминальным, или вспомогательным, словарём и обозначается Ух. 3. Отношение —> есть конечное, двуместное, иррефлексивное и асимметричное отношение, имеющее место для конечного числа пар цепочек в алфавите V и интерпретируемое как «под- «подставляется вместо». Пары < ф, г|) >, такие, что ф—^г|), назы- называются (грамматическими) правилами грамматики О. 4. Если Л С У, то Л 6 Улг тогда и только тогда, когда суще- существуют цепочки ф, г|), со, такие, что фЛф —> фсог^. При этом И € Ут\ 5 6 Уы\ е€ Ут, где В есть граничный символ; 5 — на- начальный символ, который можно читать как «предложение»; е есть единичный символ, обладающий тем свойством, что для всякой цепочки ф, еф=ф = ф#. Введем еще следующие дополнительные обозначения. 5. Последовательность цепочек 1)=(фЬ ..., фп) (я>- 1) есть у-вывод цепочки -ф, тогда и только тогда, когда выпол- выполняются следующие условия: а) ф = фь г|? = фп; б) для всякого г < п существуют цепочки фь г|?2, %, со, такие, ЧТО X -* СО, фг = ^1Х<ф2 И фг+1 = 'Ф1О)'ф2. Очевидно, множество выводов полностью определяется за- заданием отношения —>, т. е. конечным множеством грамматиче- грамматических правил. Если существует ф-вывод цепочки г|?, мы говорим, что ф подчиняет г|?, и пишем ф^ф'ф; отношение =фявляется, та- таким образом, рефлексивным и транзитивным. 6. ф-вывод й цепочки ф называется терминальным, если г|) есть цепочка в Ут и О не является собственным началом не- некоторого другого вывода (заметим, что эти условия незави- независимы). 7. г|) есть терминальная цепочка грамматики О, если для цепочки О 5 В имеется терминальный О 5 В-вывод; иначе го- говоря, терминальная цепочка — это (с точностью до граничного
256 Н. Хомский, Дж. Миллер символа) последняя строка терминального вывода, начинаю- начинающегося с цепочки Д 5 В . 8. Терминальным языком, порождаемым грамматикой О, на- называется множество терминальных цепочек грамматики О. 9. Две грамматики О и О* (слабо) эквивалентны, если они порождают один и тот же терминальный язык. Понятие силь- сильной эквивалентности рассматривается ниже. Естественно, чтобы граничный символ В удовлетворял тому условию, что если (<рь ..., фп) есть В 5 В- вывод, то для вся- всякого I, такого, чтоф! = В г^ О, ^1 не содержит В. Чтобы обе- обеспечить выполнение этого условия, мы наложим на правила грамматики (т. е. на отношение —♦) следующее дополнительное условие. 10. Если 0&1 ... ат—»Р1 ... рп есть правило грамматики (где аи ..., ат, р4, ..., рп 6 V —{е}), Т° а) р^Вдля 1 < г < п\ б) р4=В, тогда и только тогда, когда а1 = в) рп = В, тогда и только тогда, когда ат=В. Все эти условия пока еще ничего не говорят о том, как может грамматика обеспечить С-маркер для каждой цепочки. Это требование мы будем иметь в виду при рассмотрении до- добавочных ограничений на грамматику. См. работу Чулика (СиПк, 1962), где содержится критика более ранних определений грамматики, изложенных в работе Хомского (СЬотзку, 1959). Возвращаясь теперь к понятию рекурсивного элемента из разд. 3, мы можем заметить, что для всякого А ^Ук имеют место следующие утверждения. 1. Если имеются непустые цепочки ф, г|), такие, что Л=ффЛг|), то А есть самовставленный элемент. 2. Если имеется непустой элемент ф, такой, что то А есть леворекурсивный элемент. 3. Если имеется непустой элемент ф, такой, что то А есть праворекурсивный элемент. 4. Если А есть нерекурсивный элемент, то не существует таких цепочек ф, г|э, что А А Обратные утверждения ие обязательно верны для всех грамматик, которые мы рассматривали до сих пор, однако они будут верны для того случая, который" мы будем рассматривать ниже. Предположим, что грамматика О содержит правила 8-+ВАС, ВА—+ВВАС, но не содержит правила Л—>% ни для какого х- Тогда не существует цепочек ф, ф, таких, что
Формальный анализ естественных языков 257 , хотя А является рекурсивным (а именно самовста- самовставленным). При рассмотрении систем такого рода необходимо отличать терминальные цепочки от нетерминальных, а также отдельные (атомарные) элементы от цепочек, образованных их соедине- соединением. Чтобы последовательно соблюдать это различие, удобно придерживаться следующих обозначений: Тип (элемента или цепочки) Нетерминальные Терминальные Произвольные Элементы У\у Су О, • • • (Л/у К/у \Уу • • • а, р, у, • • • Цепочки Ху У, л, . . . Ху у у 2у , . , ф. Ъ Ф. - - - В предыдущем изложении мы уже фактически придержива- придерживались этого соглашения; оно будет использоваться далее до конца работы без дополнительных комментариев. . Теперь определим условия, при которых процесс порожде- порождения каждой терминальной цепочки будет однозначно опреде- определять ее С-маркер. Для грамматик, рассматривавшихся до сих пор, никакого естественного способа обеспечить выполнение это- этого требования не существует. Так, если имеется грамматика со следующими правилами: 8->АВ\ АВ->сс1е, A5) то нет никакого способа определить, является ли в цепочке сйе сегмент ей составляющей типа А (подчиненной в С-маркере символу А) и является ли сегмент йе составляющей типа В (подчиненной в С-маркере элементу В). Наиболее естествен- естественный путь достижения желаемого результата это потребовать, чтобы в каждом правиле грамматики подстановка представляла собой замену (на символ или цепочку) ровно одного символа исходной последовательности. Таким образом, грамматики мо- могут иметь правила либо вида A6а), либо вида A66): Л->со A6а) (или, иначе, Л->со в контексте ф — г|>). A6 6) Правила вида A66) называются контекстно-связанными, а пра- правила вида A6а)—контекстно-свободными. Грамматика, содер- содержащая только правила вида A6а), называется контекстно-сво- контекстно-свободной. (Заметим, между прочим, что связанными контекстом или свободными являются только правила, а не элементы в тер- терминальной цепочке.) В любом случае, если ф есть некоторая
258 Н, Хомский, Дж. Миллер строка вывода, а г|) — строка, которая непосредственно следует за ф, то имеется единственный *) набор цепочек фь ф2, а, о, таких, что ф = ф!осф2 и г|) = ф1О)ф2; тогда мы говорим, что со есть цепочка типа а (т. е. подчинена узлу, помеченному символом а в дереве, представляющем соответствующий С-маркер). В случае контекстно-свободных грамматик верны не только утверждения 1—4 из A4), но и соответствующие им обратные. Тем самым мы получаем определение различных видов рекур- сивности через отношение =ф. В дальнейшем мы будем рас- рассматривать рекурсивные элементы только в контекстно-свобод- контекстно-свободных грамматиках. Назначение правил типа A66) состоит в том, чтобы иметь возможность выразить контекстные ограничения, наложенные на выбор элементов. Так, в число предложений типа «подле- жащее + сказуемое+дополнение» входят, в частности, такие предложения, как ТЬе {ас! 1Ьа1 Ше сазе ^аз (Нзгшззес! йоезпЧ зигрпзе те («Тот факт, что дело было прекращено, не удивил меня»), Согщгезз епас!ес1 а пе^ 1а\у («Конгресс ввел новый закон»), ТЬе теп сопзМег <1оЬп а A1с1а1ог («Люди считают Джона диктатором»), ЛоЬп {е11 гетогзе («Джон почувствовал угрызения совести»); однако не являются грамматически пра- правильными предложения, которые получены из них переменой мест подлежащего и дополнения: I с1опЧ зигрпзе 1Ье {ас! 1Ьа1 Ше сазе ^аз сЦзпиззес! («Я не удивляю тот факт, что дело было прекращено»), А пе\у 1а\у епас!ес1 Соп^гезз («Новый закон ввел Конгресс»); ЛоЬп сопзМегз Ше теп а сИс1а1ог («Джон счи- считает людей диктатором»); Кетогзе Ы1 ЛоЬп («Угрызения со- совести почувствовали Джона»). Носители английского языка признают, что первые четыре предложения являются абсолютно естественными, тогда как вторые четыре, если они вообще могут быть понятны, требуют специальной интерпретации, ко- которая может быть определена по аналогии с правильно по- построенными предложениями. В смысле определений из разд. 3, эти предложения имеют степень грамматичности более низкую, чем предыдущие, если вообще не равную нулю. Грамматика, которая не делает различия между этими двумя видами пред- В действительности, для того чтобы гарантировать единственность этих цепочек, множество правил должно удовлетворять некоторым допол- дополнительным условиям; в частности, должна быть исключена возможность по- появления такой последовательности строчек вывода: АВ, ЛВС и т. д. В буду- будущем допустим, без дальнейших комментариев, что такие условия выполнены. На самом деле они всегда могут быть выполнены без дальнейшего сужения класса порождаемых языков, хотя, конечно, они как-то влияют на вид класса порождаемых С-маркеров. В случае грамматики с контекстно-связан- контекстно-связанными правилами эти дополнительные условия вовсе не являются лишними, как мы увидим в следующей главе, разд. 3.
Формальный анализ естественных языков 259 ложений, безусловно не является полноценной, а чтобы есте- естественным и экономным образом выразить это различие, доста- достаточно ввести контекстно-связанные правила, которые наклады- накладывают ограничения на выбор подлежащего, сказуемого и до- дополнения. В идеальном случае теория грамматики должна содержать определение множества допустимых грамматик, множества до- допустимых предложений и множества допустимых структурных описаний. Кроме того, она должна включать общий метод при- приписывания каждому предложению одного или нескольких струк- структурных описаний в соответствии с грамматикой. Иначе говоря, грамматика должна быть выражена в столь явной форме, чтобы по ней можно было однозначно определить, что она утверждает относительно каждого из порожденных предложений (ср. СЬотзку, 1961а). Чтобы построить теорию грамматик непосред- непосредственных составляющих, мы фиксируем словари Ук и Ут как заданные не пересекающиеся друг с другом конечные множе- множества символов, удовлетворяющие описанным выше условиям. В этом случае грамматика есть просто конечное отношение, заданное в множестве цепочек словаря У=Ум[}Ут и удовле- удовлетворяющее этим условиям. Заметим, что проблема нахожде- нахождения Ут в случае естественного языка сводится, по существу, к проблеме построения универсальной фонетической теории (включая, в частности, разработку универсального фонетиче- фонетического алфавита и правил, определяющих общие законы рас- распределения фонетических сегментов). Более подробно об этом см. разд. 6 и приведенные там ссылки. Кроме того, мы должны наложить ограничение на длину морфемы (чтобы словарь Ут был конечным) и установить множество «грамматических мор- морфем» (т. е. морфем, выражающих грамматические признаки — такие, как время, вид и число). Эта последняя проблема, так же как проблема получения обоснованной интерпретации для элементов множества У^, является классической проблемой «универсальной грамматики». Эта проблема состоит в получе- получении независимого от языка определения множества граммати- грамматических категорий, которые могут использоваться или не ис- использоваться в данном языке. Такое определение должно, без сомнения, опираться как на формальный анализ грамматиче- грамматической структуры, так и на соображения чисто семантического характера. Эти вопросы не имели популярности в последние несколько десятилетий, хотя нет никаких оснований считать их недостойными серьезного рассмотрения. Напротив, они остаются важными и первостепенными для общей лингвистики. К изучению различных типов грамматик непосредственных составляющих мы вернемся в следующей главе.
260 Н. Хомский, Дж. Миллер 5. ТРАНСФОРМАЦИОННЫЕ ГРАММАТИКИ Как уже говорилось в разд. 3, правила грамматики всегда могут быть сведены к виду О7) где фь ..., г|) — структуры произвольного вида, а символ —♦ означает, что если фЬ ..., <рп были порождены в процессе вы- вывода, то на определенном шаге может быть порождено \|). В разд. 4 мы рассматривали простой вид грамматик, называе- называемый грамматиками непосредственных составляющих; правила этих грамматик представляют собой очень специальную разно- разновидность правила A7), а именно случай, когда п = \ и каждая из структур ф1 и г|э является просто цепочкой символов [кроме того, мы потребовали, чтобы грамматика удовлетворяла допол- дополнительно условию A6)]. В этом разделе мы рассмотрим класс грамматик, состоящих из двух синтаксических компонентов: из НС-компонента (грамматики непосредственных составляющих, удовлетворяющей условиям из -разд. 4 и некоторым другим) и из Т-компонента (собственно трансформационной грамматики), содержащего правила вида A7), где п может быть больше 1 и структуры фь ..., фп и г|) представляют собой не цепочки, а С-маркеры. Такие грамматики мы будем называть трансфор- трансформационными. Целесообразность обобщения понятия грамматики, которое приводит к трансформационным грамматикам, обусловлена тем психологически очевидным фактом, что некоторые пары пред- предложений представляются грамматически связанными друг с дру- другом. Почему, например, предложение ЛоЬп Шге\у Ше Ьа11 («Джон бросил мяч») воспринимается как связанное с предло- предложением ТЬе Ьа11 \уаз Шго\га Ьу ЛоЬп («Мяч брошен Джоном»)? Эта связь не исчерпывается тождеством значения, поскольку аналогичного рода близость ощущается между предложениями ЛоЬп Шге\\г Ше Ьа11 («Джон бросил мяч») и \УЬо !ге\у Ше Ьа11? («Кто бросил мяч?») или БЫ ЛоЬп Шго\у Ше Ьа11? («Бросил ли Джон мяч?»). Эту связь нельзя свести к какому-либо простому формальному отношению (в лингвистической терминологии — к отношению «совместной встречаемости») между наборами слов, способных заполнять определенные места в соответствую- соответствующих парах предложений; действительно, такие предложения, как ТЬе о\А тап те! Ше уоип§ \^отап («Старый человек встре- встретил молодую женщину») и ТЬе оИ ^отап те! Ше уоип§ тап («Старая женщина встретила молодого человека»), соотносятся, конечно, не таким же образом, как соответствующие друг другу предложения в активе и пассиве, хотя отличие этого соотноше-
Формальный анализ естественных языков 261 ния от соотношения в паре актив — пассив не может быть выражено в чисто дистрибутивных терминах (см. об этом СЬотзку, 19626). В грамматике непосредственных составляю- составляющих все такие пары предложений будут порождаться более или менее независимо и, следовательно, не будут находиться в ка- каких-либо явных отношениях друг к другу. 5.1. Некоторые недостатки грамматик непосредственных составляющих Лингвистическая теория отказывается от грамматик непо- непосредственных составляющих в пользу трансформационных грамматик, поскольку в грамматике непосредственных соста- составляющих невозможны многие естественные обобщения и упро- упрощения правил образования предложений. (Анализ различных соображений по этому вопросу выходит за рамки настоящей работы; см. об этом СЬотзку, 1955, гл. 7—9; 1957, гл. 6, 7; 1962; Ьеез, 1957, 1960; Роз1а1, 1963; ср. также след. главу, разд. 4.2.) Однако некоторые из причин формальной несостоятельности грамматик непосредственных составляющих показать довольно легко; при этом необходимо будет учесть ряд общих соображе- соображений, которые обычно упускаются из виду при оценке адекват- адекватности грамматики. Грамматика должна породить язык, представляющий собой бесконечное множество предложений. Кроме того, она должна сопоставить каждому из этих предложений структурное описа- описание; иными словами, она должна породить бесконечное мно- множество структурных описаний, каждое из которых полностью определяет данное предложение (хотя обратное может быть не- неверно). Таким образом, при оценке порождающей способности грамматик мы можем различать два вида эквивалентности. Две грамматики называются слабо эквивалентными, если они порождают один и тот же язык, и сильно эквивалентными, если они порождают одно и то же множество структурных опи- описаний. В этой главе, так же как в следующей, мы рассматри- рассматриваем в основном слабую эквивалентность, поскольку она легче поддается описанию и потому более подробно изучена. Тем не менее сильная эквивалентность является в конечном счете го- гораздо более интересным понятием. Не представляют интереса такие грамматики, которые правильно порождают предложе- предложения естественного языка, но не могут приписать им правиль- правильного структурного описания. Вопрос о том, могут ли естественные языки, рассматривае- рассматриваемые как множества предложений, порождаться грамматикой непосредственных составляющих того или иного типа, — это
262 Н. Хомский, Дж. Миллер вопрос интересный и важный. Тем не менее нет сомнений в том, что множество структурных описаний, ассоциированных с пред- предложениями, скажем, английского языка, в принципе не может быть порождено грамматикой непосредственных составляющих, сколь бы сложны ми были ее правила. Дело в том, что грамма- грамматика непосредственных составляющих по необходимости накла- накладывает на предложение слишком подробный анализ, что выте- вытекает из самого способа определения С-маркера предложения на основе его грамматики. Суть проблемы может быть пока- показана на таких предложениях, как \\^Ьу Ьаз ЛоЬп а1\^ау8 Ьееп зисЬ ап еазу тап \о р1еа$е? A8) («Почему Джон всегда был человеком, которому так легко угодить?»). Все это вместе — предложение; последние несколько слов образуют именную группу; каждое из слов принадлежит к определенной синтаксической категории. Однако для какого- либо описания структуры составляющих этого предложения, помимо приведенного, у нас уже нет никаких оснований. Чтобы дать такое структурное описание, грамматика непосредствен- непосредственных составляющих должна содержать правила вроде сле- следующих: 5Ь Ьаз ЫР а1\уауз Ьееп ап еазу N \о Укамнш, A9) Ясно, что такой набор правил является абсурдным и оставляет все структурные закономерности этого предложения невыра- невыраженными. Более того, ассоциированный С-маркер этого пред- предложения имеет тот недостаток, что он не отражает граммати- грамматической связи между словами тап и р1еазе — такой же, как в предложении Н р1еазе5 1Ье тап («Это доставляет человеку удовольствие»), так что глагольно-объектное отношение в этой паре слов остается невыраженным (ср. разд. 2.2 след. главы). Вообще грамматика непосредственных составляющих в значи- значительной мере лишается своего смысла, если в нее входят пра- правила, при которых некоторые конструкции состоят из шести непосредственных составляющих, как в примере A9). Указанное серьезное затруднение перерастает в принци- принципиальную неадекватность, когда мы обращаемся к собственно сочинительным конструкциям, таким, как в следующем при- примере: ТЬе тап \^аз о1C, Нгед, 1а11, ..., апс1 {пепсГу. B0)
Формальный анализ естественных языков 263 («Человек был пожилой, усталый, высокий, ..., и добродуш- добродушный»). Чтобы породить цепочку такого рода, грамматика непо- непосредственных составляющих либо должна приписать ей некото- некоторую произвольную структуру (и тогда использовать, например, право-рекурсивное правило), т. е. породить неправильное струк- структурное описание, либо она должна содержать бесконечное число правил. Ясно, что в случае чистого сочинения в соответствии с самим значением термина никакой внутренней структуры в по- последовательности сочиненных элементов существовать не может. Можно попытаться решить этот вопрос путем расширения понятия грамматики непосредственных составляющих и допу- допущения правил типа Предикат ->Прил.л апс! Прил. (/г>1). B1) При попытке сформулировать это правило таким образом, чтобы оно удовлетворяло требованиям формальной адекват- адекватности, возникнут многочисленные трудности. Кроме того, такое решение второго вопроса совершенно ничего не дает для реше- решения тех проблем, которые возникают в примере A9). Вообще для каждого частного случая трудностей, возникающих в грам- грамматиках непосредственных составляющих, можно придумать ас! Ьос какой-нибудь прием, который позволит эту частную труд- трудность обойти. Гораздо предпочтительнее, однако, был бы такой пересмотр всей схемы понятий, который дал бы возможность избавляться от этих трудностей всегда одним и тем же путем. При этом грамматика непосредственных составляющих в ее прежнем виде должна описывать только тот класс предложе- предложений, для которого она адекватна и который первоначально обусловил само ее появление. Насколько нам известно, только теория трансформационных грамматик дает какие-то основания надеяться, что эта цель когда-либо будет достигнута. Множество правил трансформационной грамматики удовле- удовлетворяет следующим условиям. Прежде всего имеется грамма- грамматика непосредственных составляющих, т. е. набор правил вида фЛф —> фшф, где А есть единичный символ, а со непусто. Этот компонент грамматики порождает конечное число С-терминаль- ных цепочек, с каждой из которых мы можем ассоциировать» как и раньше, размеченное дерево, С-маркер, представляющее ее структуру составляющих. Затем мы добавляем к грамматике множество операций, называемых грамматическими трансфор- трансформациями, каждая из которых отображает набор п С-маркеров (п^ \) в новый С-маркер. Можно допустить, чтобы грамма- грамматика обладала рекурсивными свойствами за счет одних толь- только трансформаций. Среди этих трансформаций некоторые
264 Н. Хомский, Дж. Миллер являются обязательными: они должны применяться к любому выводу (кроме того, некоторые трансформации обязательны по отношению к некоторым другим, т. е. должны применяться, если применены некоторые другие трансформации). Цепочка, полу- полученная в результате применения всех обязательных и некото- некоторых факультативных трансформаций, называется Т-терминаль- ной цепочкой. Г-терминальную цепочку можно рассматривать, в сущности, как последовательность морфем. Г-терминальная цепочка, полученная в результате применения только обяза- обязательных трансформаций, называется ядерной цепочкой. Если язык вообще содержит ядерные цепочки, то они будут соответ- соответствовать только наиболее простым предложениям. Идея ис- использования грамматических трансформаций для преодоления недостатков порождающих грамматик других типов возникла из исследований 3. Харриса, который предлагал использовать эти операции для «нормализации» текста (Нагпв, 1952а, 19526). Описание, которое приводится ниже, основано преимущественно на работе Хомского (СЬотзку, 1955); изложение такое же, как в работе СЬотзку, 1961а. Ср.* несколько иное развитие исходной идеи трансформации в статье Харриса (Нагпз, 1957). Как уже говорилось, причины включения в грамматику пра- правил трансформации весьма просты. Имеются предложения (простые утвердительные предложения в активной форме без сложных глагольных времен и конструкций), которые можно очень просто породить грамматикой непосредственных соста- составляющих (если говорить точно, то это утверждение верно лишь для терминальных цепочек этих предложений). Имеются дру- другие предложения (в пассивной или вопросительной форме, с прерванными конструкциями и сложными оборотами, полу- получившимися в результате вставки трансформированных простых предложений, и т. д.), которые не могут быть естественным и экономным образом порождены грамматикой непосредственных составляющих, но которые тем не менее находятся в опреде- определенных закономерных отношениях с предложениями более про- простой структуры. Эти отношения и выражаются трансформа- трансформациями. Трансформации, применяемые для порождения более сложных предложений (и их структурных описаний) из уже порожденных более простых, дают объяснение тем аспектам грамматической структуры предложения, которые не могут быть описаны грамматикой непосредственных составляющих. Задача состоит, следовательно, в том, чтобы сформулиро- сформулировать общее и абстрактное понятие грамматической трансфор- трансформации, которое воплотило бы в себя все эти идеи и упростило бы выражение формальных соотношений между предложе- предложениями, играющих важную роль в языке.
Формальный анализ естественных языков 265 5.2. Уточнение определения грамматической трансформации Трансформация не может быть операцией, определенной на множестве терминальных цепочек и не зависящей от структуры этих цепочек. Действительно, в этом случае трансформация пассива могла бы с одинаковым успехом применяться в пред- предложениях B2) и B3): ТЬе тап за\у 1Ье Ьоу-> ТЬе Ьоу \уаз зееп Ьу 1Ье тап, B2) ТЬе тап за\^ 1Ье ЛТЬе ЬоУ ^а8 8ееп ЬУ 1Ье тап 1еауе Ьоу 1еауе "^{тЬе Ьоу 1еауе \уаз зееп Ьу 1Ье тап * ' («Человек увидел мальчика» -> «Мальчик был увиден челове- человеком»; «Человек увидел,- как мальчик уходил»-^ «*Мальчик был увиден человеком уходить», «*Мальчик уходить был увиден че- человеком»). Чтобы применить трансформацию к некоторой цепочке, не- необходимо знать структуру составляющих этой цепочки. Так, при трансформации, которая превращает утвердительное пред- предложение в вопросительное, определенный элемент глагольной группы может выноситься в начало предложения. Применение этой трансформации к предложению ТЬе тап \уЬо \уаз Ьеге \уаз оЫ («Человек, который был здесь, был старым») даст пред- предложение \Уаз 1Ье тап \уЬо \уаз Ьеге оШ Для образования во- вопроса на первое место выносится второе \уаз. Если вынести на первое место первое \уаз, то получится грамматически непра- неправильное сочетание \Уаз Ше тап \уЬо Ьеге \уаз оЫ? Поэтому мы должны каким-то образом указать, что трансформация вопроса должна применяться ко второму \уаз, которое является элемен- элементом глагольной группы главного предложения, а не к первому. Иными словами, мы должны знать структуру составляющих ис- исходного предложения. Цели трансформационного анализа не были бы достигнуты также и в том случае, если бы мы стали рассматривать транс- трансформации как правила подстановки более высокого уровня, ко- которые применяются к цепочкам из незаконченных выводов. Так, можно показать, что трансформацию пассива нельзя рас- рассматривать просто как правило подстановки вида АахШагу + УегЬ + АихШагу + Ье + УегЬ + еп + Ьу + Л^. B4) Это правило относится к типу, допускаемому грамматикой не- непосредственных составляющих, как она была определена в разд. 4, и не удовлетворяет только условию A6) (т. е. условию 19 Зак. 1622
266 Н. Хомский, Дж. Миллер о том, чтобы подстановка производилась на место единич- единичного символа), которое обеспечивает возможность построения соответствующего С-маркера. Достаточным аргументом против введения трансформации паосива с помощью правила B4). является то, что трансформации, определенные таким образом, не смогут служить способом упрощения грамматики в случае появления контекстных ограничений на выбор лексических эле- элементов (ср. примеры в конце разд. 4). В пассивных предложе- предложениях, соответствующих этим примерам, имеют место те же са- самые ограничения на выбор лексических элементов, хотя здесь эти элементы встречаются в ином грамматическом оформлении. Однако если трансформация пассива будет применяться как одно из правил подстановки на той стадии вывода, когда вы- выбор субъекта, действия и объекта еще не производился, то для соответствующего выбора агента, действия и субъекта в пас- пассиве потребуется совершенно отдельный набор контекстно-свя- контекстно-связанных правил. Одно из достоинств трансформационной грам- грамматики состоит в том, что она дает возможность избежать этого ненужного дублирования правил выбора и сопутствующей ему потери общности. Это преимущество будет, однако, утрачено, если трансформации будут применяться раньше, чем определен лексический состав предложения. Представляется очевидным поэтому, что трансформационное правило должно применяться к полностью построенному С-мар- керу, а поскольку трансформационные правила должны снова применяться к трансформам, то результатом трансформации должен быть тоже С-маркер — производный С-маркер терми- терминальной цепочки, полученной в результате трансформации. Та- Таким образом, трансформация превращает С-маркеры в новые С-маркеры. Теперь мы можем определить понятие грамматической транс- трансформации следующим образом. Пусть B есть С-маркер терми- терминальной цепочки I, причем г может разделяться на последова- последовательные сегменты 1и ..., 1п таким образом, что всякий сегмент 1\ можно возвести в (}к некоторому узлу, помеченному симво- символом А\. В таком случае мы говорим, что цепочка I может быть проанализирована относительно <3 как (/1, ..., 1п\ Аи ..., Ап). В простейшем случае трансформация Т отчасти опреде- определяется последовательностью символов (Аи .. ., Лп), которая задает область ее применения по следующему правилу. Цепочка I с С-маркером С} входит в область применения трансформации Т, если I может быть проанализирована отно- относительно С} как (<1, ..., гп\ Аи • •., Ап). В этом случае Aи . • -, 1п) есть собственный анализ I относи- относительно {Я, Г), а (Аи ..., Ап) —структурный индекс Г.
Формальный анализ естественных языков 267 Чтобы закончить определение трансформации Г, необходимо описать те изменения, которые она производит в элементах собственного анализа цепочек, к которым применима. Напри- Например, трансформация может заключаться в перестановке или выбрасывании некоторых элементов, в замене их на некоторые другие, в постановке на заданное место некоторых постоянных цепочек и т. д. Предположим, что трансформации Т сопоста- сопоставлена лежащая в ее основе элементарная трансформация Теи такая, что Тег (I; /4, ..., /п)всг<, где (ги ..., гп) —собственный анализ I относительно ((?, Г). В этом случае цепочка, получаю- получающаяся в результате применения трансформации Т к цепочке I с С-маркером С}, такова: Т [/, <2] =■= ог ... оп Ясно, что было бы нежелательно называть грамматической трансформацией любое соответствие того вида, который только что был описан. Нежелательно было бы, например, включать в грамматику трансформации, которые соотносят друг с дру- другом такие пары, как ЛоНп за\у 1Ье Ьоу («Джон увидел маль- мальчика»)—> ГП 1еауе 1отогго\у («Я уезжаю завтра»); ЛоНп за\у {Ье тап («Джон увидел человека») —^ШЬу йопЧ уои 1гу а^ат? («Почему бы тебе не попытаться еще раз?»); ЛоЬп за\у Ше ^1г1 («Джон увидел девочку») —> СЫпа 13 тйизШаНхтц гар1сПу («Китай индустриализируется быстрыми темпами»). В грам- грамматике должны допускаться только такие трансформации, ко- которые выражают реальные структурные соотношения между предложениями: соотношения типа актив — пассив, утвержде- утверждение — вопрос, утверждение — номинализация и т. д. Произволь- Произвольного сопоставления предложений с помощью трансформаций можно избежать, если наложить дополнительное, вполне есте- естественное ограничение на элементарную трансформацию. Это ограничение таково !). Если Те1 — элементарная трансформация, то для любых чи- чисел I и п и для любых цепочек х^ ..., хп, уи ..., уп должно вы- выполняться следующее условие: Тег (/; хи ..., хп) должно быть получено из Те\ (/; у и • • •, Уп) в результате замены у^ на х$ для всех ] -^ п. Иными словами, результат элементарной трансформации должен быть независим от того, к какой цепочке она приме- применяется. Тем самым исключается возможность применения транс- трансформаций к частным цепочкам слов (или морфем). При этом условии, однако, никакая единая элементарная трансформация !) При более точной формулировке необходимо было бы различить раз- разные вхождения одной и той же цепочки (см. СЬотзку, 1955), 19*
268 Н. Хомский, Дж. Миллер не может одновременно заменить ЛоНп ш11 1гу («Джон попы- попытается») на А\Ш1 ЛоЬп 1гу? («Попытается ли Джон?») и ЛоЬп ^г!е<1 («Джон пытался») на ВЫ ЛоЬп 1гу? («Пытался ли Джон?»), хотя это, безусловно, одна и та же простая транс- трансформация вопроса. Элементарная трансформация, которая нужна в данном случае, должна превратить Х{Х2х3 в х2Х\Хъ. Это значит, что трансформация Тег должна быть определена для произвольных Хи х2, Хз следующим образом: * е1 Кг* е1 Чтобы такое правило дало в результате фразу БЫ ЛоНп 1гу?, необходимо применять трансформацию вопроса не к ЛоЬп1пес1, а, скорее, к гипотетической цепочке ЛоЬп + раз1 + 1гу (терми- (терминальной цепочке, аналогичной по структуре предложению ЛоЬп ш11 1гу), которая лежит в основе предложения ЛоНп 1пес1. Вообще мы не можем требовать, чтобы терминальные цепочки находились в каком-то простом соотношении с реальными пред- предложениями. Здесь приходится вводить обязательные преобра- преобразования (трансформационные и фонологические), которые определяют физический облик элементов и одновременно пере- переставляют их, выбрасывают некоторые элементы и т. д. Чтобы понятие трансформации было эмпирически адекват- адекватным, его необходимо обобщить. Прежде всего нужно допу- допустить применение трансформации к паре С-маркеров. (Транс- (Трансформации, подобные рассмотренным выше, которые применялись к одному С-маркеру, мы будем теперь называть сингуляр- сингулярными трансформациями.) Так, терминальная цепочка, лежащая в основе предложения Шз о\гат^ ргорег!у зигрпзес! те («То, что у него есть собственность, удивило меня»), получается из полученных ранее цепочек и 5игрпзес1 те («Это удивило меня») и Ье о\упз ргорег!у («У него есть собственность»). Что- Чтобы иметь возможность получать такие предложения, можно, в простейших случаях, допускать, чтобы в предшествующей грамматике непосредственных составляющих выводы предло- предложений, начинались не только с В5д,ноис#5дв5д... ...Ц5Д.В этом случае мы введем структурный индекс (О, ЫР, V, ЛФ, в, в, ЛФ, V, ТУЯ, О), из которого с помощью трансформации можно получить предложение Н1з о\гат^ рго- рег1у 5игрпзес1 те. Более подробное и аккуратное изложение этого вопроса см. (СЬотзку, 1955). Необходимо, далее, обобщить формулировку области опре- определения трансформации и собственного анализа трансформи-
Формальный анализ естественных языков 269 руемой цепочки. Во-первых, нет необходимости требовать, что- чтобы элементами структурного индекса были отдельные символы» Во-вторых, можно допустить, чтобы область определения транс- трансформации задавалась конечным множеством структурных ин- индексов. Более того, можно задавать область определения транс- трансформации просто некоторым структурным условием, основан- основанным на предикате «быть анализируемым», введенном выше. С помощью этого понятия можно определить разложение тер- терминальных цепочек на элементы собственного анализа, после чего элементы структурного индекса могут оставаться неопре- неопределенными. С помощью этого и некоторых других обобщений можно построить эксплицитное и точное обоснование трансфор- трансформационной грамматики. 5.3. Структура составляющих в трансформированных цепочках Грамматическая трансформация задается структурным ус- условием, выраженным с помощью предиката «быть анализируе- анализируемым» и элементарной трансформации. Как было, однако, за- замечено, трансформации должны порождать не только предло- предложения, но и их С-маркеры. Поэтому нужно показать, каким образом терминальной цепочке, полученной в результате транс* формации, приписывается структура составляющих. Лучше всего было бы получать производные С-маркеры с помощью на- набора правил, которые составляют часть общей лингвистической теории, а не с помощью дополнительного пункта в определении каждой трансформации. Точная формулировка этих правил по- потребовала бы анализа исходных понятий, который выходит да- далеко за рамки настоящего неформального изложения (см. в этой связи СЬотзку, 1955; МаНЬе^з, 1962; РозЫ, 1962). Тем не менее некоторые подходы к общему решению этой проблемы кажутся достаточно ясными. Прежде всего все трансформации можно разделить на небольшое число классов в соответствии с элементарной трансформацией, на которой они основаны. Для каждого класса можно задать общее правило, приписывающее трансформу производный С-маркер, вид которого зависит фик- фиксированным образом от С-маркеров исходных терминальных цепочек. Приведем несколько примеров для иллюстрации тех общих принципов, которых необходимо при этом придержи- придерживаться. Основным рекурсивным устройством в грамматике являются обобщенные трансформации, которые порождают новую це- цепочку из пары исходных. (Ясно, что число сингулярных
270 Н. Хомский, Дж. Миллер трансформаций, которые могут применяться к одному и тому же предложению, ограниченно.) Большинство обобщенных транс- трансформаций основано на элементарных трансформациях, кото- которые подставляют трансформированный вариант второго члена пары исходных терминальных цепочек вместо некоторого эле- элемента собственного анализа первого члена пары. (В терминах, Рис. 5. С-маркер, возникающий при интерпретации предложений с сою- союзом апЛ как полученных в результате трансформации присоединения. предложенных Лизом (Ьеез, 1960), это соответственно цепочка- составляющая и цепочка-матрица.) В этом случае для опре- определения производной структуры составляющих трансформа до- достаточно, по-видимому, единого общего правила. Пусть транс- трансформация заменяет символ а из в\ (цепочки-матрицы) на в2 (цепочку-составляющую). Тогда С-маркер результирующей це- цепочки есть С-маркер аь где а заменен на С-маркер (Т2. Все остальные обобщенные трансформации — это трансфор- трансформации присоединения, которые состоят в том, что берется неко- некоторый элемент собственного анализа а вместе с элементом структурного индекса р, который опосредствованно подчиняет а (и всеми промежуточными звеньями С-маркера, которые под- подчиняются элементу |3 и подчиняют а), и присоединяются (быть может, с добавлением некоторой константной цепочки) к неко- некоторому другому элементу собственного анализа. Таким спосо- способом, например, фраза ,1оЬп 15 оИ апй $ас[ («Джон стар и печа- печален») с С-маркером, представленным на рис. 5, получается из фраз ЛоНп 15 о1с1, ЛоЬп т 5а<3 («Джон стар», «Джон печален»)
Формальный анализ естественных языков 271 с помощью трансформации со структурным индексом (Л^, 18, Л, «а, л^я, 1з, А). Сингулярные трансформации часто являются простыми пе- перестановками элементов собственного анализа. В частности, та- такая трансформация превращает рис. 6, а в рис. 6, б. Общий прин- принцип построения производного С-маркера состоит в этом случае УР ур МегЪ мр \/егЬ ЫР Рп /\ /\ I /\ ^ Рг1 ОеГеггл N V Ре!егт N оиГ /\ I I /\ /\ I /\ зоте о{ 1^е $оте о^ 1Ив (а) (б) Рис. 6. Сингулярная трансформация, переводящая (а) в (б), — это пере- перестановка; результатом ее применения является сокращение «количества структуры», приписываемой предложению. в том, что в С-маркере исходной цепочки производятся мини- минимальные изменения, совместимые с требованием о том, чтобы получившийся С-маркер также был деревом. Трансформация, которая дает предложение Тигп зоте о! Ше И§Мз ои1 («Вы- («Выключи некоторые лампы»), основана на элементарной транс- трансформации, меняющей местами второй и третий элементы трех- трехэлементного собственного анализа; эта трансформация имеет структурный индекс (У, Ргг, ЫР) (разумеется, здесь приводит- приводится частный случай некоторого более общего правила). Рис. 6 иллюстрирует весьма характерное влияние, оказывае- оказываемое на структуру предложения перестановками: перестановки имеют тенденцию сокращать «количество структуры» у терми- терминальной цепочки, к которой они применяются. Так, если на рис. 6, а представлена полностью бинарная структура, то на рис. 6, б одним бинарным разложением меньше, а вместо этого появляется одно тернарное разложение; символ Рт1 больше не подчиняется символу УегЬ. Хотя бинарные составляющие весь- весьма характерны для простых структурных описаний, порождае- порождаемых грамматикой непосредственных составляющих, они доволь- довольно редки в С-маркерах действительных предложений. Транс-
272 Н. Хомский, Дж. Миллер формационный подход к синтаксическому описанию позволяет, таким образом, сохранить зерно истины, содержащееся в обыч- обычных теориях непосредственных составляющих, с их предпочтем нием бинарных составляющих, и в то же время освобождает от необходимости произвольным образом приписывать предложе- предложению излишнюю структурную организацию. Далее, последова- последовательным применением трансформаций присоединения и пере- перестановки, которые были описаны выше, можно породить разновидности С-маркеров, которые в принципе не могут быть Порождены грамматиками непосредственных составляющие [в частности, С-маркеры сочиненных конструкций типа B0)]. Аналогично можно показать, каким образом трансформацион- трансформационный подход может помочь в решении проблем, упомянутых в связи с примером A8) и ему подобных (ср. разд. 2.2 след. главы), хотя практические трудности,которые встречаются при разработке конкретных анализов, нельзя недооценивать. Одни сингулярные трансформации состоят в добавлении кон- константных цепочек в заданное место собственного анализа; дру- другие — в устранении некоторых из элементов собственного ана« лиза. Трансформации первого типа можно рассматривать как аналогичные трансформациям присоединения. При трансфор- трансформациях второго типа устраняются узлы, которые не подчиняют никакой терминальной цепочки, а в остальном С-маркер остает- остается неизменным. По-видимому, эллиптические трансформации можно существенным образом ограничить. Наложение ограни^ чений на эллиптические трансформации играет основополагаю- основополагающую роль при определении класса языков, который может быть порожден трансформационными грамматиками. Итак, повторим вкратце, что трансформационная граммати- грамматика состоит из конечной последовательности контекстно-связан* ных правил подстановки <р->\|) и конечного числа трансформа- трансформаций описанного типа, а также ограничений относительно порядка применения трансформаций. Структура, полученная з результате применения некоторой трансформации, в общем слу- случае может быть подвергнута новым трансформациям, так что путем повторного применения трансформаций можно породить бесконечное число С-маркеров самых различных типов. На ка* ждом этапе порождения фразы С-маркер представляет собой размеченное дерево, ассоциированное с порождаемой цепоч- цепочкой. Полное структурное описание предложения должно состоять не только из его собственного С-маркера, но и из С-маркеров, лежащих в его основе Г-терминальных цепочек и их трансфор* мационной истории. О роли такого структурного описания при определении процесса понимания предложения см. раяд. 2.2 след. главы.
Формальный анализ естественных языков 273* в. ЗВУКОВАЯ СТРУКТУРА ЯЗЫКА Мы рассматриваем грамматику как состоящую из двух ос- основных компонентов — синтаксического компонента, который мы уже описали, и фонологического компонента, к которому мы теперь переходим. 6.1. Роль фонологического компонента в грамматике Синтаксический компонент грамматики содержит правила подстановки и трансформационные правила, форма и органи- организация которых были описаны в разд. 4 и 5; в результате работы этих правил порождаются терминальные цепочки и их струк- структурные описания. Структурное описание терминальной цепоч- цепочки содержит, в частности, производный С-маркер, который определяет для цепочки систему размеченных скобок; в данном разделе только эта часть структурного описания и будет при- приниматься во внимание. Таким образом, мы обращаемся к рас- рассмотрению следующих структур, которые мы будем считать (опуская многие детали) выходами синтаксического компонента Грамматики: [УР [у Й зее]к раз! й B5) (символ й использован как показатель границ между слова- словами). Терминальная цепочка из примера B5) является предста- представлением предложения Тес! за^ Шозе Ьоокз («Тед видел эти кни- книги»), которое может быть на фонетическом уровне предста- представлено так: 12 3 1 ге • й + 8этс + 6 9 \У2 + Ьикз B6) (цифры обозначают силу ударения). Опять-таки здесь опу- опущены уточнения, детали, обсуждение прочих возможностей и многих фонетических признаков, которых мы в этом кратком очерке не будем касаться. Выражение типа B6) является достаточно непосредствен- непосредственным представлением предложения. Можно считать, что это пред- представление основано на универсальной фонетической системе, которая состоит из фонетического алфавита и набора общих фонетических правил. Символы фонетического алфавита опре- определяются на основе физических (т. е. акустических и артикуля- торных) понятий; общие законы универсальной фонетической системы — это законы, касающиеся способов комбинирования физических единиц, представленных этими символами, в есте*
*274 Н. Хомский, Дж. Миллер ственном языке. Универсальная фонетическая система, так же как абстрактное определение порождающей грамматики, пред- предложенное в разд. 4 и 5, является скорее частью общей лингви- лингвистической теории, чем специфическим разделом грамматики данного языка. Так же как и другие разделы общей теории языковой структуры, универсальная фонетическая система пред- представляет собой гипотезу о языковых универсалиях; она может также рассматриваться как гипотеза о врожденных способно- способностях переработки информации и образования понятий, которые пускаются в ход ребенком при обучении языку. Роль фонологического компонента грамматики состоит в том, что он соотносит представления типа B5) и типа B6); иначе говоря, фонологический компонент включает в себя пра- Била, определяющие фонетический облик высказывания, исхо- исходя из его морфемного состава и общей синтаксической струк- структуры. Фонологический компопент в отличие от синтаксического не играет никакой роли в построении новых высказываний, а только сопоставляет высказываниям их фонетическую форму. Хотя по этой причине изучение фонологического компонента грамматики не относится к математическим моделям языка в узком смысле слова, процессы приписывания высказываниям их фонетического облика представляют независимый интерес. Мы укажем кратко некоторые существенные свойства этих процес- процессов. Наше изложение основывается на работах Халле (На11е, 1959а, 19596) и Хомского (СЬотзку, 1959, 1962а). 6.2. Звуки и фонемы Фонологический компонент можно представлять как устрой- устройство, которое получает на вход терминальную цепочку с раз- различными скобками и должно перекодировать ее в фонетиче- фонетическую запись. Фонетическая запись есть последовательность сим- символов фонетического алфавита, одни из которых [например, первые три символа в примере B6)] соответствуют физически определенным признакам, а другие [например, символ + в при- примере B6)] — символам перехода. Назовем символы первого рода фонетическими сегментами, символы второго рода — фо- фонетическими стыками. Рассмотрим более тщательно свойства фонетических сегментов. Каждый символ универсального фонетического алфавита яв- является сокращенным обозначением определенного набора фи- физических признаков; например, символ [рь] представляет губ- губной, придыхательный, глухой, смычный звук. Эти символы не имеют независимого существования сами по себе; они служат просто сокращенными обозначениями. Следовательно, предста-
Формальный анализ естественных языков 275 вление B6), и вообще всякую фонетическую запись, правильнее всего рассматривать как фонетическую матрицу: строки ма- матрицы— это физические свойства, которые в данной лингвисти^ ческой теории считаются элементарными, а столбцы — это последовательные сегменты высказывания (стыки мы пока оста- оставляем в стороне). В этой матрице элемент (*, /) показывает, обладает ли (или в какой степени обладает) /-й сегмент выска- высказывания /-м свойством. Фонетические сегменты соответствуют, таким образом, столбцам матрицы. Если принять за универ* сальную фонетическую систему систему акустических призна* ков, предложенную Якобсоном, то в примере B6) символ [э] может рассматриваться как сокращение для строчки (гласный, несогласный, низкий (^гауе), компактный, неокругленный, звон^ кий, слабый, с третьестепенным ударением). Матрицы с та^ кими элементами и составляют выход фонологического компо- компонента. Что же является входом фонологического компонента? Тер« минальная цепочка в примере B5) состоит из лексических мор- фем, таких, как Тед, Ьоок, грамматических морфем, таких, как раз!, р1ига1, и некоторых показателей стыка типа В. Показа^ тели стыка вводятся правилами синтаксического компонента, чтобы указать позиции, в которых морфологическая и синтакси- синтаксическая структуры отражаются на фонетике. Для наших целей они могут рассматриваться как грамматические морфемы. Ка- Каждая грамматическая морфема, как правило, представляет со- собой единый терминальный символ, нерасчлененный на сегмен- сегменты. Напротив, лексические морфемы обычно представлены це- цепочками символов, которые мы будем называть фонемными сегментами или просто фонемами1). Тогда, если не считать раз- размеченных скобок, входом для фонологического компонента яв^ ляется цепочка, состоящая из фонем и условно обозначенных грамматических морфем. Фонетическая запись в примере B5) является во всех существенных отношениях точной, если не считать того, что лексические морфемы даны в традиционной орфографии, а не в фонемной транскрипции. Так, Те<3, вее, {Не, Ьоок нужно заменить соответственно на Дед/, /81/, /81/, /Ьик/. В примере B6) дано так мало фонетических деталей, что фоне- фонетические и фонемные сегменты почти не отличаются друг от друга. Вскоре мы вернемся к вопросу о соотношении между фонем- фонемными и фонетическими сегментами. Пока мы только отметим, !) Для большей точности следовало бы считать, что фонемы — это сег- сегменты, которые появляются только на той стадии вывода, когда все грамма- грамматические морфемы уже элиминированы с помощью фонологических правил.
276 Н. Хомский, Дж. Миллер что не накладывается никаких требований о том, что они дол- должны быть тесно связаны друг с другом. Прежде чем переходить к более подробному рассмотрению фонемных сегментов, мы хотим предупредить читателя, что понимание терминов фонема, фонемная запись и т. д. в линг- лингвистической литературе очень неустойчиво. При этом расхожде- ния здесь не являются чисто терминологическими; они отра- отражают глубоко идущие расхождения взглядов на сущность зву- звуковой структуры — расхождения, не разрешенные и до на- настоящего времени. Здесь, разумеется, не место разбирать в по- подробностях эти расхождения и приводить агрументы в защиту той или иной точки зрения. (Подробно об этом см. у Халле [(На11е, 19596), у Хомского (СНотзку, 1962); см. также книгу На11е, СНотзку, «5оипс1 Райегп о! Еп&НзН», в печати.) Данная работа основана на представлении о звуковой структуре, близ- близком к тому, которое было у основателей современной фоноло- фонологии, но сильно отклоняющемся от того, которое получило наи-* более широкое распространение, особенно в Соединенных Шта- Штатах, за последние двадцать лет * и часто называется необлум- фильдианским. В частности, термин «фонема» используется здесь в смысле Сэпира Eар1г, 1933), а понятие универсальной фонетической системы имеет корни в таких классических рабо-* тах, как работа Суита E^ее{, 1877) и деСоссюра (йеЗаиззи- ге, 1916); речь идет о Приложении к Введению «Курса общей лингвистики», которое датируется вообще 1897 г. То, что мы, следуя Сэпиру, называем фонемной записью, в настоящее вре- мя чаще называют морфонемной записью. Обычно предпола- предполагается, что существует уровень представления высказывания, промежуточный между фонетическим и морфонемным, и этот промежуточный уровень называется фонемным. Однако имеют- имеются, по-видимому, достаточные основания для того, чтобы от- отвергнуть гипотезу о существовании такого промежуточного уровня, отбросив одновременно многие допущения относитель- относительно звуковой структуры, тесно переплатающиеся с этой гипоте- гипотезой в современных изложениях лингвистической теории. Мы попытаемся обнаружить общие правила, которые при- применяются к большим классам элементов — таким, как соглас- согласные, смычные, звонкие сегменты и т. д., — а не к отдельным сегментам. При этом мы попытаемся заменить большое число отдельных наблюдений простыми обобщениями. Поскольку пра- правила будут применяться к классам элементов, то сами элементы должны быть определены через их принадлежность к опреде- определенным классам. Таким образом, каждая фонема принадлежит к нескольким пересекающимся категориям, на основе которых фонему можно представить просто множеством категорий, к
Формальный анализ естественных языков 277 которым она принадлежит; иными словами, каждую лексиче- лексическую единицу можно представить классификационной матри- матрицей, в которой столбцы соответствуют фонемам, а ряды — кате- категориям и элемент (/, /) показывает, принадлежит ли фонема / к категории /. Каждая фонема может быть представлена теперь в виде последовательности категорий, которые мы называем различительными признаками, используя одно из имеющих хо- хождение значений этого термина. Так же как фонетические сим-^ волы, фонемы не имеют независимого существования сами по себе. Очень важным и ни в какой мере не очевидным является то обстоятельство, что различительные признаки классифика- классификационной таблицы фонем определяют категории, точно соответ- соответствующие тем категориям, которые определяются рядами фо- фонетических матриц. Это обстоятельство было замечено Сэпиром Eар1г, 1925) и изучено в последние годы Якобсоном, Фантом и Халле ^акоЬзоп, Рап{, На11е, 1952) и Якобсоном и Халле ^акоЪзоп, На11е, 1956); такой подход к звуковой системе имеет свои корни в классической лингвистике, процветавшей в Индии еще два тысячелетия тому назад. 6.3. Условие инвариантности и условие линейности Входами для фонологического компонента грамматики яв- являются, таким образом, матрицы различительных признаков, представляющих лексические элементы; выходами являются фонетические матрицы (и стыки). Каким должно быть отноше- отношение между категориальной матрицей различительных призна- признаков, которая поступает на вход фонологических правил, и соот- соответствующей фонетической матрицей, которая возникает в ре- результате их применения? Каково, например, отношение между исходной матрицей, сокращенно записываемой Дес1/ (где ка- каждый символ |{|, |е|, |A| заменяет собой столбец, содержащий в данном ряду плюс, если данный символ принадлежит к кате- категории, соответствующей данному ряду, минус, если данный сим- символ не принадлежит к этой категории, и ноль, если данный символ не определен с точки зрения принадлежности к этой ка- категории), и результирующей матрицей, сокращенно записывае- 1 1 мой как [1ье• A] (где каждый из символов [1Ь], [е-], [A] заменяет столбец, элементами которого являются фонетические свой-* ства)? Самое сильное требование, которое здесь может быть нало- наложено, состоит в том, что исходная классификационная матрица должна быть собственной частью результирующей фонетиче- фонетической матрицы, отличаясь от этой последней отсутствием неко- некоторых избыточных элементов. Тогда фонологические правила
278 Н. Хомский, Дж. Миллер будут просто заполнять пустые места классификационной ма- матрицы, дополняя ее до соответствующей фонетической. Это сильное условие включается в определение фонологической тео- теории, в частности, Якобсоном, а также, в неявном виде, Бло* хом1). Если это требование соблюдено, то фонемная ваиись удовлетворяет условию, которое мы называем условием линей- линейности. Под условием линейности мы понимаем требование о том, что каждая фонема должна быть связана с определенным зву- звуковым отрезком высказывания, причем если фонема А нахо- находится слева от фонемы В в фонемной записи, то отрезок выска- зывания, сопоставленный фонеме Л, должен предшествовать отрезку, сопоставленному фонеме В в фонетической записи. ,(Мы ограничиваемся здесь фонемами, которые называют сег- сегментными, поскольку так называемые суперсегментные фонемы мы рассматриваем как признаки сегментных фонем.) Условие инвариантности состоит в том, что каждой фоне- фонеме А должно быть сопоставлено некоторое определяющее мно« жество 2(А) физических фонетических свойств, таких, что ка- каждый вариант (аллофон) фонемы А обладает свойствами из 2(А) и никакой фонетической сегмент, не являющийся вари* антом (аллофоном) фонемы Л, не имеет всех свойств из 2(Л). Если бы звуковые системы удовлетворяли условиям линей- линейности и инвариантности, то задача создания машин, способных распознавать фонемы в нормальной человеческой речи, сильно упростилась бы. Соблюдение этих условий дало бы также воз- возможность построить модель восприятия, основанную на сегмен- сегментации и классификации, что явилось бы аргументом в пользу той точки зрения, что методы анализа, необходимые в линг- лингвистике, могут быть сведены к сегментации и классификации. Однако выполнение этих требований зависит от реальных фак- фактов, а не от принятия какого-либо решения, и, по нашему мне- мнению, есть много оснований сомневаться, что в естественных языках эти условия выполняются. Поэтому мы не будем счи- считать, что для каждой фонемы имеется набор фонетических свой* ств, которые однозначно характеризуют все ее варианты, и что эти наборы действительно располагаются во временнбй после- последовательности в точном соответствии с линейным порядком фонем. ) Эти авторы не стали бы считать то, что они называют фонемными записями, входами в фонологический компонент нашей грамматики. Однако» как было сказано выше, мы не видим оснований для допущения о суще- существовании промежуточной записи того типа, который называется этими к другими фонологами фонемным.
Формальный анализ естественных языков 279* У нас нет возможности останавливаться на этом вопросе подробно, но одного примера будет достаточно, чтобы проде- продемонстрировать те трудности, которые заставляют отказаться от условий линейности и инвариантности. Английские слова ^п!е («писать») и пйе («ехать верхом») в любой разумной фонем- фонемной записи должны быть представлены соответственно как /гау1/ и /гаус!/; иным словами, их фонемный состав различается звонкостью конечной согласной. В фонетическом отношении они различаются также свойствами гласных. Есть, например, та* кой диалект, где \уп!е должно быть представлено фонетически как [гау1], а пйе — как [га • уй] с характерным автоматическим удлинением гласной перед звонкой согласной. Чтобы вывести фонетическую запись из фонемной, мы применям следующее правило: Гласные перед звонкими согласными удлиняются. B7) Это правило имеет достаточно общий вид и вполне может быть включено в рассматриваемую нами систему. Рассмотрим теперь слова ^п!ег («писатель») и пйег («всадник») в том же диалек- диалекте. В соответствии с синтаксическим компонентом грамматики ^гНег есть ^п!е+деятель, а пйег есть пйе + деятель, причем лексические единицы имеют в точности тот вид, в котором они приведены; а именно фонемная запись для ^п!ег и пйег будет соответственно /гау1 + г/ и /гаус! + г/. Имеется, однако, общее правило, что фонемы /1/ и /й/ в некоторых контекстах сли- сливаются в альвеолярный дрожащий звук [Э], в частности после главного ударения, как в словах ^п!ег и пйег. Таким образом, грамматика для этого диалекта может содержать следующее фонетическое правило: [1, й]—»О после главного ударения. B8) Применяя к фонемным записям /гау1 + г/ и /гауй + г/ сначала правило B7), а потом правило B8), мы получим сначала [гауИ-г], [га-уй + г] в соответствии с правилом B7), а затем [гауЭг], [га • убг] в соответствии с правилом B8); эти выраже- выражения и будут фонетическими представлениями слов ^п!ег, пйег. Теперь мы видим, что фонемные представления этих слов раз- различаются только четвертым сегментом (звонкая/глухая соглас- согласная), тогда как фонетические представления различаются толь- только вторым сегментом (более долгая/более краткая гласная). Следовательно, мы не можем утверждать, что последователь- последовательность фонем А\ ... Ат связана с последовательностью сегментов а\ ... ат таким образом, что а\ содержит, помимо избыточных:
280 Н. Хомский, Дж. Миллер признаков, множество признаков, которые однозначно опреде- определяют А\. Этот типичный пример показывает несостоятельность условий линейности и инвариантности в применении к фоноло- фонологическим системам. Отсюда следует, что фонемы не могут быть получены из фонетических записей в результате простых опера- операций сегментации и классификации по выделенным признакам; во всяком случае, обычно описываемые операции являются за- заведомо непригодными. Заметим, между прочим, что мы нигде не говорили о том, что фонетические признаки, образующие универсальную систе- систему, должны быть определены в абсолютных терминах. Так, один из универсальных признаков может быть признаком «передний/задний» или «краткий/долгий». Если фонетический сегмент А отличается от фонетического сегмента В только тем, что А имеет признак «краткий», а В — «долгий», то это озна- означает, что в любом контексте X — У более долгий элемент ото- отождествляется с В, а более краткий — с А. При этом может по- получиться так, что А в одном контексте окажется в действитель- действительности длиннее, чем В в другом контексте. Многие лингвисты выдвигали требование, что фонетические признаки должны определяться в абсолютных терминах. Вместо признака «крат^ кий/долгий» они требовали установления (с какой-то степенью приближения) абсолютной длины каждого сегмента. Если до-< бавить это требование к требованию инвариантности, то исклки чается даже частичное пересечение фонем, т. е. приписывание звука а к фонеме В в одном контексте и к фонеме С — в дру- другом. Такова, по-видимому, точка зрения Блоха (В1осЬ, 1948, 1950). Это ограничение слишком сильное, и оно опровергается не только примером, который был приведен здесь, но и боль- большим числом других (см. В1осЬ, 1940). Действительно, в работах по акустической фонетике (ЫЪегтап, Ое1а11ге, Соорег, 1952; 5сЬа1г, 1954) показано, что если требовать соблюдения этого условия, то при артикуляторном и акустическом подходе к при-» знакам (как предлагается в работе В1осЬ, 1950) нельзя произ-* вести даже анализ смычных /р, 1, к/, поскольку они частично пересекаются. Такое следствие можно считать доказательством через доведение до абсурда. Требования относительной и абсолютной инвариантности по* зволяют построить определенные модели восприятия речи; од-* нако трудность (или невозможность) соблюдения этих требо^ ваний показывает, что эти модели неверны. Возникает необхо- необходимость новых моделей, которые мы еще будем рассматривать лиже. Теперь же мы вернемся к нашей основной теме.
Формальный анализ естественных языков 281 6.4. Некоторые фонологические правила Как было сказано, входами для фонологического компонен- компонента грамматики являются терминальные цепочки, состоящие из лексических и грамматических морфем и стыков, с указанием структуры составляющих. Выходом фонологического компонен- компонента является фонетическая матрица, в столбцах которой записа- записаны последовательные сегменты высказывания, а в строках — фонетические признаки. Разумеется, желательно, чтобы пра- правила фонологического компонента были по возможности общи- общими и немногочисленными. В частности, предпочтительны такие правила, которые применяются к крупным и естественно выде- выделенным классам элементов и основаны на простых и кратких характеристиках данного контекста. Предпочтительны, далее, такие правила, в которых одни и те же классы элементов ис- используются несколько раз. Чтобы проверить выполнение этих и других требований, можно определить сложность фонологиче- фонологического компонента через число признаков, упомянутых в прави- правилах; при этом форма правил должна быть задана таким обра- образом, чтобы она допускала правильные обобщения [см. На11е, 1961)]. Тогда мы можем отдать предпочтение более простым (более общим) грамматикам перед более сложными и ис- использующими большее число признаков (т. е. частных слу- случаев). Задача фонологического анализа состоит в том, чтобы со- сопоставить каждому высказыванию фонемное представление, состоящее из матриц, в которых столбцами являются фонемы, а строками — различительные (классификационные) признаки, а также вывести самый простой набор правил (простота должна быть при этом точно определенным понятием), которые опреде- определяют фонетические матрицы, соответствующие данным фонем< ным представлениям. На фонемное представление не наклады* вается требований линейности и инвариантности. Интересное и важное наблюдение состоит в том, что эти требования в сущно- сущности, как правило, выполняются и имеется лишь один важный класс исключений. Чтобы определить фонетическую форму высказывания, фо- фонологические правила должны использовать не только фонем- фонемное представление, но и некоторую другую информацию; в ча- частности, они должны использовать информацию о структуре со- составляющих. Отсюда следует, что вообще невозможно (идет ли речь о лингвисте или о ребенке, обучающемся языку) по- построить правильное фонемное представление высказывания без существенного использования синтаксической информации. Аналогично, естественно ожидать, что и при восприятии речи
282 Н. Хомский, Дж. Миллер установление фонемного представления высказывания опирается на синтаксические ключевые показатели. Иначе говоря, фонети- фонетическое отождествление высказывания основано в какой-то мере на частичном его понимании, и- этот вывод вовсе не является парадоксальным. Фонологический компонент состоит: 1) из последовательно- последовательности правил подстановки, включающей, в частности, набор пра- правил, определяющих структуру морфемы; 2) из последователь- последовательности трансформационных правил и 3) из последовательности правил подстановки, которые можно назвать фонетическими правилами. Эти группы правил применяются к терминальной цепочке в указанном порядке. Правила, определяющие структуру морфемы, позволяют упростить матрицы, определяющие индивидуальные лексиче- лексические морфемы, за счет использования общих свойств всего мно- множества матриц. В английском языке, например, если ни один из трех начальных сегментов лексической единицы не является гласной, то первый из них должен быть согласной /з/, вто- второй — смычным согласным, а третий — плавным, или глай- дом. Таким образом, в матрицах представляющих такие мор- морфемы, как з1пп§ или з^иаге, эту информацию можно уже не задавать. Аналогичным образом, глайд, который является по- последним элементом начального сочетания согласных, не тре- требует дальнейшего определения, поскольку он полностью опре- определяется последующей гласной: при всех согласных, кроме /з/, перед /и/ должен стоять /у/, а во всех остальных случаях — 1^/. Так, имеются сочетания сиге /куиг/ (лечить) и ^ие^г /к\У1г/ (странный), но не /к^иг/ или /ку1г/. Имеется и много других правил такого рода. Они позволяют сократить число признаков, упоминаемых в грамматике, поскольку одно и то же правило, определяющее структуру морфемы, может применяться ко мно- многим матрицам, что способствует увеличению простоты описания (в том смысле, который был указан выше). Заметим, что пра- правила, определяющие структуру морфемы, позволяют провести различие между обоснованным и необоснованным выделением допустимых и недопустимых бессмысленных слогов. Трансформационные фонетические правила определяют фо- фонетические процессы, обусловленные структурой составляющих (вспомним то основное свойство трансформационных правил, как они были определены выше, что они применяются только к цепочке с заданной структурой составляющих). В английском языке имеется такое переплетение правил, определяющих уда- ударение и редукцию гласных, что фонетическая система имеет несколько степеней ударения и сложное распределение редуци-
Формальный анализ естественных языков 283 рованных и нередуцированных гласных [Хомский, Халле и Лу- Луков (СНотзку, На11е, ЬикоН, 1956)]; Халле и Холмский (На11е, СЬотзку, в печати). Эти правила существенным образом ис- используют структуру составляющих как на морфологическом, так и на синтаксическом уровне; следовательно, они должны рассматриваться скорее как трансформационные правила, чем как правила подстановки. Эти правила упорядочены и приме- применяются циклами — сначала к минимальным составляющим (т. е. лексическим морфемам), затем к более крупным и т. д., пока не будет достигнута максимальная из сфер действия фоне- фонетических процессов. Поразительный факт, по крайней мере для английского языка, состоит в том, что вне и внутри слова дей- действуют, по существу, одни и те же правила. Таким образом, имеется один цикл трансформационных правил, повторное при* менение которых определяет фонетическую форму как отдель- отдельных слов, так и сложных сочетаний. Циклическое упорядочение правил позволяет определять фонетическую структуру более сложных сочетаний, как морфологического, так и синтаксиче- синтаксического характера, через фонетическую структуру исходных эле-> ментов. Основными правилами трансформационного цикла в англий* ском языке являются правила приписывания ударения и пра« вила редукции гласных. Место основного ударения определяет- определяется типом составляющей и конечным аффиксом. После того как место главного ударения определено, все остальные ударения автоматически ослабляются. Последовательное применение этого правила к последовательно увеличивающимся составляю- составляющим цепочки, не имеющей начальной расстановки ударений, дает в результате систему с несколькими степенями ударения. Гласная редуцируется в [I] в некоторых фонологических усло- условиях, если она ни на одной из предшествующих стадий выво- вывода не получила главного ударения или если последующие циклы ослабили ее первоначальное главное ударение до третье- третьестепенного (или, в некоторых позициях, до вторичного). Пра- Правило редукции гласных применяется в трансформационном цикле один раз, а именно тогда, когда мы достигаем уровня слова. Подробное описание этих правил в объеме данной главы невозможно, поэтому мы ограничимся лишь несколькими заме- замечаниями о том, как они работают. Рассмотрим, в частности, следующие четыре правила1), которые применяются в том по- рАдке, в каком они написаны: 1) Эти правила несколько отличаются от правил, описанных в более подробной и общей грамматике (см. Халле и Хомский, в печати).
284 Н. Хомский, Дж. Миллер Правило существительного, которое в существи- существительных (и их основах) ставит ударение на первом слоге при довольно общих условиях. B9а) Правило ядерного ударения, которое превращает последнее главное ударение в доминирующее, ослабляя тем самым все остальные ударения в конструкции. B96) Правило редукции гласных. B9в) Правило приспособления ударения, которое ослаб- ослабляет на единицу все неглавные ударения в слове. B9г) В трансформационном цикле, который описан ниже, мы про- производим существительные рёггш! (разрешение), 1бгтеп1 (му- (мучение) от глаголов регтИ (разрешать), 1огтёп{ (мучить) с по- помощью правила существительного; при этом главное ударение на втором слоге автоматически заменяется на вторичное. Пра- Правило приспособления ударения определяет окончательную по- последовательность ударений: главное — вторичное. Второй слог не редуцируется в [*], поскольку на той стадии, когда приме- применяется правило редукции гласных, он защищен вторичным уда- ударением. Таким образом, рёптп!, 1бгтеп1 имеют следующий вывод: г \у Рег + тНУлг [лг [у 2. [лтЬ-рег + птЫл/ ЫИэгтепЧк'лг- 3. [^рег+ 0111]^ [^ 1эгтеп1]лг. Г 1 21 Г 1 2 1 4. [^рег + гт^дг [д^э гтеп!]^. 1 2 12 5. рег ~(- тИ 1эгтеп1 1 3 13 6. рег + тй 1эгтеп1 1 ? К 1 3 7. /У* 1гтИ г эгтеп!. Строка 1 фонологическая; строка 7 — фонетическая (детали опущены). Строка 2 получается применением общего правила (которое мы не приводим) для 1огтеп1 и с помощью правила B9) для реггш! (поскольку главное ударение в этом случае отсутствует). Строка 3 заканчивает первый трансформацион- трансформационный цикл, стирая самые внутренние скобки. Строка 4 получает- получается с помощью правила B9а). Строка 5 заканчивает второй трансформационный цикл, стирая самые внутренние скобки.
Формальный анализ естественных языков 285 Строка 6 получается с помощью правила B96) [при этом пра-> вило B9в) оказывается неприменимым в силу наличия вторич-* ного ударения на второй гласной]. Строка 7 получается приме- применением других фонетических правил. Рассмотрим, напротив, слово 1оггеп1 (поток). В нем, как и в 1огтеп1, второй гласной фонемой является /е/, ср. 1оггепИа1 .(поточный). Однако это слово не образовано, как 1бгтеп1, от глагола 1оггёп1. Следовательно, вторая гласная не получает главного ударения в первом цикле; поэтому правило B9в) ре- редуцирует ее в [I]. Таким образом, противопоставление редуци- редуцированной и нередуцированной гласных в 16гтеп1 — 16ггеп1 яв- является результатом различий в синтаксическом анализе. На- Начальное ударение в 16ггеп1 опять-таки является результатом применения правила B9а). То же самое правило, которое образует рёгтН и 1бгтеп1 из регтН и 1огтёп1, изменяет вторичное ударение конечного слога в глаголе ас!уоса1е (защищать) ['аебузкей] не третьестепенное, в результате чего правило редукции гласных B9а) редуцирует эту гласную в [*]. Таким образом мы получаем противопо- противопоставленную друг другу редуцированную и нередуцированную .гласные в существительном ас!уоса1е (защитник) ['аедуэк*!;] и в глаголе ас1уоса1е, так же как во всех других словах с суффик- сом-а!е. В точности те же самые правила определяют разли- различие между редуцированными и нередуцированными гласными в существительном сотрПтеп1, [...т!п1] (комплимент, привет) и в глаголе сотрНтеп! [...тёп!] (приветствовать) и в других ана- аналогичных случаях. Рассмотрим теперь слово сопйепзаНоп (конденсация). На одном из первых циклов мы приписываем главное ударение второму слогу глагола сопйепзе (сгущать) г На следующем цик- цикле правила применяются к форме сопйепваИоп как к целому, поскольку это следующая по величине составляющая. Суф* фикс -1оп всегда дает главное ударение на непосредственно предшествующем слоге, в данном случае на -а!е. Применение этого правила ослабляет ударение на слоге йепз до вторичного. Правило редукции гласных не применяется к „этой гласной, поскольку она защищена вторичным ударением. Следующее правило, имеющее достаточную степень общности, заменяет по- последовательность ударений XXI на 231, а правило приспособле- приспособления ударения дает окончательную последовательность 3414. г Та- Таким образом, результирующая форма имеет нередуцированный гласный во втором слоге с ударением четвертой' степени. Для сравнения рассмотрим слово сотрепзаИоп (компенсация). Вто- Второй гласной в этом слове является также фонема /е/ (ср. сот-
286 Н. Хомский, Дж. Миллер рёпза1огу, заменительный); однако она не получает ударения ни на одном из предшествующих циклов (поскольку сотрепза* Поп не является производным от сотрепзе, как сопйепзаИоп от сопйепзе). Поэтому она редуцируется в [*]. Таким образом, мы получаем противопоставление редуцированной и нередуциро- нередуцированной гласных под слабым ударением в паре сотрепза1юп — сопAепза11оп как автоматическое, хотя и не непосредственное следствие различий в структуре составляющих. В качестве последнего примера рассмотрим переплетение правил B9а) и B96) по мере усложнения синтаксических мо- моделей предложения. Ср. сочетания ^Нп'з ЫаскЬоагй егазег (Джонова тряпка для стирания с доски), зтаИ Ьоуз' зсЬоо! ,(в смысле зтаН зсЬоо1 Гог Ьоуз, маленькая школа для мальчи- мальчиков) и зтаП Ьоуз зсЬоо! (в смысле 5сНоо1 гот зтаИ Ьоуз, шко^ ла для маленьких мальчиков). Выводы для этих трех сочетав ний (после того как начальные циклы припишут главное уда-» рение словам) таковы: 1 111 I. 1. [^/ЛоЬп'з^^Ыаск Ьоагд]^ 1 12 1 2. [дгрЛоЬп'з [^Ыаск Ьоагй (Применяем правило B9а) к самой внутренней соста- составляющей и стираем скобки.) 1 13 2 3. [дгрЛоЬп'з Ыаск Ьоагй егазег}^. (Применяем правило B9а) к самой внутренней соста- составляющей и стираем скобки.) 2 14 3 4. ЛоЬп'з Ыаск Ьоагд егазег. (Применяем правило B96) и стираем скобки.) 2 1 1 II. 1. [^рЗтаИ [^Ьоуз' 1 1 2. [дгрзтаН Ьоуз' ]^^ (Применяем правило B9а) к самой внутренней соста- составляющей и стираем скобки.) 2 1 3 3. зтаИ Ьоуз' зсЬооЬ (Применяем правило B96) и стираем скобки.) 1 1 1 III. 1. [/Ллгр зшаИ Ьоуз]^ зсЬоо!]^. 2 1 1 2. [дг зтаП Ьоуз зсЬоо!]^. (Применяем правило B96) к самой внутренней соста- составляющей и стираем скобки.)
Формальный анализ естественных языков 287 з 1 2 3. 5та11 Ьоу8 5сЬоо1. (Применяем правило B9а) и стираем скобки.) 3 1 3 4. зтаН Ьоуз зсЬоо1. (На основе широко действующего правила, которое мы здесь не приводили.) Короче говоря, фонетическая запись высказываний, кото- которая на первый взгляд кажется весьма сложной и беспорядоч- беспорядочной, может быть порождена систематическим циклическим при- применением простых трансформационных правил, причем порядок применения этих правил определяется синтаксической струк- структурой высказывания. Поэтому разумно предположить, что именно эти правила лежат в основе порождения и восирнятия действительной речи. При таком допущении мы получаем впол- вполне правдоподобное объяснение того, почему носители языка единообразно и последовательно порождают и воспринимают новые высказывания со всеми этими сложными характеристи- характеристиками (не осознавая, конечно, всех происходящих при этом про- процессов и их фонетических последствий). Это дает возможность построить новую теорию восприятия речи, по которой устано- установление того, что наблюдаемое акустическое явление иредста- вляет собой звуковую последовательность с такими-то свой- свойствами, в какой-то мере требует определения ее синтаксической структуры (т. е. частичного ее понимания). Более обычная точ- точка зрения состоит в том, что мы определяем фонетическое и фонологическое строение высказывания, распознавая в звуко- звуковых волнах последовательность физических свойств, каждое из которых является определяющим свойством некоторой фонемы. Как мы уже пытались показать, эта точка зрения, основанная на требованиях линейности и инвариантности, является несо- несостоятельной. Можно представить себе устройство, распознающее предло- предложения (т. е. модель восприятия), которое включает в себя грам- грамматические правила, а также эвристический компонент, который должен опробовать входные предложения, извлечь из него не- некоторые ключевые признаки, соотносящие его с правилами, не- необходимыми для его порождения, и выбрать из альтернативных вариантов нужный путем последовательного приближения. При таком подходе нет оснований предполагать, что каждый сег- сегмент высказывания имеет определенное характеризующее его свойство или вообще что сегменты речи действительно обра- образуют последовательность. Далее, эта модель устраняет мало- малоправдоподобное допущение о том, что имеется одна граммати- грамматика для говорящего и другая для слушающего.
288 Н. Хомский, Дж. Миллер Такой подход к процессам восприятия неоднократно пред- предлагался в различных работах последнего времени (МасКау, 1951; Вгипег, 1958; На11е и 51еуепз, 1959, 1962; 51еуепз, 1960); что касается восприятия речи, то такая точка зрения в совер- совершенно отчетливой форме была предложена Вильгельмом фон Гумбольдтом (НитЬоШ, 1836). Ясно, что для развития этих идей необходимо изучать распознавание и понимание речи. На основе изучения ключевых признаков можно построить доста- достаточно обоснованную гипотезу относительно того, что является входом для устной речи человека; опираясь на эту гипотезу можно, далее, говорить о том, какую форму принимают выска- высказывания в мозгу человека. Все эти гипотезы могут быть прове- проверены в результате сравнения входов с представлениями, по- порождаемыми в мозгу; на основе таких сравнений гипотеза мо- может быть принята или может быть отвергнута (ср. с гл. 13, разд. 2). Хотя восприятие речи есть чрезвычайно сложный про- процесс, для нормального взрослого человека он является абсо- абсолютно естественным; при этом среди других сложных процессов досприятия он занимает особое место, поскольку в данном слу- случае мы находимся уже у истоков правдоподобной и точной по- порождающей теории, которая даст возможность понять органи- организующие принципы, лежащие в его основе. Л ИТЕРАТУРА Вег^е С, ТЬёопе с!е$ дгарЬез е1 зез аррНсаИопз, Рапз, Оипой, 1958. (Русский перевод: К. Б е р ж, Теория графов и ее применение, ИЛ, М, 1962.) В1осН В., А зе1 о? роз{и1а1ез !ог рЬопегшс апа1уз15, Ьап&иа&е, 24 A948), 3—46. В1осЬ В., Рпопегшс оуег1арртд, Ат. Зрееск, 16 A940), 278—284; Лооз М. (Ей.), КеасНпез т Нп^шзИсз, №азЫпд1оп, 1957, 93—96. В1 о с п В., 51исИез т со11<Х1ша1 Ларапезе IV: Рпопегтсз, Ьст^иа^е, 26 A950), 86—125; Лооз М. (Ей.) КеасНп^з т НпдшзИсз, \УазЫп^1оп, 1957, р. 329—348. Вгипег Л. 5., Кеига1 тесЬап1зтз 1п регсер11оп, 5 о 1 о т о п Н. С. С о Ь Ь 5., РепПе1с1 XV. (Ес1.), ТЬе Ъгат апс! Ьитап ЪеЬауюг, ВаШтоге, 1958, 118—143. С п о т з к у N.. Ьо^1са1 з!гис1иге о! Пп^и1з11с Шеогу, М1сго!Ит. Мазз. 1пз1. ТесЬ. Ь1Ьгагу, 1955. Спотзку Ы., ТЬгее тойеЬ !ог Ше йезспрИоп о! 1ап^иаде, 1КЕ Тгапз. оп 1п\огт ТНеогу, 1Т-2 A956), 113—124. (Русский перевод: Хомский Н., Три модели описания языка, Кибернетический сб. № 2, М, 1961, стр. 237—266.) Спотзку Ы., 5уп1ас1ю з1гис1игез, ТЬе На^ие, 1957. (Русский перевод: Хомский Н., Синтаксические структуры, сб. «Новое в лингвистике», вып. 2, 1962, стр. 412—527.) Спотзку Ы., ТЬе 1гапз!огтаИопа1 Ьаз1з о! зуп1ах, Н1П А. А. (Ей.), 1У-Ш Утуег. о! Техаз 5утр. оп ЕпдПзЬ апй зуп1ах, 1959 (иприЪПзЬес!).
Формальный анализ естественных языков 289 СНотзку N.. Оп 1Ье по1юп «ги1е оГ ^гаттег», ЛакоЪзоп Р. (Ей.) 51гис1иге о! 1апдиаде апй Из та1ЬетаИса1 азрес1з, Ргос. 12 5утр. т Арр. МаШ. РгоуМепсе, 1961, 6—24. (а); Ка1г Л., Ройог Л. (Ейз.), Кеайт^з т рЬПозорЬу о! 1ап^иаде, Ыеш Уогк, 1963. СЬотзку Ы., 5оте те1Ьойо1од1са1 гетагкз оп депегаИуе дгаттаг, ЧРогй, 17 A961), 219—239. (Русский перевод: Хомский Н., Несколько мето- методологических замечаний о порождающей грамматике, сб. «Вопросы языкознания», 1962, № 4.) * СЬотзку Ы., Ехр1апа1огу тойе1з т Нп&шзИсз, Ыаде1 Е., Зиррез Р., Тагзку А. (Ейз.), Ьод1с, Ме1Ьойо1о&у апй РЬПозорЬу о! Заепсе. Рго- сеейтдз о! 1Ье 1960 т1егпа1юпа1 сопдгезз, 51ап!огс1, 1962, 528—550 (а). Русский перевод: Объяснительные модели в лингвистике, сб. Матема- Математическая логика и ее применения, М., «Мир», 1965 г. 245.) СЬотзку Ы., ТЬе Ьо&1са1 Ьаз15 о! НпдшзИс Шеогу, Ргос. о! 1Ье 9-Ш 1п1. Соп^г. о! Ппёи151з, 1962, Ргерпгйз, СатЬпй^е, Мазз., 1962, 509—574 (б); Ка1г Л., Р о с1 о г Л. (Ейз.), КеасНпдз 1П рЬ11озорЬу о! 1апдиа^е, Ые\у Уогк, 1963. СЬотзку Ы., НаПе М., Ь и к о!! Р., Оп ассеп! апс1 з'ипс1иге 1п ЕпдПзЬ, Рог Йотап ЛакоЬзоп, ТЬе Надие, 1956. С и И к К., Оп зоте ах1отаИс 5уз1ет5 !ог !огта1 ^гаттагз апс! 1апдиа^езг М1теодгарЬес1, 1962. Т> а V1 з М., Сотри1аЬШ1у апс1 ипзо1уаЬШ1у, Ыеш Уогк, 1958. Н а 11 е М., 5оипс1 ра11егп о! Киз51ап, ТЬе На^ие, 1959 (а). НаИе М., ОиезИопз о! Пп^тзИсз, Миоуо С1теп1о, 13 A959), 494—517 (б); К а! 2 Л., Р о <3 о г Л. (Ейз.), КеаЙ1пдз т рЬ11озорЬу о! 1апдиаде, Ые>у Уогк, 1963. Н а 11 е М., Оп 1Ье го1е о! 51трПс11у 1П Пп^шз^с Йе5сг1р11опз, ЛакоЬзоп К. (Ей.), 51гис1иге о! 1ап^иа^е апй 11з та1ЬетаИса1 азрес1з. Ргос. о! 1Ье 12 5утр. 1п Арр. МаШ. РгоуЫепсе, 1961, 89—94. НаПе М., СЬотзку Ы., Зоипй раИегп о! Еп^ПзЬ (в печати). Н а 11 е М., 5 I е V е п з К. N. Апа1уз15 Ьу зуп1Ье515, Ргос. о! 1Ье зет1паг оп зреесЬ сот. апй ргойис1юп, АРСКС-ТК-59—198, 1959; Ка1г Л., Ройог Л. (Ейз.), КеаЙ1П^з 1п рЬПозорЬу о! 1априа^е, Ыеш Уогк, 1963. Н а 11 е М., 5 I е V е п з К- 1^., ЗреесЬ гесо^пШоп: а тойе1 апй а рго^гат !ог гезеагсЬ, ЩЕ (гапз. оп 1п]огт. Шеогу, 1Т-8 A962), 155—159. Нагг15 2. 5., О1зсоигзе апа1уз15, 1ап&иа&е, 28 A952), 1—30 (а); Ка1г Л., Ройог Л. (Ейз.), Кеайтдз 1П рЬПозорЬу о! 1ап^иа^е, Ые\^ Уогк, 1963. Нагг15 2. 5., О15соигзе апа1уз15: а затр1е 1ех1, Ьап§иа§е, 28 A952), 474—494 (б). Н а г г 1 з 2. 5., Со-оссиггепсе апй 1гапз!огтаИоп т Нп^и1з11с з1гис1иге, Ьап^и- а$е, 33 A957), 283—340; К а 12 Л., Ройог Л. (Ейз.), Кеай1п^з т рЬПозорЬу о! 1апдиа^е, Ыеш Уогк, 1963. НитЬо1й1 XV. уоп, ОЬег й1е УегзсЫейепЬе11 йез тепзсЬПсЬеп ЗргасЬЬаиез, ВегНп, 1836, Вопп, 1960. ЛакоЬзоп К., Р а п I С. О. М., НаПе М., РгеНттаг1ез 1о зреесЬ апа1уз15, ТесЬ. Кер. 13. Асоиз^сз ЬаЬога1огу, Мазз. 1пз1. ТесЬ., СатЬг1йде, Мазз., 1952. (Русский перевод: Якобсон Р., Фант Г. М., Халле М., Введение в анализ речи, сб. «Новое в лингвистике», вып. 2, М., 1962.) 3 а к о Ь з о п К., НаПе М., Рипйатеп1а1з о! 1апдиаде, ТЬе Надие, 1956. (Частичный русский перевод: Якобсон Р., Халле М., Фонология и ее отношение к фонетике, сб. «Новое в лингвистике» вып. 2, М., 1962.) Ка1г Л., Зегш-зегйепсез, Ка1г Л., Ройог Л. (Ейз.), "Кеайтдз т рЬПозорЬу оГ 1апдиаде, Ые^ Уогк, 1963. КгаН Ь. О., А йеу1се гот ^иап1^!у^пд, дгоир1пд апй сойтд атрШийе тойи- 1а1ей ри1зез, М5 1Ьез15, Оер1. Е1ес. Епд., Мазз. 1пз1. ТесЬп., 1949.
290 Н. Хомский, Дж. Миллер Ьеез К. В., КеУ1е\у оГ СЬотзку, «5уп1асИс зхтисхигез», Ьапдиаде, 33 A957), 375—408. Ьеез К. В., А ^гаттаг с? ЕпдПзЬ поттаНгаИопз, 5ирр1етеп1 {о «1п1ег- па{юпа1 Л. Ат. Нп&шзНсз», 1960. ЫЬегтап А. М., О е 1 а 11 г е Р., С о о р е г Р. 5., ТЬе го1е оГ зе1ес1ес1 зИ- ти1из уапаЫез \п 1Не регсерИоп о! ипуо1сей з1ор сопзопап1з, Лтег. ]. Р8уско1, 65 A952), 497—516. М а с К а у Т>. М., МшйНке ЪеЬауюг т аг1е!ас(з, ВгИ. /. РНпоз. Заепсе, 2 A951), 105—121. Мапйе1Ъго1 В., Оп гесиггеп! по1зе ПтШпд сойтд, Ргос. Зутрозшт оп тГогта1юп пе^огкз, Ро1у1есЬп1с 1пзШи1е оГ Вгоок1уп, 1954, 205—221. МаИ^е^з О. Н., Н1Aа15а зуп1ах, М1теодгарНес1, Мазз. 1пз1. ТесЬ., 1962. МсМШап В., Тшо ^пе^иа1Ше5 1трНес! Ьу ип^^ие AеарЬегаЬШ1у, ЩЕ ггапз. оп Щогт. Нхеогу, 1Т-2 A956), 115—116. МШег О. А., ЗреесН апс! соттип1са11оп., /. о/ асоиз. 8ос. Атег., 30 A958), 397—398. Оз&оос! С. Е., 5ис1 О. Л., ТаппепЬаит Р. Н., ТЬе теазигетеп! о! теаптд, 11гЬапа, 1957. Р о з 1 а 1 Р., 5оте зуп1асИс ги1ез 1п МоЬашк, РЬ. О., Оер1. о! АпШгоро1оду, Уа1е ип1УегзИу, 1962. Р о в I а 1 Р., СопзШиеп! апа1уз15, 5ирр1етеп1 1о «1п1егпаИопа1 3. Атег. Нп^и- 1511С5», 1964. К о & е г з Н., ТЬе ргезеп! 1Ьеогу оГ Тигтд тасЫпе сотри1аЬ1Шу, /. зос. тйизг. арр1. та1Н., 7 A959), 114—130. 5 а р 1 г Е., Зоипс! ра11егпз 1п 1апдиа^е, Ьап^иа^е, 1 A925), 37—51; М а п с1 е 1- Ьаат О. О. (Ей.), 5е1ес1ес1 ^гШпдз о! Ей^агй Зар^, Вегк1еу, 1949, 33—45. 8 а р 1 г Е., Ьа гёаН1ё р5усЬо1од^^ие скз рЬопётез, /. йе рзусНо1о§1е погта1е е1 ра1Но1о%1цие A933), 247—265; Мапс1е1Ьаитп В. О. (Ей.)» 5е1ес- 1ей шгШпдз о! Ейшагй 5ар1г, Вегкеку, 1949, 46—60. 8 а и 5 8 и г е Р. йе, Соигз Йе НпдшзШ^ие ^ёпёга1е, Раг15, 1916. 8 с Н а 12 С. О., ТЬе го1е о! сопТех! 1п 1Ье регсерИоп о! зЬрз, Ьап&иаде, 30 A954), 47. 8сНй12епЬегдег М. Р., Оп ап аррПса1юп о! зегп1-^гоир теШойз 1о зоте ргоЫетз 1П сой1пд, ЩЕ ггапз. оп Щогт Ньеогу, 1Т-2 A956), 47—60. 8 Ь а п п о п С. Е., СоттитсаИоп 1П 1Ье ргезепсе о! пемзе, Ргос. ЩЕ, 37 A949), 10—21. (Русский перевод: сб. Шеннон К., Работы по теории информации и кибернетике, Связь при наличии шума, ИЛ, М, 1963, стр. 433.) 31 е у е п з К. N.. Тошагй а тойе1 Гог зреесЬ гесодпШоп, /. асоизг. Зос. Атег., 34 A960), 47—55. 3^ее1 Н., А ЬапйЬоок оГ рЬопеИсз, Ох!огй, 1877. Трахтенброт Б. А., Алгоритмы и машинное решение задач, изд. 2, М, 1960. № а 11 а с е А. Р. С, Оп Ье1пд ]из1 сотрНса1ей епоидЬ, Ргос. Ыаг. Асай. Зс1> 47 A961), 468—464. Ъ\\\ Р., ЗетапНс Апа1уз15, Нпаса, Ыеш Уогк, 1960 (а). 1\{[ Р., Оп ипйегз!апЙ1пд «ипйегз1апйтд иИегапсез», АНтео^гарпей, 1960 (б); К а! г X, Ройог Л. (Ейз.), Неайт^з т рЬНозорЬу о\ 1ап^иаде, Ые^ Уогк, 1963. 2\[\ Р., АЬои! ип^гаттаИса1пезз, МшеодгарЬей, итуегзНу о\ Реппзу1- уаша; 1961.
Некоторые технические реализации
Математическая трактовка процесса принятия решения1) Т. Рихард Введение. Проблема математического моделирования Главной проблемой кибернетических исследований можно считать исследование информационных процессов, например дроцесса восприятия, информации, процесса обучения, процесс са мышления и т. д. Наряду с экспериментальным исследова^ днем этих процессов в рамках биологии, физиологии и т. д. имеют большое значение технические модели разных биологи^ веских явлений. Благодаря им можно исследовать системы по- понятий и величин, поддающихся измерению, которые возни- возникают в процессе изучения биологических явлений. С другой стороны, возможны чисто теоретические модели биологических процессов, в частности математические модели. Для целого ряда биологических явлений оказывается полез- полезным моделировать информационные процессы в надлежаще вы- выбранном автомате или машине (Тьюринг, а также Мак-Каллок д Питтс). «Эффективно конструктивную логику, т. е. интуцио- нистскую логику, лучше всего изучать в терминах теории авто- автоматов» (Дж. фон Нейман). Понятие «автомат» можно определить различными спосо- способами. Исследования, проводимые при помощи автоматов, в большинстве случаев имеют следующий характер. 1. Рассматривается конкретная задача, например, в рамках исчисления высказываний многократным применением трех ос- основных операций а\/6, а/\Ь, а образуется полином Р(хи ... ».., хп) от п переменных. 2. Ставится вопрос о том, можно ли определить автомат (например, машину Тьюринга) или, наконец, систему автома- автоматов, способную решить данную задачу. Имеются два различных вида постановки задачи. 1) К 1 с Ь а г <1 ТН., 2иг таШетайзсЬеп ВеНапс11ип§ ёез ЕгйзсЬеМшдзрго- геззез, КуЪегпеНк, 1 A962), Не!1 4, 131—138.
294 Г. Рихард 1. Задачи, которые окончательно решаются в рамках самой теоретической модели. 2. Задачи, для которых это решение, найденное в рамках модели, затем проверяется в зависимости от результатов не- некоторых экспериментов или наблюдений реальных процессов. Мы хотим на примере некоторой игры показать, в какой степени математическая модель может быть использована для изучения таких проблем. Для этого рассмотрим следующий эксперимент. Пусть дано игровое поле с 36 клетками, обозначаемыми }к (/=1, ..., 6; й=1, ..., 6). Имеются три фигуры: Л, О, П. Определяем правила игры, которые указывают возможности расположения трех фигур в клетках игрового поля. Ряд А, А П О Ряд А, Рис. 1. Шашечная игра для объяснения проблемы. Первое правило: фигура Л может находиться в любой клетке рядов Аи Л3, Аь, кроме случая, когда в одной из клеток этого ряда находится фигура О. В таком случае ряд, в котором находится фигура О, запрещен для фигуры Л. Второе правило: фигуру О можно ставить в клетки Ац9 > ^36, ^41, ^55» ^62- Третье правило: фигуру □ можно ставить в любые клетки. Расстоянием между двумя клетками мы называем коли- количество клеток, находящихся между этими двумя клетками, если идти сначала по строкам, а потом по столбцам (сами клетки при этом не считаются). Расстоянием й между двумя фигурами считаем расстояние между клетками, в которых они находятся. На приведенном рисунке расстояние й между фигурами □ и О равно трем. Четвертое правило: расстояние между фигурами □ и Д, а также между фигурами □ и О должно быть больше двух. Кроме того, даны два игрока, V и Р. Игроку V правила игры 1—4 незнакомы, игроку Р они известны.
Математическая трактовка процесса принятия решения 295 Игру проводят следующим образом. В качестве примеров V предъявляется ряд допустимых расположений фигур Д, О» П (ситуаций). Пусть Ко есть мно* жество предъявленных ситуаций. Рассматривая множество си- ситуаций Ко, игрок V может вывести некоторое множество 50 пра- правил игры, но при этом необязательно, чтобы множество правил «5о совпадало бы с правилами 1—4 (которые обозначим че- через Ь). Задача V — найти правила игры Ь. Для этого он может предложить игроку Р ряд вопросов следующего характера: «Могу ли я такую-то фигуру (например, О) поставить на та- такое-то поле (например, Аи)»у или кратко: «Могу ли я сделать такой-то ход». Если данный ход совместим с правилами Ь, то Р отвечает «да», в противном случае — «нет». При этом необ- необходимо еще учесть следующее. Если ход, например, «О на Л41», то Р может дать согласие только тогда, когда на расстоянии меньше 3 клеток от фигуры О (т. е. от Л41) нет фигуры П. На основании исходных позиций — множества Ко и выведен- выведенных из них правил 50 — игрок V производит первый опрос Р. Запас ситуаций, согласующихся с 50, обширнее, чем Ко (так как те уже опознаны как допустимые). Поэтому 50 состоит либо из одних верных правил, либо из верных и неверных вместе. В обоих случаях приходится образовать новые множества пра- правил игры 54, которые снова подразделяются на верные и невер- неверные правила. Игра закончена, если для некоторого п получается 5п = /,= 1, о чем и должен судить Р. Для игрока V существуют две принципиально различные стратегии, одну из которых можно называть индуктивным ме- методом, вторую — методом проб и ошибок. Опытное лицо, дей- действующее по первому методу, назовем У4, действующее по вто- второму, — У2. Опишем оба метода. Игрок У\ начинает игру одной из трех фигур и временно пренебрегает остальными. Пусть он начнет с фигуры П. Упро- Упрощенная до одной фигуры игра закончена, когда У4 установит третье правило Ь. После этого У\ пренебрегает фигурой □ и рассматривает только фигуру О . Эта игра закончится, как только У\ установит второе правило Ь. После этого У\ рассматривает фигуры □ и О вместе. Игра заканчивается нахождением четвертого правила Ь. Тогда на очередь встанут: фигура Д, фигура Д вместе с фигурой П, фигура Д вместе с фигурой О и в заключение все три фигуры вместе. Игрок Уг с самого начала рассматривает все три фигуры вместе. Для того чтобы отличие от У\ было более отчетливым,
296 Т. Рихард устанавливаем правило, что У2 должен во все время игры иметь на поле все три фигуры. Для У2 упрощение игры невозможно. Разница между игроками У4 и У2 заключается в стратегии постановки вопросов: в большинстве положений игры У2 не мо- может задавать игроку Р те вопросы, которые задает 1/4 (это верно даже тогда, когда у У4 на поле имеются все фигуры, так как У4 располагает другим объемом данных, чем У2). По поводу этой игры возникают два вопроса о стратегии игроков. 1. Оба ли игрока V]. и 1/2 способны расшифровать с по- помощью своей стратегии правила игры Ь, или это может только один из них, или ни один из них? 2. Если оба игрока могут расшифровать правила Ь, то ка- какой из 'них делает это меньшим числом вопросов, т. е. какая стратегия более выгодна? Заметим следующее: если игру можно закончить сопоста- сопоставлением перечня допустимых ситуаций,- то оба вопроса из- излишни, так как это может сделать и любая машина. Но так как суть дела составляет образование системы правил, кото- которые описывают целый ряд расположений (как, например, пра- правило 4), то на эти вопросы невозможно дать теоретический от- ответ (из-за их зависимости от игрока V). Дело в том, что эта игра представляет собой информационный процесс, а именно процесс обучения. Вопрос 2 не точен еще и потому, что нам не известно, следует ли считать более выгодной стратегию обу- обучения с наименьшим количеством вопросов или это не так. Это значит, что мы еще не располагаем мерой (критерием) эффек- эффективности определенного метода обучения. Исследование инфор- информационного процесса само является информационным процессом, и оно для кибернетики так же проблематично, как сам иссле- исследуемый информационный процесс. По этому поводу Мак-Кал- лок, говоря о сети нейронов, заметил, что в большинстве слу- случаев даже не удается поставить вопрос так, чтобы на него возможно было получить ответ. Поэтому очевидно, что пробле- проблему — каким методом браться за исследование информационных процессов — необходимо пытаться решить по методу проб и ошибок. Эта работа может иметь значение в перспективе иссле- исследования комплексных процессов принятия решения, т. е. про- процессов, в которых для принятия решения требуется переработка большого количества данных. Математическая статистика (по- (последовательный анализ, теория игр и т. д.) поставляет для не- некоторых процессов принятия решения поддающиеся оценке стратегии. Эти стратегии разрабатываются в рамках теории вероятностей и логически безупречны. Но суть дела в том, что есть такие процессы принятия решения, для которых недоста-
Математическая трактовка процесса принятия решения 297 точна одна только безупречность стратегий, поддающихся оценке (если они вообще возможны), а требуются такие стра- стратегии, целесообразность которых подтверждается эксперимен- экспериментом статистической природы. Простейший пример такого про- процесса принятия решения — прием (или исключение) ученика на основе оценки его работ. Для стратегии принятия решения в этом случае характерно то, что нет возможности численного определения риска. Поэтому невозможно включить в стратегию те критерии, которые свели бы средний риск к минимальному значению. Этот вид решений мы встречаем всегда, когда очень велик объем перерабатываемых данных. Вопрос о математическом подходе к принятию таких реше- решений становится методическим. Первая часть вопроса состоит в том, что необходимо выяснить, имеются ли закономерности, которым подчиняются принятия решения, если это решение принимает большой коллектив. Но для того чтобы получить возможность сбора таких опытных данных, мы вынуждены по- построить теоретическую модель, в рамках которой такой отбор данных станет возможен. Настоящая работа предлагает как раз такую модель. В терминах (описанной выше) игры из неко- некоторых исходных условий Ко выводится некоторое множество правил игры 50. Для этого в первой части описан автомат, способный принимать решения. Во второй части даны предпо- предпосылки для эмпирического исследования комплексных процессов принятия решения. I. Структура автомата, способного принимать решения 1. Определение автомата. Рассмотрим следующий вид авто- автомата: 1) Дано множество, состоящее из п+\ элементов A, 2, ... ..., п+\). Каждому элементу приписывается оценка б4, ... Л.., бп+1, при этом предполагаем, что О •< б;-< 1 для всех /=1, ..., п+1. Пусть эти оценки элементов являются функциями времени 6,=6,@. 2) В каждый момент времени выбирается один из этих эле- элементов (на рис. 2 стрелка 1 показывает, что выбран эле- элемент 3). 3) Пусть выбор одного из элементов осуществляется с ве- вероятностью, являющейся функцией всех оценок бь ..., бп+1. Если б есть оценка выбранного элемента, то вероятность
298 Т. Рихард /] ^ имеет вид где *) (У) <*, > 0) и п+г A) 2. Две интерпретации понятия автомата. а) Понятие автомата как источника информации. Пусть (п+1) элементов являются символами, а бь бг, ..., бп-н имеют характер относительных оценок (весов), приданных этим бук- буквам. Тогда автомат является источником информации (в смысле Шеннона), энтропия которого п + 1 = - 2 </, 1ой <0 1 в любой момент времени есть функция оценок всех символов б) Понятие автомата как анализатора. Пусть эти п+1 эле- элементов будут электрическими контактами, причем в любой мо- момент времени I потенциал на /-м контакте равен У^((). Кроме того, можем предполагать, что известна область значений в частности дано тах[У^(/)]. Если положить то автомат становится анализатором, который в каждый мо- момент времени с вероятностью, являющейся функцией потенциа- потенциалов, подает на выход один из потенциалов У4, ..., Уп+\. Выходом автомата (в зависимости от определения) назовем либо выбранный элемент, либо его оценку. 3. Зависимость оценок от времени. Зависимость оценок от времени обусловливает зависимость вероятности выбора опре* деленного элемента от времени. Полагаем, что изменение б/(/) происходит в дискретные моменты времени 1) При дальнейшем изложении употребляются логические знаки Л в(и), У=(или), кванторы (х) = (для всех х), (Ех) = (существует хотя бы одно х).
Математическая трактовка процесса принятия решения 299 Выбор элемента осуществляется в течение промежутка вре- времени Д^. Величина 6@ в качестве выхода автомата имеет, на- например, ход, отвечающий рис. 3. В последующем мы рассматри- рассматриваем автомат только в определенный момент времени 1\. Между 2 П Рис. 2. Вероятностный автомат с распределениями на входах и выходе 1 — Д/ и 1^ произведен выбор определенного элемента. В мо- момент 1ч происходит смена оценок. Через 6 обозначаем ту оценку, которая придается выбранному (между /4 — Д2 и г\) элементу Рис. 3. Ход распределений во времени. в момент и. Между 1У и /1 + Д2 происходит либо выбор вновь того же самого элемента, либо выбор одного из остальных п элементов, оценки которых обозначены бь • • •, 6„. Пусть й — вероятность того, что 2 и в дальнейшем останется иа элементе с оценкой 6, а йи ..., йп — вероятности переме- перемещения 2 на соответствующие из остальных п элементов. Тем са-
300 Т. Рихард мым отношение A) принимает вид 2 </, + </= Ь B) 4. Два возможных метода исследования, В первой части этой работы мы предполагаем описать структуру единичного автомата, т. е. рассмотреть распределение вероятностей для представляемого автоматом стохастического процесса. В прин- принципе для этого возможны два метода. 1) Установить полную систему аксиом, которой удовлетво- удовлетворяла бы одна-единственная функция й^ и построить явное вы- выражение дО=/^ F; 6ь ..., Ьп\ п) этой функции (аксиоматиче- (аксиоматический метод). 2) Исходить из некоторых аксиом, пригодных для описания структуры автомата, способного принимать решение. Среди всех функций, .удовлетворяющих этим аксиомам, выбирается функ< ция, которая в некотором смысле является простейшей. Этот ме- метод, которым мы пользуемся в дальнейшем, в отличие от пер- первого не является дедуктивным. 5. Аксиомы. Требования, которые мы хотим установить для функций й), следующие: I. Вероятностные постулаты: п 2) 2 Положим п а=1 — 2 1 II. Непрерывность: Для любого постоянного п функция й$ должна быть не- непрерывной по всем аргументам. III. Монотонность: Пусть для всех /= 1, 2, ..., п имеет место а) й$ — монотонно возрастающая функция от б^ при б Л бг = СОП51. б) й$ — монотонно убывающая функция от б при (/) F^ = ==сопз1). IV. Симметричность: Для всех пар (/, \)й\ преобразуется в й$ при перестановке аргументов бг и б^. Из этого следует, что если бг=б,;, то V. Эквивалентность: Два элемента (/, /) называются эквивалентными, если ^. Из IV следует, что два элемента эквивалентны, если
Математическая трактовка процесса принятия решения 301 1 = 8;. Значения их и й$ при этом еще остаются неопределен- неопределенными, так как они зависят от б. Но напрашивается следующий постулат эквивалентности: если Fу = 6) для всех у, то Aттт) для всеху'- Тогда VI. Постулат, который относится к равенству в 1B): п Вследствие III б необходимым условием для 2^=1» т. е. 1 для й = 0, является 6=0. Вследствие V это условие не может быть достаточным. Имеется несколько различных способов установления достаточ- достаточных условий. Наиболее жесткое условие 6^=1 для всех /. Мы потребуем, чтобы это условие было достаточным всегда, т. е. что должно существовать уравнение которое непременно удовлетворяется для (/)(8^ = 1) и которое является достаточным для 6. Определение вероятности перехода и проверка аксиом. Для первого определения ^ воспользуемся следующими обозна- обозначениями: а) Пг= V = 1 6) Р = Пду = д1д2... 6п По определению, лб/ + A— б) .., ' ' (для У=1, ...,«). C)
302 Т. Рихард А. Сначала рассмотрим случай л=1. Тогда единственное с1г определяется так: [2 —61 + б][61 + A—б!)] ~ 2-5, Здесь д?1 может быть больше 1 [например, для F=0 Л 61=1I. Поэтому мы исключаем случай п=\ и рассматриваем только ав- автоматы с «>2. (В терминологии электротехники можно была бы сказать, что мы рассматриваем только многополюсники, а не реле.) Б. Для случая п = 2 получаем б] Числитель D) имеет вид 2 + A+б)F1 + 62)-26. (б) Знаменатель D) имеет вид Постулат 1B) на основании E) и F) дает или -26-6162A-6162)<A+6)[1-F1 + 62) + 6162]. (8) Так как вследствие 1—62>61A—62), то в (8) в правой части стоит неотрицательная величина, а слева — вследствие 1 — 6162 ^0 — неположительная величина. Тем самым удовлетворен постулат 1B). Также удовлетворен по- постулат VI, так как в (8) равенство возможно только в случае равенства нулю обеих частей. Значит, 6 = 0 (левая часть) и 61 = 62= 1. В. Необходимо доказать постулат 1B) индукцией поя. При- Применяя обозначения а), ..., 6), имеем /25 + 0 — 5I11,+ ... +П„] Предполагаем, что выполняется , A0)
Математическая трактовка процесса принятия решения 303 ИЛИ П,+ ••• +П„-6(П1+ ... + ПЛ)< <A_Я+б)E+П) + лП. A1) На основании обозначений а), ..., б) имеем П,+ ... + П„ - яП = 6.П, + ••• +6ЛП„, A2) тем самым из A1) ... +ПЛ)< —5Я —ПЯН-65+6П. A3) Добавим еще один параметр бл+1. Покажем, что при предпо- предположении выполняется и л+1 2 <*/<!• A4) 1 Аналогично соотношению A3) имеем ПС = ПУA —бп+1) (у=1, 2, .... га), П*+, = П, + 6Пб(п;+ +п П-б(п;+ +п„) —6П< , A5) или (П* снова выражено через П) ... +б„П„-б(П1+ ... Ч-П„)]< — 6л+1 • П • Р — ПЯбп+1 + ПРЬ2п+1 + 65 + + 66л+1 + 6П-6Пбп+1. A6) На основании предположений индукции A6), очевидно, удо- удовлетворено тогда, когда умноженная на A—Ьп+1) правая часть A3) меньше или равна правой части A6). Произведение A — б„+1) на правую часть A3) составляет П — 8Р — ПЯ-4-65+6П — 6„+15 — 6П+1П Ьа+1ЗР+Ъп+1ПР-6я+1б5-Ьп+1Ш. A7) 21*
30$ Т. Рихард В этом выражении, а также в выражении правой части A6) имеются шесть одинаковых слагаемых, которые можно не учитывать, так что A4) вытекает из следующего неравенства: A8) или, если все члены расположить в левой части (и при этом объединить), считая слева члены B, 5, 11, 12); F, 13, 14); A, 4) и C, 7, 8, 9, 10): - 5/> A - 6„+1) - 6л+1 E + 1 - П - 5Я - 6Л+1Я)< 0. Это неравенство заведомо удовлетворяется, при условии что выражение в последних скобках !>0. Покажем это последнее» При имеем равенство. Для того чтобы показать, что последнее выражение в скобках A9) неотрицательно, достаточно подста- подставить 6п+1 = 1. Тогда для п = 2 получим Если то так как бл+1 [1 —F1 ... б^)] >0, а другие произведения, в которых появляется 6Л+Ь меньше или в крайнем случае равны соответствующим произведениям из предпосылок ин- индукции. Г. Требуется еще проверить постулат VI. п Пусть 2 аз=и тогда [см. (9)]
Математическая трактовка процесса принятия решения 305 ИЛИ = пП-\-3-\-П — РЗ — ЯП + 65-+6П. После некоторого преобразования имеем 61[П1 + Я-1]+ ... +Ьп[Пп±Р-]]-Щ\-Р] = } = 6[5 + П + П1+ ... + П„]. B0) Правая часть неотрицательна. Выражения вида [ГГ/ + Р— 1] все отрицательны (это легко доказать по индукции), поэтому вся левая часть B0) неположительна. Из уравнения B0) следует 6 = 0. Кроме того, должно выполняться условие что имеет место для 0^ = ... = 0п = Д. Постулаты 1A), II, Шб и IV выполняются. Постулат Ша легко доказать. Для постулата V получаем следующее: если (/) F^ = 6), то /гб + A — б)я 1 — 6" п1.6 — 6п В бинарном случае F=0\/ 1) постулат эквивалентности строга выполняется. В других случаях есть отклонение Д< 10%, по- этому мы считаем постулат практически выполненным. 7. Свойства вероятности перехода. 1. ^ = 0 тогда и только тогда, когда Сравним это свойство с постулатом VI. Там условие 6=0 тоже необходимо для й = 0, но условие (^)FУ=1) недостаточно.. Имеются более строгие условия для того, чтобы не мог по- появиться переход F —►б), чем для практической невозможности перехода (б-*6;). Тот элемент, на котором 2 находится перед, следующим переходом, в некотором смысле выделен по срав- сравнению с остальными.
306 Т. Рихард Рассмотрим следующий цифровой пример: пусть 6;. = 0,7 и 6 = ду^у = 0,2: а) п = 2, аГ,= 0,58, ^ = 0,16, </ = 0,26, б) п = 5, ^ = 0,38, ^ = 0,П, </ = 0,18, в) я =10, </;=0,23, ^ = 0,07, </ = 0,14. Во всех случаях, несмотря на б = 6у, всегда 2. Пусть 6у = 6=1, 6у^у любое. Тогда при #>2 имеем 1. /г Оценка 6; = 1 тем больше побуждает переход F->6;), чем «большее число элементов имеет оценки 6У^—^0. 3. Решим уравнение B1) тогда ^ = 0 для всех чф]. Из этих п—1 уравнений необ- необходимо следует 6V = 0 для всех V. Тем самым B1) запишем A-6) шли лF,—1) = 2Й, мз чего следует Ь 1 Л Сравним пункты 3 и 1. Имеются более строгие условия для того случая, когда практически достоверно переход (б —* б^) должен происходить, чем для того, когда практически достовер- достоверно (б —>дэ) не происходит. П. Исходные идеи для описания комплексного процесса принятия решения Применим разработанную в разд. I структуру к процессу •принятия решения. В какой степени определенная в п. 6 фор- формулой C) вероятность перехода описывает или не описывает принятие решения большим коллективом решающих субъектов, существенно зависит от исследования практических процессов принятия решения, для чего необходимы статистические данные, полученные при использовании описанной здесь модели. Мыс- Мыслимы различные структуры автомата, подчиняющиеся усло- условиям 1, 3 разд. I. Мы ищем такую структуру, которая в приме-
Математическая трактовка процесса принятия решения ЗОТ нении к процессу принятия решения имела бы наиболее про- простую математическую формализацию. В процессе принятия решения всегда имеется некоторая сте- степень недостоверности результата. В качестве меры этой недо- недостоверности Шеннон, Винер и др. предложили энтропию Некоторые новые статистические теории (например, последова- последовательный анализ, теория игр) дали количественные методы для: принятия решения. Есть проблемы принятия решения, в которых, риск, связанный с принятием решения, поддается измерению. Тогда для этих проблем стратегия при.нятия решения заклю- заключается в сведении риска к минимуму. Хотя эти теории и имеют то преимущество, что они логически безупречны, но они охваты- охватывают только небольшую часть проблем принятия решения. При- Примером стратегии принятия решения, при которой риск не под- поддается измерению, является допущение или удаление ученика на основе его работ. Методика, которая основана на шкале оце- оценок и критическом уровне, произвольна, так как она отражает мало объективного. Мы принимаем ее на основе статистического опыта, а не по логическим причинам. 1. Характеристика процесса принятия решения. Под реше- решением можно подразумевать вызываемые им действия. Если я от Л иду к В, а не к С, то принятие решения заклю- заключается в переходе из известного состояния (а именно быть в А} в другое состояние (а именно быть в В). Решения: 1) не купить автомобиля; 2) купить автомобиль типа А\ 3) купить автомобиль типа В— ведут к переходам сле- следующего вида: не иметь автомобиля —* не иметь автомобиля; не иметь автомобиля —>иметь автомобиль типа Л; не иметь автомобиля —* иметь автомобиль типа В. Вопрос о том, от каких параметров зависит принятие решения,, можно подразделить на два вопроса: 1) Какие параметры характеризуют состояние? 2) Какие критерии применимы для перехода из одного со- состояния в другое? 1. Множество параметров, характеризующих состояние, сле- следует подразделить на множество (г4, ..., гп) параметров, под- поддающихся измерению, и множество параметров, не поддающих- поддающихся измерению (субъективные параметры). Влияние субъектив- субъективных параметров состоит в том, что приходится вводить в рассмо- рассмотрение вероятности перехода из одного состояния в другое.
308 Т. Рихард 2. Существенное свойство процесса принятия решения со- состоит в том, что для перехода из одного состояния в другое не- необходимо учитывать не только старое и новое состояния, но и все другие состояния, переход в которые был бы возможен. Принятие решения является выбором из множества состояний, причем сделанный выбор является функцией всех состояний. Фундаментальную структуру автомата определяет: а) вероят- вероятность перехода из одного состояния в другое и б) зависимость этой вероятности от всех состояний. Поэтому при выборе кри- критерия перехода из одного состояния в другое естественно при- принять за основу структуру самого автомата, тем более, что все элементы автомата приспособлены для реализации процесса принятия решения. Допустим на мгновение, что любое состояние можно охарак- охарактеризовать одним-единственным числом. Пусть для состояния, предшествующего принятию решения, имеем я для п состояний /= 1, ..., /г, « которые возможен переход, Вероятность принятия решения, т. е. вероятность перехода «F—*б;), определяется функцией перехода, определенной выше: п обозначает вероятность перехода (б —> б). Процесс принятия решения, т. е. серия проведенных после- последовательно решений, может осуществляться либо единичным автоматом с зависящей от времени оценкой б^(/), либо систе- системой автоматов с постоянной оценкой. Если в качестве примера рассмотреть шесть состояний с оценками 61, ...., бе, то процесс принятия решения с двумя решениями Е^ и Е2 можно изобра- изобразить в соответствии с рис. 4. 2. Оценка параметров. Покажем метод, по которому одним- -единственным числом можно характеризовать состояния с под- поддающимися измерению параметрами. Имеют место следующие предпосылки: 1. Совокупность всех значений (параметрическое простран- пространство), которое может принять любой из параметров г4, ..., гп, является подмножеством множества действительных чисел,
Математическая трактовка процесса принятия решения 309" 2. Параметрическое пространство каждого параметра из- известно. Пусть Ях — параметрическое пространство для гх. Теперь разобьем Кх на три подмножества Ях, Ях1 и #°х, определяе- определяемые следующим образом. Мы не знаем заранее, как, напри- например, гх = 250 или Гас = 310 отражаются на метрической характе- характеристике состояния, тем более что в большинстве случаев возможны только вероятностные высказывания относительно* Рис. 4. Символическое изображение процесса принятия решения как по- последовательной схемы автоматов с независимыми от времени распреде- распределениями. действительного значения гх. Поэтому мы вынуждены рассма* тривать влияние совокупности значений гх на состояние. Про- Простейшим предположением было бы разбиение параметрическога пространства на два подпространства^, Нх > причем можно отождествить с высказыванием «значение гх благоприят- благоприятно для данного состояния», а 1 ' B> — с высказыванием «значение гх неблагоприятно для данного состояния». Расширением этого является разбиение на три под- подмножества, где к импликациям A) и B) добавляется еще с приблизительным высказыванием «значение гх для данного со- состояния индифферентно, т. е. ни благоприятно, ни неблагоприят- неблагоприятно». Все значения тх внутри каждого подмножества идентифи- идентифицируются по отношению к численной характеристике состояний.. Поэтому напрашивается следующая оценка, взятая из трехзнач- трехзначной логики: Гх — О, если Гх^Ях, гх=\, если г; гх = — 1, если г^ (*>
310 Т. Рихард Если обозначить через Р°, р\, рх1 вероятности трех собы- событий (*), причем то математическое ожидание оцениваемого параметра является случайной величиной, зависящей от событий (*) и определяем мой по формуле ех=А Имеем Хаждому множеству (гь ..., гп) параметров сопоставлена упо рядоченная последовательность (еь ..., еп) средних зна чений. 3. Функция состояния. Можно численно охарактеризовать со стояния с помощью функции где Аксиомы, которым должно удовлетворять бп, следующие. I. Оценка параметров произведена таким образом, что с воз- возрастанием вое влияние параметра на состояние увеличивается. Однако влияние возрастающего параметра может компенсиро- компенсироваться убывающим параметром, и так как мы хотим предполо- предположить, что все параметры равноценны по отношению к поддаю- поддающейся измерению характеристике состояния, то необходимо по- потребовать, чтобы €ыла однозначной непрерывной монотонно возрастающей функ- дией от п / 1 6^ = 8. 1 II. Наиболее неблагоприятный случай Это условие должно быть необходимым для тождества 6 — (—лг, I это условие является и достаточным). III. Аналогично II в наиболее благоприятном случае
Математическая трактовка процесса принятия решения 311 имеем Ь(п\ п)— 1. IV. Пусть влияние индифферентных параметров гх, т. е. тех,, для которых езс = О, будет таково, что значение бп не меняется при добавлении или опускании любого количества индиффе- рентных параметров: б(е; п-\-\) = Ь(г; п) при V=1, 2, ... для любого значения е. Из этого постулата следует, что метрическая характеристика; независима от я, и наоборот. Хотя эта система аксиом изобра- изображает минимум приемлемых априори аксиом, она не свободна от противоречий. Доказательство. Пусть е = —п. Согласно IV, имеем б(—п\ п+\)=Ь(—п\ п). Согласно II, б(—/г; /г) =0, а не б(—п\ п + \), так как 2е^== — п для \=\, 2, ... отлична от 1 — (п+\). Постулаты II и IV взаимно противоречивы. Но аксиома IV является прямым логическим следствием оценки параметров, поэтому ее необходимо сохранить. Кроме того, в области е < 0 нет необходимости в хорошей дискрими- дискриминации. Поэтому можно было бы принять функцию, асимптоти- асимптотически стремящуюся к 1 (при подходящем значении гс), так как. мы получили бы функцию состояния, отвечающую рис. 5. Хотя Рис. 5. Функция состояния, у которой диапазон значений зависит от коли- количества оцениваемых параметров. эта функция и удовлетворяет постулату IV, но область значе- значений б(е) вследствие —я ^ е ^С я зависима от п. Однако во* многих практических задачах сравниваются только состояния с одинаковым количеством оцениваемых параметров. Выше упо- упомянутые затруднения приводят к предположению, что теория ограничивается этими случаями. Тем самым в области е>0 получаем три следующие принципиальные дискриминации:
312 Т. Рихард а) начиная с определенного значения е = е* > 0, требуется линейная дискриминация, т. е. прирост 6(е + Де) — 6(е) должен не зависеть от е для Де=сопз1; б) прогрессивная дискриминация: 6(е + Де)—6(е) возрас- возрастает для Де = сопз1 (при е —* п); в) линейная дискриминация в определенной области е* С е** и асимптотическое поведение после е**. Ш и с. 6. Различные функции состояния для случая, когда все конкурирую- конкурирующие состояния имеют одно и то же число оцениваемых параметров. ш — линейная дискриминация; б — прогрессивная дискриминация; в — линейная дискримина- дискриминация при е*<е-<е** и асимптотическое поведение при е** < е. Для каждой из трех дискриминаций имеются априорные при- причины, но выбор одного из трех типов функций нуждается в ис- исследовании практических комплексных задач. 4. К экспериментальной проверке теории. Приведенные до «их пор теоретические рассуждения служили прежде всего для жыработки подходящей методики описания экспериментов при шучении стратегии принятия решения большим коллективом. Лри этом с самого начала стоит вопрос о том, должны ли такие жсперименты состоять в оценке статистических данных о ре- решениях, принятых в конкретной обстановке, или возможно при- швтие решения коллективом субъектов, стоящих перед модель- й ситуацией? Возникает вопрос, в какой мере закономерности втором случае могут быть принципиально отличными от за- номерностей первого случая, так как во втором случае нет фюбходимости непосредственно затрагивать жизненные инте- интересы субъектов? Проблема экспериментальной проверки теории % рассмотрена в другой статье.
СОДЕРЖАНИЕ Математические вопросы С. П и к а р. О базисах симметрической группы. Перевод Е. Ю. Захаровой 7 Дж. Мак-Вильям с. Перестановочное декодирование систематических кодов. Перевод И. И. Грушко 35 Э. Гилбе.рт. Циклически перестановочные самокорректирующиеся коды. Перевод Е. Ю. Захаровой 58 Э. М у р. Задача о синхронизации цепи стрелков. Перевод В. Л. Мур- ского 76 С. Джонсон. Оптимальное расписание для двух- и трехступенчатых процессов с учетом времени наладки. Перевод Н. Н. Родман 78 П. У а й н д л и. Деревья, леса и переупорядочение. Перевод Н. Б. Де- мидовича 87 Вычислительные машины и программирование Дж. А м д а л ь, Дж. Б л о у, Ф. Брукс. Архитектура системы 1ВМ-360. Перевод А. И. Илюшина 101 У. Картер, Г. Монтгомери, Р. Прейсс, Г. Рейнхеймер. Про- Проектирование свойств эксплуатационной надежности для системы 1ВМ-360. Перевод Ю. М. Банковского 137 П. Кейс, Г. Графф, Л. Гриффит, А. Ле-Клерк, У. Мерли, Т. С п е н с. Автоматизация проектирования вычислительных систем с использованием логических схем на твердом теле. Перевод А. И. Илюшина, А. А. Карлова 162 К. М а л и н г, Е. А л л е н. Автоматизированное обслуживание вычисли- вычислительных машин (машинная организация и программная система). Перевод В. К. Смирнова 191 Л. Кальмар. О цифровой вычислительной машине с программирова- программированием посредством формального математического языка. Перевод И. И. Глебова 215
314 Содержание Математическая лингвистика Н. X о м с к и й, Дж. Миллер. Введение в формальный анализ естествен- естественных языков. Перевод Е. В. Падучевой 229 Некоторые технические реализации Т. Рихард. Математическая трактовка процесса принятия решения. Перевод Э. Л. Шапиро 293 КИБЕРНЕТИЧЕСКИЙ СБОРНИК Новая серия Выпуск I Редактор Г. М. Ильичева Переплет художника В. Е. Вольф. Художественный редактор В. И. Шаповалов Технический редактор Л. П. Кондюкова Сдано в производство 16/У1 1965 г. Подписано к печати 13/Х1 1965г. Бумага 60х9071в=9,98 бум. л., 19,95 печ. л., в т/ч 1 вкл. Уч.-изд. л. 17,71. Изд. № 1/3375. Цена 1 р. 39 к. Зак. № 1622 (Темплан 1965 г. изд-ва «Мир», пор. № 6) ИЗДАТЕЛЬСТВО «МИР», Москва, 1-й Рижский п&р., 2 Ленинградская типография № 2 имени Евгении Соколовой Главиолиграфпрома Государственного комитета Совета Министров СССР по печати. Измайловский проспект, 29.
ИЗДАТЕЛЬСТВО «МИР» готовит к выпуску в 1966 г. следующие книги по математике: Б е р с Л., Джон Ф., Ш е х т е р М., Уравнения с частными производными. Нью-Йорк, 1964, перевод с английского, 20 изд. л., цена 1 р. 70 к. Бодевиг Э., Матричное исчисление. Амстердам, 1959, 2-е издание, сокращенный перевод с английского, 16 изд. л., цена 1 р. 40 к. Д а н ф о р д Н., Ш в а р ц Д ж. Т., Б е й д У. Г., Б а р т л Р. Г., Линейные операторы. Часть II. Самосопряженные операторы в гильбертовом пространстве. Нью-Йорк — Лондон, 1963, пере- перевод с английского, 60 изД. л., цена 4 р. 50 к. К а р р Ч., Хоув Ч., Количественные методы принятия ре- решений в управлении и экономике. Нью-Йорк, 1964, перевод с английского, 25 изд. л., цена 2 руб. Кибернетический сборник. Новая серия. Вып. 3, вып. 4, по 12 изд. л., цена каждого сборника 1 руб. Ко пеон Э., Асимптотические разложения. Кембридж, 1965, перевод с английского, 6 изд. л., цена 65 коп. К о ф м а н А., Ф о р Р., Займемся исследованием операций. Париж, 1963, перевод с французского, 18 изд. л., цена 1 р. 60 к. Куратовский К., Топология. Том I. Перевод с руко- рукописи нового английского издания, 40 изд. л., цена 3 р. 10 к. Мак-Лейн С, Гомология. Берлин — Гёттинген — Гей- дельберг, 1963, перевод с английского, 25 изд. л., цена 2 руб. Математические проблемы в биологии. Под ред. Р. Беллмана. Провиденс (США), 1962, перевод с английского, 12 изд. л., цена 1 р. 10 к. П р а х а р К., Распределение простых чисел. Берлин — Гёт- Гёттинген— Гейдельберг, 1957, перевод с немецкого, 25 изд. л., цена 2 руб. Ренделл Б., Рассел Л., Реализация АЛГОЛ-60. Лон- Лондон — Нью-Йорк, 1964, перевод с английского, 22 изд. л., цена 1 р. 80 к. Рудин У., Основы математического анализа. Нью-Йорк, 1964, 2-е, переработанное издание, перевод с английского, 18 изд. л., цена 1 р. 50 к. Фор Р., Ко ф м а н А., Д е н и - П а п е н М., Современная математика. Том I. Париж, 1964, перевод с французсЛго, 12 изд.. л., цена 1 р. 10 к. Форд Л., Фалкерсон Д., Потоки в сетях. Принстон, 1962, перевод с английского, 12 изд. л., цена 1 р. 10 к.