Текст
                    ДЖ.ФОН НЕЙМАН
ТЕОРИЯ
САМОВОСПРОИЗВОДЯЩИХСЯ
АВТОМАТОВ

ДЖ. ФОН НЕЙМАН ЗАКОНЧЕНО И ОТРЕДАКТИРОВАНО А. БЁРКСОМ THEORY OF SELF-REPRODUCING AUTOMATA JOHN VON NEUMANN edited and completed by ARTHUR W. BURKS UNIVERSITY OF ILLINOIS PRESS URBANA AND LONDON 196 6
ТЕОРИЯ САМОВОСПРОИЗВОДЯЩИХСЯ АВТОМАТОВ Перевод с английского В. л. СТЕФАНЮКА Под редакцией В. И. ВАРШАВСКОГО ИЗДАТЕЛЬСТВО «МИР» МОСКВА 1971
УДК 519.95; 577.9 Исследования одного из крупнейших математиков современ- ности Дж. фон Неймана по теории самовоспроизводящихся автома- тов представляют один из существенных этапов формирования этой теории. Работы, включенные в этот том, находились в рукописях и до сих пор были известны лишь по их изложению и по отдельным статьям, навеянным личным знакомством с автором и его руко- писями. Издание настоящей книги, безусловно, будет стимулировать другие работы в этом направлении. Она будет полезна математи- кам — специалистам по теории автоматов и сложных систем, а также биологам, инженерам и широкому кругу лиц, интере- сующихся развитием идей кибернетики. Редакция литературы, по математическим наукам Инд. 2-2-3 15—71
ОТ РЕДАКТОРА ПЕРЕВОДА В сентябре 1962 г. на Международном симпозиуме по теории релей- ных устройств и конечных автоматов канадский профессор Г. Глин- ский сказал по поводу статьи Дж. фон Неймана «Вероятностная логи- ка и синтез надежных организмов из ненадежных компонент»: «Есть одна опасность в обращении с классическими работами. Кажется, что на них все ссылаются, но редко кто их действительно читает. Это приводит ко всевозможным недоразумениям. В случае статьи фон Неймана эти недоразумения еще более усугубляются его трудной манерой изложения». Сказанное в полной мере можно отнести к предлагаемой вниманию советского читателя книге Дж. фон Неймана «Теория самовоспро- изводящихся автоматов». В течение почти 10 лет многие авторы ссы- лались на результаты, полученные фон Нейманом в области моделей самовоспроизведения, зная об этом в лучшем случае по упоминанию об этих результатах в работах А. Бёркса и К. Шеннона. А. Бёркс, редактор этой книги, не только подготовил к печати черновые записи Дж. фон Неймана, но и закончил его работу, завер- шив конструкцию самовоспроизводящегося автомата и придав книге законченный вид. В связи с этим мне хочется процитировать профес- сора Честера Ли: «Громадная работа по расшифровке рукописи и выяснению скрытых мотивов, которыми руководствовался один из наиболее блестящих и оригинальных умов, была предпринята профессором Бёрксом из Мичиганского университета. Он не только отредактировал рукопись, но и внес в нее много собственных идей и в то же время прояснил тот лабиринт отрывочных рассуждений, который характерен для рукописи Дж. фон Неймана. Все, кто работают в области клеточных автоматов, глубоко обязаны профес- сору Бёрксу за его неутомимые усилия в завершении рукописи и за его старания сделать труд Дж. фон Неймана по-настоящему понят- ным и доступным». От редактора перевода 5
Артур Бёркс является одним из ведущих специалистов в области теории логических сетей и конечных автоматов. Опубликованная им совместно с Дж. Райтом в 1953 г. статья «Теория логических сетей» (переведена на русский язык в 1962 г., Кибернетический сборник, вып. 4) явилась одной из первых работ, сформировавших современ- ную теорию автоматов. Научные интересы Бёркса очень широки — от формальной логи- ки и теории автоматов до проектирования вычислительных машин, включая вопросы построения адаптивных систем, организацию взаимодействия вычислительных машин, моделирование естествен- ных систем. С 1967 г. он возглавляет факультет вычислительной техники и теории связи Мичиганского университета. В течение многих лет А. Бёркс был одним из ближайших сотруд- ников Дж. фон Неймана, поэтому трудно представить себе более подходящую кандидатуру для завершения работы, начатой Дж. фон Нейманом. Огромный труд, проделанный Бёрксом, позво- ляет считать его соавтором книги. Специально для русского издания А. Бёркс написал предисловие и прислал ряд исправлений. Мы весьма признательны ему за эту любезность. Содержания самой книги и идей, лежащих в основе ее построе- ния, мы не касаемся, отсылая читателей к введению. Ленинград В. ВАРШАВСКИЙ
ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ В настоящей книге поставлен и решен отнюдь не очевидный воп- рос о том, какого рода логическая организация достаточна для того, чтобы некоторый автомат был способен воспроизводить себя. Этот вопрос объединяет понятия из различных областей: биохимии, тех- ники, логики. Он очень важен для нового (возникшего примерно в 1948 г.) направления — теории автоматов, или кибернетики. Глав- ными создателями этого направления были Джон фон Нейман и Нор- берт Винер. Хотя они и находились под взаимным влиянием, но все же их подходы и интересы были различными. Фон Нейман назвал свой вариант «теорией автоматов», а Винер — «кибернетикой». Теория автоматов — это наука об основных принципах, общих для искусственных автоматов (цифровые вычислительные машины, аналоговые вычислительные машины, управляющие системы) и есте- ственных автоматов (нервная система человека, самовоспроизводя- щиеся клетки, организмы в эволюционном аспекте). Я изложил концепцию фон Неймана во второй части моего введения к настоя- щей книге и показал там, каким образом возникает логическая проб- лемна самовоспроизведения. В планы фон Неймана входило создать систематическую теорию, математическую и логическую по форме, которая упорядочила бы понятия и принципы, касающиеся структуры и организации есте- ственных и искусственных систем, роли языка и информации в таких системах, программирования и управления такими системами. Теория автоматов лежит на стыке разных дисциплин, объединяет различ- ные подходы (с точки зрения логики, теории связи, физиологии), но в конце концов ей предстоит стать отдельной самостоятельной дис- циплиной. Так как кибернетика Винера уже хорошо известна в Советском Союзе, то здесь уместно будет остановиться на ее связи с теорией автоматов. В кибернетике основное значение придается следящим Предисловие к русскому изданию 7
системам и непрерывной математике (анализу), а в теории автома- тов основную роль играют цифровые вычислительные машины и дис- кретная математика (комбинаторика и логика). Это отличие касает- ся, однако, только подходов и акцентов. Винер'®понимал важность цифровых вычислительных машин для кибернетики, а фон Нейман хотел расширить сферу теории автоматов, чтобы включить в нее не- прерывные механизмы. Он предполагал построить непрерывную модель самовоспроизведения, основанную на нелинейных дифферен- циальных уравнениях в частных производных, описывающих диффу- зионные процессы в жидкости. В этой связи интересно отметить, что фон Нейман получил не только математическое образование, но и подготовку инженера-химика. Винер подчеркивал роль понятия обратной связи, поскольку понимал его важность как для управления, так и для целенаправ- ленного поведения. Фон Нейман сравнительно мало говорит об об- ратной связи, но фактически использует это понятие в большей части того, что им сделано. Все вычислительные машины, кроме разве самых примитивных, имеют обратную связь: она проявляется как наличие схемных циклов в неизменяемой части машины и как ветвле- ния и условные инструкции в ее перестраиваемой части. И кибернетику, и теорию автоматов вызвал к жизни технический прогресс, главным образом успехи, достигнутые в области элек- тронных цифровых машин. Практические последствия этого амери- канского изобретения хорошо известны, но о его влиянии на теорию говорилось мало. Я имел счастье лично участвовать в создании вы- числительных машин как в практическом, так и теоретическом пла- нах, благодаря чему мог наблюдать, как техника стимулировала развитие теории. Я был одним из главных конструкторов машины ENIAG — первой электронной вычислительной машины. Позже я сотрудничал с фон Нейманом и другими при разработке машины EDVAG, а потом работал с ним же над схемой вычислительной машины Института перспективных исследований. Основываясь на этом своем опыте, я попытался во введении пока- зать, как практическая работа фон Неймана с вычислительными машинами послужила основой для его теоретических исследований. Что такое самовоспроизведение в какой-нибудь естественной си- стеме, такой, как живая клетка, всем понятно. Этот вопрос в послед- нее время интенсивно изучали биологи, биохимики и генетики и получили замечательные, далеко идущие результаты. Разговор о са- мовоспроизведении искусственной системы, такой, как цифровая вычислительная машина, или даже о «логике» самовоспроизведения на первый взгляд кажется странным. В самом деле, между пробле- мой понимания самовоспроизведения естественной системы на гене- тическом и биохимическом уровнях и логической, автоматно-теоре- тической проблемой самовоспроизведения, сформулированной Предисловие к русскому изданию 8
фон Нейманом, существует глубокое различие. Я сейчас постараюсь показать, что это различие не столь велико, как кажется. Для этого я сделаю краткий обзор основных результатов части I («Теория и организация сложных автоматов») и части II («Теория автоматов: конструирование, воспроизведение, однородность») настоящей книги. Рассмотрим идеализированную синхронную цифровую вычисли- тельную машину, сконструированную только из переключательных элементов (например, «и», «или» и «нет») и линий задержек (задер- живающих импульсы на 1 единицу времени). Такая вычислитель- ная машина представляет собой конечный автомат, имеющий конеч- ное число частей и конечное число состояний. Входом пусть служит узел ленты, который, получая соответствующую команду от вычис- лительной машины, перемещает свою ленту на ячейку вперед и кото- рый может считывать для вычислительной машины содержимое про- сматриваемой ячейки. Аналогично выходом пусть будет другой узел ленты, способный производить записи в ячейку своей ленты и пере- мещать эту ленту вперед, получая соответствующий сигнал от вычис- лительной машины. Таким образом, у нас получился конечный автомат с входным и выходным узлами ленты. Такой конечный автомат можно превра- тить в машину Тьюринга, присоединив к нему третий узел ленты, способный перемещать ленту в обоих направлениях, считывать с лен- ты и записывать на нее. На основе подходящего конечного автомата, от которого не требуется слишком большая сложность, мы получили универсальную вычислительную машину, способную осуществить любое вычисление, которое можно выполнить на какой-то вычисли- тельной машине. Любая неспециализированная вычислительная машина, снабженная достаточным количеством ленты, представляет собой универсальную вычислительную машину. Имея достаточные сведения о биохимии процесса самовоспроиз- ведения клетки, можно было бы промоделировать его на универсаль- ной вычислительной машине. Хотя наука близка к тому, чтобы осуще- ствить реальное моделирование самовоспроизведения, она еще не вполне готова к этому и, безусловно, была далеко от этой цели в 1948 г. Так или иначе, фон Нейман всегда старался использовать идеи, возникшие в биологии, для обогащения теории автоматов. В классе описанных выше идеализированных вычислительных машин центральная вычислительная машина, т. е. конечный авто- мат, синтезировалась из частей, чего нельзя сказать о входном и вы- ходном узлах ленты, а также об узле ленты, предназначенном для запоминания. Более того, внешняя среда для этой машины никак не была представлена. Кинематическая модель самовоспроизведе- ния, принадлежащая фон Нейману, должна была явиться элементом теории автоматов этого рода. Эта модель занимает центральное место в части I настоящей книги Предисловие к русскому изданию 9
Фон Нейман вначале рассматривал два типа основных элементов автомата, о которых мы уже говорили. Это переключательные эле- менты и линии задержки. Затем он ввел еще пять типов основных элементов: элемент, способный к восприятию (например, способный видеть или чувствовать); элемент, осуществляющий действие (напри- мер, искусственная рука); элемент, способный разделять другие элементы; элемент, способный соединять предметы; и, наконец, стер- жень, позволяющий построить жесткий каркас для ансамблей эле- ментов. В принципе из всех этих элехментов можно построить автомат, спо- собный не только вычислять, но и воспринимать, действовать, пере- мещать, отделять предметы друг от друга и конструировать другие автоматы. Внешнюю среду для этих идеализированных кинематиче- ских автоматов можно представлять себе в виде безбрежного океана, по поверхности которого плавает неограниченное число экземпляров основных элементов каждого типа. Это переключательные элементы, чувствительные органы, органы действия, разделяющие органы, объединяющие органы и стержни — все они совершают случайное движение, как молекулы газа. Таким образом, каждый автомат, помещенный на поверхность этого океана, снабжается частями в не- ограниченнОхМ количестве. Весь процесс кинематического самовоспроизведения осущест- вляется следующим образом. Вообразите, что на поверхности нашего океана плавает кинематический автомат, представляющий собой конечный автомат Ми, соединенный с лентой Т. Основу этой ленты составляет зигзагообразная цепочка из стержней, причем в каждом пересечении можно поместить еще один стержень, символизирую- щий 1; отсутствие такого стержня будет символизировать 0 (см. рис. 2) г). Конечный автомат Ми обладает возможностями конечной части универсальной вычислительной машины — он может управ- лять лентой Т и интерпретировать произвольную вычислительную программу, хранящуюся на этой ленте. Кроме того, автомат Ми имеет воспринимающие, действующие, объединяющие и разделяющие органы, соединенные между собой так, что он может подбирать стерж- ни с поверхности океана и использовать их для изменения храня- щейся на ленте информации и для неограниченного удлинения этой ленты. Поэтому комплекс, состоящий из автомата Ми и ленты Т, является универсальной вычислительной машиной. В этом мире кинематических автоматов универсальная конструи- рующая машина обобщает универсальную вычислительную машину. Любая конечная машина М составлена из конечного числа основных элементов, соединенных определенным образом, и поэтому ее мож- но полностью охарактеризовать конечным описанием (М), которое х) Все рисунки собраны в конце книги. Предисловие к русскому изданию 10
можно представить на ленте. Пусть Мс — конечная часть универ- сальной конструирующей машины. Конструктор Мс обладает воз- можностями трех типов. Во-первых, он может сделать все, что может сделать универсальная вычислительная машина Ми. Во-вторых, может сконструировать любую конечную машину 7И, если ему дано полное ее описание & (М). Чтобы выполнить такое конструирова- ние, Мс прочитывает описание 2 (71/), находит и собирает части, необходимые для 71/, и соединяет их между собой в соответствии с планом 2 (Л/). В-третьих, он может скопировать <25 (М) на новой ленте и присоединить эту ленту к М. Пусть узел, который мы хотим сконструировать, состоит из про- извольной машины М и присоединенной к ней ленты, содержащей <25 (71/). Универсальный конструктор при условии, что на его ленте находится описание <2 (Л/), действует следующим образом. Сначала Мс считывает 25 (7И), подбирает необходимые для 71/ части и соеди- няет их между собой в соответствии с планом <2 (71/). Затем Мс изго- тавливает копию ленты 2 (71/). Таким образом, универсальный кон- структор, отправляясь от описания 2 (7И) и имея соответствующее снабжение частями, конструирует машину М с лентой 2 (7И). Общая схема этого конструирования такова: (1) Мс с лентой 2 (Л/) конструирует М с лентой 2 (71/). Заметим, что конструируемая машина содержит свое собственное описание. Чтобы получить самовоспроизведение как частный слу- чай этой общей схемы, заменим 71/ в (1) на Мс и тогда получим: (2) Мс с лентой 2 (Мс) конструирует Мс с лентой 2 (Мс). При выполнении (2) универсальный конструктор Мс сначала счи- тывает описание 2 (71/с), подбирает части, необходимые для 7ИС, и соединяет их в соответствии с планом 2 (7ИС). Затем Мс изготавли- вает копию ленты 2 (7ИС) и присоединяет ее к Мс. Универсальный конструктор делает все это, не зная, что изготавливается его копия и копируется его описание. Тем не менее весь процесс начинается с одного экземпляра Мс с лентой 2 (7ИС), а оканчивается двумя экземплярами этого комплекса. Это и есть самовоспроизведение. (Подобные схемы обсуждаются в лекции 5 части I и в гл. 5 части II и иллюстрируются на рис. 50, 54, 55 и 56.) «Блок-схемное» описание самовоспроизведения автоматов изло- жено здесь в общих чертах. Но даже при таком изложении видна аналогия между самовоспроизведением автоматов и процессом само- воспроизведения живой клетки. Лента Т с описанием 2 (7И) анало- гична несущим генетическую информацию цепям дезоксирибонуклеи- новой кислоты (ДНК) в клеточном ядре. Операция копирования лен- ты 2 (7И) аналогична репликации ДНК, которая осуществляется под контролем фермента ДНК-полимеразы. Наконец, конструиро- вание автомата М на основе информации 2 (7И) аналогично кон- струированию новой клетки. Предисловие к русскому изданию 11
Специалисты по молекулярной биологии в настоящее время пы- таются проследить логику этого процесса конструирования. Этот процесс осуществляется при участии системы из информационной рибонуклеиновой кислоты, транспортной рибонуклеиновой кислоты, ферментов и рибосом. Эта система производит сборку аминокислот согласно коду ДНК, в результате чего образуются белки (в том чис- ле ферменты), которые направляют конструирование новой клетки. Мы очертили пока лишь общую схему для самовоспроизведения автомата. Следующая задача фон Неймана состояла в том. чтобы дове- сти эту общую схему до детальной логической конструкции. Чтобы сделать это, надо полностью описать возможности каждого элемента и правила работы этих элементов при взаимодействии друг с другом внутри машины и при взаимодействии машины с окружающей средой. Рассмотрим в качестве примера конструирующий автомат. Он использует кинематические, разделяющие и объединяющие элементы для перемещения и работы с другими элементами. Каким образом конструирующий автомат находит эти элементы и обнаруживает те кинематические, разделяющие и объединяющие элементы, с кото- рыми предстоит работать? Он мог бы сделать это с помощью самих кинематических, разделяющих и объединяющих элементов, если бы они сами обладали способностью к восприятию. Или он мог бы это сделать с помощью воспринимающих элементов, если бы смог коор- динировать работу воспринимающего и кинематического (разделяю- щего или объединяющего) элементов. Дать полный и точный список правил для кинематической систе- мы, которые были бы в то же время простыми и прозрачными, доволь- но трудно. Кроме того, вряд ли кинематические, или двигательные, возможности этой системы дадут сами по себе что-нибудь ценное. С одной стороны, эти кинематические черты модели слишком далеки от химии, физики и механики, чтобы представить большой интерес сами по себе, а с другой стороны, они слишком далеки от проблем организации, управления и логики, чтобы продвинуть наше понима- ние этих проблем. Таким образом, двигательные возможности кине- матической системы являются лишь источником сложностей, кото- рые в настоящем контексте не оправдывают затрат, и поэтому их лучше исключить. Представление о клеточном автомате как раз устраняет эти слож- ности. Фон Нейман положил его в основу своей разработки логиче- ских деталей самовоспроизведения автоматов. Часть II настоящей книги посвящена этой проблеме. Клеточный автомат состоит из не- ограниченно итерированного, или мозаичного, массива конечных автоматов, каждый из которых взаимодействует со своими соседями. Он представляет собой, таким образом, основные рамки, или «про- странство», в которых происходят события, связанные с функциони- рованием автомата, и для которых мы можем сформулировать точные Предисловие к русскому изданию 12
и простые правила, или законы. Я имел возможность обсуждать проблемы клеточных автоматов в Москве в 1962 г., будучи гостем Академии наук СССР. Моя статья «Клеточные автоматы» была опуб- ликована в сборнике «Теория конечных и вероятностных автоматов» (под редакцией М. А. Гаврилова, изд-во «Наука», М., 1965). Существует много различных типов клеточных автоматов. Мож- но по-разному задавать геометрию клеточного пространства, отно- шения соседства, типы автоматов, законы переходов для системы, начальное состояние системы. Фон Нейман рассматривает эти воз- можности в гл. 1 части II и принимает решение использовать одно- родный двумерный массив («шахматную доску»), в котором каждый конечный автомат имеет 29 состояний. В гл. 2 он определяет правило переходов. В гл. 3 и 4 осуществляет ряд главных этапов конструиро- вания. Здесь оригинальная рукопись фон Неймана обрывается. ЕЦгл. 5 я показываю, как завершить конструирование. Основной результат работы состоит в том, что из нее следует, что на этой системе клеток с 29 состояниями можно смоделировать уни- версальные конструирующие машины, универсальные вычислитель- ные машины и самовоспроизводящиеся машины. В случае самовоспроизведения конечное число клеток с самого начала организуется так, чтобы составить универсальный конструи- рующий автомат Мс. Его описание 3 (Мс) представляется в конеч- ном линейном массиве клеток, выполняющем роль ленты, а остальная часть клеточной системы (окружающая среда) остается в пассивном, неорганизованном состоянии. Когда машина Мс активизируется, она работает и как вычислительная машина, и как конструктор, посылая в клеточное пространство информацию, позволяющую организовать в другой конечной части пространства копию машины Мс и ленты 3) (Мс)- Таким образом, исходная конечная организация этой систе- мы воспроизводит себя. Настоящая книга открывает новый раздел в теории автоматов — общее исследование клеточных автоматов. В книге в основном раз- бирается одна частная система клеточного автомата, введенная фон Нейманом для исследования некоторых организационных и программных аспектов самовоспроизведения. Однако понятие кле- точного автомата очень широко, оно допускает ряд существенных отклонений от системы фон Неймана. Можно менять геометрию про- странства и отношения соседства; можно вместо детерминированных правил переходов рассматривать недетерминированные и вероят- ностные правила, можно задать неоднородные отношения соседства и функции переходов. Таким образом, понятие клеточной системы автомата весьма плодотворно. Его существенными чертами являются квантованные время и пространство, конечное число возможных состояний для каждой точки пространства-времени и вычислимая локальная функция переходов (не обязательно детерминированная Предисловие к русскому изданию 13
или однородная по всему пространству), управляющая работой системы во времени. В рамках клеточных представлений можно с успехом аппрокси- мировать и смоделировать много естественных систем. При решении дифференциальных уравнений в частных производных, описываю- щих колебание мембраны, распространение тепла или диффузионные процессы, уже довольно давно пользуются дискретной решеткой, а так как законы в этих случаях носят локальный характер, то это приводит к использованию клеточного пространства, причем функ- ция переходов выражается разностным аналогом этих дифферен- циальных уравнений. При моделировании нейронных сетей и инфор- мационных процессов в сердечной ткани применялись неоднородные клеточные автоматы, и я думаю, что клеточные автоматы будут достаточно полезны для моделирования эволюционных систем. Работа фон Неймана вдохновила многих на изучение клеточных автоматов. В ближайшее время выйдет моя книга, в которую войдут некоторые опубликованные и неопубликованные результаты в этой области. Л ли-Арбор, Мичиган АРТУР В. БЁРКС
ПРЕДИСЛОВИЕ В конце сороковых годов Джон фон Нейман начал создавать теорию автоматов. Он хотел построить систематическую теорию, которая была бы логико-математической по форме и позволяла по- нять как естественные системы (естественные автоматы), так и анало- говые и цифровые вычислительные машины (искусственные автома- ты). Для этого он написал пять работ: 1. «Общая и логическая теория автоматов». Доклад, прочитан- ный в сентябре 1948 г. в Калифорнийском технологическом инсти- туте на симпозиуме по механизмам мозга в поведении; опубликован в 1951 г. См. Нейман [4]. 2. «Теория и организация сложных автоматов». Пять лекций, прочитанных в Иллинойсском университете в декабре 1949 г. Они составляют часть I настоящей книги. 3. «Вероятностная логика и синтез надежных организмов из ненадежных компонент». Лекции, прочитанные в Калифорнийском технологическом институте в январе 1952 г. См. Нейман 17]. 4. «Теория автоматов: конструирование, воспроизведение, одно- родность». Фон Нейман начал эту рукопись осенью 1952 г. и работал над ней около года. Она составляет часть II настоящей книги. 5. «Вычислительная машина и мозг». Написана в течение 1955 и 1956 гг., опубликована в 1958 г. См. Нейман 12]. Вторая и четвертая из перечисленных работ так и остались в виде рукописей, нуждающихся в основательном редактировании. Эти работы составляют две части настоящей книги, которая, таким обра- зом, завершает цикл работ фон Неймана по теории автоматов. При подготовке к такой редакционной работе я изучил все, что было сделано фон Нейманом по вычислительным машинам, включая тео- рию автоматов. Обзор его результатов содержится во введении к настоящей книге. Предисловие 15
Для фон Неймана особый интерес представляли достаточно слож- ные автоматы, такие, как нервная система человека, и необычайно большие вычислительные машины, появление которых он предвидел. Он хотел создать теорию логической организации сложных систем вычислительных элементов и считал, что такая теория совершенно необходима для создания очень больших вычислительных машин. Фон Нейман сосредоточил основные свои усилия на двух проблемах теории автоматов, тесно связанных со сложностью: на проблемах надежности и самовоспроизведения. Надежность компонентов ограни- чивает сложность автомата, который мы можем построить, а свой- ство самовоспроизведения требует достаточно высокого уровня сложности автомата. Проблему надежности фон Нейман детально обсуждает в третьей из перечисленных работ, а исследования по самовоспроизводящимся автоматам представлены главным образом в настоящей книге. Часть II, составляющая основной объем книги, содержит логический синтез самовоспроизводящегося клеточного автомата; более корот- кая часть I посвящена общим проблемам сложных автоматов, ее центральный пункт — кинематическая модель самовоспроизведения (лекция 5). Поэтому выбор заголовка «Теория самовоспроизводя- щихся автоматов» для книги в целом кажется правильным. К сожалению, преждевременная кончина не позволила фон Ней- ману придать законченную форму этим исследованиям. Рукописи обеих частей книги остались недописанными: они представляют собой лишь первые, черновые наброски. Но это компенсируется тем, что они позволяют увидеть могучий ум фон Неймана в процессе работы.Поэтому я приложил все усилия к тому, чтобы сохранить пер- воначальный дух рукописи и в то же время сделать книгу достаточно легко читаемой. Чтобы стало ясно, что представляли собой «сырые» рукописи, я расскажу о них и отмечу редакторские изменения. Фон Нейман договорился написать книгу по теории автоматов на основе пяти лекций, прочитанных им в Иллинойсском универси- тете в декабре 1949 г. В помощь ему была сделана магнитофонная запись этих лекций. К сожалению, запись и ее машинописная копия оказались плохими — с пропущенными словами и фразами, с нераз- борчивыми местами. Сам фон Нейман никогда не редактировал эту машинописную копию, а вместо этого предполагал использовать для обещанной книги рукопись четвертой из перечисленных работ. Магнитофонная запись его лекций не сохранилась. Несмотря на все это, лекции в Иллинойсе заслуживают опубликования, и сохранив- шийся их вариант, по необходимости сильно отредактированный, составляет часть I настоящей книги. Фон Нейман заранее пригото вил подробный конспект лекций, и они в основном соответствовали этому конспекту. Он был озаглавлен «Теория и организация сложных автоматов» и начинался следующими тремя тезисами: Предисловие 16
Логическая организация и недостатки быстродействующих цифро- вых вычислительных машин. Сравнение тех или иных сложных автоматов (как искусственных, так и естественных). Вывод из сравнения нервных систем, встречающихся в природе. Затем идут заголовки к каждой из лекций вместе с перечнями вопросов, которые предполагалось рассмотреть на лекции. Они без всякого изменения воспроизведены в настоящей книге перед началом каждой лекции, хотя содержание лекций не соответствует в точности этим перечням. Состояние рукописи потребовало большой редакторской рабо- ты. Машинописная копия магнитофонной записи особенно бедна в наиболее формальных местах лекций, где фон Нейман пользовался доской. Для этих мест в особенности оказались полезными два ком- плекта записей, сделанных на лекциях. Там, где это было возможно, я сохранил фразеологию фон Неймана, но я часто оказывался перед необходимостью использовать собственный язык. В ряде случаев мне показалось лучше кратко суммировать то, что говорил фон Ней- ман, чем пытаться реконструировать текст. Некоторые идеи, выска- занные фон Нейманом на лекциях в Иллинойсе, известны также по его опубликованным работам или просто хорошо известны. В та- ких случаях я часто кратко излагаю основную мысль, высказанную фон Нейманом, или даю ссылки на его опубликованные работы. Мои замечания взяты в скобки. Восстановленный вариант слов фон Ней- мана в скобки не заключался, однако следует иметь в виду, что боль- шая часть текста без скобок подверглась основательному редактиро- ванию. Рукопись «Теория автоматов: конструирование, воспроизведение, однородность» находилась в несравненно лучшем состоянии. Это был, по-видимому, первый вариант работы, если не считать сделан- ного ранее наброска (с рисунками) процедуры, посредством которой узел управления памятью (УУП) удлиняет и укорачивает соедини- тельную петлю Cj и временную петлю С2 в соответствии с инструк- цией, поступающей из конструирующего узла (КУ) (см. разд. 4.1 и 4.2). Несмотря на то что рукопись была лишь черновым вариантом работы, ее вполне можно было бы опубликовать без изменений, если бы не недостатки следующих трех типов. 1. В рукописи не хватало многих из тех простых деталей, кото- рые облегчают чтение. Не было подписей под рисунками. При ссыл- ке на формулы, разделы, рисунки давался просто номер и не указы- валось, к чему он относится — к формуле, разделу или рисунку. Заголовки разделов были написаны на отдельном листе. Также на отдельном листе были краткие пояснения, касающиеся подстроч- ных примечаний, которые фон Нейман собирался дать. Части авто- мата в тексте обозначались просто какими-нибудь буквами: напри- Предисловие 17
мер, А и В вместо моих КУ и УУП. Я проработал рукопись несколь- ко раз и каждый раз удивлялся тому, как при таком малом наборе мнемонических средств фон Нейман мог следить за тем, что он делал. Я снабдил рисунки подписями и закончил подстрочные приме- чания. Замечания, которые фон Нейман поместил прямо на рисун- ках, я перенес в текст. Были произведены и другие изменения, но в тексте они никак не выделены. Наконец, я вставил свои примечания, комментарии, пояснения и'резюме и добавил заключительную главу (гл. 5). Все такие добав- ления взяты в квадратные скобки. Квадратные скобки, которые употреблял фон Нейман, всюду заменены фигурными, за исключе- нием символов [0] и [1]. Кроме того, я добавил табл. I и V, а также несколько рисунков. Рисунки 1—8, 16, 18, 19, 22, 24, 28—36, 38, 39 и 41 принадлежат фон Нейману, остальные сделаны мною. 2. В рукописи было много ошибок: незначительные оговорки, исправленные мною без специальных замечаний, ошибки, исправ- ленные и прокомментированные в квадратных скобках, и серьезные ошибки, требующие значительной переделки конструкции (их я обсуждаю в разд. 5.1.1 и 5.2.2). Все эти ошибки вполне поправимы, но так как органы автомата, сконструированные в начальных разде- лах рукописи, используются в дальнейшем, то многие из этих ошибок распространяются и «усиливаются». В этой связи следует помнить, что рукопись была лишь черновым наброском и фон Нейман разра- батывал конструкцию автомата в процессе работы над ней, оставляя многие ее параметры для дальнейшей детализации. 3. Рукопись недописана. Конструирование автомата доведено в ней до той фазы, когда еще не полностью закончен блок ленты. В гл. 5 я показываю, как можно завершить эту конструкцию само- воспроизводящегося автомата фон Неймана. Техническое улучшение рукописи фон Неймана — дело чрезвы- чайно сложное и запутанное. Перечисленные недостатки еще больше увеличивают его сложность. Мне легче было бы не редактировать некоторые части рукописи (после гл. 2), а самому построить самовос- производящийся автомат фон Неймана на основе его последних исследований. Но такой путь не реален, так как рукопись имеет боль- шое историческое значение и позволяет увидеть мощный интеллект в процессе работы. Поэтому я старался давать исправления и пояс- нения так, чтобы сохранить первоначальный стиль рукописи и в то же время сделать ее относительно легко читаемой. Я благодарен многим людям за их помощь. Покойная г-жа Кла- ра фон Нейман-Экарт предоставила мне информацию о рукописях мужа. От нескольких человек, работавших с фон Нейманом в обла- сти вычислительных машин, я получил сведения из первых рук. Это Абрахам Тауб, Герман Голдстайн, покойная Адель Голдстайн ив особенности Джулиан Бигелоу и Стэн Улам. И с Бигелоу и с Ула- Предисловие 18
мом фон Нейман часто обсуждал свои работы по теории автоматов. Джон Кемени, Пирс Кетчам, Е. Ф. Мур и Клод Шеннон либо слу- шали лекции фон Неймана по теории автоматов, либо беседовали с ним на эту тему. Письмо Курта Гёделя в конце лекции 2 части I приводится с его любезного разрешения. Я благодарен многим из моих аспирантов и коллег за техническую помощь, в особенности Майклу Файмену, Джону Ханну, Джеймсу Тетчеру, Стефену Хедет- найми, Фридриху Зуппе и Ричарду Лэингу. Алиса Финней, Карен Брандт, Энн Джекобс и Алиса Р. Бёркс обеспечили редакторскую помощь, а Элизабет Брандт сделала рисунки. Мою редакторскую работу поддерживал Национальный научный фонд. Никто из упомя- нутых лиц не несет ответственности за эту работу. Анн-Арбор АРТУР В. БЁРКС
ВВЕДЕНИЕ РАБОТА ФОН НЕЙМАНА В ОБЛАСТИ ВЫЧИСЛИТЕЛЬНЫХ МАШИН РЕДАКТОРА Джон фон Нейман родился в Буда- пеште 28 декабря 1903 г. и умер в Вашингтоне 8 февраля 1957 г. (см. У лам [3]). Он получил степень док- тора математических наук в Буда- пештском университете и диплом хи- мика в Швейцарской высшей техни- ческой школе в Цюрихе. В 1927 г. он становится приват-доцентом Бер- линского университета, а в 1929 г. приват-доцентом университета в Гам- бурге. В 1930 г. приезжает в Соеди- ненные Штаты Америки в качестве приглашенного лектора в Принстонский университет, где получает звание профессора в 1931 г. В 1933 г. начинает сотрудничать как про- фессор во вновь организованном Институте перспективных исследо- ваний и занимает эту должность до конца своих дней х). В последние годы своей жизни фон Нейман, не ослабляя внима- ния к вопросам теории, проявил особый интерес к приложениям математики в различных областях науки и практики. Во время вто- рой мировой войны он принимал активное участие в научных иссле- дованиях, связанных с обороной. Он сыграл большую роль при создании атомной бомбы, сделав основной вклад в развитие метода обеспечения взрывобезопасности. Он консультировал многие прави- тельственные лаборатории и организации и был членом ряда важ- нейших комитетов по научным рекомендациям. Эту деятельность он продолжал и после войны. Кроме того, он работал в таких областях, как артиллерия, приемы ведения подводной войны, цели для бомбо- метания, ядерное оружие (включая водородную бомбу), военная стратегия, предсказание погоды, межконтинентальные баллистиче- ские ракеты, быстродействующие электронные цифровые вычисли- тельные машины и методы вычислений. В октябре 1954 г. президент Соединенных Штатов назначил его членом Комиссии по атомной энергии; этот пост фон Нейман занимал вплоть до последних дней. Он был удостоен ряда степеней и почетных званий. Он был членом Национальной Академии наук США, получил две правительствен- ные награды и медаль имени Энрико Ферми от Комиссии по атомной энергии. Эта медаль была вручена ему за тот вклад, который он внес в развитие электронных вычислительных машин и методов их при- менения. *) См. Нейман [1]. Превосходный обзор работ фон Неймана содержится в Bull. Amer. Math. Sac., 64, № 3 (1958). Введение редактора 20
Фон Нейман как математик. В последние годы своей жизни фон Ней- ман немало сделал для развития теории автоматов. Настоящая кни- га, изданная на основе двух его неоконченных рукописей, является последней работой фон Неймана в этом направлении. Ранняя смерть не дала ему возможности закончить труд, который бы содержал пол- ную картину того, что он собирался сделать. Поэтому мне кажется уместным кратко обрисовать здесь основные черты теории автоматов, которую хотел построить фон Нейман. Так как его представление о теории автоматов возникло из его работ по математике и вычисли- тельным машинам, то начну с описания этих работ. Фон Нейман был очень крупным математиком и внес существен- ный вклад в различных областях этой науки. Сам фон Нейман счи- тал, что наиболее крупные математические результаты получены им в трех направлениях — математические основания квантовой теории, теория операторов и эргодическая теория. Его достижения в других областях более непосредственно связаны с его работой по вычисли- тельным машинам. В конце 20-х годов он работал над символической логикой, теорией множеств, аксиоматикой, теорией доказательства; в середине 30-х годов — над теорией структур, дифференциальной геометрией, булевой алгеброй. В известной статье 1928 г. и в книге 1944 г. он основал современную теорию игр (см. Моргенштерн, Ней- ман [1]). Начиная с конца 30-х годов, в течение войны и после ее окончания он провел много исследований по гидродинамике, динами- ке, проблемам механики непрерывных сред, возникающим из задач ядерной техники и метеорологии. Во время войны он начал зани- маться теорией вычислений и вычислительными машинами, и после войны именно это стало основным направлением его исследований. Фон Нейман и теория вычислений. К теории вычислений фон Ней- мана привели его исследования по гидродинамике. Гидродинамиче- ские явления описываются нелинейными уравнениями в частных производных. Фон Нейман заинтересовался в особенности вопросами гидродинамической турбулентности и взаимодействия ударных волн. Вскоре он обнаружил, что существующие аналитические методы не годятся даже для получения качественной информации о реше- ниях нелинейных уравнений в частных производных, возникающих в гидродинамике. Более того, это же можно сказать и о произволь- ных нелинейных дифференциальных уравнениях в частных произ- водных. Выход из такого положения фон Нейман видел в численном реше- нии задач (см. Улам [3, стр. 7—8, 28] и Биркгоф [1, стр. 5, 25]). В годы войны он убедился в том, что численное решение необходимо и в других областях, в том числе в ядерной технике. Поэтому, когда во время войны и после ее окончания стали появляться новые уни- версальные быстродействующие цифровые вычислительные маши- Введение редактора 21
ны, он быстро оценил их возможности для гидродинамики, равно как и для других областей. В этой связи он разработал общую методику использования вычислительных машин, очень важную, так как ее можно применить для широкого круга проблем чистой и прикладной математики. Он первый предложил и содействовал распространению подхода, состоящего в решении с помощью вычислительной машины задачи для критических случаев и использовании затем результатов для эвристического развития теории. Фон Нейман верил в то, что экспе- риментирование и численный анализ покажут наличие физической или математической регулярности в явлениях динамики жидкостей и важных статистических свойств семейств решений соответствую- щих нелинейных уравнений в частных производных. Эти регуляр- ности и общие свойства могли бы стать основой для новой гидроди- намической теории и связанных с ней нелинейных уравнений. Фон Нейман полагал, что, решая много различных конкретных урав- нений, можно выявить эти регулярности и общие свойства. На част- ных случаях можно прочувствовать такие явления, как турбулент- ность и ударные волны, а с такой качественной ориентацией можно выбрать для численного решения другие критические варианты и в конце концов развить удовлетворительную теорию (см. по этому вопросу лекцию 1 части I настоящей книги). Этот характерный метод использования вычислительной машины настолько важен и имеет так много общего с другими, на первый взгляд отличными от него методами, что он заслуживает подробно- го обсуждения. Сущность этого метода в том, что поиск решения на вычислительной машине не является самоцелью, а ведется для того, чтобы выявить удобные понятия, широко приложимые принципы и построить общую теорию. Поэтому его можно назвать эвристи- ческим методом использования вычислительной машины (см. Улам [1, гл. 8]). Такой эвристический метод использования вычислительной маши- ны очень похож на традиционный научный метод «гипотеза — дедук- ция — эксперимент». Согласно последнему, из исходной гипотезы, построенной на основе имеющейся информации, с помощью матема- тической обработки делаются некоторые выводы. Эти выводы про- веряются экспериментально, а затем с учетом полученных данных строится новая гипотеза, и этот процесс повторяется бесконечно. При эвристическом использовании вычислительной машины проис- ходит то же самое, только эксперимент заменяется или дополняется вычислением на машине: строится некоторая гипотеза относительно исследуемых уравнений, ищутся критические случаи и для них на вычислительной машине решаются уравнения, полученные резуль- таты сравниваются с гипотетическими и формулируется новая гипо- теза. Затем этот цикл повторяется снова и т. д. Введение редактора 22
Результаты вычислений также могут сравниваться с эксперимен- тальными данными. В этом случае эвристическое использование сводится к моделированию. Вычисление само по себе может дать ответ лишь на чисто математические вопросы, так что в тех случаях, когда не делается никакого сопоставления с эмпирическим фактом, эвристический метод использования вычислительных машин полезен лишь для чистой математики. Фон Нейман думал, что основные трудности теории гидродинамики возникли из-за отсутствия адекват- ных математических сведений о нелинейных уравнениях в частных производных и эвристическое использование вычислительных машин поможет математикам создать здесь адекватную и полезную теорию. Он указал на то, что хотя применение аэродинамических труб при- вело к большим успехам, но с тех пор как были получены уравнения, описывающие происходящие явления, аэродинамические трубы стали применяться скорее как аналоговые вычислительные машины, а не как экспериментальные установки. ...Многие разделы чистой и прикладной математики испытывают острую нужду в вычислительных средствах, которые могут сдвинуть их с мертвой точки, обусловленной отсутствием чисто аналитических методов анализа нели- нейных проблем... Действительно эффективные быстродействующие вычисли- тельные приборы могут дать нам как в области нелинейных уравнений в частных производных, так и во многих других областях, к которым трудно или совершенно невозможно подступиться, те эвристические соображения, без которых немыслим подлинный прогресс ни в одном из разделов математики (Нейман [1, т. 5, стр. 4]). Предположение фон Неймана о том, что мощные вычислительные машины могут дать математику «те эвристические соображения, без которых немыслим подлинный прогресс ни в одном из разделов мате- матики», связано с его абсолютной уверенностью в том, что идеи и задачи чистой математики в значительной степени зависят от эмпи- рической науки: «...истинное вдохновение современная математи- ка... черпает в естественных науках» (Нейман [1, т. 1, стр. 2]). Он признавал, что математика не является эмпирической наукой, и счи- тал, что критерии, которыми пользуется математик при выборе задач и оценке успешности их решения, главным образом эстетические. Я думаю, что рождение математических идей из опыта, хотя генеалогия этого подчас длинна и запутанна, достаточно хорошо приближает истину, слиш- ком сложную, чтобы допускать что-либо, кроме приближений. Но как только эти идеи сформировались, математика начинает жить своей собственной жизнью, и ее лучше уподоблять какой-нибудь творческой дисциплине, движимой почти исключительно эстетическими мотивами, чем чему-нибудь еще, например эмпири- ческой науке. Имеется, однако, еще одно обстоятельство, которое, по моему мнению, необходимо подчеркнуть... На большом расстоянии от эмпирического источника или после интенсивного «абстрактного» инбридинга т) математический х) Инбридинг — скрещивание двух близкородственных организмов (био- лог.),— Прим, перев. Введение редактора 23
предмет оказывается перед опасностью вырождения... Когда такое состояние достигнуто, единственным, как мне кажется, лекарством становится омолаживаю- щее действие источника*, более или менее прямое повторное впрыскивание эмпи- рических идей (Нейман [1, т. 1, стр. 9j). Эмпирическая наука в чистой математике играет эвристическую роль: она поставляет проблемы для изучения и дает понятия и прин- ципы, необходимые для их решения. И хотя фон Нейман никогда этого не говорил, я нахожу вполне вероятным, что он думал, что в некоторых разделах математики такую же роль играют результа- ты, получаемые при эвристическом использовании вычислительных машин. В лекции 1 части I он говорит, что успех мощных методов чистой математики зависит от математиков, понимающих их интуи- тивно и эвристически, и высказывает предположение, что такое ин- туитивное понимание нелинейных дифференциальных уравнений можно достичь при эвристическом использовании вычислительных машин х). При эвристическом использовании вычислительных машин имен- но человек, а не машина является главным источником предположе- ний, гипотез, эвристических соображений и новых идей. Фон Ней- ман хотел наделить машину наибольшим возможным интеллектом, но он отдавал себе отчет в том, что интуиция человека, его простран- ственное воображение, оригинальность и т. д. намного превосходят возможности как существующих машин, так и тех, которые должны появиться в ближайшее время. Он добивался развития способностей широкообразованной творческой личности, используя для этой цели цифровую вычислительную машину. Решение такой задачи пред- полагает значительное взаимодействие между человеком и машиной, которое становится легче с применением автоматизированного про- граммирования и входных-выходных устройств, приспособленных прямо для человека. Заинтересовавшись теорией вычислений, фон Нейман внес боль- шой вклад во все, что связано с ними и с их техникой. Распростра- ненные методы вычислений были предназначены для счета вручную или на машинах с использованием перфокарт и поэтому не вполне подходили для новых электронных вычислительных машин, скорость работы которых на несколько порядков выше. Нужны были новые методы, и фон Нейман развил многие из них. Вклад фон Неймана многообразен. Он изобретал алгоритмы и писал программы — от вы- числения элементарных функций до интегрирования нелинейных уравнений в частных производных и нахождения решений игр. Он работал над созданием общих приемов численного интегрирования х) Учитывая, что фон Нейман отводит интуиции важную роль в математиче- ском исследовании, интересно отметить, что интуиция самого фон Неймана была скорее слуховой и абстрактной, чем зрительной. См. по этому поводу Улам 13, стр. 12, 23, 38, 39]. Введение редактора 24
и обращения матриц. Ему принадлежат результаты, касающиеся устойчивости и накопления ошибок округления. Он способствовал развитию метода Монте-Карло и применению этого метода к реше- нию интегро-дифференциальных уравнений, систем линейных урав- нений с помощью случайной выборки х). В этом методе задача, кото- рую предстоит решить, сводится к некоторой статистической задаче; последняя затем решается подсчетом результатов для достаточно большой выборки примеров. Фон Нейман много сделал для конструирования и программиро- вания вычислительных машин, а также для развития теории вычис- лительных машин. Остановимся на достижениях фон Неймана в этой области. Логический синтез вычислительных машин. Не удивительно, что фон Нейман, интересовавшийся теорией вычислений и имевший под- готовку логика и физика, оказался привлеченным к созданию бы- стродействующих вычислительных машин. Первой такой машиной была ENIAC * 2), сконструированная и построенная в течение 1943 — 1946 гг. в школе Мура инженеров-электриков Пенсильванского уни- верситета (см. Бёркс [2, 4], Голдстайн и Голдстайн [1], Брайнерд и Шарплес [1]). Фон Нейман был определенным образом связан с этой машиной, поэтому здесь уместно будет сказать о ней несколько слов. Идея создания универсальной быстродействующей вычислитель- ной машины принадлежит Джону Мохли. Он внес предложение Голдстайну из артиллерийского департамента о том, чтобы армия Соединенных Штатов поддержала разработку и создание такой вы- числительной машины, которую можно было бы использовать прежде всего для расчетов по баллистике. Такая поддержка была оказана, причем военных особенно поражала большая скорость, с которой электронная вычислительная машина могла составлять таблицы стрельб. Машина ENIAC проектировалась и создавалась рядом людей, включая автора этих строк, при техническом руководстве Мох- ли и Эккерта. Фон Нейман посетил нас, когда мы строили эту маши- ну, и сразу же заинтересовался ею. К этому времени конструкция машины уже была выбрана, но после того как ее постройка была закончена, фон Нейман показал, как можно модифицировать машину, чтобы сильно упростить программирование. Тем временем он разра- ботал логическую схему принципиально новой вычислительной машины, которую мы опишем позже. Конечно, ENIAC радикально отличалась от предшествовавших ей вычислительных машин, но, что интересно, она также сильно х) См. Улам [3, стр. 33, 34], Нейман [1, т. 5, стр. 751—764]. Этот метод опи- сан в работе Метрополиса и Улама [1]. 2) Electronic Numerical Integrator and Computer — электронный цифровой интегратор и вычислитель.— Прим, перев. Введение редактора 25
отличалась и от машин, созданных после нее. От этих последних ее отличало использование нескольких полуавтономных вычислитель- ных узлов, работающих одновременно и полунезависимо, и исклю- чительное применение электронных ламп для оперативной памяти. Обе эти особенности конструкции были вызваны состоянием элек- троники того времени. Основная частота срабатывания цепей ENIAC равнялась 100 000 им- пульсов в секунду. Для получения высокой скорости вычислений все 10 (или 20) десятичных разрядов обрабатывались параллельно, а кроме того, имелось много отдельных вычислительных узлов, каждый со своим программирующим оборудованием, так что ряд вычислений мог протекать одновременно под общим управлением главного программного узла. У ENIAC было 30 основных узлов: 20 накопителей (каждый из которых мог запоминать и суммировать десятиразрядные десятичные числа), одно множительное устройство, одно устройство для деления и извлечения квадратного корня, три узла хранения таблиц функций, входной узел, выходной узел, глав- ный программный узел и еще два узла, связанные с управлением. Все эти основные узлы могли работать одновременно. В то время электронная лампа была единственным надежным эле- ментом быстродействующей памяти (акустические линии задержки, электростатические элементы памяти, ферритовые кольца и т. д. появились позже), поэтому по необходимости электронные лампы были использованы не только для оперативной памяти, но и для вы- полнения арифметических действий и для логического управления. Это сильно ограничило объем оперативной памяти, так как электрон- ные лампы довольно дороги и громоздки. Заметим, что всего ENIAC содержала 18 000 электронных ламп — вполне достаточно для того, чтобы скептики могли предсказать, что она не будет нормально функ- ционировать. Ограниченная оперативная память на 20 десятираз- рядных десятичных чисел дополнялась большим количеством эле- ментов долговременной памяти различных видов: электромагнитные реле на входе и выходе; управляемые вручную механические пере- ключатели, задающие матрицу сопротивлений в узлах таблиц функ- ций, предназначенных для хранения произвольных числовых функ- ций и программной информации; управляемые вручную механиче- ские переключатели и гибкие кабели со штеккерамп для програм- мирования. Неспециализированная вычислительная машина должна быть запрограммирована для решения каждой частной задачи. На ENIAC это делалось вручную посредством механических переключателей блоков программных управлений каждым из вычислительных бло- ков, используемых в этой задаче, взаимных соединений блоков про- граммных управлений с помощью кабелей и установкой переключа- телей таблиц функций. Такая процедура программирования была Введение редактора 26
длительной, трудоемкой, с трудом поддавалась контролю, и, кроме того, во время программирования машина простаивала без дела. После того как постройка ENIAC была закончена, фон Нейман пока- зал, как превратить ее в вычислительную машину с централизован- ным программированием, в которой программирование могло осуще- ствляться установкой в нужное положение переключателей в узлах хранения таблиц функций. Каждый из трех узлов хранения таблиц функций обладал памятью, рассчитанной на 104 числа, имеющих 12 десятичных разрядов и два знаковых разряда. Но импульсы, использованные для представления чисел, были той же величины и формы, что и импульсы, использованные для программируемого управления вычислительными блоками, так что узлы хранения таб- лиц функций можно было бы приспособить для хранения программ- ной информации. По схеме фон Неймана выходы узлов таблиц функ- ций соединялись с блоками программируемого управления других узлов посредством некоторого специального оборудования и глав- ного программного узла, а переключатели блоков программируе- мого управления устанавливались в определенное положение. Все это делалось так, чтобы не нужно было ничего менять при переходе от одной задачи к другой. Таким образом, программирование было сведено к ручной установке переключателей узлов хранения таблиц функций. Тем временем мы занялись конструированием куда более мощной вычислительной машины. Как уже отмечалось, самым значительным недостатком машины ENIAC был небольшой объем оперативной памя- ти, обусловленный тем техническим обстоятельством, что в то время, когда решался вопрос о схеме ENIAC, электронная лампа была единственным (из известных) надежным запоминающим элементом. Это ограничение удалось снять и технология вычислительных машин была сильно изменена после того, как Эккерт задумал использовать для оперативной памяти акустические линии задержки. В военном радарном оборудовании для задержки импульсов применяли ртут- ные линии задержки. Идея Эккерта состояла в том, чтобы импульсы с выхода ртутной линии задержки подавать (через усилитель и фор- мирующее устройство) на вход той же линии и таким образом хра- нить большое количество импульсов в получившейся циклической памяти. Циклическую память, скажем на 1000 битов, можно сделать из ртутной линии и нескольких ламп, а в ENIAC на каждый бит тре- бовался двойной триод. В машине ENIAC лишь небольшая часть обрабатываемых чисел хранилась в цепях, которые можно было менять автоматически и к то- му же достаточно быстро; все остальные числа и программная инфор- мация запасались в электромагнитных реле, переключателях и ком- мутационных схемах на гибких кабелях. ENIAC была машиной сме- шанного синхронно-асинхронного типа. Использование импульсов Введение редактора 27
в ртутных линиях задержки сделало естественным переход к созда- нию полностью синхронной машины, в которой ритм работы задается единым центральным источником импульсов, называемым «часами». Эккерт и Мохли создали схемы, способные работать с частотой повто- рения импульсов 1 МгЦч т. е. в 10 раз превышающей основную частоту срабатывания цепей ENIАС, и вложили немало сил в конструк- цию машины на ртутных линиях задержки. Голдстайн пригласил фон Неймана в качестве консультанта, и мы все вместе обсуждали логическую схему машины такого типа. Было решено использовать двоичную систему счисления. Так как линии задержки работали последовательно, то простейшим способом обработки двоичных раз- рядов оказался последовательный. Благодаря этому стало возмож- ным построить вычислительную машину, намного меньшую, чем ENIAC, и все же превосходящую ее по мощности. Предполагалось, что эта машина будет называться EDVAC х). Она должна была со- держать около 3000 электронных ламп. Фон Нейман разработал подробную логическую схему этой маши- ны. Результат содержится в его рукописи [3], которая так и не была опубликована * 2). Поскольку там излагается логическая схема элек- тронной вычислительной машины, в которой впервые программа мог- ла храниться и модифицироваться с помощью электроники, я кратко опишу эту схему. Для нас особый интерес представляют следующие характерные ее черты: отделение логического синтеза от конструи- рования электрических цепей машины, сопоставление вычислитель- ной машины нервной системе человека, общая организация маши- ны и подход к задачам программирования и управления. В основу своей конструкции фон Нейман положил идеализиро- ванные переключательные элементы с задержками, полученные из идеализированных нейронов Маккаллока и Питтса [1]. Каждый эле- мент имеет от одного до трех возбуждающих входов, возможно, один или два тормозящих входа, пороговое число (1,2,3) и единичную задержку. Элемент возбуждается в момент t-]-l тогда и только тогда, когда в момент t ни один из тормозящих входов не возбужден и чис- ло активизированных возбуждающих входов по крайней мере не меньше значения порогового числа 3). Применение идеализированного вычислительного элемента дает два преимущества. Во-первых, позволяет при конструировании вычислительной машины отделить этап логического синтеза от син- Electronic Discrete Variable Automatic Computer — электронный авто- матический вычислитель с дискретными переменными. Машина под таким названием, сконструированная в электротехнической школе Мура, была построе- на, когда упомянутые выше лица уже не были связаны со школой Мура. 2) На результатах этой работы основан логический синтез машины EDS АС, выполненный в Кембриджском университете; см. Вилкс [1, 2]. 3) Пороговые элементы, использованные в работе фон Неймана [7], похожи на эти, но отличаются от них в отношении работы тормозящих входов. Введение редактора 28
теза соответствующих электрических цепей. В процессе конструиро- вания машины ENIAG мы разработали правила логического синтеза, но они были в значительной мере привязаны к тем правилам, которым подчинялся синтез цепей. Рассматривая идеализированные вычисли- тельные элементы, можно отделить чисто логические требования к машине (к ее памяти, к логическому функционированию) от усло- вий, налагаемых уровнем развития техники и в конечном счете физи- ческими возможностями материалов и компонентов, из которых сде- лана машина. Первый шаг — логический синтез, следующий — синтез схемы. Элементы для логического синтеза нужно выбирать так, чтобы они грубо соответствовали реальным электрическим це- пям. т. е. идеализация не должна быть чрезмерной. Во-вторых, применение идеализированных вычислительных эле- ментов — это шаг в направлении создания теории автоматов. Логи- ческий синтез устройств из таких элементов можно выполнить со всей строгостью математической логики, тогда как конструирование аппа- ратуры по необходимости является отчасти искусством, отчасти ремеслом. Кроме того, такой подход облегчает сравнение различных типов элементов, используемых в автоматах, в нашем случае эле- ментов вычислительной машины, с одной стороны, и нейронов, с дру- гой. Фон Нейман проделал такое сопоставление в рукописи [3], отметив как различия, так и общие черты этих компонент. В частно- сти, он отметил, что цепи машины EDVAC должны работать син- хронно (управляемые во времени импульсными часами), а нервная система работает преимущественно асинхронно (ритм работы задается автономно последовательностью времен реакций ее собствен- ных элементов). Он также указал на аналогию между ассоциатив- ными, сенсорными и моторными нейронами нервной системы чело- века и соответственно центральной частью вычислительной машины, ее входом и выходом. Это сравнение естественных и искусственных автоматов должно было стать основной темой его теории автоматов. Организация машины EDVAC должна была в корне отличаться от организации ENIAC. У машины ENIAC было несколько основных узлов, способных работать одновременно, так что можно было одно- временно производить много вычислений. Проектируемая машина EDVAC не могла выполнить двух логических или арифметических действий одновременно, так как имела только по одному основному узлу каждого типа, а именно оперативное запоминающее устройство (ОЗУ), центральное арифметическое устройство (АУ), внешнее запо- минающее устройство (ВЗУ), входной и выходной узлы и централь- ное управляющее устройство (ЦУУ). Память (ОЗУ) должна была содержать до 256 линий задержки, каждая из которых могла хранить 32 слова, имеющих 32 двоичных разряда, а также переключательную схему, связывающую ячейки памяти с остальной частью машины. В этой памяти предполагалось Введение редактора 29
записывать начальные и граничные условия для дифференциальных уравнений в частных производных, произвольные числовые функции, промежуточные результаты вычислений и т. п., а также программу (последовательность команд), управляющую ходом вычислений. Внешнее запоминающее устройство должно было содержать перфо- карты, бумажную ленту, магнитную ленту, или проволоку, или фотопленку, или любую их комбинацию. Предполагалось использо- вать ВЗУ для входа и выхода, а также как дополнительную медлен- ную память. Входной узел пересылал информацию из ВЗУ в ОЗУ, выходной узел — из ОЗУ в ВЗУ. В ОЗУ была принята двоичная система, а в ВЗУ — десятичная. Центральное арифметическое устройство должно было иметь некоторые дополнительные регистры (линии задержки на одно сло- во) для хранения чисел. По команде, поступающей из ЦУУ, оно должно складывать, вычитать, умножать, делить, извлекать квадрат- ные корни, преобразовывать из двоичной системы в десятичную и обратно, переносить числа из одних регистров АУ в другие, а также из регистра АУ в ОЗУ и выбирать одно из двух чисел в соответствии со знаком третьего числа. Последняя операция должна была исполь- зоваться для передачи управления (условного перехода) от одной команды программы к другой. Числа в АУ обрабатывались последо- вательно, начиная с последнего значащего разряда, и в каждый момент времени выполнялась ровно одна операция. В первом двоичном разряде каждого слова стоял нуль, если это слово представляло собой число, и единица, если это была команда. Восемь разрядов команды были отведены для указания операции, которую предстояло выполнить, и, если требовалось обращение к ОЗУ, то еще тринадцать двоичных разрядов использовалось для указания адреса. Типичная последовательность операций должна была выглядеть так. Предположим, что команда сложения с адре- сом х находится в регистре у в ОЗУ, слагаемое занимает ячейку у + 1, а команда, которую предстоит выполнить вслед за сложе- нием, находится в ячейке у + 2. Команда из у должна перейти в ЦУУ, слагаемое из у + 1 в АУ, второе слагаемое должно быть в АУ, причем сумма должна быть помещена в ячейку х в ОЗУ. После этого должна выполняться та команда, которая записана в ячейке У + 2. Обычно команды выбираются из линий по порядку, кроме одной команды с адресом z, обеспечивающей возможность для ЦУУ извле- чения следующей команды из ячейки памяти z. Пока некоторое число пересылалось из АУ в ячейку w в ОЗУ, содержимое этой ячейки про- сматривалось. Если там была команда (т. е. слово с единичным пер- вым разрядом), то вместо 13 адресных разрядов содержимого ячейки w записывались 13 первых значащих двоичных разрядов результата в АУ. Таким образом, в вычислительной машине можно было Введение редактора 30
автоматически модифицировать адреса команд. Это вместе с коман- дой для передачи управления произвольной ячейке памяти w и с возможностью выбора АУ одного из двух чисел по знаку третьего делало машину полностью автоматическим программируемым вычис- лительным устройством. Одновременно с разработкой логической схемы машины EDVAC фон Нейман предложил способ усовершенствования оперативной памяти, использующий принцип работы иконоскопа (см. Нейман [3, разд. 12.8]). Информация переносится на экран иконоскопа пучком света, а считывается электронным пучком. Фон Нейман предполо- жил, что эту информацию можно было бы размещать на внутренней поверхности такой трубки с помощью пучка электронов. Непосред- ственным результатом было бы запоминание в форме электрических разрядов на диэлектрической пластинке, установленной внутри электроннолучевой трубки. Он предсказывал, что такая память будет обладать преимуществом по сравнению с памятью на линиях задержки. Вскоре стало очевидно, что это действительно так, и фон Нейман переключил свое внимание на создание еще более мощ- ной вычислительной машины, основанной на таких элементах памяти. Новая вычислительная машина должна была намного превосхо- дить по быстродействию все рассматривавшиеся тогда машины в основном в силу следующих двух обстоятельств. Во-первых, при- менение электростатической запоминающей системы обеспечивает немедленный доступ к каждому разряду, тогда как разряд или все слово, хранящееся в линии задержки, недоступно до тех пор, пока оно не дойдет до конца этой линии. Во-вторых, было принято реше- ние обрабатывать все разряды слова параллельно, что также сни- жает время вычислений. Логическая схема этой вычислительной машины содержится в работе Бёркса, Голдстайна, Неймана [1]. Задуманная вычислительная машина была построена в Институте перспективных исследований группой инженеров, возглавляемой Джулианом Бигелоу, и получила широкую известность под назва- нием JONIAC (в честь Джона фон Неймана.— Перев.) х). Пока эта машина создавалась, ее логические и схемные решения оказали влияние на многие вычислительные машины, выполненные в США, включая вычислительные машины Иллинойсского университета, Национальных лабораторий Лос-Аламоса, Арагона и Ок-Риджа и корпорации РЭНД, а также ряд коммерческих машин. Машина JONIAC сыграла важную роль при создании водородной бомбы * 2). г) См. Эстрин [1]. Первоначально предполагалось в качестве элемента памя- ти использовать селектрон, описанный Рейчменом [1], но потом все же ее построи- ли на электроннолучевых трубках, принцип работы которых изложен в статье Вильямса [1]. 2) Газета «Нью-Йорк тайме» от 9 февраля 1957 г. Введение редактора 31
Программирование и блок-схемы. Фон Нейману сразу же стало ясно, что новые вычислительные машины способны решать большие задачи настолько быстро, что понадобятся новые способы программи- рования, которые позволили бы математикам и составителям про- грамм полностью использовать возможности этих машин. На основе кода команд машины, создаваемой в Институте перспективных иссле- дований, он приступил к развитию новых методов программиро- вания. Результаты были представлены в оказавшей большое влияние серии докладов (см. Голдстайн, Нейман [1]). Обычно начинают с математической формулировки задачи, а по- том решают, к какому конкретному методу вычислений следует при- бегнуть. Эти методы, как правило, высокоиндуктивны и включают в себя многократные рекурсии внутри рекурсий. На этой стадии исследователь располагает общим описанием необходимых вычисле- ний, составленным на обычном языке с использованием соответст- вующей математической символики. Он должен преобразовать это описание в программу, составленную на машинном языке. Однако это не есть простая задача прямого перевода — отчасти в силу общно- сти описания вычислений, отчасти из-за природы рекуррентных процедур. Рекуррентные процедуры, в особенности достаточно сложные, легче воспринимать динамически (в виде операций, осуществляемых на каждом шагу), чем статически (в виде статической последова- тельности символов, определяющих эти процедуры). Соответствую- щее свойство машинного языка состоит в том, что результат коман- ды зависит именно от того вычисления, которое с ее помощью осу- ществляется: используется ли и как часто эта команда и к какому месту в памяти она относится. Все это зависит как от самой про- граммы, так и от обрабатываемых чисел. Поэтому, хотя программа п представляет собой статическую последовательность символов, она обычно лучше воспринимается, если выражена на языке ее ди- намического функционирования, т. е. управления реальным после- довательным вычислительным процессом. Чтобы облегчить переход от математического описания некото- рого вычисления к соответствующей программе, составленной в машинных терминах, фон Нейман и придумал блок-схемы. Блок- схемой он назвал граф с отметками, состоящий из изображаемых на листе бумаги кружков, квадратиков и точек, соединенных ли- ниями. Квадратики бывают разных типов: операция (отвечает не- рекуррентному фрагменту вычисления, соответствующему надпи- си внутри квадратика), альтернатива (соответствует передаче уп- равления с указанием условия передачи), переадресация и выска- зывание (указывают значение индекса рекурсии), память (пока- зывает содержимое важнейших участков памяти на определенной стадии вычисления). Отмеченные кружки означают начало, конец Введение редактора 32
и взаимные соединения. При выполнении программы, соответ- ствующей данной блок-схеме, вычислительная машина как бы пу- тешествует по этой блок-схеме, отправляясь от начального круж- ка, выполняет последовательности команд, предписываемых квад- ратиками «операция», возвращается назад или ответвляется на новую часть блок-схемы в соответствии с критериями, сформули- рованными в квадратиках «альтернатива», покидает выходной кру- жок одной части этого графа с тем, чтобы попасть во входной кру- жок другой его части, и останавливается, наконец, в кружке, обо- значающем окончание программы. Направленные ребра указывают направление движения по графу, причем сходящиеся ребра встре- чаются в вершинах графа. Ненаправленные ребра соединяют квад- ратик «память» с вершиной графа, соответствующей стадии вычис- ления, частично описываемой содержимым этого квадратика. Для сложной задачи программист обязательно должен подго- товить и закодировать всю блок-схему. Задачу любой сложности можно разбить на подзадачи, для которых можно заранее подгото- вить блок-схемы и подпрограммы. При проектировании этой маши- ны предполагалось закодировать подпрограммы, соответствующие основным вычислительным алгоритмам, применяемым при решении задач на цифровой вычислительной машине: переводу чисел из двоичной системы счисления в десятичную и обратно, арифметике с двойной точностью, различным методам интегрирования и ин- терполирования, сортирующим алгоритмам и т. д. Эти подпрограм- мы записываются на библиотечные ленты. При решении конкретной задачи программист мог бы тогда просто составить «комбинирующую программу», по которой вычислительная машина выбирала бы нужные подпрограммы с магнитной ленты и модифицировала их в соответствии с данной задачей. Комбинирующие программы и библиотека подпрограмм явились первым шагом на пути использования самой вычислительной маши- ны при подготовке для нее программ. Но в этой системе програм- мист обязан был записывать все на нелепом «машинном языке». Гораздо удобнее было бы разработать специальный «язык програм- миста», на котором тот будет составлять программу, затем на ма- шинном языке написать транслирующую программу, по которой машина переведет программу с языка программиста на машинный язык. Язык программиста должен быть ближе к тому естественно- му математическому языку, которым, как правило, пользуются математики, научные работники и инженеры, и, следовательно, он должен облегчать работу программиста. Этот подход развивает- ся в настоящее время под названием «автоматическое программиро- вание». Фон Нейман употреблял термины «сокращенная програм- ма» (язык программиста) и «полная программа» (машинный язык) (см. Нейман [2, стр. 53—551). Введение редактора 33
Фон Нейман отдавал себе отчет в том, что идея автоматического программирования — это практическое приложение доказательства Тьюринга существования универсальной вычислительной машины. Машина Тьюринга представляет собой конечный автомат с неогра- ниченно удлиняемой лентой. Машиной Тьюринга является любая универсальная вычислительная машина вместе с заводом-автома- том, который может беспредельно наращивать ее память на магнит- ной ленте. Универсальная вычислительная машина Тьюринга U обладает таким свойством: для любой другой машины Тьюринга М существует такая конечная программа Р, что машина С7, работаю- щая по программе Р, дает те же результаты, что и М, Иными сло- вами, U вместе с Р моделирует (имитирует) М, Автоматическое программирование также предполагает моде- лирование. Обозначим через С7В вычислительную машину, рабо- тающую с машинным языком, неудобным для программиста. Про- граммист использует свой, более удобный язык. Теоретически возможно построить вычислительную машину, непосредственно вос- принимающую язык программиста. Назовем эту гипотетическую машину 7ИП . Пусть Рт — программа (написанная на языке маши- ны С7В), которая транслирует с языка программиста на язык ма- шины Z7B. Тогда машина С7В, работающая по программе Р^, будет получать те же результаты, что и Мц. Иными словами, С7В вместе с Рп моделирует Мп — частный случай моделирования по Тьюрин- гу машины М с помощью U и Р. Заметим, что машина t7B работает на двух языках: непосред- ственно используемом машинном языке и языке программиста, используемом опосредованно через транслирующую программу Р^. Фон Нейман называл их соответственно первичным и вторичным языками машины. На первичном языке происходит обмен информа- цией и управление внутри машины, а с помощью вторичного язы- ка человек общается с машиной. Фон Нейман предположил, что по аналогии с этим существуют первичный и вторичный язы- ки, обслуживающие нервную систему человека, и первичный язык в ней сильно отличается от любого известного нам языка. Таким образом, в нервной системе, по-видимому, применяется система обозначений, коренным образом отличающаяся от тех, с какими мы встречаемся в обычной арифметике и математике... ...Каким бы ни был язык, используемый в нервной системе, он должен характеризоваться меньшей логической и арифметической глубиной, чем та. к которой мы привыкли. Таким образом, в центральной нервной системе логика и математика, рас- сматриваемые как языки, структурно должны существенным образом отли- чаться от языков, с какими обычно мы встречаемся в нашем опыте. Введение редактора 34
...Когда мы говорим о математике, мы обсуждаем некоторый вторичный язык, надстроенный над первичным языком, фактически используемым в цен- тральной нервной системе. Фон Нейман считал, что первичный язык нервной системы носит статистический характер. Поэтому его работа по вероятностной логике связана с этим языком. (См. обсуждение вероятностной логики и надежности в лекциях 3 и 4 части I настоящей книги, а также в работе Неймана [7].) Электрические цепи вычислительной машины. Фон Нейман с самого начала проявил большой интерес к электрическим цепям и элемен- там электронных цифровых вычислительных машин. Он изучал основные физические и химические свойства материи, чтобы раз- работать более совершенные компоненты для вычислительных ма- шин г). В лекциях по теории автоматов он сравнивает естественные и искусственные компоненты по скорости работы, величине, надеж- ности и рассеиваемой энергии, а также вычисляет термодинами- ческий минимум энергии, требуемой для выбора решения в бинар- ном случае. (См. лекцию 4 части I.) Поиски физических явлений и эффектов, которые можно было бы использовать для вычислитель- ных целей, привели его к изобретению нового элемента. Это так называемый субгармонический генератор, возбуждаемый внешним источником (энергии) с частотой nf (п = 2, 3, 4, . . .) и осциллирующий на субгармонической частоте / * 2 * *). Схема субгар- монического генератора содержит индуктивно-емкостную цепь, на- строенную на частоту /, причем либо эта емкость, либо индуктив- ность нелинейна и ее величина периодически меняется под воздей- ствием возбуждающего сигнала (частоты nf). Колебания на часто- те f могут происходить в любой из п возможных различных фаз. Каждая такая фаза установившегося колебания обладает высокой стабильностью, но в момент начала колебания выбором фазы можно легко управлять с помощью небольшого входного сигнала часто- ты / и требуемой фазы. Модуляция (чередующиеся включение и вы- Э Большинство его идей в этой области было высказано в частных беседах и никогда не публиковалось. Отдельные ссылки можно найти в докладе Бёркса. Голдстайна, Неймана [1]. Бут [1, стр. 341] упоминает сверхпроводящий элемент памяти, конструкцию которого он обсуждал с фон Нейманом в 1947 г. Кроме того, фон Нейману принадлежит несколько первых исследований, касающихся мазера (см. его работу [1, т. 5, стр. 420], а также журнал Scientific American. февраль 1963, стр. 12, и апрель 1963, стр. 14, 15). 2) См. Нейман [6], а также Вигингтон [1]. Независимо изобретенный Гото [1] параметрон основан па той же самой идее, но сильно отличается по предполагае- мой скорости работы. Максимальные частоты, о которых сообщает Гото,— это возбуждающая частота (2/), равная 6 X 106 * гц, и тактовая частота 105 гц. Соглас- но Вигингтону, фон Нейман предполагал физически достижимыми возбуждаю- щую частоту (2/), равную 5х1010 гц, и тактовую частоту, равную' 109 гц. Введение редактора 35
ключение) возбуждающего источника (частоты nf) колебаниями прямоугольной формы с намного более низкой частотой (тактовые сигналы) обеспечивает получение чередующихся пассивных и ак- тивных периодов. Тогда входной сигнал частоты /, поданный в мо- мент прихода возбуждающего сигнала, позволяет выбрать для воз- никающих колебаний одну из этих п фаз. Чтобы передать фазовое состояние одного субгармонического генератора (передатчика) другому (приемнику), передатчик и при- емник соединяются трансформатором. Модулирующие колебания прямоугольной формы имеют в приемнике и передатчике одну и ту же частоту, но разные фазы, причем такие, что передатчик продол- жает осциллировать, когда приемник еще только начинает. В ре- зультате приемник начинает генерировать колебания с частотой / в фазе с передатчиком. Этот приемник может затем передать свое состояние другому субгармоническому генератору и т. д. Если воспользоваться тремя источниками тактовых сигналов с одинако- вой частотой, но с тремя различными фазами, то, подавая на свя- занные между собой генераторы соответствующие тактовые колеба- ния, можно передавать информацию по некоторой системе генера- торов. Каждый такой генератор имеет, следовательно, кроме воз- буждающего входа частоты nf, еще вход и выход, работающие на частоте f. Фазировка двух различных источников тактовых сигна- лов, поступающих на связанные генераторы, определяет, какой из них играет роль приемника, а какой — передатчика. Мощность выходного сигнала (на частоте /) намного больше мощности, кото- рой должен обладать входной сигнал (частоты /), управляющий фазой колебаний, и, таким образом, субгармонический генератор является усилителем на частоте /, причем энергия на это усиление черпается из источника возбуждающего сигнала частоты nf. Так как колебания субгармонического генератора устойчивы п продолжаются после субгармонического входного сигнала, по- ступившего от другого генератора, то этот прибор обладает, очевид- но, свойством памяти. На субгармонических генераторах можно построить также переключательный элемент. Делается это сле- дующим образом. Пусть п = 2, т. е. возможны две различные фазы субгармонических колебаний на частоте /, так что система бинарна. Соединим выходы трех передатчиков с первичной обмоткой транс- форматора так, чтобы их напряжения складывались, а приемник подсоединим ко вторичной обмотке этого трансформатора. Фаза напряжения вторичной обмотки трансформатора совпадает с фазой большинства передатчиков, а потому и приемник будет осциллиро- вать в этой фазе. Такое устройство легко реализует мажоритарный элемент, т. е. трехвходовый переключательный элемент с задерж- кой, выходное состояние которого будет 1 тогда и только тогда, когда не менее двух его входов будут в состоянии 1 (Нейман [7, Введение редактора 36
стр. 104]). Отрицание можно реализовать, присоединяя выход одно- го генератора ко входу другого и изменяя направление обмотки трансформатора на обратное. В качестве констант 0 и 1 можно ис- пользовать два источника сигналов частоты f с различными фаза- ми. Мажоритарного элемента, отрицания и источников констант 0 и 1 вполне достаточно, чтобы проделать любое вычисление, так что основные блоки вычислительной машины можно полностью выполнить на субгармонических генераторах г). ФОН НЕЙМАН И ЕГО ТЕОРИЯ АВТОМАТОВ Введение. При знакомстве с приведенным выше кратким обзором научных результатов, полученных фон Нейманом, сразу же пора- жает необычайное сочетание глубины и широты охвата проблем. Особенно удивляет диапазон его исследований, простирающийся от чисто теоретических работ до работ, носящих сугубо практиче- ский характер. В связи с этими последними работами следует отме- тить, что фон Нейман был одним из первых, кто хорошо понимал и всячески способствовал развитию громадных потенциальных воз- можностей вычислительных машин для осуществления технической революции и для решения задач прогнозирования и управления свойствами окружающей среды, например погоды. Фон Нейман оказался в состоянии внести значительный вклад в столь разных областях науки потому, что у него было редкое сочетание разнообразных способностей с широким кругом интере- сов. Быстрый ум и хорошая память позволяли ему собирать, сор- тировать, удерживать в памяти и использовать огромную инфор- мацию. Обладая широким кругом интересов, он работал и поддер- живал научные контакты во многих областях исследований. Он виртуозно решал трудные задачи в любой области и сохранял при этом ясное понимание того, каким образом он проникал в сущность каждой ситуации. Широкий круг интересов и разнообразие способностей состав- ляли одну из самых сильных сторон фон Неймана как математика и поставили его в один ряд с крупнейшими специалистами в обла- сти прикладной математики. Он был хорошо знаком, с одной сторо- ны, с актуальными проблемами техники и естественных наук, а с другой — с абстрактными методами чистой математики. Среди мате- матиков трудно было найти человека, которого можно было бы сравнить с фон Нейманом по способности поддерживать контакты с учеными и инженерами. Такое сочетание теории с практикой было результатом большой работы. Фон Нейман внимательно изу- х) На этом принципе построено много вычислительных машин. См. Гото [1], Введение редактора 37
чал историю и природу научного метода и его связь с чистой мате- матикой (см. Моргенштерн, Нейман [1, гл. 1], Нейман [1, т. 1, стр. 1—9; т. 6, стр. 491—498]) и считал, что эмпирические науки являются тем источником, из которого математика должна черпать свои идеи. Вполне естественно, что именно фон Нейман с его квалификаци- ей и соответствующим складом ума занялся созданием общей теории вычислительных машин. Уверенный в том, что вычислительные машины аналогичны живым организмам и что сопоставление таких разных и в то же время близких систем принесет пользу для эври- стического развития науки, он искал теорию, которая охватила бы и то, и другое. Предполагаемой теории он дал название «теория автоматов». Эта теория должна была включать согласованный набор понятий и принципов, относящихся к структуре и организации как естественных, так и искусственных систем, к роли языка и ин- формации в таких системах, к программированию и управлению такими системами. Фон Нейман обсуждает этот общий характер теории автоматов в нескольких местах части I и в гл. 1 части II настоящей книги. Ранние работы фон Неймана по конструированию вычислитель- ных машин и программированию привели его к мысли, что матема- тическая логика должна сыграть важную роль в теории автоматов. Но по некоторым причинам, на которых мы остановимся позже, он считал, что существующая математическая логика хотя и полез- на при изучении автоматов, но не адекватна «истинной» логике работы автоматов. Он был уверен, что появится новая логика авто- матов, которая будет сильно напоминать и будет иметь много обще- го с теорией вероятностей, термодинамикой и теорией информации. Отсюда уже можно заключить, что теория автоматов фон Неймана должна была объединять самые разные дисциплины. Преждевременная смерть не позволила фон Нейману придать законченную форму ни одному из его исследований по теории авто- матов. В последней работе на эту тему он сказал: «...было бы очень хорошо, если бы можно было говорить о «теории» таких автоматов. К сожалению, то, что существует в настоящее время... представля- ет собой всего лишь слабо связанную и недостаточно формализо- ванную «совокупность опытных данных»» (Нейман [2, стр. 11]). Тем не менее фон Нейман внес существенный вклад в эту область. Он наметил в общих чертах основные свойства теории автоматов: ее структуру, ее компоненты, некоторые из ее проблем, часть ее приложений и ее математическую форму. Он начал сравнительное изучение естественных и искусственных автоматов. Наконец, он сформулировал и в какой-то мере ответил на следующие два основ- ных вопроса теории автоматов. Каким образом можно сконструи- ровать надежную систему из ненадежных элементов? Какая логи- Введение редактора 38
ческая организация автомата нужна для того, чтобы этот автомат был способен себя репродуцировать? Первый из этих вопросов рассматривается в его работе [7], а второй — в лекции 5 части I и в части II настоящей книги. Я не знаю, как именно фон Нейман пришел к постановке этих двух проблем, но, судя по его интересам и тому, что им написано, весьма вероятно, что они возникли следующим образом. Новые электронные вычислительные машины произвели переворот в тех- нике вычислений, так как в противоположность прежним вычисли- тельным системам (людям, механическим и электромеханическим счетчикам) они могли очень быстро производить вычисления боль- ших объемов. Работающая уже машина ENIAC, спроектированная машина EDVAC и машина Института перспективных исследований были крупными шагами вперед на пути создания более мощных вычислительных машин. Фон Неймана интересовало решение диф- ференциальных уравнений в частных производных в общем случае и, в частности, решение уравнений для предсказания погоды. Поэто- му естественно, что ему должна была понадобиться более мощная вычислительная машина, и это вынуждало его искать основные ограничения, препятствующие созданию таких машин, и способы, которыми их можно было бы устранить. Консультируя правитель- ство и промышленные предприятия, он немало содействовал разра- ботке и созданию более крупных вычислительных машин. Фон Нейман сопоставил лучшие из вычислительных машин, которые могли быть построены по тем временам, с наиболее разум- ными естественными организмами и заключил, что возможности инженера при создании действительно мощных вычислительных машин ограничивают три фундаментальных фактора: размеры имею- щихся компонентов, их надежность и отсутствие специальной теории логической организации достаточно сложных систем. Изучение фон Нейманом элементов, из которых составлена вычислительная ма- шина, связано с первым из этих ограничений, а его исследование надежности и самовоспроизведения было направлено на то, чтобы снять второе и третье ограничения. В статье [7] он указал два мето- да, с помощью которых можно преодолеть трудности, связанные с ненадежностью компонентов: не повышая надежности компонентов, организовать из них такую структуру, при которой надежность всей вычислительной машины выше, чем надежность ее частей. Свою работу по вероятностной логике фон Нейман считал шагом к созданию новой логики автоматов. Его работа по самовоспроиз- ведению также относится к теории достаточно сложных автома- тов. Он чувствовал, что в системах большой сложности используют- ся качественно новые принципы, и он искал эти принципы в явле- нии самовоспроизведения, которое, очевидно, зависит от уровня сложности. Он считал, что благодаря тесной связи задач самовос- Введение редактора 39
произведения и саморемонта результаты по самовоспроизведению помогут решить проблему надежности. Таким образом, фон Неймана особенно интересовали сложные автоматы. Он думал о теории логической организации достаточно сложных систем вычислительных элементов. Поставленные им во- просы надежности и самовоспроизведения относятся именно к слож- ным автоматам. Здесь уместно отметить следующие два обстоятельства. Во- первых, фон Нейман считал, что, приступая к работе в новой обла- сти исследований, надо начинать с задач, которые можно ясно сфор- мулировать, даже если они касаются обычных явлений и приводят к хорошо известным результатам: строгая теория, объясняющая эти результаты, может стать основой дальнейшего прогресса (Мор- генштерн, Нейман [1, разд. 1.3, 1.4]). Задачи о надежности и о са- мовоспроизведении именно такого типа. Во-вторых, фон Нейман полагал, что отсутствие адекватной теории достаточно сложных автоматов сильно препятствует созданию более мощных машин. Он совершенно определенно заявлял, что до тех пор пока не будет создана адекватная теория автоматов, будет существовать предел сложности и возможностей автоматов, которые мы можем построить Нейман [4, стр. 79—84]). Искусственные и естественные автоматы. Тематика исследований теории автоматов становится особенно ясной при сравнении двух основных типов автоматов — искусственных и естественных. Кроме того, такое сравнение делает понятным характер этой теории как теории, объединяющей ряд разнородных дисциплин. Наиболее важные представители искусственных автоматов — аналоговые и цифровые вычислительные машины, но сюда относятся также и дру- гие системы, созданные человеком для передачи и обработки инфор- мации (например, системы телефонной и радиосвязи). Естественные автоматы — это нервная система, самовоспроизводящиеся и само- исправляющиеся системы, а также организмы в эволюционном и адаптивном аспектах. Теория автоматов, очевидно, охватывает, с одной стороны, тех- нику связи и управления, а с другой стороны, биологию. Действи- тельно, понятиям естественных и искусственных автоматов дано столь широкое определение, что возникает естественное недоуме- ние, что же мешает теории автоматов включить в себя и тот и другой предмет. Фон Нейман никогда не обсуждал этого вопроса, но в том, что им сказано, неявно содержатся указания, что суще- ствуют определенные границы теории автоматов. Ее отличает от обоих этих предметов то, что математической логике и цифровым вычислительным машинам отводится в этой теории центральная роль. Хотя теория автоматов и находит важные инженерные при- Введение редактора 40
ложения, но она сама является скорее теоретической, чем приклад- ной дисциплиной. Наконец, теория автоматов отличается от био- логических наук тем, что в ней все внимание концентрируется на вопросах организации, структуры, языка, информации и управ- ления. В теории автоматов устанавливаются общие принципы организа- ции, структуры, языка, информации и управления. Многие из них можно применить как к естественным, так и к искусственным систе- мам, и поэтому сравнительное изучение этих двух типов автоматов может служить хорошей отправной точкой: необходимо описать и объяснить черты их сходства и различия, развить математиче- ские методы, применимые к обоим типам автоматов. Так, например, формальная логика и логика, включающая линии задержки, могут применяться и к компонентам вычислительной машины, и к ней- ронам, как это делается в вероятностной логике фон Неймана (см. лекции 2 и 3 части I настоящей книги). Логическая схема самовос- производящегося клеточного автомата фон Неймана представляет собой связующее звено между естественными организмами и циф- ровыми вычислительными машинами. В этом отношении теория автоматов удивительно аналогична теории игр: экономические системы естественны, игры — вещь искусственная, а математиче- ская теория игр пригодна как для экономических систем, так и для игр (Моргенштерн, Нейман [1, разд. 1.1.2 и 4.1.3]) —так и теория автоматов включает математику, общую для естественных и искус- ственных автоматов. Сам фон Нейман уделял много внимания сравнению этих двух типов автоматов х). В последние годы изучение автоматных аспек- тов живых организмов сильно продвинулось, и сейчас фактическая база для такого сравнения гораздо шире, чем во времена фон Ней- мана, по его общий подход и выводы представляют для нас несом- ненный интерес. Проследим ход его рассуждений по следующему плану: 1) различие по аналого-цифровому признаку, 2) физические и биологические материалы, используемые в компонентах, 3) слож- ность, 4) логическая организация, 5) надежность. 1. Фон Нейман подробно рассмотрел различие по аналого-цифро- вому признаку и пришел к выводу, что эта характеристика очень полезна при исследовании естественных автоматов (см. лекции 1 и 4 части I). Самое общее его заключение состояло в том, что живые организмы представляют собой системы смешанного типа, вклю- чающие как аналоговые, так и цифровые процессы. Об этом свиде- тельствует много примеров, из которых здесь будет достаточно привести *) Ряд ценных сравнений естественных и искусственных систем, хотя и в несколько другом плане, содержится также в книге Винера [1]. Фон Нейман и Винер хорошо знали о работах друг друга (см. Винер [1, особенно введение], и Нейман [10]). Введение редактора 41
два. Хотя формальная логика приложима (в первом прибли- жении) к нейрону, такие связанные с нейроном явления, как рефрак- терность и пространственная суммация, скорее непрерывны, чем дискретны. В сложных организмах цифровые операции чередуются с аналоговыми процессами. Например, гены дискретны, а энзимы участвуют в аналоговых процессах управления. Представления о свойствах естественных автоматов подсказали фон Нейману схему комбинированной аналого-цифровой вычислительной машины (Ней- ман [7, разд. 12]). Это яркий пример воздействия, которое оказывает изучение естественных систем на конструкцию искусственных. 2. Фон Нейман произвел сравнение компонентов, применяемых в естественных и искусственных автоматах, по их размерам, скоро- сти работы, энергетическим потребностям, надежности и связал установленные различия с такими факторами, как устойчивость материалов и организация автоматов. Компоненты вычислительной машины намного больше и требуют больше энергии, чем нейроны, хотя это частично компенсируется их существенно большей скоро- стью. Это отличие отразилось на организации систем: естественные автоматы работают в основном по параллельному принципу, а ис- кусственные по последовательному. Различие по величине между электронной лампой и нейроном можно в какой-то мере объяснить различной механической прочностью использованных материалов. Электронную лампу легко испортить и трудно починить. Напротив, поврежденная мембрана нейрона способна к самовосстановлению. Фон Нейман вычислил термодинамический минимум энергии, рас- сеиваемой вычислительным элементом, и пришел к выводу, что теоретически вычислительный элемент мог бы быть в 1010 раз более эффективным в использовании энергии, чем нейрон (см. лекцию 4 части I). Проведенное фон Нейманом сопоставление естественных п искусственных компонент, без сомнения, сказалось на его работе по элементам вычислительных машин. 3. Человек inter alia х) представляет собой естественный автомат, который по сложности, очевидно, превосходит любой из искусствен- ных автоматов, созданных им до сих пор. Из-за этой сложности человек может разобраться в деталях своей собственной логической конструкции в несравненно меньшей степени, чем в логической конструкции крупнейших из построенных вычислительных машин. Фон Нейман думал, что главные проблемы теории автоматов кон- центрируются вокруг понятия сложности. Само это понятие нуж- дается в строгом определении. Теория автоматов должна была свя- зать логическую организацию сложных автоматов с их поведением. Такая теория позволила бы разработать логическую конструкцию искусственного автомата, способного выполнять некоторые наиболее 2) Между прочим, ко всему прочему (лат.).— Прим, перев. Введение редактора 42
трудные и совершенные функции, выполняемые человеком, а также ряд других сложных функций, которых люди выполнять не могут '(например, решение больших систем нелинейных уравнений в част- ных производных). Фон Нейман считал, что с чрезвычайно слож- ными системами должны быть связаны новые принципы. В частно- сти, он думал, что ниже определенного уровня сложность вырож- дается и самовоспроизведение невозможно. Он предполагал, вообще говоря, что в случае простого автомата символическое описание его поведения проще, чем сам автомат, а в случае очень сложного автомата сам автомат проще, чем символическое описание его пове- дения (см. лекцию 2 части I). 4. При обсуждении относительного быстродействия естествен- ных и искусственных компонентов мы отметили, что в естественных автоматах наблюдается тенденция к параллельной работе, тогда как в искусственных автоматах — в основном к последовательной работе. Конструируя автомат или продумывая план вычисления, можно выбирать в какой-то мере степень параллельности или после- довательности. Однако здесь имеются определенные границы: в по- следовательном вычислении, например, одна из последующих опе- раций может зависеть от предыдущей и потому не может осуще- ствляться параллельно с ней. От этого выбора зависят другие свой- ства машины, в частности требования к ее памяти, так как данные, которые будут использоваться в дальнейшем, должны храниться до тех пор. пока они не понадобятся. Память искусственного авто- мата обычно организуется перархично, причем различные ступени этой иерархической лестницы работают с различными скоростями. Типичная вычислительная машина содержит быстродействующие электронные регистры, медленно работающие ферритовые кольца и еще более медленные узлы памяти на магнитной ленте. Кроме того, имеются соединения в самой машине, и они составляют неизменяе- мую часть системы. Изучая эти иерархии машинной памяти, фон Нейман отметил, что подобные иерархии следует искать и в есте- ственных автоматах. Импульсы, циркулирующие в нейронных цепях, изменение порогов нейронов в процессе работы, организация нервной системы и генетическое кодирование — все это вместе представляет собой именно такую иерархию. Организация автомата отличается от организации конкретного вычисления в этой машине. Если принять во внимание и то и дру- гое, то различие между естественными и искусственными автома- тами в соотношении числа последовательных и параллельных опера- ций проявится резче. В этой связи фон Нейман ввел понятие логиче- ской глубины вычислений х). Процесс вычисления состоит из боль- 2) Нейман [2]. Он также говорил о логической глубине языка (см. [2] и обсуждение первичного языка нервной системы на стр. 34). введение редактора 43
шого числа основных логических шагов (переключений и задержек), причем результат каждого шага зависит от некоторых предшествую- щих шагов. Будем называть цепью вычислений любую последователь- ность шагов, каждый из которых существенно зависит от своего предшественника. Логической глубиной вычисления называется чис- ло логических шагов в его наиболее длинной цепи вычислений. Благодаря высокой скорости работы цифровые вычислительные машины обычно производят вычисления необычайно большой логи- ческой глубины. Чтобы при этом окончательный результат оказал- ся полезным, его ошибка должна быть мала, а это приводит к очень серьезным требованиям к надежности каждого элементарного логического шага. Итак, мы подошли к пятому и последнему из основных пунктов плана сравнения естественных и искусственных автоматов, прове- денного фон Нейманом. 5. Первые электронные вычислительные цифровые машины были плохо оборудованы в отношении автоматического обнаружения по- вреждений. Они были сконструированы и спаяны с величайшей акку- ратностью, подбирались компоненты с высокой надежностью, про- граммы писались тщательно и подвергались самой внимательной проверке, для проверки результатов вычислений применялись раз- личные приемы (например, контрольный просчет), а машинные сбои обнаруживали специальные диагностирующие программы. Таким образом, эти машины проектировались, строились и исполь- зовались так, чтобы первая же неисправность была обнаружена прежде, чем случится вторая. Тогда бы машину остановили и после соответствующего анализа ликвидировали бы причину, вызвавшую замеченную неисправность. Как отмечает фон Нейман в лекции 4 части I, в случае чрезвычайно сложных автоматов такой метод борьбы с ошибками, очевидно, не годится. Уже только проекти- рование и конструирование больших автоматов дают большое число ошибок. Кроме того, в силу большого числа компонентов средний интервал между ошибками будет очень небольшим и возникшие повреждения трудно будет локализовать. В этом отношении есте- ственные автоматы обладают явным преимуществом перед искусствен- ными, так как в них предусматриваются эффективные меры само- контроля и самоисправления. Например, головной мозг может продолжать функционировать удивительно хорошо даже после того, как человек получил серьезную травму в результате ушиба или болезни. Таким образом, в смысле защиты от ошибок естественные и искусственные автоматы организованы совершенно по-разному. В этом отношении работа фон Неймана по надежности систем, состоящих из ненадежных элементов, является связующим звеном между этими двумя типами автоматов. Введение редактора 44
Математика в теории автоматов. По замыслу фон Неймана теория автоматов должна была быть в значительной степени математиче- ской и логической. Изучение существующих автоматов, как есте- ственных, так и искусственных, их работы и взаимодействия должно было стать эмпирическим источником для построения формализма теории автоматов. Это согласуется с убеждением фон Неймана, что математик черпает вдохновение и идеи из эмпирического опыта. Тесная связь между математической логикой и автоматами была хорошо известна фон Нейману, когда он начал работать над теори- ей автоматов. Курт Гёдель свел математическую логику к теории вычислений, показав, что фундаментальные понятия логики (такие, как хорошо сформулированная формула, аксиома, правило вывода, доказательство) по существу рекурсивны (эффективны) г). Рекур- сивные функции — это те функции, которые можно вычислить на машинах Тьюринга. Таким образом, к математической логике можно подходить с точки зрения автоматов (см. Тьюринг [2, 3]). И обратно, математическую логику можно использовать при анали- зе и синтезе автоматов. Логическую организацию автомата можно представить в виде структуры из идеализированных переключатель- ных и задерживающих элементов, а затем записать в символах формальной логики (см. лекцию 2 части I). Из-за такой внутренней связи автоматов и логики математиче- ская логика должна составить ядро теории автоматов. В самом деле, фон Нейман часто употреблял термин «логическая теория автома- тов», а не просто «теория автоматов». Тем не менее он чувствовал, что математика в теории автоматов должна иметь свои формальные характеристики, резко отличающиеся от характеристик, специфиче- ских для логики. Грубо говоря, математику можно разделить на дискретную и непрерывную. Логика относится к дискретной части и в значительной степени носит комбинаторный характер. Фон Нейман считал, что математика в теории автоматов должна быть скорее непрерывной и опираться в основном на анализ. По его мне- нию, этого требовали специфические проблемы, возникающие в тео- рии автоматов, и, кроме того, он понимал, что аналитический под- ход в математике обладает определенными преимуществами перед комбинаторным. В теории автоматов имеется один важный вопрос, требующий большей аналитичности при его рассмотрении, чем это принято в логике. В теории автоматов обязательно должны учитываться вероятности выхода компонентов из строя. В математической логике изучаются только совершенные или детерминированные операции, осуществляемые идеализированными элементами переключения и 2) См. Гёдель [1]. Понятие теоремы, вообще говоря, не рекурсивно, но тео- ремы некоторого формального языка всегда рекурсивно перечислимы. Введение редактора 45
задержки. В ней не проводится теоретический анализ ошибки. Поэтому, применяя математическую логику для реального кон- струирования, необходимо привлекать и соображения, не относя- щиеся к ней непосредственно. Фон Нейман хотел построить вероят- ностную логику, в которой неисправности компонентов рассматри- вались бы как существенная и неотъемлемая сторона работы автома- та. Хотя теорию вероятностей можно назвать комбинаторной дис- циплиной, но в ней есть много точек соприкосновения с анализом. Включение в логику автоматов вероятности неисправности при- водит к необходимости учета объема вычислений. Обычный подход, в математической логике состоит в изучении того, выполняется ли с помощью автомата конкретная процедура за конечное число шагов, причем величина этого числа не имеет значения. Но при любом реалистическом предположении о повреждениях элементов автома- та с ростом числа шагов увеличивается вероятность того, что маши- на ошибется, и уменьшается вероятность того, что ответ будет вер- ным. Учет объема вычислений важен и с точки зрения практического использования машины. Вычислительная машина строится для того, чтобы получать результаты вычислений за приемлемое время. Но все же остается много функций, которые пока не может выпол- нять вычислительная машина, и их приходится выполнять челове- ку. В этой связи следует помнить, что человек представляет собой конечный автомат, а не машину Тьюринга. Фон Нейман не знал, как построить теорию, занимающуюся объемом вычислений. Воз- можно, такая теория должна основываться на количественном поня- тии «объема вычислений», в котором были бы приняты во внимание как длина вычисления (логическая глубина, см. стр. 44), так и его ширина (степень параллелизма). Таким образом, теория, изучающая количественную сторону вычисления и вероятность того, что оно ошибочно, должна опирать- ся и на дискретную и на непрерывную математику. Все это должно привести к теориям, имеющим не столь явно выраженный характер теорий, основанных на принципе «все пли ничего», какой являлась и является формальная логика. По своему характеру эти теории станут значи- тельно менее комбинаторными и значительно более аналитическими. В самом деле, имеются многочисленные признаки, дающие основание полагать, что эта новая концепция формальной логики будет все более сближаться с другой дис- циплиной, в прошлом мало связанной с логикой. Эта дисциплина — термодина- мика, главным образом в том виде, который она приняла после Больцмана. Термодинамика является той частью теоретической физики, которая в некоторых из своих аспектов наиболее близка теории обработки и измерения информации. Ее средства, конечно, являются в гораздо большей степени аналитическими, нежели комбинаторными, что вновь подтверждает точку зрения, которую я пытался изложить выше (Нейман [4, стр. 81—82]). Фон Нейман также придерживался мнения, что определенное методологическое преимущество может дать использование анали- за в математике автоматов. Введение редактора 46
Всякий, кто работал в области формальной логики, подтвердит, что онаг рассматриваемая с точки зрения применяемого в пей математического аппарата, является одной из наиболее трудных областей математики. Причина этого состоит в том, чю формальная логика имеет дело с жесткими понятиями типа «все или ничего» и весьма мало соприкасается со связанными с непрерывностью понятия- ми действительного или комплексного числа, т. е. с математическим анализом. А ведь именно анализ обладает наиболее развитым математическим аппаратом и является наиболее разработанной областью математики. Таким образом, фор- мальная логика в силу самого существа своего подхода отрезана от наиболее разработанных частей математики и попадает в ту ее область, которая пред- ставляет наибольшие трудности,— в область комбинаторики (Ней- ман [4, стр. 79—80]). Это замечание особенно интересно тем, что сам фон Нейман внес большой вклад в дискретную математику. В работе Моргенштерна и Неймана [1, разд. 4.8.3] утверждается, что математические мето- ды, которые будут разработаны для применения их в социальных науках, будут опираться на комбинаторику и теорию множеств, а не на дифференциальные уравнения (ср. разд. 1.2.5 той же работы). В своих исследованиях по теории автоматов фон Нейман шел от дискретного к непрерывному. Примером служит его вероятност- ная логика. После появления этой логики он предложил тесно свя- занную с ней дискретно-аналоговую вычислительную систему (Ней- ман [7, разд. 12]). Его первые модели самовоспроизведения были дискретны, но он надеялся впоследствии получить и непрерывную модель самовоспроизведения (см. разд. 1.1.2.3 части II настоящей книги). Мы уже отмечали, что фон Нейман часто называл свою теорию автоматов логической теорией автоматов. Он также называл ее теорией автоматов и информации, а иногда просто теорией инфор- мации, подчеркивая тем самым важную роль, которую по его пред- положению должна здесь сыграть теория информации. Он выделил в теории управления и информации две части: точную и вероятност- ную. Точная (или строгая) часть включает математическую логику, расширенную так, чтобы охватить конечные автоматы и машину Тьюринга. Вероятностная (или статистическая) часть включает исследования Шеннона [1] по теории информации и вероятностную логику фон Неймана. Фон Нейман рассматривал свою вероятност- ную логику как обобщение формальной логики. Между теорией информации и термодинамикой имеется тесная связь — в обоих теориях понятие вероятности употребляется со- вершенно одинаково (см. лекцию 3 части I, особенно выдержку из статьи Неймана [10]). Фон Нейман отметил еще два обстоятельства, связывающие тер- модинамику и теорию автоматов. Во-первых, он нашел аналог термодинамическому вырождению в теории самовоспроизводящихся автоматов: ниже некоторого минимального уровня сложность и сте- Введение редактора 47
пень организации вырождаются, а выше этого уровня они не вы- рождаются и даже могут возрастать. Во-вторых, он рассмотрел термодинамический аспект понятия равновесия в конструкции вы- числительной машины. Эффективность работы вычислительной маши- ны зависит от соответствующего равновесия ее отдельных частей в отношении быстродействия и размеров. Например, в иерархически построенной памяти различные виды памяти (транзисторы, кольца, лента) должны подходить друг другу по скорости и размерам. Вычис- лительная машина, в которой арифметический узел работает слиш- ком быстро для данной памяти или же память слишком мала, подоб- на тепловой машине, которая не эффективна вследствие большой разницы температур отдельных ее частей. Эффективность вычисли- тельной машины следует определять с учетом окружающей среды (т. е. в зависимости от решаемых задач), точно так же эффективность тепловой машины связана с окружающей средой. Эти вопросы соответствия и равновесия частей решаются инженерами эмпириче- ски. Фон Нейман хотел, чтобы была создана количественная теория равновесия, подобная термодинамике. В заключение отметим, что фон Нейман считал, что математика в теории автоматов должна начинаться с математической логики и двигаться в сторону анализа, теории вероятностей и термодинами- ки. Достаточно развитая теория автоматов помогла бы нам разо- браться в автоматах большой сложности, в частности в нервной системе человека. Математическое размышление человека осуще- ствляется его нервной системой, и «первичный» язык, на котором оно ведется, аналогичен первичному языку вычислительной маши- ны (см. стр. 34). Таким образом, вполне возможно, что теория авто- матов в свою очередь повлияет на логику и на фундаментальные понятия математики. Мне кажется, что более глубокое математическое исследование нервной системы... повлияет на наше понимание тех сторон самой математики, которые будут затронуты этим исследованием. Фактически оно может изменить нашу точку зрения на собственно математику и логику (Нейман [2, стр. 12]) 1). Сейчас логика лежит в основании математики; следовательно, если фон Нейман в своем предвидении был прав, то теория автома- тов совершит полный круг — начнет с оснований математики и сно- ва вернется к ним. АРТУР В. БЁРКС Э См. также Улам [1, стр. 12].
ЧАСТЬ I ТЕОРИЯ И ОРГАНИЗАЦИЯ СЛОЖНЫХ АВТОМАТОВ
[Замечания редактора взяты в квадратные скобки. Реконструи- рованный текст рукописи фон Неймана в скобки не заключен, но большая его часть также подверглась основательному редактиро- ванию. См. предисловие.]
ЛЕКЦИЯ 1 ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ Умозрительные и численные методы мате- матики. Роль последних в прикладной математике и математической физике. Их роль в чистой математике. Положение в анализе. Численная обработка для эвристических целей. Различные формы численного подхода: аналоговая и цифровая. Аналоговая процедура: использование физического эксперимента для вычисли- тельных целей; аналоговые вычислитель- ные машины. Цифровая процедура: вычисления вруч- ную; простые машины; полностью авто- матизированные вычисления. Современное состояние вычислительной техники. Роль аналоговых и цифровых вычислительных машин в настоящее время. Вопросы скорости, программирования и точности. Понятие элементарной опера- ции в вычислительной машине. Ее роль в аналоговых вычислительных машинах и в цифровых машинах. Несколько слов о компонентах аналоговой вычислитель- ной машины, цифровой машины. Релейный орган. Основные типы: электромеханическое реле; электронная лампа; другие возможные типы релейных элементов. Измерение длины или сложности вычисления. Логические п арифметические операции. Линейные и нелинейные арифметические операции. Роль количества операций умножения. Устойчивость статистических характеристик различных частей математики. Особая роль анализа. Различные характерные уровни длины или сложности. Объем характерных задач, решаемых на автоматической цифровой вычислительной машине. Требования к точности. Требования к памяти: измерение емкости памяти; важнейшие характери- стики памяти: время выборки и емкость; причины иерархической организации памяти; реальные требования к памяти автоматической цифровой машины. Вход — выход: основные из имеющихся способов. Понятие равновесия: равновесие скоростей различных компонентов, равно- весие емкостей памяти на различных ступенях иерархической лестницы и скоро- стей. Баланс между скоростью и точностью. Баланс между скоростью, емкостью памяти и объемом программирования. Термодинамические аспекты понятия равновесия. Термодинамические аспекты, связанные с емкостью памяти. Необходимость количественной теории вместо применяемых сейчас эмпирических методов. Предварительные замечания о надежности и ошибках. Дамы и господа, я хочу поблагодарить вас за очень дружескую реакцию по поводу предстоящих моих пяти выступлений перед вами и надеюсь, что смогу удовлетворить тот широкий круг разно- образных интересов, который здесь представлен. Я расскажу вам об автоматах — о поведении очень сложных автоматов и о тех край- не специфических трудностях, к которым приводит высокая степень сложности. Я вкратце остановлюсь на весьма правдоподобных, весьма очевидных аналогиях, приходящих на ум при сравнении искусственных автоматов с организмами, которые в определенных пределах своего функционирования являются естественными автома- Лекция 1. Вычислительные машины 51
тами. Мы рассмотрим черты сходства и различия, разберемся, в ка- кой степени различие зависит от наших способностей и от нашей неуклюжести (последняя, между прочим, более обычное явление), обсудим, насколько эти различия принципиальны. Сегодня я буду говорить главным образом об искусственных автоматах, в особенности об одной их разновидности — о вычисли- тельных машинах. Я расскажу об их роли в недалеком прошлом, в настоящем и о том, что мы ждем от них в будущем. Я начинаю с вычислительных машин отчасти потому, что меня интересует в теории автоматов математика, а с математической точки зрения вычислительные машины наиболее интересны и важны. Но совершенно независимо от этого возникает важная проблема автоматов очень и очень высокой сложности. Из всех автоматов высокой сложности вычислительные машины выделяются тем, что дают нам надежду хоть что-то понять. Даже вычислительные машины очень высокой сложности являются прежде всего математическими объектами, и мы их можем представить себе лучше, чем большинство естественных объектов. Поэтому, изучая вычислительные машины, можно несравненно более четко, чем в случае других типов автома- тов, обсуждать, что мы знаем, а чего нет, что правильно, а что невер- но и какие существуют ограничения. Вы увидите, что наше обсуж- дение сложных автоматов далеко от совершенства и один из наших основных выводов состоит в том, что нам очень нужна теория, которой мы сейчас не располагаем. Позвольте мне сначала сказать несколько слов о чисто матема- тической стороне дела, а именно о той роли, которую вычислительная техника сыграла или могла бы сыграть в математике и смежных дисциплинах. Говоря о численных расчетах вообще, нет необходи- мости останавливаться на той роли, которую они могут сыграть во многих приложениях математических методов. Совершенно ясно, что в технике численные расчеты имеют большое значение. Они нашли бы еще большее применение в технике, если бы их можно было делать в гораздо большем количестве и гораздо быстрее. Перейду теперь к менее очевидным вещам. Ясно, что математи- ческие методы в физике, и особенно в теоретической физике, играют важную роль и в большинстве своем относятся к чистой математи- ке, т. е. являются абстрактными и аналитическими. А эффективные вычислительные методы в физике играют несравненно более важную роль, чем та, которую можно было бы от них ожидать в собственно математике. Например, эффективные итеративные вычисления могли бы оказаться весьма полезными во многих областях современной квантовой теории. Заметную часть химической науки можно было бы перевести из области лабораторных экспериментов в область чисто теоретическую и математическую, если бы можно было про- интегрировать соответствующие уравнения квантовой теории. В кван- Часть Г. Теория и организация сложных автоматов 52
товой механике и в химии имеется непрерывный спектр задач воз- растающей трудности и возрастающей сложности, например иссле- дование атомов с возрастающим числом электронов и молекул с возрастающим числом валентных электронов. Почти каждое усо- вершенствование существующих методов вычислений открыло бы новые важные области приложений и позволило бы применить стро- гие теоретические методы в новых разделах химии. Однако я не собираюсь углубляться в подробности, а хочу вкрат- це показать, какую роль такие вычисления могли бы сыграть в соб- ственно математической науке, т. е. в чистой математике. В чистой математике действительно мощные методы оказываются полезными только в том случае, если уже имеется определенный интуитивный контакт с объектом, если еще до проведения доказательства мы уже имеем некоторое интуитивное представление, некоторое интуи- тивное предположение, которое в большинстве случаев оказывается потом верным. Тогда мы уже уверены в успехе и предвидим направ- ление, в котором надо искать интересующий нас результат. В любой новой отрасли математики есть опасность натолкнуться на порочный круг: приложение соответствующих методов чистой математики встречает очень большие трудности, если отсутствует разумное интуитивное эвристическое представление о предмете и не получено никаких положительных результатов в этой области. На ранних стадиях развития любой дисциплины это оказывается существенным препятствием, дальнейший прогресс носит уже автокаталитический характер. Эта трудность преодолевается, если появляется какая- нибудь исключительно удачная или необычайно остроумная работа; к сожалению, имеются примеры, где за время жизни двух, трех и даже четырех поколений это так и не произошло. Одной из таких областей, которая в течение некоторого време- ни была в центре внимания, является область нелинейных задач. Бурное развитие математики XIX века, а также современного ана- лиза дало возможность достичь больших успехов в решении линей- ных задач. В обращении с нелинейными задачами у нас намного меньше опыта, и о большинстве нелинейных уравнений в частных производных мы практически ничего сказать не можем. Мы ни разу не достигли здесь успеха и поэтому абсолютно не представляем себе, каковы здесь трудности. В тех немногих случаях, когда все же удавалось получить какие- то результаты, это было обусловлено различными причинами, например тем, что с данной математической задачей тесно связано некоторое самое обычное физическое явление, так что исследователь мог привлечь нематематические (в данном случае физические) сооб- ражения. В таких задачах мы столкнулись с наиболее удивитель- ными типами особенностей, которые не имеют абсолютно никаких аналогий в линейных задачах, т. е. в таких разделах математического Лекция 1. Вычислительные машины 53
анализа, как теория функций комплексного переменного и т. д. Это со всей ясностью убеждает нас в том, что для решения нелинейных задач требуются совершенно новые методы. Классический пример — нелинейное уравнение в частных производных для сжимаемого невязкого потока; оно привело к открытию явления ударных волн. В задаче, где, как казалось, должны были получиться лишь непре- рывные решения, неожиданно приобретают важнейшую роль раз- рывные решения, без надлежащего учета которых невозможно доказать ни единственность, ни существование решений. Более того, эти нерегулярные решения ведут себя очень своеобразно и нарушают ряд закономерностей, которые, как мы полагали на осно- вании данных из других разделов анализа, были уже твердо уста- новлены. Другой хороший пример — явление турбулентности при наличии вязкости. Здесь неожиданно обнаруживается, что действительно важные решения задачи, обладающей высокой симметрией, сами такой симметрией не обладают. С эвристической точки зрения пред- ставляется важным не нахождение простейшего решения этой зада- чи, а статистический анализ отдельных больших семейств решений, не имеющих между собой ничего общего, кроме некоторых стати- стических свойств. Эти статистические свойства, составляющие сущ- ность проблемы, и вызывают весьма специфические особенности во многих частных решениях. Есть основания полагать, что во всех таких случаях аналитические методы натолкнутся на большие труд- ности. Упомянутая задача турбулентности насчитывает уже около 60 лет, однако продвижение в ее аналитическом исследовании очень мало х). Почти все верные математические догадки в этой области возник- ли самым различным образом из эксперимента. Если бы можно было вычислить решения в некоторых критических ситуациях, подобных указанным выше, то у нас, вероятно, появилось бы гораздо больше эвристических идей. Позже я попробую привести несколько соот- ветствующих примеров, а сейчас лишь подчеркну, что существуют обширные разделы чистой математики, где мы блокированы специ- фическим взаимоотношением строгих и интуитивных представле- ний, каждое из которых нуждается в другом, и где почти весь имею- щийся прогресс обеспечен нематематическим процессом эксперимен- тирования с физическими проблемами. Вычислительные методы, тоже не относящиеся к математике в ее традиционном понимании, но все же более близкие к центральным разделам математики, чем экспериментирование такого типа, могли бы оказаться в этих раз- делах более удобным и более адекватным средством, чем экспери- ментирование. 2) [См. далее Нейман [1, т. 5, стр. 2—5] и Биркгоф [1].] Часть I. Теория и организация сложных автоматов 54
Позвольте мне перейти теперь к нашему основному предмету и сказать несколько слов об общих чертах вычислительных процес- сов и вычислительных машин. Как вам, вероятно, известно, основ- ные типы существующих, обсуждаемых и проектируемых в настоя- щее время вычислительных машин можно разбить на два больших класса: супераналоговые приборы и цифровые приборы. Я опишу сначала аналоговые приборы, т. е. более широкий из этих классов, поскольку обычно точно определяется класс цифровых приборов, а аналоговые приборы — это по существу все остальное. При аналоговом вычислении, грубо говоря, вы наблюдаете за некоторым физическим процессом, описываемым точно такими же математическими уравнениями, что и интересующий вас процесс, причем физический процесс исследуется физическими методами. Вы не рассматриваете интересующий вас физический процесс, так как именно он привел вас к необходимости проводить вычисления. Вы всегда следите за чем-то, что похоже на него, но в точности не совпадает. Небольшая модификация состоит в использовании другого мас- штаба; в некоторых задачах это обычно оказывается возможным. Еще больше модифицирует этот способ вычислений сочетание нового масштаба с другими изменениями. Например, при осуществлении аэродинамического эксперимента в аэродинамической трубе вы изменяете масштаб линейных размеров и, кроме того, скорость звука. Изменить скорость звука можно, лишь переходя к более низким температурам, и здесь действительно нужна интуиция. Надо быть уверенным, что интересующее вас явление не зависит от тем- пературы. Далее вы обнаруживаете, что легче осуществить экспе- римент при пониженной температуре и с гораздо меньшими разме- рами, чем реализовать интересующий вас процесс. При этом аэро- динамическая труба становится в некотором смысле аналоговым вычислительным прибором, предназначенным для аэродинамиче- ского экспериментирования. Это не совсем удачное сравнение, так как аэродинамическая труба, помимо вычислений, может служить и для других целей, но во многих приложениях (безусловно состав- ляющих ненамного менее 50%) она служит просто аналоговым вычис- лительным прибором. Очень скоро вы сталкиваетесь со случаями, в которых не будете поступать точно таким же образом, ибо невозможно (либо неудобно) подыскать физический процесс, описываемый такими же уравнения- ми, что и интересующая вас задача. Но можно разбить задачу на несколько подзадач и найти несколько различных процессов, опи- сываемых теми же уравнениями, что и соответствующие подзадачи; затем объединить эти процессы таким образом, чтобы, последова- тельно осуществляя их, получить полный ответ. От такой ситуации можно перейти к ситуациям, в которых задача действительно раз- Лекция 1. Вычислительные машины
бивается на элементарные арифметические операции: сложение, умножение, вычитание, деление. [Далее фон Нейман обсуждает физические аналоговые процессы сложения, умножения, вычитания и деления. Он рассматривает как электрические, так и механические аналоговые процессы и способ представления в них чисел. Он говорит: «Четыре типа ариф- метических операций (сложение, вычитание и т. д.), которые при любом аксиоматическом исследовании в математике принимаются в качестве элементарных операций, уже не обязательно будут эле- ментарными операциями вычислительной машины, в особенности аналоговой вычислительной машины». Он объясняет, как именно дифференциальный анализатор перемножает две постоянные. (См. Нейман [2, стр. 13—14] и [1, т. 5, стр. 293].)] [Фон Нейман обращается затем к цифровым вычислительным машинам. Он отмечает, что за последние 10 лет цифровые приборы приобрели большее значение по сравнению с аналоговыми. Он рас- сматривает компоненты цифровых машин (зубчатые колеса, элек- тромеханические реле, электронные лампы, нервные клетки), ско- рость работы этих компонент (включая как время реакции, так и время восстановления) и подчеркивает необходимость увеличения мощности этих компонент. Он говорит о роли основных логических операций (таких, как реакция на совпадение) в управляющих меха- низмах, в том числе и в «наиболее изощренном из известных управ- ляющих механизмов, а именно в нервной системе человека». (См. Нейман [2, стр. 16—18, 29—30, 38—40].) Далее он переходит к про- блеме измерения сложности автомата.] Не совсем понятно, как надо измерять сложность автомата. Для вычислительных машин разумно было бы, вероятно, подсчитывать общее число используемых электронных ламп. Однако здесь появ- ляется неопределенность, связанная с тем, что некоторые имеющие- ся типы электронных ламп состоят на самом деле из двух электрон- ных ламп, помещенных в один баллон; в этом случае никогда нельзя точно знать, о какой именно из этих двух ламп идет речь. Другая причина заключается в том, что кроме электрон- ных ламп в схему вычислительной машины входит много другого электрического оборудования: сопротивления, емкости и, возмож- но, индуктивности. Но отношение общего количества этого обору- дования к числу электронных ламп остается в допустимых пределах постоянным, так что, по-видимому, можно взять число ламп в каче- стве меры сложности автомата. Наибольшая из когда-либо применявшихся вычислительных машин содержит 20 тысяч электронных ламп х). Эту машину нельзя считать *) [Имеется в виду машина ENIAC, описанная в работах Бёркса [2, 4], Голдстайн и Голдстайна [1], Брайнерда и Шарплеса [1].] Часть I. Теория и организация сложных автоматов 56
типичной, ибо ее конструкция сильно отличается от конструкций тех вычислительных машин на электронных лампах, которые нам представляются в будущем. Вычислительная машина, которую многие считают машиной самого ближайшего будущего, будет намного меньше: вероятно, в ней будет от 2 до 5 тысяч ламп. Таким образом, грубо говоря, порядок величины сложности этих машин равен 10 тысячам. Чтобы вы могли сравнить это с естественными организмами, я скажу, что число нервных клеток в естественном организме может сильно отличаться от этой величины. Число нервных клеток в цен- тральной нервной системе человека оценивается в 10 миллиардов. Это число очень велико, так что у нас, конечно, нет абсолютно ника- кого опыта в обращении с такими порядками величин. Необычайно трудно сформулировать какую-либо разумную идею о том, могут или нет такие сложные вещи, как человеческое поведение, управ- ляться 10 миллиардами переключательных органов. Это было бы сопоставлением двух неизвестных объектов, поскольку никто точно не знает, что делает человек, и никто не сталкивался с переключа- тельным органом, состоящим из 10 миллиардов единиц. Остановлюсь теперь на некоторых вещах, более тесно связанных с вычислительными машинами. Если с помощью электронной лампы вы можете повторить элементарный акт (такой, как переключение) миллион раз в секунду, то это еще не значит, разумеется, что вы при этом выполняете нечто, что с точки зрения математики оцени- вается как миллион раз в секунду. Подходить к оценке скорости работы вычислительной машины можно по-разному. Бытует, напри- мер, такое разумное соглашение, что следует подсчитывать число умножений, производимых за одну секунду. Под умножением здесь понимается умножение двух полных чисел с точностью, на которую» рассчитана машина. Разумно было бы считать такую точность рав- ной 10, 12 или 14 десятичным знакам. Машина обычной конструк- ции, элементы которой имеют скорость около 1 миллиона в секун- ду, будет, вероятно, умножать за время порядка 1 милли- секунды. Независимо от того, как вы будете работать на вычислительной машине, вы просто не в состоянии будете использовать ее возмож- ности на 100%. Я имею в виду, что невозможно (на современном этапе развития) наладить работу машины так, чтобы устройство, способное перемножать за одну тысячную долю секунды, реальна загрузить данными для умножения. Нужно сделать еще очень многое: решить, какие числа требуются, получить эти числа, раз- местить результат, решить, будете ли вы делать то же самое еще раз или следует сделать что-то другое, и т. д. Это удивительно напо- минает ситуацию, когда вы складываете числа прямо на движущем- ся листе бумаги, причем то, что сдвинуто, стирается. Лекция 1. Вычислительные машины 57
С логической точки зрения эта эффективность имеет, вероятно, порядок 1 к 10 или несколько лучше. Иными словами, при любом приемлемом логическом описании того, что вы делаете, в программе, отвечающей распространенным алгоритмадг формальной логики, команды умножения будут находиться где-то между 5 и 10 коман- дами. Так как операция умножения более медленная, чем другие, то в тех машинах, которые, по мнению многих, хорошо скомпонова- ны, хорошо сбалансированы, вы, вероятно, потратите на умножения от одной четверти до половины всего времени вычисления. Таким образом, если ваш умножитель способен производить одно умноже- ние за миллисекунду, то в лучшем случае вы добьетесь 500 умноже- ний в секунду. Ручной счет с помощью арифмометра дает примерно 2 умножения в минуту. Таким образом, ускорение счета можно довести до 100 тысяч. Но чтобы выйти за этот диапазон, вероятно, придется ради- кально менять существующую методику. С математической точки зрения вопрос заключается в том, могли бы мы что-нибудь сделать с этой скоростью, если бы мы ею распола- гали. Мне очень хочется обратить ваше внимание на то, что имеет смысл рассчитывать на максимально возможную скорость: на такую, в десять раз большую, в сто раз, в тысячу, в миллион раз. Задачи, которые, несомненно, нужно решать, оправдали бы скорости, намно- го превосходящие те, о которых можно сейчас думать. [В качестве примеров фон Нейман приводит квантовомеханические расчеты, связанные с атомными и молекулярными волновыми функциями (где комбинаторные трудности очень быстро растут с числом электро- нов), и задачу турбулентности.] Хотя это и не относится непосредственно к моей теме, я бы хотел указать на то, что вряд ли мы захотим применять вычислительные машины для получения больших объемов цифрового материала, например каких-нибудь необыкновенно больших таблиц функций. К вычислительным машинам нас заставляет обращаться отнюдь не желание получить много информации. В конце концов уже тот факт, что вы хотите получить информацию, означает, что вы пред- ставляете себе, что как-то можете ее усвоить. Иными словами, вы хотите получить столько информации, сколько можете воспринять, поэтому, где бы ни располагалось самое узкое место в том автома- тическом оборудовании, которое создает и обрабатывает эту инфор- мацию, еще более узким местом является человеческий мозг, куда в итоге и поступает информация. Действительно, трудные задачи обладают тем свойством, что в них обычно входит небольшое количество данных. Все, что вы, вероятно, хотите получить, это несколько чисел, по которым можно набросать график, или даже одно число. Все, что вы, вероятно, хотите в итоге знать, это «да» или «нет», есть устойчивость или нет, Часть I. Теория и организация сложных автоматов 58
возникает турбулентность или нет. Дело в том, что вы не можете, имея на входе, скажем, 80 чисел, получить на выходе 20 чисел и при этом не создать по ходу вычисления около миллиарда чисел, которые никому не интересны. Этот процесс таков, что объем обрабатываемо- го материала сначала расширяется, а затем опять сужается, и если процесс начинается с низкого уровня, скажем со 100 чисел, и кон- чается на низком уровне, например 10 числами, то максимум в про- межутке достаточно высок (порядка нескольких тысяч) и число последовательных этапов велико, так что приходится обрабатывать порядка 10 миллионов чисел, прежде чем получить на выходе свои 10 чисел, которые-то и нужно знать. Эти оценки весьма реалистичны: нетрудно найти задачи с подобной численной структурой. Вы уже, наверное, обратили внимание на то, что я ввел в рас- смотрение одно характерное свойство, а именно полную величину числового материала, создаваемого в некотором процессе. Другое важное свойство связано с тем, сколько чисел вы хотите иметь одно- временно. Это, вероятно, одна из наиболее животрепещущих про- блем в современной технике вычислительных машин. Точно такая же проблема возникает и в отношении памяти человека. Итак, все эти автоматы действительно состоят из двух важных частей: общей переключательной части (активная часть, определяющая те логиче- ские операции, которые предназначено осуществлять автомату) и памяти (в которой хранится информация — главным образом промежуточные результаты, нужные временно, а затем отбрасывае- мые и заменяемые другими). Сейчас уже хорошо известно, как сделать активную часть вычис- лительных машин, их арифметические и управляющие цепи. На протяжении последнего десятилетия гораздо более важными были нерешенные вопросы, связанные с памятью. Сейчас они стали еще более важными и продолжают оставаться открытыми. В организме человека переключательная часть построена на нервных клетках, и у нас есть определенные сведения об их функционировании. Что же касается органов памяти, то у нас нет даже туманного намека, где они и какие они. Мы знаем, что требования к памяти человека велики, но имеющийся здесь опыт говорит за то, что маловероятно, чтобы память размещалась в нервной системе, и на самом деле сов- сем неясно, что же это такое х). Таким образом, и в вычислительной машине, и в нервной системе человека динамическая часть (пере- ключательная часть) автомата проще, чем память. [Далее фон Нейман рассматривает вопрос о том, как измерять емкость памяти. Он предлагает использовать логарифм по основа- нию 2 от конфигурационного числа, т. е. от числа всех возможностей (см. Нейман [1, т. 5, стр. 341—342]). Затем он оценивает емкость 2) Этот вопрос подробнее рассматривается в работе Неймана [2, стр. 48—52]. Лекция 1. Вычислительные машины 59
памяти обычной печатной страницы в 20 тысяч единиц и отмечает, что она близка к емкости памяти обсуждаемых вычислительных машин.] Отсюда видно, в каких пределах заключена реальная цена ско- рости. Большая современная вычислительная машина весьма дорого стоит, ее нужно долго строить и она оказывается весьма ненадеж- ной в работе. И при этом еще придется обойтись памятью, экви- валентной одной печатной странице! Если такая машина работает нормально, то она за полчаса может проделать столько вычислений, сколько группа из 20 человек делала бы 2—3 года. И при этом маши- на обойдется памятью в одну печатную страницу! Представьте себе, что вы нанимаете 20 человек, закрываете их в одной комнате на 3 го- да, даете им 20 арифмометров и ставите такое условие: решить зада- чу, имея в течение всего отведенного им времени на всех одну стра- ницу, которую они могут исписать полностью, причем можно стирать любые величины и вписывать их вновь, но в каждый данный момент в их распоряжении лишь одна страница. Ясно, где узкое место этого процесса. Может оказаться трудно составить план, могут быть не- удобными вход и выход ит. д., но главная неприятность в том, что феноменально мала память, которой можно пользоваться в процессе вычислений. Вся методика вычислений будет полностью наруше- на таким modus operand! *). Такая экономия совершенно неоправдана. Переходя к высокой скорости, вы отказываетесь от эффективных методов хранения информации и вынуждены пользоваться неэффективными методами. Память вычислительной машины на тысячу чисел — весьма крупный объект, а создание его требует много времени; все сущест- вующие сейчас типы памяти носят в значительной степени экспе- риментальный характер, и ни один из них не является ни компакт- ным, ни дешевым. И при этом все они эквивалентны печатной стра- нице! Причина, по которой мы вынуждены пользоваться такой памятью, заключается в следующем. [Для каждого умножения нужны определенные числа из памяти, и результат часто поступает обратно в память. Для выполнения других арифметических операций также необходимо обращаться к памяти. Из памяти поступают и команды, управляющие этими арифметическими операциями.] На каждое умножение приходится, по-видимому, от 5 до 8 обращений к памяти. Таким образом, нет смысла использовать миллисекундное перемно- жающее устройство до тех пор, пока мы не располагаем памятью со временем выборки порядка одной десятой миллисекунды. Далее, выборка из типографской книги занимает секунды, выборка сведе- ний с перфокарт или рукописного текста занимает доли секунды. Поскольку нам нужно время выборки порядка одной десятитысяч- Способ действия (лат,).— Прим, перев. Часть I. Теория и организация сложных автоматов 60
ной секунды, мы вынуждены отказаться от этих эффективных спо- собов хранения информации и перейти к чрезвычайно малоэффектив- ной и дорогой методике. При сравнении искусственных автоматов с естественными нельзя забывать об одной важной детали, про которую мы ничего не знаем: была ли когда-нибудь подвержена такому гандикапу природа, т. е. имеются ли в естественных организмах намного более совершенные приборы памяти? Так как механизмы вторичной памяти, созданные человеком (например, библиотеки), намного эффективнее, есть все основания предполагать, что естественные механизмы памяти столь же нелепы, как быстродействующая память, с которой, как нам кажется, мы должны работать. Но мы практически ничего об этом не знаем. Позвольте мне сегодня, прежде чем закончить, упомянуть еще одно обстоятельство. Память, которая нужна нам в любой быстро- действующей машине, можно охарактеризовать двумя числами: емкостью и временем выборки. [Фон Нейман говорит, что современ- ная техника не позволяет строить память, обладающую адекватной емкостью и достаточно хорошим временем выборки. Все, что делается сейчас, состоит в создании иерархии памятей. Первая память обла- дает необходимой скоростью, но недостаточно велика по размерам. Вторая память намного больше, но медленнее. Числа по мере необ- ходимости переходят из второй памяти в первую. Можно сделать и третью память, которая будет больше, но медленнее, и т. д. При- мером такой иерархии памятей могут служить память на электро- статической трубке, магнитная лента и картотека. См. Нейман [2, стр. 31—34].]
ЛЕКЦИЯ 2 ДЕТЕРМИНИРОВАННАЯ 1) ТЕОРИЯ УПРАВЛЕНИЯ И ИНФОРМАЦИИ Теория информации: точная часть, по- нятие информации, соответствующее ло- гико-математическое понятие множеств и разбиений. Тесная связь с формальной логикой. Альтернативный подход через модель- автоматы. Общие черты этих двух под- ходов: свойство «все пли ничего», ра- бота, объединяющая оба подхода. Методы описания автоматов: синтез из компонентов, рассмотрение в целом. Метод синтеза: природа элементов-ор- ганов, их сходство с нейронами. Прог- рамма Маккаллока и Питтса: сети из формальных нейронов, основной резуль- тат. Рассмотрение в целом: теория автома- тов Тьюринга, соотношение автомата и математических задач, решаемых с его помощью, понятие об универсальном автомате, основной результат Тьюринга. Ограниченность автоматов Маккаллока и Питтса. Вход и выход. Их обобще- ние. Интерпретация их как сенсорных и моторных органов. [Фон Нейман говорит, что теория информации состоит из двух частей — точной и вероятностной. Вероятностная часть наиболее важна для современной вычислительной техники, а точная часть служит необходимым введением к ней. Эта точная часть теории ин- формации представляет собой просто иной способ работы с формаль- ной логикой.] [Затем он объясняет некоторые из основных понятий формаль- ной логики. Он кратко рассматривает такие связки, как «и», «нет», «если..., то» и «ни один», и возможность определения одних через другие. Он разъясняет понятия переменной и кванторов «все» и «не- которые». Он заключает: «С помощью такого аппарата можно выра- зить все, чем занимаются в математике, или, если уж на то пошло, в любой области, но при условии, что все делается корректно».] Я не хочу углубляться в этот вопрос, так как для построения теории информации больше подходит другой аппарат, тесно связан- ный с этим, но несколько отличающийся по внешнему виду. Идеи его заложены в статье Маккаллока и Питтса [1] * 2), с одной стороны, п в работе Тьюринга [3], с другой. Эти авторы сделали попытку заме- нить здесь формальную логику (и ту, о которой я говорил, и клас- сическую) рассмотрением некоторых фиктивных механизмов, или аксиоматических автоматов с бумажной лентой — их просто описать, но их никто никогда не пытался построить. Маккаллок, Питтс и Тьюринг показали, что их фиктивные меха- низмы не противоречат формальной логике. Другими словами, то, Э В оригинале rigorous — строгий, точный.—Прим, перев. 2) [См. также Нейман [7, разд. 1—7], Бёркс, Райт [1], Клипи [2].] Часть I. Теория и организация сложных автоматов 62
что их автоматы могут делать, можно записать в логических терми- нах и, обратно, то, что можно строго описать в логических терминах, могут сделать эти автоматы. [Фон Нейман предполагает, что конеч- ная нейронная сеть Маккаллока и Питтса снабжена бесконечной чистой лентой. При этом он ссылается на эквивалентность вычисли- мости по Тьюрингу, Х-определимости и общей рекурсивности. См. Тьюринг [2].] Я хочу остановиться на работах Маккаллока, Питтса [1] и Тью- ринга [3], поскольку они отражают два очень важных способа понять существо вопроса: синтетический и интегральный. Маккаллок и Питтс построили структуры из очень простых элементов, так что определить аксиоматически надо было только эти элементы, а затем из них можно создавать комбинации любой сложности. Тьюринг дал аксиоматическое описание того, каким должен быть весь автомат в целом, и не оговаривал, из каких элементов он состоит, а только объяснил, как он должен функционировать. Работа Маккаллока и Питтса определенно была задумана как простая математическая, логическая модель, которую можно было бы использовать при изучении нервной системы человека. То, что она привела к построению, оказавшемуся эквивалентным формаль- ной логике, совершенно замечательно. Это только часть той идеи, которую они хотели воплотить. Предложенную ими модель можно рассматривать еще и с другой стороны, хотя эта сторона их модели в данную минуту интересует меня несколько меньше, но я останов- люсь на ней сейчас, правда не объясняя, какое отношение она имеет к формальной логике. Итак, они хотели рассматривать нейроны. При этом они решили не вникать в сложные физиологические и хи- мические детали того, чем на самом деле является нейрон. Они поль- зовались методом, известным в математике под названием «аксио- матический», начав с нескольких простых постулатов и не касаясь того, как природа умудряется создавать такие хитрые уст- ройства. Они пошли дальше. Их работа подверглась суровой критике, но мне кажется, что тот шаг, который ими был сделан, можно оправ- дать. Они сказали, что хотят аксиоматизировать не нейрон как таковой, а идеализированный нейрон, который несравненно проще настоящего нейрона. Они верили, что сильно обедненный, упрощен- ный, идеализированный объект, который они аксиоматизировали, обладает всеми существенными свойствами нейрона, а все осталь- ное — это несущественные усложнения, о которых при первом ана- лизе лучше забыть. Я совершенно уверен в том, что пройдет много времени, прежде чем с этим согласятся все, если это вообще случит- ся. Но уже сейчас не вызывает сомнения то, что, сделав такую идеа- лизацию, можно быстрее понять хотя бы какую-то сторону интере- сующего нас объекта. Лекция 2. Детерминированная теория управления 63
Дадим определение тому, что мы будем называть нейроном. Быть может, лучше называть его формальным нейроном, потому что хотя он и имеет ряд существенных черт настоящего нейрона, но он им, разумеется, не является. Будем обозначать нейрон кружочком, символизирующим тело нейрона, вместе с отходящей от кружочка линией, символизирующей аксон этого нейрона. Стрелка служит для обозначения того, что аксон одного нейрона контактирует с телом другого. Нейрон может находиться в двух состояниях: воз- бужденном или невозбужденном. Механизм возбуждения в данном случае нас не интересует. Важна лишь его функциональная харак- теристика; с ней связано наличие определенного цикла: основное свойство возбужденного нейрона состоит в том, что он способен возбуждать другие нейроны. Где-то в конце сложной цепи нейронов он может возбуждать и нечто отличное от нейрона. Например, он приводит в состояние возбуждения мышцу, которая в результате этого выполнит какое-либо движение (физическое изменение), или железу, вырабатывающую определенный секрет (химическое изме- нение). Таким образом, возбужденное состояние нейрона в конеч- ном счете вызывает явления, выходящие за рамки нашего исследо- вания, и поэтому мы их не будем рассматривать. (Фон Нейман формулирует аксиомы, которым подчиняется взаи- модействие нейронов. Следуя Маккаллоку и Питтсу, он предпола- гает наличие стандартной задержки и временно пренебрегает «важ- ным явлением рефрактерности, состоящим в том, что после того как нейрон был возбужден, он некоторое время не способен к повтор- ному возбуждению». Несмотря на то что рефрактерность играет важную роль в функционировании организма (см. стр. 68), можно добиться, чтобы действие было непрерывным. Для этого надо рас- смотреть цепь нейронов, в которой каждый нейрон стимулирует следующий. Фон Нейман дает определение порога нейрона и вводит тормозные синапсы, обозначая их кружочками (вместо стрелок).] [Затем фон Нейман приводит то, что он называет «важным резуль- татом Маккаллока и Питтса». Представим себе черный ящик с не- сколькими входами и одним выходом. Возьмем два момента времени t2 и зададим, какие из входных сигналов, длящихся в промежутке времени от до t2, возбуждают выход, а какие нет.] Как бы ни были сформулированы эти условия, всегда можно поместить в ящик такую нейронную сеть, что они будут реализованы. Это означает, что общ- ность нейронной системы точно такая же, как общность логики. Тот факт, что с помощью этой системы можно что-то сделать, означает ни больше ни меньше как то, что вы знаете, о чем говорите, и можете с помощью конечного числа слов сформулировать это строго и не- двусмысленно. Я не будут приводить доказательство, которое, как и все доказательства формальной логики, не слишком легко воспро- извести. [Мы набросаем это доказательство очень коротко. Из самой Часть I. Теория и организация сложных автоматов 64
конструкции, на которую опирается фон Нейман, следует, что каждую переключательную функцию (функцию истинности, булеву функцию) можно реализовать некоторой нейронной сетью с фикси- рованной задержкой. К этой переключательной схеме можно под- соединить циклическую нейронную память произвольной конечной емкости. Если такую составную сеть снабдить бесконечной лентой, то получится машина Тьюринга. Более того, каждой машине Тьюрин- га М соответствует некоторая сеть такого типа, вычисляющая то же число, что и М.] [Фон Нейман показывает, как построить примеры сетей. На рис. 1 изображена сеть, в которой а доминирует над b, b доминирует над с, с доминирует над а. Каждый нейрон возбуждается (срабатывает), если он стимулирован по возбуждающему входу (вход со стрелкой), но не стимулирован по тормозному входу (вход с маленьким кружоч- ком). Поэтому если а и Ъ стимулированы оба, то выход а будет активным, а |3 нет; если b и с стимулированы оба, то выход |3 будет активным, а у нет; а если а и с стимулированы оба, то у будет актив- ным, а а нет. Фон Нейман использовал эту сеть для иллюстрации следующей мысли. Когда говорят, что поведение человека носит неколичественный характер, то при этом, видимо, имеют в виду, что в любом количественном механизме из утверждений «а силь- нее Ь» и «Ь сильнее с» следует, что а сильнее с. Однако в приведен- ной сети а сильнее b и Ъ сильнее с, но с все же сильнее а.] [Затем фон Нейман синтезирует ряд других сетей: простые запо- минающие устройства, счетчики и элементарную обучающуюся схему. Они приблизительно совпадают со схемами, приведенными в его работе [1, т. 5, стр. 342—345]. Обучающаяся схема имеет два входа а и Ь. Она подсчитывает, сколько раз стимуляция входа а сопро- вождается стимуляцией входа Ъ, Когда это число достигает 256, на выходе схемы появляется импульс, как только стимулируется Ъ, независимо от того, стимулируется ли а.] Вы видите, что можно построить схемы, на вид сложные, но на самом деле очень простые с точки зрения того, как они были синтезированы. Эти схемы имеют приблизительно такую сложность, какую они и должны иметь, а именно сложность грамматического описания. Начертить этот рисунок не труднее, чем составить фразу, объясняющую, что вы хоти- те. и по сути дела результат Маккаллока и Питтса заключается в том, что в действительности между этими двумя вещами нет боль- шой разницы. Точное словесное описание сосуществует с описанием на языке релейных органов. Теперь я остановлюсь на том, что отсюда следует с философской точки зрения. С совершенной определенностью отсюда следует, что все, что можно описать словами, можно сделать на нейронах. Кроме того, отсюда следует, что эти нервные образования не нужно наделять сверхъестественными способностями или необычайной сложностью. Лекция 2. Детерминированная теория управления 65
В самом деле, нет необходимости в том, чтобы они обладали возмож- ностями и сложностью реальных элементов, так как объекты, пред- ставляющие собой сильно упрощенные и обедненные нейроны, имею- щие намного меньше свойств и реагирующие куда более схематично, уже могут делать все, о чем вы можете подумать. Точно так же представляется важным и то, что не вытекает из результата Маккаллока и Питтса. Из него не вытекает доказатель- ства того, что любая схема, составленная таким образом, действи- тельно встречается в природе. Из него не вытекает, что другие функ- ции нервной клетки, которые выпали из нашего рассмотрения, не яв- ляются существенными. Из него не вытекает, что в утверждении «о чем ты думаешь, ты можешь описать» не осталось никаких проб- лем. Попытаюсь выразить эту мысль иначе. Изучая определенные стороны деятельности нервной системы человека, вы обнаружите,, что некоторые из них таковы, что каждый их элемент в отдельности легко описать, но вы будете поражены общим объемом того, что нужно для описания в целом. Предположим, вы хотите описать тот факт, что когда вы смотри- те на треугольник, вы понимаете, что перед вами треугольник, и вы понимаете это независимо от того, маленький он или большой. Относительно просто это описать геометрически: треугольник — это три отрезка прямых, расположенных определенным образом. Это, разумеется, правильно, но ведь вы назовете треугольником и фигу- ру с искривленными сторонами, вы узнаете треугольник, если ука- заны лишь его вершины или если внутренняя часть его заштри- хована, а внешняя нет. Вы назовете треугольниками много различ- ных вещей, каждая из которых носит некоторые черты треуголь- ника, но чем больше деталей вы попытаетесь учесть, тем длиннее будет ваше описание. К тому же узнавание треугольников — это ничтожная доля тех аналогий, которые мы обнаруживаем в геометрии и которые в свою очередь составляют ничтожную долю всех возможных зрительных аналогий. При этом каждый такой случай в отдельности мы еще в состоянии описать, но когда речь идет обо всем зрительном меха- низме, позволяющем интерпретировать рисунок, вкладывать что-то в него, мы сталкиваемся с областями, заведомо не поддающимися описанию на этом языке. Любой человек может дать интерпретацию тестам Роршаха г), но эта интерпретация будет зависеть от его инди- видуальности, от всей его предыстории, и это, по-видимому, очень хороший метод получить представление о характере этой личности. т) Испытуемому предъявляется изображенное на бумаге пятно неопределен- ных очертаний (которое получается, скажем, при размазывании по листу чер- нильной кляксы) и предлагается сказать, какие образы он видит в этом пятне. Роршах — швейцарский психолог 20-х годов.— Прим, перев. Часть I. Теория и организация сложных автоматов 6В
Словом, хотя все приведенное выше может показаться несколько надуманным и второстепенным, основной факт здесь состоит в том, что наш мозг чрезвычайно сложен. Примерно пятую часть головного мозга составляет его зрительный аппарат, который, насколько нам известно, не занят ничем другим, кроме принятия решений относительно зрительных аналогий. Если привлечь к рассмотрению числа, правда не очень надежные, но дающие, по-видимому, верную ориентацию, то придем к выводу, что сеть, содержащая порядка 2 миллиардов реле, не занимается ничем другим, кроме решения задачи, как организовать зрительный образ. Априори абсолютно не ясно, существует ли какое-нибудь более простое описание того, что такое зрительная аналогия, чем описание зрительного аппарата головного мозга х). Обычно литературное описание того, что должен делать автомат, проще, чем полная схема этого автомата. Однако априори неверно, что это всегда так. Многое в формальной логике говорит за то, что описание функций автомата проще, чем сам автомат, но лишь до тех пор, пока этот автомат не очень сложный, а когда уровень сложно- сти становится высоким, реальный объект проще, чем его литера- турное описание. Я здесь несколько искажаю одну замечательную логическую теорему Гёделя о том, что следующий за этим логический шаг — описание объекта — имеет более высокий логический тип и, следо- вательно, асимптотически [?] бесконечно более длинное описание. Я считаю, что это абсолютно неизбежно; когда такая ситуация возникнет, это просто вопрос степени усложнения. Я думаю, что по ряду причин можно подозревать, что именно так обстоит дело с вещами, производящими неприятно туманное и расплывчатое впечатление (вроде вопроса, что такое зрительная аналогия), где мы чувствуем, что никогда не дойдем до конца описания. В таком случае быстрее сделать что-то, чем описать, быстрее привести схему, чем дать общее описание всех ее функций и всех мыслимых обстоя- тельств. Очень важно понять, что сеть из формальных нейронов может сделать все, что можно описать словами, и это необычайно упрощает дело при низких уровнях сложности. Но при высоких уровнях сложности это не обязательно будет упрощением. Вполне возможно, что при высоких уровнях сложности ценность представляет собой обратное утверждение этой теоремы, т. е. она упрощает дело потому, что гарантирует обратное: можно выразить логику на языке этих построений, а прямое утверждение может быть и неверным. [Фон Нейман возвращается к этому вопросу на стр. 71 после обсуждения машин Тьюринга.] !) Этот пример обсуждается фон Нейманом в его работе [2].— Прим, перев. Лекция 2. Детерминированная теория управления 67
[Далее фон Нейман рассматривает два случая, в которых схемы из идеализированных нейронов, по-видимому, не дают объяснения, как же на самом деле центральная нервная система выполняет дан- ную функцию. Первый случай — это передача по нервному волокну непрерывного значения, представляющего некоторую величину, например давление крови. По нервному волокну при этом передают- ся импульсы, частота следования которых монотонно зависит от дав- ления крови. Это явление объясняется усталостью нейрона: после того как нейрон сработает, он в течение определенного периода, называемого периодом рефрактерности, не реагирует на входное возбуждение, и чем сильнее очередной стимул, тем раньше он срабо- тает снова. Затем фон Нейман ставит такой вопрос: «Почему цифро- вое представление, насколько нам известно, никогда не используется в природе, а вместо него используется импульсное представление?» Это именно тот вопрос, который его интересует. Он предполагает, что ответ заключается в том, что схема с частотной модуляцией обладает большей надежностью, чем цифровая схема. См. разд. 1.1.2.3 настоящей книги, а также работы Неймана [2, стр. 57—58] и [1, т. 5, стр. 306-308, 375-376].] [Второй случай, в котором схемы из идеализированных нейро- нов, по-видимому, не объясняют того, как на самом деле нервная система выполняет данную функцию, относится к памяти. Раньше фон Нейман построил схему памяти на идеализированных нейронах и отметил, что такую схему можно было бы сделать сколь угодно большой. Но он думает, что такая схема не является основным механизмом, употребляемым центральной нервной системой для запоминания.] Этот способ не годится для организации памяти по той простой причине, что использовать переключательный орган, подобный нейрону, или от шести до дюжины переключательных органов (столько на самом деле понадобилось бы из-за явления усталости), чтобы сделать такой пустяк, как запомнить одну двоич- ную единицу, было бы ужасно расточительно, так как переключа- тельный орган может делать гораздо больше, чем запоминать. Клас- сическим примером вычислительной машины, в которой переключа- тельные органы были использованы для запоминания чисел, служит ENIAG — громадное сооружение, содержащее около 20 тысяч элект- ронных ламп. Машина ENIAG примерно в 5 раз больше, чем после- дующие машины, которые должны быть (по замыслу) намного эффек- тивнее. Эта машина превосходна во многих отношениях, но она имеет один серьезный недостаток — очень маленькую память. Ее память способна запомнить всего лишь 20 десятичных чисел, но, несмотря на это, машина громадная. Причина состоит в том, что для запоми- нания в ней используются электронные лампы, т. е. переключа- тельные органы. Любое усовершенствование этой машины связано с за- меной стандартных электронных ламп в памяти другими элементами. Часть I. Теория и организация сложных автоматов 68
Требования к памяти центральной нервной системы человека, вероятно, очень высоки. Были проведены соответствующие оценки, и они дали величины порядка 1016 двоичных единиц. Я не буду пытаться оправдать эту оценку; в защиту любого подсчета можно наговорить очень много. Я думаю, что по многим причинам следует считать, что 1010 переключательных элементов (примерно столько мы имеем), вероятно, уже по порядку величины не годятся для размещения той памяти, которой мы пользуемся, и, по-видимому, лучше будет признать, что мы просто не знаем, где находится наша память. Относительно этого можно делать самые различные пред- положения. Можно предположить, что основой памяти является какое-то изменение синапсов нервных клеток, характер которого нельзя предугадать схемой. Не знаю, имеются ли надежные данные, подтверждающие это; я склонен думать, что их нет. Вы можете высказать догадку, что нервные клетки, помимо переключательных свойств, обладают большим числом других и что на этих других и основана память. Быть может, это и так, но я думаю, что мы ров- но ничего об этом не знаем. Вполне вероятно, что органы памяти совершенно другой природы, чем нейроны. Главная трудность с органами памяти состоит в том, что, видимо, нет специального места их расположения. Всегда непросто локали- зовать что-то в головном мозгу, ибо он обладает колоссальной способностью к реорганизации. Даже когда некоторая функция локализована в конкретном участке головного мозга, после удале- ния этого участка головной мозг может реорганизоваться, перера- спределить обязанности и исходная функция будет выполняться вновь. Эта приспособляемость головного мозга очень велика, и она затрудняет локализацию. Я подозреваю, что функция памяти лока- лизована меньше, чем что-либо еще. [См. Нейман [2, стр. 48—52].] Я хотел отметить эти два обстоятельства [уставание и память] как весьма очевидные упущения в подходе Маккаллока и Питтса к исследованию нервной системы. Теперь я хочу рассмотреть под- ход Тьюринга. Из теории Маккаллока и Питтса следует, что реаль- ный автомат, соответствующим образом описанный и аксиоматизи- рованный, эквивалентен формальной логике. В теории Тьюринга вывод делается в обратную сторону. Тьюринг интересовался фор- мальной логикой, а не автоматами. Он занимался доказательством теорем, относящихся к важной проблеме формальной логики, так называемой Entscheidungsproblem, проблеме разрешимости. Эта про- блема состоит в том, чтобы для некоторого класса логических выра- жений, или высказываний, определить, существует ли механический способ, позволяющий решить, истинно или ложно данное выраже- ние. Обсуждение Тьюрингом автоматов было просто формальным, логическим приемом изучения этой проблемы более ясным и более последовательным образом. Лекция 2. Детерминированная теория управления 69
[Фон Нейман приводит определение автомата по Тьюрингу. Если Маккаллок и Питтс начали с компонент или элементов, то Тьюринг начал с состояний. В каждый момент времени автомат находится в одном из конечного множества состояний. «Внешний мир»— это лента. Автомат способен воспринимать одну ячейку (клетку) этой ленты: он может изменить содержимое ячейки и передвинуть ленту на одну ячейку вправо или влево. Некоторый словарь предписывает для каждого состояния автомата и каждого символа на ленте, каким должно стать следующее состояние и что должно быть сделано с лентой. Лента имеет одну отмеченную ячейку. С самого начала на ленту может быть нанесена какая-то конечная программа. Двоич- ные числа, сосчитанные автоматом, записываются в ячейках через одну, начиная от отмеченной.] [Далее фон Нейман описывает результат Тьюринга, относящийся к универсальным автоматам. Существует универсальный автомат А со следующими свойствами. Для каждого автомата А существует такая последовательность инструкций /а, что для любой последо- вательности инструкций I автомат А, снабженный инструкциями 1А и I, вычисляет то же самое число, что и автомат Л, снабженный инструкциями I.] Автомат А способен имитировать любой автомат, даже намного более сложный. Таким образом, меньшая степень сложности автомата может быть скомпенсирована соответствующим увеличением сложности инструкций. В исследовании Тьюринга важно то, что если автомат сконструирован правильно, то можно удовлетворить любым дополнительным требованиям к этому авто- мату, если применить достаточно тщательно построенные инструк- ции. Это верно, только если автомат А достаточно сложен, т. е. достиг некоторого минимального уровня сложности. Другими словами, существует ряд операций, которые никогда не сможет выполнить упрощенный автомат, каковы бы ни были инструкции. В то же время существует определенная конечная точка (характеризующая сложность), и автомат этой сложности,снабженный соответствующи- ми инструкциями, может сделать все, что может быть вообще сдела- но автоматами. .. [Далее фон Нейман объясняет, как универсальный автомат А имитирует произвольный автомат А. Инструкции 1А содержат пред- ставление автомата А в виде словаря, указывающего для каждого состояния автомата А и каждого символа на ленте, каково должно быть его следующее состояние и что нужно сделать с лентой. Универ- сальный автомат А способен читать любой такой словарь и действо- вать в соответствии с ним. А записывает на своей ленте одно за дру- гим последовательные состояния автомата А и то, что получается на ленте этого автомата.] Я не буду вдаваться в дальнейшие под- робности. Я привел некоторые детали для того, чтобы показать, что Часть I. Теория и организация сложных автоматов 70
здесь мы впервые сталкиваемся с чем-то, что имеет атрибут универ- сальности, т. е. обладает способностью сделать все, что может быть кем-то сделано. Вы видите также, что способ внесения дополнитель- ной сложности (путем использования более подробных инструкций) не создал здесь никакого порочного круга. Вы также видите, что процесс, ведущий в конечном счете к универсальности, связан со строгой теорией описания объектов и со строгим распорядком, пред- писывающим, как отыскивать утверждения в словаре и выполнять их. Формальные логические исследования Тьюринга идут гораздо дальше этого. Тьюринг доказал, что существует нечто, для чего нельзя построить автомат, а именно нельзя построить автомат, пред- сказывающий, за сколько шагов другой автомат, который может решать определенную задачу, в действительности решит ее. Таким образом, можно сконструировать автомат, способный сделать все, что может быть вообще сделано автоматом, но нельзя построить автомат, предсказывающий поведение любого произвольного авто- мата. Другими словами, можно построить орган, способный делать все, что вообще можно сделать, но нельзя построить орган, дающий ответ на вопрос, можно ли это сделать. Это обусловлено структурой формальной логики и в особенности свойством, которое я не буду обсуждать, но которое я бы хотел отметить, употребляя соответствующий научный жаргон, для тех, кто знаком с современной формальной логикой. Это свойство свя- зано с теорией типов и с результатами Гёделя. Оно состоит в том, что можно работать внутри логического типа, включающего в себя все, что реализуемо, но вопрос, реализуемо ли нечто в каком-то типе, сам принадлежит к более высокому логическому типу. Это согласуется с замечанием, сделанным мною раньше, о том, что объек- ты низкой сложности характеризуются тем, что говорить об объекте легче, чем создать его, и предсказать свойства объекта легче, чем построить его. Но в сложных системах формальной логики на поря- док труднее рассказать, что объект может делать, чем сделать сам объект. Сфера законности данного вопроса относится к более высокому типу, чем сам вопрос. [На этом вторая лекция фон Неймана кончается. Я хочу добавить некоторый комментарий к ее двум последним абзацам, сделав сначала несколько общих замечаний о машинах Тьюринга. Машина Тьюринга есть в своей основе конечный автомат с неогра- ниченно удлиняемой лентой. Но существует много различных спо- собов использования машины Тьюринга. Пусть ячейки ленты зану- мерованы числами 0, 1, 2, 3, . . .; ячейки с четными номерами пред- назначены для рабочего пространства, а с нечетными номерами — для программы, формулировки задачи (если она есть) и для ответа. Пусть символами ответа будут 0 и 1, не считая незаполненной ленты (разумеется, их можно было бы закодировать, пользуясь лишь двумя Лекция 2. Детерминированная теория управления 71
основными символами: наличием пометки и отсутствием ее). Предпо- ложим, наконец, что эта машина записывает разряды ответа (0 или 1) в последовательные ячейки, предназначенные для ответа. Конкретная машина Тьюринга — это такая машина Тьюринга, на ленте которой с самого начала записана конечная программа или формулировка задачи. Абстрактная машина Тьюринга представляет собой класс всех конкретных машин Тьюринга, содержащих данный конечный автомат. Можно представлять себе абстрактную машину Тьюринга как некоторый конечный автомат с неограниченно нара- щиваемой чистой лентой, на которой с самого начала может быть размещена любая программа или задача. Конкретные машины Тьюринга можно разбить на два класса: циклические и ациклические. Циклическая машина печатает конечную последовательность двоичных символов и останавливается. Ацикли- ческая машина продолжает печатать двоичные символы в чередую- щиеся ячейки неограниченно долго; мы будем называть это вычисле- нием бесконечной последовательности. Фон Нейман рассматривал универсальную машину Тьюринга, состоящую из конечного автомата А и неограниченно удлиняемой ленты. Универсальная машина Тьюринга — это абстрактная машина Тьюринга, вычисляющая любую последовательность, вычисляемую машинами Тьюринга. Более точно: для каждой конкретной машины Тьюринга с конечным автоматом А и программой I существует такая программа 1А, что машина А с программами 1А и I вычисляет после- довательность, вычисленную машиной А с программой I. Универ- сальную машину Тьюринга можно охарактеризовать и иначе. Пусть Г обозначает класс конечных и бесконечных последовательностей, вычисленных конкретными машинами Тьюринга. Тогда каждая последовательность из Г вычисляется абстрактной машиной Тьюрин- га А + 1А + /, где 1Аъ1 пробегают всевозможные программы. Так как объединение двух программ также есть программа, то каждая последовательность из Г вычисляется машиной Тьюринга А + Ц где I пробегает всевозможные программы. Разрешающей машиной для данного класса вопросов называется абстрактная машина Тьюринга, которая, получив вопрос из этого класса, печатает 1, если ответ утвердительный, и 0, если ответ отри- цательный. Проблема остановки г) — это проблема выбора решения, является ли произвольная конкретная машина Тьюринга циклической (т. е. когда-нибудь остановится) или ациклической. Тьюринг [3, разд. 8] показал, что проблема остановки неразрешима, т. е. разрешающей машины для остановки не существует. Доказательство приведено ниже в разд. 1.6.3.2. части II. Как следствие этого Тьюринг доказал, х) В оригинале halting problem.— Прим, перев. Часть I. Теория и организация сложных автоматов 72
что не существует разрешающей машины для решения, напечатает ли когда-нибудь произвольная конкретная машина Тьюринга данный символ (например, 0). Так как остановка и печатание данного симво- ла представляют собой некоторые аспекты поведения машины Тью- ринга, то из результатов Тьюринга вытекает, что поведение автомата не может быть полностью предсказано автоматами. Как выразил это выше фон Нейман, «нельзя построить автомат, предсказывающий поведение любого произвольного автомата». Конкретные машины Тьюринга можно перенумеровать и, таким образом, привести во взаимно однозначное соответствие с неотрица- тельными целыми числами. Рассмотрим множество всех конкретных машин Тьюринга, и пусть t пробегает целые числа, представляющие их. Зададим теоретико-числовую функцию п (t) как число шагов, которое потребуется машине t, прежде чем она напечатает первый нуль. Если машина t никогда не печатает 0, то п (t) по определению полагается равной 0. Заметим, что последовательность, состоящую из п единиц, за ко- торыми следует 0, можно интерпретировать как целое число п. Встает вопрос: существует ли абстрактная машина Тьюринга, вычисляющая п (t) для любого tl Из следствия, установленного Тьюрингом, сразу же вытекает, что нет, так как если бы можно было найти п (t), то мож- но было бы решить, напечатает ли когда-нибудь машина t нуль. Я думаю, что именно это имел в виду фон Нейман, когда говорил: «Тьюринг доказал, что... нельзя построить автомат, предсказываю- щий, за сколько шагов другой автомат, который может решать опре- деленную задачу, в действительности решит ее». В последнем абзаце лекции 2 фон Нейман ссылается на теорему Гёделя: «Можно работать внутри логического типа, включающего в себя все, что реализуемо, но вопрос, реализуемо ли нечто в каком- то типе, сам принадлежит к более высокому логическому типу». Так как я не знаю такой теоремы у Гёделя, то мне эта ссылка пока- залась несколько загадочной, так же как и более ранняя ссылка на Гёделя (стр. 67) и аналогичная ссылка в докладе фон Неймана на Хиксоновском симпозиуме (см. Нейман [4, стр. 91]). Я написал письмо профессору Курту Гёделю с тем, чтобы выяснить, не может ли он про- лить свет на этот вопрос. Его ответ, по моему мнению, дает наиболее правдоподобное объяснение этой ссылке, и поэтому я включил сюда относящиеся к делу части нашей переписки, слегка их отредактировав. Я написал профессору Курту Гёделю следующее: «Я занимаюсь подготовкой к печати двух незаконченных руко- писей фон Неймана по теории автоматов. В одной из них, в цикле лекций, прочитанных им в Иллинойсском университете в 1949 г., он дает ссылку на Вашу работу, которую я не в состоянии понять. Так как вполне возможно, что он обсуждал этот вопрос с Вами, я позволил себе написать Вам об этом. Лекция 2. Детерминированная теория управления 73
Начало положил доклад, сделанный Джонни на Хиксоновском симпозиуме х) в Пасадене в 1948 г. В этом докладе рассматривается проблема создания строгого описания зрительной аналогии. При распознавании зрительных образов глаз человека и нервная система функционируют как конечный автомат с определенным поведением. Фон Нейман, видимо, предполагает, что простейшим способом опи- сания поведения этого конечного автомата является, возможно, описание структуры самого автомата. Это весьма правдоподобно. Но затем он выразил эту мысль иначе, и здесь я не понимаю: «У нас нет полной уверенности в том, что в этой области реальный объект не может являться простейшим описанием самого себя, т. е. что вся- кая попытка описать его с помощью обычного словесного или фор- мального логического метода не приведет к чему-то более сложному, запутанному и трудновыполнимому. В самом деле, некоторые резуль- таты современной логики как будто указывают на то, что подобных явлений следует ожидать, когда мы переходим к рассмотрению дей- ствительно сложных сущностей» * 2). В подчеркнутых словах (набран- ных здесь курсивом.— Ред.), по-видимому, имеются в виду Ваши работы. Посылаю Вам экземпляр этого доклада. В лекциях, прочитанных в 1949 г. в Иллинойсе, Джонни подчер- кивает, по-видимому, то же самое обстоятельство, а именно что про- стейшее описание того, что представляет собой зрительная аналогия, состоит в перечислении соединений, находящихся в зрительном аппа- рате мозга человека. Затем он опять говорит, что многое в современ- ной формальной логике указывает на то, что пока автомат не слиш- ком сложно устроен, описание его функций проще, чем описание самого автомата. В случае достаточно сложных автоматов ситуация меняется. Далее идет явная ссылка на Вашу работу: «Я здесь несколь- ко искажаю одну замечательную логическую теорему Гёделя о том, что следующий за этим логический шаг — описание объекта — имеет более высокий логический тип и, следовательно, асимптотически [?] бесконечно более длинное описание». Он возвращается к этому вопросу после обсуждения машин Тью- ринга и упоминания результата Тьюринга о неразрешимости проб- лемы остановки. Затем он замечает, что все это связано с теорией типов и с Вашими результатами. Запись лекций в этом месте очень плохая, и я постараюсь восстановить их наилучшим образом. «Это свойство связано с теорией типов и с результатами Гёделя. Оно состоит в том, что можно работать внутри логического типа, включаю- щего в себя все, что реализуемо, но вопрос, реализуемо ли нечто в каком-то типе, сам принадлежит к более высокому логическому типу. Это согласуется с замечанием, сделанным мною раньше, о том, *) Подробнее об этом симпозиуме см. Нейман [4, стр. 109].— Прим, перев. 2) Цитируется по русскому переводу доклада, см. Нейман [2, стр. 91].— Прим, перев. Часть I. Теория и организация сложных автоматов 71
что объекты низкой сложности характеризуются тем, что говорить об объекте легче, чем создать его, и предсказать свойства объекта легче, чем построить его. Но в сложных системах формальной логики на порядок труднее рассказать, что объект может делать, чем сделать сам объект. Сфера законности данного вопроса относится к более высокому типу, чем сам вопрос». Посылаю Вам соответствующие страницы Иллинойсских лекций. Можно согласиться с тем, что описание объекта имеет более высо- кий логический тип, чем сам объект, но что, кроме этого, хотел ска- зать фон Нейман, я не понимаю. Мне приходят в голову два варианта, но оба они приводят к результату, противоположному тому, какой нужен Джонни. Один вариант: рассматривать число Гёделя как опи- сание формулы. Но по крайней мере в некоторых случаях запись числа Гёделя для формулы требует меньше символов, чем сама фор- мула, иначе не могла бы существовать относящаяся к самой себе неразрешимая формула х). Другой вариант связан с теоремой, содер- жащейся в Вашей статье 1936 г. * 2). Пусть даны системы S и причем больше S. В теореме утверждается, что для каждой рекур- сивной функции F существует предложение, доказуемое в обеих системах и такое, что наиболее короткие доказательства в этих двух системах обладают следующим свойством: число Гёделя доказатель- ства в системе S больше, чем рекурсивная функция F, примененная к числу Гёделя доказательства в системе Эта теорема удовлет- воряет всем условиям, о которых говорит фон Нейман, но она дает, по-видимому, противоположный результат: из нее вытекает, что чем выше тип, тем короче доказательство. Я был бы очень Вам благодарен, если бы Вы смогли как-то объ- яснить эти непонятные для меня места в лекциях фон Неймана». Профессор Гёдель ответил следующее. «У меня есть некоторые соображения по поводу того, что мог иметь в виду фон Нейман в тех отрывках, которые Вы цитируете: правда, поскольку я никогда не обсуждал с ним этих вопросов, то это всего лишь догадки. Я думаю, что моя теорема, на которую ссылается фон Нейман, это не теорема о существовании неразрешимых высказываний и не теорема о длинах доказательств, а скорее тот факт, что полное эпи- стемологическое 3) описание языка А нельзя осуществить на том же языке А, ибо в языке А нельзя определить понятие истинности пред- ложений языка А. Именно из этого факта на самом деле вытекает х) [См. Гёдель [1]. Число Гёделя для неразрешимой формулы равно п. Эта формула гласит: «Формула, число Гёделя которой равно п, не является теоре- мой». Таким образом, ио Гёделю неразрешимая формула относится к самой себе. Она неразрешима в том смысле, что ни она, ни ее отрицание не являются тео- ремами системы, рассматриваемой Гёделем.] 2) [См. Гёдель [3].] 3) Эпистемология — гносеология, наука о познании (филос.}.— Прим, перев. Лекция 2. Детерминированная теория управления
существование неразрешимых высказываний в формальных системах г содержащих арифметику. В моей работе 1931 г. отсутствовала точная формулировка этой теоремы, она была приведена лишь в моих лек- циях в Принстоне в 1934 г. г). Эту же теорему доказал Тарский в сво- ей статье о понятии истинности, опубликованной в 1933 г. * 2). Эта теорема ясно показывает, что описание работы данного устрой- ства часто оказывается более сложным, чем описание самого устрой- ства, в том смысле, что для такого описания требуются новые и более абстрактные основные понятия, т. е. понятия более высоких типов. Но, как Вы верно заметили, из этой теоремы нельзя сделать никакого вывода о том, при каком числе символов результат будет противо- положным. Однако, что именно фон Нейман, по-видимому, имел в виду, яснее видно на примере универсальной машины Тьюринга. Полное описание поведения такой машины бесконечно, так как из-за отсут- ствия разрешающей процедуры, предсказывающей ее поведение, это полное описание можно осуществить только с помощью перечисления всех случаев. Разумеется, тут предполагается, что только разреши- мые описания считаются полными, но это согласуется с конечным образом мышления. Универсальную машину Тьюринга, где отноше- ние двух типов сложностей бесконечно, тогда можно было бы рассмат- ривать как предельный случай других конечных устройств. Это немедленно приводит к предположению, высказанному фон Нейма- ном».] х) [См. Гёдель [2].] 2) [См. Тарский [1].]
ЛЕКЦИЯ 3 СТАТИСТИЧЕСКИЕ ТЕОРИИ ИНФОРМАЦИИ Теория информации: вероятностная часть; соотношение обычной и вероятностной логики; интерпретация теории вероятно- стей, данная Кейнсом; примеры, иллю- стрирующие связь логики с классиче- ской механикой и со статистической меха- никой; соответствующая ситуация в кван- товой механике. Математические аспекты перехода от формальной логики к вероятностной. Ана- лиз и комбинаторика. Термодинамический аспект: информация и энтропия. Теория Сциларда. Теория Шеннона. Дополнительные замечания о термодина- мической природе внутреннего равнове- сия в вычислительной машине. На этом я заканчиваю своп замечания, относящиеся к точным, логи- ческим вопросам информации, и перехожу к статистическим сооб- ражениям, связанным с информацией. Важность их при исследо- вании автоматов и их функций совершенно очевидна по крайней мере по следующим двум причинам. Первая может показаться несколько посторонней и случайной, но я думаю, что это не так; отно- сительно второй причины это заведомо не так. Первая причина состоит в том, что практически не может быть абсолютно надежного автомата. Когда мы аксиоматически задаем автомат, указывая точно, что он должен делать в каждой вполне определенной ситуации, мы опускаем важную часть проблемы. Аксиоматизация автомата применительно к определенной ситуа- ции — очень неплохое упражнение для тех, кто сталкивается с этим вопросом впервые, но каждый, кто накопил здесь достаточный опыт, знает, что это всего лишь предварительный этап. Вторая причина, по которой статистические соображения пред- ставляются важными в теории автоматов, состоит в следующем. Возь- мем, к примеру, автомат, созданный руками человека или сущест- вующий в природе. Как правило, его структура лишь отчасти под- чинена формальным, строгим требованиям. Гораздо сильнее она зависит от того, каким образом могут возникать повреждения, а также от тех (более или менее эффективных) мер, которые были предприняты для их предупреждения. Пожалуй, не стоит говорить, что эти меры предупреждают повреждения. Это было бы в данном случае преувеличением, использованием слишком оптимистической терминологии, не соответствующей истинному положению дел. Это скорее не меры предупреждения повреждений, а меры, направленные на достижение такого состояния, когда по крайней мере большая часть повреждений не оказывается смертельной. Не может быть и речи об исключении возможности повреждений или о полном устра- нении их влияния. Все, что мы можем сделать, это попытаться орга- Лекция 3. Статистические теории информации 77
низовать работу автомата так, чтобы в подавляющем большинстве случаев он при повреждениях продолжал работать. Эти меры явля- ются паллиативными, а не излечивающими. В искусственных и есте- ственных автоматах принимаются в основном именно такие меры. Допуская повреждение в качестве независимой логической воз- можности, мы отказываемся от строгой формулировки аксиом. Эти аксиомы уже не имеют форму: если произошли события А и В, то произойдет событие С. Они теперь будут иметь вид: если произошли события А и В, то с определенной вероятностью произойдет событие С, с (другой) определенной вероятностью произойдет событие D и т. д. Другими словами, в каждой ситуации допускается несколько воз- можностей с различными вероятностями. Математически проще ска- зать, что что-то следует за чем-то в соответствии с некоторой вероят- ностной матрицей. Можно поставить вопрос так: если события А и В произошли, то какова вероятность того, что произойдет событие С? Этот вероятностный пример характерен для вероятностной системы логики. В этой системе следует рассматривать и естественные, и ис- кусственные автоматы при достаточной степени сложности х). Позже я остановлюсь на том, почему именно сложность приводит к необхо- димости вводить такого рода аксиоматику, а не точную * 2). Это наводит на мысль, что вероятностные рассуждения можно рассматривать как ветвь логики или, вернее, можно считать вероят- ностную логику обобщением обычной логики. Но эта точка зрения не тривиальна, не общепринята и не является основной интерпрета- цией вероятностей. Однако она является классической интерпрета- цией вероятностей. Конкурирует с ней частотная интерпретация, при которой логика считается однозначной, а в отношении явлений, о которых нет полной информации, делаются лишь заключения, выраженные в частотах. Это различие, я думаю, очень хорошо понимал Лаплас [1], отме- чавший возможность двух точек зрения на вероятность: частотной и логической. В более близкие нам годы особый упор на это различие сделал экономист Кейнс [1]. Он достаточно тщательно проанализи- ровал этот вопрос и показал, что наряду с более широко распростра- ненной частотной точкой зрения на вероятность существует также логическая точка зрения. Но он не пытался отделить точную логику от вероятности, а просто говорил, что при последовательном осуще- ствлении событий Л и В их количественной характеристикой будет «та вероятность, с которой В следует за Л». Единственная связь с точной логикой состоит в том, что когда эта вероятность равна 1, 2) [См. Нейман [7], где содержится подробное исследование автоматов с этой точки зрения.] 2) [Чем выше сложность автомата, тем выше (при заданной вероятности неисправности одного компонента) вероятность повреждения, приводящего к полному нарушению работы всего устройства.] Часть I. Теория и организация сложных автоматов 78
мы получаем импликацию, а когда она равна 0 — исключение. Когда эта вероятность близка к 1 или к 0, эти выводы (правда, в менее точном смысле) делать также можно. В такой логической позиции есть очевидные слабые места. При некоторых подходах к вероятностям неудобно отождествлять нуле- вую вероятность с невозможностью. Кроме того, не совсем ясно, в каком смысле малая вероятность означает, что можно ожидать, что определенное событие не произойдет. Тем не менее Кейнс постро- ил непротиворечивую систему аксиом. Существует много современ- ных теорий, например квантовая механика, в которых скорее всего надо занять именно такую философскую позицию, но последнее слово по этому вопросу еще не сказано и, по-видимому, будет сказана не скоро. Так или иначе, в случае квантовой механики мы подвер- гаемся серьезному искушению изменить наш взгляд на логику и считать, что вероятность внутренне связана с логикой х). [Фон Нейман рассматривает затем две теории вероятностей и ин- формации, «безусловно имеющие отношение к данному контексту, хотя еще и непонятые с формально-логической точки зрения». Пер- вая — это теория энтропии и информации в термодинамике, вторая — теория информации Шеннона. Говоря об энтропии и информации, фон Нейман ссылается на Больцмана, Хартли и Сциларда. Он подробно разбирает парадокс «демона Максвелла» и показывает, как его разрешил Сцилард, уста- новив связь информации и энтропии* 2). Фон Нейман подчеркивает, что шенноновская теория — это количественная теория измерения про- пускной способности канала связи. Он объясняет понятие избыточ- ности и дает примеры. Он показывает, что именно наличие избыточ- ности позволяет исправлять ошибки, например, при чтении коррек- туры. Избыточность — «это единственное обстоятельство, позволяю- щее писать тексты объемом, скажем, более десяти страниц. Другими словами, максимально сжатый язык был бы на самом деле не приго- х) [В работе [8] фон Нейман делает такой вывод: «Вероятностная логика не может быть сведена к точной логике, а составляет существенно более широ- кую систему, и утверждения вида Р (а, Ь) _ (р (0< ср < 1) являются совершен- но новыми и sui generis (своеобразными (лат.).— Перев.) аспектами физической реальности. Так вероятностная логика появляется как обобщение точной логики. Такой взгляд, эта так называемая «логическая теория вероятностей», лег в основу работы Дж. М. Кейнса по этому вопросу». Ср. Биркгоф, Нейман [1] и Моргенштерн, Нейман [1, разд. 3.3.3].] 2) [Хорошее изложение работ Сциларда, а также Шеннона и Хемминга мож- но найти в книге Бриллюэна [1].] Ряд современных сведений о связи понятия энтропии физической системы и теоретико-информационной энтропии и вытекающих отсюда результатов для максимального количества информации, которое может передать реальный физический канал, содержится в работах Лебедева, Левитина [1] и Левитина [1].— Прим, перев. Лекция 3. Статистические теории информации 7$
ден для сообщения информации, превышающей некоторый определен- ный уровень сложности, потому что никогда нельзя было бы узнать, верен текст или ошибочен. И это свойство принципиальное. Следо- вательно, сложность среды, с которой вы работаете, как-то связана с избыточностью». В обзоре книги Н. Винера «Кибернетика», сделанном фон Ней- маном (см. Нейман [10]), содержится развернутое высказывание об энтропии и информации, которое уместно привести здесь. «Энтро- пия для физика — это понятие из термодинамики, дисциплины, изучающей переходы между различными формами энергии. Хорошо известно, что полная энергия в замкнутой системе всегда сохраня- ется: энергия не создается и не исчезает, а только трансформируется. Это первая фундаментальная теорема термодинамики, или теорема об энергии. Кроме того, существует вторая фундаментальная теорема термодинамики — теорема об энтропии, утверждающая, что имеется определенная иерархия различных форм энергии: механическая энергия (кинетическая и потенциальная), составляющая высшую форму, и следующая за ней тепловая энергия, которая в свою очередь образует убывающую иерархическую последовательность (распо- ложенную в порядке убывания температуры), причем все другие формы энергии можно полностью расклассифицировать по отноше- нию к градациям этой схемы. В этой теореме утверждается далее, что энергия всегда деградирует, т. е. всегда самопроизвольно переходит от высшей формы к низшей. Если же в какой-то части системы про- изойдет обратное, то в какой-нибудь другой ее части будет компенси- рующая деградация энергии. Учет, требуемый для контроля над этой повсеместно продолжающейся деградацией, обеспечивается некоторой однозначно определенной физической величиной — энтро- пией, которая служит мерой иерархического положения, занимаемого каждой формой энергии, или степени ее деградации. Термодинамические методы измерения энтропии были известны еще в середине XIX века. Уже в первой работе по статистической физике (Больцман, 1896) было замечено, что энтропия тесно связана с информацией. Больцман установил, что энтропия пропорциональна логарифму числа возможностей некоторой физической системы, остающихся после того, как зарегистрирована вся информация, которую можно получить макроскопически г). Другими словами, она пропорциональна логарифму величины недостающей информа- ции. В дальнейшем эта концепция разрабатывалась различными авторами для различных приложений: Найквистом [1] и Хартли [1] для передачи информации по техническим системам связи, Сцилар- дом [1] для информации в физике вообще, а также автором этих строк 2) [См. Больцман [1, т. I, разд. 6]. Впервые этот результат Больцмана поя- вился в 1877 г. в его работе [2, т. II, стр. 164—233].] Часть I. Теория и организация сложных автоматов 80
в квантовой механике и физике элементарных частиц (Нейман [5, гл. 5]) х). Подготовленному читателю рекомендую ознакомиться с допол- нительной литературой по этому вопросу и прежде всего с работой Сциларда [1], содержащей весьма поучительный анализ известного термодинамического парадокса «демона Максвелла», а также с послед- ними очень важными и интересными результатами Шеннона [1] по теории информации, искусственным языкам, кодам и т. д. Есть все основания полагать, что общие законы деградации энергии, выпол- няющиеся, когда энтропия используется как мера иерархического положения энергии, имеют важные аналоги при использовании энтропии для измерения информации. Отсюда следует, что, быть может, существует связь между термодинамикой и новыми обобще- ниями логики». Далее в Иллинойсских лекциях фон Нейман освещает работу Хемминга, касающуюся кодов, обнаруживающих и исправляющих ошибки. Затем он показывает, как в теории информации применяются цифровые системы (двоичные, десятичные и др.). «Цифризация — это очень простой прием, позволяющий получить хорошую точность из плохой. Записывая 30 двоичных единиц с помощью 30 приборов, у которых можно выделить два состояния(с ошибкой, скажем, в 10%), можно представить число с точностью примерно до одной миллиард- ной. Главное достоинство цифровой системы в том, что другого спо- соба добиться того же самого мы не знаем. С точки зрения информации ясно, что это сделать можно, так как энтропия системы из 30 би- нарных приборов составляет 30 единиц, а энтропия величины, задан- ной с точностью до одной миллиардной, равна логарифму от мил- лиарда (по основанию 2), т. е. около 30 единиц». Фон Нейман замечает, что, хотя в живых организмах для пере- дачи информации используются смешанные импульсно-аналоговые системы, цифровые системы с кодированием, насколько нам извест- но, в живых организмах не используются. Когда «в нервной системе передается число, оно передается не как закодированная цифровая группа, а фактически посредством частотной модуляции». Он пред- полагает, что причина этого кроется в том, что метод частотной моду- ляции надежнее цифровой системы.] Я попытался привести доводы в оправдание того, что нам необ- ходима некоторая теория информации и что сейчас мы располагаем лишь незначительной частью того, что нам нужно. Первые следы такой теории, которые уже существуют, и сведения из смежных обла- стей показывают, что такая теория, по-видимому, будет похожа на две ныне известные теории: формальную логику и термодинамику. Ее предполагаемое сходство с формальной логикой не удивительно, См. примечание переводчика на стр. 79.— Прим, перев. Лекция 3. Статистические теории информации 81
а вот то, что она, вероятно, будет иметь много общего с термодина- микой, довольно странно. Хотя эта новая теория информации во многих отношениях будет походить на формальную логику, она, по-видимому, будет ближе к обычной математике, чем сама формальная логика. Причина этого в том, что современная формальная логика носит крайне неаналити- ческий, нематематический характер: она занимается лишь процесса- ми типа «все или ничего», где все, что происходит или не происходит, либо является конечно осуществимым, либо не является конечно осуществимым. Эти процессы типа «все или ничего» слабо связаны с анализом, наиболее развитой и хорошо известной частью математи- ки, и тесно связаны с комбинаторикой — той частью математики, о которой мы знаем меньше всего. Вероятно, тот формально-логиче- ский аппарат, который мы должны будем здесь применять, ближе к обычной математике, чем логика сегодня. Особенно он будет ближе к анализу, поскольку все аксиомы будут носить, по-видимому, вероятностный, а не точный характер. Так было и в квантовой меха- нике. В эту новую теорию информации, возможно, войдут термодина- мические понятия. Очень многое свидетельствует за то, что информа- ция подобна энтропии, а процессы вырождения, связанные с энтро- пией, имеют параллели в процессах вырождения при обработке информации. Вполне вероятно, что нельзя определить функцию авто- мата или его эффективность до тех пор, пока внешняя среда, в кото- рой он работает, не охарактеризована некоторым набором статисти- ческих свойств, аналогичных используемым для характеризации внешней среды в термодинамике. Эти статистические переменные автоматной среды будут, разумеется, чем-то более сложным, чем стандартная термодинамическая переменная температура, но они, вероятно, будут носить близкий характер. Из практики построения вычислительных машин следует с оче- видностью, что одним из решающих свойств вычислительных машин является равновесие: равновесие между быстродействием отдельных частей, баланс между быстродействием одной части и размерами других частей. Я отмечал это, говоря об иерархической структуре памяти [стр. 61]. Все эти требования аналогичны условиям баланса в термодинамике, необходимым для получения достаточной эффек- тивности. Автомат, в котором одна часть намного быстрее другой, или где память слишком мала, или где отношение скоростей двух уровней памяти слишком велико по сравнению с величиной одной из них, очень похож на тепловую машину, которая не может работать нормально из-за слишком большого температурного различия между ее частями. Я не буду вдаваться в дальнейшие подробности, а только подчеркну, что здесь связь с термодинамикой, вероятно, очень тесная.
ЛЕКЦИЯ 4 РОЛЬ высокой И ОЧЕНЬ высокой сложности Сравнение вычислительных машин с нерв- ной системой. Оценки размеров вычисли- тельных машин настоящего и ближай- шего будущего. Оценки размеров центральной нервной системы человека. «Смешанный» харак- тер живых организмов. Аналоговые и циф- ровые элементы. «Смешанный» характер всех компонентов — как естественных, так и искусственных. Оценка различия в размерах искусствен- ных и естественных автоматов. Объяс- нение этого различия, основанное на физических факторах. Вероятность присутствия других факто- ров. Роль сложности и необходимость соответствующего теоретического обосно- вания. Вопросы надежности и ошибок, пересмотренные заново. Вероятность отдельных ошибок и длина процедуры. Типичные длины процедур в вычислительных машинах и живых организмах, т. е. в искусственных и естественных автоматах. Верхние границы приемлемых вероятностей ошибок в отдельных операциях. Компенсация за счет контроля и самоисправления. Принципиальные отличия в способах борьбы с ошибками в искусственных и естественных автоматах. Принцип «единственной ошибки» в искусственных автоматах. Грубость нашего подхода в этом случае как результат отсутствия адекватной теории. Более подробный анализ этой проблемы в искусственных автоматах: роль автономии частей; ее связь с эволюцией. После обсуждения в последних двух лекциях вопросов весьма общего характера я бы хотел вернуться к проблемам известных нам конкретных автоматов. Мне бы хотелось сравнить искусственные автоматы, в особенности вычислительные машины, с естественными автоматами, в частности с нервной системой человека. Для этого я скажу несколько слов относительно используемых в обоих случаях элементов и сопоставлю некоторые размеры. Как я уже отмечал, при оценке размеров нервной системы чело- века мы вынуждены пользоваться числом, которое нельзя считать достаточно надежным, но которое, видимо, достоверно по порядку величины. Я имею в виду свое утверждение, что головной мозг чело- века содержит 1010 нейронов. Число нервных волокон, рассеянных по всем другим местам организма человека, вероятно, гораздо меньше причем многие из них, во всяком случае, начинаются в мозгу. Самое крупное скопление периферических нервных волокон находится в сетчатке глаза, а зрительный нерв, идущий от сетчатки к мозгу, составляет часть головного мозга. По сравнению с этим количество ламп в известных нам вычисли- тельных машинах чрезвычайно мало, в миллион раз меньше. В самой крупной из существующих вычислительных машин ENIAC содер- жится 20 тысяч электронных ламп. Другая большая вычислительная Лекция 4. Роль высокой и очень высокой сложности 83
машина SSEC т), принадлежащая компании IBM * 2), содержит при- мерно 10 тысяч электронных ламп и столько же реле. Предполагается что в наиболее быстрой из конструируемых сейчас вычислительных машин будет порядка 3 тысяч ламп. Причина такого различия в раз- мерах машины ENIAC и конструируемых сейчас быстродействующих машин кроется в различии способов обращения с памятью, которое мы обсудим позже. Таким образом, нервная система человека, грубо говоря, в мил- лион раз сложнее этих больших вычислительных машин. Увеличение сложности при переходе от этих вычислительных машин к централь- ной нервной системе больше, чем увеличение сложности при переходе от одной-единственной электронной лампы ко всей вычислительной машине. Даже если измерять сложность по логарифмической шкале, все равно на пути создания сложных автоматов мы еще не дошли и до половины сложности нервной системы человека, и я думаю, что при любом разумном определении сложности нам до этой половины еще довольно далеко. Однако в защиту вычислительных машин отмечу, что они рабо- тают намного быстрее мозга. Интервал времени, через который нерв- ное волокно способно ответить на раздражение, составляет примерно г12 миллисекунды. Но это время не характеризует скорость работы нейрона, ибо важен не интервал, через который нейрон дает реакцию, а время его восстановления, т. е. интервал от одной реакции до бли- жайшей возможной. Это время, в лучшем случае равно 5 миллисе- кундам. Время восстановления электронной лампы трудно оценить, но в существующих проектах вычислительных машин обычно прини- мается, что частота повторения должна немного превосходить 1 мил- лион раз в секунду. Итак, нервная система содержит в миллион раз больше элементов, чем названные машины, но каждый элемент в машине работает при- мерно в 5 тысяч раз быстрее, чем нейрон, так что нервная система превосходит вычислительную машину, грубо говоря, в 200 раз. На самом деле эта оценка несколько занижена, так как п-кратное увеличение размеров автомата дает гораздо больше, чем п-кратное увеличение объема выполняемой работы. Этот объем зависит от свя- зей между компонентами, которые растут как квадрат числа компо- нент. Кроме того, этот объем определяется наличием некоторого минимума. До тех пор пока сложность не превышает некоторый минимальный уровень, ряд вещей вообще нельзя сделать, но если этот уровень превзойден, они становятся выполнимыми. [Далее фон Нейман сравнивает нервную систему человека и вы- числительную машину в отношении их размеров. Решающим факто- г) Selective Sequence Electronic Calculator — электронная вычислительная машина с выбором последовательности действий.— Прим, перев. 2) International Business Machines corporation.— Прим, перев. Часть I. Теория и организация сложных автоматов 84
ром здесь служит пространство, в котором выполняются функции управления и усиления. В случае электронной лампы — это непо- средственно промежуток между катодом и управляющей сеткой, имеющий величину порядка миллиметра. В нервной клетке — это мембрана. Ее толщина порядка одного микрона. Указанные разме- ры соотносятся примерно как 1000 к 1; так же соотносятся разности потенциалов, так что напряженности полей, используемых для управ- ления и усиления, в электронной лампе и нервной клетке практиче- ски совпадают. Это означает, что различие в полной рассеиваемой мощности вызвано главным образом различием размеров. «Рас- хождение в 103 раз в линейных размерах ведет к расхождению в 109 раз по объему и, вероятно, к такому же расхождению в энергиях». См. также Нейман [1, т. 5, стр. 299—302] и [2]. Затем он вычисляет энергию, расходуемую «в одном элементарном акте получения информации, т. е. выбора решения при наличии двух возможностей, и в одном элементарном акте передачи единицы инфор- мации». Он проделывает это для электронной лампы и для нейрона и находит термодинамический минимум энергии, рассеиваемой в таком акте. В лекции 3 было отмечено, что термодинамическая информация измеряется логарифмом по основанию 2 от числа допускаемых воз- можностей. В случае двух возможностей эта термодинамическая информация равна, таким образом, 1, «но рассеиваемая энергия при этом отлична от 1. По энтропии можно найти энергию, только задав- шись определенной температурой. Поэтому, работая при низкой температуре, можно указать, какая энергия должна быть рассеяна». Фон Нейман подсчитывает термодинамический минимум энергии, расходуемой в одном элементарном информационном акте, полагая его равным kTlnN, где к — постоянная Больцмана (1,4 X 10-16 эрг/град), Т — температура в абсолютных единицах, N — число возможных исходов. Для бинарного случая (7V ~ 2) и для температуры 300° по абсолютной шкале он получает значение термодинамического минимума 3 X 10эрг. Далее он показывает, что мозг рассеивает энергию примерно в 25 вт, содержит 1010 нейронов, а один нейрон в среднем активирует- ся около 10 раз в секунду. Отсюда энергия, рассеиваемая в нервной клетке в одном бинарном информационном акте, составляет примерно 3 X 10-3 эрг. Что же касается электронной лампы, то по оценкам фон Неймана она рассеивает энергию в 6 вгп, активируется около 100 тысяч раз в секунду и, следовательно, в одном бинарном акте рассеивает 6 X 102 эрг.] Таким образом, современная аппаратура примерно в 200 тысяч раз менее эффективна, чем нервная система. Вычислительные маши- ны в ближайшие годы будут усовершенствованы, возможно, за счет использования полупроводниковых приборов вместо электронных Лекция 4. Роль высокой и очень высокой сложности 85
ламп, но даже тогда они все же будут в десятки тысяч раз менее эффективны по сравнению с нервной системой. Обратите внимание на большую разницу между термодинамическим минимумом (3 X X 10-14 эрг) и энергией, рассеиваемой нейроном в одном бинарном информационном акте (3 X 10“3 эрг). Первая энергия в 1011 раз меньше второй, следовательно, предпринятый нами термодинамиче- ский анализ не осветил большую часть существа дела. Будучи изме- ренной в логарифмической шкале, разница в энергиях, рассеиваемых, с одной стороны, нашей техникой, находящейся явно на любитель- ском уровне, а с другой, процессами, протекающими в природе, где чувствуется участие профессионала, составляет примерно половину разницы между энергией, расходуемой самыми лучшими из извест- ных нам устройств, и термодинамическим минимумом. Чем вызвана эта огромная разница, я не знаю. Думаю, что она вызвана чем-то вроде желания получить достаточную надежность работы. Итак, для совершения элементарных информационных процессов природа не использует того, что с точки зрения физики является элементарной системой с двумя устойчивыми состояниями, например атом водорода. Все существующие переключательные органы гораздо больше. Если бы природа оперировала с элементарными системами, то переключательные элементы имели бы размеры порядка несколь- ких ангстрем, а на самом деле мельчайшие из известных переключа- тельных органов имеют размеры порядка тысяч или десятков тысяч ангстрем. Совершенно ясно, что что-то заставляет нас использовать элементы, на несколько порядков превосходящие по размерам те, которые вытекают из чисто термодинамических соображений. Таким образом, отождествление информации с энтропией позволяет объяс- нить важную сторону явления, но ни в коем случае не исчерпывает всего существа дела. Имеется множитель 1011, происхождение кото- рого еще предстоит объяснить [Затем фон Нейман рассматривает элементы памяти. Электронные лампы, представляющие собой переключательные органы, можно было бы приспособить для запоминания. Но так как стандартная схема для хранения одной двоичной единицы содержит две лампы, а для ввода и вывода информации нужны еще дополнительные лампы, то ясно, что на электронных лампах большую память построить невозможно. «В приборах, которые действительно работают, запоми- нание осуществляется не в макроскопическом объекте типа электрон- ной лампы, а в чем-то микроскопическом, существующем лишь вир- туально». Фон Нейман описывает два прибора такого сорта: память на акустической линии задержки и память на электроннолучевой трубке. Акустической линией задержки называется трубка с наполнителем (таким, как ртуть), на обеих концах которой укреплены пьезокристал- лы. При подаче электрических колебаний на передающий кристалл Часть I. Теория и организация сложных автоматов 86
возникает акустическая волна, которая распространяется по ртути и заставляет приемный кристалл генерировать электрический сигнал. Этот сигнал усиливается, формируется, хронометрируется и посы- лается снова на передающий кристалл. Такой акустико-электриче- ский цикл может повторяться неограниченно долго, за счет чего и обеспечивается запоминание. Наличие или отсутствие импульса в данное время в данной позиции и есть значение двоичного разряда. Так как импульсы все время циркулируют по системе, то этот разряд нигде, т. е. ни в каком фиксированном месте, не хранится. «То, что запоминает, нигде конкретно не расположено». В электроннолучевой трубке информация может храниться в виде электрических зарядов на ее внутренней поверхности. Двоичный разряд представляется здесь зарядом, расположенным на небольшой площадке. Заряды наносятся и считываются с помощью пучка электронов. Так как площадка, ассоциированная с данным двоичным разрядом, может часто перезаряжаться и ее можно сдвигать, изменяя положение электронного пучка, то эта память также носит виртуаль- ный характер. «Нет такого естественного места, в котором была бы сосредоточена память. Поскольку никаких долговременных физиче- ских изменений не происходит, этот способ управления дает орган памяти в виртуальном смысле».] Следовательно, нет оснований считать, что память центральной нервной системы расположена в ее переключательных органах (нейронах). Память человека должна быть очень большой — намного больше 1010 двоичных единиц. Если подсчитать все те впечатления, которые получает человек в течение своей жизни (или то, что для него имеет особое значение), то получится число порядка 1015. Этим оценкам нельзя слишком сильно доверять, но я думаю, что вполне вероятно, что емкость памяти человека больше 1010. Я не знаю, законно ли переносить наш опыт, связанный с вычислительными машинами, на естественные системы, но если этот опыт чего-нибудь стоит, то он говорит за то, что маловероятно, чтобы естественная память размещалась в переключательных органах или в чем-то столь нехитром и примитивном, как их модификация. Было сделано пред- положение, что память состоит в изменении значения порога в синап- се. Не знаю, так ли это, но запоминание в вычислительных машинах не осуществляется за счет изгиба управляющей сетки лампы. Сравне- ние искусственных автоматов с центральной нервной системой делает правдоподобным предположение, что память человека еще более изощренная и еще более виртуальная. Я думаю, что все догадки отно- сительно того, что такое память человека и где она расположена, еще преждевременны. Хочу подчеркнуть еще следующее. В своих рассуждениях я считал нервную клетку чисто переключательным органом. Специалисты по нейрологии и смежным областям доказали, что нервная клетка Лекция 4. Роль высокой и очень высокой сложности 87
не есть чисто переключательный орган; это очень искусный аналого- вый прибор. (В вычислительной технике аналоговым прибором назы- вают любой прибор, который может делать существенно больше, чем просто передавать или не передавать импульс.) Но ведь ни электрон- ная лампа, ни электромеханическое реле и т. д. тоже не являются чисто переключательными элементами, ибо они обладают непрерыв- ными свойствами. Все они, однако, характеризуются тем, что имеют по крайней мере один такой режим работы, при котором их реакция носит по существу характер «все или ничего». Нас интересует только, как эта компонента работает в случае, когда организм функционирует нормально. Нервная клетка обычно не работает как орган типа «все или ничего». Например, метод преобразования интенсивности сти- муляции в частоту ответа зависит от уставания и от времени восста- новления, которое является непрерывной, т. е. аналоговой, харак- теристикой. Тем не менее способность нейрона работать по типу «все или ничего» очень важна. Несмотря на то что нервная система — по существу цифровой орган, весь человеческий организм не является цифровым. Почти вся нервная стимуляция оканчивается в органах вовсе не цифровых: например сокращающаяся мышца или орган, вызывающий выделение химического вещества. Чтобы управлять выделением химического вещества и контролировать скорость его диффузии, приходится при- бегать к куда более изощренным аналоговым процессам, чем те, кото- рые когда-либо применялись в аналоговых вычислительных машинах. Большинство важных контуров в организме человека носят следую- щий характер. Система нервных возбуждений проходит по сложной сети нервных волокон и затем управляет работой органа, который представляет собой по существу химическую фабрику. Полученные химические вещества распределяются с помощью очень сложной гидродинамической системы, являющейся полностью аналоговой. Эти вещества порождают нервные возбуждения, путешествующие по нервной системе в цифровой форме. Есть контуры, где такое изме- нение от цифровой формы к аналоговой происходит неоднократно. Таким образом, организм человека — это существенно смешанная система. Однако это не умаляет важности понимания принципов работы цифровой его части. Вычислительные машины также не являются полностью цифро- выми. Существующий в настоящее время способ работы с вычисли- тельными машинами, их входные и выходные данные — цифровые. Но совершенно ясно, что нам нужны и нецифровые входы и выходы. Часто требуется представить результаты не в числах, а, скажем, в виде кривой на экране осциллографа. Это аналоговый выход. Кроме того, такие приборы нашли бы важные применения для управ- ления очень сложной техникой, например полетом ракеты или само- лета. Тогда входные данные поступали бы из аналогового источника, Часть I. Теория и организация сложных автоматов 88
а выходные данные управляли бы аналоговым процессом. Это чередо- вание аналоговых и цифровых механизмов составляет, вероятног характерную черту любого приложения. В настоящее время цифровые аспекты автоматов следует выде- лять потому, что сейчас мы располагаем некоторыми логическими приемами анализа цифровых механизмов и наши знания в области цифровых устройств превосходят знания в области аналоговых. Кроме того, очевидно, что для выполнения очень сложных функций необходима цифровая техника. Полностью аналоговая техника обыч- но не подходит для очень сложных ситуаций. Единственный способ решить сложную задачу с помощью аналоговых механизмов — это разбить ее на части и последовательно обработать их, а это уже циф- ровой прием. Разрешите мне перейти теперь к следующему вопросу. Наши искусственные автоматы намного уступают естественным автоматам и в том, что они делают, и в числе компонент, которые они имеют, и в то же время они феноменально дорого нам обходятся в смысле занимаемого ими пространства и потребляемой энергии. Чем это объ- яснить? В настоящее время искать точный ответ безнадежно: трудна объяснить, почему два объекта так сильно отличаются, если об одном мы знаем очень мало, а о другом — ничего. Но очевидные различия в используемых нами средствах ясно показывают, что мы всегда будем сталкиваться с трудностями, если будем и дальше обходиться лишь этими средствами. Материалы, которыми мы пользуемся, не слишком подходят для тех малых размеров, с которыми имеет дело природа. Наши сочетания металлов, изоляторов и вакуумных промежутков намного более неустойчивы, чем материалы, которыми пользуется природа; высокий предел прочности наших материалов совершенно случаен. Если повреждается мембрана, она самовосстанавливается; если же в электронной лампе происходит замыкание сетки на катод, то она уже не восстанавливается. Итак, природные материалы обладают определенной механической устойчивостью и в них хорошо сбалан- сированы механические свойства, электрические свойства и требо- вания надежности. Наши искусственные системы — это собранные из отдельных лоскутов комбинации, в которых нужные электрические свойства получаются за счет применения механически негодных вещей. Техника хорошо приспособлена для того, чтобы подгонять металл к металлу, но она мало годится для того, чтобы подгонять металл к вакууму. Добиться миллиметровых расстояний в малодо- ступном вакуумном пространстве — это уже большое техническое достижение, и уменьшить эти расстояния во много раз вряд ли удаст- ся. Таким образом, различия в размерах искусственных и естествен- ных автоматов, вероятно, существенно связаны с радикальными раз- личиями в используемых материалах. Лекция 4. Роль высокой и очень высокой сложности 89
Далее фон Нейман переходит к более глубокой, по его мнению, причине сильного различия в размерах искусственных и естествен- ных автоматов. Такой причиной он считает то, что надежность работы естественной системы обеспечивает множество ее компонент. В лек- ции 3 он отмечал, что реальные вычислительные элементы функцио- нируют нормально не всегда, а лишь с определенной вероятностью. В небольших системах вероятность того, что вся система ошибется, относительно мала и ею часто можно пренебречь, но в случае боль- ших систем это не так. Иными словами, учет ошибок становится тем важнее, чем больше усложняется система. Чтобы оправдать такой вывод, фон Нейман приводит несколько приближенных оценок. Считая, что система такова, что выход из строя одного элемента нарушает работу всей системы, он вычисляет вероятность сбоя элемента, гарантирующую заданный средний интер- вал между ошибками системы. В случае нервной системы чело- века он исходит из следующих данных: общее количество нейронов 1010, каждый нейрон в среднем активируется 10 раз в секунду, сред- нее расстояние по времени между фатальными ошибками 60 лет (сред- няя продолжительность жизни человека). Так как 60 лет составляют примерно 2 X 109 сек, то произведение всех этих чисел равно 2 X 1020. Поэтому при сделанных предположениях вероятность ошибки эле- мента системы при каждой активации должна быть равна 0,5 X 10“20. Данные для вычислительной машины он брал такие: 5 X 103 элек- тронных ламп, на одну лампу приходится 105 активаций в секунду, а между последовательными ошибками системы проходит 7 час (около 2 X 104 сек). Для такой степени надежности требуется, чтобы веро- ятность ошибки лампы равнялась 10 "13 на активацию. Ср. подсчеты, приведенные фон Нейманом в его работе [1, т. 5, стр. 366—367]. Фон Нейман показывает, что электронная лампа (и вообще искус- ственный элемент) не может обеспечить столь низкой вероятности ошибки, как 10“13, да и нейрон, вероятно, тоже. Мы пытаемся так сконструировать вычислительную машину, чтобы она останавлива- лась, как только произойдет ошибка, и тогда ошибку можно будет локализовать и устранить. Например, машина проделывает одну операцию дважды, сравнивает результаты и останавливается, если результаты не совпали.] Весьма вероятно, что если бы каждую ошибку надо было немед- ленно обнаруживать, объяснять и исправлять, то система такой сложности, как живой организм, не смогла бы проработать и милли- секунды. Система такого типа так хорошо скомпонована, что может работать и тогда, когда в ней возникают отдельные ошибки. Одна ошибка, как правило, еще не означает тенденцию к разрушению. Система обладает достаточной гибкостью и так организована, что как только в какой-нибудь ее части произойдет ошибка, система авто- матически выясняет, важна ли эта ошибка. Если ошибка не важна, Часть I. Теория и организация сложных автоматов 90
то система продолжает работать, не обращая на нее никакого внима- ния. Если эта ошибка оказывается важной для системы, то система изолирует соответствующую область, обходит ее, используя для рабо- ты другие каналы. Затем система на досуге анализирует отдельно эту область и исправляет повреждение, а если исправление невоз- можно, то система навсегда изолирует эту область, обходя ее. Про- должительность нормальной работы автомата определяется време- нем, прошедшим до того, как происходит столько непоправимых ошибок, производится столько временных и постоянных обходов, что в конце концов работоспособность системы действительно падает. Эта философия коренным образом отличается от той, по которой пер- вая же ошибка означает конец мира. Чтобы применять к искусственным автоматам философию, на ко- торой основаны естественные автоматы, мы должны лучше понимать сложные механизмы, располагать более подробными статистическими сведениями о том, что идет не так, и мы должны иметь более совер- шенную, чем сейчас, статистическую информацию о среде, в которой живет механизм. Автомат нельзя отделять от среды, на которую он реагирует. Под этим я подразумеваю, что бессмысленно говорить, плохой автомат или хороший, быстрый или медленный, надежный или ненадежный, до тех пор пока не сказано, в какой среде он рабо- тает. Характеристики человека, обеспечивающие выживание, в силь- ной мере зависят от земной поверхности в ее теперешнем состоянии, а для большинства людей следовало бы еще сузить условия. Бессмыс- ленно обсуждать, выжил ли бы человек на дне океана или при тем- пературе 1000° по Цельсию. Точно так же при обсуждении вычисли- тельной машины бессмысленно узнавать, быстрая она или медленная, пока не определен точно тип задач, которые ей придется решать. Громадная разница — сконструирована ли машина для решения более или менее типичных задач математического анализа, или для теории чисел, или для комбинаторики, или для перевода текста. Как сконструировать машину для решения типичных задач матема- тического анализа, мы примерно знаем. Но я не уверен, что можно создать машину, хорошо приспособленную для решения задач из тео- рии чисел, разве только на основе наших представлений о статистиче- ских свойствах этой теории. Я думаю, что мы весьма слабо предста- вляем себе, как построить хорошую машину для комбинаторики и перевода. Дело в том, что статистические свойства задач математического анализа довольно хорошо известны и, насколько мы знаем, довольно однородны. Рассмотрим несколько задач математического анализа, сильно отличающихся друг от друга по форме и по математическим стандартам: нахождение корней уравнения 10-гопорядка, обращение матрицы 20-го порядка, решение задачи на собственные значения, решение интегрального уравнения и решение интегро-дифференциаль- Лекция 4. Роль высокой и очень высокой Сложности 91
ного уравнения. Эти задачи оказываются удивительно однородными по своим статистическим свойствам (таким, как доля умноже- ний по отношению к другим операциям, число обращений к памяти на одно умножение и оптимальная иерархическая структура памяти в отношении времени выборки), а они-то и важны для решения на вы- числительной машине. В теории чисел гораздо меньше однородности, правда, с некоторых точек зрения теория чисел считается однородной, но я не знаю, из чего они исходят. Итак, можно говорить о достоинствах всех этих автоматов только с учетом среды, в которой они работают. Естественные автоматы намного лучше приспособлены к своей среде, чем любой из известных искусственных. Следовательно, вполне возможно, что мы уже недалеки от пределов сложности, которую можно достичь в искусственных автоматах, не продвигаясь особенно в глубь теории информации. (С такими утверждениями на самом деле надо быть очень осторожны- ми, так как через 5 лет они могут выглядеть ужасно нелепыми.) [Фон Нейман далее объясняет, почему вычислительные машины конструируются так, чтобы после первой же ошибки они останавли- вались. Эта ошибка должна быть локализована и исправлена инже- нером, которому будет очень трудно локализовать ошибку, если их несколько. Если же повреждение только одно, то можно разделить машину на две части и определить, в какой из них произошла ошибка. Эту процедуру можно повторять до тех пор, пока не будет выделено место неисправности. Этот общий метод становится очень сложным, когда повреждений два или три, и он совсем непригоден, когда повре- ждений много.] Тот факт, что естественные организмы резко по-иному относятся к ошибкам и ведут себя совершенно иначе, когда ошибка появляется, вероятно, связан с другими свойствами природных организмов, полностью отсутствующими у наших автоматов. Способность естест- венных организмов выживать даже при наличии большого числа неисправностей (к чему совершенно не способны искусственные автоматы), вероятно, связана с высокой приспособляемостью, способ- ностью автомата наблюдать самого себя и реорганизовываться. А это, по-видимому, предполагает значительную автономию его частей. В нервной системе человека такая автономия очень сильна. Автоно- мия частей приводит к эффекту, который можно наблюдать в нервной системе человека и которого нет в искусственном автомате. Когда части автономны и способны к реорганизации, когда имеется несколь- ко органов, каждый из которых в случае необходимости способен взять на себя управление, между частями могут развиться антаго- нистические взаимоотношения и они больше не будут «дружить» и сотрудничать. Весьма вероятно, что все эти явления между собой связаны.
ЛЕКЦИЯ 5 ПЕРЕОЦЕНКА ПРОБЛЕМ СЛОЖНЫХ АВТОМАТОВ — ПРОБЛЕМЫ ИЕРАРХИИ И ЭВОЛЮЦИИ Анализ компонентов и анализ целого. Хотя обе эти части в окончательной теории должны появиться вместе, современное состояние нашей информации еще не под- тверждает этого. Первая проблема: причина, по которой детали здесь не рассматриваются; прин- ципиальные вопросы, связанные с приро- дой релейных органов. Вторая проблема: теория информации и автоматов; пересмотр расширенной про- граммы с учетом теоретического ана- лиза автоматов, как показано в конце лек- ции 2. Синтез автоматов. Автоматы, которые могут осуществлять такой синтез. Интуитивное понятие «сложности». Пред- положение о ее вырождающемся характе- ре: в связи с описанием процессов с помощью автоматов; в связи с синтезом автоматов автоматами. Ограничения и трудности, связанные с концепцией вырождения. Строгое рассмотрение: автоматы и их «элементарные» части; определение и перечень элементарных частей; синтез автоматов автоматами; проблема само- восп роизведения. Основные относящиеся к делу типы конструирующих автоматов: понятие универсальной инструкции; универсальный конструирующий автомат, который может следовать инструкции; универсальный копирующий автомат, самовоспро- изводящаяся комбинация. Самовоспроизведение, объединенное с синтезом других автоматов: энзимная функция; сравнение с основными известными чертами генетического и мутацион- ного механизмов. Все вопросы, на которых я до сих пор останавливался, относи- лись к автоматам, действия которых не были направлены на самих себя. Поэтому в результате их действий получалось нечто, коренным образом отличающееся от них самих. Проследим это в каждом из трех случаев, которые я разбирал. В случае машины Тьюринга, представляющей собой «ящик» с конечным числом состояний, это очевидно. Ее выходы имеют совер- шенно иную сущность, которую я для удобства буду называть перфо- лентой. Сама по себе эта лента не является объектом, способным само- произвольно менять свои внутренние состояния. Более того, она не только не конечна — она бесконечна в обе стороны. Таким обра- зом, эта лента качественно отличается от автомата, наносящего на нее перфорацию, так что машина Тьюринга работает в качественно отличной от нее среде. Равным образом это утверждение справедливо и для автоматов Маккаллока и Питтса, построенных из узлов (названных нейронами), генерирующих импульсы. На входах и выходах этих автоматов фигу- рируют не нейроны, а импульсы. Правда, эти импульсы могут посту- пать в периферические органы, создавая тем самым совсем другие Лекция 5. Переоценка проблем сложных автоматов 93
реакции. Но и здесь мы прежде всего думаем, скажем, о том, что эти импульсы подаются в моторные или секреторные органы, так что опять-таки входы и выходы автомата в корне отличны от самого автомата. Наконец, это абсолютно верно для вычислительных машин, которые можно представлять себе как машины, на входах и выходах которых находится некоторый носитель информации, например перфо- лента. Разумеется, нет большой разницы в том, чем является этот носитель: перфокартой, магнитной проволокой, магнитной лентой со многими каналами или куском фотопленки с отснятыми точками. Во всех этих случаях носитель, поступающий в автомат и выходящий из него, имеет совершенно другую природу, чем сам автомат. Фактически автомат вовсе не создает носителя, а просто моди- фицирует поступающий в него носитель, который полностью от него* отличается. Можно представить себе также вычислительную машину с импульсами на выходе, управляющими объектами совершенно другого рода. И снова сам автомат целиком отличен от создаваемых им электрических импульсов. Таким образом, качественное отлично налицо. Исчерпывающее обсуждение автоматов можно провести только при более широком взгляде на эти вещи: необходимо принять во вни- мание также автоматы, дающие на выходах что-то похожее на них самих. Разумеется, здесь речь идет не о создании материи из ничего, а об автоматах, способных модифицировать объекты, подобные себе, или осуществлять синтез, выбирая части и соединяя их друг с дру- гом, или разбирать синтезированные объекты. Для того чтобы облег- чить рассуждения, представим себе следующую формальную схему. Составим список однозначно определенных элементарных частей и допустим, что таких частей у нас практически неограниченное число и они «плавают» внутри большого резервуара. Автомат тоже плавает в этой среде, и его назначение в том, чтобы подбирать части и сцеплять их друг с другом, а если попался целый агрегат, то разо- брать его. Это аксиоматически укороченное и упрощенное описание того, что же на самом деле делает организм. Такой подход связан с опреде- ленными ограничениями, но они не слишком отличаются от ограниче- ний, свойственных любому аксиоматическому методу. Всякий резуль- тат, который можно при этом получить, коренным образом зависит от того, как определены элементарные части. Для всех аксиоматиче- ских методов характерно то, что очень трудно дать строгие правила выбора элементарных частей. Поэтому о целесообразности такого выбора можно судить лишь руководствуясь здравым смыслом. Стро- гого описания, какой выбор разумен, а какой нет, не существует. Прежде всего если в качестве элементарных частей взять слишком много объектов, причем каждый из них выбрать большим и слож- Часть I. Теория и организация сложных автоматов 94
ным, то может получиться так, что вообще никакой проблемы не останется. Например, если в качестве элементарных частей вы выбрали объекты, аналогичные всему организму, то очевидно, что вы погубили задачу, ибо вы должны наделить эти части как раз теми функциями всего организма, которые вы хотели понять или описать. Итак, выби- рая элементарные части слишком большими, наделяя их слишком многообразными и слишком сложными функциями, вы теряете задачу в момент ее формулировки. Проблема также пропадает, если в качестве элементарных частей брать слишком маленькие объекты, например не превосходящие молекулу, атом или элементарную частицу. В этом случае можно совершенно погрязнуть в вопросах, которые, будучи и важными и интересными, безусловно предшествуют нашей проблеме. Мы зани- маемся здесь вопросами организации, связанными с очень сложными организмами, а не вопросами структуры вещества и не квантовоме- ханической теорией атомной химии. Итак, определяя элементарные части, мы должны исходить из здравого смысла и брать объекты не слишком маленькими и не слишком большими. Даже среди объектов подходящих размеров (по порядку величин) можно выбирать элементарные части различными способами, из ко- торых ни одному нельзя отдать предпочтение. В формальной логике встречается та же трудность: необходимо выбрать непротиворечи- вую систему аксиом, но нет строгого правила, как их выбирать,, а есть лишь соображения здравого смысла — вы хотели бы получить то, что вас интересует, и не хотели бы формулировать в своих аксио- мах положений, которые на самом деле являются окончательными теоремами вашей теории или относятся к ее предшествующим разде- лам. Например, при выборе системы аксиом в геометрии нецелесооб- разно включать теоремы из теории множеств, поскольку при изуче- нии геометрических свойств объектов не важно, как переходят от мно- жеств к числам, а от чисел — к геометрии. Не следует выбирать в качестве аксиом геометрии слишком сложные теоремы аналитичес- кой теории чисел, так как вас интересует в этой области более ран- ний этап. Даже если аксиомы выбраны в рамках разумного, обычно очень трудно добиться соглашения между двумя авторами, сделавшими это независимо. Например, в литературе по формальной логике почти столько же обозначений, сколько авторов, и всякий, кто пользовался каким-нибудь обозначением на протяжении нескольких недель,, чувствует, что оно более или менее лучше любого другого. Таким образом, хотя выбор обозначений и элементов необычайно важен и составляет основу для применения аксиоматического метода, каждый конкретный выбор нельзя ни формально оправдать, ни уни- фицировать для всех людей. Можно лишь попытаться предложить Лекция 5. Переоценка проблем сложных автоматов 95
систему, соответствующую здравому смыслу. Я сейчас расскажу, как построить одну такую систему, но еще раз решительно подчеркиваю, что этот выбор весьма условен. В качестве элементарных частей я беру следующие объекты: нейроны, «мышцу», элементы, способные формировать или ликвиди- ровать соединения, и элементы, поставляющие энергию. Все эти объекты определены почти столь же поверхностно, как нейрон в фор- мальной теории Маккаллока и Питтса. Если с такой же степенью схематизации описывать мышцы, соединительную ткань, «разъеди- нительную ткань» и средства, обеспечивающие метаболической энер- гией, то получится система элементов, работать с которой будет сравнительно несложно. В этой системе будет, вероятно, 10, 12 или 15 элементарных частей. Аксиоматизируя таким же образом автоматы, мы оставляем за бор- том половину проблемы и, быть может, наиболее важную. А именно мы смирились с тем, что не объясняем, как эти элементарные части строятся из реальных объектов, т. е. реально существующих элементарных частиц или даже из сложных химических молекул; мы не задаем самых интригующих, захватывающих и важных вопро- сов: почему молекулы или агрегаты, реально встречающиеся в при- роде в этих частях, являются именно такими, какие они есть на са- мом деле, почему в одних случаях они представляют собой фактически очень большие молекулы, а в других большие агрегаты, почему их размеры заключены в диапазоне от нескольких микрон до нескольких дециметров? Для элементарных частей это очень странный диапазон, так как он по крайней мере на 5 порядков отличается от размеров реально существующих элементарных объектов. На все эти вопросы мы не отвечаем, а просто предполагаем, что элементарные части с необходимыми свойствами существуют. Тогда можно надеяться получить ответ или хотя бы попытаться исследо- вать такие вопросы: какими принципами руководствуются при состав- лении из этих элементарных частей функционирующих организмов, каковы черты таких организмов и каковы их основные количест- венные характеристики? Именно с этой ограниченной точки зрения я буду рассматривать нашу проблему. [Здесь фон Нейман делает замечания, касающиеся информации, логики, термодинамики и равновесия, которые я поместил в конец лекции 3. Я это сделал потому, что так было предусмотрено в по- дробном конспекте фон Неймана. Здесь же он приводит их потому, что понятие сложности, которое он затем вводит, относится к теории информации.] Нам будет весьма полезно одно понятие, относительно которого мы имеем какие-то интуитивные представления, но они неясны, ненаучны и несовершенны. Это понятие, очевидно, принадлежит к предмету информации, и к нему применимы квазитермодинамиче- Часть I. Теория и организация сложных автоматов 96
ские соображения. У меня нет для него адекватного названия, но лучше всего его характеризует слово «сложность». С этой сложно- стью связана эффективность, т. е. способность делать нечто сущест- венное. Сложность здесь означает не то, как сложен объект, а то, как сложны его целенаправленные действия. В этом смысле объект обладает очень высокой сложностью, если он способен решать весьма трудные и сложные задачи. Я остановился на этом потому, что при изучении автоматов, нор- мальная функция которых состоит в синтезировании других автома- тов из элементарных частей (живые организмы или такие хорошо знакомые искусственные автоматы, как станки), обнаруживается следующая замечательная вещь. Если рассматривать вопрос с двух различных точек зрения, каждая из которых вполне приемлема, то могут получиться два совершенно разных и даже противоречивых утверждения! Как всем хорошо известно, живые организмы создают себе подоб- ных. Это их нормальная функция, без этого они не могли бы сущест- вовать и, вполне вероятно, что именно этим объясняется то, что они заселяют весь мир. Другими словами, живые организмы — это очень сложные агрегаты элементарных частей, а потому по любой разумной вероятностной или термодинамической теории они весьма маловероятны. Сам факт их существования на земле является в выс- шей степени чудом; единственное, что снимает или уменьшает ощуще- ние чуда, это их способность к воспроизведению. Поэтому если по какой-то необычайной случайности появился один живой организм (с этого момента вероятностные законы перестают действовать), то их станет много, по крайней мере в подходящих условиях. А подходя- щие условия термодинамически уже не столь маловероятны. Таким образом, вероятностные соображения оставляют здесь щель, через которую удается проникнуть с помощью процесса самовоспроиз- ведения. Более того, столь же очевидно, что процесс, происходящий в дей- ствительности, на ступень выше самовоспроизведения, ибо с течением времени организмы, по-видимому, совершенствовались. Живые организмы в процессе филогенеза произошли от других, настолько более простых, что непостижимо, каким образом в ранних, более примитивных организмах могло быть заложено какое-либо описа- ние теперешних сложных организмов. Нелегко представить себе, каким образом гены, являющиеся, по-видимому, объектом более низкого порядка, могут содержать описание человеческого организма, который должен возникнуть. Правда, в этом случае можно сказать, что ген осуществляет свое действие лишь внутри другого человече- ского организма и потому он может содержать не полное описание того, что должно произойти, а только некоторые указания для не- Лекция 5. Переоценка проблем сложных автоматов 97
скольких альтернатив. С эволюцией в процессе филогенеза дело обстоит иначе: развитие началось с простых существ, окруженных неживой аморфной средой, и пришло к чему-то очень сложному. Очевидно, живые организмы обладают способностью создавать нечто более сложное, чем они сами. К совершенно противоположному выводу приводят рассуждения, связанные с искусственными автоматами. Бесспорно, станок слож- нее тех деталей, которые на нем можно изготовить, и вообще автомат Л, способный сделать автомат В, должен содержать полное описание автомата В и набор правил, указывающих, как вести себя в процессе синтеза. Отсюда можно вынести твердое убеждение в том, что сложность (или продуктивная способность) носит вырождаю- щийся характер, что организация, которая что-то синтезирует, обя- зательно должна быть более сложной, более высокого порядка, чем создаваемая организация. Это заключение, возникающее из рас- смотрения искусственных автоматов, очевидно, противоположно заключению, сделанному при рассмотрении живых организ- мов. Я думаю, что несколько сравнительно простых примеров комби- наторного исследования искусственных автоматов помогут нам раз- решить эту дилемму. Поскольку у нас нет достаточно ясного пред- ставления о том, как функционируют живые организмы, то обраще- ние к органике большой пользы нам не принесет. Мы займемся поэтому автоматами, которые мы в совершенстве знаем, ибо мы их сделали — как реально существующие искусственные автоматы, так и автоматы на бумаге, полностью заданные некоторым конечным множеством логических аксиом. Мы опишем автоматы, способные воспроизводить себя. Так по крайней мере можно будет показать, что там, где, казалось бы, сложность должна вырождаться, она вовсе не вырождается, а даже создаются более сложные объекты. Отсюда следовало бы сделать вывод, что сложность носит вырож- дающийся характер лишь до определенного минимального уровня. Это хорошо согласуется с другими результатами формальной логики, которые я несколько раз упоминал в этих лекциях х). Мы еще не зна- ем, что такое сложность и как ее измерять, но мне кажется, что этот вывод правильный, даже если измерять ее совсем примитивно — числом элементарных частей. Ниже некоторого минимального числа элементарных частей сложность вырождается в том смысле, что если один автомат создает другой, то последний менее сложен, чем первый. Если же число элементарных частей превышает этот минимум, то автомат конструирует автоматы равной или более высокой сложно- сти. Величина этого минимума зависит от того, как вы определили *) [См. конец лекции 2.] Часть I. Теория и организация сложных автоматов 98
элементарные части. При разумном выборе частей (вроде того, кото- рый я после опишу), дающем одну или две дюжины частей с простыми свойствами, этот минимум довольно большой — порядка миллиона. Более точной оценки у меня нет, но думаю, что ее можно получить за обозримое время, правда, с затратой большого труда. Итак, в процессе самовоспроизведения решающую роль играет свойство сложности, характеризующееся тем, что для каждого авто- мата имеется критическое число элементарных частей, ниже которого процесс синтезирования вырождается, а выше (при условии правиль- ной организации) может приобрести характер взрыва. Другими сло- вами, синтез автоматов может протекать так, что каждый автомат будет создавать другие автоматы, более сложные и обладающие боль- шими, чем он, возможностями. Разумеется, все это так и останется на уровне нечетких утвержде- ний, если не будет дано корректное определение понятия сложности, а это нельзя сделать до тех пор, пока не будет детально рассмотрено несколько показательных примеров, т. е. конструкций, иллюстри- рующих критические и парадоксальные свойства сложности. В этом нет ничего нового. Точно так же обстояли дела с консервативными и неконсервативными свойствами в физике, с понятиями энергии и энтропии и с другими важными понятиями. Довольно долго обсуж- дались простейшие механические и термодинамические системы, прежде чем удалось дать корректные определения понятиям энергии и энтропии. [Затем фон Нейман вкратце описывает, какие элементы он пред- полагает использовать в качестве элементарных частей. Это нейроны, подобные нейронам Маккаллока и Питтса. Это элементы, «которые не имеют абсолютно никаких функций, и о них можно сказать лишь, что они жесткие и их концы образуют геометрический узел». Элемент другого типа: «моторный орган», или «штука, подобная мышце»; при стимуляции его длина сокращается до нуля. Кроме того, орган, кото- рый при приходе импульсов «может либо устанавливать, либо нару- шать соединение». Всего таких элементов нужно меньше дюжины. Составленный из них автомат может захватить и другие части, слу- чайно вступившие с ним в контакт; «можно придумать систему, посредством которой автомат будет чувствовать», какую именно часть он захватил. В июне 1948 г. в Институте перспективных исследований фон Нейман прочел три лекции по автоматам для небольшой группы своих друзей. Возможно, он сделал это, готовясь к Хиксоновскому симпозиуму, который состоялся в сентябре того же года (см. Нейман [1, т. 5, стр. 288—328]). В этих лекциях содержалось самое подробное из известных мне описаний частей самовоспроизводящегося авто- мата. Лекция 5, Переоценка проблем сложных автоматов 99
На основе записей и воспоминаний тех, кто его тогда слушал, я попытался восстановить все сказанное им об этих частях и о том, как они будут работать. Фон Нейман описал 8 типов элементарных частей. Все они, по-ви- димому, обозначались отрезками прямых, причем входы и выходы были на концах и (или) в середине. Система отсчета времени была дискретной, и каждый элемент расходовал на свою работу одну единицу времени. Не ясно, считал ли он свой список полным или намеревался его дополнить. Я думаю, что в то время это еще не было решено. Четыре из этих восьми частей выполняют логические операции и операции по обработке информации. Импульсный орган получает и передает импульсы; получает он их дизъюнктивно, т. е. реализует высказывание «р или q». Орган совпадения реализует высказывание «р и д». Тормозной орган реализует «р и не д». Источник импульсов служит для создания импульсов. Пятая часть — элементы жесткости. Из этих элементов строится жесткая основа для автомата. Элемент жесткости не передает ника- ких импульсов — это изолированный стержень. Один такой элемент может быть соединен с другими элементами жесткости, а также с час- тями, не являющимися жесткими элементами. Соединения осуществляются скрепляющим органом, который под воздействием раздражителя связывает две части. Скрепляющий орган, по-видимому, используется так. Предположим, что точку а одного стержня нужно соединить с точкой Ъ другого стержня. Активный, или выходной, конец скрепляющего органа приводится в контакт с точками а и Ъ. Раздражение входного конца скрепляющего органа в момент t приводит к тому, что в момент t + 1 точки а и 6 связы- ваются. После этого скрепляющий орган можно удалить. Специальный разделяющий орган под воздействием импульсов разрушает соединения. Восьмая часть — мышца. Она используется для получения дви- жения. В исходном состоянии она жесткая. Она может быть соединена с другими частями. Под воздействием раздражения, поступившего в момент t, к моменту времени t + 1 она сокращается до нулевой длины, сохраняя все соединения неизмененными. Пока имеется раз- дражение, она остается в сокращенном состоянии. Вероятно, можно использовать мышцы для движения частей и осуществления соединений следующим образом. Пусть мышца 1 расположена между точкой а одного стержня и точкой Ъ другого стержня, а мышца 2 — между точкой а и активным концом с скреп- ляющего органа. Если раздражать обе мышцы, то они сократятся, связав тем самым все три точки а, Ъ, с. Если раздражать скрепляю- щий орган, то связываются точки а и Ъ. Наконец, если прекратить Часть L Теория и организация сложных автоматов 100
раздражение мышц, то они возвращаются к своей исходной длине, причем по крайней мере один конец мышцы 1 отделяется от точки ab. Вопроса о том, как устанавливаются и ликвидируются соединения между мышцами и другими частями, фон Нейман, по-видимому, не обсуждал. Автомат, конструирующий другие автоматы, фон Нейман пред- ставлял себе так. Конструирующий автомат плавает по некоторой поверхности, окруженный неограниченным числом запасных частей. В памяти конструирующего автомата хранится описание того авто- мата, который должен быть создан. Руководствуясь этим описанием, он отбирает необходимые части и организует из них требуемый авто- мат. Чтобы это сделать, он должен обладать устройством, позво- ляющим захватывать и идентифицировать части, пришедшие с ним в контакт. В июньских лекциях 1948 г. было лишь несколько замечаний о том, как могло бы работать такое устройство. Из конструирующего автомата выдаются вперед два узла стимуляции. Когда их касается какая-либо часть, осуществляется тестирование и устанавливается тип этой части. Например, импульсный орган будет передавать сигнал, а стержень нет. Мышцу можно определить по тому, что она при стимуляции сокращается. В первой конструкции фон Нейман предполагал не принимать во внимание вопросов топлива и энергии. Он хотел рассмотреть их позже, возможно введя батарею в качестве еще одной элементарной части. Без этого нововведения ранняя модель самовоспроизведения, разработанная фон Нейманом, отражает лишь геометрические и ки- нематические вопросы движения, контакта, расположения, установ- ления и устранения скреплений и игнорирует механические и хими- ческие вопросы силы и энергии. Поэтому я назвал ее кинематиче- ской моделью самовоспроизведения. Эта модель сильно отличается от его более поздней клеточной модели самовоспроизведения, представленной в части II настоящей книги. В июньских лекциях 1948 г. фон Нейман поставил вопрос: требует ли кинематическое самовоспроизведение трех измерений? Он цред- положил, что нужны либо три измерения, либо поверхность Римана (многосвязная плоскость). В части II мы увидим, что клеточная модель требует лишь двух измерений. Возможно, отсюда следует, что и для кинематического самовоспроизведения достаточно двух измерений. Вернемся теперь к Иллинойсским лекциям. Фон Нейман разбира- ет в них общую схему самовоспроизводящегося автомата. Он гово- рит, что в принципе можно создать машинную мастерскую, которая при наличии достаточного количества сырья и времени будет изго- товлять копии любой машины. Эта мастерская должна содержать Лекция 5. Переоценка проблем сложных автоматов 101
станок В со следующими свойствами. Если на него поступил образец — объект X, он подвергает его исследованию и составляет перечень его частей и соединений. В результате получается описание объекта X. С помощью этого описания станок В может изготовить копию объекта X. «Это уже очень близко к самовоспроизведению, так как можно подать на станок В сам этот станок».] Намного легче, но в конечном счете столь же эффективно скон- струировать не автомат, копирующий любой предъявленный ему образец, а автомат, способный создать объект, основываясь на его логическом описании. В любом методе, когда-либо разработанном человеком, автомат, копирующий образец, переходит сначала от об- разца к его описанию, а затем от описания к объекту. Сначала он абстрагирует предъявленную ему вещь, а потом выполняет ее. Сле- довательно, проще не извлекать из реального объекта его определе- ние, а начинать с определения. Чтобы действовать таким образом, мы должны иметь аксиомати- ческое описание автоматов. Итак, я подошел совсем близко к приему, использованному Тьюрингом в связи с универсальными автоматами. Он также начинал с общего формального описания автоматов. Если взять ту дюжину частей, о которых я говорил довольно общо и нечет- ко, и дать им точное описание (которое можно было бы уместить всего на двух печатных страницах), то получится формальный язык, однозначно описывающий автоматы. От любой системы обозначе- ний можно затем перейти к двоичной системе, символы которой можно записывать на перфоленту, пользуясь одним каналом. Поэто- му любое описание автомата можно разместить на куске перфоленты. Но лучше пользоваться описанием не этих кусков и их соединений, а последовательных шагов, которые следует проделать при построе- нии автомата. [Затем фон Нейман показывает, как построить двоичную ленту из элементов жесткости (см. рис. 2). Каждое соединение основной цепи реализует один из двоичных символов: 1 характеризуется нали7 чием бокового элемента жесткости, 0 характеризуется отсутствием бокового элемента. Запись и стирание осуществляются соответствен- но добавлением и удалением боковых элементов.] Я сделал некоторые упрощения, диктующиеся не необходимостью, а чисто математической привычкой пытаться обойтись минимумом обозначений. Так как я пользуюсь двоичной символикой, то я могу здесь только либо присоединять боковую цепочку из одного элемен- та, либо не присоединять ничего. В существующих ныне языках и в принятых системах обозначений используется гораздо больше символов, чем в двоичной системе. Нетрудно и здесь употребить больше символов — просто присоединять более сложные боковые цепочки. В самом деле, ведь линейность нашего логического обозна- чения не является здесь абсолютно необходимой. Часть I. Теория и организация сложных автоматов 102
Можно использовать более сложные цепи с петлями, способные нести некоторые кодовые символы, причем такой код уже не будет линейным. Предпочтение к линейным кодам, образующим простую, почти временную последовательность, по-видимому, вызвано главным образом нашим не очень высоким уровнем комбинаторного мыш- ления, и можно ожидать, что достаточно эффективный язык уже не будет линейным *). Совсем нетрудно дать полную аксиоматику для описания в двоич- ном коде любого мыслимого автомата. Любое такое описание затем можно представить в виде цепи элементов жесткости (как на рис. 2). Для данного автомата X обозначим через ф (X) цепь, представляю- щую X. Теперь можно сконструировать универсальный станок Л, который при подаче на него такой цепи ф (X) воспримет ее и будет постепенно поглощать. Одновременно он будет строить из частей, свободно плавающих в окружающей среде, автомат X. Это построе- ние хоть и трудоемко, но в принципе возможно, ибо представляет собой цепь формально-логических шагов. Качественно это не отли- чается от рассуждений Тьюринга при конструировании им универ- сального автомата. И еще одна вещь, которая может понадобиться. Я уже говорил, что построить машину, копирующую предъявленный ей автомат, может оказаться очень сложно, и желательно отправляться не от оригинала, а от его словесного описания. Исключение составляет копирование линейных цепочек элементов жесткости. Это очень легко. В самом деле, копировать существующий автомат труднее, чем его описание, потому что существующий автомат не согласуется с нашей привычкой к линейности, ибо его части соединяются друг с другом во всевозможных направлениях и довольно трудно выделить те части, которые уже описаны * 2). Но скопировать линейную цепочку элементов жесткости нетрудно. Итак, я буду предполагать, что суще- ствует автомат В, обладающий следующим свойством: если снабдить его каким-нибудь описанием, то он поглотит его и создаст две копии этого описания. Заметьте, пожалуйста, что после описания этих двух элементар- ных шагов еще может остаться впечатление, что принцип вырожде- ния сложности не нарушен. Действительно, пока еще не получено ничего более искусного и сложного. Универсальный 3) конструирую- щий автомат Л, снабженный полным описанием объекта X, создает г) [Примером такого языка служит предложенный фон Нейманом язык программирования с применением блок-схем, см. стр. 32.] 2) [Ср. разд. 1.6.3 части II, написанный тремя годами позже. Там фон Ней- ман приводит более вескую причину того, почему конструирующий автомат должен работать по описанию конструируемого автомата, а не с использова- нием его самого.] 3) В оригинале general (общий).— Прим, перев. Лекция 5. Переоценка проблем сложных автоматов 103
всего лишь X, а при любом разумном определении сложности описание объекта столь же сложно, как и сам объект. Универсальный копирующий автомат создает две копии цепи ф (X), но наложение двух копий одного и того же объекта ни в каком смысле не дает объекта более высокого порядка. Кроме того, для такого копиро- вания нужен дополнительный узел В. Добавим теперь к автомату А 4“ В некоторое количество управ- ляющего оборудования. Автомат С командует автоматами А и В, приводя их по очереди в рабочее состояние по следующей схеме. Управляющий узел С сначала предписывает автомату В создать две копии цепи ср (X). Затем он предписывает автомату А сконструи- ровать объект X, уничтожая при этом одну из копий ф (X). Наконец, управляющий узел С связывает X с оставшейся копией ф (X) и отде- ляет их от комплекса А 4~ В + С. В итоге создается комбинация X + ср (X). Возьмем в качестве X агрегат А 4“ В + С. Автомат (А 4~ В + С) Ч- + Ф (А + В + С) построит (А + В + С) + ф (А + В + С). Иными словами, произошло самовоспроизведение. [Опишем это более подробно. Нам дан универсальный конструк- тор А + В + С вместе с его собственным описанием ф (А + В + С). Таким образом, процесс самовоспроизведения начинается с автомата (А + В + С) + ф (А + В + С). Управляющий узел С приказы- вает автомату В дважды скопировать описание. В результате полу- чается (А .+ В + С) + ф (А + В + С) + Ф (А + В + С). Затем С приказывает автомату А построить автомат А 4-5-4 С по одной из копий описания. В результате получается (А + в + С) + (А + В + С) + ср (А 4- в + С). Наконец, С связывает новый автомат с его описанием и отделяет их. В итоге получаются два автомата: А ~4 В 4" С и (А 4" В 4- С) 4~ ф (А 4~ В -j- С). Если В скопирует описание трижды, то процесс начнется с одной копии автомата (А -4 В 4" С) -4 ф (А + В -4 С) и кончится двумя копиями этого автомата. Так универсальный конструктор воспро- изводит себя.] Здесь нет порочного круга. Я начал рассуждения с объекта X, показав, что должен делать автомат С, а затем в качестве X взял нечто, содержащее С. Но прежде чем упомянуть частное значение X, я точно определил А и 5, а автомату С дал такое определение, кото- рое применимо при любом X. Следовательно, определяя А, В и С, я не налагал никаких условий на X, и потому имею право в качест- ве X взять А 4" В 4- С. При этом зацикливания не будет. Часть I. Теория и организация сложных автоматов 104
Универсальный конструирующий автомат А обладает созида- тельной способностью, т. е. может переходить от описания объекта к самому объекту. Аналогично универсальный копирующий авто- мат В обладает созидательной способностью, заключающейся в пере- ходе от объекта к двум его копиям. Ни один из этих автоматов, однако, не является самовоспроизводящимся. Что же касается управляющего автомата С, то он даже не имеет никакой созидатель- ной или репродуцирующей способности. Он может лишь стимулиро- вать два других органа так, чтобы они действовали определенным образом, связывать определенные объекты и отделять их от исходной системы. А комбинация этих трех автоматов А, В и С уже обладает свойством самовоспроизведения. Таким образом, самовоспроизводящуюся систему можно разбить на части, каждая из которых выполняет функции, необходимые для того, чтобы вся система была самовоспроизводящейся, но сама не самовоспроизводится. Можно сделать даже большее. Возьмем в качестве X систему А + В + С + D, где D — любой автомат. Тогда (А + В + С) + + ф(А-|-В + С + /)) создает (А+2? + С' + ^) + ф(А+2? + + С + D). Другими словами, теперь наш конструирующий автомат при своей нормальной работе создает не только свою копию, но и дру- гой объект D. Это нормальная функция самовоспроизводящегося организма — в дополнение к самовоспроизведению создавать побочные продукты. Система А + В + С + D может подвергаться воздействию процесса, сходного с процессом мутации. Одна из трудностей в опре- делении того, что понимать под самовоспроизведением, заключается в том, что некоторые организации, такие, как растущие кристаллы, по любому наивному определению самовоспроизведения будут самовоспроизводящимися, однако никому не хочется признавать их такими. Чтобы обойти эту трудность, можно считать, что само- воспроизведение включает в себя не только способность создавать другой, подобный оригиналу организм, но и подвергаться наслед- ственным мутациям. Рассмотрим эту ситуацию по отношению к автомату (А 1? + £ + + D) + ф (А + В + С + D). Под мутацией я буду понимать просто случайное изменение какого-нибудь одного элемента. Если в одном из автоматов А, В или С случайно изменится какой-нибудь элемент, то система, как правило, будет воспроизводить себя не пол- ностью. Например, если изменился какой-то элемент в С, то С может в нужное время не отдать правильной команды автоматам А и В или не сможет сделать требуемых разъединений и соединений. Такая мутация летальна. Если изменение произошло в описании <р (А + В + С + D), то система воссоздаст не себя, а некоторую свою модификацию. Спо- Лекция 5. Переоценка проблем сложных автоматов 105
собность следующего поколения что-то создать зависит от того, где именно произошло изменение. Если изменился какой-нибудь эле- мент в Л, В или С, то следующее поколение будет стерильно. Если же изменение произошло в D, то система с мутацией будет точно такой же, как первоначальная система, но только теперь вместо D будет D'. Эта система будет воспроизводиться, но побочным продук- том при этом будет D', а не D. Это нормальный пример наследствен- ной мутации. Итак, несмотря на то что эта система чрезвычайно примитивна, она обладает свойством наследственной мутации, вплоть даже до того, что случайная мутация оказывается с большой вероят- ностью летальной, но может оказаться и нелетальной и будет насле- доваться.
ЧАСТЬ II ТЕОРИЯ АВТОМАТОВ: КОНСТРУИРОВАНИЕ, ВОСПРОИЗВЕДЕНИЕ, ОДНОРОДНОСТЬ
[Вставки, комментарии, объяснения, резюме и гл. 5, принадлежа- щие редактору, взяты в квадратные скобки. Читатель, желающий получить лишь общее представление о содержании этой части, может ограничиться разделами 1.1.2.3, 1.3.3.5, 2.8.2, 2.8.3, 4.1.1, 4.3.1 и 5.3.]
ГЛАВА 1 ОБЩИЕ СООБРАЖЕНИЯ 1.1. ВВЕДЕНИЕ. 1.1.1.1. Теория авто- матов. Формальноег) иссле- дование автоматов представляет собой предмет, лежащий где-то между логикой, теорией связи и физиологией. Нужная для этого исследования степень абстракции делает его весьма несовершенным с точки зрения каждой из этих трех дисциплин, особенно с точки зрения последней из них. Тем не менее для адекватного подхода к этой теории, по-видимому, необ- ходимо усвоить определенные поло- жения каждой из названных трех дисциплин. Поэтому следует рассматривать теорию автоматов с точки зрения всех трех дисциплин сразу, а в конечном счете, вероятно, будет лучше всего относиться к ней как к отдельной самостоятельной дисциплине * 2). 1.1.1.2. Конструктивный метод и его ограниченность. В этой книге будет изучен один частный и весьма ограниченный этап фор- мальной теории автоматов. Его ограничение заключается в том, что определенные теоремы существования устанавливаются без доказа- тельства того, что конструкции, на которых они основаны, в каком-то смысле оптимальны или что использованные постулаты в каком-то смысле минимальны. Эти вопросы оптимальности и минимальности могли бы, по-видимому, найти решение лишь при наличии в области автоматов, управления и организации намного более развитых, чем сейчас, методов формирования инвариантных количественных поня- тий, их измерения, оценки и т. п. Мы верим, что это развитие воз- можно, его нужно ожидать и оно в значительной степени будет сле- довать образцам и системам понятий термодинамики3). Методы, которые мы здесь рассмотрим, лишь отчасти соответствуют тому усилию, которое необходимо предпринять в этом направлении. Во всяком случае, мы ограничимся здесь доказательством опреде- ленных теорем существования (используя соответствующие, ad hoc 4) конструкции) лишь в указанном выше смысле. 1.1.2.1. Основные вопросы. Наше исследование автоматов будет проходить по двум важным и связанным друг с другом направле- г) В оригинале formalistic.— Прим, перев. 2) (Здесь фон Нейман ссылается на Винера. См. Винер [1] и Нейман [10].] 3) Нейман [2; 7]. [См. также лекции 3, 4 части I настоящей книги.] 4) Для этой цели (лат.).— Прим, перев. Гл. 1. Общие соображения 109
ниям: логическому и конструктивному. Оставаясь в рамках указан- ного выше ограничения, мы рассмотрим пять главных вопросов, которые по крайней мере в начальной фазе развития изучаемого предмета являются, пожалуй, центральными. (А) Логическая универсальность. При каких условиях некоторый класс автоматов логически универсален, т. е. может выполнять все выполнимые операции с помощью лишь конечного (но произ- вольно большого) числа средств? При наличии какого вспомогатель- ного оборудования — переменного, но по существу стандартного — одиночный автомат будет логически универсальным? (В) Конструируемость. Можно ли сконструировать, т. е. ском- поновать и построить из (надлежащим образом определенного) «сырья», один автомат с помощью другого? Или, формулируя вопрос с другого конца и расширяя его: какой класс автоматов можно скон- струировать с помощью надлежащим образом заданного автомата? Здесь допускается переменное, но по существу стандартное обо- рудование (как в (А)). (С) Конструктивная универсальность. Конкретизируем второй вопрос из серии (В): может ли какой-нибудь надлежащим образом заданный автомат быть конструктивно универсальным, т. е. способ- ным сконструировать в смысле (В) (располагая подходящим, но по> существу стандартным оборудованием) любой другой автомат? (D) Самовоспроизведение. Сузим вопрос (С): может ли какой- нибудь автомат сконструировать в точности такой же автомат? Можно ли его заставить выполнять также и другие задачи, например сконструировать еще и другие, заранее указанные автоматы? (Е) Эволюция. Объединим вопросы (С) и (D): может ли конструи- рование автоматов автоматами прогрессировать от более простых типов к более сложным? Может ли эта эволюция двигаться от менее эффективных (при некотором разумном определении эффективности) автоматов к более эффективным? 1.1 .2.2. Характер ответов. Ответ на вопрос (А) известен т)- На вопросы (В) — (D) будут получены утвердительные ответы * 2). Па вопрос (Е) не позволяет дать подобный ответ неоднозначность в его формулировке, в особенности в определении понятия эффектив- ности. Далее мы рассмотрим вопросы (А) — (Е), более жестко опре- делив, что представляет собой автомат. Это мы сделаем с помощыо понятия, которому больше всего подходит название кристаллическая упорядоченность. Этот дополнительный результат столь же важен г) Тьюринг [3]. [См. обсуждение машин Тьюринга и универсальных машин Тьюринга на стр. 69. Неограниченно удлиняемая лента машины Тьюринга — это «переменное, но по существу стандартное оборудование», которое упоминает- ся фон Нейманом в вопросах (А) и (В).] 2) Нейман [4]. Часть II. Теория автоматов 110
и поучителен, как и возможность ответить на вопросы (А) — (D) {и до некоторой степени на вопрос (Е), см. выше}. Оставшуюся часть гл. 1 мы посвятим предварительному эвристи- ческому обсуждению вопросов (А) — (Е). В гл. 2 разработаем спе- циальную модель, в рамках которой сможем рассмотреть вопросы (А) — (D) со всеми подробностями и достаточно строго. В гл. 3 дадим анализ другой, более естественной, но технически менее удобной модели. Глава 4 посвящена дополнительным эвристическим сообра- жениям, которые целесообразнее привести после детально разрабо- танных конструкций гл. 2 и 3. [1.1.2.3. Модели самовоспроизведения, рассматриваемые фон Нейманом. В предыдущем абзаце представлен план, намеченный фон Нейманом. К сожалению, ему не удалось осуществить своп намерения полностью. Чтобы понять сам план и ссылки на него, надо иметь некоторое представление о рассмотренных им различных моделях самовоспроизведения. Эти модели мы сейчас кратко опишем. По необходимости многое из этого описания основано на личных беседах с теми, с кем фон Нейман обсуждал свои модели. Всего фон Нейман рассмотрел 5 моделей самовоспроизведения: кинематическую, клеточную, модель типа «возбуждение — порог — усталость», непрерывную и вероятностную модели. Кинематическая модель связана с геометрическими и кинематиче- скими проблемами движения, контакта, расположения, прикрепления и разделения. Вопросы силы и энергии в ней игнорируются. Основ- ные элементы кинематической модели: логические (переключатель- ные) и запоминающие (задержки) элементы (хранят и обрабатывают информацию); стержни (обеспечивают структурную жесткость); чувствительные элементы (чувствуют объекты в окружающем про- странстве); кинематические (мышцеподобные) элементы (двигают близлежащие объекты); соединяющие и разделяющие элементы (осуществляют соединения и разъединения элементов). Кинематиче- ская модель самовоспроизведения описана в лекции 5 части I. Там отмечалось, что фон Нейман начал работать над ней уже к 1948 г. Вторая модель самовоспроизведения, принадлежащая фон Ней- ману,— клеточная модель. Ее создание было стимулировано Ула- мом, который в процессе обсуждения кинематической модели выска- зал предположение, что логический и математический анализ легче будет производить в рамках клеточной структуры, чем этой кинема- тической модели г). В клеточной модели самовоспроизведение осуще- ствляется в неограниченном пространстве, разбитом на клетки, причем все они содержат один и тот же автомат. Фон Нейман называл [См. сноску на стр. 120. У лам в работе [5], представленной в 1950 г., вкратце описал некоторую клеточную схему и отметил, что она рассматривалась фон Нейманом и им.] Гл. 1. Общие соображения Ш
это пространство «кристаллической упорядоченностью», «кристал- лической средой», «гранулированной структурой» и «клеточной структурой» х). Мы будем употреблять термин клеточная структура. Для самовоспроизведения можно использовать много различных типов клеточных структур. Фон Нейман выбрал бесконечный массив квадратных ячеек. В каждую ячейку он поместил один и тот же конечный автомат с 29 состояниями. Каждая ячейка непосредственно сообщается с 4 примыкающими соседями, причем информация при- ходит с задержкой по крайней мере в 1 единицу времени. Фон Нейман разработал эту модель в рукописи, которая составляет часть II настоящей книги. Относительно этой рукописи г-жа Клара фон Нейман писала мне: «Я абсолютно уверена в том, что он начал рабо- тать над ней в конце сентября 1952 г. и кончил где-то в конце 1953 г.» Насколько мне известно, после 1953 г. фон Нейман почти ничего или совсем ничего не делал с этой рукописью. Рукопись, оставленная фон Нейманом, содержала две закончен- ные главы и длинную, но незавершенную третью главу. Глава 1 рукописи совпадает с гл. 1 настоящей книги. В главе 2 рукописи формулируются правила переходов, которым подчиняется клеточный автомат с 29 состояниями; это гл. 2 настоящей книги. В незакончен- ной главе 3 делаются основные шаги на пути создания клеточного самовоспроизводящегося автомата; их описание составляет 3 и 4 гл. Фон Нейман так и не закончил конструирование своего клеточного самовоспроизводящегося автомата; в гл. 5 я показываю, как это сделать. Клеточную модель самовоспроизведения, принадлежащую фон Нейману, следует сопоставить с некоторыми результатами У лама по клеточным автоматам. У лам [1] сформулировал одну матричную задачу, возникающую из клеточной модели. В работах [2, 41 он изу- чал ^проблемы роста фигур в клеточных автоматах с простыми пра- вилами переходов. Он изучал также эволюцию последовательных поколений индивидуумов с простыми свойствами, полагая, что каждое поколение порождает последующее в соответствии с некоторым про- стым, но нелинейным рекурсивным законом. Фон Нейман послал Голдстайну экземпляр главы 1 и приложил к нему письмо, датированное 28 октября 1952 г. В этом письме приведен подробный план разд. 1.1.2.2. Посылаю Вам обещанное введение (или «Главу 1»). Оно предварительно и неполно, особенно в следующих отношениях: (1) Это главным образом введение к «Главе 2», где рассматривается модель, в которой каждая клетка имеет около 30 состояний. В нем мало говорится о «Главе 3», в которой будет обсуждаться модель, содержащая лишь механизмы типа «возбуждение — порог — усталость», и о «Главе 4», где я предполагаю разобрать «непрерывную», а не «кристаллическую» модель. В непрерывной моде х) [Мур [1] предложил название «мозаичная модель».] Часть II. Теория автоматов 112
ли, насколько я сейчас себе представляю, будет использоваться система нели- нейных дифференциальных уравнений в частных производных по существу диффузионного типа. (2) Написанное имеет пока совершенно «нелитературный» вид, т. е. нет примечаний (указаны лишь места, в которых они будут помещены), нет ссылок, пояснений, касающихся мотивов, происхождения идей и т. д. Ясно, что при работе над гл. 1 фон Нейман планировал следую- щее: в гл. 2 дать полное описание клеточной модели самовоспроизве- дения, в гл. 3 рассмотреть модель самовоспроизведения типа «воз- буждение — порог — усталость», а в гл. 4 непрерывную модель самовоспроизведения. Фон Нейман успел закончить самые важные этапы конструирования клеточной модели. К сожалению, у него так и не нашлось времени ни довести до конца ее описание, ни рас- сказать о двух других моделях. В 1953 г. фон Нейман прочел четыре лекции в Принстонском университете (Vanuxem Lectures) со 2 по 5 марта включительно. Эти лекции были названы «Машины и организмы». Четвертая лекция посвящалась самовоспроизведению. В ней были упомянуты четыре модели: кинематическая, клеточная, модель типа «возбуждение — порог — усталость» и непрерывная модель. Так как фон Нейман уже договорился отдать свою рукопись «Теория автоматов: конструи- рование, воспроизведение, однородность» издательскому отделу Иллинойсского университета, то он не хотел эти лекции публико- вать отдельно. Было решено, что на материале этих лекций и первых двух глав рукописи Джон Кемени напишет статью. Она была опубликована в 1955 г. (см. Кемени [1]). Значительная часть первых трех лекций появилась позднее в работе Неймана [2]. В основу модели типа «возбуждение — порог — усталость» г) была положена клеточная модель. Каждая клетка бесконечной структуры клеточной модели содержит автомат с 29 состояниями. Идея фон Неймана состояла в том, чтобы сделать этот автомат из нейроноподобных элементов, имеющих как механизм уставания, так и порог. Поскольку усталость играет важную роль в работе нейронов, модель типа «возбуждение — порог — усталость» должна быть ближе к реальным системам, чем клеточная модель. Фон Ней- ман никогда не говорил, как он представляет себе работу идеализи- рованного нейрона, обладающего свойством усталости, но, учиты- вая все, что им сказано об идеализированных нейронах без устало- 9 [Следует заметить, что явление, которому фон Нейман дал название «усталость», гораздо чаще называют рефрактерностью, а усталость связана со многими периодами рефрактерности. Абсолютный рефрактерный период нейрона определяет максимальную частоту, с которой повторяется возбуждение нейрона. Если возбуждение происходит с такой скоростью (или близкой к ней), то порог увеличивается, и возбудить нейрон становится труднее. Вот это явле- ние повышения порога обычно и называют «усталостью».] Гл. 1. Общие соображения ИЗ
сти и об относительных и абсолютных периодах рефрактерности реального нейрона (см. стр. 63—68 и Нейман [1, т. 5, стр. 375 — 376]), мы можем сами сконструировать нейрон такого типа. Идеализированный нейрон типа «возбуждение — порог — уста- лость» имеет заданный порог и заданный период рефрактерности. Период рефрактерности делится на два периода — относительной и абсолютной рефрактерности. Пока не наступило явление усталости, нейрон возбуждается, как только число активированных входов превысит или сравняется со значением порога. Когда нейрон перехо- дит в состояние возбуждения, он генерирует выходной сигнал с опре- деленной задержкой, и начинается рефрактерный период. В течение периода абсолютной рефрактерности нейрон совсем не может воз- будиться; в течение периода относительной рефрактерности он может возбудиться, но только в том случае, когда число активированных входов не менее некоторого порогового числа, превышающего вели- чину нормального порога. Перейдя в состояние возбуждения, нейрон типа «возбуждение — порог — усталость» должен помнить об этом на протяжении всего периода рефрактерности. Он должен использовать эту информацию для того, чтобы не допустить, чтобы входные возбуждения оказывали на него свое обычное воздействие. Следовательно, этот тип нейрона сочетает переключательные свойства, выходную задержку и внут- реннюю память с цепью обратной связи, управляющей воздействием поступающих сигналов. Такой прибор представляет собой факти- чески конечный автомат, т. е. прибор со входами и выходами и конеч- ным числом состояний. В четвертой из лекций, прочитанных в Принстонском университете, фон Нейман высказал предположение, что нейрон с пороговым числом 2 и периодом рефрактерности 6 мог бы дать большую часть из тех 29 состояний, которые потребовались ему для каждого автомата, расположенного в клетках его системы. Четвертой моделью самовоспроизведения, рассмотренной фон Нейманом, была непрерывная модель. Фон Нейман предполагал в ее основу положить систему нелинейных уравнений в частных производных, типа тех, которым подчиняются диффузионные про- цессы в жидкости. Фон Нейман занимался нелинейными уравнения- ми в частных производных и хотел эвристически использовать авто- маты для решения теоретических проблем, связанных с такими уравнениями (стр. 53—55). В случае непрерывной модели самовос- произведения он собирался пойти в обратном направлении и с по- мощью нелинейных уравнений в частных производных решить одну из проблем теории автоматов — исследование логических и матема- тических свойств процесса самовоспроизведения. Это было частью общей идеи фон Неймана о применении методов и результатов мате- матического анализа для решения проблем теории автоматов (см. стр. 45—48). Часть II. Теория автоматов 114
Физика, химия, биология и логика самовоспроизводящейся системы чрезвычайно сложны и включают большое число факторов; например, массу, энтропию, кинетическую энергию, скорости реак- ций, концентрацию ферментов и гормонов, процессы переноса, коди- рование и управление. Все существенные свойства самовоспроизво- дящейся системы должны быть представлены в этих уравнениях функциями, т. е. зависимыми переменными. Фон Нейман понимал, что совместная система нелинейных уравнений в частных производ- ных, годная для объяснения самовоспроизведения, будет гораздо сложнее систем, которые обычно изучаются. Фон Нейман получил подготовку инженера-химика и поэтому ему были знакомы сложные химические реакции. К исследованию сложных физических систем разнообразных типов он также привле- кал математику. О дифференциальных уравнениях самовоспроизве- дения он, вероятно, думал в связи с предложенной им моделью типа «возбуждение — порог — усталость». Допустим, удалось свести кле- точную модель к модели типа «возбуждение — порог — усталость». Тогда наша задача превращается в задачу нахождения дифферен- циальных уравнений, описывающих возбуждение, порог и уста- лость нейрона. С работой нейрона связаны следующие процессы г). Нейрон возбуждается сигналами, поступающими на его входы от дру- гих нейронов. Достигая порогового значения, совокупность активи- рованных входов возбуждает нейрон, направляя поток ионов натрия снаружи внутрь тела клетки. Поток (т. е. диффузия) ионов приводит к деполяризации тела клетки. Эта диффузия и деполяризация рас- пространяются затем вдоль аксона, и в этом состоит то, что мы называем срабатыванием нейрона. После того как нейрон сработал, начинается диффузия ионов калия изнутри нейрона наружу, при- водящая к реполяризации этого нейрона. Химическое равновесие натрия и калия восстанавливается позже. Из предыдущего описания процессов возбуждения, уставания и пороговых эффектов ясно видно, что в них химическая диффузия играет фундаментальную роль. Этим объясняется, почему, фон Ней- ман выбрал для непрерывной модели самовоспроизведения диффе- ренциальные уравнения в частных производных именно диффузион- ного типа. Причина, по которой он выбрал нелинейные уравнения, также ясна. Кинематическая, клеточная модели и модель типа «возбуждение — порог — усталость» показывают, что переключа- тельные операции (например, порог, отрицание), а также управляю- щие контуры, содержащие ветвления, обратную связь и задержку, составляют неотъемлемую часть логического, информационного и организационного аспектов самовоспроизведения. Чтобы смоде- лировать эти дискретные явления в непрерывной системе, приходит- 2) [См. Экклс [1].] Гл. 1. Общие соображения 115
ся прибегать к нелинейным дифференциальным уравнениям в част- ных производных. Фон Нейман предполагал построить непрерывную модель, отправ- ляясь от дискретной модели: сначала построить клеточную модель самовоспроизведения, потом свести ее к модели типа «возбуждение — порог — усталость» и, наконец, описать последнюю нелинейными дифференциальными уравнениями в частных производных. В науке часто применяется обратный метод, и фон Нейман, безу- словно, хорошо его знал. Берут непрерывную систему (такую, как жидкость, где наблюдается явление ударных волн) и аппроксими- руют ее, разбивая на дискретные ячейки и считая состояние каждой ячейки постоянным. Так дифференциальные уравнения непрерыв- ной системы заменяются разностными уравнениями дискретной системы. Затем эти разностные уравнения решают на цифровой вычислительной машине, и при соответствующих условиях получен- ное решение будет приближенным решением дифференциальных уравнений. Каков бы ни был порядок исследования, система дифференциаль- ных уравнений и соответствующие разностные уравнения описывают по существу одно и то же явление. Правило переходов в клеточной модели (гл. 2) есть не что иное, как представленный в виде раз- ностных уравнений вариант системы уравнений в частных производ- ных для непрерывной модели. Схема первичных самовоспроизводя- щихся автоматов соответствует граничным условиям этой системы. На различие между непрерывной и клеточной моделями можно взглянуть иначе, с точки зрения аналоговых и цифровых вычисли- тельных машин. Аналоговая вычислительная машина — это непре- рывная система, а цифровая вычислительная машина — дискретная система. Таким образом, рассматриваемая фон Нейманом непрерыв- ная модель самовоспроизведения находится в том же отношении к аналоговым вычислительным машинам, как его клеточная модель самовоспроизведения к цифровым вычислительным машинам. В рабо- те [7, разд. 12] фон Нейман приводит схему представления и обра- ботки цифровой информации в аналоговом приборе. С этой схемой следует сравнить его непрерывную модель самовоспроизведения. Эту модель также следует сравнить с результатами Тьюринга [1], изучавшего морфогенез с помощью дифференциальных уравне- ний, описывающих взаимодействие, образование и диффузию хими- ческих веществ. Тьюринг ограничился линейными дифференциаль- ными уравнениями, лишь немного затронув нелинейные. На протяжении всей своей научной деятельности фон Нейман проявлял большой интерес к приложениям теории вероятностей; примерами служат его работы по теории игр и основаниям квантовой механики. Естественно, что при исследовании автоматов он также стремился использовать теорию вероятностей. Об этом говорится Часть II. Теория автоматов 116
в лекции 3 части I настоящей книги. Его статья [7] была первой работой по вероятностным автоматам — автоматам, в которых пере- ходы между состояниями являются вероятностными, а не детерми- нированными. Всякий раз, когда он обсуждал самовоспроизведение, он упоминал мутации, представляющие собой случайные изменения элементов (см. стр. 105 и разд. 1.7.4.2). В разд. 1.1.2.1 и 1.8 он сформулировал проблемы моделирования эволюционных процессов количественного описания естественного отбора, а также возможно- сти возникновения в процессе эволюции высокоэффективных, слож- ных, мощных автоматов из малоэффективных, простых, слабых автолматов. Полное решение этих проблем даст вероятностную модель самовоспроизведения и эволюции г).] 1.2. РОЛЬ ЛОГИКИ - ВОПРОС (А) 1.2.1. Логические операции — нейроны. В вопросе (А), очевидно, речь идет об автоматах, у которых есть органы, позволяющие выра- зить важнейшие высказывания логики, и нет никаких других орга- нов. Иными словами, органы таких автоматов обладают двумя устой- чивыми состояниями, соответствующими основным значениям логи- ческих высказываний — истине и лжи. По аналогии с физиологией удобно называть эти органы (каковы бы они ни были на самом деле и какими бы мы их себе ни представляли) нейронами, а указанные состояния — соответственно возбуждением и покоем. Кроме того, удобно связать с этими состояниями числовые символы, а именно 1 и 0 * 2). На автоматы, построенные из таких органов, можно будет перенести обычную логическую структуру, соединив последние линиями, представляющими логические импликации, и введя для каждой основной логической операции особые типы основных орга- нов (см. Маккаллок и Питтс [1]). В обычном исчислении высказыва- ний такими операциями являются и, или, не; они обозначаются соот- ветственно • , +, —(см. Нейман [7, разд. 4]). Линии, управляющие поведением нейрона, т. е. представляющие логические переменные основной логической операции (или функции), соответствующей этому нейрону, обозначают его входы. Линии, отвечающие результи- рующему поведению нейрона, т. е. представляющие значение рас- сматриваемой логической функции, обозначают его выходы. Обычно они служат входами других нейронов. Удобно считать, что нейрон имеет не несколько выходов, а только один, который затем расщеп- ляется на необходимое число ветвей. Временной элемент в работе нейрона лучше всего выражается в виде соглашения о том, что состояние, предписываемое логической функцией, отвечающей дан- ному нейрону (т. е. значение этой функции), появляется через т *) [Близкие темы рассмотрены Голандом [1, 2].] 2) Тогда можно применить булеву алгебру. Гл. 1. Общие соображения 117
единиц времени после того, как нейроны, управляющие его поведе- нием, придут в соответствующие состояния. Иными словами, реакция нейрона (на его выходной линии) появляется с фиксированной задержкой т после прихода импульсов (на его входы). При рас- пространении импульса вдоль линий не обязательно возникает задержка — выход может возбуждаться мгновенно, как только появляется входной сигнал. Проще всего считать, что все реакции происходят в моменты времени t, кратные т, т. е. t = мт, п = О, ±1, ±2, .... Далее, т можно выбрать за единицу времени (т= 1) и тогда t = 0, ±1, ±2, .... Основные нейроны показаны на рис. 3. Их поведение подчиняется следующим правилам: 1. а, b — входы нейрона, с — его выход. 2.1. Нейрон 4~ возбуждается в момент t тогда и только тогда, когда нейрон с выходом а или нейрон с выходом b возбуждается в момент t — 1. 2.2. Нейрон • возбуждается в момент t тогда и только тогда, когда нейрон с выходом а и нейрон с выходом Ъ возбуждаются оба в момент t — 1. 2.3. Нейрон — возбуждается в момент t тогда и только тогда, когда нейрон с выходом а не возбужден (т. е. находится в состоянии покоя) в момент t — 1. Временная задержка, связанная с работой каждого нейрона, гарантирует эффективный и конструктивный характер получаемой здесь логической системы (Маккаллок, Питтс [1], Нейман [7, разд. 2.1 и 3.3]). Легко видеть (на самом деле это заключено в соответствии между введенным набором нейронов и основными операциями логи- ки), что автоматы, построенные из этих органов, могут выразить все высказывательные (пропозициональные) функции логики (Маккал- лок, Питтс [1], Нейман [7, разд. 3]). Далее, включение сюда ин- дуктивных процессов или, более общо, всех процессов, допустимых в конечной логике, требует более глубокого анализа (Маккаллок, Питтс [1], Нейман [7, разд. 3.3 и 5.1]) х), который привносит но- вый независимый элемент — необходимость произвольно большой (конечной, но свободно регулируемой по величине) памяти. Это связано с вопросом (В) и будет рассмотрено позже. 1.2.2. Нервные и мышечные функции. Вопрос (А) связан только с логическими определениями, так что для его исследования требо- вались лишь (по крайней мере непосредственно; см., однако, послед- нее замечание разд. 1.2.1) автоматы, чьи органы имеют лишь два состояния — истину и ложь. Этим двум состояниям соответствуют 2) [Фон Нейман также упоминает Клини. Он, вероятно, имел в виду перво- начальный вариант работы Клини [2], опубликованный корпорацией РЭНД в 1951 г.] Часть II. Теория автоматов 118
состояния возбуждения и покоя в нервной системе. Вопрос (В) относится к конструированию автоматов автоматами и потому пред- полагает наличие органов с отличными от логических функциями, а именно с кинематическими или механическими свойствами, необ- ходимыми для приобретения и комбинирования органов, которые должны составить конструируемый автомат. На языке физиологии это значит, что к чисто нервным функциям нужно добавить еще хотя бы мышечные. Здесь появляется несколько возможностей. 1.3. ОСНОВНЫЕ ПРОБЛЕМЫ КОНСТРУИРОВАНИЯ — ВОПРОС (В) 1.3.1.1. Прямое исследование, связанное с геометрией, кинемати- кой и т. д. Самый прямой подход заключается в следующем. Состав- ляющие органы — это нейроны и линии, о которых говорилось при обсуждении вопроса (А), плюс дополнительные органы, требуе- мые для успешного решения вопроса (В). Эти составляющие органы можно представлять себе как физические объекты в реальном про- странстве. Захват их и комбинирование (включая установление между ними жестких соединений) тоже осуществляются в реальном пространстве, т. е. в трехмерном евклидовом пространстве. (Воз- можны и другие варианты выбора размерности и геометрии про- странства, но мы пока не будем их рассматривать, см. дальше обсуж- дения, связанные с решетчато-кристаллической структурой.) Таким образом, составляющие органы, необходимые для конструирования автоматов, следует искать и набирать в некотором пространстве; в этом же пространстве их нужно перемещать, приводить в контакт и скреплять друг с другом. Иными словами, все автоматы должны мыслиться как действительно геометрические (и кинематические и механические) сущности. Те функции, которые выше были симво- лически описаны как мышечные, теперь будут лишь очень близкими к мышечным, и т. д. Возможны еще и другие степени абстракции; например, можно обращать или не обращать внимание на действи- тельно механические аспекты этого вопроса (участвующие здесь силы, поглощаемая или рассеиваемая энергия и т. д.). Но даже простейший подход, при котором чисто механические аспекты не при- нимаются во внимание, всецело связан с очень сложными геометри- ческими и кинематическими рассмотрениями (Нейман [4]) х). И нельзя не почувствовать, что при первой попытке, типа нашей, их лучше избегать: мы должны сконцентрировать все свое внимание на внутренних, логико-комбинаторных аспектах изучения автома- тов. Прилагательное формальный в начале разд. 1.1.1.1 как раз и должно было указать, что мы не рассматриваем, насколько это *) [См. также лекцию 5 части I.] Гл. 1. Общие соображения 119
возможно, чисто геометрические, кинематические или механические сложности. Уместность такого упрощения станет еще очевиднее, если продолжить список свойств, которыми мы пренебрегаем. Кроме геометрии, кинематики, а затем и механики, в него можно анало- гично включить физику, химию и, наконец, анализ специфических физиологических и физико-химических структур. Все это необходи- мо рассмотреть, но позже, причем по очереди, примерно в таком же порядке, а при первом исследовании, быть может, лучше всего опустить все, даже геометрию и кинематику. (В дальнейшем мы уви- дим, что кое-что из примитивной геометрии и рудиментарной кине- матики все же надо учесть.) 1.3.1.2. Негеометрический подход. Структура вакуума. Опишем теперь более изощренный подход, позволяющий в значительной степени избежать тех трудностей, о которых шла речь выше г). Потребность в учете геометрических (и кинематических) свойств вызвана просто тем, что даже вакуум (области, в данный момент ничем не заполненные, но допускающие возможность поместить в них составляющие органы автоматов) имеет структуру. Трехмерное евклидово пространство представляет в точности (или с достаточной степенью приближения) реальную «структуру вакуума». Свойства этой структуры вносят ряд дополнительных усложнений. На более поздних этапах их придется принимать во внимание, а при первом подходе лучше исключить, и мы сейчас попытаемся это сделать. 1.3.2. Стационарность; состояния покоя и активные состояния. Основное усложнение, которого мы хотим избежать,— это влияние кинематики, т. е. движения объектов. Мы будем сначала считать, что наши объекты стационарные и наша система при некоторых точно определенных условиях переводит их из исходного состояния покоя в активное состояние (или в какое-то одно из нескольких возможных активных состояний). 1.3.3.1. Дискретный и непрерывный подходы. Далее, эти стацио- нарные объекты, первоначально находящиеся в состоянии покоя, мы будем считать или дискретными элементами, или же бесконечно малыми элементами непрерывно простирающейся среды. Тогда в первом случае у нас получится гранулированная, или клеточная, структура, а во втором — снова непрерывное пространство, более или менее похожее на евклидово. 1.3.3.2. Однородность: дискретная (кристаллическая) и непре- рывная (евклидова). Сделаем теперь упрощающее, но зато сильно *) I Здесь фон Нейман собирался сослаться на Улама. См. разд. 1.1.2.З.] Часть II. Теория автоматов 120
ограничивающее предположение х), что эта пространственная или квазипространственная основа однородна. Иными словами, грану- лированная структура в первом случае должна обладать кристалли- ческой симметрией * 2), а непрерывное пространство во втором случае должно быть евклидовым 3). В обоих случаях эта однородность не есть абсолютная однородность. В самом деле, мы постулировали лишь однородность пространственной (или, более общо, комбина- торной) матрицы, состоящей из (покоящихся или активных) объектов, но не однородность популяции этих объектов: в первом (дискретном) случае мы не постулировали, что все клетки кристалла ведут себя совершенно одинаково, а во втором (непрерывном) случае мы не постулировали, что эта непрерывная, заполняющая все простран- ство среда всюду подчиняется одним и тем же правилам. В зависи- мости от того, постулировано это или нет, мы будем говорить, что система обладает или не обладает внутренней, или функциональной, однородностью 4). Далее, еще большую степень однородности мы получим, если все (дискретные или бесконечно малые) элементы будут находиться в одном и том же состоянии (например, в состоянии покоя). Эту однородность мы будем называть абсолютной однородностью (напри- мер, абсолютным покоем). Вообще говоря, делать такое предположе- ние нельзя, ибо тогда исключается всякое позитивное и организован- ное функционирование автомата (например, всякая активность в смысле вопросов (В) — (Е) разд. 1.1.2.1). Но можно попытаться принять состояние абсолютного покоя в качестве начального состоя- ния автомата. Полностью это реализовать нельзя, так как при обыч- ной системе правил абсолютный покой является самоподдерживаю- щимся состоянием (см. дальше). Однако практически принимают абсолютный покой за начальное состояние и отправляются от него, введя некоторый минимальный объем внешней стимуляции (см. дальше). ]) Требующее более сильных результатов. [Это значит, что сконструировать самовоспроизводящийся автомат в однородной среде труднее, чем в неоднород- ной.] 2) [Кристаллом называется твердое тело с регулярной внутренней струк- турой, ограниченное симметричными плоскостями, пересекающимися под опре- деленными углами. Регулярная внутренняя структура кристалла — это решетка его атомов. Внешне эта регулярная внутренняя структура выражается гранями кристалла.] 3) [Фон Нейман, очевидно, собирался дать здесь сноску и объяснить, почему он исключает неевклидовы пространства Бойаи — Лобачевского и Римана.] 4) [В дискретном (кристаллическом, гранулированном, клеточном) случае функциональная однородность означает, что в каждой клетке находится один и тот же конечный автомат и каждый такой автомат одинаково связан со своими соседями. Конкретная клеточная структура, которую имеет в виду фон Нейман в гл. 2, функционально однородна; см. разд. 1.3.3.5.] Гл. 1. Общие соображения 121
1.3.3.3. Вопросы структуры. Высказанная в начале разд. 1.3.3.2 мысль, что предположение об однородности является серьезным ограничением, заслуживает несколько большего развития. Действи- тельно, уже сам способ соединения основных органов, фигурирующих в обсуждении вопроса (А) (нейроны разд. 1.2.1), нарушает первый принцип однородности, сформулированный в разд. 1.3.3.2, а именно принцип гранулированности структуры, т. е. ее кристаллической симметрии. Позже мы покажем, как можно добиться этой степени однородности, применив довольно очевидный и простой прием. Системы, полученные с помощью этого приема, все еще будут нарушать второй, более строгий принцип однородности, сформулиро- ванный в разд. 1.3.3.2, а именно принцип функциональной однород- ности. Ясно, что это происходит тогда, когда используется несколь- ко типов нейронов (см. разд. 1.2.1, в частности рис. 3), неравномер- но распределенных по кристаллической решетке, т. е. когда нет кристаллической симметрии. Однако этот случай вполне естествен, если подходить к проблеме очевидным (с точки зрения обычной логи- ки и комбинаторики) путем (см. дальше). Мы увидим, что и эту трудность можно преодолеть и обеспечить функциональную одно- родность. Но это сделать гораздо менее легко, и фактически в этом и состоит основной результат настоящей работы. Проблема однородности порождает ряд вспомогательных вопро- сов, которые мы по очереди рассмотрим. (Р) Какова наименьшая допустимая размерность пространства? (Этот вопрос возникает как в дискретном (кристаллическом) слу- чае, так и в непрерывном (евклидовом); см. разд. 1.3.3.1 и 1.3.3.2.) (Q) Можно ли вдобавок к функциональной однородности потребо- вать еще свойство изотропности х)? (В кристаллическом случае это имеет смысл только для регулярной кристаллической систе- мы * 2). См. также вопрос (R).) (R) Какие кристаллические системы можно использовать в кристал- лическом случае? Или, если сформулировать то, что нас интере- сует: какую максимальную степень регулярности можно исполь- зовать? 2) [Изотропностью мы называем совпадение свойств по всем направлениям. В кристаллическом (дискретном) случае функциональная изотропность озна- чает, что клетка соединяется с каждой из соседних одним и тем же образом. Конкретная клеточная структура, которую имеет в виду фон Нейман в гл. 2, функционально изотропна; см. раздел 1.3.3.5.] 2) [Кристаллы разбиваются на 6 групп, или систем, по числу (2 или 3) и характеру осей симметрии. Самые симметричные из всех кристаллов — кри- сталлы кубической системы (называемой также «изометрической» или регуляр- ной»). В кристаллах кубической системы направляющие векторы всех трех кристаллографических осей ортогональны и равны по длине. Простейшую форму из всех кристаллов регулярной системы имеют кристаллы с кубической ячейкой и кристаллы с октаэдральной ячейкой.] Часть II. Теория автоматов 122
Что касается вопроса (Р), то, казалось бы, минимальная допусти- мая размерность равна 3, но на самом деле годится даже 2. А вот размерность 1 маловероятна, по крайней мере в сочетании с любыми другими разумными постулатами х). Мы еще остановимся на этом вопросе более подробно. Вопрос (Q) мы рассмотрим позже; оказывается, изотропность получить можно, но и неизотропные модели могут представлять значительный интерес. По поводу вопроса (R) можно сказать лишь то, что мы будем интерпретировать максимальную регулярность как кубическую систему в трехмерном пространстве и как соответствующую квадрат- ную систему в двумерном пространстве. Учитывая ответ на вопрос (Р), мы будем отдавать предпочтение последней. В дальнейшем мы увидим, что и другие системы также интересны. 1.3.3.4. Характер результатов. Из всего сказанного в разд. 1.3.3.1 — 1.3.3.3 можно сделать вывод, что сравнительное исследование дискрет- ного (кристаллического) и непрерывного (евклидова) случаев при- несет большую пользу. Сейчас напрашиваются такие выводы: (X) Возможности в обоих случаях практически одинаковы. (Y) Непрерывный случай с точки зрения математики намного труд- нее дискретного. (Z) Если получат развитие аналитические методы, позволяющие исследовать непрерывный случай, то он будет более исчерпываю- щим и найдет более широкие и естественные применения. Позже мы обсудим эти утверждения подробно, а сейчас сделаем только одно замечание, касающееся тех трудностей, которые упоми- наются в выводах (Y) и (Z). Эти трудности вызваны тем, что в непре- рывном случае задача с точки зрения математики сводится к реше- нию системы нелинейных дифференциальных уравнений в частных производных. Интересно, что нелинейные дифференциальные урав- нения в частных производных, от которых во многом зависят наши математические возможности, появились именно в этом контексте. Трудности, о которых говорится в (Y) и (Z), заставляют нас ограничиться только кристаллическим случаем. В дальнейшем, если не будет четко оговорено противное, мы всегда будем иметь в виду этот случай. 1.3.3.5. Однородность, покой и самовоспроизведение. Работая над частью II настоящей книги, фон Нейман строил цепь рассужде- ний, которая должна была привести к его клеточной модели само- воспроизведения. Сначала он рассматривал различные возможности, х) [Фон Нейман собирался здесь сделать ссылку на Бигелоу и Голдстайна. Они предложили моделировать самовоспроизведение в двумерном (а не трех- мерном) пространстве.] Гл. 1. Общие соображения 123
а конкретный выбор откладывал на более позднее время. По ходу исследования его терминология менялась. Например, «покой» из разд. 1.3.3.2 стал подразделяться на «невозбудимость» и «состоя- ние покоя возбудимой клетки» в разд. 1.3.4.1 и 1.3.4.2. Я приведу сейчас краткий обзор окончательного результата, который поможет читателю следить за развитием мысли фон Неймана. Рассматриваемая фон Нейманом клеточная структура подробно описана в гл. 2. Фон Нейман взял неограниченное двумерное мно- жество квадратных клеток и в каждую клетку поместил одинаковые конечные автоматы с 29 состояниями. Каждый такой автомат он соединил с четырьмя его ближайшими соседями одним и тем же образом, т. е. правило переходов гл. 2 для каждой клетки оди- наково. Следовательно, эта клеточная структура функционально однородна в смысле разд. 1.3.3.2. Так как каждый автомат с 29 сос- тояниями соединяется с каждым из четырех его соседей одним и тем же образом, то эта структура также и изотропна в смысле разд. 1.3.3.3. Свойствами функциональной однородности и изотроп- ности обладает лишь структура, а не содержимое и не состояние. Поэтому, если различные клетки какой-то области этой клеточной структуры находятся в различных состояниях, то одна часть обла- сти может работать одним образом и посылать информацию в одном направлении, а другая часть области может работать по-иному и посылать информацию в ином направлении. 29 состояний каждой клетки можно разбить на три категории: невозбудимые (1), возбудимые (20) и чувствительные (8). Они ука- заны на рис. 9. Невозбудимым состоянием U фон Нейман называет состояние полного покоя. Оно играет основную роль в отношении информа- ционного содержания клеточной структуры, ибо в каждый момент времени возбуждено лишь конечное число клеток. В этом отно- шении невозбудимое состояние системы фон Неймана аналогично незаполненной ячейке на ленте машины Тьюринга. В самом деле, для представления нуля в своем линейном массиве L фон Нейман использует невозбудимое состояние U (см. разд. 1.4.2.5). 20 возбудимых состояний можно в свою очередь разбить на три класса: 4 конфлюентных состояния Се8', где 8 и 8' принимают значе- ния 0 (покой) и 1 (возбуждение); 8 обычных передающих состоя- ний ТОае и 8 специальных передающих состояний Т1ае, где а = = 0, 1, 2, 3 и 8 = 0, 1, как и прежде. Из всех передающих состоя- ний 8 находятся в покое и 8 возбуждены. Чувствительные состояния носят переходный характер; каждое из них длится ровно 1 единицу времени. Множество, состоящее из невозбудимого состояния U и 9 состо- яний покоя Соо, Tuao (и = 0, 1; а = 0, 1, 2, 3), обладает тем свой- ством, что если каждая клетка бесконечной клеточной структуры Часть И. Теория автоматов 124
будет в одном из этих 10 состояний, то вся система не будет меняться (т. е. ни одна из клеток не изменит своего состояния). Невозбудимое состояние U отличается от 9 состояний покоя Соо, Таа0 (возбудимых) своей реакцией на импульсы (возбуждения). Импульсы, поступаю- щие в клетку, находящуюся в невозбудимом состоянии U, переводят ее в одно из 9 состояний покоя Соо, Тиа0. Это изменение состояния представляет собой прямой процесс разд. 2.6, который занимает 4 или 5 единиц времени. Чувствительные состояния являются в этом процессе промежуточными. Импульс, приходящий в клетку, находящуюся в одном из 20 возбудимых состояний C8f/, Тиа0 (е, г , и — 0, 1; а — 0, 1, 2, 3), либо переводит клетку обратно в невозбудимое состояние U (это обратный процесс разд. 2.5), либо переключается, комбинируется с другими импульсами, задерживается. В частности, можно на пло- щадку Л клеточной структуры поместить покоящийся конечный автомат: каждую клетку этой площадки достаточно привести в одно из 10 состояний U, Соо иТиа0. Если такой конечный автомат правиль- но спроектирован, то при стимуляции (активации) он будет работать обычным образом. Система отсчета времени для клеточной структуры состоит из мо- ментов . . .—3, —2, —1, 0, 1, 2, 3, . . . . Фон Нейман точно не гово- рил, как он хотел использовать эту систему. Я приведу описание, согласующееся с его высказываниями. В отрицательные моменты времени все клетки находятся в невозбудимом состоянии. Составим конечный список клеток и укажем в нем состояние каждой клетки. Назовем этот список начальным распределением клеток. В нулевой момент времени все клетки начального распределения приводятся в указанное состояние, а клетки, не входящие в начальное распре- деление, остаются в невозбудимом состоянии. Затем клеточная система начинает работать по правилам переходов гл. 2. Каждое начальное распределение клеток задает определенную историю бесконечной клеточной структуры. Будем называть бесконечную клеточную структуру вместе с начальным распределением клеток бесконечным клеточным автоматом. Бесконечный клеточный автомат, моделирующий самовоспроиз- ведение, работает следующим образом. Конечный автомат Е из разд. 1.6.1.2 представляет собой некоторое начальное распределение клеток. Точнее, исходное состояние этого конечного автомата Е есть некоторое начальное распределение. В момент 0 мы наносим это начальное распределение клеток на клеточную структуру, помещая тем самым на клеточную структуру конечный автомат Е. Допустим, что воздействию подверглась площадка «^, так что в нулевой момент времени все клетки вне Jh остались невозбудимыми. Логическая структура автомата Е такова, что в некоторый последующий момент т на другой площадке Л' клеточной структуры появится копия авто- Гл. 1. Общие соображения 125
мата Е. Это значит, что состояние каждой клетки площадки Jkr в момент х совпадает с состоянием соответствующей клетки площад- ки Jk в нулевой момент времени. Таким образом, Е воссоздает себя на площадке Jk'. Итак, на бесконечном клеточном автомате в нуле- вой момент времени размещается только один экземпляр конечного автомата Е, а в момент т на нем размещаются уже два таких авто- мата. Это и есть самовоспроизведение. Рассмотрим развитие бесконечного клеточного автомата во вре- мени. В отрицательные моменты времени он абсолютно однороден в смысле разд. 1.3.3.2, причем все его клетки невозбудимы. В нуле- вой момент абсолютная однородность нарушается введением неод- нородности в конечной области. Эта неоднородность, вообще говоря, распространяется на окружающие области. В случае самовоспроиз- ведения неоднородность с площадки Jk распространяется до тех пор, пока площадка Jk' не станет точно так же организованной, как Jk. В приведенном исследовании бесконечного клеточного автомата отрицательные моменты времени существенно не использовались. Так как в эти моменты все клетки невозбудимы, то можно было бы без потери общности рассматривать только моменты 0, 1, 2, 3, ... . Фон Нейман не объясняет, почему он ввел отрицательные моменты времени. Возможно, он планировал использовать их в связи с веро- ятностной моделью самовоспроизведения и эволюции (см. конец разд. 1.1.2.3).] 1.3.4.1. Упрощение вопросов конструирования с учетом материа- ла разд. 1.3.1.2. Теперь мы можем вернуться к первоначальной идее разд. 1.2.2.—1.3.3.1, т. е. к необходимости иметь органы, выполняю- щие функции, аналогичные мышечным (а не нервным). Другими словами, нам нужны органы, связанные с приобретением, размеще- нием и соединением основных органов конструируемого автомата, а не с чисто логическими операциями в смысле разд. 1.2.1. Так как собственно кинематические аспекты «приобретения» и «размещения» можно не рассматривать (благодаря соображениям разд. 1.3.1.2 и 1.3.2), то сейчас следует пересмотреть характер функции, «анало- гичной мышечной». Из замечания, сделанного в конце разд. 1.3.2, ясно, что эта функция заставляет объект (или, на языке разд. 1.3.3.1, клетку) из состояния покоя перейти в надлежащее активное состояние. Логические функции, как указывалось в разд. 1.2.1, также делают это, но здесь есть некоторая разница или по крайней мере возмож- ность разницы. Ее характер лучше всего проиллюстрировать с по- мощью физиологической аналогии. 1.3.4.2. Покой и активность; возбудимость и невозбудимость; обычные и специальные импульсы. Нейрон может находиться в со- Часть II. Теория автоматов 126
стоянии покоя и может быть активным; во всяком случае, он потен- циально активен, т. е. возбудим. Соединительная ткань, с другой стороны, состоит из невозбудимых клеток, в действительности пассив- ных. Пока разница между возбудимой, но (временно) покоящейся клеткой и (постоянно) пассивной клеткой очевидна. Допустим на ми- нуту, что рост числа нейронов (т. е. возбудимых клеток) происходит не за счет образования новых клеток, а посредством перехода суще- ствующих невозбудимых клеток в возбудимые. Следует заметить, что хотя на самом деле происходит не так, такое предположение лучше всего укладывается в представление о стационарных клетках, введенное в разд. 1.3.2. Чтобы примирить его с реальностью, можно интерпретировать отсутствие клетки как наличие ее в специальном, специфически невозбудимом состоянии. Эта концепция хорошо согласуется с концепцией «структуры вакуума» (см. разд. 1.3.1.2). Такой переход сам должен вызываться специальными импуль- сами, т. е. некоторыми специальными активными состояниями соседних клеток. Обычные импульсы (т. е. обычные активные состо- яния), управляющие логическими функциями из разд. 1.2.1, этого сделать не могут. Эти импульсы управляют переходами между состоя- ниями покоя и обычными активными состояниями, но только возбу- димых клеток и без какого-либо изменения типа (в смысле разд. 1.2.1) рассматриваемой клетки (нейрона). Понятие невозбудимости было определено выше именно по отношению к этой обычной стимуляции. Для получения эквивалента прироста возбудимых клеток необхо- димо, чтобы упоминавшаяся выше специальная стимуляция могла вызывать переходы от невозбудимости к возбудимости, а также опре- делять тип (в смысле разд. 1.2.1) создаваемой возбудимой клетки. Эти концепции позволяют охарактеризовать отличие состояния покоя (с возбудимостью) от невозбудимости: в первом случае на это состояние воздействуют (и изменяют его) обычные импульсы, а во втором — только специальные импульсы. Разумеется, мы просто свели это различие к различию между обычными и специальными импульсами, т. е. к различию между обычными и специальными активными состояниями. Если же оставить физиологическую анало- гию и вернуться к математической задаче, то здесь все еще останутся неясные стороны. 1.3.4.3. Некоторые соображения по поводу различия, обсуждае- мого в разд. 1.3.4.2. Теперь необходимо рассмотреть, насколько целе- сообразно различать обычные и специальные импульсы. Как было показано выше, в основе лежит следующая мысль. Обычные импуль- сы предназначены для логических операций, и они не изменяют типа нейронов, на которые воздействуют. Иными словами, обычные импульсы применяются для управления хорошо организованными ансамблями и их использования. Специальные импульсы предназна- Гл. 1. Общие соображения 127
чены для операций роста, связанных с введением возбудимости вместе с переопределением типов нейронов, например, в ранее невозбудимые области. Иными словами, специальные импульсы при- меняются для организации (в соответствии с некоторым логическим планом) неорганизованных (или иначе организованных) областей. Учет такого различия при первом подходе несомненно удобен, ибо позволяет дать различным по смыслу функциям совершенно различные роли. Поэтому в своих первых конструкциях (см. дальше) мы будем его строго соблюдать. Однако с помощью ряда логических и комбинаторных приемов это различие можно сделать менее резким и даже полностью снять. Впоследствии по некоторым причинам математического и умозрительного характера это окажется желатель- ным, и в наших дальнейших конструкциях мы это используем. [Логические функции и функции роста безусловно различны по смыслу. Фон Нейман сразу же четко разделил их представление в своей клеточной системе. Логические функции выполняются обыч- ными импульсами, а функции роста выполняются специальными импульсами. Позже он несколько ослабил это различие, используя оба типа импульсов для обоих типов функций. Разница между обычными и специальными импульсами хорошо видна при изучении рис. 9. Как обычные, так и специальные пере- дающие импульсы вызывают «рост», переводя невозбудимое состоя- ние U в одно из 9 состояний покоя Соо, Тиа0 (и = 0, 1; а = 0, 1, 2, 3); это прямой процесс разд. 2.6 (он изображен на рис. 10). Специальные передающие импульсы переводят обычное передающее состояние Тоае (а = 0, 1, 2, 3; 8 = 0, 1) или конфлюентное состояние С££< (8, 8' = 0, 1) в невозбудимое состояние U, в то время как обычные передающие импульсы переводят специальное передающее состоя- ние Т1а£ (а -- 0, 1, 2, 3; 8 = 0, 1) в невозбудимое состояние U; это обратный процесс разд. 2.5. Логические функции дизъюнкции, конъюнкции и задержки могут осуществляться множеством обычных передающих и конфлюентных состояний. Логическая функция отрицания в системе фон Неймана непосредственно не представлена. Она осуществляется разрывом пути связи и восстановлением его в дальнейшем. Разрыв проводится обратным процессом, а восстановление — прямым. Пример показан на рис. 17.] 1.4. ОБЩИЕ СХЕМЫ КОНСТРУИРОВАНИЯ — ВОПРОС (В), ПРОДОЛЖЕНИЕ 1.4.1.1. Конструирование клеточных агрегатов—встроенный план. Мы обсудили лишь первую часть вопроса (В) — непосредственные проблемы конструирования одного автомата другим. Теперь мы Часть II. Теория автоматов 128
перейдем ко второй части вопроса (В) — рассмотрим, какими сред- ствами можно заставить один автомат конструировать широкие классы других автоматов и какое переменное, но по существу стан- дартное оборудование можно использовать для облегчения и уско- рения этого процесса. До сих пор нас интересовало лишь, как можно создать одиночную клетку с заданными характеристиками. В этом отношении нам уда- лось развить некоторые ориентировочные принципы. Остается воп- рос, как управлять этой операцией во всех ее деталях. Ясно, что это должна делать логическая часть первичного автомата (прароди- теля), которая рассматривалась в разд. 1.2.1. Естественно также, что она должна осуществлять контроль и упорядочивать акты создания одиночных клеток, необходимых для построения всего вторичного (конструируемого) автомата. Это «упорядочение» при создании одиночных клеток должно осуществляться с помощью некоторой логической схемы, уже заложенной в логическую часть первичного автомата. Логическая схема такого рода есть не что иное, как полный «план» вторичного автомата, функционально записанный в первичном автомате на «языке», который первичный автомат может «понимать» и с которым он работает. Итак, план вторичного автомата должен быть «встроен» в пер- вичный автомат предположительно в форме логических соединений в смысле разд. 1.2.1. 1.4.1.2. Три схемы размещения в первичном автомате составных планов — параметрическая форма. Из предыдущего раздела следует, что созданный для сформулированной там цели первичный автомат есть устройство prima facie х), пригодное для конструирования одного и только одного вторичного автомата. Однако легко получить обобщения и на другие случаи. Во-первых, можно, разумеется, встроить в первичный автомат планы нескольких (различных) вторичных автоматов. Во-вторых, можно применить логическое оборудование, способное заставить первичный автомат конструировать определенный вторичный автомат несколько раз (например, создать наперед заданное число копий). В-третьих, в план конструируемого автомата могут входить числен- ные параметры, и такой план можно встроить в первичный автомат в (изменяемой) параметрической форме (вместе со средствами, дающи- ми возможность подставлять в качестве параметров любые числа). Третья схема, или, точнее, комбинация второй и третьей схем, является наиболее общей. Но все же и они в своей первоначальной форме еще содержат ограничение, а именно ограничение на числа, 3) (Возникающее) при первом взгляде (лат.).— Прим, перев. Гл. 1. Общие соображения 129
которые можно использовать в качестве значений параметров (третья схема), и на числа повторений вторичного автомата (вторая схема). Действительно, эти числа должны быть представлены в первичном автомате в некоторой форме, скажем в цифровой. Предположим, что всего этих чисел р и все они целые и неотрицательные; обозначим их v4, . . ., vp. Пусть каждая из клеток, предназначенных для их представления, имеет к состояний, отведенных специально для этой цели. Удобно интерпретировать эти состояния как 0, 1, . . ., к — 1 разряды числа в системе счисления с основанием к. Пусть для отведено nt таких клеток, i — 1, тогда общее число необ- ходимых клеток равно п = щ -\- ... + пр. Таким образом, выра- жается /^-разрядным числом в системе счисления с основанием к. и, следовательно, оно ограничено кпг числами 0, 1, . . ., кпг — 1. 1.4.2.1. Наглядное определение массива L, предназначенного для числовых параметров. Только что описанное ограничение можно снять с помощью простого приема: пусть эти клетки находятся «сна- ружи» (т. е. не внутри площадки, занимаемой первичным автоматом, а рядом с ним) во внешней (т. е. покоящейся) области кристалла. Они могут, например, образовать линейный массив L, простираю- щийся вправо (т. е. в направлении положительных значений х) от площадки, занимаемой первичным автоматом. Предназначенные для «нотационных» целей к состояний должны, разумеется, носить квазипокоящийся характер, т. е. не должны воздействовать (стиму- лировать или трансформировать каким-то иным способом) на другие клетки, и этого легко достичь (см. дальше). Далее, первичный автомат должен быть наделен способностью устанавливать контакт со всеми частями этого линейного массива L, и его функционирование должно определяться «нотационными» состояниями клеток массива L. На первый взгляд может показаться, что с помощью фиксированного ограниченного первичного автомата сделать это для всех возмож- ных L (для всех возможных размеров массива L, т. е. для п) трудно. Но потом, когда мы будем рассматривать этот вопрос подробно [разд. 1.4.2.5], мы увидим, что возникающие здесь трудности легко преодолеваются. Упомянем сейчас лишь одну из этих трудностей. Казалось бы «исследование» массива L невозможно без точного задания (т. е. без записи внутри первичного автомата) его размера, т. е. п, В самом деле, вполне естественно, что р и все . . ., vp должны быть заданы. Но это ограничило бы выбор чисел р и . . . . . ., пр, ибо первичный автомат — фиксированная вещь. Поэтому ограниченным был бы массив L, а следовательно, и числа, которые он представляет. Эту трудность можно обойти так. Пусть каждая клетка в L, как и прежде, имеет к состояний, предназначенных для нотационных целей, т. е. состояний, соответствующих числам 0, 1, . . ., к — 1, Часть II. Теория автоматов 130
и два дополнительных состояния, называемых запятой и точкой. (Все эти состояния должны быть квазипокоящимися в смысле, указанном выше.) Числа р и . . ., vp представлены в L клетка- ми, находящимися только в состояниях, отвечающих цифрам. Построим L следующим образом (слева направо, т. е. в направлении положительных значений х\. разряды числа р, запятая, разряды числа vt, запятая, . . ., разряды числа vp, точка. При «исследова- нии» такого массива первичный автомат распознает запятые и точку и тем самым выяснит значения р и . . ., vp, каковы бы они ни были. 1.4.2.2. Применения массива L. Линейный массив из разд. 1.4.2.1 есть переменное, но по существу стандартное оборудование, о кото- ром говорится в вопросе (В). Это то простое дополнение к первич- ному автомату, находящееся по существу в покоящемся состоянии и обладающее лишь самой примитивной структурой, которое, как явствует из разд. 1.4.2.1, в значительной степени расширяет актив- ные способности автомата. Возможности, на самом деле свойственные этой конструкции, будут выяснены впоследствии. Главное прило- жение массива L мы опишем в разд. 1.5 и 1.6. А сейчас рассмотрим более простое приложение. 1.4.2.3. Использование массива L в качестве неограниченной памяти. Это приложение связано с тем дополнительным к чисто логическому автомату оборудованием, о котором идет речь в воп- росе (А). Конструкция, способная выполнять чисто логические функции (в смысле вопроса (А), как обсуждалось в разд. 1.2.1), не универ- сальна из-за отсутствия в ней произвольно большой памяти, конеч- ной, но регулируемой по величине (см. конец разд. 1.2.1). Именно таков линейный массив, построенный в разд. 1.4.2.1. Таким обра- зом, L вместе со служебными средствами наблюдения, поиска и конструирования оказывается тем вспомогательным оборудова- нием (переменным, но по существу стандартным), которое, как видно из вопроса (А), перекидывает мостик к логической универсаль- ности. Необходимость в служебных средствах для L означает, что для получения логической универсальности компоненты, требуемые обычно для первичного (конструирующего) автомата вопроса (В), нужно также ввести в (логический) автомат вопроса (А). Под- робнее обо всем этом см. дальше [гл. 4 и 5]. 1.4.2.4. Использование в L двоичной системы счисления. Еще одно замечание относительно клеток массива L: можно взять к = 2, т. е. представить все числа в двоичной системе счисления. Тогда каждая клетка из L будет иметь для наших целей к + 2 = 4 состоя- Гл. 1. Общие соображения 131
ния. Если же по каким-то причинам требуется, чтобы для записи чисел у нас было всего 2 состояния, то это легко сделать, заменив каждую клетку из L двумя клетками, так как пара состояний, принимающих лишь два значения, допускает 22 = 4 комбинации. Схема цифризации и пунктуации в L удовлетворяет всем требо- ваниям разд. 1.4.2.1. Но это не единственный возможный вариант. Очевиден также следующий вариант. Пунктуационные состояния (запятая и точка) оставим прежними (как в разд. 1.4.2.1). Из двух состояний 0 и 1 возьмем лишь 1. Представим число v (положитель- ное целое) не в виде последовательности нулей и единиц (разложение его в двоичной системе счисления), а в виде последовательности v единиц. Это представление намного длиннее представления разд. 1.4.2.1 (у символов вместо п, где п — наименьшее целое, удов- летворяющее условию 2п > v, т. е. n > log2 v), но оно проще опре- деляется и им легче пользоваться (в смысле служебных функций, фигурирующих в разд. 1.4.2.3). Подробности см. дальше. [1.4.2.5. Линейный массив L. Сейчас, возможно, полезно рас- смотреть, забегая вперед, конструкцию механизма фон Неймана для записи и считывания содержимого произвольной ячейки неограни- ченного линейного массива L. Начнем с машины Тьюринга, представляющей собой конечный автомат, связанный с неограниченно удлиняемой или бесконечной лентой. Лента разбита на ячейки, каждая из которых содержит один из конечного числа символов (т. е. находится в одном из конечного числа состояний). Пусть алфавит состоит из двух символов: 0 (чистая ячейка) и 1 (отмеченная). В каждый данный момент времени конеч- ный автомат контролирует одну ячейку ленты. Он может изменить ее содержимое (сделать пометку или стереть уже имеющуюся) и сдви- нуть ленту на одну ячейку влево или вправо, так что в следующий момент времени он будет контролировать соседнюю ячейку. Таким образом, конечный автомат за конечное время может получить доступ, считать и внести изменения в любую ячейку ленты. Ясно, что здесь важен именно доступ к произвольной ячейке ленты, а возможность перемещения ленты — это лишь способ обес- печить этот доступ. Можно было бы ленту зафиксировать, и автомат перемещать вдоль нее вперед и назад. Можно сделать неподвижными и ленту и конечный автомат, а сообщение автомата с произвольной ячейкой хп осуществлять посредством укорачиваемой и неограниченно растяжимой «проволоки». Конечный автомат контролирует и изме- няет состояние ячейки хп, а затем растягивает проволоку до ячейки яп+1 или укорачивает ее до ячейки хп^. Так и поступил фон Нейман в своей клеточной системе. Детали приведены в гл. 4. Объясним основную идею фон Неймана с помощью рис. 37. На этом рисунке показан узел управления памятью (УУП) — Часть II. Теория автоматов 132
конечный клеточный автомат — и бесконечный массив ячеек L, простирающийся вправо. Нуль представляется в ячейке хп невоз- будимым состоянием U, а единица — покоящимся, но возбудимым состоянием Т030 (обычным передающим состоянием, ориентирован- ным вниз). Для того чтобы считать содержимое ячейки хп, УУП посылает к массиву последовательность импульсов по соединительной петле СР Эти импульсы проходят через хп, не оказывая влияния на соседние ячейки хп_{ и хп+!, модифицируются в соответствии с состоянием ячейки хп и возвращаются в УУП, принося информацию о содер- жимом ячейки хп. Затем УУП производит запись в ячейке хп и либо растягивает петлю Ct так, что она проходит через хп+1, либо сжи- мает ее так, что она проходит через хп^. В этом процессе растяже- ния — сжатия участвует еще и временная петля С2, которая растя- гивается (или сжимается) вместе с СР В массиве L нужно разместить конечное множество основных знаков, в том числе запятую и точку. Все они записываются в виде двоичных последовательностей длины к и каждый знак занимает к ячеек массива. Сначала разместим в L такой набор знаков, в кото- ром последний и только последний знак является точкой. Далее, УУП может выделить эту точку и передвинуть ее вправо или влево, расширив или сузив информацию, записанную на L. Поэтому, несмотря на то что УУП обладает конечной фиксированной емкостью, объем информации, с которым он может работать, неограничен.] 1.5. УНИВЕРСАЛЬНЫЕ СХЕМЫ КОНСТРУИРОВАНИЯ — ВОПРОС 4 (С) 1.5.1. Использование массива L для нечисловой (универсальной) параметризации. Схемы разд. 1.4.2.1 (с учетом разд. 1.4.1.2) позво- лили существенно расширить класс вторичных автоматов, которые можно сконструировать одним, надлежащим образом заданным (фиксированным) первичным автоматом (см. второй вопрос пунк- та (В)). Однако они не дают еще конструктивной универсальности, о которой говорится в вопросе (С). Сейчас мы ее получим, слегка изменив методы разд. 1.4.2.1. Согласно разд. 1.4.2.1, класс вторичных автоматов, которые можно сконструировать одиночным первичным автоматом, ограни- чен в следующем смысле (на время забудем о результатах разд. 1.4.1.2): все они должны быть частными примерами одного общего вида. Это значит, что их индивидуальные планы (конструк- ции) все выводятся из общего главного плана, в котором в качестве значений некоторых имеющихся в распоряжении параметров выбра- ны определенные числа. Другими словами, хотя уже нет необходи- мости в том, чтобы в первичный автомат был встроен конкретный план вторичного автомата, но основной, характерный для всего класса Гл. 1. Общие соображения 133
план, которому следуют все эти подчиненные планы, должен быть встроен. 1.5.2. Универсальная форма плана. Рассмотрим произвольный (но однозначно определенный) вторичный автомат и возможные способы его описания. Несомненно, годится такой способ: (а) Зададим (две) координаты х и (две) координаты г/, соответ- ствующие четырем сторонам прямоугольной площадки, целиком содержащей вторичный автомат. Назовем эти координаты х^, х2 и г/i, z/г- О™ отсчитываются от начала, которым служит некоторая подходящим образом выбранная точка области, занимаемой первич- ным автоматом. На самом деле удобнее ввести в рассмотрение длины сторон прямоугольной площадки, содержащей вторичный автомат: а = = х2 — Х1 4- 1, Р — у2 — г/1 + 1 (при условии хх < х2, у{ г/2), и оперировать с числами xif у{, а, р. (Ь) Согласно пункту (а), каждая клетка внутри прямоугольника, охватывающего вторичный автомат, определяется двумя координа- тами г (= 0, 1, . . ., а — 1), / (= 0, 1, . . ., р — 1). (Точнее, коор- динаты клетки (i, j) в описанной в пункте (а) системе координат равны Xi + i, yt + /.) Обозначим через I число состояний, в кото- рых может находиться такая клетка, и пусть % — номер состояния (% = 0, 1, . . ., I — 1). Обозначим через требуемое (по плану обсуждаемого вторичного автомата) состояние клетки (Z, /) в момент, когда конструирование этого автомата только что закончено. Из пунктов (а) и (Ь) ясно, что вторичный автомат полностью характеризуется заданием чисел х^, у^ а, Р и для всех пар i — = О, 1, . . ., сс - 1; у - 0, 1, . . ., р - 1. Заметим, что эти числа могут принимать следующие значения: х^, 7/1 — О, ~Ь 1, ~4~ 2, . . . \ а, р-1, 2, ...; —О, 1, . . ., Z —1 для i —0, 1, .. ., а —1, / —0, 1, . . ., Р~ 1. Наконец, х{, у{ удобнее представить их абсолютными величи- нами 1^1, | у{ | и числами _ гО для rq>0, _ /0 для г/!>0, 11 для rq<0, 11 для г/i < 0. Таким образом, последовательность (положительных целых чисел) е, Ч» I Xi Ь I Vi|, ос, Р, (*) где i = 0, 1, . . ., а — 1; / = 0, 1, . . ., р — 1 и числа рас- положены в лексикографическом порядке по Z, /, содержит полное Часть II. Теория автоматов 134
описание конструируемого, вторичного автомата, причем в том его состоянии, которое требуется сразу же после окончания конструи- рования. С этой последовательностью можно поступить, как с описанной в разд. 1.4.2.1 более простой последовательностью р, v1? . . ., vp. Иными словами, можно образовать линейный массив клеток L, простирающийся вправо (т. е. в направлении положительных зна- чений х), и организовать его следующим образом: члены последо- вательности (*) в указанном порядке, причем каждое число запи- сано по основанию к, между двумя соседними числами запятая, а в конце точка. Это общее описание служит теперь общим планом некоторого класса вторичных автоматов, содержащим определенные параметры (третья схема разд. 1.4.1.2). Кроме того, только что введенный линейный массив L эквивалентен линейному массиву L из разд. 1.4.2.1: в нем указаны те численные величины, которые следует подставить в качестве параметров общего описания. Таким образом, данное здесь описание произвольного вторичного автомата наилучшим образом соответствует параметрическому характеру третьей схемы разд. 1.4.1.2. Поскольку эта схема не связана ни с какими ограничениями, на этом пути можно достичь универсаль- ности, о которой идет речь в вопросе (С). 1.6. САМОВОСПРОИЗВЕДЕНИЕ — ВОПРОС (D) 1.6.1.1. Очевидная трудность при использовании массива L в слу- чае самовоспроизведения. Перейдем теперь к вопросу (D), т. е. к проблеме самовоспроизведения. Можно априори возразить против возможности самовоспроизве- дения, ибо естественнее ожидать, что конструирующий автомат будет сложнее конструируемого, т. е. первичный автомат сложнее вторичного -1). Это подтверждают результаты разд. 1.2.2—1.4.1.1, т. е. результаты, связанные с первым вопросом пункта (В): пер- вичный автомат должен содержать полный план вторичного (разд. 1.4.1.1), и в этом смысле первичный автомат превосходит по сложности вторичный автомат. Это ограничение несколько транс- формируется, но не снимается тем, что сделано в разд. 1.4.1.1—1.5.2; даже самый сильный из обсуждаемых там результатов (ответ на воп- рос (С) в разд. 1.5.2, обеспечивающий универсальность) получен при условии, что первичный автомат снабжен полным описанием вторичного, выраженным линейным массивом клеток L. Если попытаться отсюда перейти прямо к самовоспроизведению, то обязательно потребуется автомат, содержащий свой собственный Э [См. стр. 97—99.] Гл. 1. Общие соображения 135
план, например, в виде L. Если учитывается и второй вопрос из пунк- та (D), то этот автомат должен также содержать план (т. е. L) другого, наперед заданного автомата. Схема разд. 1.5.2 не позволяет выполнить даже первое условие: рассмотренный там (вторичный) автомат имеет не более оф клеток, в то время как L (см. (*), разд. 1.5.2) состоит из оф + 6 чисел, оф + + 5 запятых и одной точки (т. е. по крайней мере имеет 2оф + + 12 клеток). Пока не известно ни одного метода, непосредственное применение которого позволило бы преодолеть эту трудность. Суще- ствует, однако, косвенный метод, при котором удается ее обойти. 1.6.1.2. Устранение указанной трудности — классы Е и Ер. Этот метод состоит в следующем х). Обозначим через А универсальный (первичный) автомат из разд. 1.5.2. Автомат А конструирует любой вторичный автомат, описание L которого присоединено к А (см. разд. 1.5.2). Можно построить и расположить в заданной области, смежной с А, другой автомат В, который будет просматривать массив L и создавать точную его копию L', располагая L' в точности в том же положении относительно вторичного автомата, в каком L нахо- дится относительно первичного автомата А. Необходимую для такого расположения информацию можно получить при изучении L, ибо L содержит числа а, (3, описывающие положение вторич- ного автомата по отношению к первичному автомату А. Рассмотрим, наконец, автомат С, управляющий автоматами А и В следующим образом: С заставляет сначала А, как первичный автомат, построить вторичный автомат S, описываемый с помощью L. Затем С заставляет В изготовить копию L' массива L и присоединить ее ко вторичному автомату S так, как это описано выше. Обозначим теперь полный агрегат из автоматов А, В, С через D, а его описа- ние — через Ld. Заметим, что LD должно содержать числа хх. ух (не непосред- ственно, а через 8, ц, | |, | см. (*) в разд. 1.5.2) и а, Р; эти четыре числа описывают положение вторичного автомата относи- тельно первичного. Значения чисел а, р указать легко, так как легко установить размеры прямоугольника, охватывающего D. Что касается чисел у^, то здесь возможен выбор; эти две коорди- наты определяют относительное положение вторичного автомата. Предположим сначала, что этот выбор каким-то образом осуществлен; нужно только, чтобы он гарантировал, что вторичный автомат вме- сте с присоединяемой к нему частью L' целиком лежит вне первич- ного автомата и присоединяемой к нему части L. В дальнейшем мы еще вернемся к этому. Нейман [4]. [См. также стр. 103—106 настоящей книги.] Часть II. Теория автоматов 136
Теперь рассмотрим комплекс Е, возникающий в результате присоединения LD к D. Повторяя приведенные выше рассуждения, легко проверить, что Е будет конструировать в точности D с LDr т. е. Е самовоспроизводится. Это ответ на первый вопрос пункта (D). Аналогично можно полу- чить утвердительный ответ на второй вопрос из (D). Действительно, предположим, что, помимо самовоспроизведения, требуется еще и конструирование другого автомата F. Обозначим описание комплек- са D и F через Ld + F. Пусть EF — объединение LD + f и D. Ясно, что этот агрегат конструирует D, присоединяя к нему Ld + f> а так- же конструирует F. Другими словами, он не только самовоспроиз- водится, но еще и конструирует F. Поясним: характер процедуры ответа на вопрос (D). 1.6.2.1. Первое замечание: форма массива L. Только что описан- ное конструирование автомата основано на установлении определен- ного состояния отдельно для каждой клетки некоторой подходящим образом выбранной площадки (см. разд. 1.5.2 (Ь), где показан такой modus procedendi *)). Эта площадка берется для простоты в вида прямоугольника (см. разд. 1.5.2 (а)), и поэтому ее размеры часто» бывают несколько завышены. Внешняя присоединяемая часть пред- ставляет собой линейный массив (см. конец разд. 1.5.2). Автомат и его описание геометрически не всегда хорошо подходят друг к дру- гу: покрывая их общим прямоугольником, можно излишне преуве- личить размеры последнего. Следует отметить, что линейная форма массива L вовсе не абсолютная необходимость, и ее вполне можно» изменить (см. далее). В то же время именно линейность формы мас- сива обеспечивает легкий доступ ко всем его частям (см. гл. 4). 1.6.2.2. Второе замечание: устранение противоречия при одиноч- ном воспроизведении. Как указано в конце разд. 1.6.1.2, числа z/j должны быть настолько велики, чтобы вторичный автомат (положение которого по отношению к первичному автомату опреде- ляется координатами у{) и присоединяемая к нему часть L' лежали полностью вне первичного автомата и присоединяемой к нему части L. Таким образом, числа зависят от величины L. (Множество L' конгруэнтно множеству L.) Но L содержит | |, | у^ |, и потому возникает опасность порочного круга. Однако эта опасность не серьезна, и каждая из следующих процедур позволяет ее избежать. Массив L (как L для первичного автомата, так и L' для вторич- ного автомата) простирается лишь в одном направлении (в направле- нии положительных значений х; см. конец разд. 1.5.2). Отсюда следует, что он занимает очень мало места в направлении оси у х) Способ действия (лат.).— Прим, перев. Гл. 1. Общие соображения 137
(особенно, если он линейный; см. выше, а также далее). Значит, можно указать фиксированную минимальную величину | у± |, при которой части D и L первичного автомата не пересекутся с соответ- ствующими частями вторичного автомата. С другой стороны, представление | х± |, \ у{ | в системе счисления с основанием к (см. разд. 1.4.1.2 и 1.4.2.1) гарантирует, что разме- ры использованной для их записи области, а следовательно, также и массива L, растут лишь как логарифмы этих чисел, а величины, обеспечивающие отделимость, по существу совпадают со значениями самих этих чисел | |, | У} |. Ясно, что, будучи достаточно боль- шими, они сколь угодно превзойдут свои логарифмы. Наконец, если каждое число будет обозначаться, как предлагает- ся в разд. 1.4.2.4, последовательностью, в которой количество еди- ниц равно самому числу, то любую трудность можно избежать, полагая, например, что | | и | у{ | — квадраты целых чисел, а числа, которые должны записываться, как указано выше, равны их квадратным корням. Тогда требуемый размер массива L будет изменяться как квадратный корень от величины, обеспечивающей отделимость, т. е. будет, как и log2, медленно растущей функцией. Таким образом, когда числа достаточно велики, нужная разница будет заведомо обеспечена. Как отмечалось выше, пригоден каждый из этих трех способов, но существуют и другие. Принятый нами метод опишем позже. 1.6.2.3. Третье замечание: анализ метода преодоления трудности, упомянутой в разд. 1.6.1.1,— роль массива L. Имеет смысл проана- лизировать сейчас, каким образом удалось снять (разд. 1.6.1.2) априорное возражение против возможности самовоспроизведения, сформулированное в разд. 1.6.1.1. Существенный шаг состоял в том, что автомат D содержал под- ансамбль В, способный скопировать (и заново расположить) любой линейный массив L. Несмотря на то что этот подансамбль фиксиро- ван, его размеры конечны и фиксированы, он способен скопиро- вать линейный массив любой величины. Именно этот шаг «копиро- вания» и позволяет выйти за пределы очевидного принципа обяза- тельного превосходства (по величине, а также по организации) первичного автомата над вторичным. Далее, обозначим через Lg описание вторичного автомата G, который должен быть сконструирован, как показано в разд. 1.5.2 (в нашем конкретном примере в разд. 1.6.1.2 роль G, играли D и D + F). Можно задать вопрос: почему при работе копирующего устройства В предпочтительнее использовать описание Lg, а не оригинал G? Иными словами, почему В не может копировать непо- средственно G, а нужно вводить промежуточное звено в виде Lg? Этот вопрос имеет, очевидно, определенное семантическое значение Часть II. Теория автоматов 138
для того направления, в котором мы сейчас работаем, т. е. для тео- рии автоматов. Действительно, он затрагивает всю проблему систем обозначений и представлений, т. е. роли и преимущества введения, помимо самих объектов, их «описаний». Причина заключается в следующем. Для того чтобы автомат В мог скопировать группу клеток (как в разд. 1.6.1.2), он должен «исследовать» эту группу с тем, чтобы выяснить состояние каждой клетки и установить это же состояние в соответствующей клетке обла- сти, где будет размещаться копия. Такое исследование предполагает, разумеется, последовательное воздействие на каждую клетку группы подходящими импульсами и наблюдение реакций. Именно так рабо- тает копирующий автомат В, т. е. он каждый раз предпринимает следующие действия на основе результатов предыдущих. Если наблюдаемый объект состоит из «квазипокоящихся» клеток (см. разд. 1.4.2.1), то можно так организовать стимуляцию, чтобы возникли реакции, нужные автомату В для диагностических целей, и не возникли реакции, влияющие на другие части области, подле- жащей исследованию. Если бы такому исследованию подвергся ансамбль G, который сам по себе может быть активным автоматом, то это могло бы привести к значительным трудностям. Стимуляция, посылаемая на него с «диагностической» целью, могла бы так возбу- дить различные его части, что оказались бы затронутыми и другие области, т. е. могли бы измениться состояния их клеток. Таким образом, автомат G оказался бы возмущенным — трудно предвидеть те изменения, которые могли бы произойти; во всяком случае, они, по-видимому, несовместимы с задачей наблюдения, ибо при наблю- дении и копировании предполагается, что оригинал остается неиз- менным. Преимущество описания LG (перед самим автоматом G) в том, что оно состоит из квазипокоящихся клеток и таких усложне- ний (т. е. распространения диагностических возбуждений) не долж- но появиться. (Подробнее обо всем этом см. ниже [гл. 4].) Изложенное выше нуждается еще в одном уточнении. На самом деле мы не выбирали между копированием автомата G и копирова- нием его описания LG. Мы скорее копировали G, с одной стороны, и копировали LG вместе с конструированием G по LG, с другой. Однако последний шаг во второй процедуре реализовать можно, поскольку именно это будет делать (в соответствии с разд. 1.5.2) универсальный конструирующий автомат в смысле вопроса (С). Заметим также, что квазипокоящийся характер описания L = LG важен и на этапе конструирования; соображения разд. 1.4.2.1 отно- сительно свойств квазипокоя предназначались фактически именно для этого приложения. 1.6.3.1. Копирование: использование описаний вместо оригиналов. Здесь стоит отметить также, почему этими методами нельзя осуще- Гл. 1. Общие соображения 139
ствить третий шаг — конструирование описания LG, основанное на непосредственном изучении оригинала G. Если бы это можно было сделать, то подходящий первичный автомат мог бы скопиро- вать данный автомат G, даже если бы ему не было сообщено описа- ние Lg этого автомата. Действительно, можно было бы начать с конструирования LG по G, а затем скопировать LG и построить G по Lg. Затруднение здесь вызвано тем, что хотя два последних шага связаны с наблюдением квазипокоящегося объекта (описания LG), первый шаг потребовал бы также наблюдения над автоматом G, реакции которого неконтролируемы. С учетом современных иссле- дований, касающихся связи теории автоматов и логики, весьма вероятно, что любой процесс непосредственного копирования дан- ного автомата G при отсутствии его описания LG потерпит неудачу; в противном случае мы, вероятно, столкнулись бы с логическими противоречиями типа парадокса Ричарда х). Итак, мы работаем с «описаниями» LG, а не с «оригиналами» G по- тому, что первые являются квазипокоящимися (т. е. неизменными, но не в абсолютном смысле, а в отношении результатов исследова- ния, которое должно быть предпринято), а вторые обладают способ- ностью меняться и реагировать. В том вопросе, который мы здесь рассматриваем, значение описаний состоит в том, что они заменяют меняющиеся и реагирующие оригиналы покоящимися и (временно) неизменными семантическими эквивалентами и, таким образом, позволяют осуществить копирование. Копирование, как мы видели, представляет собой решающий шаг, который и обеспечивает возмож- ность самовоспроизведения (или, более общо, воспроизведения без вырождения размеров или уровня организации). [1.6.3.2. Парадокс Ричарда и машины Тьюринга. Как отмечалось выше, фон Нейман собирался в связи с парадоксом Ричарда сделать подстрочное примечание с ссылкой на Тьюринга. Я не знаю, что он имел в виду, но думаю, что он хотел отметить параллелизм между парадоксом Ричарда * 2) и доказательством Тьюринга неразрешимости проблемы остановки. Я сейчас освещу этот параллелизм. Парадокс Ричарда в соответствующем языке L возникает следую- щим образом. Пусть е0, е2, ... — все те выражения из L, кото- рые определяют двузначные теоретико-числовые функции одного переменного, т. е. функции от натуральных чисел, принимающие два значения: 0 и 1. Таково, например, выражение «х нечетно»; оно определяет функцию, истинную (имеет значение 1) для нечетных чисел и ложную (имеет значение 0) для четных чисел. Обозначим через fi (п) теоретико-числовую функцию, определяемую выражени- х) [Фон Нейман отметил, что в этом месте он собирался сделать подстрочное примечание с ссылкой на Тьюринга. См. разд. 1.6.3.2.] 2) [Ричард [1]. См. также Клини [1].] Часть II. Теория автоматов 140
ем eh и положим _ f /„ч f 0- если li{ 1 I 1, если /,(п) = О. Наконец, пусть е обозначает выражение «функция — fn (и)». Мы предположим, что е' можно выразить на языке L, и придем к противоречию. (1) Последовательность е0, et, е2, ... содержит все выражения языка L, определяющие двузначные теоретико- числовые функции одного переменного. Очевидно, что е определяет двузначную теоретико-числовую функцию одного переменного и по- тому встречается среди членов последовательности е0, е2, ... . (2) Выражение е явно определяет функцию — 1п(п), отличную от всех функций /0 (и), Л (и), /2 (^), • • • • Это значит, что е не опре- деляет ни одну из функций /0 (тг), Л (п), /2 (я), • • •, которые для каждого i определяются выражением et. Следовательно, е' не встре- чается среди членов последовательности е0, е^, е2, . . . . Итак, мы показали, что выражение е содержится в последова- тельности е0, et, е2, ... и в то же время его там нет. Это противо- речие удивительно, потому что, казалось бы, е' является законным выражением в любом непротиворечивом языке (например, в англий- ском языке, обогащенном некоторыми математическими символами), а на самом деле это противоречие показывает, что если язык L непро- тиворечив, то е выразить на нем нельзя. Перейдем теперь к проблеме остановки для машин Тьюринга. Эта проблема разъяснялась в конце лекции 2 части I. Машина Тьюринга — это конечный автомат с неограниченно удлиняемой лентой. Конкретная машина Тьюринга — это машина Тьюринга, на ленту которой с самого начала нанесена конечная программа или формулировка задачи. Конкретная машина Тьюринга называет- ся циклической, если она печатает конечную последовательность двоичных символов и останавливается. Конкретная машина Тью- ринга называется ациклической, если она печатает двоичные симво- лы в чередующиеся ячейки неограниченно долго. Тьюринг доказал, что разрешающей машины для остановки не существует, т. е. не суще- ствует абстрактной машины Тьюринга, способной решить, является ли произвольная конкретная машина Тьюринга циклической (когда- либо остановится) или ациклической. Доказательству Тьюринга несуществования разрешающей маши- ны для остановки можно придать форму, очень близкую к приведен- ному только что доказательству парадокса Ричарда. Обозначим через t0, ti, t2, . . ., tb ... все ациклические конкретные машины Тьюринга. Пусть st (0), st (1), st (2), . . ., (n), ... — последова- тельность, полученная на машине t}. Каждый член этой последова- тельности равен либо 0, либо 1, так что машина tt вычисляет дву- Гл. 1. Общие соображения 141
значную функцию st (тг), перечисляя все ее значения в порядке воз- растания аргумента. Рассмотрим функцию — sn (п). Эта функция аналогична функции — fn (п), определенной выражением е в пара- доксе Ричарда. По аналогии с рассуждениями при доказательстве парадокса Ричарда мы предположим, что существует ациклическая конкретная машина Тьюринга t'. вычисляющая функцию — sn (п), и получим противоречие. (1) Последовательность £0, ti, t2, ... . содержит все ациклические конкретные машины Тьюринга. Машина t' является таковой по предположению. Следовательно, tr встретится среди членов последовательности t0, ti, t2, ... . (2) По определению маши- на t' вычисляет функцию — sn (п), отличную от всех функций $0 (п)у Si (п), s2(ri), ... .А так как для каждого I функция (п) вычисля- ется машиной то tf нет среди членов последовательности £0, tir • • • • Итак, мы показали, что машина t' содержится в последователь- ности £0, t2, ... и в то же время ее там нет. Однако в этом случае- такое противоречие не вызывает удивления, поскольку нет причин верить в то, что машина t' существует. Другими словами, получен- ное противоречие показывает, что машина t' не существует, и отсюда, что функцию — sn (п) нельзя вычислить никакой ациклической конкретной машиной Тьюринга. Теперь предположим, что существует разрешающая машина th для остановки, и тоже придем к противоречию. Обозначим конкрет- ную машину Тьюринга, которая может перенумеровать все конкрет- ные машины Тьюринга (такая машина существует) через te. Ее выход можно соединить с машиной th так, чтобы образовалась машина te + th, которая может перенумеровать все ациклические конкрет- ные машины Тьюринга. Существует абстрактная машина Тьюрин- га которая может имитировать по очереди каждую ациклическую конкретную машину Тьюринга, найти sn (п) для каждой машины п и напечатать —sn (п). Таким образом, машина te + th + t* вычис- ляет функцию — sn (п) и является машиной t'. Но из предыдущего абзаца мы знаем, что такой машины t' нет. Так как машины te и tw существуют, то не существует машины t\ т. е. разрешающей маши- ны для остановки. Отсюда вытекает, что нет также машины te + t\ т. е. такой машины, которая могла бы перенумеровать все ацикличе- ские конкретные машины Тьюринга. Первая часть приведенного доказательства несуществования раз- решающей машины для остановки устанавливает как то, что маши- на t' содержится в последовательности £0, t2, . . ., так и то, что ее там нет. Это в точности соответствует доказательству парадокса Ричарда: выражение е содержится в последовательности е0, е2, . . . и в то же время его там нет. Оба доказательства используют диаго- нальную процедуру Кантора для определения функции, которой Часть II. Теория автоматов 142
нет в данной последовательности. Я думаю, что именно из-за этого- параллелизма фон Нейман и собирался сослаться здесь на Тьюринга. Следует отметить, что парадокс Ричарда можно устранить из языка, применяя к последнему теорию типов г). Например, пост- роим язык так, чтобы каждое его выражение имело типовой номер и выражение данного типа могло относиться только к выражениям более низкого типа. Предположим теперь, что выражения е0, е2, ... имеют тип т. Так как е относится ко всем таким выражениям, то оно должно быть более высокого типа и, следовательно, оно не может встретиться среди выражений с0, е2, ... . Если это так, то наше доказательство парадокса Ричарда перестает быть справедливым. См. в этой связи письмо Курта Гёделя, цитированное в конце лек- ции 2 части I. Эти соображения в применении к выражениям, относящимся к самим себе, представляют интерес в связи с проблемой конструиро- вания самовоспроизводящегося автомата, ибо такой автомат должен быть способным получить свое собственное описание. В разд. 1.6.3.1 фон Нейман рассматривает два метода, позволяющих это сделать. Я буду называть их «пассивным» и «активным» методами. В пассив- ном методе самовоспроизводящийся автомат содержит внутри себя свое пассивное описание и считывает его таким образом, что оно не может помешать работе автомата. В активном методе самовоспро- изводящийся автомат исследует самого себя и таким образом строит свое описание. Фон Нейман предполагает, что второй метод привел бы, вероятно, к парадоксам типа парадокса Ричарда, и по этой причине он придерживается первого метода. См. разд. 1.7.2.1, 2.3.3, 2.6.1 и 2.8.2. К концу гл. 5 мы сможем убедиться, что самовоспро- изводящуюся машину на самом деле можно построить именно первым методом. Это показывает, что автомат может содержать описание самого себя * 2).] 1.7. РАЗЛИЧНЫЕ ПРОБЛЕМЫ ВНЕШНЕГО КОНСТРУИРОВАНИЯ, ПРОМЕЖУТОЧНЫЕ МЕЖДУ ВОПРОСАМИ (D) И (Е) 1.7.1. Размещение первичного, вторичного и т. д. автоматов. Мы продолжим теперь обсуждение вопроса (D), которое позволит в какой-то мере ответить на вопрос (Е). Мы рассмотрим проблему расположения вторичного автомата, конструируемого самовоспро- изводящимся первичным автоматом Е или ЕР, а также проблемы начала, хронометрирования и повторения самовоспроизведения. *) [Рассел [1]. См. также Клини [1].] 2) [Имеется интересная параллель между неразрешимой формулой Гёделя, относящейся к самой себе, и самовоспроизводящимся автоматом фон Неймана, содержащим описание самого себя. См. Бёркс [1, стр. 19—21].] Гл. 1. Общие соображения 143
Заметим, что при размещении автомата F в ЕР новых проблем возникать не должно: EF — это автомат D с присоединенным к нему описанием LD+F (см. конец разд. 1.6.1.2), a LD+F — это описание автомата D вместе с описанием автомата F. В этом совместном опи- сании автоматов D и F последний должен быть однозначно размещен по отношению к первому, а это и обеспечивает все, что здесь тре- буется. Возвращаясь к основному вопросу размещения вторичного авто- мата автоматом Е или EF, мы будем рассуждать так. Предположим, что это размещение осуществляется первым методом разд. 1.6.2.2, т. е. указанием такого числа z/, при котором условие | z/i | у гарантирует отделение первичного автомата от вторичного авто- мата Е или Ef. (В случае EF мы считаем, что и первичный и вто- ричный автоматы содержат автомат F, расположенный относитель- но D в соответствии с LD+F; см. выше, хотя в начале процесса такой автомат F должен сопутствовать лишь вторичному автомату.) Поместим начало системы координат х, у, используемой в разд. 1.5.2, в левый нижний угол прямоугольника, охватывающего первичный автомат, т. е. в точку, соответствующую точке (xi, у^ во вторичном автомате. Таким образом, вторичный автомат смещен на хх, ух отно- сительно первичного автомата. Так как в других отношениях вторичный автомат идентичен первичному (не считая добавления автомата F во втором случае), то он опять породит копию (и создаст другой автомат F во втором случае), построив уже третий автомат. Затем он произведет четвер- тый автомат, за которым последует пятый (каждый раз во втором случае вместе с сопутствующим автоматом F, см. выше) и т. д. Сдвиг при этом будет равен 2^, 2ух, затем Зхх, Зу^ затем 4^, ку} и т. д. Таким образом, сдвиг между р-м и q-м автоматами равен (q — — Р) (У — р) У\- Так как р, q = 1, 2, . . ., то при р =/= q |<?-р|=1, 2,..., откуда | (q — р) у{ | = | q — р [ • [ у1 | у. Следовательно, эти два автомата пересекаться не будут. Иными словами, все последователь- но сконструированные потомки первичного автомата будут отделены в пространстве друг от друга и не будут мешать друг другу. (Более точно: эти потомки будут отделены и не будут мешать друг другу на основном кристалле [кристаллической структуре].) Такой способ предупреждения пересечения первичного автомата с его потомками в действительности можно распространить и на пути в кристалле, по которым каждый из этих потомков, действующий при воспроизведении как первичный автомат, осуществляет кон- Часть II. Теория автоматов 144
струирование своего ближайшего последователя, т. е. своего вторич- ного автомата. Это сделать совсем нетрудно; подробности мы обсудим позже. 1.7.2.1. Конструируемые автоматы: начальное состояние и пуско- вой импульс. Теперь проанализируем вопрос начала и хронометри- рования. Рассмотрим то состояние вторичного автомата, которое по замыс- лу должно быть получено к концу этапа конструирования, т. е. так называемое начальное состояние вторичного автомата (см. разд. 1.5.2 сразу же за выражением (*)). Удобно сделать так, чтобы в этом начальном состоянии, как и во всех предшествующих ему состояниях, автомат был квазипокоящимся. Ясно, что это необходимо для того, чтобы процесс конструирования протекал организованно, ибо уже построенные части незавершенного вторичного автомата не должны обладать способностью реагировать и изменяться до тех пор, пока в соседних, а также других областях еще ведется конструирование. Нельзя сказать, что проблема, с которой мы здесь сталкиваемся, непохожа на ту, что обсуждалась в разд. 1.6.2.3 в отношении свойств квазипокоя в L. Но здесь она менее трудная. Импульсы, которые должны использоваться для исследования массива L, если они предназначены для выполнения функций, состоящих в стимулиро- вании в первичном автомате соответствующих действий, зависящих от информации, полученной при обзоре L, обязаны обладать способ- ностью вызывать в этом автомате реакции. (Это весьма существенно для обеспечения требуемого функционирования первичного автомата, о чем свидетельствует процесс конструирования под контролем инструкций в разд. 1.4.2.1 и процесс копирования в разд. 1.6.2.3 и 1.6.3.) С другой стороны, импульсы, создающие требуемые состоя- ния клеток в течение процесса конструирования вторичного авто- мата, не должны оказывать такого влияния на рассматриваемый здесь класс автоматов, вторичных или первичных. Позже это будет соблюдено в деталях. Таким образом, нам понадобилось держать «описания» L автоматов строго отдельно от «оригиналов» (см. разд. 1.6.3.1), а потом мы увидим, что можно конструировать автоматы так, чтобы их начальные состояния были квазипокоящи- мися. Суть дела, разумеется, заключается в том, что как только такой (вторичный) автомат закончен и потому находится в квазипокоящемся начальном состоянии, он с помощью соответствующего процесса возбуждения может быть переведен в состояние, отвечающее его нормальной (т. е. составляющей цель) активности. Этот процесс возбуждения удобнее всего представлять себе в виде одиночного импульса, посылаемого первичным автоматом в соответствующую точку вторичного, в подходящий момент времени после того, как Гл. 1. Общие соображения 145
конструирование закончено. Такой импульс называется пусковым импульсом для вторичного автомата. Он, таким образом, является заключительным шагом, совершаемым первичным автоматом при конструировании вторичного. Подробности см. далее. В случае самовоспроизведения, т. е. для автоматов Е или EF, рассматриваемых в разд. 1.6.1.2 и 1.7.1, вторичный автомат (или один из вторичных автоматов) представляет собой сдвинутую копию первичного. Пусковой импульс активирует этот вторичный автомат и заставляет его самовоспроизводиться (точно так же, как прежде первичный автомат). Так поддерживается итеративный процесс самовоспроизведения, о котором шла речь в разд. 1.7.1. 1.7.2.2. Одиночный и последовательный типы самовоспроизведе- ния. Что делает первичный автомат после того, как он закончил построение вторичного автомата и сообщил ему пусковой импульс? Проще всего было бы решить, что он возвращается в состояние квазипокоя, идентичное исходному состоянию. Безусловно, такое предположение требует рассмотрения типа обсуждения в разд. 1.7.1 непрерывного воспроизведения. Другое решение состоит в том, чтобы прийти в квазипокоящееся состояние при условии, что подходящий крайний орган будет актив- ным и снова сообщит пусковой импульс. Такая схема приводит к повторяющемуся самовоспроизведению исходного первичного авто- мата и, конечно, также всех его потомков первого, второго, третьего и т. д. поколений. Однако ее реализация требует еще одного уточ- нения. Действительно, в такой форме эта схема привела бы к тому, что первичный автомат пытался бы построить все последовательные вторичные автоматы с одними и теми же значениями z/1? т. е. в од- ном и том же месте кристалла. Это, очевидно, ведет к конфликту; в лучшем случае вторая конструкция будет наложена на первую копию и разрушит ее. Более правдоподобно, что первый вторичный автомат, который к этому времени будет обладать способностью реагировать, будет препятствовать второму (предпринимаемому) кон- струированию, вызывая непредсказуемое множество неисправностей и нарушая все воспроизведение. Поэтому между первой и второй попыткой конструирования вторичного автомата координаты yi необходимо изменять, и точно так же следует поступать между вто- рой и третьей попытками, третьей и четвертой и т. д. Это изменение координат z/i должно, таким образом, осуществляться в’ процессе работы упомянутого выше крайнего органа. Арифметические зако- ны, управляющие последовательной модификацией yi, должны быть такими, чтобы у всех вторичных автоматов, соответствующих исходному первичному, не возникало конфликтов ни друг с другом, ни с возможными автоматами F, сопутствующими им (см. первую Часть II. Теория автоматов 146
часть разд. 1.7.1), ни с путями, по которым ведется конструирование (см. конец разд. 1.7.1). Кроме того, все вторичные автоматы, соот- ветствующие исходному первичному, являясь сдвинутыми копиями последнего, будут вести себя точно так же. Следовательно, они сконструируют двойную последовательность автоматов третьего поколения, затем (таким же образом) тройную последовательность автоматов четвертого поколения и т. д. Отсюда правила последо- вательных модификаций ух должны быть такими, чтобы никакие два члена этой иерархии не мешали ни друг другу, ни возможным автоматам F, ни путям конструирования. Эти требования выглядят довольно жесткими, но не трудно указать подходящие для этой цели арифметические правила моди- фикации Хх, Ух- Они будут рассмотрены ниже. Итак, мы различаем два типа самовоспроизведения: 1) каждый первичный автомат конструирует только один вторичный и 2) каждый первичный автомат конструирует последовательные вторичные авто- маты и никогда не останавливается. Мы будем называть их соответ- ственно одиночным и последовательным типами самовоспроизведения. 1.7.3. Конструирование, расположение, конфликт. Теперь целе- сообразно сделать несколько замечаний относительно физиологиче- ских аналогий проведенных только что построений. Сравнивая процессы конструирования и воспроизведения авто- матов с процессами роста и воспроизведения в природе, легко заме- тить, что в нашем случае местоположение играет более существен- ную роль, чем в реальной действительности. Причина состоит в том, что при переходе от непрерывного евклидова пространства к дискрет- ному кристаллу мы преднамеренно избавлялись от кинематики настолько, насколько это было возможно. Отсюда перемещение по структуре, которая остается конгруэнтной самой себе, но меняет свое положение относительно кристаллической решетки, уже не бу- дет такой простой и элементарной операцией, как в природе. В нашем случае такое перемещение так же сложно, как и само воспроизведе- ние. Это означает, что все наши структуры жестко привязаны к их исходному положению и этим вызвана большая часть трудностей. Правда, и в природе все конфликты и столкновения вызываются расположением, но там из-за возможности перемещения схема оказывается более гибкой. Возникающие отсюда ограничения нашей модели являются платой за то упрощение, которого мы добиваемся, устраняя кинематику (см. разд. 1.3.1.1—1.3.3.1). Существенное предварительное условие, необходимое для работы рассмотренного нами механизма воспроизведения, состоит в том, что область, в которой он функционирует, должна быть в состоянии покоя (см., например, замечания в первой части разд. 1.7.2.1 и в пер- вой части разд. 1.7.2.2). Иными словами, район кристалла, окру- гл. 1. Общие соображения 147
жающий первичный автомат, должен быть лишен организмов, спо- собных давать реакцию (так должно быть постольку, поскольку требуется, чтобы процесс воспроизведения протекал беспрепятствен- но). Совершенно ясно, что там, где область, охватываемая воспроиз- ведением, вызванным первичным автоматом, приходит в соприкосно- вение с реагирующими организмами, могут возникнуть упоминаемые в разд. 1.7.2.2 «непредсказуемые неисправности». Это, конечно, просто иной способ говорить о конфликтных ситуациях, связанных с несколькими независимыми организмами, вступившими в контакт и взаимодействие. 1.7.4.1. Автомат EF и функция гена. Другая физиологическая аналогия — сходство поведения автоматов EF с типичной функцией гена х). В самом деле, EF воспроизводит себя и строит заданный автомат F. Ген воспроизводит себя, а также создает (или стимулирует создание) некоторых специфических ферментов. 1.7.4.2. Автомат EF и мутация: типы мутаций. Еще одно свой- ство автомата ЕР, на котором стоит остановиться, состоит в следую- щем. Предположим, что некоторая клетка автомата ЕР произволь- ным образом изменилась. Если эта клетка принадлежит автомату D комплекса EF, то она может воспрепятствовать или направить по совершенно неверному пути процесс воспроизведения. Если же она лежит в Ld + Р, то EF будет конструировать вторичный автомат, который может оказаться связанным с ним (и с F) не так, как хотелось бы. Наконец, если измененная клетка лежит в LD + F и, в частности, в описании автомата F и модифицирует его, превращая в F', то будет создан комплекс EF, и, кроме того, автомат F'. Такое изменение клетки внутри EF очень напоминает мутацию в природе. Первый случай носит, по-видимому, черты летальной или стерилизующей мутации. Второй соответствует мутации, не обла- дающей такими свойствами, но ведущей к созданию существенно измененного (как правило, стерильного) потомка. Третья мутация приводит к потомку, жизнеспособному и самовоспроизводящемуся, но с другим побочным продуктом (F' вместо F). Это означает изме- нение наследственной линии. Таким образом, основные типы мутаций оказываются весьма близкими к имеющимся в природе. 1.8. ЭВОЛЮЦИЯ — ВОПРОС (Е) Обсуждение, предпринятое в разд. 1.7, направлено на то, чтобы обеспечить переход от вопроса (D) к вопросу (Е). Что касается самого т) Нейман [4]. Часть И. Теория автоматов 148
вопроса (Е), вопроса эволюции, то мы сейчас сделаем лишь несколь- ко замечаний. Нетрудно предусмотреть в автоматах типа Е или EF логические устройства, позволяющие модифицировать части, соответствующие D в Ld или F в Ld + f, в зависимости от внешних импульсов, которые могли прийти ранее. Это привело бы к изменению представляемой ими наследственной информации в результате событий, которые произошли за время их активного существования. Ясно, что это шаг в нужном направлении, но точно так же ясно, что потребуется весьма серьезный дополнительный анализ и уточнения, прежде чем он дей- ствительно будет сделан. (Потом мы еще остановимся на этом вопросе.) Кроме того, необходимо помнить, что конфликты между неза- висимыми организмами ведут к последствиям, которые, согласно теории «естественного отбора», составляют важнейший механизм эволюции. Как было показано в конце разд. 1.7.3, наши модели ведут к такого рода конфликтным ситуациям. Следовательно, эту сторону эволюции также можно рассматривать в рамках наших моделей. Условия, позволяющие эффективно провести такое изуче- ние, могут оказаться весьма сложными, но они заслуживают вни- мания.
ГЛАВА 2 СИСТЕМА ИЗ 29 СОСТОЯНИЙ С ОБЩИМ ПРАВИЛОМ ПЕРЕХОДОВ 2.1. ВВЕДЕНИЕ. 2.1.1. Модель: состоя- ния и правило переходов. В этой гла- ве мы рассмотрим первую модель, об- ладающую свойствами логической и конструктивной универсальности и самовоспроизведением (см. вопро- сы (А) — (Е) разд. 1.1.2.1), а также другими свойствами, отмеченными в процессе обсуждения этих вопро- сов в гл. 1. В основе модели лежит кристаллическая среда (см. разд. 1.3.3.1—1.3.3.3). Мы будем кон- струировать эту модель в двух из- мерениях, используя квадратную х) (регулярную) решетку (см. конец разд. 1.3.3.3, особенно вопросы (Р) и (R)). Каждая точка решетки может находиться в конечном числе (скажем, N) различных состоя- ний. Ее поведение будет описываться (или управляться) некоторым вполне определенным правилом, которому подчиняются переходы от каждого из этих состояний к другому, зависящие от состояний ее непосредственных соседей. Мы реализуем в этой главе важнейшие из конструкций, необ- ходимых для ответов на вопросы (А) — (Е) разд. 1.1.2.1 (и относя- щегося к делу последующего материала гл. 1), для определенной подобным образом конкретной модели. 2.1.2. Формализация пространственных и временных соотноше- ний. Дадим сначала несколько определений и введем обозначения. Точки решетки квадратического кристалла (см. разд. 2.1.1) будем обозначать двумя целочисленными координатами Z, у. Есте- ственно считать (по крайней мере до тех пор, пока не возникнут причины поступать иначе), что этот кристалл простирается неогра- ниченно во всех направлениях: I. у =0, ± 1, +2, .. . . (1) [Какая именно точка решетки выбрана в качестве начала (0, 0), значения не имеет.] Таким образом, пара I, ] определяет точку пло- скости. Эти пары удобно также рассматривать как векторы, т. е. счи- тать. что их можно складывать. Обозначим » = (м). (2) Ближайшими соседями точки (г, у) назовем 4 точки (г ± 1, у), (i, i ± 1), а следующими за ними ближайшими соседями назовем *) [Точками решетки кристалла с квадратными ячейками служат вершины ячеек.] Часть II. Теория автоматов 150
4 точки (i ± 1, j ± 1). На рис. 4а и 4с ближайшие соседи точки X отмечены светлыми кружочками (о), а следующие за ними ближайшие соседи отмечены темными кружочками (•). Положим (см. рис. 4Ь) v° = (1, 0), Р2 = _ ро= (_j, 0), v4 = (1, 1), ve = = -1), v1 = (0, 1), 1 р3 = _pi = (0,_l), J К5 =( — 1, 1), Р7 = _р5 = ( 1, -1). J (3) (4) Ближайшими соседями точки й будут точки й + va (а = 0, . . . . . 3), а следующими за ними ближайшими соседями будут точки Ф + иа (а = 4, . . 7). В качестве непосредственных соседей точ- ки -О', упоминаемых в разд. 2.2.1, можно было бы взять либо 4 точки -0 + (сс = 0, . . ., 3), либо 8 точек О' + va (а = 0, . . ., 7). Мы остановимся на первом варианте, так как он позволяет обойтись более простыми средствами. На рис. 4а и 4Ь показана обычная кристаллическая решетка: вершинами ее служат точки пересечения прямых. Дальше мы будем прибегать к другой схеме: точка решетки будет изображаться клет- кой и ее непосредственными соседями (которые на рис. 4а и 4Ь соединялись одним звеном) будут примыкающие к ней клетки (т. е. клетки, имеющие с ней общую сторону). Далее, мы всегда будем показывать лишь те клетки (т. е. лишь те точки решетки), которые необходимы для иллюстрации рассматриваемого в данный момент вопроса. Таким образом, рис. 4а превращается теперь в рис. 4с. Как обсуждалось в разд. 1.2.1, время будет принимать значения i = 0, ±1, ±2, ... . (5) Каждая точка решетки является клеткой в смысле разд. 1.3.3.1 и 1.4.1.1. Она может находиться в одном из N состояний (см. разд. 2.1.1); обозначим их п-0, 1, ..., 7V-1. (6) Тогда состояние клетки О' = (г, /) в момент времени t можно записать в виде 4. (7) Заметим, что в качестве значений, которые может принимать п, не обязательно брать N чисел 0, 1, . . ., N — 1 (как в (6)), а, если это удобно, использовать любые N символов. Эта система должна быть внутренне однородной в смысле разд. 1.3.3.2, т. е. ее поведение в каждой точке О должно подчинять- ся одному и тому же правилу. Это правило и есть то правило пере- Гл. 2. Система из 29 состояний с общим правилом переходов 151
ходов, о котором говорилось в разд. 2.1.1. Оно выражает состояние клетки 'О' в момент t через состояния самой клетки # и ее непосред- ственных соседей в подходящие предыдущие моменты времени. Слегка упростим нашу систему, взяв в качестве «подходящего пре- дыдущего момента времени» момент, непосредственно предшествую- щий моменту t, т. е. t — 1. Иными словами, будет у нас функцией от и (а = О, . . ., 3): 4 = F(4"1’ 4"Ла|« = 0, ...,3). (8) Заменим п& на т, a на та. Тогда функция F примет вид F (m; та| а = 0, 1, 2, 3). Эта функция F от пяти переменных пред- ставляет собой, таким образом, правило переходов. Оно является единственным и полным правилом, которому подчиняется поведение этой (внутренне однородной) системы. Так как множество значений функции F состоит из N элементов, а область ее определения (множество всех пятерок) состоит из Nb элементов, то всего существует (9) возможных функций F, т. е. в рассматриваемом классе существует столько возможных правил переходов (или моделей). 2.1.3. Необходимость неформального обсуждения этих состояний. Рассмотрим теперь несколько более эвристически, каким же должны быть эти N состояний клетки. Характер их описывается, разумеется, не их перечислением (6), а правилом переходов (8). Для нас важно лишь, что состояний всего N. Поэтому строгим результатом, подыто- живающим приведенные выше соображения, была бы конкретиза- ция правила переходов (8), т. е. функции F. Однако на настоящей, эвристической стадии лучше изучить перечень (6), дав каждому состоянию свое имя и описав его роль. В этой связи мы воспользуем- ся возможностью изменения обозначений, о которой мы говорили в разд. 2.1.2 (см. замечание после (7)). 2.2. ЛОГИЧЕСКИЕ ФУНКЦИИ - ОБЫЧНЫЕ ПЕРЕДАЮЩИЕ СОСТОЯНИЯ 2.2.1. Логико-нейронные функции. Прежде всего необходимо иметь состояния, выражающие чисто логические, или нейронные, функции (см. разд. 1.2.1). Это требует введения чего-то эквивалент- ного нейронам, изображенным на рис. 3, и соединительным линиям. 2.2.2.1. Передающие состояния — соединительные линии. Рас- смотрим сначала соединительные линии. Они должны представлять собой ряды клеток, т. е. точек решетки. Так как линия должна Часть И. Теория автоматов 152
обладать способностью передавать (нейронный) импульс, то каждая из составляющих ее клеток уже даже только для этой цели должна иметь состояния покоя и возбуждения. Здесь мы интересуемся лишь передачей (нейронного) импульса и потому будем называть эти состоя- ния покоя и возбуждения передающими состояниями клетки. Их бу- дем обозначать символом Т8, причем 8 — 0 означает покой, а 8 — 1 возбуждение. Эта передача должна быть направленным процессом, ибо линии (заменяемые клетками в передающем состоянии) были проведены так, чтобы соединить определенные точки. Следовательно, надо вве- сти дополнительные ограничения. Можно условиться, что клетка в передающем состоянии воспринимает только тот импульс, который поступает с одного определенного направления. Мы будем называть это направление входным направлением клетки. Иными словами, воз- бужденная передающая клетка приводит свою непосредственную соседку (находящуюся в покоящемся передающем состоянии) в воз- бужденное передающее состояние (а если последняя была в этом состоянии, то сохраняет его) только в том случае, если первая из них посылает импульс во входном направлении последней. Можно также условиться, что клетка в передающем состоянии посылает импульс только в одном определенном направлении. Это направление мы бу- дем называть выходным направлением клетки. Иными словами, воз- бужденная передающая клетка приводит свою непосредственную соседку (находящуюся в покоящемся передающем состоянии) в воз- бужденное передающее состояние (а если последняя была в этом состоянии, то сохраняет его) только в том случае, если последняя принимает импульс, посланный в выходном направлении первой. Наконец, можно допустить оба эти условия. Если рассмотреть все модели, которые здесь возможны, то будет ясно, что удобнее всего выбрать определенное выходное направление. Чтобы избежать некоторых неконтролируемых, а потому нежела- тельных явлений, связанных с возвратной стимуляцией, целесооб- разно считать, что выходное направление нечувствительно ко вхо- дам, а конкретизировать входное направление даже не обязательно. Величина при а = 0, . . ., 3 (рис. 4Ь) дает всевозможные направления к непосредственным соседям (см. в разд. 2.1.2 замеча- ния после (3) и (4)). Поэтому к символу Т8 мы добавим еще индекс а ( = 0, . . ., 3). Итак, Та8 означает, что данная клетка находится в состоянии Т8 и имеет выходное направление иа. Тогда наши усло- вия принимают следующий вид: состояние Таз клетки д' приводит клетку д (находящуюся в состоянии Та0 или Та1) в состояние Та1 тогда и только тогда, когда д = д' + иа', но д' =/= д + иа, т. е. тогда и только тогда, когда д — д' = z;a' =/= — иа. Используем символы Та8 (а = 0, 1, . . ., 3; 8 = 0, 1) вместо некоторых значений величины п в формуле (6) (см. в разд. 2.1.2 Гл. 2. Система из 29 состояний с общим правилом переходов 153
замечание после (7)). Предположим, что между приходом импульса и возникновением реакции имеется единичная задержка (см. разд. 2.1.2 перед формулой (8)). Тогда приведенное правило можно записать в виде Пусть =Тае. Тогда т4=Та1, если для некоторой клетки д', удовлетворяющей условию д — д' = иа' =/= — va. I В противном случае п® = Та0. ] 2.2.2.2. Задержки, углы и повороты в соединительных линиях. Наша модель для соединительных линий отличается от модели, рас- смотренной в разд. 1.2.1, тем, что в ней учитываются конечные задерж- ки распространения импульса. Мы будем предполагать, что между непосредственными соседями имеется единичная задержка. Но это отклонение от схемы разд. 1.2.1 не приводит к существенным неже- лательным последствиям. Заметим также, что наша модель одинаково годится как для синтеза прямых соединительных линий, так и для синтеза линий, образующих углы и повороты. Прямые линии изображены на рис. 5а—5d; они соответствуют четырем возможным «прямым» направлениям на нашей решетке. «Углы» и «повороты» показаны на рис. 5е и 5f. Рис. 5а—5f выполнены в соответствии с рис. 4с. Рисунки 5а'—5Г являются упрощенными вариантами рисунков 5а — 5f; на них каждое состояние Тае заменено стрелочкой, соответствую- щей его вектору иа (см. рис. 4Ь). Рассмотрим теперь конкретные нейроны, изображенные на рис. 3. 2.3. НЕЙРОНЫ — КОНФЛЮЕНТНЫЕ СОСТОЯНИЯ 2.3.1. Нейрон+• Для нейрона — требуется просто возбудимая клетка, которая имеет выход и два возможных входа. Конечно, не будет никакого вреда, если ее снабдить более чем двумя такими входами. В разд. 2.2.2.1 мы определили передающую клетку так, что она имеет три возможных входа. Любая из ее 4 сторон, исключая выходную сторону, является входом. Таким образом, наши пере- дающие клетки выполняют не только функции (элементов) соеди- нительных линий между нейронами (для этого они и предназнача- лись), но также играют роль нейронов +. Пример использования обычной передающей клетки в качестве нейрона +, т. е. в качестве точки контакта соединительных линий, приведен на рис. 5g. Этот рисунок выполнен в соответствии со схе- мой рис. 5а'—5f'. Часть II. Теория автоматов 154
2.3.2. Конфлюентные состояния: нейрон • . Для нейрона • тре- буется возбудимая клетка, имеющая выход и два входа, которые для получения возбуждения следует раздражать одновременно. Практически удобно было бы ввести класс таких состояний. Но сво- бодный выбор выходного направления и двух входных направлений (из 4 возможных направлений, соответствующих значениям и% а = 0, . . ., 3) привел бы к 12 типам: (4 X 3 X 2)/2 = 12, а так как для каждого типа должно быть и покоящееся, и возбужденное состояния, то всего потребовалось бы 24 состояния. Можно полу- чить столь же удовлетворительные результаты более экономно, а именно только с одним типом и поэтому двумя состояниями. Этого можно достичь, если вообще не предписывать определенных входных или выходных направлений, т. е. если договориться, что каждое направление может быть выходным точно так же, как и входным. Кроме того, в качестве необходимого условия возбуждения нужно будет считать наличие не менее двух раздражений, т. е. не менее двух возбужденных передающих клеток, которые являются непосред- ственными соседями, и при этом наша клетка принимает импульсы, посланные в их выходных направлениях. Еще удобнее придать этому условию более гибкую форму, т. е. считать, что рассматривае- мая клетка возбуждается, если возбуждена каждая непосредственно соседствующая передающая клетка, выходное направление которой ориентировано на данную клетку. (Это условие выполняется всегда, если исключить случай, допустимый с точки зрения логики, но, оче- видно, противоречащий нашим намерениям,— когда ни одна непо- средственная соседка не обладает нужными свойствами, т. е. не является передающей клеткой, выходное направление которой ориентировано на данную клетку.) Такая формулировка правила приводит к тому, что рассматри- ваемая клетка может работать как нейрон либо с порогом 1 (т. е. с точки зрения входов, как обычная передающая клетка), либо 2 (т. е. как нужный нейрон*), либо 3 (т. е. вроде комбинации из двух нейронов •) в зависимости от того, 1, 2 или 3 непосредственно соседствующие клетки будут передающими клетками, выходные направления которых ориентированы на данную клетку. Так как эта клетка не должна обладать возможностью оказывать стимули- рующее действие ни на одну из передающих клеток, выходное направление которых ориентировано на нее (см. правило (10) и его применение к настоящей ситуации — правило (12)), то бессмысленно допускать, чтобы в таком же состоянии были все ее 4 непосредствен- ные соседки, так как тогда возбуждение нашей клетки вообще не привело бы ни к каким последствиям. Мы будем называть эти состояния клетки конфлюентными состоя- ниями и обозначать их символом Се, где е = 0 означает покой, а е = 1 означает возбуждение. Теперь по аналогии с разд. 2.2.2.1 Гл. 2. Система из 29 состояний с общим правилом переходов 155
используем символы С8 (е = 0. 1) в качестве значений величины п в формуле (6) (см. замечание после (7) в разд. 2.1.2). Сформули- рованное только что правило в применении к входам в С прини- мает вид: Пусть n^_1=Ce. Тогда — С1? если (а) =Ta'i для некоторой клетки О', удовлетворяющей условию О — д' = va', (Ь) для всех клеток О', удовлетворяющих условию Ф — О' == va'. В противном случае п^=-С0. (Н) Ту часть этого правила, которая относится к выходам из С, можно рассматривать как модификацию правила (10), ибо она дает новый способ привести передающую клетку в состояние возбуждения, т. е. получить Tai из Та8. Ее можно выразить в виде следующего предложения, которое следует поместить между вторым и третьим предложениями правила (10): Кроме того, z4 = Tai, если для некоторой клетки удовлетворяющей > условию й — й' = — va (Р —0, ...,3). (12) Обратите внимание, что система правил (10) — (12) обеспечивает возбуждение Т посредством Т. С посредством Т и Т посредством С, но не С посредством С. К нежелательным для нас последствиям это не приведет. Нейрон • вместе с его ближайшим окружением показан на рис. 6а. Рисунок выполнен в соответствии со схемой рис. 5а' — 5f и 5g. Конфлюентное состояние С появляется здесь впервые. 2.3.3. Нейрон—. Для нейрона — требуется возбудимая клетка, в которой покой и возбуждение поменялись местами (по сравнению с передающими состояниями). Она должна быть нормально возбуж- денной (т. е. способной возбудить непосредственно соседствующую с ней передающую клетку, на которую указывает ее выходное направление) и в состояние покоя должна приводиться входной сти- муляцией (возвращаясь к возбуждению, когда эта стимуляция пре- кратится). Можно было бы ввести класс таких состояний — напри- мер, с данным выходным направлением при условии, что все осталь- ные направления входные (точно так же, как в передающих состоя- ниях). Поскольку возможны 4 направления, это привело бы к 4 типам, а если учесть покой и возбуждение, то потребовалось бы всего 8 состояний. Но тогда мы должны были бы ввести класс состояний, Часть II. Теория автоматов 156
которые при нормальных, невозмущенных условиях не являются состояниями покоя. Эту трудность можно обойти различными путя- ми, с большей или меньшей экономией г). Мы обнаружим, что неко- торый класс состояний, которые мы введем позже для других целей, можно использовать для формирования функции нейрон — . Следо- вательно, на этой стадии можно об этом не беспокоиться. 2.3.4. Расщепление. Мы уже обсудили все типы нейронов, изобра- женных на рис. 3, а также их соединительные линии. Остался еще один объект подобного типа, который следует рассмотреть. Логиче- ские (т. е. нейронные) сети в смысле разд. 1.2.1 в большинстве слу- чаев содержат соединительные линии, ведущие от одного выхода к нескольким входам, т. е. линии, которые должны расщепляться. (Это отмечалось в разд. 1.2.1.) * 2) Иными словами, необходимы состоя- ния с несколькими выходами, подобные передающим состояниям. Однако достаточно отметить, что наше определение конфлюент- ных состояний предусматривает такую возможность. (См. разд. 2.3.2, в частности обсуждение геометрии, отвечающей «порогу 1» для этого класса состояний. В такой ситуации клетка имеет один вход и, сле- довательно, до трех возможных выходов.) Расщепление, получающееся при использовании конфлюентных состояний, показано на рис. 6Ь. Этот рисунок выполнен в соответ- ствии со схемой рис. 6а. Это относится и ко всем последующим рисункам с теми исключениями и изменениями, которые специально оговариваются. 2.4. ФУНКЦИИ РОСТА: НЕВОЗБУДИМОЕ СОСТОЯНИЕ И СПЕЦИАЛЬНЫЕ ПЕРЕДАЮЩИЕ СОСТОЯНИЯ 2.4.1. Мышечные функции, или функции роста — обычные им- пульсы в сравнении со специальными. Закончив обсуждение логиче- ских (т. е. нейронных) функций, перейдем теперь к другим. В разд. 1.2.2 мы временно назвали их мышечными, но соображения г) [Фон Нейман ссылается здесь на прием двойной линии, использованный в его работе [7]. С помощью лишь нейронов + и нейронов • он получил полное множество основных составляющих формальной логики, употребляя пару линий с кодами 01 для «нуля» и 10 для «единицы». Другими словами, каждая линия пары находится в состоянии, противоположном состоянию другой линии этой пары, так что отрицание можно реализовать переменой мест (пересечением) двух линий пары. Но в настоящей работе фон Нейман синтезировал отрицание, применяя разрушающий (обратный) и конструирующий (прямой) процессы из разд. 2.5 и 2.6. Пример такого синтеза показан на рис. 17 (разд. 3.2).] 2) [В своем списке примечаний фон Нейман здесь записал «Вырождение (?)». Я не знаю, что он имел в виду. Возможно, он собирался сказать, что требуется усиление мощности, когда одна входная линия управляет двумя или более выходными линиями.] Гл. 2. Система из 29 состояний с общим правилом переходов 157
разд. 1.3 показали, что правильнее будет подходить к ним как к функциям роста (см., в частности, разд. 1.3.4.2 и 1.3.4.3). В любом случае нам необходимы состояния для выражения этих функций. Мы знаем (см. указанные разделы), что изучение функций роста приведет к проблеме обычных и специальных импульсов, т. е. обыч- ных и специальных возбужденных состояний. Обычный класс — это класс импульсов, используемых для логических целей, т. е. класс, который мы до сих пор рассматривали (в основном в разд. 2.1.3 — 2.3.2). Специальный класс — это класс, который мы должны ввести сейчас, для того чтобы учесть упомянутые выше функции. 2.4.2. Невозбудимое состояние. Цель возбужденных состояний специального класса — индуцировать рост в смысле разд. 1.3.4.2 и 1.3.4.3, т. е. переводить клетки из невозбудимых состояний в воз- будимые, а в пределах последней категории и определять тип состоя- ния. Что касается последнего, то мы уже условились, что существует несколько типов: передающие, или состояния Т, которые дают 4 типа Та, а = 0, 1, 2, 3; и конфлюентный тип С (см. разд. 2.2.2.1 и 2.3.2). Для каждого из этих 5 типов возможны два состояния: е = 0 (покой) и 8 = 1 (возбуждение). Но нам нужны здесь лишь состояния Та0, Со, поскольку достаточно уметь создавать каждый возбудимый тип в покоящемся состоянии. Если требуется возбуж- денное состояние, то его можно вызвать обычными импульсами (относительно последних см. разд. 1.3.4.2 и 2.4.1). Итак, необходимо ввести невозбудимое состояние (невозбудимое обычными импульсами). Обозначим его U. Прежде чем дать строгий перечень его свойств, обсудим некоторые родственные вопросы. 2.4.3. Прямой и обратный процессы — специальные передающие состояния. Желательно не только иметь возможность осуществить переход от невозбудимого состояния U к возбудимым состояниям (например, Т и С, см. разд. 2.4.2), но также обеспечить обратимость этого процесса, т. е. иметь возможность осуществить переход от воз- будимых состояний к U. В дальнейшем мы приведем примеры исполь- зования такой двухсторонней организации. Импульсы, вызывающие эти превращения, должны быть переданы с помощью таких состоя- ний клеток, на которые они (импульсы) не оказывают подобного воздействия. Целесообразно, следовательно, ввести новый класс передающих состояний, скажем Т (аналогичных Т по тому, как они соотносятся друг с другом). По аналогии с Тае мы получим 8 таких состояний: Та'8 (а = 0, . . ., 3; 8 = 0, 1). Поступим с ними точно так же, как с Та8, т. е. введем правило, подобное правилу (10) разд. 2.2.2.1. Используем символы Т8а (а = 0, . . ., 3; 8=0, 1) в качестве 8 значений величины п в формуле (6) (см. замечание после (7) Часть II. Теория автоматов 158
в разд. 2.1.2). Правило будет иметь вид: Пусть Тогда —-T^i, если для некоторой клетки удовлетворяющей условию О — = v^f=^ — va. В противном случае т?^ = Т'а0. (13) 2.5. ОБРАТНЫЙ ПРОЦЕСС 2.5.1.1. Обратный процесс для обычных состояний. Теперь можно дать строгое определение обратному процессу, т. е. переводу неко- торого возбудимого состояния (Т, С) в невозбудимое состояние (U) специальными импульсами (от Т'). Оно представляет собой модифи- кацию правил (10), (12) для Т и правила (И) для С и мажорирует их (выполняется в первую очередь): Пусть равно Та8 или С8. Тогда ~ U, если для некоторой клетки й', удовлетворяющей условию й— 0' = га'. > Заметим, что условие й — й' =/= —va (в случае Т см. подобные усло- вия в правилах (10), (12)) не требуется; т. е. «убийство» клетки, осуществляемое специальным импульсом (отТ'), оказывается эффек- тивным даже в выходном направлении (Т). 2.5.1.2. Обратный процесс для специальных состояний. Причина, вызвавшая введение обратного процесса (от возбудимости к невоз- будимости; см. разд. 2.4.3 и далее) для обычных возбудимых состоя- ний Т, С, сохраняется и в случае специальных состояний (Т')« Но пра- вило (14) нельзя распространить на состояния Т'; влияние такого типа, оказываемое Т' наТ', недопустимо по той же причине, по какой недопустимо соответствующее влияние Т на Т (см. разд. 2.4.3): оно привело бы к разрушению свойства состояний Т' как передаю- щих состояний для специальных импульсов, точно так же как ана- логичное воздействие оказалось бы разрушительным для состояний Т как передающих состояний для обычных импульсов. Последнее обстоятельство заставило нас ввести Т' (чтобы переводить Т и С в U); теперь мы можем подобным образом использовать Т (чтобы переводить Т в U). Целесообразно, однако, не наделять этим свой- ством С. Действительно, так как каждое направление является выходным направлением для С, то, если мы припишем С такие воз- можности, нам будет несравненно труднее направлять и контроли- Гл. 2- Система из 29 состояний с общим правилом переходов 159
ровать, чем хотелось бы. Поэтому введем следующее правило, моди- фицирующее правило (13) и мажорирующее его: Пусть =Tag. Л Тогда = если I для некоторой клетки й', удовлетворяющей | условию #— Й' = Уа'« ) Замечание в конце разд. 2.5.1.1, касающееся выходов* относится также и к этому правилу. 2.5.2. Возникновение специальных импульсов. До сих пор спе- циальные импульсы (т. е. возбуждение клеток, находящихся в состоя- нии Т') возникали у нас лишь друг от друга. Необходимости во введении полной (логической) нейронной системы, как это было в случае обычных импульсов в разд. 2.2.2.1 — 2.3.4, для специальных импульсов нет. Можно построить всю логику на обычных импульсах, как и предполагалось, когда мы их вводили (см. разд. 1.3.4.2 и 1.3.4.3), и использовать их для того, чтобы обеспечить возникновение цепочек специальных импульсов, когда это потребуется. (Физиологический аналог: логика обеспечивается одной только нейронной активностью и ею же всегда вызывается и контролируется мышечная деятельность. См. для сравнения разд. 1.2.2.) Поэтому нам нужен определенный класс состояний, которые в ответ на обычный импульс испускают специальный импульс, т. е. таких, которые могут быть возбуждены от Т, а сами могут возбудить Т. Прежде чем вводить этот новый класс, проверим, нельзя ли сде- лать это с помощью уже существующих классов. Состояние Т не воз- буждает Т' (оно «убивает» его; см. правило (15)); отсюда нельзя использовать для нашей цели ниТ, ниТ'. Остается лишь состояние С. Оно возбуждается от Т; поэтому нам надо только наделить его спо- собностью возбуждать Т. Это легко сделать (то, что Т' не возбуждает С, а «убивает» его (см. разд. 2.5.1.1), сюда отношения не имеет): достаточно сформулировать аналог правила (12) для Т. Таким обра- зом, дуализм состояний Т иТ', нашедший свое выражение в дуализме правил (10) и (13) и в дуализме правил (14) и (15), получает дальней- шее подтверждение в дуализме (12) и правила (16), которое мы сейчас сформулируем. Его следует рассматривать как вставку между вторым и третьим предложениями правила (13) и, следовательно, подобно оригиналу (13), оно мажорируется правилом (15): Кроме того, n^. = Tai, если = С4 для некоторой клетки О', удовлетворяющей > условию О — = — иа (Р — 0,..., 3). (16) Часть II. Теория автоматов 160
2.6. ПРЯМОЙ ПРОЦЕСС — ЧУВСТВИТЕЛЬНЫЕ СОСТОЯНИЯ 2.6.1. Прямой процесс. Итак, обратный процесс, о котором гово- рилось в разд. 2.4.3 (переход от возбудимости к невозбудимости), уже разобран. Перейдем теперь к рассмотрению (требуемого в первую очередь) прямого процесса разд. 2.4.2 (перехода от невозбудимости к возбудимости). Список состояний, которые должен давать прямой процесс, теперь стал больше. В разд. 2.4.2 были состояния Та и С; к ним, согласно разд. 2.4.3, следует добавить Т^. Другими словами, у нас должна быть возможность создавать следующие состояния (относительно роли е = 0 см. обсуждение в разд. 2.4.2): Tao? Со. (17) Всего здесь 9 состояний. Таким образом, нам нужен механизм для перевода состояния U в одно из 9 состояний (17). Сделаем сначала два замечания, касаю- щиеся этого механизма. 2.6.2.1. Первое замечание: дуализм обычных и специальных состояний. В нашем распоряжении два типа импульсов: обычные и специальные, отвечающие возбуждению состояний Т (возможно, вместе с С) и Т' соответственно. Мы собирались использовать только специальные импульсы (т. е. состояния Т') для трансформации U в одно из 9 состояний (17) (см. разд. 2.4.1 и 2.4.5). Но потом, рассма- тривая обратный процесс (см. разд. 2.4.3—2.5.2), мы допустили, что состояния Т (на самом деле без С) и Т' выполняют симметричные относительно друг друга функции и дополняют друг друга (см. заме- чания о «дуализме» в конце разд. 2.5.2). Поэтому представляется соблазнительным приписать им симметричные роли и в связи с пря- мым процессом. Это снова можно было бы сделать двойственным образом, т. е. используя Т для перехода от U к Т (и к С), а Т для перехода от U к Г. Однако мы увидим, что это ограничение вовсе не необхо- димо, т. е. можно получить удовлетворительную систему, приняв, что Т и Т оказывают на U идентичное и взаимозаменяемое воздей- ствие в смысле переходов во все состояния Т, С и Т (т. е. во все 9 состояний (17)). Отсюда возникает вопрос: зачем вообще понадобилось вводить Т', если Т может вызывать и контролировать все переходы из U? Ответ заключается в том, что состояния Т требуются в обратном процессе, так как между передачей и стимулированием перехода в состояние U существует различие (ср. правила (10) и (12) с правилом (14) и пра- вила (13) и (16) с правилом (15)). Более того, обратный процесс (переход из Т, Т или С в U) необходим для осуществления требуе- Гл. 2. Система из 29 состоянии с общим правилом переходов 161
мого управления прямым процессом (переходом из U в Т, Т' или С, или даже только в Т или С). Это обстоятельство заслуживает более тщательного рассмотрения. 2.6.2.2. Необходимость обратного процесса. Пусть клетки 1, ..., 9 занимают площадь размера 3x3 (см. рис. 7). Их предстоит органи- зовать, т. е. перевести из состояния U в различные (наперед задан- ные) состояния, например в состояния Т. Эта организация кле- ток 1, . . ., 9 должна быть произведена и областью О. Рассмотрим этот переход для центральной клетки (т. е. для клет- ки 5). Независимо от того, какие импульсы (обычные или специаль- ные, т. е. возбуждения Т или Т') вызывают этот переход, от области возникновения и логического контроля этих возбуждений должна быть проложена непрерывающаяся цепочка из передающих клеток (Т или Т') к той клетке, на которую должно быть оказано воздействие (в данном случае к клетке 5). На рис. 7 такую цепочку образуют клет- ки, отмеченные стрелочкой: это могут быть клетки Та, как на рис. 5, или соответствующие им клетки Т«. Эта цепочка обязательно должна пересечь кольцо клеток, окружающих клетку 5, т. е. кольцо, образованное клетками 1, . . ., 4, 6, . . ., 9. На рис. 7 пересече- ние происходит в клетке 8. Далее, может получиться, что при требуемой организации обла- сти 1, . . ., 9 состояние клетки пересечения (в нашем случае клет- ки 8) будет другим (покоящимся) состоянием, отличным от состояния цепочки. (Последняя может быть в состоянии Та илиТ^, где вектор имеет направление цепи (в нашем случае а = 1, см. рис. 4 и 7).) Поэтому организация клетки пересечения не может произойти до организации клетки 5. Если она происходит после организации клет- ки 5, то интересующая нас (Т или Т) клетка цепочки переводится в нужное состояние. Так как прямой процесс обеспечивает перевод из U в любое требуемое состояние, то проще всего обеспечить воз- можность перевода имеющегося (Т или Т') состояния в U. Поэтому обратный процесс действительно необходим. 2.6.3.1. Второе замечание: необходимость фиксированной после- довательности импульсов для управления прямым процессом. В разд. 2.6.2.1 мы отмечали, что прямой процесс (перевод из U в состояния (17)) должен осуществляться импульсами, вызванными возбуждениями Т и Т, и можно допустить, чтобы оба эти возбужде- ния давали в этом отношении один и тот же результат. В дальнейшем мы увидим, что такой порядок в некотором важном для нас смысле более экономен, чем его очевидная альтернатива. Разумно исключить С и из этого процесса. Причины для исполь- зования здесь прямого процесса совпадают с причинами использо- вания обратного процесса в разд. 2.5.1.2. Заметим, кроме того, что Часть II. Теория автоматов 162
так как каждое направление является выходным для С, то часто бывает необходимо защитить некоторые стороны клетки С; для этой цели естественно использовать U (см. далее). Поэтому было бы крайне неудобно, если бы состояние С оказывало на U какое- нибудь воздействие. Прямой процесс должен обеспечить перевод из U в любое из 9 состояний (17). Девять возможностей — это слишком много для того, чтобы получить их одиночным импульсом, даже если бы Т и Т оказывали различные воздействия. К тому же мы условились, что в этом процессе Т и Т' оказывают одинаковое воздействие. Сле- довательно, нужные нам 9 альтернатив должны выражаться некото- рой двоичной последовательностью импульсов. В этом двоичном коде 1 будет соответствовать наличию импульса (Т или Т'), а 0 — отсутствию импульса. Последовательности из 3 цифр могут выразить 8 альтернатив: ООО, 001, . . ., 111. Но так как нам нужно 9 альтерна- тив, то одну из них (например, первую — ООО) мы приспособим для выражения еще 2 возможностей: 0000 и 0001. Итак, мы получаем 9 кодовых последовательностей: 0000, 0001, 001, 010, 011, 1 100, 101, НО, 111. J (18> Их надо теперь привести в соответствие с 9 состояниями (17). Девять кодовых последовательностей (18) должны строиться из цифр 0 и 1 последовательно. Иными словами, в (прямом) процессе перехода состояние U должно будет проходить через промежуточные состояния, соответствующие подпоследовательностям, встречаю- щимся в процессе построения последовательностей (18). Такими подпоследовательностями будут 0, 1, 00, 01, 1 10, 11, 000; J (19) всего 7. Наконец, должно быть некоторое состояние, соответствую- щее началу процесса, когда формирование кодовой последовательно- сти списка (18) из подпоследовательности списка (19) еще не началось, Эту кодовую подпоследовательность лучше всего интерпретировать как пустое множество (соответствующее начальному состоянию) и обозначать буквой 0. (20) 2.6.3.2. Необходимые дополнительные состояния. 17 кодовых последовательностей (20), (19), (18) соответствуют 17 состояниям. Мы будем обозначать их символом S2, где S принимает значения Гл. 2. Система из 29 состояний с общим правилом переходов 163
(18) — (2G). Состояния S2, отвечающие последовательностям (18), должны совпадать с 9 состояниями (17), т. е. это не новые состояния. Кроме того, мы должны решить, естественно ли и нужно ли требо- вать, чтобы состояние SQ совпадало с U. Прямой процесс идет от S0 через S2 списка (19) к списка (18) (т. е. к состояниям (17)), причем к 2 добавляется 1, когда появляется импульс (Т или Т'), и 0, когда импульса нет. (Разумеется, когда величина 2 достигает своего максимального значения, ее рост прекращается. Тогда мы получаем состояния (17), которые подчиняются правилам (10) — (16).) Это означает, что эво- люция от S0 к окончательному состоянию Ss (с 2 максимальным, т. е. соответствующим последовательностям (18)) должна протекать в строго определенные моменты времени. Отсутствие импульса дает определенный эффект (точно так же, как и его наличие); поэтому нужные импульсы должны подаваться в определенные моменты вре- мени без каких-либо задержек, если только последние специально не потребовались. С другой стороны, мы всегда представляли себе U как состояние покоя; оно не меняется, пока не получит импульса. Учитывая эти два обстоятельства, мы не должны отождествлять U и S0. Итак, к состояниям (17) у нас добавилось еще 8 новых: а имен- но Ss с 2 списков (20) и (19). 2.6.4. Чувствительные состояния. Назовем новые состояния, к которым привели нас разд. 2.6.3.1 и 2.6.3.2, чувствительными состояниями. Как уже говорилось, это состояния S^, где 2 прини- мает значения (20) и (19), но не (18) (последние отвечают состояниям, совпадающим со старыми состояниями (17)). Теперь на основе материала разд. 2.6.3.1 и 2.6.3.2 можно полу- чить точные правила, управляющие поведением состояния U и чув- ствительных состояний. Эти правила имеют вид: Пусть n^r’^U. Тогда 73^ = 8©, если равно Та4 или для некоторой клетки О1', удовлетворяющей условию й — й' = va'. В противном случае =U. Пусть 12^=8% с 2 из (20) или (19). Тогда n# = Ssi, если гф1 равно ТаЧ или T^i для некоторой клетки й', удовлетворяющей условию й — й'^г/*'. В противном случае no = S20- (21) (22) [Заметьте, что Soo = So, S01o = Slo, S0111 = SH1 и т. д.] Часть И. Теория автоматов 164
2.7. ЧЕТНЫЕ И НЕЧЕТНЫЕ ЗАДЕРЖКИ 2.7.1. Четные задержки, обусловленные различием в длинах пу- тей. Итак, мы закончили описание прямого процесса разд. 2.4.2 (см. разд. 2.6), т. е. процесса, обеспечивающего переход от U к состояниям (17). В разд. 2.6.3.2 отмечалось, что прямой процесс строго привязан к определенным моментам времени, т. е. для каж- дого состояния (17) определенные импульсы должны подаваться через определенные промежутки времени. Точнее, чтобы перейти от состоя- ния S0 к состояниям (17), т. е. к S2 с 2 из (18), требуются непреры- вающиеся последовательности импульсов и пауз списка (18) в соот- ветствии с правилом (22). Эти последовательности имеют длины 3 и 4. Так как на самом деле мы хотим начинать с U, то мы должны также применять правило (21), т. е. нужен еще один импульс, иду- щий непосредственно перед такой последовательностью. Все это приводит к необходимости иметь определенные непрерывающиеся последовательности импульсов и пауз длин 4 и 5. В правильно организованной управляющей системе такая после- довательность может порождаться подходящим (одиночным) управ- ляющим импульсом. Для того чтобы из (одиночного) управляющего импульса получить наперед заданный ряд импульсов в течение 4 или 5 последовательных моментов времени (t целочисленно; см. (5)), необходима некоторая система кратной задержки. См. рис. 8. Если этот (одиночный) управляющий импульс появляется в точке А решетки, а заданная последовательность импульсов и пауз должна быть в точке В решетки, то необходимо, чтобы возбуждение прошло из точки А в точку В по нескольким путям — тогда будет создана нужная относительная задержка. Действительно, пусть & — путь, по которому возбуждение из точки А в точку В приходит первым. Тогда другие пути из А в В, скажем • • ♦ , должны дать задержки по отношению к еР, равные расстояниям от первого импульса (который требуется в связи с правилом (21)) до заданных импульсов в нужной последовательности импульсов и пауз. Рис. 8 иллюстрирует такую ситуацию. [Задержка на выходной стороне клетки А по отношению к входной стороне клетки В равна 7 вдоль пути 17 вдоль пути 37 вдоль пути еР2- Если на эти пути в нулевой момент времени подается возбуждение, то импульсы войдут в клетку В в моменты времени 7, 17 и 37.] 2.7.2.1. Нечетные и единичные задержки. Ясно, что таким спо- собом можно получить только четные задержки: разность длин любых двух путей, соединяющих две заданные точки А и В, всегда четна. В то же время последовательности из (18) (требуемые прави- лом (22)), которым предшествует 1 (наличие импульса) (согласно правилу (21)), могут содержать 1 (т. е. импульс) на нечетных рас- Гл. 2. Система из 29 состояний с общим правилом переходов 165
стояниях. Это противоречие должно быть разрешено. Можно посту- пать по-разному. Во-первых, принцип четных различий в длинах путей, соединяю- щих две заданные точки, справедлив лишь для данной кристалличе- ской решетки. Он верен для квадратной решетки (которая лежит в основе всех наших построений), но для некоторых других решеток он не выполняется. Поэтому можно было бы попытаться изменить кристаллическую решетку. Во-вторых, можно было бы удлинить последовательности (18), вставляя 0 (паузу) так, чтобы все расстояния между 1 (импульсами), включая вводный разряд 1, требуемый правилом (21), стали четными. Это привело бы к увеличению числа подпоследовательностей, встре- чающихся при построении последовательностей (18), т. е. подпосле- довательностей (19). Таким образом, у нас было бы больше чувстви- тельных состояний. В-третьих, можно непосредственно ввести нечетные задержки. Ясно, что достаточно ввести единичную задержку. Это значит, что нам нужно возбужденное состояние, появляющееся в момент t, но не после возбуждения, пришедшего в момент t — 1 (как во всех до сих пор рассмотренных случаях, т. е. Т, Т', С), а после возбужде- ния, пришедшего в момент t — 2. 2.7.2.2. Единичные задержки, достигнутые с помощью конфлю- ентных состояний. Внимательный анализ предыдущих рассмотре- ний показывает, что из трех возможностей, описанных в разд. 2.7.2.1, последняя наиболее удобна и, в частности, наиболее экономна в смысле числа новых состояний. В этой связи стоит сделать два дополнительных замечания. Во-первых, достаточно обеспечить введение единичной задержки для обычных (Т) импульсов. В самом деле, специальные (Т') импульсы можно получить из обычных, применив процесс преобразования с фиксированной задержкой (а именно (16)). Иными словами, если требуется строго хронометрированная (в смысле разд. 2.7.1) после- довательность специальных (Т') импульсов, удобно (с помощью системы задержек разд. 2.7.2.1) построить ее на обычных (Т) им- пульсах, а затем преобразовать их в специальные (по правилу (16)). Во-вторых, чтобы ввести единичную задержку для обычных импульсов, не обязательно вводить новый тип состояния; достаточно использовать и расширить свойства существующих типов. Удобно наделить таким свойством состояние С, ибо при этом другие нужные нам функции этого состояния не пострадают. Справедливость этого станет ясна в процессе нашей работы с С. Сейчас же мы ограничимся тем, что формализуем изменения в пра- вилах, управляющих поведением состояния С, необходимые для полу- чения требуемой (единичной) задержки. Часть II. Теория автоматов 166
В настоящий момент возбуждение клетки, находящейся в состоя- нии С, подчиняется правилу (И). Ее возбуждающее влияние описы- вается правилами (12) и (16), а ее «убийство» (т. е. перевод в U) — правилом (14). При этих правилах клетка С имеет состояния С8, где индекс 8 — 0,1 указывает существующее в настоящий момент состояние возбуждения. Если возбуждение надо задержать на одну единицу времени, то клетка С должна в течение этого промежутка времени помнить, каким должно быть ее следующее состояние возбуждения. Поэтому нужны 2 индекса, например 8, s'. Тогда состояниями будут Се£', где индекс 8=0; 1 указывает настоящее состояние возбуждения, а индекс 8' = 0; 1 указывает следующее состояние возбуждения. Поэтому в правила (11), (12), (14) и (16) необходимо внести соот- ветствующие изменения. В правиле (И): там, где С8 (для t — 1) переводилось в СЕ- (для t), теперь Сее' (для t — 1) должно переводиться в СЕ'Е" (для t). В правилах (12), (14), (16): роль С8 (для t —- 1) играет Сее' (для t - 1). Кроме того, естественно, что в списке (17) (покоящееся) состояние Со должно быть заменено на (полностью покоящееся) состояние Соо. Итак, точная формулировка необходимых изменений: В правиле (И) заменить п^1 = С8 на zz|-1 = CEE', заменить = на По = С8ч и заменить п^ = С0 на Пф = С8'о. । В правилах (12) и (16) заменить п^“1 = С1 на п^г = С18'; ' ' в правиле (14) заменить —СЕ на С88'. В списке (17) заменить Со на Соо. Таким образом, при этом методе введения (единичной) задержки 2 состояния СЕ заменяются на 4 состояния, т. е. вводятся 2 новых состояния. 2.8. РЕЗЮМЕ 2.8.1. Строгое описание состояний и правила переходов. Подве- дем теперь итоги, т. е. дадим полный список состояний и исчерпы- вающее правило переходов. Будем писать Ти, и = 0; 1, вместо Т иТ'. Будем называть обычные импульсы и специальные импульсы соответственно [0]-импулъсами и Ц]-импулъсами. Список состояний принимает следующий вид: (S) С о с т о я н и я: Передающие состояния Twas, где и — 0; 1 соответствует обычному и специальному состоянию; a = 0; 1; 2; 3 — направлениям вправо. Гл. 2. Система из 29 состояний с общим правилом переходов 167
вверх, влево, вниз', е = 0; 1 — покоящемуся и возбужденному состоя- ниям. Конфлюентные состояния Сее', где е — 0; 1 соответствует покоя- щемуся и возбужденному состояниям; в' = 0; 1 — покоящемуся в следу- ющий момент и возбужденному в следующий момент состояниям. Невозбудимое состояние U. Чувствительные состояния S^, где 2 = 0, 0, 1, 00, 01, 10, И, 000. (S.1) Кроме того, состояния S2, где 2 принимает значения 0000, 0001, 001, 010, 011, 100, 101, 110, 111, (S.2) соответственно совпадают с состояниями Тиао (^ = 0, 1; а = 0, 1, 2, 3) и Соо, (S.3) расположенными в следующем порядке: ТООо, ТОю» ТО2о, ТОЗо? Т10(Ь Тцо, Т12(ь Т130, СОо- Всего состояний 16 (передающих) + 4 (конфлюентных) + 1 (невозбудимое) + 8 (чувствительных) = 29. Таким образом, 7V = 29 (24) символов Тмае (и = 0, 1; а = 0, 1, 2, 3; е = 0, 1), Сее' (е = 0, 1; в' = 0,1), U, Ss (2 из (S.1)) будут использоваться в качестве значе- ний величины п в формуле (6) (см. замечание после 7) в разд. 2.1.2). Рассмотрим теперь правило переходов. Прежде всего заметим, что число возможностей для такого правила (т. е. для функции F в смысле разд. 2.1.2) равно, согласно (9), при N = 29 29£95 ю30 000 000 (25) (с 3 значащими разрядами в показателе). Далее, правила (10) — (16) и (21) — (23) вместе составляют правило переходов. Оно имеет сле- дующий вид. (Т) Правило переходов'. Пусть >4_1 = Tttae. (a) = U тогда и только тогда, когда = = Т^аЧ для некоторой клетки О', удовле- творяющей условию 91— =-va', и и^=и. ((i) n^ = Tual тогда и только тогда, когда (а) не выполняется, а выполняется либо (а), либо (Ь): СГ.1) Часть II. Теория автоматов 168
(a) n^ssTita'i для некоторой клетки б', удовлетворяющей условию б— б' = va' =/= =^= — va. (b) 73^7! —С 1е, для некоторой клетки б', удовлетворяющей условию б — 'б7 = v?j — — v<* (Р = 0, 3). (у) п& = Tua0 тогда и только тогда, когда ни (ос), ни (Р) не выполняются. Пусть «#_1 = Се8'. (а) тз^= U тогда и только тогда, когда пхуХ = = Т1ач для некоторой клетки б7, удовле- творяющей условию б>—б' = га'. Ф) 4= СеЧ тогда и только тогда, когда (а) не выполняется, а выполняются (а) и (Ь): (a) n^71 = TOa'i для некоторой клетки б’, удовлетворяющей условию б’ — б' = ?Х. (Ь) /з^71 у= То а' о для всех клеток б', для которых б — б' — va' (у) Иф = С6'о тогда и только тогда, когда ни (а), ни (Р) не выполняются. j Пусть тз^71 = U. (сс) п^ — Sq тогда и только тогда, когда — Tua'i для некоторой клетки б', удовлетво- ряющей условию б — б' = va'. (Р) 4=и тогда и только тогда, когда (а) не выполняется. Пусть (с 2 из (S.1)). (сс) тзф —Ssi тогда и только тогда, когда тз^”1 — =• Tua'i для некоторой клетки б', удовлетво- I ряющей условию б—б' =va'. (Р) 73^, —Sv о тогда и только тогда, когда (а) не выполняется. ; 2.8.2. Неформальное резюме. Разд. 2.8.1 содержит перефразиров- ку выводов разд. 2.2—2.7, данную в строгом формальном виде. Целесообразно, однако, привести и описательное изложение этих выводов, т. е. еще раз и уже неформально описать состояния Гл. 2. Система из 29 состояний с общим правилом переходов 169
и правило переходов между ними, ибо за формализмом разд. 2.8.1 трудно следить без того словесного обоснования, которое содержится в разд. 2.2—2.7. С другой стороны, рассуждения этих разделов про- водились шаг за шагом и получились очень длинными. Поэтому нужна непосредственная словесная перефразировка. Вот она: Существуют 16 передающих состояний Тиае. Индекс и указывает класс состояний: и = 0 для обычных и и — 1 для специальных. Индекс а показывает ориентацию этого состояния: а = 0 для направ- ления вправо, а — 1 для направления вверх, а = 2 для направления влево, а — 3 для направления вниз. Индекс 8 показывает имеющееся состояние возбуждения'. 8 = 0 для покоя, 8 = 1 для возбуждения. Передающее состояние имеет одно выходное направление и три вход- ных'. первое определяется его ориентацией, последние — это все оставшиеся направления. Передающее состояние может быть возбуж- дено с задержкой 1 от любого непосредственно соседствующего воз- бужденного передающего состояния того же класса при условии, что первое лежит в выходном направлении второго, а второе лежит в одном из входных направлений первого *). Существуют 4 конфлюентных состояния Cgg'. Индекс 8 показывает имеющееся в данный момент состояние возбуждения, индекс 8' показывает состояние возбуждения в следующий момент времени: 8, е' = 0 для покоя и 8, s' = 1 для возбуждения. Конфлюентные состояния по определению принадлежат классу 0. Для конфлюент- ного состояния все направления могут быть как входными, так и выходными. [Но в каждый данный момент времени одно направле- ние не может использоваться одновременно и как входное, и как выходное.] Конфлюентное состояние может быть возбуждено с задержкой 2 от тех непосредственно соседствующих передающих состояний его собственного класса (т. е. класса 0), в выходных напра- влениях которых оно лежит. Возбуждение произойдет, если имеется по крайней мере один такой непосредственный сосед и если все такие непосредственные соседи (сколько бы их ни было) возбужде- ны. Передающее состояние (любого класса) может быть также воз- буждено с задержкой 1 от любого непосредственно соседствующего конфлюентного состояния при условии, что последнее лежит в одном из входных направлений первого. Существует невозбудимое состояние U. Оно считается покоящим- ся. Каждое передающее или конфлюентное состояние убивается (т. е. переводится в невозбудимое состояние) любым непосредственно 1)J Будем говорить, что одно состояние лежит в выходном направлении дру- гого, если эти состояния (клетки) являются непосредственными соседями и выходное направление второго состояния ориентировано на первое состояние. Аналогично употребляется выражение состояние лежит во входном направлении другого.— Прим, перев. Часть II. Теория автоматов 170
соседствующим возбужденным передающим состоянием противо- положного класса при условии, что первое лежит в выходном направ- лении второго. Все приведенные состояния (передающие и конфлюентные) при- нимают покоящуюся форму, если указанные правила не обеспечи- вают убивание или возбуждение. Существуют 8 чувствительных состояний с 2 из (S.1). Мы будем рассматривать также состояния Ss с 2 из (S.2), но эти состояния не относятся к чувствительным. Они совпадают с покоящимися пере- дающими и покоящимися конфлюентными состояниями (S.3). (Отно- сительно списков (S.1) — (S.3) см. разд. 2.8.1.) Чувствительные состояния в любом случае подвергаются изменению (немедленно, т. е. с задержкой 1), а именно переводятся в состояния S2o или Sst. Переход в состояние S21 происходит под влиянием каждого непо- средственно соседствующего передающего возбужденного состояния (любого класса) при условии, что это чувствительное состояние лежит в выходном направлении последнего. В противном случае происходит переход в S^o- Подчеркнем снова, что это последнее правило применимо только к чувствительным состояниям, т. е. лишь при 2 из (S.1), но не из (S.2) (или, другими словами, если индекс 2 еще не достиг своего максимального размера). (2.8.3. Иллюстрации к правилу переходов. Каждая клетка беско- нечной клеточной структуры, изучаемой фон Нейманом, занята оди- наковыми конечными автоматами с 29 состояниями. Как показано в разд. 1.3.3.5, бесконечный клеточный автомат представляет собой эту бесконечную клеточную структуру вместе с начальным распре- делением клеток. Начальным распределением клеток называется конечный список клеток, для каждой клетки которого указано ее состояние, а клетки вне списка полагаются находящимися в невоз- будимом состоянии U. Начальное распределение задает состояние бесконечного клеточного автомата в нулевой момент времени. Даль- нейшая история бесконечного клеточного автомата определяется пра- вилом переходов, по которому можно найти состояние каждого конечного автомата с 29 состояниями в момент t + 1 в виде функции от состояний его самого и его 4 непосредственных соседей в мо- мент t. Эти 29 состояний и правила переходов между ними представлены на рис. 9 и 10. Фон Нейман обозначал пары передающих состояний 0 (обычные) или 1 (специальные) и стрелкой, указывающей выходное направление. Например, Q означает пару ТОое, а |1 означает пару Т11е. Автомат с 29 состояниями, занимающий одну клетку клеточной структуры фон Неймана, можно трактовать по-разному. Можно счи- тать, что это конечный автомат, конструируемый из переключатель- Гл. 2. Система из 29 состояний с общим правилом переходов 171
ных элементов и элементов задержки, который соединяется со свои- ми 4 непосредственными соседями проводами, пересекающими его 4 границы. Для дальнейшего удобнее считать его некоторым множе- ством основных элементов (подавтоматов) вместе с управляющей аппаратурой для перехода от одного элемента к другому и обратно. Это приводит к разбиению 29 состояний клетки на подмножества, соответствующие определенным функциям. Рассмотрим в качестве примера пару передающих состояний ТОоо и Т001, т. е. Т00е при 8 = 0, 1. Эта пара функционирует как дизъюнкция (нейрон-)-) с единичной задержкой, и ее выход ориенти- рован вправо. Входные сигналы на Т00е могут приходить сверху, слева и снизу от непосредственных соседей, являющихся конфлюент- ными состояниями или обычными передающими состояниями, выход- ные направления которых ориентированы на это состояние ТОое- На рис. 11а показано поведение клетки Т00е- Если в момент t имеют- ся состояния С1е' и ТОц, то в момент t + 1 ее состоянием будет Тоо1; если в момент t имеются состояния C08z и То1о, то в момент t + 1 будет Тооо. Таким образом, когда речь идет лишь о состояниях, показанных на рис. 11а, можно считать, что два состояния Т00е представляют собой дизъюнктивный элемент со входами слева и снизу и с выходом (после единичной задержки) вправо (на /). Множество из 4 конфлюентных состояний Сее' (8, s' = 0, 1) выполняет функции конъюнкции («и», •), двойной задержки, ветвле- ния проводников (расщепления) и преобразования обычных импуль- сов в специальные; фон Нейман обозначал эти 4 состояния буквой С. Эти состояния не имеют направления, а направление их функциони- рования определяется направлениями 4 передающих состояний (как обычных, так и специальных) в 4 непосредственно соседствую- щих клетках. Рассмотрим множество состояний Сее', принимаемых данной клеткой. Входные сигналы на эту клетку приходят от обыч- ных передающих состояний, ориентированных на нее. Выходные сигналы идут из нее как к обычным, так и к специальным передаю- щим состояниям при условии, что их выходы не ориентированы на эту клетку. (См. рис. 11b и Ис.) Клетка Сее' на рис. 11b ведет себя так: если в момент t имеются состояния T00i и ТОц, то в мо- мент t + 1 ее состоянием будет Се^, а в момент t + 2 будет С1е". Иными словами, в рамках рис. 11b можно представлять себе каждое из 4 состояний Сее' как конъюнктивный элемент с входами слева и сни- зу невыходом (через 2 единичные задержки) вправо (на g). Удобно считать состояние 8 клетки Тиае или Сее' ее выходным состоянием в данный момент, а совместное состояние ее непосред- ственных соседей — ее входным состоянием в этот момент. Удобно также использовать короткие черточки для обозначения входа в некоторую клетку (a, b, с, d и е на рис. И) или выхода из нео (/, g, Л, i и j на рис. И). Часть II. Теория автоматов 172
При таких обозначениях для рис. 11 имеем /(Z + 3) = [a(f) + &(i + l)], g (t + 3) = [с (f) .d(0], h (t + 4) = e (t), i(Z 4-5) = e(7), 7 (*4~4) = *(£). Co всех выходов испускаются обычные импульсы, кроме выхода у, с которого испускается специальный импульс. Каждую из переключательных функций (функций логики) — дизъюнкцию (+) или конъюнкцию (•) — можно реализовать с соот- ветствующей задержкой сетью клеток в обычных состояниях (ТОае и С€8'). Петли памяти можно сделать на обычных состояниях. На рис. 12 петля В1, В2, А2, А1 хранит последовательность 10000, циклически пробегающую по этим состояниям до бесконечности, постоянно возбуждая клетку С1. Отрицание непосредственно не представлено в этих 29 состояниях; оно синтезируется из разруши- тельного (обратного) и конструирующего (прямого) процессов. См. разд. 3.2.2 и рис. 17. Прямой процесс переводит клетку из невозбудимого состояния U в одно из 9 покоящихся состояний Тиа0 (и = 0, 1; а = 0, 1, 2, 3) или Соо. Передающие состояния (обычные или специальные), направ- ленные на U, порождают прямой процесс и управляют им, а чув- ствительные состояния выполняют роль промежуточных. Любое (или несколько) состояние Тиа1, направленное на U, превращает его в S0. Затем Ss превращается в (a) Sst, если какое-нибудь состояние Тиа1 направлено на эту клетку, и (Ь) в Ss0 в противном случае, и так до тех пор, пока прямой процесс не окончится на Тиа0 или Соо в соот- ветствии с рис. 10. Например, будучи посланной в некоторую клетку, находящуюся в состоянии U, последовательность 10000 переводит се в состояние Тооо, последовательность 1011 — в состояние Т1оо, а последовательность 1111 — в состояние Соо- Прямой процесс иллюстрируется на рис. 12. Здесь, согласно зна- чениял! 8 и е', петля В1, В2, А2, А1 хранит в нулевой момент време- ни последовательность 10000 в указанном порядке. Эта последова- тельность будет циклически пробегать данную петлю до бесконеч- ности, периодически возбуждая клетку С1, которая дает единичную задержку. На клетку D1 она будет оказывать следующее воздействие. Момент времени 012 34 5 6 7 ... Вход в D1-. 01000 0 1 0... Состояние клетки DI: U U S0 So Soo Sooo Tooo T001 ... Гл. 2. Система из 29 состояний с общим правилом переходов 173
Далее этот процесс будет повторяться, причем клетка DI будет подавать последовательность 10000 на клетку справа от себя, застав- ляя ее проходить последовательно состояния So, So, Soo, Sooo, Tooo, Tool, ... . Этот процесс будет повторяться неограниченно долго. Таким образом, конечный клеточный автомат, для которого распреде- ление рис. 12 является начальным распределением клеток, будет расти,, постоянно удлиняя вправо коммуникационный канал ООО ... Обратный процесс (разрушающий, убивающий) переводит любое передающее состояние Тиае или любое конфлюентное состояние С8е- в U. Возбужденное обычное передающее состояние TOai убивает спе- циальное передающее состояние Т1ае, на которое оно направленог а возбужденное специальное передающее состояние Т1а1 убивает обычное передающее состояние ТОае или конфлюентное состояние Се8', на которое оно направлено. Примеры приведены на рис. 13. На рис. 13а и 13b некоторые клетки отмечены в момент времени 1 знаком ? . Это сделано так потому, что их состояния в момент 1 зави- сят от внешней среды. За исключением рис. 13а и 13b, мы всегда будем предполагать, что изображаемые на рисунках конечные клеточные массивы не подвержены ни прямому, ни обратному процессам извне. Заметьте, что специальные и обычные передающие состояния рис. 13Ь убивают друг друга. Обратный процесс доминирует над восприятием. Если «убиваю- щий» импульс пришел в клетку в момент времени t, то в момент вре- мени t + 1 эта клетка будет в состоянии U независимо от того, какие другие импульсы могли прийти в эту клетку в момент времени L С другой стороны, эффект убивания не доминирует над испусканием импульса в том смысле, что если клетка готова в момент t создать импульс, то она создаст его, даже если получит в этот момент убиваю- щий импульс. Проиллюстрируем эти положения на рис. 13с. Предположим, что на рис. 13с обычные импульсы попадают на вход а в моменты 0 и 1, специальный импульс — на вход с в момент 1 и никаких других импульсов ни в какие моменты времени больше не приходит. Обычный импульс, пришедший на вход а в момент 0, входит в клетку В1 в момент 1, покидает ее в момент 2, а клетку С1 (выход Ъ) покидает в момент 3. Специальный импульс, пришедший на вход с в момент 1, входит в клетку В1 в момент 2, вызывая ее пере- ход в состояние U к моменту времени 3. Обычный импульс, пришед- ший на вход а в момент 1, входит в клетку В1 в момент 2, но, так как специальный убивающий импульс также входит в клетку В1 в момент 1, обычный импульс не оказывает воздействия. Поэтому первый обычный импульс на входе а передается по клеткам Al, Bl, С1 и излучается с выхода Ъ, а второй обычный импульс на входе а доминируется убивающим импульсом с входа с и теряется. В клеточной системе есть одна важная конструкция, которая пред- назначается для того, чтобы с помощью прямого процесса изменить. Часть II. Теория автоматов 174.
состояние какой-нибудь удаленной клетки, а затем стереть исполь- зованный при этом путь конструирования. Этот метод иллюстрирует- ся на рис. 14. Обычные импульсы подаются по очереди на входы i и /, проходят путь В2 — D2, оставляя клетку D3 в покоящемся состоянии. Здесь требуется следующая последовательность (см. рис. 10). (а) На вход i подается 10000, 10000, 1010, 1111. Путь В2 — D2 становится обычным передающим каналом, а клетка D3 приво- дится в нужное состояние С, как на рис. 14b. (b) На вход / подается 11011, 11011, 1. Клетки В2 и С2 по очереди принимают состоя- ния U, Sq, So, SOi и SOii (т. е. Тю0). Клетка D2 переходит в U, как на рис. 14с. (с)| Последовательность 110000 и 1 на i создает схему рис. 14d. (d). Наконец, одиночный импульс 1 на/приводит к рис. 14е. Таким образом, мы получили клетку D3 в нужном состоянии и путь конструирования В2 — D2 в невозбудимом состоянии. Преобразования рис. 14 занимают 37 моментов времени (от мо- мента поступления импульсов на клетку В2). Как описано выше, импульсы поступают со входов I и / по очереди, но так как отсутствие импульса отмечается знаком 0, то можно представлять себе, что неко- торая последовательность длины 37 поступает на клетку В2 через вход i и одновременно с ней другая последовательность длины 37 поступает на клетку В2 через вход /. Путь от входа / к клетке В2 занимает время на 2 единицы большее, чем путь от входа i к клет- ке В2; поэтому входной сигнал на / должен опережать входной сигнал на i на 2 единицы времени. Следовательно, преобразование от рис. 14а к рис. 14е будет осуществляться двумя бинарными последовательно- стями обычных импульсов, содержащими по 36 элементов каждая (нижняя часть рис. 14); в этих последовательностях время отсчиты- вается слева направо. Последовательность для входа i можно полу- чить, если предпослать i последовательность из 36 клеток в состоя- ниях Тоое, где 8 выбирается так, чтобы образовался нужный вход для i. Аналогично последовательность для входа / можно получить, если предпослать / последовательность из 36 клеток в соответствую- щих состояниях ТОое- С помощью этого метода можно создать произвольный конечный массив Jk покоящихся клеток, т. е. клеток в состояниях U, Тиа0 (и = 0, 1; а = 0, 1, 2, 3) и Соо. Для каждого такого массива Jk суще- ствуют две бинарные последовательности импульсов, которые, буду- чи поданными на входы i и / (рис. 14), построят вправо массив Jk. Эти две последовательности можно получить на двух линейных мас- сивах клеток, находящихся в состояниях Т00е с подходящими зна- чениями 8. Эти два линейных массива составляют вместе с клетками Al, А4, В1 —В4 рис. 14 массив Итак, мы пришли к следующему результату относительно кон- струирования в клеточной структуре фон Неймана: для каждого покоящегося конечного массива существуют такие конечный мас- Гл. 2. Система из 29 состояний с общим правилом переходов 175
сив S3 и время т, что в бесконечном клеточном автомате, для кото- рого 38 служит начальным распределением клеток, массив Л появит- ся в момент т. Более того: покоящееся состояние клеток массива является важным ограничением (см. разд. 1.6.3.2), но оно не очень серьезно, так как перед переводом пути конструирования снова в невозбудимое состояние массив S3 может сообщить массиву Л пусковой импульс. Из предыдущего конструирования ясно, что область 33 всегда больше (содержит больше клеток), чем Л (см. разд. 1.6.1.1). Фон Ней- ман обходит эту трудность, создавая универсальный конструирую- щий автомат D и присоединяя к нему его ленточное описание LD (см. разд. 1.6.1.2). Этот универсальный конструирующий автомат наряду с другими своими возможностями обладает возможностями универсальной машины Тьюринга. Метод, проиллюстрированный на рис. 14, будет играть существенную роль в работе универсального конструирующего автомата С. См. гл. 4 и 5.] 176
ГЛАВА 3 СИНТЕЗ НЕКОТОРЫХ ОСНОВНЫХ ОРГАНОВ 3.1. ВВЕДЕНИЕ. 3.1.1. Свободное и жесткое время, периодическое повто- рение, остановка по фазе. Органы, которые мы сконструируем в этой главе, будут характеризоваться дву- мя важными для нас свойствами (вместе или по отдельности): свобод- ным временем и жестким временем х). Свободное время означает испускание определенных импульсов (в заданной точке и в определенном порядке) без конкретного указания временных ин- тервалов или задержек между двумя актами испускания. Если же эти ин- тервалы заданы, то говорят о жест- ком времени. Иначе это можно выразить, сказав, что периоды задерж- ки заполнены паузами, т. е. на данном месте отсутствуют импульсы. (Ясно, что если заданная задержка между следующими друг за дру- гом импульсами равна tZ, то пауз на этом интервале будет d — 1.) Следовательно, последовательность импульсов с жестким временем можно рассматривать как последовательность из непрерывающихся событий, а именно как последовательность типа импульс — пауза. Тогда ее можно записать в виде последовательности нулей и единиц, причем 1 указывает наличие импульса, а 0 — его отсутствие: I1 ... tn (iv = 0; 1). Всегда, когда применяется обозначение i1 . . . in, время предполагается жестким. [В прямом процессе разд. 2.6.3.2 используется жесткое время. Фон Нейман говорит там, что при жесткой! времени «отсутствие импульса дает определенный эффект (точно так же, как и его наличие); поэтому нужные импульсы должны подаваться в определенные момен- ты времени без каких-либо задержек, если только последние специаль- но не потребовались». Как мы видели в разд. 1.3.3.5, нет никаких ограничений на число клеток, которые могут быть в возбужденном состоянии в данный момент времени, хотя, безусловно, это число всегда конечно. Таким образом, клеточная структура, используемая фон Нейманом, допу- скает неограниченную степень параллелизма. Однако при конструи- ровании своего самовоспроизводящегося автомата фон Нейман не особенно использует этот потенциальный параллелизм клеточной структуры. Его самовоспроизводящийся автомат работает скорее как последовательная цифровая вычислительная машина, в которой большинство органов, как правило, находятся в состоянии покоя. В этом отношении он подобен машине EDVAC (см. стр. 28—29). х) В оригинале free timing и rigid timing. — Прим, перев. Гл. 3. Синтез некоторых основных органов 177
Когда на какой-нибудь орган самовоспроизводящегося автомата подается последовательность, содержащая один или более импуль- сов, то этот орган после некоторой задержки дает выходной сигнал (отклик). Обычно эта задержка между входом и выходом значения не имеет, потому что одновременно не ведется никакого другого кон- струирования или вычисления. Точно так же задержка от одного входного сигнала, поданного на некоторый орган, до следующего входного сигнала на этот же орган не имеет, как правило, значения при условии, что эта задержка настолько велика, что орган успевает закончить одно действие, прежде чем начать следующее. Основное исключение из этих правил составляет узел ленты, описанной в гл. 4. Метод, которым пользуется фон Нейман для удлинения и укорочения ленты, требует одновременной (параллельной) работы в двух соеди- нительных петлях.] Под периодическим повторением последовательности i1 . . . tn подразумевается периодическое повторение с жестким временем, т. е. повторение последовательности i1 . . . in в непрерывающиеся последовательные интервалы времени, если только специально не оговаривается противное. Так, периодически повторяемая последо- вательность i1 . . . in, которая будет записываться в виде I1 . . . 1п, означает I1 . . . . . . in . . . . Мы никогда не будем пред- полагать, что такие периодические повторения продолжаются до бесконечности. Под остановкой по фазе к ( = 1, . . ., п) в периоде s (= 1, 2, . . .) мы будем подразумевать, что эта последовательность прерывается точно перед ik в 5-м периоде (т. е., начиная с этого момен- та, импульсы не испускаются). Это также можно называть остановкой на шаге Z, где I = ns + k (I = 1, 2, . . .). Под остановкой в периоде s (без указания фазы) мы будем подразумевать остановку по фазе 1 (т. е. на шаге ns + !)• 3.1.2. Конструирование органов, простых и составных. Займемся теперь конструированием отдельных органов, переходя от более простых к более сложным. Большинство из них будут представлять собой синтез уже рассмотренных ранее органов. Каждому из органов, которые нам предстоит определить, будет дано название и символи- ческое обозначение, и это позволит узнать его, когда он появится в качестве составной части следующего, более сложного ор- гана. [В некоторых случаях фон Нейман дал алгоритмы конструиро- вания любого органа из заданного класса; например, импульсаторов (разд. 3.2), декодирующих органов (разд. 3.3), кодирующих каналов (разд. 3.6). В случае тройного возвратного счетчика (разд. 3.4) и дискриминатора для различения последовательностей 1 и 10101 (разд. 3.5) он построил конкретные органы. Чтобы легче было сле- Часть II. Теория автоматов 178
дить за алгоритмами и конструкциями фон Неймана, в начале’каж- дого раздела мы будем рассматривать уже законченный орган. Так как фон Неймана интересовала теорема существования для самовоспроизведения, то он, вообще говоря, не делал попытки минимизировать свои схемы.] 3.2. ЙМПУЛЬСАТОРЫ 3.2.1. Импульсатор: Структураразмеры и время. [На рис. 15 показаны два импульсатора, сконструированные в соответствии с алгоритмом фон Неймана. Объясню принцип их работы. ________ Импульс (например, T00i) на входе а импульсатора Р (111) в момент t расщепляется на каждом конфлюентном элементе и порож- дает последовательность 111 на выходе Ъ в моменты t + 8, t ~Н9, t + 10. Заштрихованная клетка находится в невозбудимом состоя- нии U. Характеристика 10010001 содержит 3 единицы, так что для Р (10010001) необходимы 3 пути с относительными задержками 0, 3 и 7. Конфлюентные состояния в нижней части рисунка обеспечивают относительные задержки 0, 1 и 2. Дополнительные задержки дости- гаются двумя способами. Замена двух обычных передающих состоя- ний блоком С5, С6, D5, D6 добавляет в путь 2 единицы задержки и относительные задержки становятся равными 0, 3 и 6. Замена обыч- ного передающего состояния в строке 2 на конфлюентное состояние (например, F2) добавляет в путь единичную задержку, и относитель- ные задержки в путях В, D и F становятся равными соответственно 05 3 и 7.] Начнем с импульсатора. Этот орган имеет выход Ъ и вход а. В ответ на импульс, поданный на вход а, он будет вырабатывать на выходе Ъ заданную последовательность i1 . . . in. Между импульсом на входе а и откликом на выходе Ъ нет жесткой временной связи; т. е. пока между ними не предписывается определен- ной задержки (см., однако, замечания в конце этого раздела). Этот импульсатор обозначается Р (Z1 . . . in). Последовательность i1 . . . in, которая по желанию может быть конкретно указана, называется характеристикой этого импульсатора, а число п называется его порядком. Принципы, использованные при конструировании импульсатора, достаточно просты. Реальная схема последовательно развивается на рис. 16. Конструирование и вытекающая из него схема обсуж- даются в оставшейся части этого раздела. Обозначим через v1? . . ., значения v, для которых iv = 1^ т. е. это позиции импульсов в последовательности i1 . . . in. Тогда Гл. 3. Синтез некоторых основных органов 179
1 vi < v2 < • • • < vk пч откуда vh h. Положим Vh — h = 2[ih + rh, где р.Л = 0, 1, 2, ...; rh = 0, 1. (!') Входной импульс на а должен быть разделен или, лучше, размно- жен так, чтобы дать к отдельных импульсов с номерами h = 1, . . ., к, появляющихся на выходе Ъ с относительными задержками vh (h = = 1, . . ., к). Рассмотрим сначала схему рис. 16а. Для импульса, поданного на а, существует к путей, по которым он может достичь Ь: на пути с номером h (= 1, . . ., к) он идет по горизонтали от а до й-й клет- ки С, после чего сворачивает на вертикаль, достигает верхней точки и дальше продолжает движение по горизонтали к Ъ. Всего полу- чается (2Л — 1) + и + (2 (к — h) + 1) = 2к + и шагов, но так как h из них проходят по С, то полная задержка равна (2к + и) + h. Таким образом, относительная задержка пути с номером h (по от- ношению к другим путям!) равна h. Заметим, что эта схема имеет ширину 2к — 1, но ее высота и 2 остается неопределенной (из-за неопределенности и). Теперь надо заменить относительную задержку h на пути с номе- ром h на рис. 16а относительной задержкой vh (для каждого h = = 1, ...,&), т. е. надо увеличить ее на vh — h = 2р,^ + rh (см. формулу (Г)). Поэтому каждую из вертикальных ветвей на рис. 16а мы заменяем на подходящую цепь задержки, скажем ветвь с номе- ром h на Nh, как показано на рис. 16b. Мы сдвинули также вход а на один шаг влево, разместив перед первой клеткой С клетку О . Отсюда цепь Nh должна обеспечивать задержку 2[ih + rh. Эта цепь показана еще раз на рис. 16с, где отмечены ее вход ch и выход dh (вход ch расположен прямо над Л-й клеткой С, а выход dh расположен над входом ch под верхней линией, т. е. сразу же под (2Л — 1)-й клеткой О верхней строки). Чтобы получить нужную задержку 2[ih + rh, можно построить цепь Nh из Цд вертикально расположенных блоков двойной задержки и одного блока единичной задержки, если rh = 1. Блоки первого типа показаны на рис. 16d; их высота равна 2. Блок второго типа показан на рис. 16е; его высота равна 1. Полную высоту цепи Nh можно подогнать к одной величи- не и, вставляя вертикальный марш из обычных состояний длины и — 2\ih — rh = и — (yh — h) ~ sh (см. формулу (Г)). Он показан на рис. 16f. (Задержки, о которых говорилось выше, разумеется, всегда являются относительными — по отношению к некоторому обычному вертикальному маршу.) Лучше всего располагать блоков рис. 16d в нижней части цепи Nh, блок (возможно, единствен- ный) рис. 16е в верхней части цепи Nh, а вертикальную вставку рис. 16f между ними. Последнее делается по той причине, что состоя- ние С рис. 16е никогда не должно вступать в контакт с передающими состояниями рис. 16d — это могло бы привести к нежелатель- Часть II. Теория автоматов 180
ной стимуляции. Схемы рис. 16е, 16f заполняются клетками U так, что такой контакт мог бы появиться только между схемами рис. 16е, 16d и при условии, что вторая расположена справа от первой. По- этому в верхнем ряду цепи Nh (h = 1, . . ., к) не должно быть ситуа- ции, когда блок рис. 16d находится сразу же справа от блока рис. 16е. Учитывая все это, мы получаем следующее условие: всегда и vh — h. Если rh = 1 для какого-то h (т. е. число vh — h нечетно, а это означает, что какой-то блок рис. 16е располагается в верхнем ряду) и максимум разности vh — h четный, то и > vh — h для каждого h. Иными словами: и и\ где — max (yh — Д) + с0; л , k е° = 1, если этот максимум четный и найдется h, L (2') для которого Vh — h нечетно, е° — О в противном случае. > Разумеется, проще всего положить и = и0. [Это правило не годится, когда vk — к = 1, как в Р (1010), по- скольку конфлюентное состояние нижнего ряда не может непосред- ственно действовать на конфлюентное состояние, расположенное над ним. Эту оплошность можно скорректировать различными спо- собами. Мы поправим дело, добавив следующее ограничение к пра- вилу (2') фон Неймана: Если Vh — к= 1, то и— 2. Заметьте, что max (yh — к) == vk — к. Фон Нейман ввел 8° потому, что он не хотел, чтобы схема рис. 16d располагалась непосредственно справа от схемы рис. 16е, так как конфлюентное состояние последней могло бы воздействовать на обыч- ное передающее состояние первой. Однако, если схема рис. 16е рас- положена во втором сверху ряду импульсатора, а схема рис. 16d занимает этот ряд и ряд, размещающийся прямо под ним, то это влияние на самом деле не скажется на выходе импульсатора. Мы могли бы, следовательно, заменить алгоритм конструирования фон Неймана на новый алгоритм с более простым правилом для опре- деления и, а именно: Если Vk — к— 1, то и = 2. В противном случае u = Vk — к. Но мы не будем делать такой замены, так как мы хотим оставаться как можно ближе к оригинальной конструкции фон Неймана.] На этом конструирование заканчивается. Как видно из рис. 16b, эта схема занимает область высотой и + 2 и шириной 2к. В упрощен- ном виде эта схема представлена на рис. 16g. Гл. 3. Синтез некоторых основных органов 181
Заметим, что последовательность i1 . . . т. е. относительные задержки vh (h = 1, . . к), получается при наличии некоторой предварительной абсолютной задержки. Мы видели, что в условиях рис. 16а она составляет 2к + и. Вставка Q перед первым состоянием С на рис. 16Ь увеличивает ее до 2к + + 1. Таким образом, в окон- чательном устройстве, представленном на рис. 16g, импульс на а порождает последовательность i1 . . . in на Ъ после предваритель- ной [абсолютной] задержки 2к + и + 1. (Это значит, что первый импульс или первая позиция, отвечающая отсутствию импульса, в этой последовательности, т. е. i1, имеет задержку 2к + и + 2.) Если вход а возбуждается несколько раз, то все импульсы на Ъ появляются независимо друг от друга и вне зависимости от того, перекрываются или нет те последовательности I1 . . . Zn, которые при этом должны возникнуть. Иными словами, в этой схеме не воз- никает искажений, связанных с интерференцией. [Подведем итоги обсуждения внешних характеристик импульса- тора Р (i1 . . . in). См. рис. 16g. Ширина импульсатора равна 2к, где к — число единиц Bi1 ... in. Фон Нейман молчаливо предполагает, что к 2; при к ~ 0 и к — 1 в таком органе нет необходимости. Высота импульсатора равна и + 2, где и определяется следую- щим образом. Пусть . . ., vk — это те v, для которых iv = 1. Скорректированное правило фон Неймана для и выглядит так: Если vk — к = 1, то и = 2. В противном случае u = (yh — &)-]-80, где е° = 1, если число Vk — к четно и найдется h (=1, ..., Л), для ко- торого vh—h нечетно, иначе 8° = 0. Так как к — число единиц в I1 . . . in, a vh — индекс, отвечающий самой правой единице, то vk — к есть общее число нулей в последо- вательности, предшествующей самой правой единице. Задержка между входным импульсом, приходящим на а, и пер- вым выходным Z1, появляющимся на &, равна 2к + и + 2.] 3.2.2. Периодический импульсатор: структура, размеры, вре- мя и форма импульсатора РР (1). [На рис. 17 показаны два импуль- сатора, сконструированные в соответствии с алгоритмом, о котором фон Нейман будет говорить дальше. Периодический импульсатор РР (10010001) конструируется из импульсатора Р (10010001), обеспечивающего появление одного пе- риода требуемой последовательности, периодического повторителя G4 — G6 и Н4 — Н6 с периодом 8, механизма Hl — НЗ для выклю- Часть II. Теория автоматов 182
чения повторителя, и импульсатора Р (1111111111), создающего сигналы, необходимые для выключения повторителя. «Пусковой» импульс на входе а+ в момент времени t вызовет последовательность 10010001 на выходе Ъ' импульсатора Р (10010001) в интервале от t + 29 до t + 36. Последовательность 10010001 перио- дически генерируется на выходе Ъ до тех пор, пока не выключится повторитель. «Стоп»-импульс на выходе а_ приведет к тому, что верх- ний импульсатор вырабатывает последовательность из 10 единиц. Они пройдут через конфлюентное состояние Н2, специальное пере- дающее состояние НЗ и придут в ячейку Н4. Первые 5 импульсов вызовут трансформацию С£Е' -> U -> S0 -> SA -> SH -> S1H (—Coo), а последние 5 повторят эту трансформацию. Содержимое периоди- ческого повторителя значения не имеет — оно все равно будет уни- чтожено. Заметим в этой связи, что так как последовательность еди- ниц используется для выключения повторителя, то никакая из еди- ниц, вошедших в ячейку Н4 слева (т. е. от самого повторителя), не оказывает влияния. Это служит основанием для того, чтобы рас- полагать конфлюентное состояние внизу периферической части дере- ва, изображенного на рис. 10. Так как периодический импульсатор РР (1) применяется очень часто, то фон Нейман решил для этого частного случая упростить конструкцию. Здесь он использовал тот факт, что при работе схемы рис. 17Ь в ее периодическом повторителе имеется последовательность из 6 единиц. Трансформация конфлюентного состояния ЕЗ начинает- ся импульсом от Е2 и завершается 4 единицами, сохраняющимися в периодическом повторителе (2 единицы теряются, когда убивается ЕЗ). Однако такой периодический повторитель не годится для всех ситуаций. См. замечания редактора в конце этого раздела.] Рассмотрим теперь конструирование периодического импулъсато- ра. Этот орган имеет два входа а+, и один выход Ъ. В ответ на им- пульс на входе а+ он начнет генерировать на b заданную периоди- чески повторяемую последовательность, скажем i1 . . . in. При появ- лении импульса на а_ эта генерация будет прекращена. Между импульсами, приходящими на а+ или а_, и реакцией (началом или окончанием) на выходе Ъ нет жесткой временной связи, т. е. величина двух задержек между ними не задана (см., однако, замечания в конце раздела). Этот периодический импульсатор обозначается РР (Р . . . in). Последовательность Р . . . Р1, которую при желании можно за- дать, называется его характеристикой, а число п его порядком. Схема этого импульсатора последовательно разрабатывается на рис. 18. В оставшейся части раздела мы разберем и ее, и само конструирование. Гл. 3. Синтез некоторых основных органов 183
Процесс создания периодически повторяющейся последователь- ности i1 . . . in удобно представлять себе в виде двух подпроцессов: сначала создается одиночная последовательность I1 . . . in, а затем она периодически повторяется. Для выполнения первой задачи тре- буется импульсатор Р {I1 ... in) из раздела 3.2.1, изображенный на рис. 16g (буквы а и Ъ мы заменим соответственно на а' и Ь'). Наш вход должен либо подсоединяться ко входу а', либо совпадать с ним. Для выполнения второй задачи нужно присоединить к выходу Ъ' орган, способный повторять на выходе Ъ любой период длины п. Простейшим периодическим повторителем является (замкнутый) цикл из передающих состояний. Самый короткий цикл такого типа имеет период 4, как показано на рис. 18а. Ясно, что любой [такой] цикл должен иметь четный период; поэтому произвольный цикл имеет период 2Z, 1 = 2, 3, .... Цикл с таким периодом показан на рис. 18b. Наш выход Ъ должен находиться за этим повторителем. Поэтому хотя бы одна из клеток повторителя должна быть способна создавать возбуждения в двух направлениях (на Ъ и на следующую клетку цикла), т. е. этой клеткой должна быть клетка С. Выход b может занимать на этой клетке С два положения: Ьх и Ъ2 (см. рис. 18с). Клетка С увеличивает длину периода до 21 + 1. Это нечетный период. Если требуется четный период, то должна быть вставлена вторая клетка С (так как первую удалять нельзя). Так сделано на рис. 18d; здесь период равен 21 + 2. (Заметим, что эти две клет- ки С не являются непосредственными соседями, поскольку С не мо- жет возбудить С.) Обе возможности представлены на рис. 18е, где у для г= ( С для г = 2. Здесь период равен п = 21 Ц- г, где I = 2, 3, . . .; г = 1, 2. Таким образом, мы можем работать с порядками (периодами) п = = 5, 6, . . ., т. е. п>5. (3') Если условие (3') нарушается, т. е. п < 5, то период i1 ... in может повторяться (3 раз. Тогда п заменяется на ©, и нужно лишь выбрать О так, чтобы число (Эп удовлетворяло условию (3'), т. е. Оп^Ь. Вернемся теперь к рис. 18е. Выход Ъ должен быть на С, как пока- зано на рисунке. Вход в этот цикл, т. е. точка, к которой подводится V, должен быть как можно ближе к этой клетке С, чтобы уменьшить задержку. Вход не может находиться на самой клетке С, так как ее свободная сторона (та из сторон Ъх, Ъ2, которая не используется в ка- честве Ь) потребуется для другой цели. Поэтому мы поместим его непосредственно перед С: на Ь{ или Ь'2. (Направление этого цикла Часть П. Теория автоматов 184
было выбрано так, чтобы обеспечить максимально возможный доступ.) ________ Теперь уже мы можем соединить импульсатор Р (I1 . . . in)< рис. 16g и цикл рис. 18е. Результат показан на рис. 18f, где п = 21-\-г, 1 = 2, 3, . ..; г-1, 2; Г f° для г=1, [ С для г = 2. Рисунок 18f выполнен для случая I < и Ц- 2, но точно так же можно сделать и для случая I и + 2. Заметим, что цикл повернут отно- сительно своего первоначального положения (ср. рис. 18е с рис. 18f), чтобы было удобнее привести его в контакт с Р (i1 . . . in). Кроме того, эти два органа разделены колонкой состояний U, чтобы избе- жать нежелательных воздействий, связанных с контактами между клетками С одного органа и передающими состояниями другого. Схема рис. 18f обеспечивает возникновение последовательности I1 . . . in; остается еще задача построения схемы, обрывающей эту последовательность. Так как мы не ввели никаких состояний (или импульсов), непо- средственно выражающих отрицание и торможение, то теперь попро- буем добиться этого с помощью непрямых методов. Очевидно, что можно использовать специальные импульсы, т. е. изменить характер одного из передающих и конфлюентных состояний, образующих цикл рис. 18е (повернутая на 90° схема рис. 18е составляет часть рис. 18f). Это означает, что вход а_ должен управлять импульсом [1], приходящим на одну из открытых сторон цикла г). На рис. 18g изо- бражен орган, который будет это осуществлять. Так как удобнее сверху (от а_ через а") подавать на этот орган возбуждение и при- соединять его к верхней стороне цикла, то он показан на рис. 18g в соответствующем положении. Выход Ь" этого органа можно при- соединить к любой клетке цикла. В указанном положении (см. рис. 18f и 18g) это может быть Q или С; в двух других возможных положениях (на рис. 18f, т. е. справа или снизу) это могут быть С, любая клетка |о, затем (справа), О. или X (снизу). В этом устройстве импульс [0] от а_, поступающий на а", будет возбуждать С, затем |1 и будет вызывать появление импульса [1] на Ь" с задержкой 3 (отсчитываемой от а"). Поэтому с задержкой 4 клетка цикла, находящаяся в контакте с 6", придет в состояние U и прекратит импульсацию. Но дальнейшая судьба этой клетки х) [Как объяснялось выше в разд. 2.8.1, [0] обозначает обычный импульс а [1] — специальный импульс.] Гл. 3. Синтез некоторых основных органов 185-
не ясна. В самом деле, так как эта клетка находится теперь в состоя- нии U, то следующий импульс [0], проходящий по циклу, переведет ее в Se (если только этого не сделает раньше какой-нибудь импульс [1], поступивший в эту клетку через Ь"). После этого импульсы ([0] через соседей по циклу или [1] через Ь”), а также и паузы будут пре- образовывать дальше ее состояние по чувствительным состояниям (Ss с 2 из (S.1) разд. 2.8.1) к некоторому передающему состоянию (обычному или специальному) или к конфлюентному состоянию (Т, Т' или С, т. е. к Ss с S из (S.2) разд. 2.8.1). Какое из этих оконча- тельных состояний получится, зависит от импульсов, проходящих по циклу (и, возможно, импульсов, поступающих через Ь"), т. е. от .последовательности i1 . . . in, и от фазы, в которой это произошло. Для того чтобы у нас была схема, работающая при всех i1 . . . in и, что еще более важно, для любой фазы, в которой может потребо- ваться остановка, удобнее всего гарантировать, чтобы клетка, нахо- дящаяся в состоянии U, во всех случаях получала некоторую под- ходящую непрерывающуюся последовательность импульсов. Поэтому лучше всего посылать их из Ь”, так что это будут импуль- сы [1]. Первый импульс преобразует U в Se, а следующие 3 импуль- са преобразуют это состояние в Sin = Соо- Все эти импульсы [1] идут сразу же за первоначальным импульсом [1], вызвавшим U. Таким образом, на Ь" должно быть 5 следующих друг за другом импульсов [1], а это значит, что на а" должно быть 5 следующих друг за другом импульсов [0]. Прежде чем обсуждать это дальше, рассмотрим, какие же произошли здесь преобразования: Клетка цикла (одна из клеток С, X, О , О„)—> —> U—> Se—> Sj—>Sn—>S111 = C00. (4') В конце концов возникнет необходимость вернуть преобразован- ную таким образом клетку цикла в исходное состояние. Проще всего использовать для этой цели саму последовательность (4'). Эта после- довательность кончается состоянием С, поэтому она и начнется также с С. Иными словами, рассматриваемая клетка цикла должна быть клеткой типа С в этом цикле. Это значит, что выход Ъ” рис. 18g дол- жен совпадать с рис. 18f. Следовательно, выход (окончательный) b должен быть Ь2- Вернемся к 5 импульсам [0], поступившим на а". Их должен обе- спечить импульсатор Р (11111), импульсы с выхода Ь* которого будут подаваться на а", а на его вход а* будут подаваться импульсы с а_. Сейчас необходимо выяснить еще один вопрос. Указанные выше 5 импульсов парализуют выход клетки цикла в последовательности (4') в тот момент, когда она приходит в состоя- ние U, а также в 4 последующих момента времени, когда она прихо- Часть И. Теория автоматов 186
дит соответственно в состояния So, Sb SB, SH1 = Coo- Наконец, так как С реагирует с задержкой 2, то от этой клетки не будет реакции и в следующий момент. Короче говоря, эта клетка будет молчать в течение 6 последовательных моментов времени. Если длина п периода не больше 6, то этого достаточно, чтобы заставить цикл замолкнуть навсегда. Но если п > 6, то эт;а последовательность из 5 импульсов [1] на Ь", или из 5 импульсов [0] на а", должна повто- риться. Повторим ее р раз. Из сказанного выше ясно, что мы могли бы вставить 0 (импульса нет) между каждой парой групп 11111 (5 импульсов), но проще не делать такой вставки. Итак, у нас есть последовательность порядка 5р. При этом состояния клетки цикла будут р раз пробегать последовательность (4') и поэтому цикл будет молчать (т. е. будет молчать выход b = b2) в течение 5р + 1 по- следовательных моментов времени. Отсюда следует, что он больше не будет давать на выходе импульсов, если п 5р + 1, т. е. при р>—• (5) Проще всего взять в качестве р наименьшее целое, удовлетворяющее условию (5'). Таким образом, рассматриваемым выше импульсатором (выход которого Ь* подается на а", а на вход а* подается а_) должен быть импульсатор Р (1...1) порядка 5р. Устройство такого импульсатора показано на рис. 18h. Отметим знаком * все величины, относящиеся к этому импульсатору. Тогда п* = к* = 5р и = h (h = 1, ... . . ., 5р); отсюда по правилу (2') разд. 3.2.1 получаем и*0 = 0, так что можно взять и* = 0. Кайма из состояний U вдоль правой и нижней сторон импульса- тора на рис. 18h снова предназначена для того, чтобы избежать воз- можности нежелательной стимуляции от граничных состояний С. Прежде чем продолжать дальше наше обсуждение, рассмотрим важный частный случай, в котором можно обойтись без импульсато- ра рис. 18h. Это случай простейшего возможного периода, а именно 1. Он имеет порядок п — 1. В этом случае мы поступим так. Значение п = 1 нарушает условие (3'); поэтому его нужно взять (Э раз, чтобы число 0п удовлетворяло условию (3'), т. е. 0 5. (Это наводит на мысль о выборе © = 5, но мы воздержимся от тако- го выбора.) Новое значение п есть © (прежнее ©п); цикл рис. 18f имеет период п = ©. Теперь предположим, что импульс [1] на bt рис. 18f (т. е. на Ь" рис. 18g, см. выше) преобразует правое верхнее состояние С в этом цикле (рис. 18f) в U. Это начало последователь- ности (4'). Чтобы закончить эту последовательность, требуется еще 4 импульса. Они строго хронометрированы. Мы взяли их (см. обсу- ждение после (4')) в виде импульсов [1] от Ь", но могли бы с таким же успехом взять и импульсы [0] от цикла. После того как выделенная Гл. 3. Синтез некоторых основных органов 187
клетка цикла подверглась первому преобразованию из (4') (т. е. С-> U), из цикла на нее прибудет еще п — 2 импульса [0]. Если п — 2 = 4, т. е. п = 6, то это как раз то, что нужно, чтобы закон- чить последовательность (4'). При этом цикл, как и требуется, пре- кратит импульсацию полностью (см. рассуждение, ведущее к условию (5'), или само условие (5') при п = 6, р = 1). Поэтому мы берем п = Q = 6. (Заметим, что этим обеспечивается выполнение нашего прежнего условия (9^5, но это не минимальный выбор = 5, о котором говорилось выше.) Итак, при этом выборе достаточно одного импульса [1] на Ъ" (рис. 18g), и нет нужды дополнять схему рис. 18g схемой рис. 18h. Но будет удобнее, если вход а" будет расположен с левой, а не с верхней стороны клетки С. Кроме того, поскольку импульса- тор Р (1...1) рис. 18h здесь отсутствует, удобно для унификации обозначений отождествить а" и а*. Это изображено на рис. 18i. Теперь мы подготовлены к тому, чтобы произвести полный син- тез, объединяя схему рис. 18f со схемой рис. 18h (общий случай: РР (i1 . . . in) или со схемой рис. 18i (частный случай: РР (1)). Как отмечалось выше, нужно соединить Ъ” с а (конечным) выходом будет Ъ = &2- Результат показан на рис. 18j и рис. 18k соответствен- но. Во втором случае п = 6, h = 6, vh = h (h = 1, . . ., 6), так что по формуле (2') uQ = 0, и можно взять и = 0. Следовательно, 2к = = 12 и и + 2 = 2, как показано на рис. 18k. Заметим, что хотя рис. 18j выполнен в предположении I < и 4- 2 и 10/? < 2к + 1, неравенства I и + 2 и 10/? 2к + 1 также возможны. Схемы рис. 18j и 18k содержат задержки от момента стимуляции на а+ (или на а') до начала импульсации на Ъ и от момента стиму- ляции на а (или на а*) до остановки импульсации на Ъ. Найдем эти задержки. Рассмотрим первый случай, т. е. рис. 18j. Путь от а' к Ъ2 = Ъ на рис. 18j целиком лежит в нижней полови- не схемы, т. е. в той ее части, которая изображена на рис. 18f. Учи- тывая рис. 18f, мы получили (см. конец разд. 3.2.1), что импульсы I1 . . . in появляются на V с абсолютной задержкой 2к 4~ и 4~ 1 после импульса на а'. К этой абсолютной задержке добавляются относительные задержки 1, . . ., п, так что последовательность i1 . . . in появляется на Ъ' с задержками 2к Ц- и 4~ 2, . . ., 2к-\- + и 4- п + 1. Задержка от V до Ъ равна, очевидно, 4; поэтому пер- вый период последовательности I1 . . . in появляется на Ъ с за- держками 2к + и 4- 6, . . ., 2к 4~ и + и + 5. Таким образом, нача- ло импульсации на Ъ ( = Ь2; см. рис. 18j) задержано относительно импульса на а' на величину 2к 4- и 4~ 6. Путь от а* до b2 = b на рис. 18j состоит из пути от а* до — = Ь" и пути от bi = Ъ" до Ь2 = Ъ. Путь от а* до Ъ" целиком лежит Часть II. Теория автоматов 188
в верхней половине схемы, т. е. в той ее части, которая изображена на рис. 18h. Учитывая рис. 18h, мы получили (см. разд. 3.2.1), что импульсы 1 ... 1 (порядок 5р) появляются на 5* с абсолютной задержкой 2к* + и* + 1 после прихода импульса на а. Так как к* = 5/?, и* = 0, то эта задержка равна 10/? + 1. К этой абсолют- ной задержке добавляются относительные задержки 1, . . ., 5/?, так что последовательность 1 . . .1 появляется на с задержками 10/? + 2, . . ., 15/? + 1. Задержка от Ъ* до Ь" равна, очевидно, 5; поэтому последовательность 1 ... 1 появляется на bi = Ъ” с задерж- ками 10/? +7, . . ., 15/? + 6. Далее, так как импульс [1] на bi (рис. 18f) подавляет в следующий момент выход клетки С, на которую оказывается воздействие (см. обсуждение последовательности (4')), то выходной сигнал на Ъ2 прерывается с общей задержкой 10/? + 8. Таким образом, прекращение импульсации на Ъ (= Ь2, см. рис. 18j) происходит с задержкой 10/? + 8 относительно импульса на а*. Рассмотрим теперь второй случай, т. е. рис. 18k. Так как нижние половины рис. 18j и 18k имеют одинаковую струк- туру, то задержку от а' до начала импульсации на b можно найти по формуле, выведенной для первого случая. Искомая задержка равна 2k + и + 6, где к — 6, и = 0 (см. обсуждение рис. 18k), что составляет 18 единиц времени. Задержку от а* = а” до прекращения импульсации на Ъ2 — Ъ (рис. 18k) также легко вычислить. Путь от а" до bY = Ъ” показан на рис. 18i. Задержка на этом пути составляет, очевидно, 3 единицы времени. Задержка от прихода импульса [1] на bi до прекращения импульсации на Ъ2 (рис. 18f) та же, что и в первом случае, т. е. рав- на 1. Таким образом, прекращение импульсации на Ъ ( = Ь2, см. рис. 18b) происходит с задержкой 4 относительно импульса на а* {=а", см. рис. 18Ь). Сформулируем это еще раз. Задержка от импульса на а' до начала импульсации на Ъ равна 2k + и + 6 в первом (общем) случае (рис. 18j) и 18 во втором (частном) случае (рис. 18k). Задержка от импульса на а* до прекращения импульсации на Ъ равна 10/? + 8 в первом (общем) случае (рис. 18j) и 4 во втором (частном) случае (рис. 18k). В отличие от ситуации, описанной в конце разд. 3.2.1, в этой схеме вполне возможны искажения, связанные с интерференцией. Легко проверить, что они подчиняются следующим правилам. Импульсации на а’ и а*, о которых идет речь в пунктах (6'Ь) — (6'd), следует рассматривать в неко- тором модифицированном хронологическом порядке, который отличается от обычного определенными систе- матическими (относительными) сдвигами. Все утверж- дения в (6'Ь) — (6d) об одновременности, предшествова- Гл. 3. Синтез некоторых основных органов 189
нии и порядке следует понимать в этой модифициро- ванной хронологии. Эта хронология определяется следующим образом. Порядок импульсаций на а' по отношению друг к другу остается неизменным; то же относится и к порядку импульсаций на а*. Импульса- ции на а смещаются относительно импульсаций на л* в соответствии с разностью задержек от а' до начала импульсаций на Ъ и от а* до прекращения импульса- ций на Ь. Иными словами, хронологический порядок всех этих импульсаций основан не на относительных моментах их появления (на а' или а*), а на моментах, в которые они оказывают воздействие (на Ъ — для а! начало импульсации на Ъ и для а* прекращение импуль- сации на Ь). (6'а) Кратные импульсации на а', между моментами появ- ления которых не приходят импульсы на а*, оказы- вают просто суммарный эффект. Следовательно, можно было бы сказать, как в конце разд. 3.2.1, что в этом случае нет искажений, вызванных интерференцией. Однако нужно заметить, что периодическая эмиссия рассматриваемого органа (на Ь) в течение этого про- цесса может измениться, ибо в результате каждой новой стимуляции на а' период с его собственной фазой накладывается на (возможно, уже сложный) период, созданный предыдущими стимуляциями. Наконец, в частном случае, когда этот период состоит только из импульсов (это 1!), такого изменения не происходит, так что дополнительные наложения не могут его изме- нить. (6'Ь) Стимуляция на а*, идущая за стимуляциями на а' (относительно которых см. правило (6'Ь)), прерывает порождаемый ими период. Если стимуляции многократ- ные, то эффект производит только первая: остановка, вызванная первой стимуляцией, поддерживается дру- гими, но она поддерживалась бы и без них х). Если а и а* возбуждаются одновременно, то возбуждение на а* превалирует над возбуждением на а' (а это значит, что импульсы на Ъ испускаться не будут). (6'с)> Импульсации на а', следующая за импульсацией на а*, будет полностью эффективной (в смысле (6'Ь)), 4) [Здесь имеется ошибка/ которую мы обсудим в конце этого подраз- дела.] Часть II. Теория автоматов 190
только если ее задержка не менее Ьр + 1 (в общем слу- чае, а в частном случае р = 1) по отношению к первой. Если она придет раньше, то те импульсы, входящие в период, которые первыми появились с задержкой менее 5р + 1, из периода будут постоянно уда- ляться. (6'd} В заключение примем некоторые меры для выравнивания задержек от а' до начала импульсации на Ъ и от а* до прекращения импуль- сации на Ъ. Это нужно для того, чтобы исключить усложнения, которые может вызвать в (6'b) — (6'd) специальное упорядочение (6'а). Мы сделаем это, вставляя между а+ и а', с одной стороны, и а_ и а*, с другой, специальные пути задержки. Рассмотрим 3 случая. Первый случай изображен на рис. 18j. Пусть 10/? < 2к 4- 1. Зададим равенством 10/? + zi = 2к + 1, т. е. = 1, 2, . . . . Присоединим схему рис. 19а к левой стороне схемы рис. 18j. Так как задержка от а+ до а' равна 3, то задержка от а+ до начала импульса- ции на Ъ равна 3 + (2к + и + 6) = 2к Ц- и + 9. Так как задержка от а_ до а* равна и 4~ то задержка от а_ до прекращения импуль- сации на b равна (и + zt) + (10/? + 8) = (10/? + z^ + (u + 8) = = (2к + 1) + (и + 8) - 2к + и + 9. Таким образом, обе задержки равны 2к 4~ и + 9, а рис. 18j и 19а вместе приводят к рис. 19с. Последний рисунок выполнен в предположении I < и + 2, но также возможно и I и + 2. Второй случай представляет рис. 18j при 10/? 2к 4~ 1. Зададим z2 равенством (2к + 1) + z2=10/?, т. е. z2 = 0, 1, 2, . . .. Присоеди- ним схему рис. 19Ь к левой стороне схемы рис. 18j. Так как задерж- ка от а+ до а' равна 3 + z2, то задержка от до начала импуль- сации на Ъ равна (3 + z2) + {2к + и + 6) = ((2* + 1) -j- ^2) + + (и + 8) = 10/? + и + 8. Так как задержка от а_ до а* равна и, то задержка от а _ до прекращения импульсации на Ъ равна и + + (10/? + 8) = 10/? + и + 8. Таким образом, обе задержки равны 10/? + и + 8, а рис. 18j и 19Ь вместе приводят к рис. 19d. Этот рисунок выполнен в предпо- ложении I < и + 2, но неравенство I и 4~ 2 также возможно. Прежде чем переходить к третьему случаю, заметим, что общая задержка в первом случае (при 10/? < 2* 4~ 1) равна 2к 4~ и + 9, а во втором случае (при 10/? 2к + 1) 10/? + и 4~ 8. В каждом из этих случаев задержка не больше М + и + 8, где Л/= max (10/?, 2* + 1). (7') Далее, схемы рис. 19с и 19d выглядят одинаково, не считая того, что ширина первой равна 2к + 4, а ширина второй равна 10/? 4" 3. Оба случая можно снова охватить одной величиной, а именно М 4" 3. Гл. 3. Синтез некоторых основных органов 191
Поэтому рис. 19е представляет обе схемы: и рис. 19с, и рис. 19d. Он выполнен в предположении I < и + 2, но неравенство I и + 2 также возможно. Рассмотрим, наконец, третий случай, изображенный на рис. 18k. Присоединим схему рис. 19f к левой стороне рис. 18k. Отождествим а с а+. Задержка от а+ до начала импульсации на b будет тогда сов- падать с задержкой от а', т. е. будет равняться 18. Так как задержка от до а* равна 14, то задержка от до прекращения импульса- ции на b равна 14 + 4 = 18. Таким образом, обе задержки равны 18, а рис. 18k и 19f вместе приводят к рис. 19g. Рис. 19d и 19g содержат схемы общего импульсатора РР (Р . . Лп) и специального импульсатора РР (1) (п = 6, т. е. это РР (111111)) соответственно. Целесообразно ввести для них одинаковое компакт- ное представление. В случае рис. 19d приведем схему к общей высо- те N + 3, где N = max (н + 2, Z), (8') заполняя клетки, если необходимо, состояниями U. Рис. 19g менять не надо. Результат показан на рис. 19h. Для общего случая РР (Р . . . in) К = М-^3, L = N + 3, 1^ = 2, L^-Л, L^L-Ь, для частного случая РР(1) 7^=15, Z-4, 7^ = 0, Z2-3, Z3-l. Задержки от а+ до начала генерации последовательности на Ъ и от а_ до момента прекращения генерации на b совпадают. Эта общая задержка в общем случае равна М + и + 8, а в частном слу- чае равна 18. Теперь можно переформулировать правила (6'а) — (6'd), заменяя а' на и а* на а_ и учитывая эту общую задержку для пуска и остановки. В результате, как отмечалось, снимается необходимость введения специального порядка, о котором шла речь в правиле (6'а). Итак, в правила (6'а) — (6'd), которым подчиняются возможные искажения, связанные с интерференцией, надо внести следующие изменения: Специальная хронология для возбуждений на а' и а*, определенная в (6'а), заменяется теперь обычной хронологией появления импульсов на а+ и а_. Иными словами, все моменты должны отсчитываться от момен- тов появления импульсов на а+ и а_. С учетом этого изменения (и замены а' на а+ и а* на а_) правила (6'Ь)—(6'd) верны. (9') Часть II. Теория автоматов 192
[Как отмечалось выше, в правиле (6'с) имеется ошибка, касаю- щаяся временных соотношений в периодическом импульсаторе. Кроме того, фон Нейман не рассмотрел один важный случай, когда импульс «стоп» предшествует импульсу «пуск». Исследуем сначала временные соотношения в периодическом импульсаторе фон Неймана, используя в качестве примера схему рис. 17. Периодический импульсатор РР (10010001) работает так: импульс «пуск» на входе а+ в момент t обеспечивает поступление в клетку Н4 из клетки G4 последовательности 10010001 в интервале времени от t 4- 31 до t + 38. Импульс «стоп» на входе а_ в момент t обеспечивает поступление в клетку Н4 из клетки НЗ последователь- ности 1111111111 в интервале времени от t 4- 32 до t 4- 41. В этом случае на выходе b ничего не появится, так как убивающий сигнал от НЗ доминирует над передающим сигналом от G4. Если импульс «стоп» появится на единицу времени позже (в момент t 4~ 1), то по- следовательность 1111111111 поступит в клетку Н4 из клетки НЗ в интервале времени от t 4- 33 до t 4~ 42. Тогда клетка Н4 будет находиться в состоянии Соо в момент t 4- 31, в состоянии С01 в мо- мент t 4~ 32, в состоянии С10 в момент t 4- 33 (и в этот момент на вы- ходе b появится импульс) и в состоянии U в момент t 4- 34. Рассмотрим теперь последовательность операций в специальном периодическом импульсаторе фон Е1еймана РР (1). Импульс «пуск» на входе а+ в момент t вызывает поступление последовательности 111111 в клетку ЕЗ из D3 в интервале времени от t 4~ 16 до t 4~ 21. Импульс «стоп», появившийся на входе а_ в момент t, приходит в клетку ЕЗ из Е2 в момент t + 17. Следовательно, если импульсы «пуск» п «стоп» придут одновременно, то на выходе b не будет ника- ких импульсов. Если импульс «стоп» придет на единицу времени позже, то на b появится 1 импульс — то же самое было в случае периодического импульсатора РР (10010001). Следует отметить, что мы измеряли задержку от входов а+ и а_ до клетки, содержащей то конфлюентное состояние С, импульсы с которого подаются на выход Ь. Сама клетка не включалась в изме- рение. Фон Нейман учитывал эту клетку. Для сигнала, поступаю- щего от импульса «стоп» на входе а_, задержка на этой концевой клетке равна всего лишь 1, так как акт убивания занимает всего 1 единицу времени. Отсюда задержка и от а+, и от а до момента пре- кращения импульсации на Ъ равна 33 для РР (10010001) и 18 для периодического импульсатора РР (1), разработанного фон Нейма- ном. См. табл. I. Таким образом, последовательность операций во всех периодиче- ских импульсаторах РР (I1 . . . Zn), сконструированных по алгорит- Гл. 3. Синтез некоторых основных органов 193
му фон Неймана, будет следующей. Предположим, что периодиче- ский импульсатор построен и находится в состоянии покоя. Если импульс «пуск» на вход ал. и импульс «стоп» на вход а_ приходят одновременно, то с выхода Ъ не излучается никаких сигналов и этот периодический импульсатор остается в исходном состоянии. Если импульс «стоп» приходит после импульса «пуск» через Т (>0) еди- ниц времени, то последовательность I1 ... 1п испускается v раз, ТАБЛИЦА I ВНЕШНИЕ ХАРАКТЕРИСТИКИ ПЕРИОДИЧЕСКИХ ИМПУЛЬСАТОРОВ Общий случай Частный случай Общий вид На примере РР (100 1000 1) Схема фон Неймана РР (1) Другой вариант РР (I) Ширина К М-\-8 23 15 13 Высота L /V-f-З 10 4 4 Число клеток ниже входа пли выхода: вход 2201 вход 4433 выход b L—4 6 11 Задержка от а+ доb (и за- М-±-и-\-8 33 18 19 держка от а_ до останов- ки на Ь) а затем вырабатывается начальный отрезок этой последовательно- сти длины ц, где Г = 7ZV + ц, ц < /г, и либо v, либо ц может рав- няться нулю. Эта последовательность операций соответствует наме- рениям фон Неймана и введенным им правилам. Но фон Нейман не рассмотрел всех случаев, когда импульс «стоп» предшествует пусковому импульсу (т. е. когда Т < 0). Очевидно, он предполагал использовать каждый из периодических импульсаторов таким обра- зом, чтобы было взаимно однозначное соответствие между импуль- сами «пуск» и «стоп», причем m-й импульс «стоп» приходил бы не раньше m-го импульса «пуск» и т-й. импульс «стоп» отстоял бы по времени от (т + 1)-го импульса «пуск» достаточно далеко для того, чтобы периодический повторитель мог очиститься. Но это не было им оговорено и не всегда соблюдалось при последующем использовании периодических импульсаторов. Посмотрим, что будет, если на «стоп»-вход а_ импульсатора РР (10010001) подать последовательность 101. Эта последователь- ность заставит верхний импульсатор Р (1111111111) выработать 12 (а не 10) импульсов и (в зависимости от момента прихода импульсов на пусковой вход а+) может привести клетку Н4 в нежелательное Часть II. Теория автоматов 194
состояние. При некоторых соотношениях порядков поступления последовательностей 101 на а_ и Т на а+ клетка И5 может быть убита и переведена в U. Эту трудность можно разрешить с помощью сле- дующего правила использования: «стоп»-вход а_ периодического импульсатора РР (i1 . . . in) в общем случае не должен стимулиро- ваться дважды ни в одном из интервалов времени длины 5р. При всех дальнейших использованиях периодических импульсаторов общего случая это правило соблюдается. В частном случае периодического импульсатора — в импульсато- ре РР (1), разработанном фон Нейманом, — возникает более серьез- ная проблема. Импульс на «стоп»-входе а_ переводит клетку ЕЗ в U, а затем 4 импульса импульсатора Р (ПИП) или периодическо- го повторителя (или обоих) переводят в соответствии с прямым про- цессом клетку ЕЗ в конфлюентное состояние С. Но предположим, что импульс «стоп» предшествует импульсу «пуск». Тогда клетка ЕЗ уже не будет в нужном состоянии! Этот факт не приведет к неприят- ностям, если импульсатор РР (1) фон Неймана будет использоваться в тройном возвратном счетчике (разд. 3.4), но вызывет неправиль- ную работу органа управления (ОУ), если будет использовать- ся в блоке контроля считывания — записи — стирания (КСЗС) (разд. 4.3.4). Можно было бы внести некоторые изменения в схему этого ОУ, но лучше пользоваться в ОУ таким импульсатором РР(1), который не портится от того, что его выключают до того, как вклю- чают. _ Этот другой вариант РР (1) показан на рис. 20. В нем приме- няются 2 модифицированных импульсатора Р (11111), один наверху, а другой внизу. Импульс «пуск» на входе а+ в момент t вызывает поступление последовательности 11111 в клетку G3 из клетки G4 в интервале времени от t + 17 до t + 21. Если клетка G3 находится в конфлюентном состоянии С, то эта последовательность появится на выходе b в интервале времени от t -ф 19 до t -ф 23, т. е. задержка от входа до b составит 19 единиц времени. Импульс «стоп» на вхо- де а_ в момент t вызывает поступление последовательности 11111 в клетку G3 из клетки G2 в интервале времени от t 4- 18 до t + 22. Так как акт убивания занимает всего 1 единицу времени, то задерж- ка от входа а до прекращения импульсации на Ъ равна 19 единицам, если подсчитывать по методу фон Неймана. См. табл. I. Заметим далее, что если пусковой вход а+ возбуждается спустя от 1 до 4 единиц времени после возбуждения «стоп»-входа а_, то в повторителе останется от 1 до 4 импульсов. Поэтому мы постули- руем следующее правило использования этого варианта импульса- тора РР (1) (изображенного на рис. 20): «стоп»-вход а_ не должен Гл. 3. Синтез некоторых основных органов 195
возбуждаться дважды в течение 5 последовательных единиц времени, а пусковой вход а+ не должен возбуждаться в интервале времени от 1 до 4 единиц после момента возбуждения входа «стоп». Структура блока КСЗС такова, что это правило всегда выполняется. Если этот вариант РР (1) работает в условиях, где выполняется указанное пра- вило, то он выступает в качестве «спусковой схемы»: включается на а+, выключается на а_, и пока он включен, вырабатывает на b непрерывную последовательность импульсов, которую можно исполь- зовать для управления некоторой схемой совпадений (конфлюент- ным состоянием). Соберем теперь вместе всю информацию о внешних характери- стиках периодических импульсаторов. На рис. 17b показана схема разработанного фон Нейманом импульсатора РР (1). Наш вариант Их\шульсатора для частного случая РР (1) показан на рис. 20. Внеш- ние характеристики обоих вариантов РР (1) приведены в табл. I. Общий случай импульсатора РР (I1 . . . in) с п 5 показан на рис. 19h. Если п < 5 и частный случай неприложим, то характе- ристика итерируется до тех пор, пока не будет п 5; например, если нужен РР (101), то конструируется РР (101101). Общий слу- чай 1 ^пульсатора РР (I1 . . . in) содержит импульсатор Р (Z1 . . . in), для которого значения и и к найдены в конце разд. 3.2.1. Приведем значения параметров (К — ширина, L — высота) импульсатора РР (Z1 . . . in): К^М^З, L--=N-]-3, где М-шах(10р, 2&+1), Р — наименьшее целое число, удовлетворяющее условию 5р^>п— 1, TV —шах (^4-2, Z), Z — целая часть числа (тг —1)/2. Дальнейшая информация содержится в табл. I.] 3.3. ДЕКОДИРУЮЩИЙ ОРГАН: СТРУКТУРА, РАЗМЕРЫ И ВРЕМЕННЫЕ СООТНОШЕНИЯ [На рис. 21 изображен декодирующий орган D (10010001). Его характеристика есть 10010001, а порядок равен 8. Все последова- тельности длины 8 можно разбить на два класса: последовательности, содержащие все единицы (т. е. импульсы), которые встречаются в характеристике 10010001 (например, 10010001 и 11010011), и все остальные последовательности (например, 10000001 и 10010010). Если на вход а подается последовательность первого класса, то на выходе Ъ после соответствующей задержки появится одиночный импульс, а последовательность второго класса никакого выходного сигнала не дает. Часть II. Теория автоматов 196
Декодирующий орган следует отличать от «распознающего» устройства, которое реагирует на какую-то одну последовательность и не реагирует на все другие. Такие устройства обсуждаются в разд. 3.5. Принцип работы декодера D (10010001) таков. Предположим, что последовательность гЧЧНЧ^ЧЧ8, где i1 = 1, z4 = 1, i8 = 1, дается на вход а в интервале времени от t до t + 7; импульсы z1, Z4 и I8 поступают с относительными задержками 0, 3 и 7 соответственно. Пути В ид встречаются в конфлюентном состоянии D1, обеспечивая задержки 21 и 18, так что i1 и i4 дадут выходной сигнал на выходе клетки D1 в момент времени 23. Этот сигнал поступит на клетку F1 в момент 24, совпадающий с моментом прохождения импульсом i8 пути F, благодаря чему в момент 26 на выходе Ъ появится импульс. Заметим, что так как характеристика 10010001 содержит 3 единицы, то в декодере должно быть 3 пути: В, D и F. Конструкция декодирующего органа очень похожа на конструк- цию импульсатора (разд. 3.2.1). Действительно, импульсатор факти- чески представляет собой некоторое кодирующее устройство. В деко- дирующем органе, однако, для обнаружения совпадений необходи- мо, чтобы конфлюентные состояния располагались вдоль верхнего ряда. Если для получения нечетных относительных задержек между путями (например, как в клетке ВЗ рис. 21) используются конфлюент- ные состояния, то они должны быть отделены от конфлюентных состояний верхнего ряда состояниями Т01е (как в ряду 2 рис. 21).1 Наша третья конструкция — декодирующий орган. Он имеет вход а и выход Ь. Идеальным был бы вариант, при котором в ответ на поступление на а некоторой наперед заданной последовательно- сти (и только в этом случае) на выходе b возник бы одиночный им- пульс. Но для наших конкретных применений достаточно более про- стое требование. Устройство, удовлетворяющее этому более простому требованию, мы и будем рассматривать. Пусть задана последовательность i1 . . . in. В ответ на поступление на а любой последовательности j1 . . . /п. содержащей все импульсы, входящие в последовательность z1 . . . in (т. е. такой, что iv = 1 влечет ]v = 1), и только в этом случае, на Ъ вырабатывается одиночный импульс. Между поступлением последовательности j1 . . . jn на а и откли- ком на Ъ нет жесткой временной связи, т. е. пока мы не задаем вели- чину задержки между ними (см., однако, замечания в конце этого раздела). Декодирующий орган обозначается символом D (i1 . . . in). Последовательность i1 . . . zn, которую при желании можно задать, называется его характеристикой, а число п называется его порядком. Гл. 3. Синтез некоторых основных органов 197
Вся схема последовательно разрабатывается на рис. 22. В остав- шейся части раздела мы разберем конструирование этого органа. Здесь много общего с аналогичными вопросами, обсуждавшимися в разд. 3.2.1 в случае импульсатора Р (f1 ... in). Обозначим через v1? . . ., vk те v, для которых iv = 1, т. е. это позиции импульсов в последовательности i1 . . . in. (В отличие от разд. 3.2.1 сейчас нам не требуется их монотонный порядок.) Запи- шем n —vh---2Ц/14-ГЛ, где |4=-0, 1, 2, . . . ; r'h=0, 1. (Ю') (Обратите внимание на разницу между (10') и (1')!) Относительно входных импульсов на а надо выяснить, присут- ствуют ли среди них к импульсов с относительными задержками vt, .... vk. Это можно сделать, умножая каждый прибывающий на а импульс на к различных импульсов с номерами h ~ 1, . . ., к, поступающих с относительными задержками п — vh (h = 1, . . ., к) на некоторую точку Ь', где происходит сравнение исследуемой после- довательности с эталонной. Одновременное поступление к импульсов на Ь' эквивалентно прибытию к различных импульсов с номерами h — 1. . . ., Л, поступающих на а с относительными задержками V1, . . .. vh. Поэтому нам нужны к путей с номерами h = 1, . . ., к, идущих от а до 6', задержки которых по отношению друг к другу равнялись бы п — vh (h = 1, . . ., к). Однако уже при к > 3 нельзя за одпн акт обнаружить совпадение в одной точке к величин (к — 3 — это максимум, при котором еще может работать одиночная клетка С, см. разд. 2.3.2). Следовательно, лучше сводить эти пути попарно. Сначала пути 1 и 2 встречаются в точке сравнения Ъ'2 (лучше начи- нать с Ъ’2. а не с 6'. см. ниже), так что от Ь'2 идет совместный путь 2'; затем пути 2' и 3 встречаются в точке сравнения Ь', так что от Ъ’3 продолжается совместный путь 3'; далее пути 3' и 4 встречаются в точке сравнения Ъ'^ так что от Ъ\ продолжается совместный путь 4'; и т. д. и, наконец, пути к — 1 и к встречаются в b'k, так что от b'k непосредственно к выходу b идет совместный путь к'. Эта последова- тельная цепь схем, обнаруживающих совпадение двух величин в точках Ь2< . . ., Ь’ь, заменяет одиночную схему совпадения к вели- чин в точке Ь'. Схему совпадения двух величин, разумеется, нетрудно выпол- нить на С (см. разд. 2.3.2). Очевидно, такая процедура нуждается в схеме типа рис. 16а и 16b. Рассмотрим сначала рис. 16а. Здесь импульс, входящий в а, дости- гает b по к различным путям, но так как задержки, требуемые для каждого из этих путей, не были соответствующим образом подобра- Часть II. Теория автоматов 198
ны, то это можно сделать потом с помощью схемы рис. 16b, т. е. схем N рис. 16с, в деталях представленных на рис. 16d — 16f. Обсудим сейчас другой недостаток рис. 16а, который проявляется в настоя- щей ситуации. Он состоит в следующем. На рис. 16а к путей, образованных клетками С, лежащими на нижней линии, непосредственно объединяются клетками jD, рас- положенными над 2, 3,. . . клеткамиС(из нижнего ряда). Это объеди- нение осуществляется клетками Q, т. е. без каких-либо условий на совпадение. Такая схема соответствует назначению рис. 16а в разд. 3.2.1, но для наших целей она не годится. Рассматриваемые клетки Q (всего к — 1), в которых происходит объединение путей, служат, очевидно, теми точками сравнения Ь'2, Ь'^ . . ., b'h, о которых шла речь выше. Поэтому они должны реагировать на совпадение, т. е. должны быть клетками С, а не Q . По соображениям симметрии заменим на С также клетку О из верхнего ряда, расположенную над первой клеткой С (из нижнего ряда), и назовем ее Ъ{, Новое устрой- ство показано на рис. 22а. Импульс, поступивший на а, может достичь b по к путям. По пути h (1, . . ., к) он идет горизонтально от а до С (с нижней линии) с номером Д, затем по вертикали достигает верхней линии (клетки С, обозначенной b'h) и продолжает двигаться по горизонтали до Ь. (До этого места, но не дальше, мы следуем схеме рис. 16а.) Всего ша- гов будет (2/г — 1) 4 и + (2 (к — h) + 1) 2к + и, но так как h + (к — h + 1) = к + 1 из них являются клетками С, то общая задержка составит Зк 4 и 4 1. Иными словами, на всех путях задержка одинакова. Учитывая это, необходимо увеличить задержку на пути с номером h на величину п — vh = 2p't 4 r'h. (См. соотношение (10').) Этого можно достичь точно так же, как в аналогичном случае в разд. 3.2.1, а именно заменяя каждую вертикальную ветвь на соответствующую схему задержки, скажем ветвь h на схему N'h. Схема Nh похожа на схему Nh рис. 16е, т. е. ее части изображены на рис. 16d — 16f, только теперь p^, rh заменены на р^, гд. Таким образом, возникает схема рис. 22b, связанная со схемой рис. 22а точно так же, как схема рис. 16b со схемой рис. 16а. Высоту и можно найти с помощью тех же соображений, что в разд. 3.2.1 привели к условию (2'). (Теперь рл, rh заменяются на р/^, r'h, т. е. vh — h из (1') заменяется на п — vh из (10').) В результате получаем условие и u'Q (по анало- гии с условием (2') и с учетом указанных изменений), где и'° = шах (п — vh) 4 где е'0 = 1, если этот максимум четный, но > (11Э найдется Д, для которого число п — Vh нечетно, ' в противном случае е'° = 0. Проще всего, разумеется, положить и = zz'°. Гл. 3. Синтез некоторых основных органов 199
(Фон Нейман упустил из виду необходимость включения допол- нительного ряда клеток между рядом и рис. 22а и верхним рядом в том случае, когда ряд и содержит конфлюентное состояние. Если этого не сделать, то конфлюентное состояние из ряда и будет примы- кать к некоторому конфлюентному состоянию из верхнего ряда, образуя разрыв пути, ибо конфлюентное состояние не может непо- средственно воздействовать на другое конфлюентное состояние. Ряд 2 на рис. 21 представляет собой тот дополнительный ряд, который был упущен фон Нейманом: если удалить ряд 2, то конфлюентные состоя- ния В1 и ВЗ оказались бы в контакте друг с другом. Это упущение можно следующим образом ликвидировать, не ме- няя значений параметров, введенных фон Нейманом. Пусть 1 Vi < v2 < • • • < п. Рассмотрим два случая, соответствую- щих расположению дополнительного конфлюентного состояния — в самом левом пути (т. е. пути для v4) и любом другом пути. Если дополнительное конфлюентное состояние появилось в самом левом пути, то надо заменить его и конфлюентное состояние, расположен- ное над ним (т. е. в верхнем ряду), блоком из четырех соединенных между собой обычных передающих состояний. На рис. 21 следует расположить блок из четырех обычных передающих состояний в клетках Al, В1, АЗ и ВЗ и удалить ряд 2. Если дополнительное конфлюентное состояние появилось в каком-то другом пути, то его надо поместить на одну клетку ниже.] Этим конструирование завершается. Как показывает рис. 22b. область, занимаемая этой схемой, имеет ширину 2к и высоту и + 2. Схема представлена на рис. 22с. На рис. 22а задержка от а до b вдоль каждого из путей равнялась Зк + и + 1. Согласно рис. 22b, она равна 1 (3/с + и + 1) + + (п — vh) на пути с номером h. Первый член, 1, обусловлен встав- кой клетки О перед первой клеткой С на рис. 22а. Следовательно, импульс с номером vh (iVh = 1) в последовательности А . . . А\ поданной на а, достигает b с задержкой (Зк + и + 2) + п. Она от- считывается от момента, непосредственно предшествующего началу последовательности А . . . А\ поэтому задержка, отсчитываемая точ- но от начала этой последовательности, составляет Зк + и + п + 1. Задержка одна и та же для всех h = 1, . . ., к, как и должно быть. Отсюда следует, что импульс, регистрирующий совпадение к ве- личин (т. е. присутствие на а последовательности у1 . . . уп, содержа- щей А . . . А\ см. выше), будет появляться на b с задержкой Зк + + и + п + 1. Таким образом, в окончательном устройстве, представ- ленном на рис. 22с, задержка от момента поступления последова- тельности у’1 . . . ]п (содержащей А . . . in) до отклика на b будет равна Зк -j- и + п ф 1. Часть II. Теория автоматов 200
Легко видеть, что в этой схеме нет искажений, связанных с интер- ференцией. Иными словами, какие бы импульсы ни приходили на аг как только среди них появляется последовательность у1 . . . уп, содержащая i1 . . . in, на b появляется импульс отклика с задерж- кой Зк + и + п от начала этой последовательности. [Подведем итоги полученным результатам о внешних характе- ристиках декодирующего органа D (I1 . . . 1п). См. рис. 22с. Ширина импульсатора равна 2/ъ, где к — число единиц в характе- ристике i1 . . . Iй. Фон Нейман молчаливо предполагает, что к 2, так как для к =0 и к = 1 такого органа не требуется. Высота декодирующего органа равна и + 2, где и определяется следующим образом. Пусть v1? . . ., vh — это те V, для которых iv — 1. Заметим, что п — длина характеристики, а гд — индекс, отвечающий первой единице. Поэтому п — Vj есть число разрядов характеристики, расположенных справа от первой единицы. Так как все vh (h = 1, . . ., к) положительны, то max (п — vh) = п — Тогда правило фон Неймана для и принимает вид и = (п — vj+e'0, где е'° = 1, если число п— четно, но найдется Д( = 2, ..., к), для которого число n — vh нечетно; в противном случае е'° = 0. Задержка между входным сигналом i1 на а и выходным импуль- сом с b равна Зк + и + и + U 3.4. ТРОЙНОЙ ВОЗВРАТНЫЙ СЧЕТЧИК [В предыдущих разделах фон Нейман дал алгоритмы для кон- струирования произвольного импульсатора Р (Z1 ... £п), произ- вольного периодического импульсатора РР (Z1 . . . in) и произволь- ного декодера D (i1 ... in). Затем он разработал схему некоторого специального органа — тройного возвратного счетчика Ф. Целиком такой орган изображен на рис. 23, правда, без соблюдения масштаба. Периодические импульсаторы РР (1) представляют собой импуль- саторы рис. 17 с шириной 15 и высотой 4, так что истинная ширина счетчика Ф равна 24, а истинная высота равна 26. Длинные линии со стрелками на рис. 23 символизируют последовательности обыч- ных передающих состояний, используемых только для передачи, но не для дизъюнкции. Тройной возвратный счетчик понадобился фон Нейману для реше- ния конкретной задачи, состоящей в троекратной посылке импульса в соединительную петлю (Q или С2) внешней ленты L; см. рис. 37. Гл. 3. Синтез некоторых основных органов 201
Предположим, что вторичный выход d счетчика Ф соединен со вхо- дом г2 соединительной петли С2, а выход ш2 петли С2 соединен со вторичным входом с счетчика Ф. Импульс, поданный на первич- ный вход а счетчика Ф, пройдет 3 раза по петле С2 и выйдет с первич- ного выхода Ъ счетчика Ф. Мы будем считать, что этот орган используется по следующему правилу: если на его вход а подан импульс, то этот вход больше не будет раздражаться до тех пор, пока на выходе b органа Ф не появится импульс. При этом предположении принцип работы трой- ного возвратного счетчика таков. Пусковой импульс на а проходит через кодирующую и декодирующую схему и поступает на а\, где он запускает первый периодический импульсатор, а также на вы- ход d, откуда он идет дальше на вход петли С2. После некоторой задержки с выхода Ь1 первого периодического импульсатора будут подаваться импульсы вдоль ряда 14, которые будут поступать на кон- флюентную клетку, работающую как схема совпадений. Когда вы- ходной импульс от С2 появится в Ф на с, он пройдет вдоль ряда 20 и поступит в столбец D, возбуждая три схемы совпадений F14, F8 и F2. Из этих схем совпадений открыта только первая (F14)\ импульс пройдет через эту схему, выключит первый периодический импуль- сатор, запустит второй и пройдет по ряду 13 и столбцу J ко вторич- ному выходу d. Следующий импульс, пришедший на вторичный вход с от С2, выключает второй импульсатор, запускает третий и поступает со вторичного выхода d обратно в С2. Когда этот импульс возвращает- ся от С2, он выключает третий импульсатор и покидает первичный выход Ь. На этом работа счетчика Ф заканчивается. Заметим, что путь от первичного входа а к клетке F18 пересекает путь от вторичного входа с к клетке D14. На самом деле импульс с первичного входа, идущий к клетке D14, а оттуда к схемам совпа- дений F14, F8 и F2, не приводит к неприятностям, поскольку эти схемы первоначально закрыты. По если бы импульсы от с к D14 попали в клетку F18, то работа могла бы нарушиться. Это частный случай общей проблемы, связанной с пересечением проводников. Общая проблема решается с помощью кодированного канала разд. 3.6. Частная проблема решается в Ф с помощью кодера В17, В18, СП, С18, образующего при стимуляции последовательность 101, и декодера D18, D19, Е18, Е19, F18, F19. подающего 1 на F17 и G18, когда на него подается 101, но не тогда, когда на него подается 1. Принцип конструирования тройного возвратного счетчика мож- но легко модифицировать и обобщить на случай счетчика, подсчи- тывающего т импульсов, т. е. дающего импульс в ответ на каждый получаемый им m-й импульс.] Те три органа, которые мы сконструировали в разд. 3.2 и 3.3, являются основными и имеют весьма общее значение. Теперь мы Часть II. Теория автоматов 202
разберем органы более специального характера, отвечающие специ- фическим потребностям, возникающим в процессе решения нашей первой основной задачи составного конструирования, которое нам предстоит осуществить. Этот факт также выражают и их названия, относящиеся к весьма специальным функциям. Первый орган из этой серии — тройной возвратный счетчик. Он имеет два входа а, с и два выхода b, d; пара а, b называется пер- вичной входной — выходной парой, а пара с, d — вторичной вход- ной — выходной парой. Для того чтобы описать работу этого органа, предположим, что его вторичный выход d и вторичный вход с связаны с входом с* и выходом d* какого-то другого органа. Этот другой орган является реагирующим органом; мы временно обозначим его буквой Q. Если тройной возвратный счетчик присоединен к Q таким образом, то у него свободна лишь первичная входная — выходная пара а, Ь. Тройной возвратный счетчик должен работать так: В ответ на раздражение на входе а он дает реакцию на d и тем самым раздражает с*. Допустим, что Q после соответствующей за- держки подает сигнал на d*, раздражая с. Это вызывает второй от- клик на d и потому раздражение органа Q на входе с*. Предполо- жим, что Q вторично реагирует после соответствующей задержки на d*, раздражая с. Это приводит к третьему отклику на d и раздраже- нию органа Q на с*. Предположим, что Q после соответствующей задержки реагирует на d* в третий раз, раздражая с. Это вызывает отклик на Ъ и окончание процесса. Между исходным воздействием на а и конечным откликом на Ъ нет жесткой временной связи, т. е. никакая конкретная задержка между ними не задана. Весь процесс от а до Ъ проходит 3 фазы, т. е. 3 перехода от d через с* и d* (т. е. через Q) к с, причем задержки на этих переходах зависят, во всяком случае, от реагирующего орга- на Q, а не от органа, который нам предстоит сконструировать. Одна- ко другие фазы всего процесса от а до Ъ (т. е. фаза от а до d, дважды фаза от с до d и, наконец, фаза от с до Ь) зависят исключительно от органа, который мы сейчас будем строить. Именно к этим фазам и применимы сообра;кения об отсутствии жесткой временной связи, т. е. заданных конкретных задержек (см., однако, замечания в конце раздела). Тройной возвратный счетчик обозначается буквой Ф. Схема этого органа разрабатывается на рис. 24. В оставшейся части раздела обсуждается процесс его конструирования. Нам нужно, чтобы возбуждение могло проходить ровно 3 раза от с* к d* (т. е. через Q). Или, что сейчас более важно, нам нужно, чтобы последствия, возникающие (в Ф) в результате прихода импуль- са на с (от выхода d* органа Q) в первые 2 раза, были отличны от последствий, вызванных приходом импульса в третий раз. Отсюда Гл. 3. Синтез некоторых основных органов 203
следует, что счетчик Ф должен обладать памятью, позволяющей отличить первые 2 случая от третьего, т. е. чтобы Ф мог считать до трех. При имеющихся в нашем распоряжении средствах это лучше- всего сделать с помощью 3 периодических импульсаторов РР (1),. каждый из которых включается (запускается) в начале соответствую- щего счетного периода и выключается (останавливается) в конце. В течение всего счетного периода РР (1) указывает на его наличие- благодаря (постоянному) присутствию своего выходного импульса. Этот импульс должен затем использоваться для обеспечения харак- теристических операций рассматриваемого счетного периода. Таки- ми операциями являются следующие. Первый счетный период: Импульс, приходящий на с. направляется к d, и после этого выключается периодический импуль- сатор РР (1) первого периода и включается периодический импуль- сатор второго периода. Второй счетный период: Импульс, приходящий на с, направляется к rf, и после этого выключается периодический им- пульсатор РР (1) второго периода и включается периодический им- пульсатор третьего периода. Третий счетный период: Импульс, приходящий на с,. направляется к Ъ, и после этого выключается периодический импуль- сатор РР (1) третьего периода. Исходный импульс на и, разумеется, должен быть направлен на с и должен включить импульсатор РР (1) первого периода. Следующий способ применения непрерывных импульсаций РР (1) для получения результатов, характеризующих соответствующий счетный период (см. выше), с помощью импульса на d, активирую- щего данный период, является очевидным. Используем конфлюент- ное состояние С как схему совпадений, подведя к нему пути, иду- щие от выхода импульсатора РР (1) и от с в качестве входов (одно- временное возбуждение которых должна регистрировать эта схема). Затем используем это конфлюентное состояние С для того, чтобы дать начало перечисленным выше характеристическим реакциям. 1См. клетки F14, F8 и F2 рис. 23. Фон Нейман предполагает, что импульс на d (т. е. на с*) возбуждает данный счетный период. Этот импульс будет проходить через Q и входить в Ф на с (т. е. на d*).] Все эти схемы показаны на рис. 24а. Обратите внимание на то, что на этом рисунке входы и выход периодического импульсатора РР обозначены п + , а_ и b (вместо а+, а_ и Ъ, как на рис. 19g и 19h). Верхние и нижние края импульсатора защищены клетками U, чтобы предотвратить нежелательные стимуляции, идущие от С через эти Часть И. Теория автоматов 204
границы. Удобно не распространять такую защиту на нижний левый угол каждого импульсатора (чтобы оставить там место для передаю- щего канала); из рис. 19h не видно, чтобы это было допустимо, но зато видно из рис. 19g. [См. также рис. 16b и 18k.] На рис. 24а и 24b сделаны следующие упрощения. Прямая линия, образованная клетками JD , обозначается одной стрелкой. Связные области состояний U отмечены косой штриховкой. Импульсаторы РР (1) показаны без соблюдения масштабов (их размеры 4 X 15. см. рис. 19g); таким образом, схема рис. 24а соответствующим обра- зом сжата по вертикали и горизонтали. Из рис. 24а не видно, как присоединяются передающие каналы вторичной входной — выходной пары с, d и первичного входа а к их собственным окончаниям с = d*, d ~ с* и а соответственно. (На рисунке показаны с = d*, d = с*, положение а не показано, но следует представлять его себе размещенным где-то в нижнем левом углу.) На этом рисунке передающие каналы оканчиваются в с' или с', на d' и на или а2 соответственно. Первичный выход Ъ достигает своего настоящего конца. Нетрудно соединить d' и d, но одновремен- но соединить q или с' с с и а' или а2 с а (без нарушения при этом соединений Ъ и d) трудно с точки зрения топологии. Ясно, что эти пути должны пересечься. Заметим, что расположение а, &, с, d, ука- занное на рисунке, не является непременным требованием (относи- тельно а см. приведенное выше замечание), т. е. а, &, с, d можно было бы несколько переместить. Однако необходимо, чтобы а, Ъ располага- лись с левого края схемы, а с, d — с правого (см. дальше [рис. 39]). Это как раз и приводит к упомянутой топологической трудности, т. е. к необходимости пересечения путей. Поэтому можно с равным успехом оставить a, b. с, d в том положении, в котором они показа- ны на рисунке. Мы должны разрешить задачу пересечения канала, идущего от или с2 к с, с каналом, идущим от или а2 к а, без вызываемого интерференцией искажения информации, т. е. чтобы информация, предназначенная для одного из каналов, не проникала в другой и не нарушала таким образом работу схемы. Эта проблема пересечения линий (составляющая особенность в двумерном случае; см. гл. I, а также дальше) в дальнейшем будет решена в общем виде с помощью органа, специально созданного для этой цели [разд. 3.6]. Настоящий вариант этой проблемы довольно прост и поэтому не стоит обращаться к общей процедуре, а лучше разрешить ее ad hoc г). Основное упрощение здесь заключается в том, что хотя и нужно предупредить попадание сигналов из канала, идущего от с к с{ или €', в канал, идущий от а к или а'2, в обратном направлении это де- т) Здесь ad hos (лат.) означает «на месте».— Прим, перев. Гл. 3. Синтез некоторых основных органов 205
лать не обязательно. В самом деле, взаимные помехи первого типа привели бы к тому, что между реагирующим органом Q и тройным возвратным счетчиком Ф непрерывно происходил бы обмен импуль- сом, что вызвало бы полное нарушение работы устройства. Взаим- ные помехи второго типа приводят просто к попаданию начального* импульса (от а) в канал с\ — с2, благодаря чему на каждое из трех состояний С, реагирующих па совпадения, будет подан импульс (эти 3 состояния С расположены с левого края рисунка на 2 ячейки пра- вее канала с' — с2). Изучение задержек (см. ниже) покажет, что в этот момент ни один из импульсаторов РР (1) еще не включен и, следовательно, ни одна из рассматриваемых клеток не получит другого импульса, не- обходимого для совпадения. Поэтому неверно направленные «-им- пульсы этого класса безвредны. Таким образом, нам остается предупредить попадание с-импуль- сов в канал «' — а2. Этого можно добиться тем же самым приемом кодирования — декодирования, который впоследствии мы приме- ним для решения общей задачи, о которой говорилось выше [см. разд. 3.61. Иными словами, мы используем импульсатор, который заменит «-импульс некоторой (кодовой) последовательностью импуль- сов, а защита канала «' — а2 будет обеспечена тем, что перед ним будет размещен декодер, реагирующий только на эту последователь- ность импульсов и не реагирующий на одиночный импульс. При этом «-импульс в его расширенной (кодированной) форме будет попадать в канал «' — а2, а с-импульс, оставаясь одиночным, не сможет попасть в а{—а2. Кроме того, здесь нет смысла обращаться к тем конструкциям импульсаторов и декодеров, которыми мы занимались раньше, а проще специально изготовить примитивные органы. Кодирование «-импульса состоит в замене его двумя импуль- сами, не идущими непосредственно друг за другом. Иными сло- вами, нужно взять 101, а не И. Тогда операции кодирования и декодирования будут очень просты. Соответствующие схемы приведены на рис. 24b. (Обратите внимание на то, что по сравнению со схемой рис. 24а у схемы рис. 24b надстроена нижняя часть. Срав- нивая эти 2 рисунка, можно увидеть их общие элементы и понятьу каким образом эти рисунки можно наложить друг на друга.) Входом а может служить ал или «2. При этом возбуждается самая левая клет- ка С, посылающая импульсы к соседней справа клетке О по двум путям с разностной задержкой 2. Таким образом, если возбуждение пришло от «! — «2, то туда поступает последовательность 101. Заме- тим, что на эту же клетку О воздействует клетка |0, расположен- ная прямо под ней и представляющая канал, идущий от с. Через этот канал будет поступать лишь одиночная последовательность 1. Итак, кодирование («! — «2)-импульса (при отсутствии кодирования Часть II. Теория автоматов 206
r-импульса) будет происходить уже на этой клетке О (лежащей непосредственно справа от самой левой клетки С). Она возбуждает вторую клетку С. Отсюда это возбуждение (кодированное или нет) проходит беспрепятственно к с2. С другой стороны, два пути с раз- ностной задержкой 2 идут от этой (второй слева) клетки С к следую- щей (третьей слева) клетке С, работающей теперь как схема совпаде- ний. Это значит, что эта последняя клетка С будет реагировать толь- ко в том случае, если предыдущая клетка С получила 2 импульса с компенсирующей задержкой 2, т. е. последовательность 101. Дру- гими словами, только импульс, пришедший от ах — а2 (а не от с), может вызвать (таким косвенным путем) возбуждение нашей послед- ней клетки С. Эта клетка С совпадает с клеткой С, расположенной в нижнем левом углу рис. 24а, т. е. с клеткой С, соседней с входами а' — а2. Таким образом, нужная передача от — а2 (при отсутствии передачи от с) к а{ — а2 достигнута. Заметим, что мы использовали и а', и а2 (клетке С требовалось 2 входа; см. выше), а в качествен можно взять или или а2. Мы взя- ли так как нужно, чтобы вход а был слева. Из с' и с2 мы выбрали с2, так что рассматривать с\ больше нет необходимости. При сопо- ставлении рис. 24а и 24b видно, что к левому краю надо сделать еще одно добавление. Действительно, левый край надо спрямить и защи- тить его клетки С (которые могли бы вызвать нежелательные возбуж- дения в смежных передающих состояниях) полосой из состояний U. Эта полоса будет содержать необходимые каналы, ведущие от нового места расположения а к старому и от нового места расположения Ъ к старому. Она изображена на рис. 24с, причем ее положение по от- ношению к рис. 24b показано там пунктирной линией. Наконец, заполним полоску вдоль правого верхнего угла рис. 24а, отмеченную пунктирной линией, состояниями U, чтобы придать схеме прямо- угольную форму. На этом конструирование заканчивается. Области, занимаемые периодическими импульсаторами РР (1) на рис. 24а, имеют ширину 15 и высоту 4 в соответствии с рис. 19g. Поэтому схема рис. 24а заполняет прямоугольник шириной 21 и высотой 26. Это приводит к тому, что (прямоугольная) площадь, занимаемая всей схемой (рис. 24а —24с), имеет размеры 24 X 26. Схема в сокращенном виде представлена на рис. 24d. Масштаб на рис. 24с и 24d меньше, чем на рис. 24а и 24b. Задержка от а до равна, очевидно, 1 (см. рис. 24с). Задержка от ai (через 3 клетки С с учетом того, что из-за использованной коди- рующей — декодирующей процедуры кратчайший путь между двумя первыми клетками С должен комбинироваться с самым длинным путем между двумя последними клетками С или наоборот, причем в обоих случаях возникает одна и та же задержка) до равна 11 Гл. 3. Синтез некоторых основных органов 207
(см. рис. 24b). Такова же задержка и до выхода из клетки |о, рас- положенной сразу же справа от последней клетки С, т. е. до входа в прямой канал, ведущий к d. Задержка вдоль этого канала до d (с учетом истинной длины импульсатора РР (1), которая, согласно рис. 19g, равна 15) составляет 18 единиц. Задержка от а+ через РР (Т) к Ъ составляет 18 единиц (см. конец разд. 3.2.1). Задержка от Ъ до первой схемы совпадения на С (2 ячейки вправо от С со вхо- дами с' — с2 на рис. 24а; следует опять вспомнить, что истинная длина импульсатора РР (1) равна 15 и истинное расстояние от его верхней части до Ъ равно 2, см. рис. 19g) составляет 22 единицы. Таким образом, общая задержка от а до первого возбуждения органа Q на d = с* равна 1 4- 11 4- 18 30. Кроме того, общая задержка от а до момента, когда первая схема совпадения на С станет прохо- димой для импульсов, идущих от с\ — с'2 (потому что она возбуждает- ся от первого импульсатора РР (1); см. рис. 24а), равна 1 + 11 + + 18 + 22 = 52. Заметьте, что задержка импульса от приходящего со второй слева клетки С в канал с2 — с2, составляет (в зависимости от того, по какому из двух допустимых путей между двумя первыми клет- ками С он идет, см. рис. 24b) 5 или 7 единиц (до момента появления на верхней стороне второй клетки С). Задержка отсюда до с' состав- ляет 5 единиц (так как истинная высота импульсатора РР (1) рав- на 4, см. рис. 19g), а отсюда до первой схемы совпадения на С (см. рис. 24а) составляет 3 единицы. Поэтому общая задержка от а до первой схемы совпадения на С вдоль этого нарушающего логику работы устройства канала равна 1 4" 5 + 5 4" 3 = 14 или 1 т 7 + 5 + 3 = 16. Эта задержка возрастает на 9 для второй •схемы совпадения на С и еще на 8 для третьей. Следовательно, мак- симальная задержка до этих клеток С равна 16 4- 9 = 25 и 25 + 8 = = 33, т. е. в целом не больше 33. Далее, мы видели, что даже первая схема совпадения на С становится проходимой для возбуждений от канала — с2 с задержкой в 52 после возбуждения на а. (Для дру- гих схем совпадения на С эта задержка, конечно, еще больше.) Таким образом, это нарушающее работу возбуждение приходит слишком рано для того, чтобы привести к неприятностям; это под- тверждает наше прежнее утверждение на эту тему. [Далее фон Нейман рассматривает f-й отклик органа Q на выходе с = d* для i = 1, 2, 3. Он вычисляет задержки на Ф для каждого отклика и проверяет правильность внутренних временных соотно- шений. Критическую точку, связанную с временными соотношения- ми. лучше всего объяснить с помощью рис. 23. Рассмотрим импульс, представляющий собой первый отклик органа Q; пусть t — момент, когда он приходит на клетку D14. В момент t схема совпадений F14 Часть II. Теория автоматов 208
открыта, а схемы совпадений F8 и F2 закрыты. Этот импульс прой- дет через схему совпадений F14 и пойдет на вход а* (в момент t + 9), чтобы запустить второй периодический импульсатор, который в свою очередь откроет схему совпадений F8. Откроется ли схема совпаде- ний F8 в этот момент, пропуская первоначальный импульс, кото- рый запустит третий периодический импульсатор, вызвав тем самым нарушение работы? Вычисление задержек вдоль двух путей, веду- щих к клетке F8, показывает, что этого не случится: первоначаль- ный импульс приходит в F8 слева в момент t -f- 12, а открывающий импульс приходит в F8 справа в момент t 4~ 49. Аналогичное вычис- ление показывает, что на схеме совпадений F2 тоже не возникает неприятностей. ] На этом мы закончим обсуждение задержек внутри Ф и доказа- тельство логической согласованности работы схемы. Перечислим еще раз те задержки в Ф, которые важны с точки зрения использо- вания устройства: задержка от возбуждения на а до первого возбуж- дения органа Q, равная 30; задержка от первого отклика органа Q до его второго возбуждения, равная 66; от второго отклика органа Q до его третьего возбуждения, равная 83; от третьего отклика орга- на Q до выходного импульса на Ъ (рис. 24d), равная 59. Пусть задержка от i-ro возбуждения органа Q до его i-ro отклика равна Wi (i = 1, 2, 3). (Это свойство органа Q, а не Ф!) Тогда общая задержка от а через Ф (и 3 раза через Q!) до Ъ равна 30 + и\ + 66 + -{- W2 83 4" 59 — 238 4- и\ 4~ ^2 4~ ^з* 3.5. ДИСКРИМИНАТОР ДЛЯ РАЗЛИЧЕНИЯ ПОСЛЕДОВАТЕЛЬНОСТЕЙ Г И 10101: СТРУКТУРА, РАЗМЕРЫ И ВРЕМЕННЫЕ СООТНОШЕНИЯ Следующий орган в этой серии — дискриминатор для различения последовательностей 1 и 10101. Этот орган имеет вход а и два выхода Ъ и с. Он выполняет функцию, которую мы умышленно не постули- ровали для декодера (см. начало разд. 3.3): он различает две после- довательности, одна из которых составляет часть другой. Точнее, появление одиночного импульса на а вызывает реакцию на Ъ при условии, что этому импульсу предшествовала достаточно длинная последовательность, не содержащая импульсов. Появление на а последовательности 10101 вызывает реакцию на с (но не на &, т. е. эта последовательность парализует действие содержащегося в ней одиночного импульса, см. выше)... Между воздействием последовательностей 1 (или лучше 0. ..01, см. выше) и 10101 на а и откликом на Ъ и с нет жесткой временной связи, т. е. величина задержки между ними пока не задана... Гл. 3. Синтез некоторых основных органов 209
Дискриминатор для различения последовательностей 1 и 10101 будем обозначать буквой Т. [Далее фон Нейман разрабатывает схему дискриминатора Т. Мы заменим конструкцию фон Неймана более простой, а потом объяс- ним, почему мы это сделали. Дискриминатор Т используется при считывании произвольной ячейки хп бесконечного линейного массива L (рис. 37). Нуль пред- ставляется в хп невозбудимым состоянием U, а единица — покоя- щимся, но возбудимым состоянием Т0307 которое является обычным передающим состоянием с направлением вниз. При считывании ячейки хп на вход соединительной петли Ci посылается последо- вательность 10101 и отмечается, появляется ли на выходе петли Ct последовательность 1 или 10101. Последовательность 10101 про- ходит по верхней половине петли Ci и входит в ячейку хп. Если хп находится в состоянии U, то последовательность 1010 переводит хп в состояние Т030, а оставшаяся 1 проходит через хп и движется вниз по нижней половине петли Ci к выходу и\. Если хп уже нахо- дится в состоянии Т030, то вся последовательность 10101 проходит по Ci и выходит через и\. Поэтому 1 на и\ соответствует нулю в хп, а 10101 на соответствует единице в хп. Дискриминатор ¥ разли- чает эти 2 случая. Разрабатывая схему дискриминатора, фон Нейман еще не знал, какие другие последовательности можно на него подать. Так как этот дискриминатор применяется только в узле считывания — запи- си — стирания C3G (рис. 37 и 39), то других случаев не возникает. Учитывая это и улучшая конструкцию фон Неймана в некоторых других отношениях, мы упростили и схему, и ее обсуждение. Поэтому мы и заменили дискриминатор фон Неймана схемой рис. 25. В качестве правила использования дискриминатора Т* возьмем следующее правило: нормальное состояние этого органа — состояние покоя, но в зависимости от ситуации на вход а поступает либо после- довательность 10000, либо последовательность 10101, начинающаяся в момент t, и если одна из этих последовательностей уже появилась на входе а, то до тех пор пока Т не придет снова в состояние покоя, никаких других импульсов на входе а больше не будет. Рассмотрим каждый из этих двух случаев. В первом случае на вход а в момент t поступает 1, проходит вдоль пути, указываемого длинной стрелкой, и выходит с выхода Ъ в момент t + 40. Эта 1 поступает также на декодер D (10101), но там она теряется. Во втором случае на вход а в интервале от t до t + 4 поступает последовательность 10101, и это приводит к двум непосредственным эффектам. Во-первых, последовательность 10101 декодируется деко- Часть II. Теория автоматов 210
дером D (10101), поэтому в момент t + 21 с выхода Ь1 испускается одиночный импульс. Во-вторых, эта последовательность идет от вхо- да а к выходу Ь, проходя клетку J14 в интервале времени от t + 38 до t + 42. Эта последовательность могла бы впоследствии появиться на выходе Ь, если бы не блокирование, вызываемое убивающим воз- действием на эту клетку со стороны клетки J13. Это происходит так: Импульс от Ь1 поступает на а2 в момент t + 24, так что Р (11111) посылает на клетку J14 импульсы в интервале от t + 39 до t + 43. Это значит, что любой импульс, входящий в клетку J14 в интервале от t + 38 до t + 43 включительно, теряется. Так как последова- тельность 10101 входит слева в клетку J14 в интервале от t + 38 до t + 42, то она разрушается и на выходе Ъ импульсов не будет. Импульс от Ь1 в момент t + 21 выйдет с выхода с в момент t + 25. Объединяя оба случая вместе, мы получаем следующее описание работы дискриминатора Т (рис. 25): если на вход а в интервале вре- мени от t до t + 4 поступает последовательность 10000, то с выхода Ъ в момент t + 40 испускается импульс, а на выходе с ничего нет; если же на вход а в интервале времени от t до t + 4 поступает последова- тельность 10101, то в момент t + 25 с выхода с испускается импульс, а на выходе Ъ ничего нет. Таким образом, дискриминатор ¥ произ- водит нужное различение. Теперь подведем итоги полученным результатам, касающимся характеристик дискриминатора Т рис. 25 и схемы фон Неймана (величины, характеризующие конструкцию фон Неймана, возьмем в скобки). Дискриминатор ¥ имеет ширину 10 (22), высоту 14 (20); выход а расположен в 8 (1) клетке снизу, выход Ъ расположен в 0(6) клетке снизу, а выход с — в 13(18) клетке снизу. Задержка от входа а до выхода Ъ равна 40 (86), задержка от входа а до выхода с равна 25 (49). Можно было бы сделать дискриминатор Т намного меньших размеров, чем схема рис. 25, но эта схема сделана в духе конструкции фон Неймана и для нашей цели годится. Различение двух последовательностей 1 и 10101 представляет собой частный случай различения двоичных последовательностей. Другой пример этой общей задачи дает кодированный канал, рас- сматриваемый в следующем разделе. Фон Нейман решает там зада- чу, используя для этого множество последовательностей, ни одна из которых не является частью никакой другой (даже если их сдви- гать во времени относительно друг друга). Например, такое множе- ство образуют последовательности 1011, 1101, 1110. Для полноты отметим, что общую задачу различения двоичных последовательно- стей можно было бы решить с помощью узла, который «опознает» лишь одну данную последовательность и больше никакой. Пример распознавателя приведен на рис. 26. Гл. 3. Синтез некоторых основных органов 211
Распознаватель R (101001) рис. 26 работает так. Предположим, что в (относительные) моменты времени от 0 до 5 на вход а поступает последовательность ШЧЧЧЧ* и ей предшествует и за ней следует несколько нулей. В этих условиях распознаватель R (101001) в мо- мент времени 48 испустит на выходе Ъ импульс тогда и только тогда, когда входной последовательностью будет 101001 (т. е. i1 = i3 = iQ = 1, i2 = Ц = i5 = 0). Объясним, как распознаватель решает эту задачу. К концу этого объяснения станет ясен общий принцип (алгоритм) конструирования произвольного распознавателя R (i1^2 ... in). Имеем следующие условия: (I) Декодер D (101001) вырабатывает импульс на выходе Ь1 в мо- мент времени 23 тогда и только тогда, когда i1 = i3 = iQ = 1. (II ) Импульсатор Р (1101) дает импульс на выходе Ь2 в момент 23 тогда и только тогда, когда i2 = 1, или i4 = 1, или Z5 = 1. Нужно рассмотреть 3 случая. (А) Входная последовательность есть 101001, т. е. i1 = i3 == iQ = 1, i2, = i4 = i5 = 0. Тогда от b2 и b3 никаких сигналов не поступает и импульс с выхода Ь1 в момент 48 появляется на выходе Ь. (В) i1 = i3 = iQ = 1 и выполняется по крайней мере одно из равенств i2 — 1, i4 = 1, z'5 = 1. В момент времени 23 импульсы испускают- ся как с выхода Ь1, так и с выхода Ь2. Эти импульсы входят в конфлюентное состояние 15 в момент 29, вызывая поступление импульса на вход а3 в момент времени 31. Импульсатор Р (11111) вырабатывает последовательность 11111, которая приходит в клетку Т1 в интервале времени от 47 до 51 включительно. Импульс от Ь1, появляющийся в момент 23, движется зигзага- ми вдоль рядов 1 и 2, входя в клетку Т1 в момент 46, и про- падает в результате убивающего воздействия последовательности 11111 в клетке Т1. Поэтому никаких сигналов не появится. (С) Выполняется хотя бы одно из равенств i1 = 0, i3 = 0, iQ = 0. На выходе b1 не появится никаких импульсов, поэтому их не будет и на Ь. Если какой-нибудь импульс будет выработан на выходе Ь2, то он будет блокирован на конфлюентном состоя- нии 15. На этом обсуждение распознавателя R (101001) заканчивается.] 3.6. КОДИРОВАННЫЙ КАНАЛ 3.6.1. Структура, размеры и временные соотношения для кодиро- ванного канала. [В трехмерном пространстве провода могут скре- щиваться без пересечения, т. е. без какого-либо контакта и передачи Часть II. Теория автоматов 212
информации из одного в другой. В двумерном пространстве комму- никационные каналы должны обязательно пересечься с топологи- ческой точки зрения, поэтому возникает задача организовать пере- дачу информации по каналу так, чтобы она не проникала в пересе- кающиеся каналы. Эту проблему можно было бы разрешить, вводя элементарные органы для пересечения проводов. Для этих элемен- тарных органов потребовались бы дополнительные состояния, а кро- ме того, были бы нужны добавочные чувствительные состояния для прямого (конструирующего) процесса. Фон Нейман разрешил эту проблему в клеточной системе с помощью «кодированного канала». На рис. 27 приведен пример кодированного канала, сконструи- рованного в соответствии с алгоритмом фон Неймана т). Этот орган имеет входы а2, а3 и выходы Ь2, Ь3; каждый вход аг- ассоцииро- ван с соответствующим выходом (или выходами) bt. Так, импульс на входе а2 в конце концов появится на обоих выходах Ь2 (не одновре- менно) и больше нигде. Кодированный канал состоит из 7 импульса- торов, 7 декодирующих органов (все показаны в уменьшенном мас- штабе) и «главного канала», идущего от выхода импульсатора Р (10011) ко входу декодера D (11001). Кодирование осуществляется с помощью 6 последовательностей, ни одна из которых не является частью никакой другой. Последо- вательности 11100, 11010, 11001, ЮНО, 10101, 10011 связаны с а2» аз, &1, Ь2, Ъ3 соответственно. Их роль лучше всего объяснить на примере. Допустим, что возбужден вход а2. Тогда импульсатор Р (11010) пошлет в главный канал свою характеристику 11010. Эта последовательность пройдет весь главный канал до конца, но (по- скольку она отличается от всех остальных последовательностей) воздействует лишь на декодер D (11010). Этот декодер пошлет импульс в импульсатор Р (10101), который отправит свою характери- стику 10101 в главный канал. Последовательность 10101 пройдет до конца главного канала, но (поскольку она отличается от всех остальных последовательностей) воздействует лишь на 2 декодера D (10101), каждый из которых выработает импульс на своих выхо- дах Ь2. Входы и выходы кодированного канала могут располагаться в любом порядке, поскольку с каждой входной — выходной парой связаны две последовательности. Переход от одной последователь- ности к парной ей происходит в верхней части схемы рис. 27. J) В более поздних работах реализация многих органов, сконструирован- ных Дж. фон Нейманом, была существенно упрощена. Так, например, организа- ция пересечения двух каналов без взаимодействия была выполнена Дж. Е. Гор- маном на конфигурации 8x8 (рис. 42) и Честером Ли на конфигурации 7x7.— Прим. ред. Гл. 3. Синтез некоторых основных органов 213
Входные сигналы, подающиеся в кодированный канал, должны отстоять достаточно далеко друг от друга по времени, чтобы избе- жать искажений и взаимных помех. Предположим, что возбуждаются входы flj и а2, так что отвечающие им выходные последовательности 11100 и 11010 поступают в главный канал сразу же друг за другом. Объединенная последовательность 1110011010 содержит последова- тельность 11001, отвечающую входу а3. Поэтому она вызовет сраба- тывание декодера D (11001) и в конце концов приведет к появлению сигнала на выходе Ь3.] Наша третья конструкция в этой серии — кодированный канал. До сих пор мы давали точное и исчерпывающее описание каждого органа, который мы обсуждали. Сейчас лучше не придерживаться этого принципа, т. е. намного проще (и удобнее для наших целей) вести рассмотрение несколько более эвристическим образом. Поэтому мы подробнее остановимся на том, какую именно проблему мы долж- ны решить и какими средствами это можно сделать. Затем разберем существенные частные случаи, а когда дойдем до приложений, тот конкретный орган, который нам нужен, окажется построенным без заметных усилий. Кодированный канал предназначен для того, чтобы выполнять функцию, компенсирующую определенные недостатки, присущие двумерному пространству. В логических схемах часто встречается необходимость обеспечить такое пересечение линий, которое невоз- можно выполнить в двумерном пространстве. Например, если дано 5 точек а, Ь, с, rf, е и каждую из них нужно соединить с каждой из остальных, то в двумерном пространстве этого нельзя сделать без пересечений (см. рис. 28а). На рис. 28а нет линии, соединяющей с и е\ ее нельзя провести без пересечений с другими линиями. Реаль- ный пример, в котором осуществление соединений потребовало пере- сечений, встретился нам при конструировании тройного возвратного счетчика (см. разд. 3.4), т. е. при получении схемы рис. 24b из схе- мы рис. 24а. Следует отметить, что в трехмерном пространстве такой трудно- сти не возникает. Но так как все другие этапы нашего конструиро- вания можно осуществить в двумерном пространстве точно так же, как и в трехмерном, то целесообразнее придерживаться первой, меньшей размерности, если это, конечно, возможно. Поэтому мы будем считать, что перед нами стоит эта весьма трудная задача (пересечение линий в двумерном пространстве) и необходимо создать конструкции, предназначенные специально для ее решения. Очевидно, что легко построить орган, выполняющий элементар- ный акт пересечения линий, как схематически показано на рис. 28b. Более подробно такой орган представлен на рис. 28d. Он имеет 2 вхо- да а, Ь и 2 выхода с, d. Нам нужно, чтобы возбуждение входа а вызыва- Часть II. Теория автоматов 214
ло отклик (с некоторой задержкой) на выходе d, а возбуждение на входе b вызывало отклик (снова с некоторой, но, возможно, другой задержкой) на выходе с. Отметим, что такая цикличность в расположении входов — выходов а, Ь, с, d весьма существенна: если они расположены, как показано на рис. 28е или 28с, то оче- видно, что никаких трудностей вообще не возникнет. Но лучше сразу же настроиться на нечто большее, чем это. Дей- ствительно, если бы мы сконструировали органы, показанные на рис. 28d, способные реализовать лишь одиночное пересечение линий, то в последующих конструкциях мы должны были бы комбиниро- вать много таких органов. Это привело бы к нелепым геометрическим конфигурациям и усложнило работу, связанную с общим синтезом. Поэтому лучше сразу создать орган кратного пересечения линий. Орган, способный осуществить пересечение нескольких линий и пригодный для решения универсальной задачи, представляет собой прямоугольную площадку А (см. рис. 28f), по краям которой рас- положены различные входы и выходы. На рис. 28f (и на рис. 28g — 28k) они отмечены черточками. Входы обозначаются av (у = 1, ... . . ., п), а выходы обозначаются bv (у = 1, . . ., п). Может быть несколько входов av с одним и тем же значением v, и может быть несколько выходов bv с одним и тем же значением v. Порядок рас- положения входов av и выходов bv по краю площадки А может быть произвольным. Было бы желательно, чтобы в ответ на возбуждение входа av (т. е. любого из возможных входов av с данным значени- ем v) все выходы bv (с одним и тем же значением v) реаги- ровали бы с соответствующими (не обязательно равными) задерж- ками. Однако для тех целей, для которых предназначено это устрой- ство, достаточно удовлетворить более слабому условию, которое, как будет видно ниже, легче осуществить. Это ослабленное условие таково. Мы определяем некоторый циклический порядок расположе- ния входов и выходов по краю площадки А (он показан стрелками на рис. 28g). Затем это циклическое расположение нарушаем: преоб- разуем его в линейное, разрывая в точке р. Иными словами, теперь они начинаются в точке р, обходят край площадки А в направлении, указанном стрелками, и оканчиваются в точке р. Теперь мы требуем, чтобы возбуждение входа av вызывало отклики только на тех выхо- дах bv (с тем же значением v), которые лежат перед этим входом. Нако- нец, мы делаем разрез в точке р, т. е. заменяем замкнутую границу площадки А открытой границей. Эта открытая граница может быть прямой линией или ломаной (см. рис. 28h — 28k). В любом случае входы и выходы остаются прикрепленными к ней, как и прежде, но можно также изменить (инвертировать) ту сторону границы, к которой они подходят. (Относительно последнего см. рис. 28k.) На рис. 28h — 28k порядок (прежде циклический, а теперь линей- Гл. 3. Синтез некоторых основных органов 215
ный) также указывается стрелками (как на рис. 28g) и точка р заме- нена на Pi (начало) и р2 (конец). Очевидно, что осуществить описанный только что принцип рабо- ты можно с помощью кодирования и декодирования. Для этого отне- сем каждому значению v = 1, . . ., п последовательность импульсов и пауз 4 • • • W (можно было бы добиться, чтобы длина т этой последовательности зависела от v, но это не обязательно). Затем присоединим к каждому входу av кодирующий орган Р . . . Z™) и к каждому выходу bv декодирующий орган D . . . i™). Все эти входы и выходы соединим линией, образованной (обычными) пере- дающими состояниями О, |0, Р_, |О, причем каждый раз стрелка ориентирована в соответствующем направлении, а именно вдоль пу- ти, указанном на любом из рис. 28h — 28k, который используется для описания этой процедуры. Точнее, из этих передающих состоя- ний должны быть составлены соединительные линии (для всей систе- мы входов av и выходов bv). Это также относится к участкам, где присоединяются входы av. Но там, где присоединяются выходы bv, импульсы должны иметь возможность распространяться в двух направлениях (вдоль последующих передающих состояний и к выхо- ду, связанному с рассматриваемой точкой). Поэтому в каждом таком участке требуется конфлюентное состояние С. Эту цепочку (обыч- ных) передающих состояний и конфлюентных состояний мы будем называть главным каналом органа. На рис. 29 (который можно считать детализацией рис. 28i) это показано более подробно. На этом рисунке приведено частное, но типичное распределение входов av и выходов bv (у = 1, . . ., п) при п = 2. Заметим, что на рис. 29 вход кодирующего органа Р Ov • • • отделен одной клеткой от истинного входа av и обозна- чен Яу, а выход из Р (Zy . . . г%) обозначен Ьу. Аналогично выход декодирующего органа D (4 . . . I™) отделен одной клеткой от истин- ного выхода Ьу и обозначен Ьу, а вход в D (i| . . . iy) обозначен а^ Далее, каждый из органов Р (iy . . . Ц?) и D (tj . . . /у) может быть повернут на любой из четырех углов 0°, 90°, 180°, 270° и, если это нужно, отражен относительно вертикали или горизонтали по срав- нению со своим расположением на рис. 16g и 22с. Ясно, что это потребует лишь тривиальные преобразования схем рис. 16 и 22. Теперь нам надо выбрать последовательности iy . . . I™ (у — = 1, . . ., п). Каждый выход bv, т. е. каждый декодирующий орган D (iy . . . /™), должен реагировать только на последовательность /ц . . . /ц, где (ы = v. В свете свойств органа D (i1 . . . im) (см. нача- ло разд. 3.3) это означает, что ни одна последовательность . i™ Часть II. Теория автоматов 216
при jii у= v не должна содержать iy . . . . Чтобы избежать «невер- ного трактования» из-за неправильного отсчета времени, это требо- вание следует также распространить на случай, когда последова- тельности /ц . . . i™ и iy . . . iv сдвинуты по отношению друг к другу (причем перед и после каждой из них идет достаточно много нулей). Это будет заведомо соблюдаться, если все iy . . . i™, v = l, . . ., п, попарно различны, все начинаются с импульса и содержат одинако- вое количество импульсов (к). Поэтому мы будем считать, что эти условия выполнены. Итак, наша задача — найти п попарно различных последователь- ностей iy . . . i™ (можно не рассматривать iy, так как всегда iy = 1) при v = 1, . . ., п, каждая из которых имеет длину т — 1 и содер- жит ровно к — 1 единиц. Ясно, что всего таких последовательностей (лтг — 1 \ к—Л) ’ и указанный выбор возможен тогда и только тогда, когда (т-Л\ 4-1)- <12'> Таким образом, нам остается лишь выбрать числа т и к, удовлетво- ряющие условию (12'). Было бы неразумно взять такое к, что к — 1 тоже удовлетворяет условию (12') (при том же т). Итак, /тп —1\ /?п—1\ к —2) ’ откуда к — 1 <Z т — к + 1, или 2к т + 2, и, таким образом,. 2к т + 1, т. е. (!3'> Практически удобно взять к — (т + 1)/2 или к = т/2. Из этого обсуждения становится ясно, как осуществить конструи- рование кодированного канала в каждом конкретном случае. Мы будем пользоваться упрощенными схемами рис. 28h — 28k со* стрелками, но не обязательно указывая буквы рь р2 и помечая каж- дый вход или выход клетки буквами av или bv. Необходимо рас- смотреть еще несколько вопросов, касающихся деталей. Все органы Р (^ . . . i™) и D (iy . . Л™) рис. 29 имеют одно и та же значение к (см. разд. 3.2.1 и 3.3) и, следовательно, одну и ту же Гл. 3. Синтез некоторых основных органов 217
длину (см. рис. 16g и 22с). Как видно из рис. 29, Р . . i%) и D (4 • • • *?) расположены (ориентированы) так, что всегда именно эта длина определяет ширину занимаемой ими полоски вдоль глав- ного канала. Поэтому ее ширина всегда равна 2к. Добавляя к ней 1 для главного канала и 2 для защитных полосок, образованных состояниями U, мы получаем, что вся ширина полоски вдоль главного канала, образующей кодированный канал, равна 2к + 3. Высота органов Р (Ц . . . i™) и D (i^ . . . i™) равна и + 2, так что вместе с и может априори принимать различные значения (см. рис. 16g и 22с). Анализ определения значения и для Р (i\ . . . z™) по значению и0 (см. формулу (2') и замечание перед ней в разд. 3.2.1) показывает, что для всех Р (1\ . . . i™) можно взять одно и то же значение и (как максимум всех и0). Обозначим через и' общее зна- чение и для всех Р (i\ . . . iy). Анализ определения значения и для D (1\ . . . /у) по значению w'° (см. формулу (11') и замечание перед ней в разд. 3.3) показывает, что для всех D (i\ . . . можно взять одно и то же значение и (как максимум всех и'0); более того, нетрудно проверить, что все u,Q автоматически равны. Обозначим через и" общее значение и для всех D (fy . . . i™). Как видно из рис. 29, Р (Zy . . . iy) и D (Д . . . I™) расположены (ориентированы) так, что всегда именно эти высоты определяют рас- стояния между этими органами вдоль главного канала. Но величины, которые при этом получаются, дают лишь нижние границы для ука- занных расстояний: если нужно увеличить расстояние между двумя соседними органами, достаточно заменить одиночную разделяющую линию, образованную состояниями U (см. рис. 29), на соответствую- щее число таких линий. Следующий вопрос относится к задержкам. Задержку от момента возбуждения данного входа av до момента отклика на конкретном выходе bv легко вычислить с помощью рис. 29. [Общая] задержка импульса, идущего от a'v через Р (4 . . . I™) до Ьу, равна d' — 2к + + и' + 2 (см. конец разд. 3.2.1); задержка от а'у через D (iy . . . i™) до Ъ" равна d" = Зк + и" + т (см. конец разд. 3.3). Пусть А обозначает расстояние вдоль главного канала от клетки О (или |0, или 0_, или |о), где av присоединяется к той же клетке С, к которой присоединяется bv (при подсчете клеток для определения расстояния каждая клетка С считается дважды, конечная клетка С учитывается, а начальная клетка О (или |0, или 0_, или |о) исключается). Тогда общая задержка от момента возбуждения входа av до отклика на bv равна 1 + d' + 2 + А + 1 + d" -h 1 = А + -f- d' d" -j- 5. Мы должны рассмотреть также вопрос об искажениях, вызван- ных интерференцией, который принимает здесь следующую форму. Часть II. Теория автоматов 218
Ясно, что возбуждение на av вызовет отклик на каждом выходе bv (лежащем перед ним, если смотреть по направлению стрелок вдоль главного канала). Возбуждение на av не вызовет реакции ни на одном из выходов при #= v, если не будет других возбуждений (на входах где может оказаться как А = v, так и А =# v). Вопрос таков: могут ли возбуждения нескольких выходов av (с повторяющимися или различными значениями v) вызвать реакцию на каком-нибудь выходе где ни одно из этих возбуждений само по себе реакции не вызывало? Или, точнее: каким правилам должны подчиняться возбуждения на av, чтобы такие реакции были предотвращены? Эти правила будут определять минимальные допустимые задерж- ки между возбуждением входа av и одновременным или последующим возбуждением любого другого входа а^. (При этом рассматривается как А = v, так и А =7^= v, причем при А = v и последовательном возбуждении два возбуждаемых входа av не обязательно совпадают.) Итак, рассмотрим какой-то выход На нем может быть отклик, если соответствующий декодер D (i^ . . . i™) получает на своем входе последовательность импульсов и пауз, содержащую . i™. Каждый вход av может создать последовательность . . . I™. Мы должны позаботиться о том, чтобы наложение нескольких сдвинутых по отношению друг к другу отрезков таких последо- вательностей не дало . i™ при условии, что каждая из них в отдельности такой последовательности не образует. Это может случиться только в том случае, когда две сдвинутые последовательности iy . . . i™ (различного происхождения) дают вместе (но не в отдельности!) не менее к импульсов в одной и той же последовательности у1 . . . ут. Пусть последовательность у1 . . . ут содержит подпоследовательности длин т', т" соответственно, общие с этими двумя последовательностями . . . I™. Тогда тп', т" 1, т' + т" к. Расстояние 6 между началами этих двух сдвинутых последовательностей . . . i™ либо не более | тп'— т"\ (если они оба расположены в одном конце последовательности у1 . . . /т), либо не более 2т — т' — т" (если они расположены в разных концах последовательности у1 . . . ут). Первое число не превосходит к — 1, второе не превосходит 2т — к, и так как из (12') следует к т, то к — 1 2т — к, так что во всяком случае 6 2т — к. Поэтому появление обсуждаемой последовательности исключается, если 6 > 2т — к, т. е. 6 2т + 1 — к. Рассмотрим теперь такие два входа av, что выход лежит перед ними (направление указывается стрелками вдоль главного канала). (Относительно соотношения между v, А и между av, см. выше.) Предположим для определенности, что вход аК лежит перед Гл. 3. Синтез некоторых основных органов 219
av. Обозначим расстояния от точек присоединения входов av, к точке присоединения выхода через А1, А11 соответственно, а между точками присоединения входов av и через А* = А1 — А11 (при подсчете клеток для определения расстояний каждая клетка С считается дважды, один из концов учитывается, а второй нет). Пусть входы av, а% возбуждаются в моменты t1, tn соответствен- но. Тогда последовательности 1% . . . i™, . . . i™ появляются на а"^ в моменты t1 + 1 + d' + 2 + А1 + 1, t11 + 1 + d' + 2 + Ап + 1 соответственно. Разность между этими моментами равна (t1 + А1) — — (£п + А11) = (t1 — tn) + А*, так что приведенное выше условие принимает вид | (t1 — t11) + А* | 2т 4-1 — к. Это означает, что либо (t1 — t11) + А* 2т + 1 — к, т. е. /1>/п4-(2тп4- 1 —Л—А*), (14') либо (t1 — tn) 4- А* < — (2т4- 1 — к), т. е. tu > t1 + (2т 4- 1 - к + А*). (15') Полезно рассмотреть несколько частных случаев. Пусть t1 £п, т. е. за возбуждением входа av (в момент t1) идет возбуждение клетки, расположенной впереди по направлению стре- лок вдоль главного канала (т. е. а% в момент £п). Первый случай: А* < 2т 4- 1 — к. В этом случае условие (14') нарушается, а из условия (15') следует, что задержка (от t1 до £п) должна быть не менее (2т?г + 1 — к) 4" А*. Второй случай: А* 2т 4" 1 — к. Здесь из условия (14') следует, что задержка (от tl к £п) должна быть не более А* — (2т +1 — к), а из условия (15') — не менее (2т 4- 1 - к) 4- А*. Пусть теперь t1 £п, т. е. за возбуждением входа (в момент t11) идет возбуждение клетки, расположенной позади (т. е. av в мо- мент t1). Третий случай: А* < 2т + 1 — к, В этом случае из усло- вия (14') следует, что задержка (от до t1) должна быть не менее (2т 4" 1 — к) — А*, а условие (15') нарушается. Четвертый случай: А* 2т + 1 — к. Здесь условие (14') автоматически выполняется, а условие (15') нарушается. Сформулируем правило, охватывающее все 4 случая. Соблюде- ние этого правила позволит исключить искажения, связанные с ин- терференцией. Если был возбужден вход ар, то возбуждение входа аа допустимо лишь с задержкой d (^0), удовлетворяю- щей следующим условиям. Пусть расстояние между точками присоединения входов ар и аа равно А* (^0) (при подсчете клеток для определения расстояния каждая клетка С счи- тается дважды, один из концов учитывается, а второй нет). 1. Вход аа расположен перед ар (направление ука- Часть II. Теория автоматов 220
зано стрелками вдоль главного канала). Тогда либо d (2т + 1 — к)-\- А*, либо (если А* 2т +1 — к) dC А* — (2т + 1 — к). 2. Вход ао расположен позади ар. Тогда d (2т-\-1 —к)— А*, если А* < 2т-р 1 — к. В противном случае никаких ограничений нет. (16') 3.6.2. Цикличность в кодированном канале. Чтобы закончить обсуждение кодированного канала, вернемся к вопросу цикличности (разд. 3.6.1). Причина, заставившая нас разорвать главный канал в точке р (рис. 28g), т. е. не продолжать его от р2 до (рис. 28h — 28k, 29), ясна. Если бы такое соединение было, т. е. если бы главный канал представлял собой замкнутую петлю, то последовательность г* . . . j™ (посланная в канал от входа av) циркулировала бы в нем бесконечно долго, периодически возбуждая каждый выход bv. Но нам нужно, чтобы импульс на av возбуждал каждый выход bv ровно один раз. Эту трудность можно обойти несколькими способами. Мы разберем один из них, который кажется нам особенно простым. Рассмотрим рис. 30а. Он отличается от рис. 28g только тем, что на нем в точке р нет разрыва. Направление вдоль главного канала указано стрелками, но теперь канал следует считать циклическим. На рисунке изображены две точки pt, р2, но они не означают разры- вов или окончаний. Черточки на главном канале, около которых нет пояснений, обозначают av и bv, как на рис. 28f—28k. Преобразуем структуру, показанную на рис. 30а, следующим образом. К п индексам v=l, . . ., п добавим еще п индексов v' = 1п'. Можно было бы вместо них добавить индексы п + 1, . . ., 2п, т. е. положить v'=v-|-n, но это не принципиаль- но. Для нас важно лишь, чтобы п было заменено на 2п (например, в условии (12')). Разорвем границу между точками pi и р2 и присоединим продол- жения q^pi и p2q2 к главному каналу в этих двух точках (рис. ЗОЬ). Входы av, расположенные вдоль исходного главного канала, т. е. PiPzi оставим без изменения, а каждый выход bv заменим на bv>. Отразим это на рис. ЗОЬ, снабдив каждую черточку вдоль исходного главного канала звездочкой. Поместим выходы . . ., Ъп (в указанном порядке) на внут- ренней стороне участка p2q2 (т. е. на стороне, обращенной к /Mi), а входы , . . ., ап> (в указанном порядке) — на внутренней сто- роне участка (обращенной к p2q2). Соединим каждый выход bv (v = 1, . . ., п) непосредственно с входом av>. Все эти построения проводятся на заштрихованной части рис. ЗОЬ, ограниченной пунк- тиром. Они подробно показаны на рис. 30с, на котором эта площадка представлена в увеличенном виде. Концы р^ и р2, q2 главного канала раздвинуты так, чтобы уместились выходы . . ., Ъп Гл. 3. Синтез некоторых основных органов 221
и входы ау , . . ., ап>. Каждый символ av> на рис. 30с означает, что в этом месте находится импульсатор Р (iy . . . f™), a bv указывает на наличие декодера D (jy . . . iv)- Именно для них и создается это пространство (т. е. необходимое расстояние между pl, ql и р2, q2). Поэтому выход bv должен соединяться с входом ау, как на рис. 29: за выходом by декодера D (iy . . . i™) следует (через одну ячейку) by, а перед входом ау импульсатора Р (iy . . . iy) располагается (отделенный от него одной ячейкой) вход ау. Это соединение пред- ставлено на рис. 30с (стрелкой) в виде вертикального канала (состоя- щего, возможно, из (обычных) передающих состояний |о), но можно и непосредственно соединить bv с ау. В самом деле, границу для D (iy . . . i™), состоящую из одной клетки U между by и bv, можно отождествить с границей для Р (4г • • • i™), состоящей из одной клетки U между ау и ау (см. аналогичные ситуации на рис. 29), и тогда by совпадает с ay, a bv совпадает с ау. Теперь по рис. ЗОЬ—30с легко проанализировать работу этого органа. Возбуждение на входе av (которому на участке ptp2 рис. ЗОЬ соответствует одна из черточек, помеченных звездочкой) может привести лишь к возбуждению выхода bv. Существует лишь один выход by, и он лежит перед av (в направлении стрелок вдоль глав- ного канала), а именно на отрезке p2q2 (см. рис. 30с). Следовательно, этот выход будет возбужден, а от него импульс пойдет прямо (вдоль стрелки) к входу av>, расположенному на отрезке q^i (рис. 30с). Таким образом, будет возбужден вход av>, который может возбудить лишь by. Все выходы bv> лежат перед av>, а именно на отрезке PiP2 (на рис. ЗОЬ они располагаются среди черточек, отмеченных звездочками). В итоге импульс, пришедший на av (обязательно на черточку со звездочкой на рис. ЗОЬ), будет возбуждать все выходы by (расположенные среди черточек, отмеченных звездочкой на рис. ЗОЬ) независимо от их взаимного расположения на отрезке PiPz- Затем импульс пропадет, т. е. периодического повторения не будет, ибо главный канал рис. ЗОЬ открыт (от до q2), т. е. он не циклический. Таким образом, на рис. 30а получили то, что хотели. [На этом фон Нейман заканчивает обсуждение кодированного канала. Напомним, что обсуждение нециклического кодированного канала он закончил (разд. 3.6.1) правилом (16'), относящимся к иска- жениям, возникающим в случае, когда импульсы поступают в коди- рованный канал слишком часто. Естественно спросить, почему фон Нейман не сформулировал соответствующее правило для цикличе- ского кодированного канала рис. 30. Быть может, он не сделал этого потому, что ему удалось сконструировать орган управления для своего универсального самовоспроизводящегося автомата, исполь- зуя нециклический кодированный канал, см. рис. 37.] 222:
ГЛАВА 4 КОНСТРУКЦИЯ ЛЕНТЫ И СИСТЕМЫ УПРАВЛЕНИЯ ЕЮ 4.1. ВВЕДЕНИЕ. 4.1.1. Резюме. В на- стоящей главе фон Нейман пока- зывает, каким образом в его бес- конечную клеточную структуру могут быть встроены неограниченно уд- линяемая лента и система управле- ния ею. Эта лента вместе с системой уп- равления ею состоит из следующих узлов. 1. Линейный массив L, предназна- ченный для хранения информации: О представляется в ячейке хп со- стоянием U, а 1 — состоянием |о« 2. Соединительная петля С4 для счи- тывания содержимого произвольной ячейки хп. 3. Временная петля С2 для изменения длины соединительной петли Ср 4. Узел управления памятью (УУП) для управления работой узлов L, С4 и С2. 5. Конструирующий узел (КУ) для управления узлом УУП. Все эти узлы, кроме КУ, показаны (без соблюдения масштаба) на рис. 37. См. также рис. 50. В оставшейся части этого раздела фон Нейман дает описание этих узлов. В разд. 4.2 он разрабатывает в деталях процессы удлине- ния и укорочения петель Сь С2 и записи информации в ячейку хп. В разд. 4.3 он конструирует большую часть УУП; заканчивает всю схему в разд. 5.1. Фон Нейман разрабатывал свою конструкцию в несколько этапов, продумывая их по мере продвижения вперед. Окончательная схема работает следующим образом. Конструирующий узел (КУ) посылает импульс в узел управления памятью (УУП), указывая, что должна быть прочитана ячейка хп. Этот импульс приводит к тому, что в соединительную петлю С4 поступает последовательность 10101. Затем эта последовательность входит в ячейку хп, и, если хп находится в состоянии U, то последо- вательность 1010 переводит ее в состояние а 1 возвращается в УУП. Если же хп находится в состоянии |о, то в УУП возвращает- ся вся последовательность 10101. Дискриминатор Т определяет, какая последовательность, 1 или 10101, появилась на выходе, и сооб- щает в КУ, что хранилось в ячейке хп — 0 или 1. В любом случае хп остается в состоянии 4о. Затем КУ сообщает УУП, следует ли удлинить петлю С<, чтобы пройти через хп+1, или сократить Сь чтобы пройти через хп^, и сле- Гл. 4. Конструкция ленты и системы управления ею 223
дует ли оставить хп в состоянии U или Петля С4 используется для хронометрирования удлинения (или укорочения) петли С2. После -этого петля С2 используется для хронометрирования удлинения (укорочения) петли Сь а в ячейку хп тем временем записывается новый бит информации. В конце всего процесса УУП посылает в КУ сигнал окончания. Мы перечислили функции КУ, касающиеся УУП. Основная задача КУ заключается в осуществлении конструирования вторич- ного автомата, описание которого хранится в линейном массиве L. Таким образом, универсальный конструирующий автомат состоит из двух частей: конструирующего узла (КУ) и произвольно большой памяти с устройством для управления ею (УУП, L, С4иС2). См. разд. 1.6.1.2 и гл. 5.] 4.1.2. Линейный массив L. Итак, построение вспомогательных конструкций закончено, и мы можем перейти к нашей первой основ- ной цели. Тот весьма сложный орган, который мы сейчас будем кон- струировать, предназначен для решения одной задачи, но на самом деле он несет ответственность примерно за половину всего самовос- производящегося организма. Поэтому имеет смысл остановиться здесь и сделать ряд общих замечаний относительно всего построения, которое нам предстоит осуществить. Нам понадобится автомат, способный выполнять универсальные логические функции. Мы подробно опишем способ включения его в процесс самовоспроизведения, но мы должны априорно знать, насколько необходимо его иметь. Эти вопросы широко обсуждались в гл. 1. Впервые они возникли при формулировке вопросов (А)—(Е) в разд. 1.1.2.1, затем развивались в разд. 1.2—1.7 (особенно в разд. 1.4—1.6). Поэтому мы будем временно считать потребность в универсальном логическом автомате само собой разумеющейся и обсудим способы и средства его построения. В разд. 1.2.1 и 1.4.2.3 отмечалось, что универсальный логиче- ский автомат обязательно включает в себя две основные части: схему, реализующую элементарные логические функции (+, •, —) и с по- мощью их комбинирования выражающую все высказывательные функции в логике, и произвольно большую (конечную, но свободно регулируемую) внешнюю память со схемой для управления ею и ее использования. Мы знаем, что первую часть — машину для выражения выска- зывательных функций — можно построить относительно простыми средствами. В самом деле, принципы, связанные с таким построе- нием, постоянно использовались в наших предыдущих конструк- циях. Подробнее мы остановимся на этом позже. Займемся Часть II. Теория автоматов 224
сначала второй частью, т. е. произвольно большой внешней памятью и служебной схемой. Физически произвольно большая внешняя память воплощается в линейном массиве L (разд. 1.4.2.1—1.4.2.4). Мы видели, что желательно, чтобы он состоял из клеток, каждая из которых могла бы находиться в одном из к наперед заданных состояний. В разд. 1.4.2.1 выяснилось, что для того, чтобы эти состояния были удобными для осуществления их «нотационной» роли, они должны быть квазппокоящимися, т. е. типа U или невозбудимых форм пере- дающих или конфлюентных состояний. По ряду причин практически удобнее состояния U и обычные передающие состояния. Как указано в разд. 1.4.2.4, мы будем пользоваться двоичным обозначением, т. е. положим к = 2. В соответствии с этим мы будем пользоваться состоянием U и подходящим обычным передающим состоянием. Ориентация последнего должна быть согласована с ориентацией линейного массива L. Точнее, с учетом способа, которым мы будем использовать массив L, ориентация этого передающего состояния должна быть трансверсальной к направлению массива L. Последний располагается горизонтально. Поэтому удобнее ориентировать передающее состояние вертикально вниз, т. е. взять |о. (В данном случае ^0 обозначает невозбудимую форму этого состояния, а имен- но Т030, см. разд. 2.8.2.) Для того чтобы связь с двоичным обозначе- нием была однозначной, отнесем состоянию U разряд 0, а состоя- нию |о — разряд 1. Итак, линейный массив L представляет собой последовательность ячеек хп, п = 0, 1, 2, . . ., образующих непрерывную горизон- тальную линию, каждая из которых может принимать два состоя- ния: U, |о. С каждой ячейкой хп мы связываем числовую перемен- ную £п, которая обозначает двоичный разряд, представляемый хп. Иными словами, = 0 означает, что хп находится в состоя- нии U, а |п = 1 означает, что хп находится в состоянии |о. Так как длина массива L должна быть конечной, то индекс п должен принимать лишь конечное множество значений; пусть, например, п = 0, 1, ..., N — 1. Лучше всего положить = О для достаточно больших п. В силу этого конец массива L сливается с полем состояний U, расположенных по предположению за преде- лами специально сконструированных органов, так что не важно, как на самом деле оканчивается массив L. Для того чтобы извлечь пользу из этой внешней памяти — мас- сива L, необходимо создать служебные схемы, т. е. те средства, которые позволят «изучать» массив L. Это «изучение» состоит в счи- тывании содержимого массива в любом наперед заданном участке и в любом изменении его в любом месте. Перейдем к обсуждению этих операций над L: считывания и изме- нения заданных участков. Гл. 4. Конструкция ленты и системы управления ею 225
4.1.3. Конструирующий узел и узел управления памятью1). Считывание содержимого любой ячейки массива L, скажем хп, означает определение значения Изменение любого участка означает замену прежнего значения Еп новым значением £'п. Для нумерации таких последовательных изменений удобно исполь- зовать индекс 5 ( = 0, 1, 2, . . .). Тогда величина в данный момент будет обозначаться а при следующем изменении она становится gn+i. Таким образом, = £п- Величина п, участвующая в обеих операциях (считывании и изменении), также зависит от s. Выразим эту зависимость в явной форме: пусть ns обозначает номер п на шаге Число ns можно задать абсолютно и относительно. Окажется, что последнее предпочтительнее. Неудобно — и, если требовать абсолютной логической универсальности, даже нельзя — ограни- чить величину п (или 7V, см. выше). Поэтому количество двоичных разрядов числа п также не ограничено. Следовательно, п нельзя (или неудобно) разместить «внутри» логического автомата, т. е. в его первой основной части (см. разд. 4.1.2). С другой стороны, неудобно хранить п во второй основной части, т. е. в неограничен- ной внешней памяти L. Другими словами, на этой стадии построения автомата нежелательно (хотя мы будем это делать потом, когда продвинется наше построение) использовать для «адресации» внутри массива L сам массив. Все это делает невозможной прямую адре- сацию, т. е. «абсолютное» задание величины п, так что остается только «относительное» задание. В каждый момент времени, когда возникнет необходимость задать значение п, мы не будем явно его указывать, а укажем только, как связано нужное значение п с только что использованным. Достаточно допустить, чтобы это число в каж- дую единицу времени изменялось на 1 (Тьюринг [3]). Другими сло- вами, зависимость числа п, которое предстоит рассмотреть, т. е. ns, от числа п, рассматривавшегося только что, т. е. ns-1, будет выра- жаться формулой ns = ns~1 + es (8s 1). (17') «Относительное» задание состоит в указании значения 8s. Вернемся снова к разбиению универсального логического авто- мата на две основные части (разд. 4.1.2). Теперь мы можем уточнить это деление и несколько модифицировать его. Первая часть — схема, выполняющая элементарные логические функции и комбини- рующая их для получения универсальных высказывательных функ- г) [Фон Нейман не дал названия этим двум узлам, обозначив их просто А и В, хотя они отличаются от узлов А и В разд. 1.6. Настоящий подраздел назы- вался у него «Детальное описание функционирования массива L. Схемы А и В. Функция узла А и его связь с В».] Часть II. Теория автоматов 226
ций. Будем обозначать эту часть КУ. Вторая часть — внешняя память L и схема, необходимая для управления ею и ее использова- ния. Будем обозначать эту часть УУП. Таким образом, вторая часть в смысле разд. 4.1.2 состоит из L и УУП. Определим теперь точнее функции КУ и УУП. [Рис. 37 показывает соотношение между УУП, L, соединитель- ной петлей Ci и временной петлей С2.] Мы знаем, что УУП предназначен для считывания и изменения заданных участков массива L. При данном 8s УУП должен заменить ns-1 на п3 (согласно (17')), воспринять и при данном заме- нить £ns на ^п+Л Слова «при данном 8s» и «при данном требуют дополнительного разъяснения. Надо еще уточнить, как именно получаются значения е и gns . Лучше всего, чтобы значения 8s и находил конструирующий узел КУ. Этот узел будет получать их в виде функции от своего собственного состояния в предыдущий момент и информации, накоп- ленной в процессе считывания осуществляемого узлом управ- ления памятью. Считывание с помощью УУП производится после формирова- ния 8s, т. е. ns (в соответствии с (17')), но до формирования lns\ так что считывание должно влиять на последнюю величину, но не на первую. Удобнее описывать формирование ns+1 по ns, а не п8 по ns-1. Для этого надо только заменить s на s + 1 в формуле (17'): rf+i = ns + 8S+1 (8S+1 - ± 1). (18') Теперь можно описать работу узлов КУ и УУП. Сначала КУ дает «пусковой» импульс на УУП, и УУП начинает работу с шага s (если это тот шаг, который был достигнут к этому времени). Затем УУП читает £ns и передает результат в КУ. Эта новая информация изменяет состояние КУ, и он формирует и 8S+1 и передает их в УУП. Тогда УУП заменяет ^sns на а затем формирует ns+1 в соответствии с (18') и устанавливает такой же контакт с ns+1 (т. е. с %ns+i в L), который был у него только что с ns (т. е. с хп& в L). На этом заканчивается шаг $, и УУП сообщает об этом в КУ. Если КУ в тот момент находится в соответствующем состоянии, то он посылает следующий «пусковой» импульс в УУП, и УУП пере- ходит к шагу s + 1 и т. д. Работу КУ мы опишем схематически. Поэтому достаточно будет отметить, что КУ, будучи конечной схемой, имеет лишь конечное число (скажем, а) состояний. Занумеруем эти состояния индексом а = 1, . . ., а и обозначим состояние узла КУ в начале шага s через а5. Гл. 4. Конструкция ленты и системы управления ею 227
Сформулируем теперь важные для нас свойства, касающиеся узла КУ и его связи с УУП. Если КУ находится в состоянии as и УУП передает ему значение ^s, то КУ переходит в состояние gy. (19'а) Если КУ находится в состоянии as+1, то он формирует (и передает в УУП) значение равное ^ = X(as+1). (19'Ь) Если КУ находится в состоянии as+1, то он формирует (и передает в УУП) значение es+1, равное es+1 — 2? (as+1). (19'с) КУ посылает в УУП «пусковой» импульс для шага s тогда и только тогда, когда его состояние as принад- лежат подмножеству S множества всех состояний a. (19'd) Таким образом, три функции А (а, I) (сс= 1, ..., а; £-0, 1; Л-1, ..., а), (20'а) Х(а) (а = 1, а; Х--=0, 1), (20'Ь) Я(а) (а=1, .... а; Е = ± 1) (2О'С) и множество S (подмножество множества всех а —1, ..., a) (20'd) дают описание работы КУ и его связи с УУП (по крайней мере той части работы, которая существенна для наших ближайших целей). Потом мы подробно опишем КУ г), а сейчас нам вполне достаточно этого описания. Перейдем теперь к полному детальному конструи- рованию УУП и изучению его связей с КУ. 4.1.4. Новая формулировка постулатов, касающихся работы КУ и УУП. (1) Пусть КУ и УУП достигли начала шага s. КУ находится в состоя- нии as, УУП подключен к ячейке xnS в L. (2) Если as не принадлежит 5, то КУ не будет обращаться в УУП. Если as принадлежит S, то КУ посылает «пусковой» импульс в УУП. Этот «пусковой» импульс дает начало событиям шага s. г) [Фон Нейман так и не дошел до той части рукописи, в которой он плани- ровал разработать конструкцию КУ. См. гл. 5.] Часть II. Теория автоматов 228
(3) УУП считывает содержимое ячейки хп&, т. е. значение и передает его в КУ. (4) Затем КУ формирует as+1 в соответствии с (19'а) и переходит в состояние as+1. (5) Затем КУ формирует и es+1 в соответствии с (19'Ь) и (19'с) и передает их в УУП. (6) УУП изменяет xnS, поскольку потребовалось заменить ^8на (7) Затем УУП формирует n8+1 = п8 + es+1 (см. (18')) и подклю- чается к хп&+1, отключаясь от хп8. Иными словами, он передви- гает место своего подсоединения к L на одну ячейку вперед, если 8S+1 = 1, и на одну ячейку назад, если es+1 = —1. (8) Наконец, УУП посылает в КУ «завершающий» сигнал. (9) Теперь шаг s завершен и начинается шаг s + 1. Весь цикл возобновляется, начиная с пункта (1) и т. д. Так как мы хотим дать лишь схематическое описание КУ (см. разд. 4.1.2), то пока достаточно чисто формальных постулатов (1), (2), (4), (5), касающихся КУ. С другой стороны, постулаты (1)—(3) и (6)—(8) касаются УУП, и так как наша ближайшая задача — осуществить эффективное и детальное конструирование УУП, то мы должны построить реальные конструкции, моделирующие эти утверждения. Мы сделаем это в разд. 4.1.5—4.1.7. 4.1.5. Modus operandi г) УУП и L. Прежде всего мы должны определить характер «подключения» УУП к ячейке хп в L, о котором шла речь в постулатах (1) (для п = п8) и (7) (для п = п8+1). Это подключение должно обеспечить возможность «считывания» содер- жимого ячейки хп (постулат (3); п = п8) и изменения хп (постулат (6); п = ns) с помощью УУП. Кроме того, должна быть обеспечена воз- можность передвижения места такого подключения на одну клетку вперед или назад (постулат (7)). Линейный массив L представляет собой последовательность клеток хп, п = 0, 1, 2, . . . . Мы предполагаем, что он расположен горизонтально, простирается и нумеруется слева направо, как показано на рис. 31а. УУП лежит слева от L, как изображено на том же рисунке. Очевидно, что «считывание» клетки хп (п = ns; постулат (3)) можно осуществить с помощью линии, состоящей из обычных пере- дающих состояний и идущей к хп от УУП, а затем назад от хп к УУП. Проведем эту линию от УУП к хп в верхней части массива L, а от хп к УУП в его нижней части. Вместе с хп обе части этой линии обра- зуют петлю от УУП к УУП; мы будем называть ее соединительной петлей и обозначать С4 (рис. 31Ь). Теперь клетку хп можно «счи- г) Способ действия (лапг.).— Прим, перев. Гл. 4. Конструкция ленты и системы управления ею 229
тать», посылая импульс в петлю Ct на ее вход щ и наблюдая сигнал на ее выходе Если клетка хп находится в состоянии U (т. е. = = 0), то этот импульс не сможет пройти через хп (на выходе не будет отклика). Если хп находится в состоянии |о (т. е. = 1), то этот импульс пройдет через хп (на появится отклик). Заметим, что импульс, идущий от через петлю Ср все же дей- ствует на клетку хп, если она находится в состоянии U (т. е. %п = 0). Он переведет хп в чувствительное состояние Sq (см. по этому поводу и в связи с последующим обсуждением переходов между состоя- ниями разд. 2.8). Если бы ничего больше не происходило, то клетка хп переходила бы спонтанно из состояния Sq в другие состояния, причем полная последовательность таких состояний имела бы вид U —> Sq —> So —> Soo —> Sooo —> Sqooo = Tooo — • (21') Нам нужно, чтобы в конце концов клетка хп оказалась в том же состоянии, в каком она была бы при других обстоятельствах (т. е. если бы было Ц = 1 вместо £„ = 0), а именно в состоянии |о« Это важно потому, что наши дальнейшие операции с клеткой хп будут гораздо проще, если будет известно, что они всегда начинают- ся с одного и того же состояния клетки хп. Состояние |0 есть Т030, т. е. Soio- Поэтому за первоначальным импульсом (переводящим хп из U в S) должна идти последовательность импульсов и пауз 010. Следовательно, вся последовательность (на должна иметь вид 1010. Посылка последовательности 1010 на приводит, таким образом, в случае £„ = 0 к последовательным преобразованиям U—> S9 > So—> S01—> SOjo — ТОзо = (22') Так как в результате клетка хп переходит в состояние то ни один из этих импульсов не может пройти через хп, так что на нет откли- ка. В случае = 1 клетка хп уже находится в состоянии {о, так что оно не изменяется и все импульсы проходят через него, а на выхо- де появляется 1010. Итак, посылка на последовательности 1010 приводит к тому, что хп в конце концов переходит в состояние ^0? а на выходе либо не возникает отклика (при = 0), либо появ- ляется 1010 (при = 1). Эта процедура все еще содержит один недостаток: критерий «нет отклика на zz>p>, выражающий тот факт, что %п = 0, не имеет смысла, если неизвестно, в какой именно момент времени следует ожидать этого «отсутствия отклика». В самом деле, на и?! нет отклика во все те моменты, в которые не затрагивался (не возбуждался) вход Это означает, что задержку от до надо устанавливать другими средствами. В дальнейшем это потребуется также и для других целей, и мы достигнем этого с помощью так называемой временной Часть II. Теория автоматов 230
петли (см. дальше). Но сейчас нужный нам результат можно полу- чить проще, и мы будем использовать эту более простую прямую процедуру. Действительно, достаточно добавить еще один импульс к последо- вательности 1010 на входе т. е. послать на vi последователь- ность 10101. Перед приходом последнего импульса клетка хп нахо- дится в состоянии |о, так что этот импульс пройдет через нее, появится на а клетка хп останется в состоянии Таким обра- зом, посылка 10101 на всегда приводит хп в состояние |о и вызы- вает на выходе отклик 1 при ££ = 0 и 10101 при £„ = 1. Если за входным сигналом 10101 на следует 00, то при — 0 за 1 на Wi также следует 00, а так как перед 1 определенно идет 0000 (см. выше), то при = 0 на выходе Wi появляется 0000100. Эта последовательность не может содержать в себе последовательность 10101 (которая соответствует случаю ££ “ !)• Поэтому момент появления отклика на устанавливается сам по себе, и этот отклик дает возможность различить = 0 и £„ = 1. Такое различение осуществляет дискриминатор Т (рис. 25). Итак, проблема считывания содержимого ячейки хп (п = ns) решена и конструкция схемы, осуществляющей эту процеду- ру, в общих чертах ясна. (Реальную конструкцию мы обсудим позже.) [Введение последовательности 10101 является первой из множе- ства операций, применяемых к линейному массиву L, соединитель- ной петле Ct и временной петле С2. Остальные операции мы рассмотрим в оставшейся части разд. 4.1 и в разд. 4.2 (см. рис. 37 и 38). После того как мы закончим построение схемы фон Неймана, будем использовать для считывания и записи в клетку хп массива L, а также для удлинения (или укорочения) соединительной петли С4 и временной петли С2 с целью подготовки к считыванию клетки xn+i (или хп_1) следующие операции: (1) Считать клетку хп с помощью 10101, оставив ее в состоянии |о« (2) Укоротить (или удлинить) временную петлю С2, используя соединительную петлю С4 для хронометрирования этой операции. (3) Удлинить (или укоротить) нижнюю часть соединительной петли С4, используя временную петлю С2 для хронометрирования этой операции. (4) Перевести, если потребуется, клетку хп в состояние U. (5) Удлинить (пли укоротить) верхнюю часть соединительной пет- ли С4, используя временную петлю С2 для хронометрирования этой операции.] Гл. 4. Конструкция ленты и системы управления ею 231
4.1.6. Соединительная петля СР Соединительная петля Q по опре- делению должна решить проблему изменения состояния клетки хп (п = ns, см. постулат (6) в разд. 4.1.4), т. е. проблему перевода ее из состояния U (при — 0) или |о (при = 1) в состояние, отвечающее значению ^+1- Естественно (и проще) осуществлять преобразование клетки хп сразу же после считывания ее (разд. 4.1.5). Однако, как мы увидим, это приведет в дальнейшем к противоречию, так что мы потом отка- жемся от такой организации. Но сейчас будет полезно рассмотреть проблему изменения клетки хп, основываясь на этом положении (а в дальнейшем скорректировать решение). Итак, рассмотрим процесс изменения клетки хп, проводимый сразу же после ее считывания. В этот момент хп находится в состоя- нии 1о (см. выше), что несколько упрощает задачу. Действительно, теперь нужно различать только 2 случая: Hn+1 = 1 — клетка хп уже находится в нужном состоянии и ничего не надо делать; Hn+1 = = 0 — надо перевести хп из состояния |о в состояние U. (Если бы клетка хп не изменила своего состояния по сравнению с перво- начальным, то пришлось бы разбирать три различных случая: 1) In = £п+\ ничего не надо делать; 2) %sn = 1, = 0, следует перевести хп из {о в U; 3) — 0, £n+1 = 1, следует перевести хп из U в 1о.) Единственная проблема, которую предстоит сейчас решить, состоит в переводе хп из в U. Так как |о представляет собой обычное передающее состояние, то обычными импульсами этого нельзя добиться. Отсюда возникает необходимость привести в соот- ветствующий контакт с хп специальные импульсы. Это можно сделать так. Пусть какое-то специальное состояние находится в непосредственном контакте с первой клеткой О в Ci, т. е. с клеткой, следующей за и расположенной над xQ. Для этого достаточно поместить сразу же над рассматриваемой клеткой О (на рис. 31 в соответствующем месте изображена звездочка). Спе- циальный импульс, идущий от звездочки, переведет рассматривае- мую клетку О (т. е. клетку, расположенную над х0) в состояние U. Затем ее надо перевести в состояние . , т. е. в Т1оо (— SOn). Поэтому за первоначальным специальным импульсом должна идти последова- тельность импульсов и пауз 1011, причем этими импульсами могут быть и обычные, и специальные, ибо они одинаково влияют на чув- ствительные состояния. Проще, когда вся последовательность состоит из импульсов одного типа. Это значит, что тогда от звездочки на рис. 31 будет поступать последовательность специальных импуль- сов ПОИ, так что клетка, расположенная над х0, будет последова- тельно переводиться в состояния _о U—> So so S01 Soll = Т100 = X. (23') Часть IT. Теория автоматов 232
Теперь клетка, расположенная над xQ, находится в состоянии Поэтому вторая последовательность специальных импульсов 11011, исходящая от клетки *, пройдет через клетку 1» над xQ и попадет в следующую клетку О, т. е. в клетку, расположенную над^. Она заставит эту клетку пройти последовательность преобразований (23') и приведет ее в конце концов в состояние . Теперь клетки над xQ и Xi обе находятся в состоянии Поэтому третья последователь- ность специальных импульсов 11011, исходящая от клетки *, пройдет через клетки V над х0 и и попадет в следующую клетку £, т. е. в клетку, расположенную над х2. Она заставит эту клетку пройти последовательность преобразований (23') и приведет ее в кон- це концов в состояние X- Теперь клетки над xQ, Xi и х2 находятся в состоянии 1Ж. Ясно, что этот процесс можно продолжить. После посылки п последовательностей специальных импульсов 11011 от клет- ки * п клеток, лежащих над я0, . ., хп^, перейдут в состо- яние . На этом шаге процедуру надо изменить, поскольку клетку над хп надо преобразовать так, чтобы она направляла специаль- ный импульс к хп, а не к следующей клетке О (расположенной над яп+1). Иными словами, клетка над хп должна перейти в состояние |i г т. е. Т130 (= Sllo). Поэтому из клетки * теперь нужно послать последовательность специальных импульсов 11110, преобразующую клетку над хп последовательно в состояния О —>U—>S0—>St—>SH—>S110 = T130= |1 . (24') Итак, у нас есть непрерывная цепочка специальных передающих состояний от клетки * до хп. Следовательно, мы можем трансформи- ровать хп. Таким преобразованием будет преобразование от к U, вызываемое одиночным специальным импульсом, посланным от клетки *. Таким образом, нам нужна следующая система последователь- ностей специальных импульсов, исходящих от клетки *: п последо- вательностей 11011 и последовательность 111101 (представляющая собой, конечно, последовательность 11110, а затем 1). На рис. 31с показано состояние петли С4 и массива L в результате всех этих преобразований. Но оставлять в таком состоянии ту часть петли Сп которая была модифицирована (т. е. ее верхнюю линию), не следует. Ее легко вернуть из измененного состояния (рис. 31с) в исходное (рис. 31b), а хп оставить в измененном состоянии (в состоянии U). Действитель- Гл. 4. Конструкция ленты и системы управления ею 233
но, так как верхняя линия петли Q теперь состоит из специальных передающих состояний, то вернуть ее в исходное состояние смогут обычные импульсы. Их надо послать на z^. Первые п клеток (рас- положенные над xQ, х^ . . ., xn_t) надо перевести из состояния X в состояние JD, т. е. ТООо ( = Soooo)- Поэтому на z?i надо послать п после- довательностей обычных импульсов 110000. Первая из них переводит клетку над xQ из в JD : > U > S0 > So > Soo > SOgO > Soooo “ Тооо — |O • (25 ) Вторая также преобразует клетку над Xi и т. д., п-я преобразует клетку, расположенную над хп_г. Затем можно перевести клетку над хп из |i в т. е. в Тозо (= SOiO)- Поэтому на v{ надо послать последовательность обычных импульсов 11010, преобразующую клетку над хп в состояния —>U > So > So > S01—> Solo — Тозо = ^0* (26z) Таким образом, нам нужна следующая система последователь- ностей обычных импульсов, посылаемых на vr: п последовательно- стей 110000 и последовательность 11010. Состояние петли Ci и мас- сива L в результате всех этих преобразований показано на рис. 31b, но здесь хп находится в состоянии U. Итак, на Ci должны посылаться как обычные, так и специальные импульсы. Управлять обоими типами импульсов лучше с помощью обычных импульсов, идущих от УУП. Для этого необходимо допол- нительное оборудование: обычные импульсы на С4 должны посылать- ся прямо на Vi. Кроме того, требуется оборудование для специаль- ных импульсов на С4, которые должны исходить от клетки * на рис. 31b и 31с. Другими словами, нужен орган для преобразования обычных импульсов в специальные. Мы уже конструировали орган такого типа для применений в периодическом импульсаторе. Он показан на рис. 18g и 18i. Устройство рис. 18i более удобно. Его подсоединение к Ct и L показано на рис. 31d. Вход в этот вспомога- тельный орган обозначен буквой Таким образом, мы получили систему, в которой первоначальная импульсации осуществляется с помощью обычных импульсов, посы- лаемых либо на и{, либо на z?i. В первом случае это приведет к поступ- лению на Ci специальных импульсов, во втором прямо на С4 посы- лаются обычные импульсы — в обоих случаях импульсы приходят в клетку над xQ. Теперь можно придать окончательную форму описанию про- цедуры, переводящей хп из состояния U в состояние |о и оставляю- щей все остальное в Ci и L в исходном состоянии: Часть И. Теория автоматов 234
Подать п последовательностей 11011 на и±. (27'а) Подать последовательность 111101 на щ. (27'Ь) Подать п последовательностей 110000 на (27'с) Подать последовательность 11010 на vt. (27'd) 4.1.7. Временная петля С2. Схема, сформулированная в прави- лах (27'а)—(27'd), все еще не полна в одном отношении. Правила (27'а) и (27'с) требуют я-кратного повторения посылки последова- тельностей 11011 и 110000 на щ и Это можно сделать с помощью периодических импульсаторов РР(ИОИ) и РР(ИОООО), но их надо выключить с задержкой Ьп и 6п соответственно после их включения. Каким образом обеспечиваются эти задержки? С первого взгляда может показаться, что трудность здесь связана с числом п — с невозможностью хранения его внутри УУП (с трудностью такого рода мы встретились в начале разд. 4.1.3). Эту трудность можно обойти тем же приемом: дать относительное, а не абсолютное определение величины п. Но при имеющихся в нашем распоряжении схемах было бы непрактично хранить п в самом мас- сиве L. Необходим еще один «внешний» орган — для хранения п, или, скорее, для выражения п таким способом, чтобы было возможно его непосредственное восприятие. По-видимому, лучше всего ввести для этого еще одну петлю от УУП к УУП, длина которой будет равна п или сумме п и некоторой фиксированной величины. Это означает, что у нас есть последовательность п обычных передающих состояний О,, расположенных на фиксированном расстоянии под L, идущих параллельно L от УУП. Последовательность оканчивается обычным передающим состоянием |о. Сразу же под ней идет назад к УУП другая линия из n-\-i обычных передающих состояний О_. Эти две линии расположены под ячейками х0, . . ., хп массива L; они образуют петлю, которую мы будем называть временной петлей и обозначать С2 (см. рис. 31е). Ясно, что импульс, поданный на вход v2 временной петли, появляется на ее выходе w2 с задержкой 2п + 2. Позже мы увидим, что С2 надо снабдить теми же дополнительными средствами для посылки специальных импульсов, какими мы снаб- дили петлю Ср Поэтому мы снова поместим схему, эквивалентную схеме рис. 18i, над клеткой О, расположенной под xQ, и обозначим вход в это устройство символом и2. Это устройство определяет рас- стояние от Ci до С2 и положение обеих петель относительно УУП (см. рис. 31f). Так как задержка от z?2 до w2 равна 2п + 2, то задержка при троекратном прохождении по этой петле равна 6п + 6. Эта задерж- ка отличается от задержки 6я, обусловленной операцией (27'с), Гл. 4. Конструкция ленты и системы управления ею 235
на 6, т. е. на фиксированную величину (не зависящую от п). Следо- вательно, ее можно использовать для создания последней, если встроить соответствующие фиксированные задержки, которые можно будет реализовать внутри УУП. Так как задержка, обусловленная операцией (27'а), равна 5п, то нельзя найти такого целого числа, чтобы при умножении его на 2п + 2 получить число, которое отличалось бы от 5п на фикси- рованную величину (не зависящую от п). Эту трудность можно прео- долеть, добавив 0 (т. е. отсутствие импульса) к последовательности 11011 в операции (27'а). Получим последовательность 110110, а опе- рация (27'а) заменится на операцию Подать п последовательностей 110110 на (27'а') Операция (27'а') требует задержки 6п, т. е. здесь можно поступить так же, как с операцией (27'с). Восприятие трех актов прохождения по временной петле можно осуществить с помощью тройного возвратного счетчика Ф (рис. 23). Его выход d надо подсоединить к z?2, а вход с — к w2. Пусть задержка от d до v2 равна б', а задержка от w2 до с равна 6". Тогда орган Q (разд. 3.4) будет состоять из отрезка от d до р2, участка петли С2 от z?2 до w2 и отрезка от ы2 до с. Поэтому задержка от с через Q к d равна 62 + (2п + 2) + б". Следовательно, согласно концу разд. 3.4 и рис. 24d, задержка от а через Ф (и Q) к Ъ равна 238 + 3 (б£ + + (2п + 2) + dJJ) = бтг + (3 (б' + б") + 244). Это превышает задержку 6п, обусловленную операциями (27'а') и (27'с), на 3 (б' -f-б") + 244. Так как величина этой разности фиксирована (не зависит от тг), то нужную задержку можно подобрать с помощью подходящих фиксированных задержек, реализуемых внутри УУП. 4.2. УДЛИНЕНИЕ И УКОРОЧЕНИЕ ПЕТЕЛЬ С4 И С2 И ЗАПИСЬ В ЛИНЕЙНЫЙ МАССИВ 4.2.1. Перемещение точки подключения к L. Нам осталось обсу- дить еще один вопрос, а именно вопрос перемещения точки подклю- чения УУП к L на одну ячейку вперед или назад (постулат (7) в разд. 4.1.4). Другими словами, нас интересуют удлинение и укорочение обеих линий соединительной петли С4 на одну ячейку. В разд. 4.1.6 мы показали, что временная петля С2 должна иметь ту же длину, что и соединительная петля СР Следовательно, обе линии петли С2 также должны удлиняться или укорачиваться на одну ячейку. Выполнять эти операции лучше в тот момент, когда Q образует непрерывающуюся петлю от до (Петля С2, как правило, не пре- рывается от и2 до w2.) Это происходит в тот момент, когда хп нахо- Часть II. Теория автоматов 236
дится в состоянии |о. В конце разд. 4.1.5 и в начале разд. 4.1.6 мы видели, что клетка хп будет заведомо в состоянии в интервале времени между считыванием и изменением ее. (Считывание обяза- тельно предшествует изменению.) Поэтому мы будем выполнять рассматриваемые операции (удлинение или укорочение каждой линии петель Ci и С2 на одну ячейку) в течение этого интервала. Случай 8S+1 — 1, соответствующий удлинению петель, и случай £s+i __ —j, соответствующий укорочению, лучше рассматривать по отдельности. [Общий процесс, который нам предстоит осуществить, состоит в изменении петель С19 С2 на их концах и, возможно, модифицирова- нии содержимого ячейки хп. Процедура, позволяющая это делать, иллюстрируется рис. 14. Конструирующий путь постоянно изме- няется, становясь то путем из обычных передающих состояний, то путем из специальных передающих состояний. Путь из обычных передающих состояний превращается в путь из специальных пере- дающих состояний под влиянием специальных импульсов, а путь из специальных передающих состояний превращается в путь из обычных передающих состояний под влиянием обычных импульсов. Мы будем пользоваться входами для Ci и zz2, z?2 для С2 (см. рис. 31—37 и 39). Последовательность обычных импульсов, поданная на переводит верхнюю часть петли Ci в путь из спе- циальных передающих состояний, а затем последовательность обыч- ных импульсов, поданная на переводит верхнюю часть петли Ci снова в путь из обычных передающих состояний. Аналогично для входов и2, и2 петли С2. Переход клетки из обычного передающего состояния в специаль- ное передающее состояние (или обратно) требует в самом худшем случае 6 импульсов (см. рис. 10). Поэтому для перевода из обычного состояния в специальное (или обратно) всего пути из в хп потре- буется порядка бтг импульсов. Так как п — произвольное конечное число, то оно не может храниться в конечном автомате УУП (или конечном автомате КУ). Фон Нейман решает эту проблему введением временной петли С2. Временная петля С2 подсоединена к тройному возвратному счет- чику Ф2 (рис. 39). Она представляет собой реагирующий орган Q (разд. 3.4) для тройного возвратного счетчика Ф2. Тройная задержка вдоль петли С2 приближенно равна переменной части необходимой задержки, т. е. бтг. Нужную последовательность импульсов, подан- ных на ui или Z71? можно получить от периодических импульсаторов РР (гхг2г3г4г5г6), включенных примерно на бтг единиц времени. Анало- гично применяются тройной возвратный счетчик Ф1 (рис. 39) и пет- ля С4 для хронометрирования последовательности импульсов, необ- ходимой для модификации петли С2. Для изменения концов петель Гл. 4. Конструкция ленты и системы управления ею 237
и С2 и для записи в клетку хп нужны конечные последовательности импульсов; их легко получить от импульсаторов. До начала процесса удлинения (или укорочения) клетка хп долж- на быть считана с помощью последовательности 10101 и приведена в состояние |О (см. разд. 4.1.5). В готовой конструкции фон Ней- мана для удлинения (или укорочения) петель С4 и С2 и записи в клетку хп выполняется следующая последовательность опера- ций. (1) Удлинить (или укоротить) временную петлю С2 с помощью перио- дических импульсаторов и импульсаторов, подающих импульсы на входы и2 и и2. Продолжительность работы каждого периодиче- ского импульсатора определяется тройным возвратным счетчи- ком Ф1, для которого петля Q служит реагирующим органом Q. (2) Произвести следующие изменения в петле и в клетке хп: (а) Удлинить (или укоротить) нижнюю часть петли Сь обеспечи- вая доступ к ней через клетку хп, чтобы не нарушить состоя- ний клеток хп^ и хп+1. (Ь) Перевести клетку хп в состояние U, если нужно хранить 0, и в состояние 4о, если нужно хранить 1. (с) Удлинить (или укоротить) верхнюю часть петли СР Импуль- сы, вызывающие этот процесс, подаются от периодических импульсаторов и простых импульсаторов на входы и Продолжительность работы каждого периодического импуль- сатора определяется тройным возвратным счетчиком Ф2, для которого подключенная к нему петля С2 служит реаги- рующим органом Q. К концу этих двух этапов клетка хп оказывается в нужном состоянии, соединительная петля С4 проходит через хп+1, если потребовалось удлинение, и через хп^ если потребовалось укороче- ние, а временная петля С2 имеет ту же длину, что и Ci. В разд. 4.2.2—4.2.4 фон Нейман дает 31 команду подачи после- довательностей на петли Ci и С2 для достижения только что описан- ных результатов. Все эти команды собраны в табл. II на стр. 259. В разд. 4.2.2—4.2.4 они идут под номерами (28'а) — (ЗГЬ), в табл. II — под номерами 0.1—0.31. В табл. III на стр. 260 приведены периодические импульсаторы, необходимые для создания последовательностей, повторяющихся примерно бп раз, и дополнительные задержки, связанные с хроно- метрированием этих периодических импульсаторов с помощью трой- ных возвратных счетчиков Фь Ф2 и петель Сь С2. В табл. IV на стр. 262 приведены импульсаторы, необходимые для создания последовательностей, указанных в упоминаемых выше командах. При чтении оставшейся части настоящего раздела полезно пользо- ваться табл. II—IV.] Часть II. Теория автоматов 233
4.2.2. Удлинение массива L. Рассмотрим сначала случай 8S+1 = 1, соответствующий удлинению. При выполнении этой операции п (или п + 1) обычных передающих состояний (клетки О на верхних линиях петель Сь С2 и клетки на нижних линиях петель С19 С2) должны постоянно трансформироваться в специальные передающие состояния (..1>л J_) и обратно. Для осуществления таких преобразова- ний потребуются операции типа (27'а') и (27'с) (для клеток ->) и ана- логичные операции (для клеток <—). Следовательно, опять необходи- мо измерять задержки, равные бтг (или бтг плюс фиксированная величина), между моментами включения и выключения периодиче- ских импульсаторов. Пока петля С4 находится в работе, эти задерж- ки можно измерять с помощью петли С2 (и тройного возвратного счетчика с учетом подходящих фиксированных задержек; см. разд. 4.1.7). Пока в работе находится петля С2, естественно исполь- зовать для той же цели Ci (с аналогичными вспомогательными схе- мами). Именно по этой причине петля Ci должна в этот момент быть непрерывающейся (от УУП до УУП), т. е. клетка хп должна быть в состоянии |о (см. выше). Мы знаем, что это условие выполняется в момент начала нашей процедуры, поэтому операции с петлей С2 должны производиться в первую очередь (до операций с петлей СД. Итак, наша первая задача — удлинить обе линии петли С2 на одну клетку. Лучше всего начинать с перевода верхней линии петли С2 (клеток, расположенных под xQ, . . ., хп; их всего п + 1) в состояние X, т- е- из первоначального состояния, изображенного на рис. 32а, в состояние рис. 32Ь. Так как эти клетки находились в состоянии О , т. е. в обычном состоянии, то нужны специальные импульсы. В разд. 4.1.6 мы убедились (см. обсуждение операции (23')), что каждое такое преобразование вызывается последовательностью 11011 или, согласно разд. 4.1.7 (см. рассуждения, приведшие нас от операции (27'а) к операции (27'а')), последовательностью 110110. Итак, мы получили команду Подать тг-]-1 последовательность 110110 на и2. (28'а) Заметим, что для этого нужен периодический импульсатор РР(ИОИО) с задержкой бп + 6 между моментом его включения и моментом его выключения. Естественно соединить тройной воз- вратный счетчик Ф (см. рис. 24) с петлей Сь поскольку она сейчас используется для хронометрирования. Таким образом, выход d органа Ф присоединяется к а вход с органа Ф — к Пусть задержка от d до равна 6', а задержка от до с равна S". Задерж- ка от г?! через петлю Cf к Wi равна 2п + 3. Орган Q (разд. 3.4) состоит из отрезка от d до участка петли Ct от до и\ и отрезка от Гл. 4. Конструкция ленты и системы управления ею 239
до с. Поэтому задержка от d через й к с будет равна 6' + (2п + 3) + + б". Тогда (см. конец разд. 3.4 и рис. 24) задержка от а через Ф (и Q) к Ъ будет равна 238 + 3 (б* + (2я + 3) + 6") = 6п + + (3 (б' + 6'0 + 247). Она превосходит задержку 6п + 6, обуслов- ленную правилом (28'а), на величину 3(6* + б") + 241, не завися- щую от п. Эту разницу можно скомпенсировать с помощью подходя- щих фиксированных задержек, реализуемых «внутри» УУП. Дальше надо перевести клетку, расположенную справа от послед- ней клетки V (находящуюся в состоянии U), в состояние |1 и клетку, расположенную под ней (также находящуюся в состоянии U), в состояние О (от рис. 32b надо перейти к рис. 32с). Состояние |1 — это Т130(= Sllo), состояние О_ —это ТО2о ( — S00i)- Это значит, что нужны последовательности специальных импульсов 1110 и 1001. Мы получили вторую команду Подать последовательность 11101001 на и2. (28'Ь) Теперь нижняя линия временной петли С2 находится в нужном состоянии. Остается задача преобразования верхней линии. Нач- нем с перевода всех ее клеток, за исключением последней клетки (т. е. клеток, расположенных под . . ., хп\ их всего п + 1), в состояние JD. Петля С2 переходит из состояния, изображенного на рис. 32с, в состояние рис. 32d. Так как клетки, состояния которых нам предстоит изменить, находятся в состоянии то нужны обычные импульсы. В разд. 4.1.6 мы установили, что (см. обсуждение опера- ции (25')) каждое такое преобразование вызывается последователь- ностью 110000. Таким образом, мы имеем еще одну команду: Подать п -j-1 последовательность 110000 на v2. (28'с) Для выполнения этой команды нужен периодический импульсатор РР(110000) с задержкой 6п + 6 между моментами его включения и выключения. Можно использовать тот же самый тройной возврат- ный счетчик Ф, соединенный с петлей Ci, что и при выполнении команды (28'а). Задержка от а до Ъ (см. рассуждение после (28'а) и рис. 24) превышает нужную задержку на 3 (б' + б") + 241, а так как эта величина фиксирована, то необходимые регулировки можно осуществить внутри УУП. Наконец, надо перевести клетку, расположенную справа от последней клетки О (находящуюся в состоянии |1), в состояние |О, т. е. мы переходим от рис. 32d к рис. 32е. Состояние |о — это Т0зо(— S010). Поэтому нужна последовательность 11010 обычных импульсов, и мы получаем команду Часть II. Теория автоматов 240
Подать последовательность 11010 на р2* (28'd) На этом заканчивается процесс удлинения временной петли С2. Теперь рассмотрим аналогичный процесс для соединительной петли СР Состояние петли Ci показано на рис. 33а. Удобнее начать удлине- ние с нижней линии, а доступ к ней обеспечить по верхней линии через состояние |о клетки хп. В соответствии с этим переведем всю верхнюю линию, за исключением последней клетки (т. е. клетки, расположенные над xQ, х{, . . ., хп_{; их всего п), в состояние Иными словами, верхнюю линию петли Cj мы переводим из состоя- ния, изображенного на рис. 33а, в состояние рис. ЗЗЬ. Так как эти клетки находятся в состоянии О (т. е. в обычном состоянии), то нуж- ны специальные импульсы. По аналогии с (27'а') и (28'а) каждое преобразование вызывается последовательностью 110110, так что имеем команду Подать п последовательностей 110110 на (29'а) Для ее выполнения нужен периодический импульсатор РР(НОИО) с задержкой 6п между моментами его включения и выклю- чения. Хронометрирование можно обеспечить тройным возвратным счетчиком, подключенным к v2,w2 (его концами d, с соответственно); делается это так же, как в разд. 4.1 после операции (27'а'). Но теперь длина петли С2 на 1 больше, чем была там, так что задержка при прохождении по С2 увеличивается на 2, а при тройном прохождении по С2 — на 6. Поэтому фиксированная задержка, которую предстоит скомпенсировать регулировками «внутри» УУП, увеличивается на 6, т. е. становится равной 3(6^ + 6") + 250. Дальше мы переводим клетку, расположенную справа от послед ней клетки у (находящуюся в состоянии |о), в состояние |i, клет ку, расположенную под ней (находящуюся также в состоянии |о), также в состояние |i, клетку под ней (в состоянии О_) в состояние X (эти 3 клетки лежат над, на и под х^, клетку, расположенную справа от последней (в состоянии U), в состояние О_; т. е. мы переходим от рис. ЗЗЬ к рис. 33с. Состояние |i — это Т130(= Sllo), t — это ТюоО7 80ц), Q — это Т020( — SOoi)« Поэтому нужны последователь- ности специальных импульсов 11110, 11110, 11011, 1001, и мы полу- чаем команду Подать последовательность 1111011110110111001 на (29'Ь) Гл. 4. Конструкция ленты и системы управления ею 241
Теперь мы .можем привести клетку хп и клетку под ней в их окон- чательное состояние. Мы опять должны проходить по верхней линии. Переведем ее всю, кроме последней клетки (клетки, расположенные над xQ, Xi, . . xn_i; их всего п), в состояние О, т. е. перейдем от рис. 33с к рис. 33d. Так как та часть верхней линии, которую предстоит преобразовать, состоит теперь из клеток, находящихся в специальных передающих состояниях, то преобразование можно совершить обычными импульсами. Как и в случае операции (27'с), каждое преобразование вызывается последовательностью 110000, так что новой командой будет Подать п последовательностей 110000 на (29'с) Для выполнения этой команды нужен периодический импульса- тор РР( 110000) с задержкой 6п между моментами его включения и выключения. Эту задержку можно обеспечить с помощью тех же схем хронометрирования, что и для операции (29'а). Затем нам надо перевести клетку, расположенную справа от последней клетки Q (находящуюся в состоянии |1), в состояние |0, клетку под ней (находящуюся также в состоянии |i) в состоя- ние |о, клетку под последней (в состоянии ДД в состояние О (эти 3 клетки лежат над, на и под хп}, т. е. мы переходим от рис. 33d к рис. ЗЗе. Состояние ^0 — это Т030 (= SOiO), а О — это Того (= Sool)- Поэтому необходимы последовательности обычных импуль- сов 11010, 11010, 11001, так что мы получим команду Подать последовательность 110101101011001 на (29'd) Теперь рассмотрим удлинение верхней линии петли СР Начнем с перевода всей верхней линии (клеток, расположенных над xQ, х{, . . ., хп; их всего n + 1) в состояние X» т- е- перейдем от рис. ЗЗе к рис. 33f. Так как верхняя линия состоит из клеток, находящихся в обычных передающих состояниях, то это преоб- разование можно совершить специальными импульсами. Как и в слу- чае операции (29'а), каждое преобразование вызывается последова- тельностью 110110, и мы получаем команду Подать n-f-l последовательность 110110 на щ. (29'е) Для ее выполнения нужен периодический импульсатор РР(ИОНО) с задержкой 6п + 6 между моментами его включения и выключения. Эту задержку можно обеспечить с помощью тех же схем хронометрирования, что и для операции (29'а), но теперь задержка должна быть на 6 единиц больше. Поэтому фиксирован- Часть II. Теория автоматов 242
ная задержка, которую предстоит скомпенсировать регулировками внутри УУП, увеличена на 6, т. е. здесь она равна 3 (6' + 6") + + 244. Затем переведем клетку, расположенную справа от последней клетки (находящуюся в состоянии U), в состояние |о, т. е. перей- дем от рис. 33f к рис. 33g. Состояние |о — этоТ0зо(= Solo)- Поэтому необходима последовательность специальных импульсов 1010, т. е. теперь мы имеем команду Подать последовательность 1010 на щ. (29'f) Наконец, переведем оставшуюся часть верхней линии (клетки над xQ, . . ., хп, их всего п + 1) в состояние О, т. е. перейдем от рис. 33g к рис. 33h. Так как та часть верхней линии, которую надо преобразовать, состоит из клеток в специальных передающих состояниях, то это преобразование совершат обычные импульсы. Как и в случае операции (27'с), каждое преобразование вызывается последовательностью 110000, и мы получаем команду Подать п-\-1 последовательность 110000 на vY. (29'g) Для ее выполнения нужен периодический импульсатор РР(110000) с задержкой 6п + 6 между моментами его включения и выключения. Эту задержку можно обеспечить теми же устройст- вами для хронометрирования, какие были использованы для опе- рации (29'е). На этом заканчивается процесс удлинения соединительной петли Ci, т. е. случай es+1 = 1 рассмотрен. 4.2.3. Укорочение массива L. Исследуем теперь случай 8S+1 = = —1, соответствующий укорочению. В общих чертах процесс будет протекать так же, как в первом случае. Поэтому мы снова рассмотрим сначала С2 (а потом Ci). Итак, наша первая задача — укоротить обе линии петли С2 на одну ячейку. При этом лучше всего начинать с перевода всех клеток верхней линии, кроме последней (клеток xQ, х^ . . ., хп_^ их всего п), в состояние X» т- е- из состояния, изображенного на рис. 32а, в состояние рис. 34а. Так как эти клетки первоначально находятся в состоянии О (т. е. в обычном состоянии), то этот перевод осуществляется специальными импульсами. Как и в случае преоб- разования (29'а), каждое преобразование вызывается последова- тельностью 110110, так что мы получаем команду Подать п последовательностей 110110 на w2. (ЗО'а) Гл. 4. Конструкция ленты и системы управления ею 243
Для ее выполнения нужен периодический импульсатор РР(ИОИО) с задержкой 6п между моментами его включения и выклю- чения. Эту задержку можно обеспечить теми же схемами хрономе- трирования, что и в случае операции (28'а), за тем лишь исключе- нием, что теперь задержка короче на 6. Поэтому фиксированная задержка, которую предстоит скомпенсировать регулировками вну- три УУП, увеличивается по сравнению с прежней на 6, т. е. теперь она будет равна 3 (6' + 6") + 247. Дальше мы будем переводить клетку, расположенную справа от последней клетки (находящуюся в состоянии |о), в состояние |1. а клетку под ней (находящуюся в состоянии 0_) в состояние U, т. е. перейдем от рис. 34а к рис. 34b. Состояние — это Т1зо(— Sllo). Поэтому нужны последовательности специальных импульсов 11110 и 1. Итак, требуется Подать последовательность 111101 на и2. (ЗО'Ь) Теперь мы снова вернем клетки верхней линии петли С2, кроме последней (клетки под х^, . . х^; их всего п), в состояние Q , т. е. перейдем от рис. 34b к рис. 34с. Так как теперь эти клетки находятся в специальных передающих состояниях, то преобразова- ние выполнят обычные импульсы, как и в случае операции (27'с). Поэтому каждое преобразование вызывается последовательностью 110000, и мы получаем команду Подать п последовательностей 110000 на v2. (ЗО'с) Для ее выполнения нужен периодический импульсатор РР(110000) с задержкой (т между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и в случае операции (ЗО'а). Дальше мы переведем клетку, расположенную справа от послед- ней клетки О (находящуюся в состоянии |i), в состояние U, т. е. перейдем от рис. 34с к рис. 34d. Этот переход может вызвать одиноч- ный обычный импульс, так что имеем команду Подать одиночный им:пульс на v2. (30'd) Таким образом, петля С2 укоротилась, ибо две самые правые клетки переведены в состояние U. Но теперь последняя клетка верх- ней линии (клетка под ^n-i) находится в состоянии Q, а не |о, как требуется. Попробуем это исправить. Переведем клетки верхней линии, кроме последней (клетки под х0, х^ . . ., хп_2, их ЬСего п — 1), в состояние _Ц, т. е. перейдем Часть II. Теория автоматов 244
от рис. 34d к рис. 34е. Так как эти клетки находятся в обычном передающем состоянии, то этот перевод осуществляют специальные импульсы. Как и в случае операции (29'а), каждое преобразование вызывается последовательностью 110110, так что получаем команду Подать п— 1 последовательность 110110 на и2. (ЗО'е) Для ее выполнения нужен периодический импульсатор РР(ИОИО) с задержкой 6п — 6 между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и в случае операции (ЗО'а), но только теперь задержка меньше на 6. Поэтому фиксированная задержка, которую предстоит скомпенсировать регулировками внутри УУП, должна быть больше прежней на 6, т. е. теперь она равна 3 (S' + S") + + 253. Дальше мы переведем клетку, расположенную справа от послед- ней клетки у (находящуюся в состоянии О), в состояние |0, т. е. перейдем от рис. 34е к рис. 34f. Состояние |о — это Т030( = SOio)- Поэтому нужна последовательность специальных импульсов 11010, т. е. требуется Подать последовательность 11010 на и2. (30'f) Наконец, переведем оставшуюся часть верхней линии (клетки под rq, . . ., хп_2', их всего п — 1) в состояние О , т. е. перейдем от рис. 34f к рис. 34g. Так как клетки, которые предстоит преобра- зовать, находятся в специальном передающем состоянии, то перевод осуществят обычные импульсы. Как и в случае операции (27'с), каждое преобразование вызывается последовательностью 110000, так что получаем команду Подать п— 1 последовательность 110000 на v2. (30'g) Для ее выполнения нужен периодический импульсатор РР(110000) с задержкой — 6 между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и в случае операции (ЗО'е). На этом укорочение петли С2 заканчивается. Теперь укоротим петлю С4. Состояние петли Ci показано на рис. 33а. Лучше всего начать (как и при удлинении) с нижней линии, подойти к которой можно по верхней линии петли через клетку хп, находящуюся в состоя- нии Поэтому мы сначала переведем все клетки верхней линии, кроме последней (клетки над xQ, х{, . . ., хп_{\ их всего п), в состоя- Гл. 4. Конструкция ленты и системы управления ею 245
ние т- е- перейдем от состояния, изображенного на рис. 33а, к состоянию рис. 35а. Так как эти клетки находятся в состоянии О (т. е. в обычном состоянии), то переход совершат специальные импульсы. Как и в случае операции (29'а), каждое преобразование вызывается последовательностью 110110, так что получаем команду Подать п последовательностей 110110 на (ЗГа) Для ее выполнения нужен периодический импульсатор РР(ИОНО) с задержкой 6п между моментами его включения и выключения. Эту задержку можно обеспечить теми же средствами хронометрирования, что и в случае операции (29'а). Но теперь длина петли С2 на 2 единицы меньше, так что при прохождении петли С2 задержка увеличится на 4, а при тройном прохождении — на 12. Отсюда следует, что фиксированная задержка, которую пред- стоит скомпенсировать регулировками внутри УУП, будет больше на 12, т. е. равна 3(6' + + 238. Дальше мы переведем клетку, расположенную справа от послед- ней клетки (находящуюся в состоянии 4ю), в состояние |l, клетку под ней (находящуюся также в состоянии 1о) в состояние |l, а клетку под ней (в состоянии О_) в состояние U (эти 3 клетки лежат над, на и под хп), т. е. мы переходим от рис. 35а к рис. 35b. Состоя- ние |i — это Т130(= Sllo). Поэтому нужны последовательности специальных импульсов 11110, 11110, 1. Итак, имеем команду Подать последовательность 11110111101 на щ. (ЗГЬ) Теперь мы можем привести клетку хп в окончательное состояние. Мы опять должны пройти по верхней линии. Поэтому сначала пере- ведем все ее клетки, кроме последней (клетки xQ, х^, . . ., хп^\ их всего п), в состояние О; т. е. перейдем от рис. 35b к рис. 35с. Так как та часть верхней линии, которую надо преобразовать, состоит теперь из специальных передающих состояний, то переход совершат обычные импульсы. Как и в случае операции (27'с), каждое преобразование вызывается последовательностью 110000, так что мы получаем команду Подать п последовательностей 110000 на (З1'с) Для ее выполнения нужен периодический импульсатор РР(110000) с задержкой блг между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и в случае операции (ЗГа). Часть II. Теория автоматов 246
Дальше мы переведем клетку, расположенную справа от послед- ней клетки О (находящуюся в состоянии |1), в состояние клетку под ней (находящуюся также в состоянии ) также в состояние |о (эти 2 клетки лежат под и на хп), т. е. перейдем от рис. 35с к рис. 35d. Состояние |0 — это Т030(= SOio)- Поэтому нужны последователь- ности обычных импульсов 11010, 11010, т. е. требуется Подать последовательность 1101011010 на (31'd) Укоротим теперь верхнюю линию петли СР Начнем с перевода всех клеток верхней линии, кроме последней (клетки, расположен- ные над х0, х{, . . ., их всего ri), в состояние X? т- е- перейдем от рис. 35d к рис. 35е. Так как эти клетки находятся в обычном состоянии, то переход совершат специальные импульсы. Как и в слу- чае операции (29'а), каждое преобразование вызывается последова- тельностью 110110, так что мы имеем команду Подать п последовательностей 110110 на (ЗГе) Для ее выполнения нужен периодический импульсатор РР(ИОИО) с задержкой 6п между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и для операции (ЗГа). Дальше мы переведем клетку, расположенную справа от послед- ней клетки 1Ж (находящуюся в состоянии |о), в состояние U, т. е. перейдем от рис. 35е к рис. 35f. Для этого перехода понадобится одиночный импульс, так что мы имеем команду Подать одиночный импульс на щ. (31'f) На этом укорочение петли Ci заканчивается, так как две самые правые клетки переведены в состояние U. Но верхняя линия еще не находится в нужном состоянии, и мы будем сейчас исправлять это. Переведем клетки верхней линии, кроме последней (клетки, расположенные над х$, х17 . . ., хп_2; их всего п — 1), в состоя- ние Q , т. е. перейдем от рис. 35f к рис. 35g. Так как эти клетки нахо- дятся в специальных передающих состояниях, то переход совершат обычные импульсы. Как и в случае операции (27'с), каждое преоб- разование вызывается последовательностью 110000, так что полу- чаем команду Подать п—Л последовательность 110000 на (31'g) Для eej выполнения нужен периодический импульсатор РР(110000) с задержкой 6п — 6 между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами Гл. 4. Конструкция ленты и системы управления ею 247
хронометрирования, что и для операции (ЗГа), но теперь задержка на 6 единиц меньше. Поэтому фиксированная задержка, которую предстоит скомпенсировать регулировками внутри УУП, будет на 6 единиц больше, т. е. будет равна 3 (S' + S") + 244. Наконец, переведем клетку, расположенную справа от послед- ней клетки О (находящуюся в состоянии _Ц), в состояние |о, т. е. перейдем от рис. 35g к рис. 35h. Состояние |о — это Т030( = Solo). Поэтому нужна последовательность обычных импульсов 11010, т. е. требуется Подать последовательность 11010 на (ЗГИ) На этом укорочение соединительной петли Q заканчивается. Случай es+1 = —1 рассмотрен. 4.2.4. Изменение ячейки хп в L. Теперь обсудим процедуру изме- нения ячейки хп. В основе этой процедуры (см. разд. 4.1.6 и 4.1.7) лежит пред- положение о том, что изменять ячейку хп надо сразу же после ее счи- тывания. В разд. 4.2.1—4.2.3 мы проводили удлинение и укорочение петель Ci и С2 в предположении, что эти процессы происходят в про- межутке между считыванием ячейки хп и ее изменением. Эти два предположения противоречат друг другу. Мы будем сейчас считать, что справедливо последнее, второе предположение (разд. 4.2.1 и 4.2.3), так что разд. 4.1.6—4.1.7 надо пересмотреть. Наиболее естественным было бы дать обзор всех изменений, вызванных удлинением или укорочением относящихся сюда струк- тур, т. е. петли СА, фигурирующей в разд. 4.1.6—4.1.7, и петли С2, используемой для хронометрирования, и исправить разд. 4.1.6 — 4.1.7 с учетом этих изменений. Однако проще проанализировать сами процессы удлинения и укорочения и в каждом отдельном слу- чае выяснить, куда удобнее вставить операции разд. 4.1.6—4.1.7 или эквивалентные им. Оказывается, что будет эффективнее в каче- стве таких вставок использовать значительно более простые вариан- ты разд. 4.1.6—4.1.7. Вывод, сделанный в начале разд. 4.1.6, остается справедливым: в случае ^+1 = 1 ничего изменять не надо, а в случае ^+1 = О клетку хп надо перевести из состояния |о в состояние U. Итак, достаточно рассмотреть лишь второй случай и для него отдельно процессы удлинения (es+1 = 1) и укорочения (es+1 = —1). Исследуем сначала процесс удлинения (es+1 = 1). Нам надо решить, где в ходе эволюции петли Q в соответствии с рис. 33а—33h лучше всего произвести перевод клетки хп из состояния ^0 в состоя- ние U. Легко видеть, что удобнее всего это сделать после этапа, отраженного рис. ЗЗе, т. е. изменить операции (29'е) — (29'g). Часть П. Теория автоматов 248
Заменим переход от рис. ЗЗе к рис. 33f преобразованием, затра- гивающим на одну ячейку меньше, т. е. от рис. ЗЗе перейдем к рис. 33а. Тогда команда (29'е) заменится командой Подать п последовательностей 110110 на zzp (29'е'} Для ее выполнения нужен периодический импульсатор- РР(ИОИО) с задержкой 6п между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и в случае операции (29'а). Затем переведем клетку, расположенную справа от последней клетки (находящуюся в состоянии |о), в состояние |1, а клетку под ней (находящуюся также в состоянии |о) в состояние U (эти 2 клетки лежат на и над клеткой £п), т. е. перейдем от рис. 36а к рис. 36b. Состояние |1 — это Т130( = Sllo). Поэтому нужны после- довательности специальных импульсов 11110, 1, т. е. получаем команду Подать последовательность 111101 на щ. (29'f') Теперь переведем все клетки верхней линии (клетки, расположен- ные над х$, х^ . . ., хп; их всего п + 1) в состояние О , т. е. перейдем от рис. 36b к рис. 36с. Так как верхняя линия состоит из специаль- ных передающих состояний, то этот переход осуществят обычные импульсы. Как и в случае операции (27'с), каждое преобразование вызывается последовательностью 110000, так что мы получаем команду Подать п-j-l последовательность 110000 на (29'g') Для ее выполнения нужен периодический импульсатор РР(110000) с задержкой 6п + 6 между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и для операции (29'е). Наконец, переведем клетку, расположенную справа от последней клетки О (находящуюся в состоянии U), в состояние |о, т. е. перей- дем от рис. 36с к рис. 36d. Состояние |о — это Т030(:= Solo). Поэто- му нужна последовательность обычных импульсов 1010, т. е. тре- буется Подать последовательность 1010 на (29'h') Этим исчерпывается случай es+1 = 1. Исследуем теперь процесс укорочения (es+1 ~ —1). Нам надо решить, где в ходе эволюции петли С4 в соответствии с рис. 33а и 35а—35h лучше всего произвести перевод клетки хп из состоя- ния |0 в состояние U. Легко видеть, что удобнее это сделать после Гл. 4. Конструкция ленты и системы управления ею 249
этапа, отраженного на рис. 35е. При этом потребуется изменить лишь операцию (31'd). В самом деле, в состояние |0 клетка хп перешла из состояния |1. Достаточно перевести ее вместо этого в состояние U. Иными 'Словами, вторую последовательность 11010, о которой говорится перед формулировкой команды (31'd), надо заменить одиночным импульсом. Команда (31'd) заменяется тогда командой Подать последовательность 110101 на (31'd') Теперь клетка хп находится в состоянии U, а не 10 (рис. 35d) и операции (ЗГе) —(ЗГЬ) можно не менять. На рис. 35е—35h надо заменить в клетке хп на U, а это не отражается на операциях {31е) —(31'h). На этом заканчивается обсуждение случая 8S+1 = —1. 4.3. УЗЕЛ УПРАВЛЕНИЯ ПАМЯТЬЮ [4.3.1. Организация и работа УУП. На рис. 37 схематически изображен узел управления памятью (УУП) и органы, контроли- руемые им: линейный массив L, соединительная петля С4 и времен- ная петля С2. Рисунок выполнен без соблюдения масштабов. На самом деле УУП имеет в высоту 547 клеток, а в ширину 87. Опишем сначала организацию УУП, а затем обсудим его работу. Наиболее важные части УУП: блок считывания — записи — стирания (СЗС) и блок его контроля (КСЗС). Блок СЗС показан на рис. 39; он конструируется в разд. 4.3.3. Органы, отмеченные цифрами 0.6, 0.10 и т. д. на рис. 39, представляют собой импульсато- ры из табл. III и IV. Импульсатор 0.0—это импульсатор Р(10101), посылающий последовательность 10101 на вход петли С4 для считы- вания ячейки хп\ результат, появляющийся на выходе и?!, поступает на дискриминатор Т для различения последовательностей 1 и 10101. Роль вторичного органа Q для тройного возвратного счетчика Ф4 играет петля Ct, а для тройного возвратного счетчика Ф2 — петля С2. Импульсы на СЗС слева идут от декодеров в СС1? а импульсы, выхо- дящие от СЗС влево, поступают в импульсаторы в ССр Узел CCi блока СЗС является частью кодированного канала узла УУП. Этот кодированный канал состоит из узлов СС1? СС2, СС3, X, Z и главного канала. Начало и конец главного канала на рис. 39 отмечены черным кружочком и черным квадратиком. Узел СС2 содержит декодеры, на которые приходят импульсы от главного канала, а выходят на блок КСЗС. Узел СС2 содержит импульсаторы, на которые приходят импульсы от КСЗС, а выходят в главный канал. Узлы X, Z и CCi содержат декодеры, на которые приходят импульсы от главного канала, и импульсаторы, с которых импульсы поступают в главный канал. Часть II. Теория автоматов 250
Блок КСЗС показан на рис. 41; конструируется в разд. 4.3.5. В него входят 16 органов управления (ОУ), каждый из которых содержит импульсатор РР(1), являющийся активным, только когда данный ОУ находится в состоянии управления (см. рис. 40 и разд. 4.3.4), а также 4 импульсатора РР(1), используемых для хранения того двоичного разряда, который должен быть записан в ячейку хп. Входы в блок КСЗС и выходы из него отмечены на рис. 41 в соот- ветствии с входами и выходами блока СЗС. Например, импульс от Vi *7 поступает в импульсатор узла СС3, посылающий затем коди- рованную последовательность в главный канал; эта последователь- ность распознается декодером узла CCi, посылающим затем импульс на вход vt -1 блока СЗС, благодаря чему импульсатор 0.0 посылает последовательность 10101 на вход vx для считывания ячейки хп. Область Y узла УУП предназначена для подачи импульсов с выходов о2, о3 и о5 конструирующего узла КУ на импульсаторы в X и с декодера в X на вход 13 узла КУ. Область W выполняет следующую функцию. Каждый периодиче- ский импульсатор блока СЗС должен быть включен примерно в те- чение 6п единиц времени, где п — индекс клетки в L, которую пред- стоит просмотреть. Тройной возвратный счетчик (с петлей С4 в каче- стве его вторичного органа) должен обеспечить эту задержку, когда некоторый периодический импульсатор возбуждает петлю С2, а трой- ной возвратный счетчик Ф2 (с петлей С2 в качестве его вторичного органа) должен обеспечить эту задержку, когда некоторый перио- дический импульсатор возбуждает петлю СР Но при прохождении импульса от каждого из этих счетчиков к его вторичному органу происходит некоторая потеря времени. Кроме того, выходной сигнал тройного возвратного счетчика (Ф^Ь или Ф2*Ь) нельзя использовать для остановки периодического импульсатора, пока этот сигнал не пройдет через ССЬ главный канал, СС2, КСЗС, СС3, снова главный канал и снова СС4. Всего на этих двух путях (соответствующих двум счетчикам) теряется около 2000 единиц времени. Следовательно, периодический импульсатор блока СЗС должен включаться пример- но на 2000 единиц времени позже, чем связанный с ним тройной возвратный счетчик. Точная величина задержки зависит от каж- дого из 16 органов управления блока КСЗС. Фон Нейман определял эту величину, деля область задержки W на 4 части и связывая каждую часть с одним из периодических импульсаторов блока СЗС. Большая часть нужной задержки достигается за счет посылки импуль- са в область W. Переменная часть задержки обеспечивается областью задержки D каждого органа управления (рис. 40). Дальше мы кратко объясним, как работает УУП под общим контролем КУ (рис. 37 и 50). Основные операции — считывание, запись и удлинение (или укорочение) петель и С2 - осущест- Гл. 4. Конструкция ленты и системы управления ею 251
вляются в 2 этапа. Сначала КУ посылает сигнал в УУП, отдавая команду считывать, и УУП считывает ячейку хп и посылает резуль- тат в КУ. Затем КУ посылает сигналы в УУП, указывая ему, что именно надо записать в хп и следует ли удлинить или укоротить петли С1? С2, и тогда УУП выполняет эти инструкции и посылает сигнал окончания в КУ. Первый этап основных операций в памяти начинается, когда импульс появляется на выходе ot узла КУ и входит в верхнюю часть блока КСЗС. Он входит в СС3 на •/, кодируется импульсатором узла СС3, входит в главный канал, затем в CCi, декодируется декоде- ром узла СС1? входит в СЗС на v^l и возбуждает импульсатор- Р(10101) узла СЗС (этот импульсатор помечен цифрами 0.0 на рис. 39а). Последовательность 10101 поступает на вход щ петли Ct и идет вглубь по ее верхней линии. Если ячейка хп находится в состоянии U (представляющем 0), то последовательность 10101 переводит ее в состояние |о и с выхода петли Ci появляется 1; если хп находится в состоянии |о (представляющем 1), то на выходе* и\ петли Ct появляется вся последовательность 10101. В обоих случаях этот выходной сигнал поступает на дискриминатор ¥ блока СЗС. Если ячейка хп хранила 0, то на выходе b органа ¥ появляется импульс, идет через ¥*Ь, СС1? главный канал, СС2, ¥ «Ь, КСЗС (ближе к верхней части) и направляется к входу ii конструирующего узла. Если ячейка хп хранила 1, то на выходе с органа ¥ появляется импульс, идет через ¥ «с, СС1? главный канал, СС2, ¥ -с и КСЗС (бли- же к верхней части) и направляется к входу z2 узла КУ. Теперь КУ знает содержимое ячейки хп. На этом заканчивается первый этап основных операций в памяти. Чтобы начать второй этап основных операций в памяти, конструи- рующий узел посылает следующие сигналы в верхнюю часть УУП: (1) Импульс с выхода о2, если в хп надо записать 0, и с выхода о3, если в хп надо записать 1. (2) Импульс с выхода о4, если петли С1? С2 предстоит удлинить, и с выхода о5, если петли С1? С2 предстоит укоротить. Мы проследим влияние каждого из этих импульсов отдельно. Импульс с выхода о2 проходит через область Y и возбуждает импульсатор в области X. Импульсатор вырабатывает кодирован- ную последовательность, она проходит по главному каналу и посту- пает на 2 декодера в СС2. Декодеры включают 2 импульсатора РР(1) блока КСЗС. Один из этих импульсаторов показан в верхней части рис. 41b; он используется для управления операцией записи, если петли С1? С2 удлиняются. Другим является верхний импульса- тор РР(1), изображенный на рис. 41е; он используется для управ- ления операцией записи, если петли С1? С2 укорачиваются. Часть II. Теория автоматов 252
Аналогично импульс с выхода о3 заставляет работать 2 импуль- «сатора РР(1) блока КСЗС. Один из этих импульсаторов показан на рис. 41с; он используется для управления операцией записи, если петли С1? С2 удлиняются. Другим является нижний импульса- тор РР(1), изображенный на рис. 44е; он используется для управле- ния операцией записи, когда петли Сь С2 укорачиваются. Оба импуль- сатора РР(1), включенные сигналами с о2 и о3, выключаются в конце основных операций в памяти сигналом окончания, поступающим на вход i3 узла КУ. Сигналы с выходов о4 (удлинение) и о5 (укорочение) идут в УУП разными путями. Импульс от о4 входит в верхнюю часть блока КСЗС и включает первый орган управления (ОУ^. После того как ОУ4 заставит СЗС выполнить определенные операции, он выключается и включается второй орган управления (ОУ2). Затем так же приме- няются ОУ3 и ОУ4. Здесь возникает ветвление. Если в ячейку хп надо записать 0, то используются ОУ5 и ОУ6, а если в хп надо запи- сать 1, то используются ОУ7 и ОУ8. Когда орган ОУ6 (или ОУ8) закан- чивает свою работу, с выхода i3, расположенного под ним, испу- скается импульс. Этот импульс проходит через СС3 и главный канал, причем, с одной стороны, он входит в область X, проходит через Y и поступает на вход 13 узла КУ, сигнализируя о том, что основная операция в памяти закончена, а с другой стороны, он входит в СС2 в 4 местах, выключает 2 импульсатора РР(1) блока КСЗС, храня- щих двоичный разряд, который надо записать в хп. Сигнал с выхода о5 проходит по областям Y, X, главному каналу, СС2 и входит в ОУ9. Органы управления ОУ9, ОУ10, ОУИ, ОУ42, ОУ13 и ОУ14 применяются в указанном порядке. Выходной сигнал р из ОУ14 поступает на схему совпадений, на которую подается выходной сигнал из РР(1) (рис. 41е). Если в ячейку хп надо запи- сать 0, то используется сигнал -4, а если в хп надо записать 1, то используется сигнал щ *5. Затем в обоих случаях приступают к работе ОУ15 и ОУ16. Когда ОУ16 кончает работать, с выхода i3l расположенного под ним, испускается импульс. Как и при удлине- нии, этот импульс, с одной стороны, отключает импульсаторы РР(1) блока КСЗС. хранящие двоичный разряд, который надо записать в х-п, ас другой стороны, он поступает на вход i3 узла КУ, сигнализи- руя о том, что основная операция в памяти закончена. В конце основ- ной операции УУП остается в своем первоначальном состоянии. В табл. V приведены результаты воздействия органов управле- ния блока КСЗС на импульсаторы и периодические импульсаторы блока СЗС. Мы проиллюстрируем работу этих органов управления на примере ОУр Схема ОУ показана на рис. 40; органы ОУ отли- чаются друг от друга лишь разной длиной пути задержки Орган Гл. 4. Конструкция ленты и системы управления ею 253
управления OYi расположен в верхней части блока КСЗС (рис. 41а). Состояние соединительной петли С4 и линейного массива L в момент г когда ОУ1 берет на себя управление, отражено на рис. 33а; петля С4 проходит через клетку хп\ все ее клетки находятся в обычных передающих состояниях. Состояние временной петли С2 в момент, когда OYi берет на себя управление, отражено на рис. 32а; влияниег которое оказывает ОУ4 на С2, показано на рис. 32Ь и 32с. Принцип работы OYj следующий. Импульс с выхода о4 узла КУ (вызывающий удлинение) поступает на вход а органа OYf, при этом: 1) он проходит по верхней части и левой стороне органа ОУ* и попадает на вход а+ импульсатора РР(1) органа ОУ4, в результате чего этот периодический импульсатор начинает работать и остается включенным все время, пока ОУ4 выполняет функции управления; 2) входной сигнал, поступивший на вход а органа ОУ1, появляется на его входе с и идет дальше на вход Ф1 -а узла СС3, затем через СС3, главный канал и СС^ к выходу Ф4 -а узла CCi, а оттуда на вход а трой- ного возвратного счетчика (bj блока СЗС (рис. 39а), и счетчик Ф4 начинает работать; 3) входной сигнал, поступивший на вход а орга- на ОУ1? проходит путь задержки SS органа ОУь появляется на выхо- де Ъ органа ОУ1, затем идет к входу и2*а+ узла СС3, а оттуда через СС3, главный канал и область Z приходит в область задержки W, проходит ее часть и идет обратно через Z в главный канал, через СС4 к выходу и2*а+ узла СС4 и оттуда поступает на вход а+ периодиче- ского импульсатора РР(ИОИО), расположенного в нижней части блока СЗС (рис. 39b), запуская периодический импульсатор. Последовательность 110110 периодически поступает на вход и2 петли С2. Каждая такая последовательность переводит одну клетку, лежащую в верхней части петли С2, из состояния О в состояние сначала 1 переводит О в U, а затем 1011 заменяет U на [ в соответ- ствии с прямым процессом рис. 10; последний 0 воздействия не ока- зывает. Поэтому п появлений последовательности 110110 на и2 переводят верхнюю часть петли С2 из состояния, изображенного на рис. 32а, в состояние рис. 32b. Процессом создания п последовательностей 110110 управляет тройной возвратный счетчик Ф4 блока СЗС с петлей Ci в качестве вторичного органа й. Сигнал с выхода счетчика Ф4 выключает периодический импульсатор РР(ИОИО), показанный на рис. 39b. Это происходит следующим образом: с выхода Ъ органа Ф4 сигнал входит в СС4 на Ф1 «6, идет через СС4 в главный канал и в СС3, а затем появляется на входе d каждого из органов ОУ19 ОУ2, ОУ9, ОУю, ОУИ и ОУ12. Все эти органы не активны, кроме ОУ1, так что в резуль- тате воздействия сигнала на входе d все органы ОУ, кроме ОУГ Часть II. Теория автоматов 254
будут лишь пытаться выключить импульсатор РР (1), который уже выключен. Как мы видели в конце разд. 3.2.2, это не приведет к неприятностям. В случае же ОУ4 входной сигнал, попавший на d, отключит РР(1) и пройдет через конфлюентную клетку, расположен- ную в нижней правой части органа ОУ\, и выйдет на е и /. Сигнал выключения, поступивший на вход импульсатора РР(1), обеспе- чивает остановку на выходе Ъ слишком поздно, чтобы блокировать излучение с выходов е и /. Сигнал с выхода е органа ОУ4 входит в СС3 на и2-а_. проходит через СС3, главный канал и CCi, покидает СС^ на и2*а~ и входит на вход импульсатора РР(НОИО). Таким образом, импульсатор РР(ИОИО) замолкает после того, как испустит п последователь- ностей 110110. Сигнал с выхода / органа ОУ4 идет по двум направлениям. Во-пер- вых, он входит в СС3 на и2*1, проходит через СС3, главный канал и CCi, покидает СС4 на и2-1 и входит в импульсатор Р(11101001) (импульсатор 0.2 на рис. 39b). Затем последовательность 11101001 поступает на вход и2 петли С2. Первая половина этой последователь- ности (т. е. 1110) заменяет U на |1, а вторая половина (т. е. 1001) заменяет следующую клетку U на О_. В результате петля С2 прини- мает состояние рис. 32с. Во-вторых, указанный сигнал поступает на вход а органа ОУ2, давая начало операции, управляемой этим органом. Результаты работы управляемых органом ОУ2 периодического импульсатора и импульсатора блока СЗС показаны на рис. 32d и 32е соответствен- но. Таким образом, ОУ4 и ОУ2 вместе управляют удлинением вре- менной петли С2, а затем ОУ2 передает управление органу ОУ3.] 4.3.2. Подробное обсуждение работы узла УУП. В разд. 4.1.4 мы перечислили конкретные функции, выполняемые УУП. Мы дали чисто описательное статическое утверждение (пункт (1)), сформули- ровали условия начала операций (пункт (2)), указали сами опера- ции: считывание ячейки хп (пункт (3)), изменение хп (пункт (6)). перемещение^ (пункт (7))—и привели сигнал окончания (пункт (8)). Постулат (1) не связан ни с каким действием. Выполнить условия пунктов (2) (реагирование на пусковой сигнал, идущий от КУ в УУП) и (8) (посылка сигнала окончания из УУП в КУ) довольно легко. Осуществить (3), (6) и (7) сложнее, в общих чертах это было сделано в разд. 4.1.5—4.2.4. Теперь, когда общая схема закончена, мы проведем соответствующие построения в деталях, т. е. разрабо- таем конкретные схемы, позволяющие выполнить указанные опе- рации. Гл. 4. Конструкция ленты и системы управления ею 255
Операцию (3) мы рассмотрели в разд. 4.1.5. В разд. 4.1.6—4.1.7 мы занялись операцией (6), но там было только предварительное обсуждение, а окончательная форма была получена в разд. 4.2.4. Нам надо было получить окончательный результат в такой форме, чтобы его можно было связать с операцией (7). Последнюю мы рас- сматривали в разд. 4.2.1—4.2.2. Таким образом, все рассмотрение начинается с разд. 4.1.5, продолжается в разд. 4.2.1—4.2.3, причем результаты последних разделов объединяются с результатами разд. 4.2.4. Согласно разд. 4.1.5, надо подать последовательность 10101 (и после нее 00) на вход и подключить выход к входу а дискри- минатора Т* рис. 25. Появление сигнала на выходах Ъ и с органа Т* означает 1 (т. е. хп = U, = 0) и 10101 (т. е. хп = %>п = 1) соответственно. Разд. 4.2.1—4.2.3 вместе с разд. 4.2.4 требуют более сложных схем. В разд. 4.2.1 не дается никаких конкретных операций. В разд. 4.2.2 приводится определенная последовательность опера- ций: (28'а) — (28'd) и (29'а) — (29'g). В разд. 4.2.4 операции (29'е) — (29'g) заменяются на (29'е') — (29'h'). В разд. 4.2.3 приводятся опе- рации (ЗО'а) — (30'g) и (З1'а) — (ЗГЬ). В разд. 4.2.4 операция (31'd) заменяется на (31'd'). Заметим, что в разд. 4.2.2 и 4.2.3 разбираются два взаимно исключающих друг друга случая, связанных со значе- нием 8S+1 (1 или —1), т. е. с первым откликом узла КУ в соответствии с пунктом (5) разд. 4.1.4. Учет результатов разд. 4.2.4 при реализа- ции операций разд. 4.2.2 и 4.2.3 также условен: все зависит от (разд. 4.2.4 учитывается только при = 0, см. начало разд. 4.1.6), т. е. от второго отклика узла КУ в соответствии с пунктом (5) разд. 4.1.4. Чтобы описать взаимосвязь КУ и УУП, надо определить некото- рые конкретные входы и выходы узла КУ (ибо мы не собираемся здесь подробно останавливаться на том, что происходит внутри КУ). Входы в КУ различаются в зависимости от сигналов, поступаю- щих на них от УУП в соответствии с пунктами (1) — (9) разд. 4.1.4: {it) Сигнал, указывающий на то, что в соответствии с (3) было про- изведено считывание ячейки хп (п = zzs) и оказалось, что = = 0, т. е. хп = U. (г2) Сигнал, указывающий на то, что в соответствии с (3) было про- изведено считывание ячейки хп (п = ns) и оказалось, что Ц = 1, т. е. хп = Io. Оз) Сигнал окончания работы от УУП, согласно (8). Символы ц, i2, i3 обозначают входы узла КУ, на которые должен поступать соответствующий сигнал. Выходы из КУ различаются по сигналам, идущим из КУ в УУП в соответствии с пунктами (1)—(9) разд. 4.1.4: Часть II. Теория автоматов 256
(о4) Пусковой сигнал на УУП, согласно (2). (о2) Сигнал, указывающий на то, что в соответствии с (5) в КУ было сформировано значение £*+1 (п — ns) и оказалось, что оно равно 0. (о3) Сигнал, указывающий на то, что в соответствии с (5) в КУ было сформировано значение (п ~ ns) и оказалось, что оно равно 1. (о4) Сигнал, указывающий на то, что в соответствии с (5) в КУ было сформировано значение 8S+1 и оказалось, что оно равно 1. (о5) Сигнал, указывающий на то, что в соответствии с (5) в КУ было сформировано значение 8S+1 и оказалось, что оно равно —1. Символы о1? . . ., о5 обозначают выходы из КУ, с которых долж- ны приходить соответствующие сигналы. Приведенные выше соображения показывают, кроме всего про- чего, что сигналы, выходящие из о4 и о5, непосредственно воздей- ствуют на УУП: они определяют, выполнять ли УУП команды (28'а)—(28'd), (29'а)—(29'g) (с возможной заменой команд (29'е) — (29'g) на (29'е') — (29'h')) или команды (ЗО'а) — (30'g), (ЗГа)—(31'h) (с возможной заменой команды (31 'd) на (31'd')). Очевидно, что сиг- нал, выходящий из о1? также непосредственно воздействует на УУП: он является пусковым сигналом. В то же время сигналы от о2 и о3 не оказывают непосредственного воздействия на УУП: они определяют, следует ли сделать упомяну- тую выше замену в рабочем цикле, порожденном сигналами от о4 и о5. (Сигнал с выхода о3 показывает, что замену делать не надо, а сигнал с выхода о2 означает необходимость такой замены.) Следова- тельно, сигналы с о2 и о3 не могут прямо воздействовать на modus operand! узла УУП, а только активируют два (различных, т. е. соот- ветствующих двум взаимно исключающим друг друга случаям) органа памяти в УУП, которые затем осуществляют операции УУП, когда приходит для них время. Обозначим органы памяти, активируемые сигналами с о2 и о3 соответственно, через а0 и аР Все это представлено на рис. 38, где схематически показана логи- ческая структура процедуры, которой должен следовать УУП. Стрелки на этом рисунке (горизонтальные и вертикальные) ука- зывают пути стимуляции. Двойные горизонтальные линии отделяют области, внутри которых импульсации целиком проходит через кана- лы в УУП, подлежащие конструированию, а сами эти двойные линии должны пересекаться процессами, протекающими вне этих каналов. (Как правило, эти процессы происходят в КУ, за исключением области, отмеченной второй сверху двойной линией, где процесс идет внутри дискриминатора ¥.) Одиночная горизонтальная линия отделяет два взаимно исключаю- щих друг друга случая; точнее, два процесса, представленных Гл. 4. Конструкция ленты и системы управления ею 257
по разные стороны от такой одиночной горизонтальной линии и заключенных между парой двойных горизонтальных линий, соот- ветствуют двум различным случаям. Каждая формула в скобках слева дает значение или g^+1, или 8S+1, которое и характеризует соответствующий случай. Рис. 38 содержит 7 групп операций (команды (28'а) — (31'h) из разд. 4.2.2—4.2.4). Они собраны еще раз в табл. II. Эти операции приведены в табл. II под новыми номерами (0.1) — (0.31) и для удобства даны старые номера (28'а) — (28'h). Всего опе- раций 31, из них 16 помечены звездочкой. Это операции, требую- щие повторения (лг, или п + 1, или п — 1 повторений, см. табл.), так что они выполняются периодическими импульсаторами (РР), для которых должны быть изготовлены схемы включения и выклю- чения с соответствующей задержкой. Остальные операции не требуют повторений, и их могут выполнить обычные импульсаторы (Р). Две из них — (0.19) и (0.20) — вообще не нуждаются в импульсаторах, так как в них подается одиночный импульс. Схемы включения и выключения РР и оборудование, обеспечи- вающее нужную задержку, рассматривались в разд. 4.2.2—4.2.4. Каждый раз был необходим тройной возвратный счетчик Ф (см. рис. 23). Применение этого органа для такой цели обсуждалось в разд. 4.1.7 после команды (27'а') и в разд. 4.1.9 после команды (28'а). В первом случае счетчик Ф должен был подключаться к С2, т. е. его выход d должен был подключаться к z;2, а его вход с — к ip2. Во втором случае Ф должен был подключаться к С4, т. е. его выход d должен был подключаться к а его вход с — к Последующее обсуждение, проведенное в разд. 4.2.2—4.2.6, показало, что можно обойтись этими двумя видами счетчика Ф, так что мы построим 2 тройных возвратных счетчика Ф4 и Ф2, причем Ф4 присоединим к С4 (его вход с = Ci присоединим к а его выход d ~ dr — к i?i), а Ф2 присоединим к С2 (его вход с = с2 присоединим к ш2, а его выход d — d2 — к z;2). Обозначения, введенные в разд. 4.2.2 после команды (28'а) и в разд. 4.1.7 после команды (29'а'), относятся соот- ветственно к Ф4 и Ф2. Таким образом, 6^ — это задержка от к ciy 6' — от di к Vi (они относятся к Ф4), 6'2 — задержка от w2 к с2, 62 — от d2 к v2 (они относятся к Ф2). В 6 операциях из 16, отмеченных звездочкой, отсчет времени должен производиться с помощью счетчика Ф1 (это операции (0.1), (0.3), (0.16), (0.18), (0.20), (0.22)), а в 10 остальных с помощью счет- чика Ф2 (это операции (0.5), (0.7), (0.9), (0.11), (0.13), (0.15), (0.23), (0.25), (0.28), (0.30)). Для 3 из 6 операций первого класса нужен перио- дический импульсатор РР(ИОИО) с выходом, подключенным к и2 (для операций (0.1), (0.16), (0.20)), а для 3 остальных — РР(ИОООО) с выходом, подключенным к v2 (для операций (0.3), (0.18), (0.22)). Часть II. Теория автоматов 258
ТАБЛИЦА II ПОСЛЕДОВАТЕЛЬНОСТИ ИМПУЛЬСОВ, ПОДАВАЕМЫЕ НА ПЕТЛИ Ci И С2 Новый номер Старый номер Операция (I) Группа (28'а) — (28'd) и (29'а) — (29'd) разд. 4.2.2 (0.1)* (28'а) Подать п + 1 последовательность 110110 на и2 (0.2) (28'Ь) Подать последовательность 11101001 на и2 (0.3)* (28'с) Подать п+1 последовательность 110000 на и2 (0.4) (28'd) Подать последовательность 11010 на v2 (0.5)* (29'а) Подать п последовательностей 110110 на ил (0.6) (29'b) Подать последовательность 1111011110110111001 на uj (0.7)* (29'с) Подать п последовательностей 110000 на (0.8) (29'd) Подать последовательность 110101101011001 на а, (II) Группа (29'е')— (29'h') разд. 4.2.4 (0.9)* (29'е') Подать п последовательностей 110110 на щ (0.10) (29'f') Подать последовательность 111101 на ui (0.11)* (29'g') Подать п+1 последовательность 110000 на щ (0.12) (29'h') Подать последовательность 1010 на (III) Группа (29'е)—(29'g) разд. 4.2.2 (0.13)* (29'е) Подать п+1 последовательность 110110 на щ (0.14) (29'f) Подать последовательность 1010 на (0.15)* (29'g) Подать п + 1 последовательность 110000 на vr (IV) Группа (30'а) —(30'g) и (ЗГа) — (31'с) разд. 4.2.3 (0.16)* (ЗО'а) Подать п последовательностей 110110 на (0.17) (30'Ь) Подать последовательность 111101 на и2 (0.18)* (ЗО'с) Подать п последовательностей 110000 на и2 (0.19) (30'd) Подать одиночный импульс на и2 (0.20)* (30'е) Подать п—1 последовательность 110110 на п2 (0.21) (30'f) Подать последовательность 11010 на и2 (0.22) * (30'g) Подать п — 1 последовательность 110000 на v2 (0.23)* (31'а) Подать п последовательностей 110110 на (0.24) (31'Ь) Подать последовательность 11110111101 на и2 (0.25)* (31'с) Подать п последовательностей 110000 на iq (V) Группа (31'd') разд. 4.2.4 (0.26) (31'd') Подать последовательность 110101 на (VI) Группа (31'd) разд. 4.2.3 (0.27) (31'd) Подать последовательность 1101011010 на Гл. 4. Конструкция ленты и системы управления ею 259
Продолжение Новый номер Старый номер Операция (0.28)* (VII) Группа (31 'е) — (31 'h) разд. 4.2.3 (31 'е) Подать п последовательностей 110110 на (0.29) (31 Л) Подать одиночный импульс на ил (0.30) * (31'g) Подать п — 1 последовательность 110000 на щ (0.31) (31'h) Подать последовательность НОЮ на гд Для 5 из 10 операций второго класса требуется РР(ИОИО) с выходом, подключенным к щ (для операций (0.5), (0.9), (0.13), (0.23), (0.28)), а для 5 остальных — РР(ИОООО) с выходом, подключенным к vi (для операций (0.7), (0.11), (0.15), (0.25), (0.30)). Требования к задерж- кам были выражены в разд. 4.2.2—4.2.4 в виде значения разности между задержкой от входа а до выхода Ъ счетчика Ф и задержкой от момента включения соответствующего импульсатора РР до момен- та его выключения. Эти дополнительные задержки приведены в табл. III вместе с другими данными, относящимися к Ф и РР. ТАБЛИЦА III НЕОБХОДИМЫЕ ДОПОЛНИТЕЛЬНЫЕ ЗАДЕРЖКИ ДЛЯ ПЕРИОДИЧЕСКИХ ИМПУЛЬСАТОРОВ, ПОСЫЛАЮЩИХ ИМПУЛЬСЫ НА ПЕТЛИ Ci И С2 Операция РР Выход из РР присоединя- ется к Ф Дополнительная задержка 3 (62 + ^2) гДе а2 равно (0.5) 250 (0.9) 250 (0.13) РР (110110) 244 (0.23) 238 (0.28) Ф2 238 (0.7) 250 (0.11) 244 (0.15) РР (110000) 244 (0.25) 238 (0.30) 244 3 (д; +67) +<4, где 04 равно (0.1) 241 (0.16) РР (110110) Ц2 247 (0.20) Ф1 253 (0.3) 241 (0.18) РР (110000) ^2 247 (0.22) 253 Часть II. Теория автоматов 260
Что касается 15 операций без звездочек, то нам нужно лишь выяснить, на какой из входов, или щ петли С4 и и2 или v2 петли С2, каждая из этих операций оказывает воздействие. Итак, 5 операций воздействуют на (это операции (0.6), (0.10), (0.14), (0.24), (0.29)), 5 на Vi (операции (0.8), (0.12), (0.26), (0.27), (0.31)), 3 на и2 (опера- ции (0.2), (0.17), (0.21)) и 2 на v2 (операции (0.4), (0.19)). Они при- ведены в табл. IV вместе с данными об импульсаторе Р. Мы поме- стили в эту таблицу еще одну последовательность, которая должна в некоторых случаях подаваться на Vj. Это операция (0.0), относящаяся к последовательности 101U1 (первая строчка схемы рис. 38). Наконец, в таблице приведены значения высоты и ширины каждого импульсатора Р (они нам понадобятся в дальнейшем). [В табл. IV у фон Неймана было несколько ошибок. Они исправлены в соответствии с правилом, сформулированным в замечании редакто- ра в конце разд. З.2.1.] 4.3.3. Блок считывания — записи — стирания г). Рис. 38 и табл. II—IV вместе с другими результатами разд. 4.3.2 дают основу для конструирования, о котором там шла речь. Теперь мы можем приступить к конструированию, используя более полные и точные термины. Операции, которые мы хотим реализовать, действуют в первую очередь на Ct и С2, т. е. на их входы щ, г;1? z/2, v2 и их выходы w2. Поэтому лучше всего начать конструирование с органов, находя- щихся в прямом контакте с zzi, z?1? Wi и и2, v2, w2. Это органы, указан- ные в табл. III и IV, а также дискриминатор Т* (рис. 38). Эти органы функционируют в соответствии со схемой рис. 38 и табл. II. Итак, начнем с конструирования органов, указанных в табл. III и IV, а также органа ¥. В табл. IV фигурируют 16 органов, из которых 14 являются импульсаторами (Р) и 2 генерируют одиночные импульсы. Каждый из них приводится в действие по единственному входу сигналом, идущим от блока КСЗС (см. рис. 37), и обладает единственным выхо- дом, с которого посылаются импульсы на zz1? z^, zz2, z;2. Для осуществления операций, приведенных в табл. III, нужны 2 периодических импульсатора (а именно РР(НОИО) и РР(ИОООО)). Но так как каждый из них должен иметь по 2 различных выходных подсоединения (zzb ь\ первый и и2, v2 второй), потребуется 4 периодиче- ских импульсатора. (Из табл. III видно также, что каждый из этих периодических импульсаторов используется для различных ситуа- х) [Фон Нейман озаглавил этот подраздел «Эффекторные органы узла В. Их расположение и соединение».] Гл. 4. Конструкция ленты и системы управления ею 261
ТАБЛИЦА IV ИМПУЛЬСАТОРЫ, ИСПОЛЬЗУЕМЫЕ ДЛЯ ПОСЫЛКИ ИМПУЛЬСОВ НА ПЕТЛИ С1 И с2 Операция р Выход ИЗ Р присоединя- ется к Ширина (2/0 Высота (и 4-2) (0.6) Р (1111011110110111001) 28 7 (0.10) Р (111101) 10 4 (0.14) Р (1010) 4 4 (0.24) Р (11110111101) 18 5 (0.29) Одиночный импульс — 1 (0.0) Р (10101) 6 5 (0.8) Р (110101101011001) 18 9 (0.12) Р (1010) 4 4 (0.26) Р (110101) vl 8 5 (0.27) Р (1101011010) 12 5 (0.31) Р (11010) 6 4 (0.2) Р (11101001) 10 5 (0.17) Р (111101) «2 10 4 (0.21) Р (11010) 6 4 (0.4) Р (11010) 6 4 (0.19) Одиночный импульс V2 — 1 ций (их всего 5, 5, 3, 3), связанных с различными дополнитель- ными задержками. Это может привести к мысли о необходимости использования для каждой ситуации своего периодического импульсатора, т. е. 16 импульсаторов, а не 4. Удобнее, однако, учесть все ситуации с помощью других схем, которые мы будем рассматри- вать позже, и ввести лишь 4 импульсатора РР, как сказано выше.) Далее, в табл. III фигурирует тройной возвратный счетчик Ф, но так как он должен иметь 2 различных подключения с и d (к и к р2, ^2), то на самом деле нужны два таких органа. Каждый импуль- сатор РР управляется двумя входными сигналами а+ и а_, идущими от УУП, и обладает единственным выходом, с которого посылаются импульсы на u2, v2. Каждый счетчик Ф имеет входную — выходную пару а, Ь, соединенную с УУП, и входную — выходную пару с, d, соединенную с или с v2, w2. Наконец, нам нужен дискриминатор Т для различения последо- вательностей 1 и 10101. Он имеет единственный вход а, соединенный с и два выхода 6, с, импульсы с которых идут к блоку КСЗС (см. рис. 38). Часть П. Теория автоматов 262
[Фон Нейман не обратил внимания на одно обстоятельство, свя- занное с присоединением входа а дискриминатора Т к выходу петли Ср Если Ci применяется для хронометрирования удлинения (или укорочения) временной петли С2, то с w2 на тройной возвратный счетчик Of (рис. 39) поступают одиночные импульсы. Но эти импуль- сы поступают также и на дискриминатор Т, который в этом случае сообщает в КУ, что поступила последовательность 1. Мы будем предполагать, что узел КУ построен так, что он не реагирует на эти ложные сигналы. Можно было бы предположить, что в период работы счетчика Ot на входе в Т стоит схема совпаде- ний, управляемая сигналами от РР(1). Но это привело бы к некото- рому изменению схемы блока СЗС.] Все эти органы показаны на рис. 39 в том положении, которое они занимают по отношению к С1? С2 (т. е. и2, v2, w2) и по отно- шению к УУП. Этот ансамбль составляют импульсаторы Р (под номерами 0.6—0.24, 0.0—0.31, 0.2—0.21, 0.4), периодические импульсаторы РР, счетчики Ф (обозначенные Фь Ф2) и дискримина- тор ¥. Все они показаны на рисунке без соблюдения их настоящих размеров. Весь ансамбль является частью узла УУП. Другая часть узла УУП расположена слева от ансамбля вдоль вертикальной пунктирной линии. Справа ансамбль присоединяется к петлям Сь С2, как показано на рисунке. Импульсаторы Р табл. IV отмечены на рис. 39 номерами соответствующих им операций, за исключением двух генераторов, дающих одиночную стимуляцию (они показаны в виде прямых каналов). Все входы и выходы снабжены соответствую- щими пометками. Пометки на входах и выходах, с помощью кото- рых ансамбль соединяется с оставшейся частью узла УУП, не нуж- даются в пояснениях; всего соединений такого типа 30, из них 4 являются входами в УУП, а 26 — выходами из УУП. Заметим, что органы Р, РР и Ф ориентированы стандартным обра- зом (т. е. их ориентация соответствует рис. 16, 18, 23), а Т отражен относительно вертикальной оси по сравнению со своим обычным расположением (на рис. 25). Ясно, что такое расположение требует лишь тривиальных преобразований этой конструкции. (На рис. 25 показаны еще Р и D; они должны быть отражены по отношению к вер- тикали. При этом нужно выполнить соответствующие преобразова- ния в связи с рис. 16 и 22. Они также не приводят к нежелатель- ным последствиям, см. рассуждения в разд. 3.6.1, относящиеся к рис. 29.) Ансамбль рис. 39 должен управляться, как мы отметили в начале этого раздела, в соответствии со схемой, описанной на рис. 38 и в табл. II. Органы, осуществляющие это управление, расположены в глубине УУП. Мы видели (рис. 39), что соединений между этой областью и нашим ансамблем довольно много: 4 входа и 26 выходов. Поэтому с практической точки зрения очевидно, что линии, представ- Гл. 4. Конструкция ленты и системы управления ею 263
ляющие эти 30 соединений, будут неоднократно пересекаться, прежде чем попадут на соответствующие точки органов управления внутри УУП. Отсюда следует, что нужен орган, позволяющий обойти труд- ности, связанные с пересечением линий: этим органом может быть кодированный канал разд. 3.6. Мы пока еще не можем указать тот кодированный канал, который нам потребуется, т. е. выбрать соответствующее устройство, обсуж- давшееся в первой части разд. 3.6.1 и схематически изображенное на рис. 28g — 28k. Мы это сделаем позже, а сейчас рассмотрим лишь его часть, соседнюю с ансамблем рис. 39, т. е. ту, которая расположе- на вдоль вертикальной пунктирной линии по левому краю рисунка. Мы видели выше, что с этой частью связано 30 линий (4 входных и 26 выходных). Каждый из этих входов и выходов возбуждается (или возбуждает) независимо от других. В обозначениях, использо- ванных в начале разд. 3.6.1, они соответствуют входам av и выходам bv (с точки зрения нашего кодированного канала), где v принимает различные значения. Поэтому множество значений v (= 1, . . ., п) должно содержать не менее 30 различных элементов, т. е. должно выполняться неравенство п 30. На самом деле разумно брать п еще большим, так как потребности, связанные с УУП, приведут к необходимости иметь дополнительные значения v для входов av и выходов bv этого кодированного канала (см. ниже). Исходя из всего этого, найдем значения т и к (см. разд. 3.6.1), определяющие кодовые последовательности . . . i™ (v = 1, . . . . . ., тг). Можно использовать формулу (12') и рассуждения после (13'): при данном т находим к ( = (т + 1)/2 или тп!2 в зависимости от того, какое из этих чисел целое) и, согласно (12'), (т— 1\ А: — 1 / Чтобы выбрать подходящее значение п, возьмем т — 7, 8, 9 и соот- ветствующие значения к и maxn: т 7 8 9 к 4 4 5 max п 20 35 70 Так как неравенство п 30 должно выполняться и притом с неко- торым запасом, то т = 7 не подходит, запаса, который дает т = 8, недостаточно (см. ниже), а т — 9 удовлетворяет нашим требованиям (см. ниже). Итак, т = 9, к = 5 (32') и п<70. (33') Часть II. Теория автоматов 264
Согласно разд. 3.6.1, каждая последовательность iy...i™ начинает- ся с 1, имеет длину т = 9 и содержит к = 5 разрядов 1. Таким обра- зом, она имеет вид И* . . . где среди iy. . . ., iy находятся 4 еди- ницы и 4 нуля. Таких последовательностей всего у А: — 1/ \ 4 / Расположим их в лексикографическом порядке и пронумеруем с по- мощью индекса v = 1, . . ., 70. Этим определится последователь- ность iy ... I™ = iiy ... iy для каждого v = 1, . . ., 70, и в частно- сти для v = 1, . . ., п (где п удовлетворяет условию (33')). Распо- ложим входы av и выходы bv рис. 39 (а именно zzf.7, . . ., Ф2*а) по вертикали (как на рисунке) и пронумеруем их с помощью индекса v - 1, . . ., 30. [Фон Нейман переходит к вычислению размеров ансамбля рис. 39. Оказывается, что высота узла CCt больше высоты блока СЗС. Так как фон Нейман хотел разместить каждый импульсатор и декодер узла CCf против того органа блока СЗС, с которым тот соединен, то высота узла CCf определяет высоту комплекса CCj — СЗС. Далее в узел CCi входят 4 импульсатора Р и 26 декодеров D. Фон Нейман считал, что высота каждого равна 7, и, учитывая защитную полоску из состояний U между каждыми двумя соседними органами, получил, что высота узла CCi равна 239. Но это не так. Последовательности, которые фон Нейман исполь- зовал в кодированном канале, имеют длину 9, каждая из них начи- нается с единицы и содержит еще 4 единицы. Согласно правилу разд. 3.3 для вычисления размера декодера, высота декодера для последовательности длины 9 с 5 единицами равна 10 или 11 в зависи- мости от конкретной последовательности. Хотя правило разд. 3.3 часто дает высоту, превышающую настоящую высоту декодера, созданного в соответствии с алгоритмом конструирования разд. 3.3Г но все равно в конструкции фон Неймана для ССА нужна высота более 300. Эта простая ошибка разрушает большую часть дальнейших вычислений фон Неймана, касающихся размеров узла УУП и задер- жек в нем. Эту ошибку нельзя исправить, просто увеличивая высоту узла и тем самым узла УУП. Причина, по которой такое исправление не проходит, связана с фазировкой работы периодических импульсато- ров РР и тройного возвратного счетчика Ф блокаСЗС. Каждый импуль- сатор РР должен был бы работать в течение времени, равного трой- ной задержке на петле Ci или С2 (см. табл. II, разд. 4.3.2). Но есть еще некоторая задержка внутри каждого счетчика Ф, а также между вторичной входной — выходной парой каждого счетчика Ф и era соединительной петлей. Кроме того, периодический импульсатор РР Гл. 4. Конструкция ленты и системы управления ею 265
блока СЗС управляется от блока КСЗС. Поэтому первоначальный выходной сигнал от счетчика Ф блока СЗС должен пройти через СС19 главный канал, СС2, КСЗС, снова через главный канал и снова через CCi, прежде чем он сможет отключить импульсатор РР блока СЗС. Всего на этом пути теряется 2000 единиц времени. Поэтому для пра- вильной фазировки начало работы импульсатора РР блока СЗС надо задержать примерно на 2000 единиц времени по отношению к пуску связанного с ним тройного возвратного счетчика Ф. Часть этой задержки достигается в органах ОУ блока КСЗС, но большую часть обеспечивает область W. В дальнейшем выяснится, что область W недостаточно велика, чтобы обеспечить задержку, нужную для схемы фон Неймана. Ошибку фон Неймана можно исправить, расширяя вправо область W, но при этом нарушится прямоугольная форма узла УУП. Суще- ствует несколько способов исправления этой ошибки без изменения размера УУП. В гл. 5 мы разработаем новые схемы узлов Z и W, в которых можно будет уменьшить высоты так, чтобы узел ССА рас- пространился в область, занимаемую сейчас узлом Z. Фон Нейман вычислил также ширину блока СЗС и узла ССА. Самый широкий орган в СЗС — импульсатор 0.6, вырабатывающий последовательность с 14 единицами (см. табл. II разд. 4.3.2). Для него требуется 28 клеток в ширину. Все другие органы блока СЗС занимают в ширину не более 24 клеток. Фон Нейман добавил 1 еди- ницу для вертикального канала, идущего от этого импульсатора к входу щ петли Сь и блок СЗС стал занимать в ширину 29 клеток. Так как кодовые последовательности, входящие и выходящие из СС1? содержат по 5 единиц каждая, то каждый импульсатор и декодер узла CCi занимает в ширину 10 клеток. Фон Нейман добавил с каж- дой стороны полоску в соответствии со схемой рис. 29. Отсюда шири- на узла CCf стала 12. Общая ширина комплекса CCf — СЗС равна, таким образом, 41. На самом деле и здесь допущена ошибка. Вертикальный канал от выхода импульсатора 0.6 проходил бы тогда через конфлюентное состояние, находящееся в нижнем правом углу этого импульсатора, и получал бы от него импульсы, вызывающие на входе щ петли Ci неверные последовательности. Эту ошибку можно исправить, сохра- нив ширину 41 комплекса CCf — СЗС. Импульсатор 0.6 можно повер- нуть так, чтобы верхняя сторона была внизу, а схему его изменить так, чтобы он стал выше и уже. Лучше всего переделать схему коди- рованного канала, а вместе с ней и всего узла ССА, следующим образом. Подсчитаем число попарно различных кодовых последовательно- стей, необходимых для кодированного канала узла УУП. Сигналы, посылаемые с выходов о2, о3, о5 из УУП, а также поступающие на вход в КУ, проходят по X, и для них нужны 4 кодовые последователь- ности. Потом окажется, что в области Z нужны также 4 кодовые Часть II. Теория автоматов 266
последовательности. Анализ рис. 39 и 41 показывает, что требуется еще 31 последовательность. Таким образом, кодированному каналу узла УУП необходимо 39 попарно различных последовательностей. Вспомним, что т — длина кодовой последовательности, а к — число единиц в ней. Фон Нейман подсчитал выше, что в случае, когда для кодированного канала требуется 39 последовательностей, его алгоритм дает т = 9, к = 5. Но лучше взять т = 9, к = 4; тогда будет 56 различных последовательностей, т. е. более чем достаточно. Импульсаторы и декодеры для к = 4 занимают в ширину 8 клеток, экономя тем самым 2 единицы по сравнению с импульсаторами и де- кодерами фон Неймана. Позже фон Нейман брал ширину 12 для СС2 и СС3, а ширина блока КСЗС по его подсчетам составляла 18. Фон Нейман вычислил также высоту узла СС3 — она оказалась равной 545; для СС2 и КСЗС тре- буются меньшие высоты. Таким образом, комплекс СС2 — КСЗС — СС3 по подсчетам фон Неймана должен занимать 42 клетки в ширину и 545 клеток в высоту. Но п|пь такой высоте декодеры узла СС2 не всегда можно расположить так, чтобы их выходы питали прямо органы блока КСЗС, а импульсаторы блока СС3 не всегда можно расположить так, чтобы входные импульсы на них шли прямо от ор- ганов блока КСЗС. Для этих соединений нужны вертикальные кана- лы, которые можно построить, не выходя за пределы размеров ком- плекса СС2 — КСЗС — СС3, указанных фон Нейманом: надо взять ширину 8 для декодеров в СС2 и импульсаторов в СС3, тогда узлы СС2 и СС3 каждый будут иметь в ширину 10 клеток, а для блока КСЗС можно будет взять в ширину 22 клетки. Итак, мы модифицируем конструкцию кодированного канала, пред- ложенную фон Нейманом, полагая т = 9 и к = 4, т. е. беря кодовые последовательности длины 9, содержащие 4 единицы. Вычисляя раз- меры импульсатора, как указано в разд. 3.2.1, получаем, что ширина импульсаторов этого кодированного канала равна 8, а высота равна 7. Вычисляя размеры декодера, как указано в разд. 3.3, получаем, что ширина декодеров этого кодированного канала равна 8, а высота равна 11. Но оказывается, что каждый декодер, сконструированный по алгоритму разд. 3.3, имеет высоту 10. Это значит, что, добавляя изолирующие полоски из невозбудимых состояний, можно добиться, что высота узла ССА будет 320, а ширина 10. Таким образом, мы получили следующие значения соответствен- но высоты и ширины узла УУП и его главных частей (см. рис. 37): УУП 547 87 СЗС 320 31 КСЗС 545 22 CCj 320 10 сс2 545 10 СС3 545 10 Гл. 4. Конструкция ленты и системы управления ею 267
На основании этих данных можно ожидать, что синтез можно осуще- ствить, не увеличивая никакой орган блока СЗС. Это предположение будет подтверждено в гл. 5.] 4.3.4. Основные органы ОУ в УУП. Мы выполнили первую зада- чу, сформулированную в начале разд. 4.3.3: конструирование и рас- положение органов, фигурирующих в табл. III и IV разд. 4.3.2, и дискриминатора Т, т. е. тех органов, которые находятся в прямом контакте с щ, v{, w{, u2l v2, w2 (т. e. с петлями и C2). Теперь мы можем перейти ко второй задаче, сформулированной в разд. 4.3.3, а именно к управлению органами в соответствии со схемой рис. 38 и табл. II разд. 4.3.2. Прежде чем заняться вплотную этой задачей во всей ее полноте, рассмотрим одну предварительную проблему: исследуем управление работой 4 периодических импульсаторов РР рис. 39 в соответствии с условиями табл. III разд. 4.3.2. Согласно этим условиям, каждый импульсатор РР надо сначала включить, а потом выключить так, чтобы задержка между двумя этими моментами превышала на определенную величину задержку между моментами подачи импульса на вход а счетчика Ф и моментом появления отклика на его выходе Ъ. Каждый импульсатор РР связан с одним из входов и2, v2. Обозначим тот вход, который будем рассматривать, через й, а соответствующий счетчик Ф (Ф4 или Ф2} через Ф. Тогда надо сначала возбудить й *а+ иФ-а, а затем допустить, чтобы отклик органа Ф на выходе Ф -Ъ возбуждал й-а_. Задержки между этими процессами должны быть подобраны так, чтобы они вместе давали нужную разницу в задержке (разность между задерж- ками от й-а+ к й-а_ и от Ф -а к Ф*Ь), о которой говорилось выше. Этот управляющий орган обозначим символом: ОУ. [См. рис. 40, который отличается от конструкции фон Неймана в 4 отношениях. Во-первых, фон Нейман расположил выход Ъ выше выхода с; наше расположение лучше, так как импульс от Ъ не надо задерживать относительно импульса от с. Во-вторых, у фон Неймана нет под РР(1) изолирующего ряда из состояний U, а он нужен, поскольку нижний ряд импульсатора РР(1) содержит конфлюентные состояния. В-третьих, у фон Неймана ОУ имеет ширину 17, а у нас 16. В-четвертых (и это самое важное), фон Нейман использовал свой периодический импульсатор РР(1) (см. рис. 17b). Это плохо по сле- дующим причинам. В каждый момент времени включено не более одного органа ОУ блока КСЗС (рис. 41). Когда ОУ включен, он управляет блоком СЗС. Выходной сигнал от первичного выхода тройного возвратного счет- чика (Ф! или Ф2) блока СЗС (рис. 39) вызывает импульсы на стоп- Часть И. Теория автоматов 268
входах а_ нескольких органов ОУ блока КСЗС. Как отмечено в кон- це разд. 3.2.2, разработанный фон Нейманом периодический импуль- сатор РР(1) (рис. 17), возбуждаемый импульсом, пришедшим на стоп- вход а_ в тот момент, когда он неактивен, будет поврежден. Другой вариант периодического импульсатора РР(1) (рис. 20) в таких слу- чаях не повреждается, поэтому мы использовали его в ОУ.] У нас есть 2 различных импульсатора РР, но так как они подсое- динены к 4 различным входам й (каждый вход й определяет импуль- сатор РР, а также его счетчик Ф, см. табл. III), то, казалось бы, пона- добятся 4 органа ОУ. На самом деле эти 4 случая разбиваются на 16 подслучаев в соответствии с табл. II и III, причем каждый подслучай отвечает операции, отмеченной звездочкой в табл. II. Действительно, все такие операции требуют различных очередных ходов и последо- вательностей ходов (табл. II) и различных дополнительных задержек (табл. III). (Те операции табл. III, в которых эти дополнительные задержки одинаковы, связаны с различными входами й.) Итак, нам нужно 16 органов ОУ, по одному для каждой операции, отмеченной звездочкой. Рассмотрим теперь конкретный орган ОУ, т. е. конкретную опера- цию из табл. II, отмеченную звездочкой. Вход а первичный. Импульс на а должен идти к й >а+ и Ф *а, так что их надо присоединить к двум выходам — к Ъ и с соответственно. Заметим, что эти й »а+ и Ф *а следует представлять себе как подходящие входы кодированного канала, а й>а+ и Ф -а на рис. 39, составляющие конечную цель, являются выходами этого кодированного канала. Следовательно, на работу этого органа (в том числе на й-а+ и Ф -а) будут влиять соответствующие задержки, связанные с использованием кодирован- ного канала. Дальше мы покажем, что это относится и к и Ф -Ь. Все задержки в кодированном канале будут влиять на величину дополнительной задержки, приведенной в табл. III. В связи с этим точные значения задержек надо устанавливать в ОУ с учетом этого обстоятельства. Окончательно их можно определять лишь после выбо- ра точного положения этого ОУ по отношению к кодированному каналу и после планировки и расположения всего кодированного канала по отношению к блоку СЗС. Поэтому мы пока не будем уста- навливать точных значений задержек, а лишь свяжем с некоторой областью задержки D (не указывая ее точных размеров) путь задерж- ки от а к 6, который нам понадобится для нашей цели; этот задержи- вающий путь мы обозначим буквой JP. Перейдем к другим функциям органа ОУ. Отклик на Ф -Ь должен возбуждать вход й *а _, а также стимулировать очередной шаг, опреде- ляемый табл. II (или, более широко, общей схемой рис. 38) для этого ор- гана ОУ (т. е. для соответствующей операции, отмеченной звездочкой). Гл. 4. Конструкция ленты и системы управления ею 269
Однако нельзя прямо соединить Ф*&си-а_ис входом блока оче- редного шага. Действительно, один и тот же выход Ф-Ь относится к нескольким случаям (6 для Of и 10 для Ф2, см. табл. III). Соответ- ственно он относится к двум возможным входам й (и2, v2 для Ф! и щ, Vi для Ф2, см. табл. III) и нескольким возможным очередным шагам (6 или 10, см. выше). Поэтому надо снабдить ОУ памятью, кото- рая заставляла бы импульс от Ф-Ь активировать только принадежа- щий этому ОУ вход й-а_ и производить очередной шаг. На самом деле для й*а_ этого можно и не делать, т. е. Ф*Ь можно связать со всеми zzj *а_, Pi *а_, zz2-a_, v2-a_. Тогда надо просто выклю- чить не только включенный (от й-а^) импульсатор РР, готовый теперь к выключению (в соответствии с нужным входом й), но и еще 3 импульсатора РР, которые не были включены. Выключение же импульсатора РР [рис. 39], который до этого не был включен, ничего не меняет [см. конец разд. 3.2.2]. Что касается очередного шага, то здесь специальный контроль импульса от Ф >Ъ необходим. Действительно, если этот импульс будет запускать сразу все очередные шаги, отвечающие данному счетчику Ф (6 или 10 соответственно, см. выше), то это приведет к нарушению работы всего автомата. Поскольку такой специальный контроль импульса от Ф-Ь необходим из-за его влияния на очередные шаги, будет проще распространить этот контроль и на й>а_. Для осуществления этого специального контроля (т. е. проверки совпадения того, что рассматриваемый нами конкретный орган ОУ является как раз тем органом ОУ, который был приведен в активное состояние, с наличием отклика на Ф - Ь) требуется орган памяти и за- тем схема совпадений. Органом памяти служит, разумеется, перио- дический импульсатор РР(1), включаемый импульсом, идущим с входа а органа ОУ. Этот импульсатор РР(1) все время подает 1 им- пульс на схему совпадений, т. е. на клетку С в правом нижнем углу рис. 40. Когда появляется отклик на Ф-6 (т. е. когда возбуждается вход d), на схему совпадений приходит второй импульс и с нее начинают поступать импульсы на выходы е и /. Выход е соединен с выход / соединен с органом, дающим очередной шаг. Вход d также очищает память, т. е. выключает РР(1). [Из рис. 40 и 20 видно, что] РР(1) выключается достаточно поздно,, чтобы помешать осуществлению операции обнаружения совпадений. Далее, область D имеет ширину 15, а высота ее h все еще не опре- делена. Мы определим ее позднее, когда установим точную планиров- ку и расположение различных органов по отношению друг к другу. Ясно, что обсуждение и определение задержек внутри ОУ надо отло- жить до того момента. Часть И. Теория автоматов 270
4.3.5. Блок контроля считывания — записи — стирания (КСЗС) 2). [См. рис. 41.] Рассмотрим теперь общую проблему, намеченную в начале разд. 4.3.4: управление органами, находящимися в прямом контакте с соединительной петлей (\ и временной петлей С2 (т. е. комплексом CQ— СЗС рис. 37), в соответствии с рис. 38 и табл. II разд. 4.3.2. За основу, разумеется, мы возьмем орган ОУ разд. 4.3.4. Из рис. 38 видно, что надо удовлетворить еще одному требованию к памяти. Речь идет о командах «запустить а0» и «запустить ар>. Активность, зависящая от выполнения конкретной команды из из этих двух («орган а0 активен» или «орган a,i активен»), для каж- дой команды повторяется дважды. Проще всего связать с этой функ- цией «локальную» память в каждой из 4 относящихся к ней точек. Для этой цели нам понадобятся 4 импульсатора РР(1). Таким обра- зом, активность, зависящая от того, какой из органов, а0 или а1т активен (строки 9 и 15), будет определяться схемой совпадений (С), на которую один импульс будет поступать от соответствующего импульсатора РР, а другой — от логического предшественника рас- сматриваемой активности (рис. 38). Наконец, у нас есть 2 команды «остановить а0» и 2 команды «остановить ар>, означающие, что надо выключить 2 импульсатора РР (отвечающие органу а0 или czi). Здесь возможно некоторое отклоне- ние от рис. 38. Действительно, команды выключения можно задер- жать до конца этих последовательностей (т. е. до момента, когда возбуждается вход i3 (строки 12 и 19)). В этот момент все 4 последо- вательности встречаются, поэтому все выключения может осущест- вить один импульс, останавливающий все 4 импульсатора РР. Таким образом, выключатся не только включенные 2 импульсатора РР (того органа а0 или который был активен), но также и 2 импуль- сатора другого из органов а0, а19 которые и не были включены. Но это не причинит вреда, так как ни на что не влияет. [Как было объяс- нено в конце разд. 3.2.2, это верно для периодического импульса- тора фон Неймана в общем случае, но не для импульсатора РР(1), изображенного на рис. 17b. Поэтому здесь следует использовать импульсатор РР(1) рис. 20. Иными словами, в качестве всех 4 им- пульсаторов РР(1) рис. 41b, 41с и 41е надо взять РР(1) рис. 20.1 Импульсом, останавливающим сразу все 4 импульсатора, будет, очевидно, импульс на входе i3. Все эти соображения приводят нас к рис. 41. Структура этого рисунка очень близка к структуре рис. 39. Вер- тикальные пунктирные линии, ограничивающие его с обеих сторон, 0 [Фон Нейман озаглавил этот раздел: «Управляющая область в В. Общие размеры узла В».] Гл. 4. Конструкция ленты и системы управления ею 271
Часть II. Теория автоматов 272 таблица V КАК ОРГАНЫ^ПРАВЛЕНИЯ БЛОКА КСЗС УПРАВЛЯЮТ ИМПУЛЬСАТОРАМИ И ПЕРИОДИЧЕСКИМИ ИМПУЛЬСАТОРАМИ БЛОКА СЗС Операция Орган управле- ния Выходы из КСЗС. входы в СЗС Исполь- зуемый тройной возврат- ный счетчик Последовательности, посылаемые на петли Ci или Сг Воздействие на Ci или Сг Удлинить С2 ОУ1 Ф1 Подать n-f-l 110110 на и2 Рис. 32а — 32b и2-1 Подать 1110100 на и2 Рис. 32b — 32с ОУ2 ^2*^+, v2‘d_ Ф4 Подать п-|-1 110000 на v2 Рис. 32с — 32d р2ф1 Подать 11010 на v2 Рис. 32d—32е Удлинить ниж- нюю часть пет- ли Ci ОУз U]/a+, u^d_ ф2 Подать п 110110 на iq Рис. 33а — ЗЗЬ Подать 1111011110110111001 на Рис. ЗЗЬ —33с ОУ4 Vi-d_ Ф2 Подать п 110000 на Рис. 33с—33d i>i*2 Подать 110101101011001 на Рис. 33d — ЗЗе Удлинить верх- нюю часть пет- ли Ci и записать 0 в ячейку хп ОУ5 uva+, и{-а_ Ф2 Подать п 110110 на Рис. ЗЗе—36а zzp2 Подать 111101 на Рис. 36а — 36Ь ОУ6 Фг Подать п-)-1 110000 на Рис. 36b — 36с ^1*3 Подать 1010 на Рис. 36с—36d Удлинить верх- нюю часть пет- ли Ci и записать 1 в ячейку хп ОУ7 uvai} ui*d_ Ф2 Подать п-\-1 110110 на Рис. ЗЗе — 33f Подать 1010 на и] Рис. 33f — 33g ОУ8 vi-d_ Ф2 Подать zz-j-l 110000 на vi Рис. 33g — 33h
Гл. 4. Конструкция ленты и системы управления ею Продолжение Операция Орган управле- ния Выходы из КСЗС, входы в СЗС Исполь- зуемый тройной возврат- ный счетчик Последовательности, посылаемые на петли Ci или С2 Воздействие иа Ci или С2 Укоротить С2 ОУ9 н2-а+, Ф1 Подать п 110110 на и2 Рис. 32а — 34а ?/2-2 Подать 111101 иа ?/2 Рис. 34а — 34b ОУ10 г2-я+, v2'a- Ф1 Подать п 110000 на г2 Рис. 34b—34с и2 • 2 Подать одиночный импульс на г2 Рис. 34с — 34d ОУИ u2-a.±, и2-а_ (Di Подать п — 1 110110 на и2 Рис. 34d — 34е н2-3 Подать 11010 на и2 Рис. 34е — 34f ОУ12 ^2*а+> v2'a- Податьп— 1 110000 на v2 Рис. 34f 34g Укоротить ниж- нюю часть пет- ли Cj и произве- сти запись в ячейку хп ОУ13 upa+, uva_ Ф2 Подать п 110110 на Рис. 33а —35а wpl Подать 11110111101 на и± Рис. 35а—35b ОУ14 Ф2 Подать п 110000 на Рис. 35b—35с Записать ь*р4 Подать 110101 на vi Рис. 35с — 35d 0 с U в хп Записать vr5 Подать 1101011010 на р, Рис- 35с—35<1 1 Укоротить верх- нюю часть пет- ли Ci ОУ15 и^а+, uva_ Ф2 Подать п 110110 на Рис. 35d — 35е нр5 Подать одиночный импульс на uj Рис. 35е — 35f ОУ10 гра+, *’!•а- Фг Подать п — 1 110000 на Рис. 35f — 35g гр 6 Подать 11010 на Рис. 35g — 35h (См. также рис. 39 и 41.)
играют ту же роль, что и одиночная вертикальная пунктирная линия на рис. 39. Как отмечалось в разд. 4.3.3, последняя обозначает часть кодированного канала, смежную с ансамблем рис. 39 (т. е. узел СС1т смежный с СЗС на рис. 37). Аналогично две упомянутые выше линии теперь указывают части кодированного канала, смежные с двумя краями ансамбля рис. 41. Связь между этими тремя частями кодиро- ванного канала (СС1? СС2 и СС3) мы опишем далее; мы покажем, что вместе они составляют большую часть кодированного канала узла УУП. Все входы и выходы органов, изображенных на рис. 41 (РР, ОУ), указаны. Входы и выходы, соединяющие этот ансамбль с ко- дированным каналом (т. е. с СС2 и СС3) и с КУ, помечены символами, не требующими пояснений. Все, что расположено в стороне СС2 блока КСЗС, является выхо- дом из СС2; всего таких выходов 33. Один и тот же выход bv может встречаться несколько раз, причем он занимает соседние клетки. (В одном случае 2 соседствующих выхода Ф1 в другом 4 соседству- ющих выхода Oj *b и еще в 5 случаях 2 соседствующих выхода Ф2 *Ь.) В каждом из этих случаев можно было бы заменить группу сосед- ствующих выходов одним выходом, сокращая таким образом стороны СС2 (т. е. уменьшая высоту этого узла). Но высота узла СС2 обуслов- ливается не этим (см. далее), так что нет смысла в ее уменьшении. С другой стороны, объединение этих выходов привело бы к необхо- димости введения вертикальных каналов распределения в ансамбле, расположенном справа от СС2 (ведущих к различным органам ОУ, на которые подаются сигналы от этих выходов 6V, т. е. от Ф! -Ь и Ф2«Ь), а поэтому ширина ансамбля существенно возросла бы. Все, что расположено на стороне СС3, является входом в СС3; всего таких входов 68. Кроме того, есть еще 2 входа о4, о4 и 2 выхода г2, расположен- ные в верхней части рис. 41. Входами av и выходами bv участков СС2 и СС3 кодированного канала служат все входы и выходы участка CQ (рис. 39), а также р, i3 (они могут быть как входами, так и выходами), о2, о3, о5 (они могут быть только выходами). Таким образом, к тем 30 различным значени- ям v, которые были нужны для CCj (см. разд. 4.3.3), добавляются еще 5. Это согласуется с нашим обсуждением формул (32') и (33'). Итак, должно выполняться условие п 35. (Дальше мы пока- жем, что п надо брать еще больше.) [В оставшейся части раздела фон Нейман подсчитал размеры узлов СС2, КСЗС и СС3; см. конец разд. 4.3.3, где обсуждаются эти результаты. Мы добавили табл. V, в которой собрали информацию, содержа- щуюся в рис. 32—36, 39, 41 и табл. II — IV. В табл. V показано, как органы ОУ блока КСЗС управляют импульсаторами и периоди- ческими импульсаторами блока СЗС.]
ГЛАВА 5 5.1. ЗАВЕРШЕНИЕ СИНТЕЗА УЗЛА УПРАВЛЕНИЯ ПАМЯТЬЮ. 5.1.1. Ос- САМ0В0СПР0ИЗВЕДЕНИЕ тальная часть рукописи фон Нейма- АВТОМАТОВ на- РУКОПИСЬ содержит еще 6 раз- делов, а затем внезапно обрывается. В основном в этих разделах вы- числяются задержки внутри УУП. Большая часть вычислений не верна из-за ошибок, допущенных фон Нейманом в процессе синтеза и при подсчете размеров различ- ных органов и узлов в гл. 3. По этой причине мы не приводим ос- тавшуюся часть рукописи, а лишь резюмируем ее содержание. Опу- щенные разделы занимают примерно объем гл. 3 и содержат 7 рисунков. Организация и работа узла УУП описывается в разд. 4.3.1 и на рис. 37. В конце гл. 4 синтез УУП доведен фон Нейманом до следующей стадии. Блок считывания — записи — стирания (СЗС). Импульсаторы. периодические импульсаторы, тройные возвратные счетчики и ди- скриминаторы, составляющие СЗС, сконструированы, и их порядок в СЗС установлен (рис. 39). Точное положение этих органов в СЗС не указано, но известно, что каждый из них должен располагаться так, чтобы на него почти прямо попадал импульс с выхода декодера узла CCj и (или) с его выхода импульс попадал почти прямо на им- пульсатор узла ССР Блок СЗС должен иметь в высоту 320 клеток и в ширину 31 клетку. Положение выхода w2 временной петли С2 можно выбрать многими способами. Фон Нейман поместил его на вы- соте 48 клеток от основания блока СЗС. Блок контроля считывания — записи — стирания (КСЗС). КСЗС состоит в основном из органов ОУ; они сконструированы, но размер области задержки D не определен и не синтезирован путь задержки St (рис. 40). Органы ОУ (всего 16) и 4 импульсатора РР (Г) располо- жены, как показано на рис. 41. Точное положение их в КСЗС не вы- брано, но известно, что каждый орган должен располагаться так. чтобы прямо на него, насколько это возможно, попадал импульс с выхода декодера узла CQ, а с его выхода импульс попадал почти прямо на импульсатор узла CQ. Блок КСЗС должен иметь в высоту 545 клеток и в ширину 22 клетки. Кодированный канал. Блоки КСЗС и СЗС должны размещаться так, как показано на рис. 37. Кодированный канал состоит из узлов Гл. 5. Самовоспроизведение автоматов 275
СС3, X, Z, CQ, CC2 и главного канала. Главный канал простирается от черного кружочка вблизи середины нижней части рис. 37 до чер- ного квадратика в верхнем левом углу этого рисунка; точнее, глав- ный канал оканчивается там, где он подходит к самому верхнему пмпульсатору узла СС2. Код, используемый в этом кодирован- ном канале, имеет следующие характеристики. Каждая кодовая последовательность начинается с единицы и содержит еще 3 еди- ницы; длина последовательности не более 9. Такой код допускает 56 различных последовательностей; позже мы покажем, что можно обойтись даже меньшим числом их. Эти последовательности не распре- делены фон Нейманом по входам и выходам кодированного канала. Импульсаторы кодированного канала занимают в ширину 8 клеток п в высоту 7 клеток, а декодеры — в ширину 8 клеток и в высо- ту 10 клеток. Узел CCj имеет в ширину 10 клеток и в высоту 320 клеток, а каждый из узлов СС2 и СС3 — в ширину 10 клеток и в высоту 545 клеток. х Узел управления памятью (УУП). В высоту он занимает 547 клеток, а в ширину 87 клеток, причем предполагается, что еще не синтезированные органы можно уместить на этом пространстве. Теперь остановимся коротко на результатах фон Неймана, полу- ченных в той части рукописи, которую мы не публикуем. Во-первых, фон Нейман объединил блок СЗС с блоком КСЗС, как показано на рис. 37. Анализ разд. 4.3.3 и рис. 39 показывает, что через CCj информация передается в обоих направлениях, так что в CCt входят как декодеры, так и импульсаторы. Анализ разд. 4.3.5 и рис. 41 показывает, что КСЗС получает информацию только от СС2 и пере- дает информацию только к СС3. Следовательно, в СС2 входят только декодеры, а в СС3 — только импульсаторы. Поэтому нециклический кодированный канал (рис. 28k) вполне достаточен для наших целей. Это значит, что подходит кодированный канал рис. 37. Иначе нужен был бы циклический канал (рис. 30) и тогда надо было бы записывать кодовые последовательности главного канала рис. 37, когда они достигают конца главного канала, а затем передавать их к началу главного канала (см. рис. 27). Далее фон Нейман синтезировал область X. Сигналы с выходов о2, о3 и о5 узла КУ проходят по прямым передающим каналам в Y, входят в импульсаторы в X, затем в главный канал узла УУП в виде кодированных последовательностей и проходят через СС2 в блок КСЗС. Сигнал окончания, направляющийся к входу i3 узла КУ, покидает блок КСЗС через любой из 3 выходов, показанных на рис. 37, кодируется в СС3, входит в главный канал, декодируется в X и про- ходит через Y к f3. Область X, таким образом, содержит 3 импуль- сатора и 1 декодер, занимает в высоту 36 клеток и в ширину 10 клеток. Часть II. Теория автоматов 276
Фон Нейман выбрал для области Y ту же высоту, что и для X, а для Z ту же ширину, что и для X, определив таким образом размеры областей Y, Z и W. Реальный синтез области Y мы проведем потом, а пока скажем лишь, что она очень проста. Область Y содержит ком- муникационные линии из обычных передающих состояний; осталь- ная часть этой области не используется. Итак, области X, Y, Z, W имеют следующие размеры (соответ- ственно высоту и ширину): X 36 10 Y 36 31 Z 191 10 W 191 31 Фон Нейман рассмотрел вопрос о задержках внутри УУП, необ- ходимых для предотвращения искажений, связанных с интерферен- цией циркулирующих в этой системе сообщений. Они распадаются на 2 класса: задержки, необходимые для предотвращения искажений в главном канале, и задержки, необходимые для предотвращения искажений внутри СЗС и КСЗС. Фон Нейман применил правило (16') разд. 3.6.1 и пришел к выводу, что искажения не возникнут. Это заключение, однако, не верно. Рассмотрим импульсы, идущие с выходов е и / органа ОУ (рис. 40 и 41). Импульс от е входит в СС3, в результате чего в главный канал поступает кодовая последовательность, которая декодируется в С(\ и вызывает остановку некоторого периодического импульсатора блока СЗС. Импульс от / обычно входит в СС3 и создает кодовую после- довательность, запускающую в конце концов некоторый импульса- тор блока СЗС. Импульс от / также обычно входит в верхнюю часть следуюпщго органа ОУ, появляется на с (кроме всего прочего) и вхо- дит в СС3, запуская в итоге тройной возвратный счетчик блока СЗС. Поэтому импульсы, поступающие с выходов е и f органа ОУ, обычно приводят к тому, что в главный канал входят 3 кодовые последова- тельности, расположенные близко друг от друга: первая останавли- вает периодический импульсатор блока СЗС, вторая запускает импульсатор блока СЗС, а третья запускает тройной возвратный счетчик блока СЗС. Для некоторых органов ОУ эти последователь- ности перекрывались бы в главном канале, если бы они не подверга- лись соответствующей задержке на путях задержки между КСЗС и СС3. В блоке КСЗС вполне достаточно места для размещения этих путей задержки. Аналогичная проблема возникает в СЗС. Рассмотрим вход с которого поступают сигналы на соединительную петлю Ср На вход щ подаются сигналы как от импульсаторов, так и от периодических импульсаторов. При удлинении или укорочении петли Q последова- тельность, идущая от некоторого импульсатора, поступает сразу же Гл. 5. Самовоспроизведение автоматов 277
за последовательностью, пришедшей от некоторого периодического импульсатора. Эти последовательности не должны перекрываться. Те же замечания относятся к входу петли Q и входам и2 и v2 петли С2 (см. разд. 4.2 и табл. II из разд. 4.3.2). Это нежелательное перекрытие последовательностей можно устранить либо добавлением задержки в блок СЗС, либо изменением порядка периодических импульсаторов и импульсаторов в СЗС. Это не самое страшное. Более важную роль играет интерференция в главном канале, когда для удлинения или укорочения петель С4 и С2 используются периодические импульсаторы и тройные возвратные счетчики блока СЗС. Когда верхняя половина каждой петли дости- гает в длину около 200 клеток, периодический импульсатор РР блока СЗС начинает свою работу примерно в то же время, когда трой- ной возвратный счетчик (Ot или Ф2) вырабатывает выходной импульс на своем первичном выходе b (рис. 23). Кодовая последовательность, запускающая РР, и кодовая последовательность, идущая от декоде- ра, получающего входной сигнал от Oi или Ф2, будут в главном канале перекрываться, и это приведет к искажениям. Подробное объяснение этой проблемы и ее разрешение мы дадим в разд. 5.1.2. Правильное выполнение работы, контролируемой каждым из 16 органов управления, зависит от соблюдения точных значений опре- деленных задержек, причем для каждого ОУ устанавливается своя задержка. Каждый из органов ОУ контролирует выполнение опера- ции удлинения или укорочения в одной из петель Q или С2, а отсчет времени производится с помощью другой петли и тройного возврат- ного счетчика. Мы проиллюстрируем это на примере задержек, свя- занных с органом ОУ3, см. табл. V и рис. 39 и 41а. Периодический импульсатор РР (110110) блока СЗС с входами щ >а+ и щ *а_ надо включить на время, равное примерно 6п, где п — номер ячейки ,в L, просматриваемой в начале процесса. Величина 6zz не ограничена и поэтому не может храниться в конечном автомате УУП. В разд. 4.1.7 фон Нейман ввел временную петлю С2 для запо- минания величины 2п. Для того чтобы импульс мог пройти по петле С2 три раза, потребуется примерно 6п временных шагов; равенство здесь приближенное, а не точное, так как петля С2 удлиняется или укорачивается до удлинения или укорочения петли С4. Эти 3 круга по С2 отсчитываются тройным возвратным счетчиком Ф2. Ясно, что связанное с управлением взаимодействие между ОУ3, с одной сторо- ны, и РР (110110) и Ф2, с другой, займет значительное время, поскольку блок КСЗС удален от блока СЗС. Эти же замечания отно- сятся и к другим органам ОУ блока КСЗС. Перечислим задержки, связанные с этим управлением (задержки отсчитываются от выхода конфлюентного состояния в верхнем правом углу органа ОУ3). Часть II. Теория автоматов 278
(Ai) Начинается с выхода с органа ОУ3, затем на СС3, главном кана- ле, CCj и кончается на входе Ф2*а блока СЗС. (А2) Задержка внутри Ф2, затем между Ф2 и входом г2 петли С2 (т. е. 62), затем между выходом ш2 петли С2 и Ф2 (т. е. 6") и внутри С2. Вспомним, что импульс проходит по С2 трижды. Общая задержка равна 3(6^ + 6'2) + а2 плюс необходимая задержка между моментами включения и выключения импуль- сатора РР (110110), см. табл. III разд. 4.3.2. (А3) Начинается с выхода Ф2«Ь блока СЗС, затем на CQ, главном канале и СС2, затем от d до е органа ОУ3, на СС3, главном канале, CCi и кончается на входе и±-а_ блока СЗС. Это практически полная петля по узлу УУП. (А4) Задержка в области D (на пути задержки органа ОУ3, затем от выхода b органа ОУ3 через СС3 и главный канал к обла- сти Z, затем на Z, W и снова Z, в главном канале и СС4 до входа щ -а+ блока СЗС. Точная величина задержки на в Zu W еще не установлена. Узел УУП занимает в высоту 547 клеток и в ширину 87 клеток, так что задержка на его главном канале значительна. Ясно, что импульсатор РР (110110) должен начать работать гораздо позже, чем счетчик Ф2, так как имеется дополнительная задержка 3 (6J + 62) + + а2 плюс задержка от выхода из Ф2 по главному каналу узла УУП, через КСЗС и обратно вдоль главного канала до стоп-входа и{-а_ импульсатора РР (110110). Поэтому обязательно нужны задержки в области D (путь J?) органа ОУ3 и в областях Z и W. Эти же задерж- ки касаются и всех других органов ОУ, но точная величина необхо- димой задержки для каждого органа ОУ своя, потому что меняется положение ОУ в блоке КСЗС и периодических импульсаторов РР и счетчиков Ф в СЗС. Фон Нейман произвел подробные вычисления величины задерж- ки, требуемой в областях D, Z и W для каждого органа ОУ. Эти вычисления чрезвычайно длинны и сложны из-за характера той про- цедуры синтеза, которой придерживался фон Нейман. Далее, он не задал размеров области D органа ОУ и не определил пути SS в орга- нах ОУ! — ОУ16; не выбрал код для кодированного канала; не уста- новил точное положение узлов СС2, КСЗС, Z, W и СЗС. В частности, высота блока СЗС определялась высотой узла CQ и в блоке СЗС оста- валось много незаполненного места. Фон Нейман проводил вычисления задержек, не задаваясь точны- ми значениями всех этих величин, а затем выбрал эти параметры на основе своих вычислений. Такая процедура синтеза довольно гибка, но приводит к утомительным и сложным вычислениям. Кроме Гл. 5. Самовоспроизведение автоматов 279
того, некоторые из размеров, используемых здесь фон Нейманом, были взяты им неправильно, в частности высота узла ССр, см. конец разд. 4.3.3. Эти ошибки сводят на нет большую часть его вычислений, так что мы не будем воспроизводить эту часть его рукописи, а лишь сформулируем основные ее результаты. Они показывают, что разра- ботанная фон Нейманом конструкция узла УУП с соответствующими исправлениями действительно работает. Возникающие задержки зависят от не выбранных еще деталей конструкции и от тех ее параметров, которые надо изменить для устра- нения ошибок фон Неймана. Поэтому мы приведем здесь лишь при- ближенные оценки этих величин. Задержка 3 (62 + 60 + а2 состав- ляет порядка 600 единиц времени. Задержка Л3 от Ф2-Ь блока СЗС через ОУ3 и обратно к zzj-a. блока СЗС составляет порядка 1200 единиц. Заметим, что по подсчетам фон Неймана высота блока СЗС равна 239 (разд. 4.3.3), так что верхний импульсатор РР (110110) расположен примерно на 200 единиц выше счетчика Ф2. Дополни- тельные задержки в областях D, Z и W составляют порядка 2000 единиц. Величины задержек для разных органов ОУ отличаются друг от друга примерно на 100 единиц. Дополнительная задержка, общая для всех периодических импуль- саторов блока СЗС (т. е. около 2000 единиц), обеспечивается в обла- стях Z и W. Та часть дополнительной задержки, которая связана отдельно с каждым органом ОУ (т. е. около 100 единиц), обеспечивает- ся в области D соответствующего органа ОУ. В конце разд. 4.3.4 для области D была выбрана ширина 15, а значение высоты Л конкрет- но не указывалось. Высота блока КСЗС определялась высотой узла СС3, равной 545. Эта высота блока КСЗС позволяет взять h = 21; мы так и сделаем. Это дает для области D органа ОУ площадку 21 X 15, или 315 клеток, т. е. более чем достаточно для обеспечения задержки, индивидуальной для каждого органа ОУ. Далее фон Нейман переходит к синтезу областей Z и W. Он делит W на 4 равные части (Wi, w2, w 3 и W4), оставляя еще небольшой участок. Затем делит Z на соответствующие 4 части Zt, Z2, Z3 и Z4. Области Zi и Wi он использует для получения дополнительной задер- жки, связанной с верхним импульсатором РР(НОИО) блока СЗС; области Z2 и W2 он использует для получения дополнительной задер- жки, связанной с нижним импульсатором РР(110000) блока СЗС; аналогично для других периодических импульсаторов блока СЗС. Рассмотрим опять в качестве примера орган ОУ3. Этот орган контролирует работу верхнего импульсатора РР(ИОИО) блока СЗС, запуская его сигналом на входе щ *а+ (рис. 39 и 41а). В конструкции разд. 4.3.5 этот пусковой импульс выходит из органа ОУ3 на -а + , Часть И. Теория автоматов 280
кодируется в СС3, проходит по главному каналу, декодируется в СС4 и поступает в СЗС на входг^-а^.. Эту конструкцию предстоит теперь модифицировать так, чтобы внести около 2000 единиц задержки в путь от ОУ3 к СЗС; дополнительная задержка достигается благо- даря тому, что этот путь прокладывается через области Z4 и WP Чтобы обеспечить прохождение этого пути по областям Z4 и W1? мы перекодируем выход щ 'Си органа ОУ3 новой кодовой последователь- ностью и*-а+, поместим декодер для и*-а+ в Zb поместим в Z4 импульсатор для zz4 и соединим выход декодера и вход импульса- тора с помощью длинного пути, проходящего по WP Путь задержки Л4 от ОУ3 к входу щ блока СЗС теперь таков. Импульс выходит из конфлюентного элемента, расположенного в правом верхнем углу органа ОУ3, и проходит по пути возбуж- дая и**а+ на рис. 41а). Импульсатор в СС3 посылает кодовую последовательность, соответствующую z/**a+, в главный канал; декодер в Z4 регистрирует эту последовательность и посылает импульс вдоль длинного пути в области WP Этот импульс возбуждает в Z4 импульсатор, и тот посылает в главный канал кодовую последова- тельность, соответствующую их*а+. Наконец, декодер в СС4 реги- стрирует эту последовательность и посылает импульс на пусковой вход верхнего периодического импульсатора РР(НОНО) блока СЗС. Так как органы ОУ5, ОУ7, ОУ13 и ОУ15 тоже контролируют рабо- ту верхнего периодического импульсатора РР(НОНО) блока СЗС, то пх выходы щ *а+ также следует заменить на соответ- ственно надо изменить те импульсаторы, которые они возбуждают в СС3. Подобные меры необходимо принять и в других органах ОУ блока КСЗС и соответственно в других частях областей Z и W, так что импульс с выхода b органа ОУ будет теперь проходить по обла- стям Z и W до запуска периодического импульсатора блока СЗС. В связи с этим появятся новые кодовые последовательности, соответ- ствующие и* •«_!_, и*-а+ и и**а+. Итак, нужно внести следующие изменения в узел УУП, скон- струированный в конце гл. 4. Символы и^а^, и2*а+ и v2*a+ на рис. 41 нужно заменить на и*-а+, и%-а+ и соответ- ственно и изменить импульсаторы узла СС3. В области Z4 теперь будет декодер для и*-а+ и импульсатор для и4 *а+, причем выходной сигнал с декодера будет подаваться на импульсатор через длинный задерживающий путь, проходящий по области WP В области Z2 теперь будет декодер для v*-a+ и импульсатор для причем первый будет подавать сигнал последнему через область W2. Анало- гично декодер для и* *а+ в области Z3 будет посылать сигнал на импульсатор для и2*а+ через область W3, а декодер для v*-a+ Гл. 5. Самовоспроизведение автоматов 281
в области Z4 будет посылать сигналы на импульсатор для через область W4. Вспомним, что при вычислении высоты узла CCt фон Нейман допустил ошибку (конец разд. 4.3.3) и в результате получил, что высота каждой из областей W1? W2, W3 и W4 может равняться 68. Так как в ширину они должны были занимать 29 клеток, то пло- щадка для каждой из областей содержала бы 1972 клетки. Фон Нейман хотел получить необходимую задержку, направляя импульсы по пути из обычных передающих состояний, проходящем несколько раз вперед и назад по каждой из областей. Он ожидал, таким образом, задержку в 1972 единицы, т. е. немного больше, чем ему требовалось. Кроме того, он считал, что можно получить дополнительные задерж- ки в областях D органов ОУ. На самом деле, если принять во внима- ние допущенную им ошибку при вычислении высоты узла CCt, обла- сти Wt, W2, W3 и W4 могли занимать в высоту не более 45 клеток, а такая высота не может обеспечить необходимой задержки. Эту ошибку можно исправить несколькими способами. Область W можно распространить вправо. Расположение органов узла УУН можно выбрать так, чтобы получить в X, Y, Z, СЗС и СС2 свободное пространство. Но есть 2 более изящных способа. Во-первых, области Wt, W2, W3 и W4 можно построить так, чтобы каждая клетка давала задержку, превышающую 1. Так как конфлю- ентные состояния не могут возбуждать друг друга, то их можно перемежать с обычными передающими состояниями, и тогда каждая клетка дает в среднем полторы единицы задержки. Еще большую задержку позволяет получить повторный процесс: укажем один из способов его осуществления. Повторитель, изображенный на рис. 18е (разд. 3.2.2), будет давать периодическую последователь- ность вида 100...00. Пусть импульс, который надо задержать в обла- сти W1? запускает 2 таких повторителя, причем один из них создает последовательность длины 41, а другой — последовательность длины 47 (41 и 47 — взаимно простые числа). Подадим выходные сигналы с обоих повторителей на конфлюентное состояние. По прошествии 41 х 47 (= 1927) единиц времени на этом конфлюентном состоянии импульсы начнут совпадать. Результирующий импульс, выходящий с этого конфлюентного состояния, будет означать задержку на 1927 единиц; его можно использовать для выключения этих повторителей. Так можно добиться в области W4 задержки порядка 2000 единиц, т. е. задержки, которая была нужна фон Нейману; аналогично мож- но получить такие же задержки в областях W2, W3 и W4. Другой способ достижения необходимой задержки в области W (на самом деле известный фон Нейману) состоит в замене 4 путей задержки в области W единственным путем. Разорвем соединения, идущие от главного канала к декодерам в Z, и присоединим каждый Часть II. Теория автоматов 282
декодер в Z непосредственно к тому импульсатору в Z, который преж- де был присоединен к нему через задерживающий путь, проходящий по W. Например, выходной сигнал от декодера для и*-а+ теперь пой- дет прямо в импульсатор для щ -а+ (как декодер D (11001) на рис. 27 возбуждает импульсатор Р(10011) в верхней части кодированного канала). Образуем затем ветвь главного канала — через верх обла- сти Z, через W (достигается задержка порядка 2000 единиц) и далее на 4 декодера в Z. При такой конструкции областей Z и W в главный канал добав- ляются 4 новые кодовые последовательности, связанные с и*«а+, г* -а+, и* -а+ и и* -а+. Там уже было 30 кодовых последовательностей, связанных с декодерами и импульсаторами узла СС1? и 4 кодовые последовательности, связанные с декодерами и импульсаторами обла- сти X. Еще одна кодовая последовательность связана с выходом р органа ОУ14. Узлы СС2 и СС3 новых последовательностей не добав- ляют. Таким образом, для кодированного канала узла УУП нужны 39 различных кодовых последовательностей. В конце разд. 4.3.3 было сделано предположение, что подойдет код с последовательностями длины 9, содержащими 4 единицы, который допускает 56 различ- ных последовательностей. Теперь это предположение подтверди- лось. Этим завершается построение схемы фон Неймана для узла УУП. Конкретного кода для кодированного канала пока не выбрано и не указано точное положение многих из органов узла УУП, но это уже менее важные вопросы детализации. Рукопись фон Неймана обрывается на вычислениях времени рабо- ты узла УУП. Уравнение (17') разд. 4.1.3 дает значение ns номера ячейки хп линейного массива L, просматриваемой на данном шаге s. Фон Нейман установил, что весь процесс удлинения занимает примерно 36ns + 13 000 единиц времени, а весь процесс укорочения — примерно 48£ -р 20 000 единиц времени. 5.1.2. Разрешение проблемы интерференции. Теперь синтез узла УУП закончен, и приведенная схема была бы работоспособной, если бы не проблема интерференции, оставшаяся нерешеннойв разд. 5.1.1. В настоящем разделе мы объясним эту проблему, укажем методы ее решения. Проблема интерференции возникает в блоках КСЗС и СЗС. В опре- деленных случаях сигнал, идущий от КСЗС к СЗС, накладывается в главном канале на сигнал, идущий от СЗС к КСЗС. Фон Нейман обозначал через ns номер ячейки хп линейного мас- сива L, просматриваемой на данном шаге s. При некоторых значе- ниях ns кодовая последовательность, запускающая периодический импульсатор блока СЗС, перекрывается кодовой последователь- Гл. 5. Самовоспроизведение автоматов 283
ностыо, идущей от CQ к КСЗС и предназначенной для остановки того же самого периодического импульсатора. Это перекрытие происхо- дит в главном канале между его концом и узлом ССР В некоторых случаях перекрытие приводит к искажениям, вызванным интерферен- цией, см. формулу (16') разд. 3.6.1. Две перекрывающиеся последо- вательности образуют третью последовательность, и она начинает возбуждать декодер в СС2, который не должен возбуждаться на этом этапе работы узла УУП. Эта проблема интерференции касается всех периодических импульсаторов и тройных возвратных счетчиков блока СЗС, но для конкретности мы разъясним ее на примере верхнего периодического импульсатора РР(НОНО) блока СЗС и тройного возвратного счет- чика Ф2, используемого для хронометрирования. Рассмотрим снача- ла функционирование импульсатора РР(НОНО). Он запускается импульсом на входе *а+ в некоторый момент т+ и останавливается импульсом на входе ui*a_ в момент т_, где т+ < т_. Из табл. V видно, что разность т_ — т+ равна примерно 6ns. Отсюда момент запуска на щ -а+ определяется формулой т+^т_ —6ns. (1) Рассмотрим теперь управление сигналом остановки, поданным на вход Он контролируется импульсом от первичного выхода Ф2-д тройного возвратного счетчика Ф2 в некоторый момент т^. Этот импульс должен пройти от Ф2 -Ъ через CCt, главный канал, СС2, некоторый орган управления блока КСЗС (например, ОУ3), снова главный канал и снова СС19 и затем уже он воздействует на останавливая импульсатор РР(ИОИО). Время, необходимое для такого перехода, представляет собой задержку А3 (разд. 5.1.1); оно равно примерно 1200 единицам. Отсюда момент появления импульса на выходе Ф2-Ь блока СЗС определяется формулой тд^т_—1200. (2) Теперь сравним уравнения (1) и (2). Для ns = 0 (напомним, что ns — номер просматриваемой ячейки линейного массива L) т+ при- мерно на 1200 единиц превосходит (момент т+ наступает позже) При больших ns момент т+ наступает гораздо раньше, чем т^. При ns порядка 200 моменты т+ и т& совпадают. Следовательно, в этом случае кодовая последовательность щ -а+ придет в главный канал вблизи CCj почти одновременно с кодовой последовательностью Ф2«Ь. В результате возникнут искажения, связанные с интерференцией в главном канале. Часть II. Теория автоматов 284
Таким образом, при некоторых значениях длин петель С4 и С2 схема, разработанная фон Нейманом для УУП, будет неправильно работать. Мы дадим два различных решения этой проблемы интерфе- ренции. Первое состоит в том, что интерференцию можно будет избе- жать. если не пользоваться теми ячейками из L, где она возникает. А для этого достаточно запрограммировать УУП так. чтобы значения ns, меньшие, скажем, чем 250, не использовались. Тогда ячейки xQ, Xi, . . ., £249 массива L никогда не будут употребляться. Это значит, что, когда включается УУП, петля С4 проходит через ячейку я250, а петля С2 имеет соответствующую длину. А это, как мы сейчас уви- дим, повлияет в свою очередь на план универсального конструк- тора. Фон Нейман разработал следующий план универсального кон- структора (разд. 1.5.2 и 1.7.2.1). Поместим вторичный автомат, кото- рый предстоит сконструировать, в прямоугольник со сторонами а и р. Требуется, чтобы состояние клетки (£, j) (f = 0, 1, . . ., а — 1; j = 0, 1, . . ., Р — 1) этого прямоугольника было Конструирую- щий процесс приведет произвольную клетку (i, /) в любое из 10 невоз- будимых состояний U, Twa0 (и — 0, 1; a = 0, 1, 2, 3) и Соо (см. рис. 9 и 10); таким образом, может принимать 10 значений. Описание нужной конструкции задается первичному (родительскому) авто- мату в виде последовательности ^00, ^01, • • •? ^0(3-1)? ^10> • • •? • • • » ^(а-1)(3-1)« Вторичный автомат, который предстоит сконструировать, вообще говоря, имеет неограниченно расширяемый линейный массив L и узел УУП для управления этим массивом. По этой причине фон Нейман строил узел УУП в виде прямоугольника. Если решать проблему интерференции нашим первым способом, то УУП надо сконструировать так, чтобы в начале его работы петля С4 проходила через ячейку я25о, а петля С2 была соответствующей длины. Чтобы сохранить прямоугольную форму узла УУП, отодвинем его границу на 250 клеток вправо, так что УУП будет занимать 337 клеток в шири- ну п 547 в высоту (см. рис. 37). На этой дополнительной площади лишь 1% клеток не будет находиться в невозбудимом состоянии U, а это означает, что новая площадь используется крайне неэффек- тивно. Поэтому, хотя наше первое решение проблемы интерференции вполне подходит, оно не изящно и фон Неймана оно не удовлетворило бы. Мы предложим второе решение, представляющее также общий интерес, ибо иллюстрирует некоторые важные черты клеточной структуры, разработанной фон Нейманом. Клеточная структура, разработанная фон Нейманом, состоит из бесконечного массива конечных автоматов с 29 состояниями. В каждый данный момент времени в активном состоянии может быть Гл. 5. Самовоспроизведение автоматов 285
любое конечное число таких автоматов, поэтому клеточная структура допускает как угодно много одновременных действий, или параллель- ную обработку большого числа данных. В своей конструкции самовос- производящегося автомата фон Нейман не использовал преимуществ параллельной обработки данных. Он сконструировал свой самовос- производящийся автомат так, что в каждый момент времени автомат мог делать, как правило, только одну вещь. В этом отношении логи- ческая схема фон Неймана для самовоспроизводящегося автомата подобна его логической схеме вычислительной машины EDVAC (см. стр. 28). Когда же он допускал параллельную активность при удлинении и укорочении петель и С2, он сталкивался с временными вопросами. Ему потребовалась область задержки D в каждом органе ОУ (рис. 40) и область задержки W в узле УУП (см. рис. 37), чтобы отодвинуть начало работы периодического импульсатора блока СЗС, а при организации схемы остановки этого периодического импульса- тора он столкнулся с той проблемой интерференции, которую мы сейчас обсуждаем. Эта проблема не возникла бы, если бы два сигнальных пути (прово- да) могли пересекаться, не касаясь друг друга. Рассмотрим возмож- ности для пересечения проводов, заложенные в клеточной структуре фон Неймана, а также их варианты. Разумеется, естественнее было бы ввести трехмерную клеточную структуру, в которой можно осу- ществить пересечение без касания любого числа проводов, но фон Нейман хотел построить самовоспроизводящийся автомат именно в двумерном пространстве (разд. 1.3.3.3). В рамках двумерной струк- туры он мог бы наделить каждую клетку еще и состоянием пересече- ния. Например, его автомат с 29 состояниями можно было бы допол- нить новым элементом, включающим оба состояния Т008 и Т01е', и тогда информация могла бы проходить по клетке одновременно слева направо и снизу вверх х). Фон Нейман не объяснил, почему он не включил состояния пересе- чения в число состояний его основного автомата, но, по-видимому, это произошло потому, что он хотел, чтобы состояний было как можно меньше. На самом деле в клеточной структуре, построенной фон Нейманом, можно сконструировать орган пересечения. Такой орган показан на рис. 42а * 2). Обозначения на этом и следующих рисунках несколько отличаются от обозначений фон Неймана. Одиночная стрелка обо- х) Клеточные структуры, обладающие элементами пересечения, рассматри- ваются у Чёрча [1]. Клеточные структуры, обладающие элементами пересечения и допускающие также конструирование путей неограниченной (но конечной) длины с нулевой задержкой, обсуждаются у Бёркса [1] и Голанда [3, 5]. 2) Орган пересечения, изображенный на рис. 42, сконструировал Дж. Е. Горман. Часть II. Теория автоматов 286
значает обычное передающее состояние, а двойная стрелка — специ- альное передающее состояние. Точка рядом со стрелкой обозначает, что первоначально эта клетка была в активном состоянии, т. е. в мо- мент t — 0 была возбуждена. На рис. 42b показано начальное состо- яние каждых из 5 «часов» органа пересечения в обозначениях фон Неймана. Рассмотрим сначала поведение органа пересечения в случае, когда на входы и а2 подаются сигналы ООО... . Часы посылают чередующиеся нули и единицы на оба входа каждого из 6 конфлюент- ных состояний СЗ, С6, F3, F6, Е1 и Н5. Фазировка единиц (т. е. импульсов) при вхождении их в эти конфлюентные клетки показана на рис. 42а штриховыми и пунктирными линиями. Штриховая линия обозначает наличие единицы (импульса) в каждый четный момент времени (t 4), а пунктирная линия обозначает наличие единицы (импульса) в каждый нечетный момент времени (t 3). Из рис. 42а видно, что две последовательности, поступающие на конфлюентное состояние, находятся не в фазе. Функция этих тактовых последова- тельностей состоит в том, чтобы пропускать последовательности, приходящие на ал и а2, так, чтобы они могли пересечь друг Друга. Последовательность г0, i2, поступающая на air расщепляется на конфлюентном состоянии А4 на 2 последовательно- сти. Часы вставляют единицу в каждую четную позицию верхней последовательности и в каждую нечетную позицию нижней последо- вательности. Импульсы, открывающие схемы совпадений, пропуска- ют нечетные разряды —, —, f3, —, i5, . . . к выходу вдоль ряда 3, а четные разряды г0, —, i2, —, i4, —, . . . к выходу bt вдоль ряда 6. Аналогично расщепляется последовательность у0, /2, /3, /4. /5, . . ., поступающая на а2, причем четные разряды /0, — , /2, — , /4—, . . . идут вверх по столбцу С, а нечетные разряды —, /19 —, 7з,—, /б,. . . вверх по столбцу F. Фазировка всей системы такова, что между элементами последовательности/о, — , 72,—, /4,—, . . . разме- щаются на клетке С6 элементы последовательности г0,—, f2, —. i4,—, . . ., а на клетке СЗ элементы последовательности —, Ц,—* Ч, • • • • Точно так же между элементами последователь- ности — , 7\,—, 7*3, —, /5, . . . размещаются на клетке F6 элементы последовательности i0, —, i2,—, i4,—, . . ., ана клетке F3 элементы последовательности —, —, i3, —, i5, . . . . Например, последо- вательности, входящие и покидающие клетку С6, таковы: Слева Снизу Выход 0 0 10 1 i0 1 i2 1 it... о о o i j0 i j2 i i ... О О О О О О /0 io /2 i2 h if- Гл. 5. Самовоспроизведение автоматов 287
Последовательности, покидающие клетки СЗ и F3, комбинируются на клетке F1 и дают выходную последовательность /0, /1? /2, . . .. задержанную на 15 единиц. Аналогично последовательности, поки- дающие клетки F3 и F6, комбинируются на клетке Н5 и дают выход- ную последовательность f0, i1? i2, . . задержанную на 15 единиц. Таким образом, информация от к 5* и от а2 к Ь2 проходит без кросс- интерференции. Мы используем этот орган пересечения для решения проблемы интерференции в разработанной фон Нейманом конструкции узла УУП. Интерференция возникает при ns порядка 200. При этом усло- вии кодовая последовательность щ-а+, £д«а+, и2 -а+ или v2 запу- скающая периодический импульсатор в СЗС, интерферирует с кодовой последовательностью Ф2-6 или Ф^б, которая в конце концов (через блок КСЗС) должна остановить этот периодический импульсатор. С помощью органа пересечения сигнал Ф2*&, останавливающий верх- ний периодический импульсатор в СЗС, можно послать прямо от Ф2. а затем в кодированный канал, при этом в блок КСЗС поступает информация о том, что эта фаза удлинения или укорочения петли Ct закончена. Аналогично сигнал Ф1*Ь, останавливающий нижний периодический импульсатор в СЗС, можно послать прямо от Ф1? а затем в кодированный канал. Эта модификация схемы, предло- женной фон Нейманом, сильно уменьшает величину необходимой задержки в задерживающих областях D (органа ОУ) п W (узла УУП). Наиболее простой способ организации прямой остановки перио- дического импульсатора с помощью тройного возвратного счетчика состоит в следующем. (1) На рис. 39а поменять местами импульсаторы 0.0 и РР(ИОООО) и перевернуть РР(ИОИО). Стоп-входы обоих периодических импульсаторов соединить (точку соединения обозначим На рис. 39b поменять местами импульсаторы 0.4 п РР(ИОООО) и пере- вернуть РР(ПОИО). Общий стоп-вход этих двух периодических импульсаторов обозначим u2-v2*a_. (2) Заменить одиночный столбец из состояний U (между ведущей вверх и ведущей вниз частями главного канала вблизи середины УУП) 12 столбцами клеток. Здесь мы потом разместим каналы и органы пересечения, о которых пойдет речь в пунктах (3) и (4). (3) Подать сигнал с первичного выхода b органа Ф! через главный канал (с помощью органа пересечения) вниз и обратно через главный канал (с помощью второго органа пересечения) на вход и2-г2-а_, а также на импульсатор в CCj (который пошлет в соответствующий орган ОУ блока КСЗС информацию о том, что эта фаза удлинения или укорочения петли С2 закончена). Часть II. Теория автохматов 288
(4) Наконец, подать сигнал с первичного выхода Ъ органа Ф2 через главный канал (с помощью третьего органа пересечения) вверх и за пределы канала пункта (3), обратно через главный канал (с помощью четвертого органа пересечения) на вход щ -а_, а также на импуль- сатор в CCi (который пошлет в соответствующий орган ОУ блока КСЗС информацию о том, что эта фаза удлинения или укорочения петли Cj закончена). Эта организация требует лишь 4 органа пересечения и значитель- но уменьшает объем схем задержки в конструкции фон Неймана. Но при этом возникает проблема, связанная с конструированием узла УУП, а отсюда с конструированием любого вторичного автомата, содержащего неограниченно расширяемый линейный массив L. Про- цесс конструирования, рассмотренный фон Нейманом, протекает в 2 стадии. Сначала первичный (конструирующий) автомат приводит каждую клетку вторичной области в одно из 10 невозбудимых (поко- ящихся) состояний U, Тиа0 (и = 0, 1; а = 0, 1, 2, 3) и Соо (см. рис. 9 и 10). Фон Нейман назвал результат этого процесса начальным состо- янием вторичного автомата. Затем первичный автомат возбуждает вторичный в подходящей точке на его периферии и вторичный авто- мат приступает к выполнению своей задачи. Фон Нейман наз- вал этот пусковой сигнал пусковым импульсом вторичного авто- мата. Таким образом, все вторичные автоматы, которые хотел бы построить фон Нейман с помощью первичного конструирующего автомата (т. е. в рамках предложенной им клеточной структуры), являются автоматами специального типа: каждая клетка вторичного автомата первоначально находится в одном из 10 покоящихся состоя- ний U, Тиа0 (ц = 0, 1; а = 0, 1, 2, 3), Соо, и этот автомат можно запу- стить импульсом, поданным на его периферию. Учитывая это, назо- вем начально покоящимся автоматом конечную область в построенной фон Нейманом структуре клеток с 29 состояниями (каждая клетка этой структуры находится в одном из 10 покоящихся состояний U, Тиао, Соо). Так как орган пересечения содержит возбужденные обычные пере- дающие состояния и возбужденные конфлюентные состояния, то всякий автомат с такими органами не будет начально покоящимся. Следовательно, схему узла УУП надо еще изменить, чтобы в ис- ходном состоянии узел УУП не содержал возбужденных клеток, но перед началом его работы в нем должны быть 4 органа пересече- ния. Это изменение можно выполнить так. Увеличим область в центре узла УУП так, чтобы разместить там 4 конструирующих устройства и 4 декодера, описанные ниже. Изменим следующим образом каждый из 4 органов пересечения узла УУП: заменим каждое активное состо- яние (Т011, С1о, Со1) рис. 42 соответствующим пассивным состоянием Гл. 5. Самовоспроизведение автоматов 289
(Т010, Соо, Соо) и уберем клетки А5, В5, С5 (заменим их на U), чтобы обеспечить доступ извне в центр часов. Затем снабдил! каждый моди- фицированный орган пересечения специальным конструирующим устройством и декодером для его запуска. Это конструирующее- устройство будет осуществлять общую процедуру изменения состоя- ния удаленной клетки (см. стр. 175 и рис. 14): оно запустит в фазе» 5 часов органа пересечения и построит заново клетки А5, В5 и С5. Само конструирующее устройство будет запускаться от декодера по сигналу из главного канала. Теперь сделаем так, чтобы пусковой импульс вторичного автомата обеспечивал посылку некоторой (новой) кодовой последовательности в главный канал узла УУП. Эта последовательность будет регистри- роваться каждым из 4 декодеров, которые в свою очередь запустят 4 конструирующих устройства. Каждое конструирующее устройство' проложит конструирующий рукав к своему органу пересечения^ запустит каждые из 5 часов органа пересечения в соответствующей фазе, построит заново клетки А5, В5, С5 рис. 42 и приведет в соответ- ствующее состояние клетки, соседние с органом пересечения. После- этого узел УУП будет готов к работе, а вторичный автомат, в котором он содержится, сможет функционировать нормально. На этом заканчивается второй метод решения проблемы интер ференции в разработанной фон Нейманом конструкции узла УУГК Ни один из приведенных методов не является идеальным: первый не изящен, а второй довольно сложен. В разд. 5.2.2 будет предложен совершенно отличный и намного более лучший подход к синтезу узла УУП. Однако фон Нейман не руководствовался соображениями изящества и сложности окончательной схемы. Ему нужна была лишь теорема существования для самовоспроизведения, т. е. дока- зательство того, что в разработанной им клеточной структуре возмож- но самовоспроизведение (разд. 1.1.2.1). Конструирование узла УУП служит шагом на пути к такому доказательству, и для этой цели вполне достаточно того, что работоспособный узел УУП существует. Подведем теперь итоги полученных результатов. Неограниченный линейный массив L вместе с УУП представляет собой узел ленты с неограниченной емкостью памяти. Его можно встроить в структуру клеток с 29 состояниями как начально покоящийся автомат. Отсюда следует, что начально покоящийся автомат, выполняющий функцию узла ленты с неограниченной емкостью памяти, можно встроить в предложенную фон Нейманом структуру клеток с 29» состояниями. |5^5.1.3 Логическая универсальность клеточной структуры. Рас- смотрим, как фон Нейман предполагал использовать в клеточной структуре узел ленты с неограниченной емкостью памяти. В лекции 2 части I фон Нейман обсуждал работу универсального Часть II. Теория автоматов 290
автомата Тьюринга. До этого он сформулировал 5 основных вопросов, изучаемых в этой части: (А) Логическая универсальность: может ли какой-нибудь один автомат выполнять все логические операции, выполнимые конеч- ными (но произвольно большими) устройствами? (В) Конструируемость: можно ли конструировать автоматы дру- гими автоматами? (С) Конструктивная универсальность: могут ли автоматы кон- струировать другие автоматы? (D) Самовоспроизведение: могут ли автоматы создавать свои копии? (Е) Эволюция: может ли конструирование автоматов автоматами прогрессировать от простых к сложным? Фон Нейман отметил, что Тьюринг дал ответ на первый вопрос. Иными словами, универсальный вычислительный автомат (машина) Тьюринга логически универсален. Фон Нейман обещал дать поло- жительное решение вопросов (В) — (D). При обсуждении общих схем конструирования фон Нейман ввел неограниченный массив памяти L и для него «вспомогательные средства для наблюдения, исследования и конструирования» (разд. 1.4.2.3). Этими средствами служит узел УУП, синтез которого мы только что закончили (разд. 5.1.2). Назовем комплекс УУП L узлом ленты. В разд. 1.4.2.2 фон Нейман в сущности показал, что этот узел может выполнять роль неограниченной памяти конструи- рующего автомата, в разд. 1.5 он показал, как использовать этот узел в качестве неограниченной памяти универсального конструирую- щего автомата, а в разд. 1.6 — как использовать универсальный конструирующий автомат для получения самовоспроизведения. В разд. 5.2 и 5.3 мы доведем до конца эти результаты. В разд. 1.4.2.3 фон Нейман указал, что узел ленты может выпол- нять роль неограниченной памяти логически универсального авто- мата, или универсальной машины Тьюринга. В лекции 2 части I он объяснил принцип работы универсальной машины Тьюринга, а в разд. 4.1.3 и 4.1.4 показал в общих чертах, как конструирующий узел (КУ) может управлять узлом ленты УУП + L. Учитывая все эти результаты, мы дадим способ построения в предложенной фон Нейманом клеточной структуре универсальной машины Тью- ринга. Машина Тьюринга имеет две основные части: узел ленты с неогра- ниченной емкостью памяти и конечный автомат, способный взаимо- действовать с узлом ленты. Как показано в общих чертах в разд. 4.1.3 и 4.1.4, конструирующий автомат имеет две соответствующие части: узел ленты УУП ф L и узел КУ, управляющий конструированием вторичного автомата на основе информации, хранящейся в L. Таким образом, КУ — это конечный автомат, который взаимодействует Гл. 5. Самовоспроизведение автоматов 291
с узлом ленты, а также выполняет функцию конструирования. Поэтому наша задача — применить данное фон Нейманом описание взаимодействия между КУ и УУП + L таким образом, чтобы можно было охватить работу, выполняемую машиной Тьюринга. Конечный автомат (КА) может находиться лишь в конечном числе состояний а = 1, . . ., а. Конечный автомат и узел ленты УУП + L работают в последовательные моменты времени 0, 1, 2, 3, . . . ...,s, s-f-1, ... . Пусть состояние автомата КА на шаге 0 будет состоянием номер 1. Обозначим через xns ячейку в L, просматри- ваемую в начале шага s, а через (= 0, 1) ее содержимое в этот момент. Тогда КА можно описать тремя функциями А, X и Е. Функ- ция А определяет <zs+1 в следующий момент как функцию от состоя- ния as в настоящий момент и содержимого %ns ячейки xnS в начале шага 5: as+1 = A(as, &U). Функция X определяет число которое надо записать в ячейку xns, как функцию от as и или, что эквивалентно, как функцию от <zs+1: ^V^-X(as+1). Функция Е определяет значение es+1, характеризующее укорочение — удлинение, как функцию от as+1: 8m = Е (as+1). Области определения и множества значений этих функций таковы: as и <zs+1 пробегают множество состояний конечного автомата, т. е. 1, 2, . . ., а\ £ns и принимают значение 0 (означающее, что в ячейке хп записан нуль) и значение 1 (означающее, что в ячейке хп записана единица); 8S+1 принимает значения +1 (удлинение) и —1 (укорочение). Начально покоящийся автомат представляет собой автомат, каж- дая клетка которого первоначально находится в одном из 10 покоя- щихся состояний U, Тиа0 и Соо (разд. 5.1.2). Мы покажем далее, как встроить любой заданный автомат КА в разработанную фон Нейманом клеточную структуру, т. е. как сконструировать начально покоящийся автомат, имитирующий КА. Каждое из а состояний автомата КА будет представлено одним экземпляром органа состояния (ОС) (рис. 43). В качестве периоди- ческих импульсаторов РР (Т), изображенных на этом рисунке, можно взять периодические импульсаторы рис. 20, выключение которых Часть II. Теория автоматов 292
не причиняет никакого вреда, даже если они до этого не были включены. На рис. 43 они показаны без соблюдения масштаба: на самом деле каждый из них занимает в длину 13 клеток и в высоту 4. Как и на рис. 42, одиночные стрелки используются для представле- ния обычных передающих состояний. Автомат КА состоит из а экземпляров органа ОС, связанных между собой кодированным каналом (разд. 3.6 и рис. 27). Соединения внутри КА определяются функциями А, X, Е. Внутри КА управле- ние сдвигается от ОСа к ОСа' в соответствии с информацией, получае- мой КА от УУП. Автоматы КА и УУП связаны между собой 8 кана- лами. На входы ц, i2, Ц автомата КА приходят сигналы с выходов из УУП, имеющих те же отметки (рис. 37), и с выходов о1у о2, о3, °4, из КА сигналы идут к обозначенным так же входам в УУП. Взаимосвязь органов ОС автомата КА с его кодированным кана- лом в основном такая же, как между органами ОУ узла УУП и кодированным каналом узла УУП (рис. 37). Объясним, как работает комплекс КА + (УУП + L). К началу шага s выполнены следующие условия: (1а) На вход Z3 автомата КА поступил импульс, обозначающий, что шаг s — 1 закончен и настал момент приступить к шагу 5. (1Ь) Просматривается ячейка х i массива L, т. е. УУП соединяется петлей Ci с ячейкой xnS, Ее содержимое обозначено Цз(= 0, 1). (1с) КА находится в состоянии ос8, т. е. орган ОСаз автомата КА находится в состоянии управления. Конкретнее, активен верх- ний периодический импульсатор РР (1). Этот периодический импульсатор был включен, когда укорачивались или удлинялись петли Ci и С2 рис. 37 в конце шага s — 1. Теперь вступает в действие процесс считывания, и управление сдви- гается к нижнему периодическому импульсатору РР (1) органа ОСа&: (2а) Импульс, поступающий на вход i3 автомата КА, идет через кодированный канал к входу b каждого органа ОС автомата КА. Он воздействует только на орган OCaS, выключая его верхний импульсатор РР (1) и проходя через конфлюентное состояние, открываемое этим импульсатором, а затем появляется на выхо- дах ] и к. (2Ь) Импульс с выхода j идет через кодированный канал автомата КА к выходу Oi автомата КА, а оттуда к входу узла УУП, где он стимулирует начало процесса считывания ячейки xnS мас- сива L. (2с) Импульс с выхода к органа OCas идет через кодированный канал автомата КА к входу / того же органа OCaS, где он Гл. 5. Самовоспроизведение автоматов 293
запускает нижний импульсатор РР (1). Этот импульсатор будет находиться в активном состоянии, пока происходит считыва- ние ячейки хп& с помощью УУП. Затем узел ленты УУП + L считывает содержимое ^&п& ячейки хп& и посылает результат в КА: Если =0 (т. е. xns хранит 0), то импульс с выхода ц узла УУП идет к входу автомата КА. Если V — 1 (т. е. хранит 1), то импульс с выхода i2 узла УУП идет к входу i2 автомата КА. Покажем, как эти сигналы воздействуют на КА (квадратные скобки соответствуют случаю 5s = 0, а фигурные — случаю —1): (За) Сигнал на вход [ц] {12} идет через кодированный канал автомата КА и поступает на вход [d] {е и g} каждого органа ОС. Эти сигналы воздействуют только на OCaS. (3b) Импульс от [ij {f2} выключает нижний импульсатор РР (1) органа ОСаз. (Зс) Импульс, идущий от [ц] {i2} к [cZ] {g}, пропускается [верхним] {нижним} конфлюентным состоянием, открываемым выходным сигналом от нижнего импульсатора РР (1), и появляется на выходах [Z, т, п\ {/?, g, г}. Импульсы с [Z, т, п\ {/?, g, г} определяют состояние автомата КА в следующий момент и содержимое ячейки xnS, а также указывают, укоротить или удлинить петли С4 и С2. Соединения выходов Z, т, п, р, q и г определяются функциями А, X и Е, характеризующими данный конечный автомат КА. Для каждого органа OCaS (as = 1, 2, . . ., а) эти соединения осуществ- ляются так: (4а) Импульс от [Z] {/?} идет через кодированный канал автомата КА к входу с органа OCaSfi, где as+1 =- A (as, ^s). (4b) Импульс от [т] {q} идет через кодированный канал и выходы из КА к входу о2 узла УУП, если En+1 = 0 (т. е. если в ячейку хп& надо записать 0), и к входу о3 узла УУП, если £n+1 = 1 (т. е. если в ячейку хп§ надо записать 1), где £n+1 — X (as+1). (4с) Импульс от [п] {г} идет через кодированный канал и выходы из КА к входу о4 узла УУП, если 8S+1 = 1 (т. е. если петли Ci и С2 надо удлинить), и к входу о5 узла УУП, если 8S+1 = —1 (т. е. если петли Ct и С2 надо укоротить), где 8^V — Е (as+1). Часть II. Теория автоматов 294
На этом заканчивается конструирование произвольного автомата КА в клеточной структуре фон Неймана. Осталось еще определить состояние на шаге s = 0. Мы постулируем, что этим состоянием является состояние номер 1, т. е. то, которое представляется орга- ном ОСр Если бы конфлюентная клетка в правом верхнем углу органа OCi первоначально была в состоянии Ci0, то пусковые импуль- сы испускались бы с выходов / и к органа ОСР Эти импульсы возбуждали бы импульсаторы кодированного канала, которые в свою очередь посылали бы в главный канал кодовые последовательности и yfe, а затем автомат КА функционировал бы так, как это было опи- сано выше. Но такое устройство не было бы начально покоящимся автоматом, так как в самом начале по крайней мере одна его клетка находилась бы в состоянии, отличном от U, Twa0 и СОо- Чтобы сделать КА начально покоящимся автоматом, мы просто заставим пусковой импульс возбуждать импульсаторы кодированного канала, которые также пошлют в главный канал автомата КА кодовые последова- тельности и ук. Таким образом, мы показали, что произвольный конечный автомат можно встроить в клеточную структуру, разработанную фон Нейманом, как начально покоящийся автомат. В конце разд. 5.1.2 мы убедились, что в эту клеточную структуру можно встроить как начально покоящийся автомат узел ленты с неограниченной емкостью памяти. Поэтому любую машину Тьюринга можно встроить как начально покоящийся автомат, откуда следует, что как начально покоящийся автомат можно встроить и универсальную машину Тьюринга. Следует отметить, что эти встроенные приборы будут работать медленно (по отношению к системе отсчета времени клеточной структуры). Система отсчета времени представляет собой здесь дискретные временные шаги t = 0, 1, 2, . . .; в ней происходят основные операции автомата с 29 состояниями (разд. 1.2.1 и 1.3.3.5). Конечные автоматы и машины Тьюринга, встроенные в клеточную структуру, также работают в этой системе отсчета времени, но шаги s = 0, 1, 2, . . . их работы являются более редкими. Вообще, каждый шаг s занимает несколько единиц времени t. В случае узла ленты УУП + L шаг s становится все более и более продолжительным по мере того, как все длиннее становятся ленты и С2. Обычно считается, что конечные автоматы и машины Тьюринга делают один шаг s за одну единицу времени t-. Другими словами, = t, т. е. машины выполняют вычисления в «реальном вре- мени». Начально покоящиеся автоматы клеточной структуры, предло- женной фон Нейманом, которые моделируют конечные автоматы Гл. 5. Самовоспроизведение автоматов 295
и машины Тьюринга, не работают со скоростью моделируемых ими приборов, но выполняют они те же самые вычисления х). Фон Нейман ставил себе задачу добиться конструирования, кон- структивной универсальности и самовоспроизведения в неограни- ченной структуре клеток с 29 состояниями (разд. 1.1.2.1). Посмотрим, чего он достиг к настоящему моменту и как это относится к его задаче. Мы показали, как встроить в структуру клеток с 29 состояни- ями начально покоящийся автомат, выполняющий вычисления, которые может выполнить универсальная машина Тьюринга, Отсюда следует, что эта клеточная структура логически универсальна. Планируя универсальные конструирующие автоматы, фон Ней- ман исходил из возможностей параллельного вычисления, присущих универсальным вычислительным машинам. Его универсальный кон- струирующий автомат должен работать как универсальная вычисли- тельная машина; основное различие между ними в том, что выходом вычислительной машины является вычисление, а выход конструи- рующего автомата — последовательность импульсов, конструирую- щих некоторый начально покоящийся вторичный автомат. Универ- сальная вычислительная машина Ми представляет собой комплекс КА + (УУП + L), обладающий следующим свойством: для каждой машины Тьюринга М существует такое кодированное описание 3' (М), что при занесении его в L машина Ми моделирует М, т. е. Ми будет получать тот же результат, что и М, Аналогично универсальный конструктор Мс представляет собой комплекс КУ + (УУП + L), обладающий свойством: для каждого начально покоящегося вторич- ного автомата М существует такое кодированное описание 3 (М), что при занесении его в L машина Мс конструирует М * 2). Таким образом, для выполнения программы фон Неймана, отно- сящейся к конструированию, конструктивной универсальности и самовоспроизведению в его клеточной структуре, остается еще построить конструирующий узел (КУ). 5.2. УНИВЕРСАЛЬНЫЙ КОНСТРУКТОР КУ + (УУП + L) 5.2.1. Конструирующий рукав. Универсальный конструирующий автомат фон Неймана состоит из узла КУ, скомбинированного с узлом ленты УУП + L (разд. 4.1.1). Фон Нейман назвал этот х) Работа автомата в реальном времени обычно называется его поведением; ее следует отличать от вычисленного ответа, т. е. от вычисления автомата. Обсуждение понятий вычисления и поведения в конечной и бесконечной систе- мах можно найти у Бёркса [5], Мак-Нотона [1] и Голанда [4]. 2) Ср. обсуждение универсальной машины Тьюринга в лекции 2 части I с обсуждением универсального конструктора в разд. 5.3.1. См. также Бёркс [3]. Описание ЗУ(М), которое дается универсальной машине Тьюринга, обычно кодируется иначе, чем описание 3 (М), которое дается универсальному кон- структору. Первое кодируется с помощью состояний конечной части машины М, а второе — с помощью начальных состояний клеток из М, См. следующий раздел. Часть II. Теория автоматов 296
конструирующий автомат «первичным автоматом», а начально покоя- щийся автомат, который предстоит сконструировать,—«вторичным автоматом» (разд. 1.4). Так как узел ленты уже синтезирован (разд. 5.1.2), осталось синтезировать конструирующий узел. Сначала мы в целом обсудим схемы, связанные с этой конструк- цией. (См. рис. 50. Этот рисунок выполнен без соблюдения масшта- бов, причем универсальный конструктор на самом деле гораздо больше, чем показано здесь; ср. рис. 37. Кроме того, на рисунке не показана петля для чтения L и устройство для удлинения и укоро- чения этой петли; см. рис. 37 и 51.) Для определения положения вторичного автомата возьмем какую- нибудь точку универсального конструктора в качестве начала коор- динат (0, 0). Вторичный автомат занимает прямоугольную площадку ширины а и высоты р, нижний левый угол которой находится в точке (xt, У1) х)- Для простоты будем считать, что вторичный автомат рас- положен в положительном квадранте, т. е. 0, 0. Внутрен- няя структура вторичного автомата полностью характеризуется последовательностью i = 0, . . ., а — 1; / = 0, . . ., р — 1, где ки означает одно из покоящихся состояний U, Тиа0 (и = 0, 1; а — 0, 1, 2, 3), Соо. Общая процедура конструирования такова. Линейный массив L хранит кодированную информацию о величинах rq, г/1? ос, Р и Узел КУ считывает эту информацию с помощью узла УУП, интер- претирует ее и действует в соответствии с ней. Первичный автомат производит операции над (возможно удаленной) вторичной областью с помощью конструирующего рукава, т. е. информационного пути, простирающегося из первичного автомата ко вторичной области. Узел КУ сначала достраивает конструирующий рукав так, чтобы он доходил до вторичной области, а затем посылает по нему сигналы,, которые конструируют вторичный автомат и дают пусковой импульс. После этого КУ устраняет конструирующий рукав. Ясно, что на первом этапе синтеза узла КУ надо произвести синтез конструирующего рукава, который будет работать от узла КУ в соответствии с информацией, получаемой от узла ленты УУП + L. Раньше мы уже по существу пользовались таким конструирующим рукавом. На рис. 14 показана процедура расширения конструирую- щего пути, модификации отдаленной ячейки и устранения конструи- рующего пути. Та же процедура применяется для удлинения и уко- рочения петель С4 и С2 и для производства записи в ячейку хп линейного массива L (разд. 4.2 и рис. 32—36). Здесь конструи- рующим путем служит верхняя половина каждой из петель. х) См. разд. 1.5.2. В системе координат, выбранной фон Нейманом, точка («!, z/t) помещается в центр клетки, а не в ее угол. Гл. 5. Самовоспроизведение автоматов 297
В обоих этих случаях от конструирующего прибора до области конструирования идет одиночный путь из передающих состояний (как обычных, так и специальных). Поэтому мы будем называть эту процедуру процедурой с одиночным конструирующим путем. Рас- смотрим ее подробнее и выясним, можно ли применить ее для того конструирующего рукава, который нам нужен сейчас. В соответствии с правилами, приведенными на рис. 9, конструи- рование вторичного автомата происходит в конце конструирующего пути. Здесь используются два процесса — прямой (для конструиро- вания) и обратный (для разрушения). Разрушение столь же необ- ходимо, как и конструирование, так как рабочие окончания конструи- рующего пути можно устранить только переводом передающих состояний Тиа0 в невозбудимое состояние U. Конструирование можно осуществить с помощью как обычных, так и специальных передаю- щих состояний, но для разрушения требуется определенный тип передающего состояния: специальные состояния убивают обычные, но не убивают специальные, а обычные убивают специальные, но не убивают обычные. Это различие необходимо делать, если надо отличать сигналы информации от сигналов разрушения (разд. 2.6.2.2). Таким образом, для операций, совершаемых в конце конструи- рующего пути, иногда нужны специальные передающие состояния, а иногда обычные передающие состояния. В процедуре фон Неймана с одиночным конструирующим путем это происходит следующим •образом. В начале конструирующего пути подаются сигналы как от обычного, так и от специального передающих состояний (см., например, клетки В1 и ВЗ рис. 14). Всякий раз, когда нужно перевести клетку, находящуюся на рабочем конце (головной части) конструирующего пути, из обычного передающего состояния в спе- циальное передающее состояние (или обратно), такому преобразо- ванию подвергается весь путь; ср. рис. 32а с рис. 32Ь (и рис. 32с с рис. 32d). Каждый перевод всех клеток одиночного конструирующего пути из обычных передающих состояний в специальные передающие состоя- ния (или обратно) приводит к необходимости создания последова- тельности импульсов, длина которой пропорциональна длине пути. Например, каждая такая модификация верхней половины петли С4 (и С2) выполнялась последовательностью длины 6п, где п — число клеток, состояние которых нужно изменить. Длина каждой из петель Ci и С2 равнялась примерно 2п. Задержка в 6п обеспечивалась трой- ным возвратным счетчиком с петлей С4 или С2 в качестве реагирую- щего органа (разд. 4.2). Эту процедуру с одиночным конструирующим путем можно использовать для конструирующего рукава, работающего от универ- сального конструктора. В качестве рукава можно взять одиночный путь из передающих состояний (как обычных, так и специальных), Часть II. Теория автоматов 298
идущий от универсального конструктора во вторичную область и возбуждаемый как обычными, так и специальными импульсами. Обозначим через I число клеток в таком одиночном пути. Чтобы перевести клетки этого пути из обычных передающих состояний в специальные (или обратно), узел КУ должен послать на него последовательность длины 6Z. Значение I можно получить, зная величины yt, а, р, i, /, определяющие положение и размер вторич- ного автомата, а также точное место внутри вторичного автомата, где оканчивается конструирующий рукав. Числа rq, z/j, а и р хра- нятся в L в явном виде, и КУ может получить i, 7, найдя место в последовательности %. Хотя фон Нейман мог использовать процедуру с одиночным кон- струирующим путем, он предполагал на самом деле использовать иную, лучшую процедуру. К его рукописи «Теория автоматов: кон- струирование, воспроизведение, однородность», составляющей часть II настоящей книги, прилагались 4 черновые заметки. В них — схема конструирующего рукава и план программы для управления ею. Про- грамму трудно воспроизвести, так как фон Нейман дал только се набросок. Что же касается конструирующего рукава, то его схема достаточно проста и, зная ее, легко написать для нее программу. Конструирующий рукав показан на рис. 44—50. Обычные пере- дающие состояния представлены одиночными стрелочками, а спе- циальные передающие состояния — двойными стрелочками. Этот конструирующий рукав состоит из двух соседствующих параллельных конструирующих путей, оканчивающихся в головной части, где, как правило, один путь направлен на другой. Один путь состоит из обыч- ных передающих состояний, а другой — из специальных передаю- щих состояний. Таким образом, в головной части всегда есть обычные и специальные передающие состояния для обратного (разрушитель- ного) процесса. Поэтому никогда не возникает необходимости в пере- воде всего пути из обычных в специальные передающие состояния или обратно, как в случае процедуры с одиночным путем. На конструирующий рукав сигналы могут подаваться от узла КУ либо слева (с входов s и о рис. 44), либо снизу (с входов s' и о' рис. 44). Рукав может образовать угол, как на рис. 50. Процедура фон Неймана работы с рукавом, слегка измененная, показана на рис. 44—50. На этих рисунках мы несколько по-иному обозначаем последовательности импульсов. Последовательность импульсов, которая может и разрушать, и конструировать, обозна- чается последовательностью символов, соответствующих покоящимся состояниям, создаваемым этой последовательностью импульсов. Поясним наш метод обозначения последовательностей импульсов на примере перехода от рис. 45а к рис. 45Ь. Если приводимые ниже последовательности импульсов подаются на вход $ или s' от специаль- Гл. 5. Самовоспроизведение автоматов 299
ного передающего или конфлюентного состояния, то они оказывают следующее воздействие: 1110 переводит клетку С1 из U в , 1101 переводит клетку С2 из U в <=, 1 переводит клетку В2 из | в U, 10000 переводит клетку В2 из U в —>. Таким образом, последовательность 11101101110000, поданная на s или s', обозначается <= U —> на s или s'. При применении этого метода обозначения последовательностей импульсов необходимо учитывать ограничения в правиле переходов (гл. 2). Например, последовательность U на s или s' не относится к допустимым последовательностям для рис. 45b, так как одно специальное передающее состояние не может убить другое специальное передающее состояние. Но при выполнении соответ- ствующих условий одиночный импульс сможет перевести клетку в состояние U. Аналогично при выполнении соответствующих условий 10000 переводит и в 10001 переводит и в t 1001 переводит и в 1010 переводит и в 1011 переводит и в 1100 переводит и в 7 1101 переводит и в ф= 1110 переводит и в 4 1111 переводит и в с. На рис. 45 и 46 показана процедура наращивания конструирую- щего рукава на 1 единицу либо по горизонтали, либо по вертикали. На рис. 47 показана процедура удаления 1 единицы рукава по гори- зонтали, причем 2 освобождающиеся клетки переходят в нужные покоящиеся состояния у и 6. Последовательности импульсов, вызывающие этот переход, зави- сят, конечно, от требуемых покоящихся состояний. Например, если у обозначает состояние С, то последовательность, подаваемая на схему рис. 47е, имеет вид U=^U С на s или s', Часть II. Теория автоматов 300
а это означает 1101111111 на s или s'. Процедуру удаления 1 единицы конструирующего рукава по верти- кали, при которой 2 освобождающиеся клетки переходят в нужные покоящиеся состояния у и б, иллюстрирует рис. 48. На рис. 49 показано, как подать на вторичный автомат пусковой импульс. На этом заканчивается описание 5 операций по фон Нейману, относящихся к конструирующему рукаву: наступление по горизон- тали, наступление по вертикали, отступление по горизонтали с у-б, отступление по вертикали с у-б и подача пускового импульса. Этих операций достаточно для конструирования любого начально покоящегося автомата в первом квадранте (т. е. Xi 0, z/i 0). Теперь мы составим из этих операций алгоритм, позволяющий осуще- ствить такое конструирование. В этом алгоритме предполагается, что Р — четное число. Если Р нечетно, то либо ко вторичному автомату добавляется ряд из состоя- ний U и Р становится четным, либо немного изменяется сам алгоритм. Кроме того, предполагается, что пусковой импульс вторичного автомата подается снизу в клетку, центр которой расположен в точке + 3/2, z/i + 1/2). Иначе надо было бы немного изменить наши инструкции. Алгоритм конструирования и запуска вторичного автомата на схеме рис. 50 таков: (1) Конструирующий рукав простирается от первичного автомата к верхнему левому углу площадки, занимаемой вторичным автоматом. Для этого требуется повторить операцию наступ- ления по горизонтали rq + 2 раза и операцию наступления по вертикали z/i + Р раз. Конструирующий рукав теперь в состояниии продвинуться вправо по вторичной области, а затем отступить, конструируя по мере отступления два ряда клеток вторичного автомата. (2) Повторить р/2 раз следующую последовательность операций: (а) наступление по горизонтали ос — 2 раза. (Ь) Отступление по горизонтали (с у-б) ос — 2 раза. (с) Отступление по вертикали (с у-б) 2 раза. К моменту выполнения инструкции (2) вторичный автомат оказы- вается законченным и его можно запустить. (3) Подать пусковой импульс снизу в клетку (xi + 3/2, yi + 1/2). Теперь вторичный автомат начал работать и конструирующий рукав можно удалить. (4) Убрать конструирующий рукав в первичный автомат, сделав z/i отступлений по вертикали с у-б, а затем х^ + 2 отступления по горизонтали с у-б, причем у и б оба являются невозбу- димыми состояниями U. Гл. 5. Самовоспроизведение автоматов 301
Алгоритм построен. Теперь можно использовать конструирующий рукав для конструирования другого вторичного автомата. Последовательности импульсов, осуществляющие этот алгоритм, подаются на входы $ и о конструирующего рукава. Эти последова- тельности зависят от информации, хранящейся в линейном массиве L. Как именно универсальный конструктор преобразует информацию в L в нужную последовательность импульсов, мы рассмотрим в разд. 5.2.3. Перечисленных 5 операций по фон Нейману, относящихся к кон- струирующему рукаву, достаточно для конструирования лишь в первом квадранте, но не в других. Однако нетрудно переделать схему головной части и запрограммировать операции для наступле- ния влево, для отступления слева, наступления вниз и т. д. С этими дополнительными операциями универсальный конструктор может сконструировать вторичный автомат в любом квадранте плоскости. При этом предполагается, конечно, что область, предназначенная для вторичного автомата, состоит из невозбудимых клеток, что имеется достаточно широкий путь из невозбудимых состояний, веду- щий к этой области от универсального конструктора, и что процессу конструирования не препятствует никакой другой автомат. Из рис. 45—49 видно, что каждая из 5 операций по фон Нейману, относящихся к конструирующему рукаву, выполняется конечной последовательностью импульсов. Самая длинная последовательность нужна для отступления по вертикали с у-б; если у и б представляют собой либо либо f, то длина последовательности должна быть 47. Таким образом, длина последовательности импульсов, необхо- димой для каждой из 5 операций, не зависит от длины конструирую- щего рукава. В отличие от этого для процедуры с одиночным кон- струирующим путем нужна последовательность импульсов, длина которой зависит от длины пути: длина последовательности должна быть не менее 5/, где I — длина пути. В этом отношении предложен- ная фон Нейманом процедура с одиночным конструирующим путем значительно уступает его процедуре с двойным конструирующим, путем. Как мы сейчас увидим, это оказывает существенное влияние на органы, вырабатывающие последовательности для конструиро- вания. 5.2.2. Новая схема узла управления памятью. Процедуру с двой- ным конструирующим путем, предложенную фон Нейманом, можно использовать для работы с линейным массивом L. Новое устройство показано на рис. 51 (ср. со старым устройством на рис. 37). Путь для считывания ячейки хп начинается с входа и, идет вдоль ряда 7, проходит через хп, возвращается вдоль ряда 4 и оканчивается на выходе w. Ряд 1 — это обычный передающий путь конструирую- щего рукава с двойным путем. Ряд 2 представляет собой специальный Часть II. Теория автоматов 302
передающий путь этого конструирующего рукава. Головная часть конструирующего рукава состоит из клеток С2, D1 и D2, она несколько отличается от головной части схемы рис. 44а. Импульсы на входы и и v должны приходить от обычных передающих состоя- ний. Заметим, что клетки А1 и А2 не воздействуют друг на друга, так как конфлюентное состояние не возбуждает другое конфлюентное состояние. Процесс считывания остается прежним (разд. 4.1.1 и 4.1.5). Последовательность 10101 поступает на вход v из импульсатора Р (10101). Она проходит вдоль ряда 7, вниз по столбцу D и в клетку хп. Дальнейшее зависит от того, была ли клетка хп в состоянии U (обозна- чающем 0) или в состоянии | (обозначающем 1). (1) Если клетка хп была в состоянии U, то первая часть 1010 этой последовательности переведет ее в состояние ф, а послед- няя часть 1 пойдет обратно вдоль ряда 4 и появится на выходе w. (2) Если клетка хп была в состоянии то вся последователь- ность 10101 пройдет через нее, затем обратно вдоль ряда 4 и появится на выходе w. Таким образом, 1 на выходе w символизирует 0, а 10101 на w симво- лизирует 1. Эти две последовательности можно отличить друг от друга с помощью дискриминатора ¥ (разд. 3.5 и рис. 25), как и раньше. В конце процесса считывания читающие и конструирующие пути остаются, как на рис. 51b, а клетка хп находится в состоянии |. Следующий шаг состоит в удлинении или укорочении читающего и конструирующего путей массива L и приведении клетки хп в состоя- ние U или^. Возникают 4 возможности: (L0) Удлинить пути и привести клетку хп в состояние U. (L1) Удлинить пути и привести клетку хп в состояние (S0) Укоротить пути и привести клетку хп в состояние U. (S1) Укоротить пути и привести клетку хп в состояние ]. Эти операции аналогичны операциям наступления по горизон- тали (рис. 45), наступления по вертикали (рис. 46), отступления по горизонтали с у-б (рис. 47) и отступления по вертикали с у-б (рис. 48). Мы укажем последовательности импульсов только для случая (L1), т. е. для удлинения путей и приведения клетки хп в состояние |. Они даны на рис. 52, где метод обозначения последовательностей тот же, что и прежде. Начнем, например, с рис. 52а. Последовательность 1111011110110111001 обычных импульсов, появившаяся на входе и, поступает через кон- флюентное состояние в ряд из специальных передающих состояний и идет вдоль него. Она переводит клетку хп, клетки над ней, под ней и клетку, расположенную под хп + 1, в состояния Гл. 5. Самовоспроизведение автоматов 303;
и •<- соответственно. На рис. 52b показан результат действия этой последовательности. Таким образом, для выполнения операции (L1) надо послать некоторую последовательность на и, затем некоторую последова- тельность на р, еще одну на и и еще одну на v. Так как отсутствию импульса соответствует 0, то эту операцию можно выполнить, посы- лая одновременно некоторую последовательность на и и некоторую последовательность на и; см. рис. 14 и разд. 2.8.3. Эти две после- довательности можно получить от импульсаторов, подающих сигналы на входы и и v и возбуждаемых в подходящей фазе по отношению друг к другу (разд. 3.2.1). Аналогично обеспечивается выполнение операций (LO), (SO) и (S1). Важно здесь то, что каждую из операций (LO), (LI), (SO), (S1) можно выполнить с помощью последовательностей, длина которых не зависит от длины конструирующего пути, т. е. от индекса п просматриваемой ячейки хп. Метод фон Неймана работы с линейным массивом L, напротив, требует последовательностей, длина которых зависит от длины конструирующего пути (гл. 4). В результате узел УУП для нового метода работы с L может быть намного проще, чем для метода фон Неймана (рис. 37, 39—41). В частности, в новом методе можно не рассматривать вопросы, связанные с получением и контролем задержки бтг (где п — номер ячейки учет которых в методе фон Неймана был обязателен. Так как схема УУП по фон Нейману, модифицированная в соот- ветствии с разд. 5.1.2, является работоспособной, мы не будем ее переделывать. Блок СЗС в новом методе работы с L можно пост- роить из подходящим образом соединенных между собой 9 импульса- торов и дискриминатора, различающего последовательности 1 и 10101. Записывая и упрощая сигналы управления, проходящие от УУП к КУ, можно избавиться от блока КСЗС, так что УУП будет состоять из упрощенного блока СЗС и кодированного канала х). Здесь я хотел бы высказать некоторые соображения по поводу намерений фон Неймана к моменту окончания им той части руко- писи, которая составляет гл. 1—4 настоящей книги. Его конструкция оказалась гораздо сложнее, чем он предполагал * 2). После разработки г) Полная схема узла УУП для одного варианта нового метода работы с L дается в работе Тэтчера [2]. 2) В письме к Миодрагу Мунтяну (сотруднику издательства Иллинойсского университета), датированном 4 ноября 1952 г., фон Нейман пишет: «Я закончил первую главу, занявшую около 40 машинописных страниц... Сейчас я работаю над второй главой, которая, как я думаю, будет несколько больше, возможно вдвое. У меня будет третья и, по-видимому, четвертая глава, но их размеры еще не ясны. Кроме того, когда все будет закончено, я должен буду просмотреть еще раз весь текст целиком, а это, вероятно, приведет еще к некоторому увеличению объема». Сопоставьте это с письмом фон Неймана Голдстайну, приведенным в разд. 1.1.2.3. Часть II. Теория автоматов 304
процедуры с двойным конструирующим путем он должен был понять, что ее можно применить для работы с L и что это сильно упростило бы схему УУП и все устройство. Поняв это, он захотел бы переработать заново всю схему своего самовоспроизводящегося автомата. Эта переработка повлекла бы за собой пересмотр гл. 3 и написание гл. 4 заново. Фон Нейман так и не нашел на это времени. Несмотря на то что схему, разработанную фон Нейманом для узла УУП, можно значительно улучшить, это не играет никакой роли. Исторически это первое доказательство того, что узел ленты с неограниченной памятью можно встроить в предложенную фон Нейманом структуру клеток с 29 состояниями. Кроме того, это доказательство содержит ряд остроумных схемных решений для параллельной обработки данных в клеточной структуре. 5.2.3. Конструирующий узел. После завершения синтеза конструи- рующего рукава фон Нейману осталось синтезировать конструирую- щий узел (КУ). Он представлял себе КУ как конечный автомат, взаимодействующий с узлом ленты УУП + L и выполняющий функцию конструирования. Поэтому при синтезе КУ можно исполь- зовать органы тех же типов и применять те же принципы конструи- рования, что и при синтезе узла УУП (гл. 4) и произвольного авто- мата КА (разд. 5.1.3). Так как фон Нейман был искусным конструк- тором и программистом, то он, несомненно, понимал, как надо синтезировать КУ и, возможно, у него даже был вполне конкретный план синтеза. Хотя мы не собираемся разрабатывать здесь полную схему, будет сказано достаточно много, чтобы понять, что работоспособный узел КУ на самом деле существует. Полная схема конструирующего узла (а также и универсальной конструирующей машины) приводится в работе Тэтчера [2] 1). Фон Нейман рассматривал процесс конструирования нескольких вторичных автоматов (разд. 1.7), но здесь достаточно будет объяснить, как происходит конструирование одного автомата в первом квадранте. Информация, касающаяся местоположения и размеров вторичного автомата, а также его полного описания, хранится в линейном мас- сиве L (см. рис. 50): сначала точка, затем параметры у^ аир, за каждым из которых ставится запятая, а потом последовательность G = 0, • • •> а — 1; ] = 0, . . ., р — 1), описывающая вторичный автомат. Для простоты предположим, что значения хранятся х) См. также Кодд [1]. В этой работе содержится схема универсальной кон- струирующей машины в клеточной системе, в которой у каждой клетки 4 непо- средственных соседа, но она может находиться лишь в 8 состояниях в отличие от 29 состояний по фон Нейману. Тэтчер и Кодд были знакомы с рукописью фон Неймана «Теория автоматов: конструирование, воспроизведение, однород- ность». Гл. 5. Самовоспроизведение автоматов 305
в том порядке, в котором они используются узлом КУ. За последо- вательностью следует точка, обозначающая конец информацион- ных записей на ленте. Эту информацию можно закодировать в алфавите, содержащем 14 символов: 0, 1, запятая, точка и 10 значений %/7-. Эти 10 значений соответствуют 10 покоящимся состояниям Тиа0 (и = 0, 1; а = = 0, 1, 2, 3), СОо и U. Указанные 14 символов можно представить с по- мощью 4 двоичных разрядов (битов). Заметим, что лучше обойтись без последовательности 0000. Кроме того, удобно будет использовать еще один (пятый) разряд для разного рода пометок (маркерный разряд). Итак, каждый из символов будем представлять 5 разрядами и хранить в 5 последовательных ячейках линейного массива L. Число Xi записывается с помощью последовательности из яд + 1 пятиразрядных блоков, представляющих 1. Аналогично записы- ваются числа z/1? а и р. Этот метод, очевидно, можно улучшить, на наши рассмотрения значительно упростятся, если мы будем представ- лять всю информацию в одном и том же алфавите. Пусть 0О, 0Ь 02, 04 обозначают 5 разрядов некоторого блокаг причем 0О — маркерный разряд. Узел КУ должен обладать способ- ностью интерпретировать последовательность 01020304 как одно целое. Предположим, например, что Соо представляется в L последователь- ностью —-1010, где знак — указывает положение маркерного разря- да. Если имеет значение —1010, то узел КУ должен на соответ- ствующей стадии процесса конструирования привести клетку (i, /) вторичного автомата в состояние Соо. Узел КУ выполнит это, беря в качестве у или б в операциях отступления по горизонтали или по вертикали (рис. 47 и 48) последовательность 1111, вызывающую^ согласно правилу переходов (рис. 10), переход в состояние Соо- Отсюда следует, что КУ должен интерпретировать —1010 на лен- те как требование в соответствующем месте последовательности 1111. Далее, 4 разряда 0Ь 02, 03, 04 хранятся в последовательных ячей- ках хп+1, хп + 2, ггп + 3, ^п+4- Получив инструкции от КУ, узел УУП будет считывать некоторую ячейку и продвигать читающую петлю к следующей ячейке. Время, необходимое для этого процесса, линей- но зависит от п. Поэтому КУ воспринимает 4 разряда 0Ь 02, 03 и 04 в разные моменты времени. По терминологии фон Неймана (разд. 3.1.1)г последовательность 1010 поступает в КУ в свободном времени, а в от- вет КУ должен послать в конструирующий рукав последовательность 1111 в жестком времени. Эти 4 импульса последовательности 1111 должны поступать в конструирующий рукав в последовательные моменты времени (т, т + 1, т + 2, т + 3), ибо для прямого процесса нужно жесткое время. Итак, узел КУ должен обладать способностью преобразовывать последовательность 04О203О4 в свободном времени (например, 1010) Часть II. Теория автоматов 306
в последовательность в жестком времени (например, 1111). Это можно сделать любым из следующих двух методов. В первом методе применяются органы состояния типа органов рис. 43. С каждым из 16 символов 01020304 свяжем 30 органов состоя- ния ОС0, OCi, ОСоо, . . ОСц; ОС0000, . ОС1Ш, которые соеди- няются между собой кодированным каналом узла КУ. Эти органы активируются (принимают управление) под влиянием разрядов 01? 02, 03, 04. Когда от УУП в КУ передается 019 активируется ОС0, если 0Х — = 0, и активируется ОС1? если 04 = 1. Разряд 02 переводит управле- ние с ОС0 или OCi на один из органов ОС00, ОС01, ОС10, ОСИ в соот- ветствии с таким правилом: если 02 = 0, то активируется ОСе^, а если 02 = 1, то активируется ОСе10. Иными словами, после прихода в КУ из УУП информации о двух разрядах 04 и 02 в состоянии управ- ления будет находиться орган 0Сехе2. Процесс повторяется для раз- рядов 03, 04, и, после того как будут считаны с L все разряды 019 02, 0з, 04, будет активирован ровно один из 16 органов 060^20364 узла КУ. Этот орган затем управляет выбором последовательности с жест- ким временем. Например, ОС10ю обеспечивает подстановку в одну из конструирующих последовательностей рис. 47 и 48 последователь- ности 1111 вместо у или б. Преобразование последовательности 1010 в свободном времени в последовательность 1111 в жестком времени является статико- динамическим преобразованием. В нашем втором методе такое преоб- разование осуществляют статико-динамический конвертор (рис. 53) и 4 органа ОС1, ОС2, ОС3, ОС4, отслеживающие позиции 4 разрядов; 04, 02, 03 и 04. Входы и выходы этого статико-динамического конвер- тора и 4 органов состояния присоединяются к главному каналу узла КУ. Периодические импульсаторы рис. 53 — это копии периодиче- ского импульсатора РР(1), изображенного на рис. 20. Все органы, расположенные в левом столбце рис. 53, представляют собой декоде- ры, на входы которых поступают сигналы из главного канала. Разу- меется, этот рисунок выполнен без соблюдения масштабов. Статико-динамический конвертор и 4 органа состояния ОС1, ОС2, ОС3, ОС4 преобразуют последовательность 0хО20з04 в свободном вре- мени в соответствующую кодовую последовательность в жестком времени. В начале этого преобразования управление находится у органа ОС1, который руководит считыванием 0Р Считанный с по- мощью УУП разряд Ох передается в КУ: импульс с выхода ц узла УУП (рис. 37) означает 04 = 0, а импульс с выхода /2 узла УУП означает 04 = 1. Под контролем органа ОС1 импульс, обозначающий 1, кодируется в последовательность, которая распознается лишь декодером Пускх рис. 53 (вход dx), затем управление передается орга- ну ОС2. Поэтому при 0х = 1 периодический импульсатор РР (1) Гл. 5. Самовоспроизведение автоматов 307
для 0t находится в активном состоянии, а при 04 = 0 он остается невключенным. _ Аналогично в импульсатор РР (1) для 02 передается разряд 02 с помощью органа ОС2 и декодера Пуск2 рис. 53. В случае разрядов 03 и 04 ситуация та же. Поэтому после считывания символа — 01020304 в массиве L и передачи его в КУ периодические импульсаторы ста- тико-динамического конвертора представляют последовательность 61020304» причем ;-й (/ = 1, 2, 3, 4) импульсатор включен или выклю- чен в зависимости от того, 07 = 0 или 07- = 1. Затем узел КУ руко- водит преобразованием этой статической информации в последова- тельность с жестким временем. Преобразование статического представления символа —01020304 в соответствующую динамическую последовательность О1О20з04 вызы- вается последовательностью одиночных импульсов, идущих из глав- ного канала, которая распознается декодерами D1? D2, D3 и D4 рис. 53. Каждый декодер D7- (7 = 1, 2, 3, 4) вырабатывает импульс, поступающий после задержки Д7 в столбец А, строку 7 (в кон- флюентном состоянии). Если импульсатор РР(1) для 07 включен, то этот импульс проходит в канал В; в противном случае импульс бло- кируется и не идет в В. Последовательность импульсов в главном канале, распознаваемая декодерами D1? D2, D3 и D4, поступает на эти декодеры в разные моменты времени. Но задержки Дь Д2, Д3 и Д4 можно подобрать так, чтобы те импульсы, которые все же вхо- дят в канал В, были в надлежащей фазе. Например, если все разряды 01, 02, 03 и 04 равны 1, то на выходе g появится последовательность Гш. Так как последовательность, состоящую из одних нулей, мы реши- ли не использовать для представления импульсов, то все 0Ь 02, 03 и 04 не могут быть одновременно нулями, так что на g появится хотя бы 1 импульс. Поэтому возбуждение декодеров D1? D2, D3 и D4 приведет к тому, что с выхода g статико-динамического конвертора выйдет последовательность OiO2O304 в жестком времени. После этого перио- дические импульсаторы статико-динамического конвертора можно «очистить», т. е. снова привести в неактивное состояние, возбуждая 4 стоп-декодера, входы которых обозначены на рисунке букой /. На этом обсуждение двух методов преобразования статических символов ленты в динамическую последовательность заканчивается. Заметим, что при втором методе понадобится меньше органов, чем при первом. Теперь мы располагаем методом для считывания символов с лен- ты. В конце разд. 5.2.1 мы привели алгоритм для конструирования и запуска вторичного автомата. В алгоритме указано, какие после- довательности импульсов надо послать в конструирующий рукав. Эти последовательности даны в виде функций от информации Часть II. Теория автоматов 308
a, Р, ^оо» • • •» ^a-i, З-i» хранящейся в L. Синтез узла КУ сводится теперь к переводу этого алгоритма в машинную конструкцию. Мы сформулируем здесь этот алгоритм заново, показывая, каким образом КУ получает из линейного массива L информацию, необходимую для конструирования. Мы предполагаем, что в начале процесса читаю- щая петля проходит через х0, т. е. через маркерный разряд самой левой группы цифр в L. Новая формулировка алгоритма конструирования и запуска вторичного автомата (см. рис. 50) такова: (1) КУ строит конструирующий рукав, протягивая его от себя до верхнего левого угла площадки, занимаемой вторичным автоматом. Это осуществляется следующими двумя опера- циями: (а) КУ посылает в конструирующий рукав последовательности импульсов для + 2 наступлений по горизонтали. После- довательности импульсов для каждого шага наступления по горизонтали показаны на рис. 45. КУ воспринимает один символ (группу цифр) Xi из L, посылает последовательности рис. 45 и передвигается вправо к следующему символу из L. Когда КУ считывает на L запятую, он посылает импульсы для еще двух наступлений по горизонтали и переходит к вы- полнению операции (Ь). (Ъ) КУ посылает в конструирующий рукав последовательности импульсов для z/i + Р наступлений по вертикали: восприни- мает каждый символ (группу цифр) из L, посылает в констру- ирующий рукав последовательности рис. 46 и передвигается к следующему символу из L. Когда КУ доходит до запятой на L, он пропускает все от а до р, посылает последовательно- сти рис. 46 для каждого символа, характеризующего величину Р, и возвращается к запятой, предшествующей а. Теперь конструирующий рукав в состоянии начать конструиро- вание. Узел КУ конструирует сразу 2 ряда клеток вторичного авто- мата и должен проделать это р/2 раз. Он ведет счет этим операциям, делая отметки на маркерных позициях каждого символа, характери- зующего р. (2) КУ определяет, содержит ли р какие-нибудь неотмеченные символы. Если р не содержит неотмеченных символов, то КУ снимает отметки со всех символов в р и со всех %, а затем пере- ходит к операции (3). Если р содержит неотмеченный символ, то КУ отмечает два символа Р и переходит к выполнению операций (а), (Ь) и (с) в указанном порядке. (а) КУ наступает по горизонтали а — 2 раза. Для этого он про- пускает 2 первые группы цифр, представляющих а, а для каждой из оставшихся групп посылает в конструирующий рукав последовательности рис. 45. Гл. 5. Самовоспроизведение автоматов 309
(b) КУ повторяет а — 2 раза отступление по горизонтали с у-б. Для этого он отмечает 2 символа, характеризующие а, и до тех пор пока не будут отмечены все символы, характеризующие а, он отмечает неотмеченный символ и отступает по горизон- тали с у-б (рис. 47). Для отступления по горизонтали с у-б нужно вместо у и б брать последовательности импульсов в соответствии с состоя- ниями и в которые должны перейти клетки, расположенные на конце конструирующего рукава. Чтобы получить эти значения X, КУ должен найти их в L и передви- нуть к ним читающую петлю от а; впоследствии КУ должен вернуть читающую петлю к а. В обоих случаях КУ может определить место остановки с помощью маркеров: каждый раз, когда он использует какой-нибудь символ из а или X, он его отмечает. Мы предполагаем, что величины X помещаются в L справа налево в порядке их использования. Отступив а — 2 раза по горизонтали с у-б, КУ снимает отметки с а и переходит к операции (с). (с) КУ дважды отступает по вертикали с у-б, используя и поме- чая две следующие величины X на L. Выполнив операцию (2), КУ заканчивает конструирование вто- ричного автомата и переходит к его запуску. (3) КУ посылает пусковой импульс на вторичный автомат с по- мощью последовательностей рис. 49. Выход е на этом рисунке совпадает с входом в клетку, центр которой помещен в точку (#1 + 3/г, 1/1 + х/2). Таким образом, здесь предполагается, что вторичный автомат сконструирован так, что он получает пусковой импульс с нижней стороны этой клетки. Теперь вторичный автомат начинает работать, а КУ переходит к устранению конструирующего рукава. (4) КУ устраняет конструирующий рукав, посылая на него после- довательности импульсов для z/i отступлений по вертикали с у-б, а затем для + 2 отступлений по горизонтали с у-б. Эти последовательности показаны на рис. 48 и 47 соот- ветственно. В каждом случае у и б принимают значение U, а это значит, что для каждого у и б надо брать одиночные импульсы. КУ ведет счет этим отступлениям с помощью чисел z/i и #!, хранящихся в L. Построение алгоритма конструирования и запуска вторичного авто- мата закончено. К концу его работы универсальный конструктор КУ + (УУП + L) приходит в свое начальное состояние. Теперь, когда этот алгоритм заново сформулирован, видно, что синтез узла КУ сводится к переводу алгоритма в машинную схему. Это можно сделать, применяя органы ОС (рис. 43), соединенные между собой кодированным каналом, а с другими органами, необ- Часть II. Теория автоматов 310
ходимыми для выполнения этого алгоритма,— с помощью специаль- ных соединений. Управление внутри КУ передается от одного органа ОС к другому под влиянием информации на L. Заметим, что анало- гично работает узел УУП, причем органы ОУ в нем играют роль органов ОС. В разд. 5.1.3 мы отметили сходство узла КУ с автоматом КА и уни- версального конструктора по фон Нейману с универсальной вычис- лительной машиной Тьюринга. Рассмотрим это сходство более вни- мательно. Универсальная вычислительная машина Ми состоит из двух час- тей: узла ленты УУП + L и автомата КА, взаимодействующего с этим узлом. Соответственно универсальный конструктор Мс состо- ит из двух частей: УУП + L и КУ. Узел КУ выполняет две связан- ные друг с другом функции: он взаимодействует с УУП + L и кон- струирует вторичный автомат, описание которого хранится в L. Про- цессы, происходящие при конструировании вторичного автомата, не новы: они уже применялись в узле ленты УУП -j- L. Более подроб- но: читающая петля передвигается от одной клетки на L к другой, делая конструирующие и разрушающие шаги того же типа, что и при конструировании вторичного автомата. Таким образом, конструи- рующий рукав рис. 44—50 очень похож на конструирующий рукав рис. 51—52 и любой из них может играть роль другого. Из этого сопоставления видно, что узел КУ на самом деле есть просто частный случай конечного автомата и что его можно синтези- ровать из органов тех же типов и применять те же принципы констру- ирования, что и при синтезе узла УУП (гл. 4) и автомата КА (разд. 5.1.3). Из этого сопоставления также видно, что в рамках кле- точной структуры, разработанной фон Нейманом, выход универсаль- ной вычислительной машины Ми не столь сильно отличается от выхо- да универсального конструктора Мс, как это могло бы показаться. Выходом машины Ми является вычисление, а выходом конструктора Мс — конструирование, но и то и другое осуществляется подачей сигналов в конструирующий рукав. На этом заканчивается наше исследование узла КУ. Мы показали, что его можно встроить в разработанную фон Нейманом структуру клеток с 29 состояниями, и сформулировали общие принципы его синтеза. Узел КУ вместе с узлом ленты УУП + L составляют универ- сальный конструктор. Это значит, что в клеточную структуру клеток с 29 состояниями (по фон Нейману) можно встроить универсальный конструктор Мс, обладающий следующим свойством: для любого начально покоящегося автомата М существует такое кодированное описание 3 (М) автомата М, что при его размещении на ленте L, присоединенной к Мс, конструктор Мс будет конструировать М. Этим получен ответ на вопрос фон Неймана относительно кон- Гл. 5. Самовоспроизведение автоматов 311
структивной универсальности: может ли автомат сконструировать любой другой автомат (разд. 1.1)? Остался теперь еще один его вопрос — относительно самовоспроизведения автоматов: может ли автомат конструировать свои копии? Мы дадим утвердительный ответ на этот вопрос, подытожив то, что было проделано фон Нейманом в настоящей работе. 5.3. ВЫВОДЫ 5.3.1. Резюме настоящей работы. Фон Нейман начал часть II с формулировки 5 основных вопросов (разд. 1.1.2.1). Первый вопрос касается логической универсальности. (А) Логическая универсальность', (А1) При каких условиях некоторый класс автоматов логи- чески универсален? (А2) Существует ли логически универсальный автомат? Конечный автомат с неограниченно удлиняемой лентой называется машиной Тьюринга (см. конец лекции 2 части I). Тьюринг показал, что класс машин Тьюринга логически универсален в том смысле, что машина Тьюринга может выполнить любой логический процесс (вычисление), выполнимый с помощью конечных, но произвольно расширяемых средств. Кроме того, Тьюринг показал, что существует универсальная машина Тьюринга, т. е. машина Тьюринга, способная выполнить любое вычисление. Таким образом, как отметил фон Нейман, Тьюринг ответил на эти два вопроса, относящиеся к логической универсальности. Затем фон Нейман поставил аналогичные вопросы, относящиеся к конструи- рованию. (В) Конструируемостъ'. (В1) Можно ли сконструировать автомат другим автоматом? (В2) Какой класс автоматов можно сконструировать одним автоматом? (С) Конструктивная универсальность'. Является ли какой- нибудь автомат конструктивно универсальным? (D) Самовоспроизведение'. (D1) Существует ли самовоспроизводящийся автомат? (D2) Существует ли автомат, способный воспроизводить себя, а также выполнять другие задачи? Фон Нейман обещал утвердительно ответить на эти вопросы кон- структивным способом, т. е. сконструировать различные типы кон- струирующих и самовоспроизводящихся автоматов. Вопросы (С) и (D) ведут к его последнему основному вопросу. (Е) Эволюция'. (Е1) Может ли конструирование автоматов автоматами про- грессировать от простых типов к более сложным? Часть II. Теория автоматов 312
(Е2) Может ли эта эволюция идти от менее эффективных авто- матов к более эффективным (при некотором подходящем определении понятия эффективности)? В разд. 1.7 и 1.8 фон Нейман сделал несколько замечаний по поводу эволюции и больше не возвращался к этой теме 1). Сформулировав все эти вопросы, фон Нейман перешел к более точной постановке вопросов (В) — (D). В сущности остаток гл. 1 и вся гл. 2 преследуют именно эту задачу. Дадим краткий обзор этих глав. Для выполнения чисто логических функций автомата вполне подходят идеализированные нейроны, но для конструирования необ- ходимы органы, способные выполнять нелогические функции, свя- занные с подбором и комбинированием органов, составляющих конструируемый автомат (разд. 1.2). В своей кинематической модели фон Нейман ввел в рассмотрение стержни, чувствительные элементы, кинематические элементы, соединительные элементы и разъединитель- ные элементы, обеспечивающие выполнение нелогических функций (лекция 5 части I и разд. 1.1.2.3). Затем он предпочел избавиться от кинематических аспектов самовоспроизведения и сосредоточить все свое внимание на логико-комбинаторных сторонах этой темы (разд. 1.3.1.1). Так он пришел к работе с пространством (структурой), где различие между покоем и движением заменяется различием между покоящимися состояниями и состояниями возбуждения (см. разд. 1.3.2 и 1.3.4.1). Фон Нейман наложил различные ограничения на пространство (структуру), в котором он хотел бы осуществить конструирование автомата. Он хотел, чтобы это пространство обладало высокой сте- пенью регулярности. Он потребовал от него функциональную одно- родность; он не мог потребовать полной однородности, ибо она несов- местима с вычислением и конструированием (разд. 1.3.3.2). В даль- нейшем он потребовал изотропности и остановился на двумерном пространстве (разд. 1.3.3.3). В связи с трудностями модельного кон- струирования автоматов в непрерывном пространстве он решил рабо- тать в дискретном пространстве (разд. 1.3.3.4, ср. разд. 1.1.2.3). В итоге он решил провести синтез автоматов в двумерной регулярной клеточной структуре, обладающей свойствами функциональной однородности и изотропности. Затем фон Нейман задумал смоделировать рост нейронов (возбу- димых клеток), переводя клетки из невозбудимых состояний в возбу- димые. Такое преобразование не могут выполнить обычные импульсы (обычные активные состояния нейронов), поскольку они управляют логическими функциями. Поэтому для осуществления конструи- См. также замечания редактора в конце разд. 1.1.2.3, касающиеся его вероятностной модели самовоспроизведения и эволюции. Гл. 5. Самовоспроизведение автоматов 313
рования в клеточной структуре фон Нейман ввел специальные импуль- сы, вызывающие переходы из невозбудимых состояний в различные виды возбудимых состояний. Таким образом, рост моделируется пере- водом невозбудимых клеток в возбудимые с помощью специальных импульсов (разд. 1.3.4.2). Это различие между обычными и спе- циальными импульсами, несколько позднее модифицированное (разд. 1.3.4.3, 2.5, 2.6), составляет основу для ответа на вопрос (В1): можно ли сконструировать автомат другим автоматом? Дальше идет вопрос (В2): какой класс автоматов можно сконструи- ровать одним, надлежащим образом заданным автоматом? Фон Ней- ман называет конструирующий и конструируемый автоматы соответ- ственно первичным и вторичным автоматами. В разд. 1.4 он разраба- тывает план общей организации и способа работы первичного авто- мата, способного сконструировать любой автомат из некоторого бесконечного класса вторичных автоматов. Первичному автомату надо задать описание требуемого вторичного автомата. Основная задача состоит в том, чтобы точно указать, как это можно сделать. Так как размеры вторичного автомата, подлежащего конструирова- нию, не ограничены, то описание нельзя хранить в самом первичном автомате. Имея все время в виду аналогию с машиной Тьюринга, фон Нейман ввел в рассмотрение неограниченно наращиваемый ли- нейный массив L, который дает возможность запомнить описание любо- го вторичного автомата или даже нескольких вторичных автоматов. Итак, первичный (конструирующий) автомат должен состоять из конечной части и неограниченно наращиваемого линейного мас- сива L. Конструирующий автомат аналогичен машине Тьюринга, состоящей из некоторого конечного автомата и неограниченно удлиняемой ленты. Действительно, фон Нейман отмечал, что линей- ный массив L можно было бы использовать в качестве неограниченно удлиняемой ленты для машины Тьюринга, если бы можно было встроить в клеточную структуру ту часть машины Тьюринга, кото- рая представляет собой конечный автомат (разд. 1.4.2.3; ср. разд. 5.1.3). Реальное конструирование в клеточной структуре конечного автомата, способного взаимодействовать с линейным мас- сивом L и выполнять конструирования и вычисления на основе информации, получаемой из L, в деталях осуществляется в разд. 3.1 — 5.2. Таким образом, к концу разд. 5.2 на вопрос (В) получен утвер- дительный ответ. Кроме того, положительно решается вопрос (А) в условиях предложенной фон Нейманом клеточной системы. В оставшейся части гл. 1 фон Нейман свел вопросы (С) и (D) к во- просу (В). Вопрос (С) он свел к вопросу (В), набросав план превра- щения первичного (конструирующего) автомата в универсальный конструктор (разд. 1.5). Для случая конструирования в первом квад- ранте этот план иллюстрируется на рис. 50. Вторичный автомат имеет в ширину а клеток, а в высоту р клеток; центр самой нижней его Часть И. Теория автоматов 314
клетки с левой стороны помещен в точку у^). Пусть I обозначает число состояний, в которых может находиться каждая из клеток вто- ричного автомата, и пусть X = 0, 1, ..., I — 1. Состояние клетки (j, 7) определяется величиной где I — 0, 1, . . ., а — 1; / = = 0, 1, ..., Р — 1. Поэтому универсальному конструктору можно задать план любого вторичного автомата, размещая на ленте L после- довательность у^ а, р, Хоо, . . . , Универсальный кон- структор конструирует вторичный автомат на основе информации, содержащейся в этой последовательности. Так вопрос (С) сводится к вопросу (В). Вопрос (D) фон Нейман сводит к вопросу (С), показывая, как заставить универсальный конструктор воспроизводить себя (разд. 1.6 и 1.7). По существу этого можно добиться, размещая описание уни- версального конструктора на его собственной ленте L. Фон Нейман обсуждает два связанных друг с другом обстоятельства. Во-первых, в использовании ленты L для самовоспроизведения имеется очевидная трудность. Самовоспроизводящийся автомат дол- жен содержать полное свое описание. Априори это кажется невозмож- ным, ибо конструирующий автомат должен содержать полный план конструируемого автомата и, кроме того, обладать способностью интерпретировать и выполнять этот план (разд. 1.6.1.1, ср. стр. 97 — 99). Но эту трудность легко преодолеть, построив универсальный конструктор так, чтобы он использовал информацию на L дважды — один раз для конструирования вторичного автомата и второй раз для изготовления 2-го экземпляра ленты L, который присоединяется к вторичному автомату (разд. 1.6.1.2, ср. стр. 103—105 и разд. 5.3.2). Так самовоспроизводящийся автомат хранит полное свое описание в соответствующей своей части, а именно на ленте L (см. рис. 55). Подобным образом автомат, выполняющий функции универсального конструктора и универсального вычислителя, может хранить полное свое описание в соответствующей своей части (рис. 56) х). Второе обстоятельство, связанное с использованием ленты L для самовоспроизведения, касается некоторых возможностей универ- сального конструктора. Универсальный конструктор Мс конструи- рует вторичный автомат G, описание 3) (6?) которого хранится в L. Можно ли построить универсальный конструктор, способный непо- средственно копировать сам автомат G (разд. 1.6.2.3)? С другой сто- роны, можно ли построить автомат, способный исследовать автомат G и создавать его описание^ (G) (разд. 1.6.3.1)? Фон Нейман доказал, что осуществить это трудно, если вообще не невозможно. При иссле- довании одной части активного автомата G исследующий автомат х) Мы уже отмечали параллелизм между машинами Тьюринга и конструи- рующими машинами. Этот параллелизм проявляется и здесь, ибо машина Тью- ринга может содержать свое описание. См. Ли [1] и Тэтчер [1]. Гл. 5. Самовоспроизведение автоматов 315
может изменить еще не исследованную часть. Более общо, активный автомат G может помешать работе исследующего автомата. В случае самовоспроизведения эта трудность была бы чрезвычайно серьезной. Если бы универсальный конструктор работал непосредственно со вто- ричным автоматом G, то при попытке его воспроизвести себя он при- нимался бы исследовать самого себя. Фон Нейман полагал, что это привело бы к парадоксам типа парадокса Ричарда (разд. 1.6.3.2). Эти трудности не возникают, если универсальный конструктор рабо- тает с покоящимся описанием 3) (G) (разд. 1.4.2.1). При конструировании вторичного автомата мы сталкиваемся с той же проблемой. Если бы в процессе конструирования какая-то часть вторичного автомата была активной, то она могла бы помешать этому процессу. Фон Нейман разрешил эту проблему, постулируя, что начальные состояния вторичного автомата должны быть все покоящимися (разд. 1.7.2.1). На языке функции переходов для 29 состояний, введенной в гл. 2, это означает, что 'кц могут принимать лишь 10 значений U, Тмао (и = 0, 1; а = 0, 1, 2, 3), Соо. После того как вторичный автомат закончен, его можно сделать активным, послав пусковой импульс на его периферию. Мы назвали такие автоматы начально покоящимися автоматами (разд. 5.1.2). Таким образом, автоматы, конструируемые универсальным кон- струирующим автоматом, образуют подкласс автоматов, который можно определить как часть некоторого начального клеточного рас- пределения (т. е. распределения в нулевой момент времени) клеточ- ной структуры фон Неймана (разд. 1.3.3.5). На самом деле в структуре клеток с 29 состояниями можно построить конструирующий автомат, способный сконструировать любой начально покоящийся автомат, а также множество активных автоматов. Однако в этом нет необходи- мости, поскольку и универсальный конструктор, и универсальную машину Тьюринга можно построить как начально покоящиеся авто- маты (разд. 5.3.2 и 5.1.3). Кроме того, не все автоматы, которые можно определить как часть начального клеточного распределения клеточ- ной структуры фон Неймана, можно сконструировать внутри клеточ- ной структуры. Например, нельзя сконструировать конфигурацию рис. 13b (момент 0), если ее окружить широкой полосой из невозбу- димых клеток U. Конструирующий рукав может построить покоящие- ся состоянияТюо иТО2о? но после того как он их активирует, его нель- зя удалить из окружающего пространства, пока T10i и T02i не убьют друг друга. Простым примером неконструируемого автомата служит конфигурация 3x3, состоящая из чувствительного состояния Se, окруженного клетками Соо г). Тэтчер [2, § 2.3]. Мур [1] назвал конфигурацию, существующую лишь в нулевой момент времени, конфигурацией райского сада (сада Эдема). Каждая конфигурация райского сада неконструируема, но обратное не верно. Мур установил необходимое условие существования конфигураций райского сада Часть II. Теория автоматов 316
На этом мы заканчиваем обзор гл. 1. Чтобы придать конкрет- ность своим вопросам, касающимся конструирования автоматов, фон Нейману пришлось выбрать определенную клеточную структуру. Этому посвящена гл. 2. В разд. 2.1.2 фон Нейман остановился на дис- кретной системе отсчета времени и постулировал, что состояние клет- ки в момент t + 1 зависит только от ее собственного состояния в мо- мент t и от состояний в момент t ее 4 непосредственных соседей. В оставшейся части гл. 2 он построил множество из 29 состояний и сформулировал правило переходов между ними. Именно это мы имеем в виду, когда говорим «структура фон Неймана из клеток с 29 состояниями». Этот результат фон Неймана резюмируется в разд. 2.8 и на рис. 9 и 10. Поставим теперь вопросы (А) — (D) так, чтобы они относились к структуре фон Неймана из клеток с 29 состояниями (для этого их надо будет слегка изменить). (А) Логическая универсальность: Можно ли встроить в структуру фон Неймана из клеток с 29 состояниями начально покоящий- ся автомат, способный выполнять вычисления универсальной машины Тьюринга? (В) Конструируемостъ: Можно ли в рамках структуры фон Неймана из клеток с 29 состояниями сконструировать один автомат другим автоматом? (С) Конструктивная универсальность: Можно ли встроить в струк- туру фон Неймана из клеток с 29 состояниями универсальный конструктор МС1 обладающий следующим свойством: для каждого начально покоящегося автомата М существует такое кодированное описание 3 (М) автомата М, что при размеще- нии его на ленте L, присоединенной к Мс, конструктор Мс конструирует автомат М? (D) Самовоспроизведение: (D1) Можно ли встроить в структуру фон Неймана из клеток с 29 состояниями самовоспроизводящийся автомат? (D2) Можно ли встроить в структуру фон Неймана из клеток с 29 состояниями автомат, способный выполнять вычис- ления универсальной машины Тьюринга и воспроизво- дить себя? На все эти вопросы в настоящей книге получены утвердительные ответы. Ответ на вопрос (В), относящийся к конструируемости, дает- ся в конце разд. 2.8.3 и на рис. 14. Для каждого начально покоящего- в клеточной структуре, в которой требуется по крайней мере 1 единица време- ни для того, чтобы информация из клетки могла поступить к ее соседям. Майхилл [1] показал, что это условие также и достаточное. По существу это условие того, что клеточная структура не является обратимо детерминирован- ной в смысле Бёркса и Ван Хао [1, § 3.3]. Гл. 5. Самовоспроизведение автоматов 317
ся автомата Л существуют 2 двоичные последовательности (импуль- сов и пауз), подача которых на входы i и; схемы рис. 14 приводит к кон- струированию автомата <^. Эти 2 последовательности можно полу- чить с помощью двух рядов клеток Тоое при соответствующем выборе е. Следовательно, эти 2 ряда клеток вместе с клетками столбцов А и В рис. 14 могут конструировать автомат «^. Это показывает, что для каждого начально покоящегося автомата существует активный автомат, способный его сконструировать. Утвердительные ответы на остальные вопросы основаны на резуль- татах гл. 3 и 4. В гл. 3 фон Нейман синтезировал основные органы. Пусть I1 . . . in— произвольная конечная двоичная последователь- ность, в которой 1 символизирует наличие импульса, а 0 — его отсут- ствие. Пусть i1 . . . in обозначает бесконечное повторение последо- вательности I1 . . . in. Фон Нейман разработал алгоритмы конструи- рования произвольных импульсаторов Р (i1 . . . in), периодических импульсаторов РР (г1 . . . 1п) и декодеров D (i1 ... in). Он синте- зировал 2 специальных органа: тройной возвратный счетчик Ф и дис- криминатор Т для различения последовательностей 1 и 10101. Глава 3 заканчивается описанием алгоритма конструирования произволь- ного кодированного канала, или прибора для пересечения про- водов. Глава 4 посвящена синтезу узла УУП. Этот узел производит считывание и запись на ленте L под управлением узла КУ. Блок- схема узла УУП приведена на рис. 37, принцип его работы дается в разд. 4.3.1. Основные операции (считывание ячейки хп на L, запись в ячейку хп, перемещение точки подсоединения с хп на xn+i (удлине- ние) или на хп_1 (укорочение)) выполняются в 2 этапа. Сначала узел УУП, получив на свой вход oi сигнал, посланный с выхода узла КУ, считывает ячейку хп с помощью соединительной петли Сх. Если в хп хранился нуль, то УУП посылает импульс на вход ц узла КУ, а если в хп хранилась единица, то УУП посылает импульс на вход 12 узла КУ. Затем КУ посылает импульс на вход о2 узла УУП, если в хп надо записать нуль, и на вход о3 узла УУП, если в хп надо запи- сать единицу; КУ посылает импульс на вход о4 или о5 в зависимости от того, требуется ли удлинить или укоротить петли Ci и С2. После выполнения этих операций УУП посылает сигнал окончания на вход i3 узла КУ. Узел УУП состоит из блока СЗС, блока КСЗС, области задержки W, области передачи Y и кодированного канала, включающего в себя главный канал и узлы X, Z, ССЬ СС2, СС3. Фон Нейман не довел до конца синтез УУП, а в том, что он успел сделать, допустил ряд ошибок. По ходу дела мы поправили все ошибки, кроме одной (гл. 4 и разд. 5.1.1). Эту последнюю ошибку мы Часть II. Теория автоматов 31&
исправили в разд. 5.1.2 и закончили синтез узла УУП. В разд.5.2.2 мы предложили гораздо более лучшую схему узла УУП. Узел УУП, неограниченный линейный массив L, соединительная петля Ct и временная петля С2 вместе составляют узел ленты с неогра- ниченной емкостью памяти. Кроме того, УУП является начально покоящимся автоматом, который запускается от импульса, поданного на его периферию (вход oj. Отсюда следует, что начально покоящий- ся автомат, выполняющий функции узла ленты с неограниченной емкостью памяти, можно встроить в структуру фон Неймана из кле- ток с 29 состояниями. Машина Тьюринга состоит из такого узла ленты и конечного автомата, взаимодействующего с ним. В разд. 5.1.3 мы показали, как смоделировать произвольный конечный автомат начально покоящимся клеточным автоматом. Применяя полученные резуль- таты к этому частному случаю универсальной машины Тьюринга, мы приходим к положительному ответу на вопрос (А): начально покоящийся автомат, способный выполнять вычисления, производи- мые универсальной машиной Тьюринга, можно встроить в структуру фон Неймана из клеток с 29 состояниями. Универсальный конструктор Мс, разработанный фон Нейманом, состоит из узла КУ и узла ленты УУП + L (см. рис. 50). В разд. 5.2.1 дана схема построения конструирующего рукава, а в разд. 5.2.3 — схема узла КУ, так что получается, что в структуру фон Неймана из клеток с 29 состояниями можно встроить универсальный конструк- тор Мс, обладающий следующим свойством: для каждого начально покоящегося автомата М существует такое кодированное описание Sb (М) автомата М, что при его размещении на ленте L, присоеди- ненной к Мс, конструктор Мс конструирует автомат М. Это дает ответ на вопрос (С) фон Неймана и подводит нас к вопросу (D), касающемуся самовоспроизведения. Сравнение универсального вычислителя Ми и универсального конструктора Мс показывает, что в клеточной структуре фон Нейма- на вычисление и конструирование имеют много общего. Как Мс, так и Ми являются устройствами для обработки конечного числа данных, способными взаимодействовать с неограниченно удлиняемой лентой. Предположим, что универсальный вычислитель Ми сконстру- ирован так, что он записывает свой ответ на незаполненной ленте L. Тогда и Ми, и Мс создают начально покоящиеся автоматы. Начально покоящийся автомат, созданный универсальным конструктором МС1 имеет вид прямоугольника, каждая клетка которого может находить- ся в 10 состояниях U, Тиа0 (и = 0, 1; а = 0, 1, 2, 3), Соо- Универ- сальный вычислитель Ми создает линейный начально покоя- щийся автомат из клеток, принимающих лишь значения U и ТОзо (| )• Гл. 5. Самовоспроизведение автоматов 319
5.3.2. Самовоспроизводящиеся автоматы. Теперь наша задача состоит в превращении универсального конструктора Мс (разд. 5.2.3 и рис. 50) в самовоспроизводящийся автомат. Заметим сначала, что универсальный конструктор Мс фактически является начально покоящимся автоматом. Следовательно, можно разместить описание 26 (Мс) на ленте L, присоединенной к Мс. После этого размещения и после запуска конструктора Мс комплекс Мс + 26 (Мс) будет создавать копию конструктора Мс как вторично сконструированный автомат. Но это еще не самовоспроизведение, ибо сконструированный автомат Мс меньше конструирующего авто- мата Мс + 26 (Мс). Здесь конструирующий автомат больше и в некотором смысле сложнее конструируемого, поскольку первый содержит полный план 26 (Мс) второго и вдобавок узел Мс, интерпретирующий и выполняю- щий этот план (ср. разд. 1.6.1.1 и стр. 97—99). Чтобы первичный авто- мат мог конструировать вторичный автомат столь же больших, как юн сам, размеров, несколько изменим универсальный конструктор Мс (ср. разд. 1.6.1.2 и стр. 103—105). Пусть вторичный автомат, который предстоит сконструировать, состоит из начально покоящегося автомата М и ленты L, хранящей некоторую начальную информацию J (М) (см. рис. 54). Разместим на ленте L универсального конструктора следующие данные: точка, описание 26 (М), вторая точка, информация 3 (М), третья точка. В частности, может случиться, что 3 (М) и третья точка отсутствуют. Универсальному конструктору легко обнаружить отсутствие инфор- мации 3 (М), так как она записана в пятиразрядном коде, в который не включен символ, состоящий из одних нулей (разд. 5.2.3). Теперь заменим Мс модифицированным универсальным конструк- тором М*, выполняющим следующие 3 функции. Во-первых, М* кон- струирует М, используя, как и прежде, описание 26 (М) (разд. 5.2.1 и 5.2.3). Во-вторых, М* создает присоединенную к М ленту L, на ко- торой записана точка, информация 3 (Л7) и вторая точка. Если кон- структор М* обнаружит, что на его ленте после второй точки ничего нет (т. е. 3 (М) отсутствует), то он будет переносить на ленту, присо- единенную к М, точку, описание 26 (М) и вторую точку. В-третьих, М* дает пусковой импульс автомату М. Вторая из этих 3 функций представляет собой простую операцию копирования ленты. Ее производят узел КУ и конструирующий рукав подобно тому, как они конструируют М. Разумеется, кодирование в этих двух случаях различное. Клетка (i, 7) автомата М задается в 26 (М) пятиразрядным символом, хранящимся в пяти последова- тельных ячейках ленты конструктора М*. В отличие от этого каждая клетка ленты автомата М имеет тот же вид, что и соответствующая клетка ленты конструктора М*- Часть II. Теория автоматов 320
Для каждого выбора точки (xt, yt) копии конструктора 717? суще- ствует свое описание ЗВ (М*). Поместим это описание ЗВ (М*) на ленту самого конструктора М*. Комплекс М* + ЗВ (71/?) будет конструиро- вать М* + ЗВ (71/?). Это и есть самовоспроизведение (см. рис. 55). Итак, самовоспроизводящийся автомат можно встроить в струк- туру фон Неймана из клеток с 29 состояниями. Это ответ на вопрос (D1). Повторное конструирование и самовоспроизведение можно полу- чить путем дальнейших модификаций универсального конструктора (разд. 1.7). Начально покоящийся автомат Ми является универсальной маши- ной Тьюринга (разд. 5.1.3). Поместим описание ЗВ (Ми + М*) на ленту L автомата М*. Первичный автомат М* + ЗВ (Ми + М*) будет тогда J конструировать (Ми + 71/?) + ЗВ (Ми + 71/?) как вторичный автомат. В этом случае конструируемый автомат больше конструи- рующего. Затем присоединим Ми к 71/?, как на рис. 56. Поместим описание ЗВ (Ми + М*) на ленту автомата Ми + 71/?. Автомат (71/и + 71/?) + + ЗВ (Ми + 71/?) будет конструировать (71/и + 71/?) + ЗВ (Ми + 71/?). Следовательно, он самовоспроизводящийся. После окончания кон- струирования вторичный автомат (71/и + 71/?) + ЗВ (Ми + 71/*) может произвести некоторое вычисление. Если же автомат Ми снабжен своей собственной лентой, то каждый комплекс (Ми-\-М*) + ЗВ (Ми + + 71/?) может вычислять и конструировать одновременно. Это значит, что в предложенную фон Нейманом структуру клеток с 29 состояниями можно встроить автомат, способный выполнять вычисления, производимые универсальной машиной Тьюринга, и вос- производить себя. Это ответ на вопрос (D2). [Все вопросы фон Неймана о возможностях автоматов конструиро- вать и вычислять^(разд. 1.1.2.1 и 5.3.1) получили утвердительные ответы. Структура фон Неймана из клеток с 29 состояниями вычис- лительно универсальна, конструктивно универсальна и допускает самовоспроизведение. В этой клеточной структуре самовоспроизведе- ние является частным случаем конструирования, а конструирование и вычисление имеют очень много общего.]
ЛИТЕРАТУРА i) Бёркс (Burks A. W.) 1. Computation, behavior, and structure in fixed and growing automata,*Behavioral Science, 6 (1961), 5—22. (Первоначальный вариант и обсуждение см. в сб. «Самоорганизующиеся системы», изд-во «Мир», М., 1964.) 2. Electronic computing circuits of the ENIAC, Proc. Inst. Radio Engin., 35 (август, 1947), 756—767. 3. Programming and the theory of automata, сб. «Computer programming and formal systems», Amsterdam, 1963, стр. 100—117. 4. Super electronic computing machine, Electronic Industries, 5 (июль, 1946) 62—67, 96. 5. Toward a theory of automata based on more realistic primitive elements, сб. «Information processing 1962, Proceedings of IFIP congress 62», Amsterdam. 1963, стр. 379—385. Бёркс, Ван Хао (Burks A. W., Wang Hao) 1. The logic automata, J. Assoc. Comput. Machin., 4 (апрель, 1957), 193—218; 4 (июль, 1957), 279—297. (Переиздано: Wang Hao, A survey of mathemati- cal logic, Peking, 1962, стр. 175—223.) Бёркс А., Голдстайн X., Нейман Дж., фон 1. Предварительное рассмотрение^логической конструкции электронного вычис- лительного устройства, Кибернетический сб., № 9, изд-во «Мир», М., 1964, стр. 7—67. Бёркс А., Райт Дж. 1. Теория логических сетей, Кибернетический сб., № 4, ИЛ, М., 1962, стр. 33— Б и р к г о ф Г. 1. Гидродинамика, ИЛ, М., 1954; изд. 2, изд-во «Мир», М., 1963. Биркгоф, Нейман (Birkhoff G., Neumann J., von) 1. The logic of quantum mechanics, Ann. Math., 37 (1936), 823—843. (См. также Нейман [1, т. 4, стр. 105—125].) Больцман (Boltzmann L.) 1. Vorlesungen uber Gas Theorie, Leipzig, В. 1 (1896), B. 2 (1898). 2. Wissenschaftliche Abhandlungen, Leipzig, В. 1, 2, 3 (1909). Брайнерд, Шарп лес (Brainerd J. G., Sharpless T. K.) 1. The ENIAC, Elect. Engin., 67 (февраль, 1948), 163—172. ’) Работы, отмеченные звездочкой, добавлены при переводе.— Прим, перев. Литература 322
Бриллюэн Л. 1. Наука и теория информации, Физматгиз, М., 1960. Бут (Booth A. D.) 1. The future of automatic digital computers, Comm. Comput. Mach.. 3 (июнь, 1960), 339-341, 360. Вигипгтон (Wigington R. L.) 1. A new concept in computing, Proc. Inst. Radio Engin., 47 (апрель, 1959), 516—523. Вилкс (W i Ijk e s M. V.) 1. Automatic digital computers, London, 1956. 2. Progress in high-speed calculating machine design, Nature, 164 (август, 1949), 341-343. Вильямс (Williams F. C.) 1. A cathod-ray tube digit store, Proc. Roy. Soc. of London, Ser. A, 195 (декабрь, 1948), 279-284. Винер H. 1. Кибернетика, или управление и связь в животном и машине, изд-во «Сов. радио», М., 1963. Гёдель (Godel’ К.) 1. liber formal unentscheidbare Satze der Principia Mathematica und verwandter Systeme I, Monat. Math, und Phys., 38 (1931), 173—198. (Английский перевод в сб. «The undecidable», New York, 1965, стр. 4—38.) 2. On undecidable propositions of formal mathematical systems. Размноженные на мимеографе записи лекций, прочитанных в Институте перспективных исследований, Princeton, New Jersey, 1934. (Переиздано в сб. «The undecidable«. New York, 1965, стр. 39—74.) 3. liber die Lange der Beweise, Ergebnisse eines mathematischen Kolloquiums Heft 7 (1936), 23—24. (Английский перевод в сб. «The undecidable», New York. 1965, стр. 82—88.) Голанд (Holland G. H.) 1. Concerning efficient adaptive systems, сб. «Самоорганизующиеся системы», изд-во «Мир», М., 1964. 2. Outline for a logical theory of adaptive systems, J. Assoc. Comput. Mach., 9 (июль, 1962), 297—314. 3. Iterative circuit computers, Proceedings oi the 1960 Western Joint Computer Conference, pp. 259—265. Institute of Radio Engineers, 1960. 4. Universal embedding spaces for automata. Готовится к изданию в Progress in Brain Research, a festschrift for Norbert Wiener; Amsterdam: Elsevier Publishing Company. 5. A universal computer capable of executing an arbitrary number of sub-programs simultaneously, Proceedings of the 1959 Eastern Joint Computer Conference- pp. 108—113. Institute of Radio Engineers, 1959. Голдстайн, Голдстайн (Goldstine H. H., Goldstine A.) 1. The electronic numerical integrator and computer (ENIAC), Math. Tabl. and Other Aids to Comput., 2 (июль, 1946), 97—110 и фронтиспис. Голдстайн, Нейман (Goldstine Н. Н., Neumann J., von) 1. Planning and coding of problems for an electronic computing instrument. Часть 11 доклада по математическим и логическим вопросам электронной вычислительной машины, подготовленного в соответствии с контрактом W-36-034-ORD-7481 для Артиллерийско-технического управления армии США. Princeton, v. 1 (1947), v. 2 (1948), v. 3 (1948). (См. также Нейман [1, т. 5, стр. 80-235].) Гото (Goto Е.) 1. The parametron, a digital computing element which utilizes parametric oscilla- tion, Proc. Inst. Radio Engin., 47 (август, 1959), 1304—1316. Кейнс (Keynes J. M.) 1. A treatise on probability, London, 1921. Литература 323
Кемени (Kemeny J.) 1. Man viewed as a machine, Set. Amer., 192 (апрель, 1955), 58—67. Работа напи- сана на основе лекций фон Неймана, прочитанных в Принстонском универси- тете в марте 1953 г. Клини С. 1. Введение в метаматематику, ИЛ, М., 1957. 2. Представление событий в нервных сетях и конечных автоматах, сб. «Автома- ты», ИЛ, М., 1956, стр. 15—67. К о д д (С о d d Е. F.) 1. Propagation, computation, and construction in two-dimensional cellular spaces; диссертация, University of Michigan, 1965. Лаплас (Laplace, Marquis Pierre Simon de) 1. A philosophical essay on probabilities, New York, 1951. (Впервые на франц, языке в 1814 г.) Лебедев Д. С., Левитин Л. Б. *1. Перенос информации электромагнитным полем, сб. «Теория передачи инфор- мации», изд-во «Наука», М., 1964. Левитин Л. Б. *1.Количество информации и квантовомеханическая необратимость измерения, Материалы 4-й Всесоюзной конференции по теории передачи и кодирования информации, сек. II, Ташкент, 1969. Ли (Lee С. Y.) 1. A Turing machine which prints its own code script, Proceedings of the Sympo- sium on Mathematical Theory of Automata, New York, April, 1962; Brooklyn, New York, 1963, pp. 155—164. Майхилл (Myhill J.) 1. The converse of Moore’s Garden-of-Eden theorem, Proc. Math. Soc., 14 (август, 1963), 685—686. Макка ллок У., Питтс У. 1. Логическое исчисление идей, относящихся к нервной активности, сб. «Авто- маты», ИЛ, М., 1956, стр. 362—384. М а к - Нотой (McNaughton В.) 1. On nets made up of badly timed elements. Part I: Slow but perfectly timed elements. Размножено на мимеографе. Philadelphia, 1961. Метрополи с, Улам (Metropolis N., Ulam S.) 1. The Monte Carlo method, J. Amer. Stat. Assoc., 44 (1949), 335—341. Моргенштерн О., Нейман Дж., фон 1. Теория игр и экономическое поведение, изд-во «Наука», М., 1970. М у р Э. Ф. 1. Математические модели самовоспроизведения, сб. «Математические проблемы в биологии», изд-во «Мир», М., 1966, стр. 36—62. Найквист (Nyquist Н.) 1. Certain factors affecting telegraph speed, Bell System Tech. J., 3 (1924), 324—346. Нейман Дж., фон (Neumann J., von) 1. Collected works, 6 томов, New York, 1961—63. (Том 5 называется «Design of computers, theory of automata and numerical analysis».) 2. Вычислительная машина и мозг, Кибернетический сб., № 1, ИЛ, М., 1960, стр. И—60. (Рукопись была подготовлена в 1955—1956 гг. для лекций в Йельском университете, но она не была закончена, а лекции не были прочитаны.) 3. First draft of a report on the EDVAC. Контракт № W-670-ORD-4926 между Артиллерийско-техническим управлением армии США и Пенсильванским университетом. Размножено на мимеографе, 1945. (В более раннем маши- нописном экземпляре собрано больше материала. Оба варианта недописаны, в них недостает многих ссылок. Однако логический синтез по существу закончен, если не считать органов управления, входа и выхода.) Литература 324
4. Общая и логическая теория автоматов. Приложение к книге Т ью рин- г а А., Может ли машина мыслить?, Физматгиз, М., 1960, стр. 59—102. (Доклад прочитан 20 сентября 1948 г. на симпозиуме по механизмам мозга в поведении. Комментарий фон Неймана по поводу других докладов симпо- зиума см. на стр. 58—63, 96, 109—111, 132, 232 сб. «Cerebral mechanisms in behavior — the Hixon symposium», New York, 1951.) 5. Математические основы квантовой механики, изд-во «Наука», М., 1964. 6. Non-linear capacitance or inductance switching, amplifying and memory devices. Эта статья составляет основу патента США 2815488, заявленного 28 апреля 1954 г. Опубликована в декабре 1957 г. (См. также Нейман [1, т. 5, стр. 379—419].) 7. Вероятностная логика и синтез надежных организмов из ненадежных ком- понент, сб. «Автоматы», ИЛ, М., 1956, стр. 68—139. (Статья основана на заметках, которые были сделаны фон Нейманом в связи с пятью лекциями, прочитанными им в Калифорнийском технологическом институте в январе 1952 г.) 8. Quantum logics (strict- and probability-logics). (Написано, по-видимому, в 1937 г.). (См. Нейман [1» т. 4, стр. 195—197].) 9. Remarks in the discussion of Ralph Gerard’s «Some of the problems concerning digital notions in the central nervous system», сб. «Cybernetics», New York, 1951, стр. 19—31. (В этом сборнике собраны материалы конференции, состоявшейся в марте 1950 г.) 10. Review of Norbert Wiener’s «Cybernetics, or control and communication in the animal and the machine», Physics Today, 2 (1949), 33—34. 11. Zur Theorie der Gesellschaftspiele, Math. Ann., 100 (1928), 295—320. (Cm. также Нейман [1, т. 6, стр. 1—26].) 12. Bull. Amer. Math. Soc., 64, № 3 (1958), 50—122. Рассел (Russell B.) 1. Mathematical logic as based on the theory of types, Amer. J. of Math., 30 (1908), 222-262. Рейчмен (Rajchman J. A.) 1. The selectron — a tube for selective electrostatic storage, Math. Tabl. and Other Aids to Comput., 2 (октябрь, 1947), 359—361 и фронтиспис. Ричард (Richard J.) 1. Les principes des mathematiques et le probleme des ensembles, Rev. generate des sci. pur. et appl., 16 (1905), 541—543. С ц и л a p д (S z i 1 a r d L.) 1. Uber die Entropieverminderung in einem tbermodynamischen System bei Eingriffen intelligenter Wesen, Z. fiir Phys., 53 (1929), 840—856. (Английский перевод в журн. Behav. Sci., 9 (октябрь, 1964), 301—310.) Тарский (Tarski А.) 1. The concept of truth in formalized languages, сб. «Logic, semantics, metamathe- matics, Oxford, 1956; стр. 152—278. (Оригинальное польское издание в 1933 г.; немецкий перевод в 1936 г.) Тьюринг (Turing А. М.) 1. The chemical basis of morphogenesis, Phil. Trans. Roy. Soc. of London, Ser. B, 237 (август, 1952), 37—72. 2. Computability and X-definability, J. of Sy mb. Log., 2 (декабрь, 1937), 153—163, 3. On computable numbers, with an application to the Entscheidungsproblem, Proc. London Math. Soc., Ser. 2, 42 (1936—1937), 230—265. A correction, там же, 43 (1937), 544—546. (Переиздано в сб. «The undecidable», New York, 1965, стр. 115—154.) Тэтчер (Thatcher J.) 1. The construction of a self-describing Turing machine, Proceedings of the Sympo- sium on Mathematical Theory of Automata, New York, April, 1962; Brooklyn, New York, 1963, стр. 165—171. Литература 325
2. Universality in the von Neuman cellular model, Technical Report 03105-30-T, ORA, University of Michigan, 1965. Опубликовано в сб. «Essays on cellular automata», под редакцией A. W. Burks. У л а м C. (U 1 a m S. M.) 1. Нерешенные математические задачи, изд-во «Наука», М., 1964. 2. Electronic computers and scientific research, сб. «The age of electronics», New York, 1962, стр. 95—108. 3. John von Neumann, 1903—1957, Bull. Amer. Math. Soc., 64, № 3, Part 2 (1958), 1—49. (Здесь содержатся ценные биографические сведения, краткий перечень результатов, полученных фон Нейманом, и библиография.) 4. Некоторые математические проблемы, связанные с процессом роста фигур, сб. «Математические проблемы в биологии», изд-во «Мир», М., 1966, стр. 63— 77. 5. Random processes and transformations, Proceedings of the International Congress of Mathematicians, 1950; Providence, 1952, v. II, pp. 264—275. Хартли (Hartley R. V. L). 1. Transmission of information, Bell. Syst. Tech. J., 7 (1928), 535—563. X e м м и н г P. 1. Коды с обнаружением и исправлением ошибок, сб. «Коды с обнаружением и исправлением ошибок», ИЛ, М., 1956, стр. 7—23. Чёрч (Church А.) 1. Applications of recursive arithmetic to the problem of circuit synthesis, Summa- ries of talks presented at the summer institute for symbolic logic, Cornell Uni- versity, 1957; Princeton, 1960. Hl СБ в OH K. 1. Математическая теория связи, сб. «Работы по теории информации и киберне- тике», ИЛ, М., 1963, стр. 243—332. 2. Вклад фон Неймана в теорию автоматов, сб. «Работы по теории информации и кибернетике», ИЛ, М., 1963, стр. 232—242. Экклс (Eccles J. С.) 1. The neurophysiological basis of mind, Oxford, 1953. Э стрип (E strin G.) 1. The electronic computer at the institute for advanced study, Math. Tabl. and Other Aids to Comput., 7 (апрель, 1953), 108—114 и фронтиспис.
РИСУНКИ Рис. 1. Нейронная сеть, в которой доминирование не транзитивно. 0 110 10 0 110 Р и с. 2. Двоичная лента, сконструированная из элементов жесткости. Рисунки 327
+ нейрон: b r • нейрон*. ab ~7 О— - нейрон: a —^ ©— a b c или или (2> a —>- b -+ c Рис. 3. Основные типы нейронов. (Q) (b) Рис. 4. Структура с квадратными клетками. а) Ближайшие (С) и следующие за ними ближайшие (ф) соседи точки х. Ь) Единичные векторы, с) Ближайшие (О) и следующие за ними ближайшие (ф) соседи клетки х. Рисунки 328
(е) тоо Too Too Т30 (f) T30 T20 T20 T20 Т30 T30 i Т30 Too Too Too Too (е') t (f') t 1 t ♦ I Рис. 5. Обычные передающие состоя- ния.
Рис. 6. Конфлюентные состояния. а) Получение нейрона,-с помощью конфлюентных состояний. Ь) Получение расщепления линии с помощью конфлюентных состояний. Рис. 7. Организация некоторой области* 4 4 4 В 4 4 4 4 1 A JO 4 4 4 I 4 4 t I JO— 4 4 4 -> 4 4 t JO— 4 4 4 2 -► 4 1 1 Рис. 8. Необходимость в четных и нечетных задержках. Рисунки 339
Класс Состо- яния Используемый символ Число Правило переходов Невозбу- димое и 1 Прямой процесс переводит U в чувствительные состояния, а за- тем в Тиао или Соо- Обратный процесс убивает Тиа£ или С££/, переводя их в U. Конфлюентные сее' e = 0 (покоящееся) е=1 (возбужденное) e' = 0 (покоящееся в следующий момент) 8' = 1 (возбужденное в следующий момент) 4 Получает сигналы конъюктивно от состояний Тоае, направленных на это состояние; с двойной за- держкой возбуждает все не на- правленные на эту клетку состоя- ния Tuae- Убивается путем перевода в U со- стоянием Tjai, направленным на это состояние. Убивание домини- рует над восприятием импульсов. Обычные 1 Передающие (Тиа£) т0ае О fo О |о Класс: и = 0 (обычное) и = 1 (специаль- ное) Возбуждение: е = 0 (покояще- еся) 8=1 (возбужден- ное) Выходное направле- ние: а = 0 (вправо) а = 1 (вверх) а = 2 (влево) а = 3 (вниз) 8 Получает сигналы дизъюнктивно от состояний TQae, направленных на это состояние, и от С££,. По- дает импульс в выходном направ- лении с единичной задержкой: а) на состояние TqO8, не направ- ленное на это состояние, и на С88'» Ь) на U или чувствительные со- стояния при прямом процессе; с) убивает Tiae при обратном процессе. Убивается путем перевода в U со- стоянием Tiai, направленным на это состояние: убивание домини- рует над восприятием. Специальные т1ае fi 1 0 8 Получает сигналы дизъюнктивно от состояний Tiac, направленных на это состояние, и от С88/. По- дает импульс в выходном направ- лении с единичной задержкой: а) на состояние Tja8, ненаправ- ленное на это состояние; Ь) на U или чувствительные со- стояния при прямом процессе; с) убивает Тда£ или С88, при об- ратном процессе. Убивается путем перевода в U со- стоянием Toaj, направленным на это состояние; убивание домини- рует над восприятием. Чувствительные Sooo Soo So Sq Soi Sio Sil 8 Промежуточные состояния, возни- кающие в прямом процессе. Tua направленное на U, переводит его в Sq. После этого состояние меняется на (а) S^i, если на него направлено некоторое состояние Tuai; (b) S^o в противном случае до тех пор, пока прямой процесс не заканчивается состоянием Tua0 или соо- См. рис. 10. Рис. 9. 29 состояний и правило переходов между ними.
(Т020) soooo (Тооо) SOOO1 (Тою) и (Тозо) (Тюо) (Тцо) (T12q) Рис. 10. По- лу \ следователь- к1130' ность состоя- ний в прямом (с00' процессе. и и ^008 и ^018 d Рис. И. Примеры передающих и конфлюентных состояний. а) Реализация функции f (t 4- 3) = [a (t) 4- b (t -f- 1)]. b) Реализация функции g (t 4- 3) = = [c (t)-d (/)]. с) Преобразование обычных импульсов в специальные с помощью конфлюент- ных состояний и разветвление проводов.
Рис. 12. Иллюстрация прямого процесса. Рисунки 333
Момент О и и и и и Т101 Соо и и и и и Момент 1 ? ? ? ? ? Loo и ? ? ? ? ? (а) (Ь) Момент О Момент 1 Момент 2 Момент 3 (с) Рис. 13. Примеры для обратного процесса. а) Специальное передающее состояние, убивающее Гконфлюентное состояние. Ъ) Специаль- ное и обычное передающие состояния, убивающие друг друга, с) Убивание доминирует, над восприятием, но не над испусканием импульсов. Рисунки 334
Рис, 14. Процедура для изменения состояния удаленной клетки и возвраще- ния конструирующего пути к его первоначальному невозбужденному состоянию. Приводит к рис. 14b Приводит к рис. 14d На г: 10000100001010Ш1000000000001100001 На /: 000000000000000011011110111000000010 Приводит к рис. 14с Приводит к рис. 14е О ->- 0 ->- О 0 О 0 с О с 0 с (а) РС111) Рис. 15. Два импульсатора. Рисунки 335
старое a (b) 2 1 ch (C) и u-\ dh и с (e) Рис. 16. Синтез импульсатора. Рисунки 336
(a) Рис. 17. Два периодических импульсатора. а) Периодический импульсатор РР (10010001). Ь) Периодический импульсатор РР(Т). Рисунки 337
О to 40 0 О О О ♦о ♦О О О О 1 2 ........... l-\l (a) (b) (d) b2 Рис. 18. Синтез периодического импульсатора: первоначальная конструкция. Рисунки 338
~с <1 7 (g) Рис. 18. Продолжение. (к) Рисунки 339
fd) Рис. 19. Синтез периодического импульсатора: выравнивание задержек. Рисунки 340
£ 0 £ Н £ £ и и и и и и 14 Рис. (Г) 19. Продолжение. Рисунки 341
ABC D E F G О О с 2. с О с О с О с О С 1 О О О О О О •О О О 10 ♦о О О О О О о О О О О |О с О с О с О с О с О с чо Рис. 20. Периодический импульсатор РР (1). А В С D Е F уЛ с 0 с 0 c 10 to to с to Ю 0 (0 to 10 10 0 to to 0 ♦0 0 to // to 10 0 ю 0 to 0 10 0 to to Ю 0 to £ to 0 ->- с 0 C 0 c Рис. 21. Декодирующий орган D (10010001). Рисунки 342
(a) Л ^2 ьк Рис. 22. Синтез декодера. Рисунки 343
А В C D E F G H I J Рис. 23. Тройной возвратный счетчик Ф. Рисунки 344
/?| о, о о |tf=c* Рис. 24. Синтез тройного возвратного счетчика Ф Рисунки 345
(с) (d) Рис. 24. Продолжение. Рисунки 346
ABCDEFGHI J Рис. 25. Дискриминатор ¥ для различения последовательностей 1 и 10101 ABCDEFGHI JKLMNOPQRST Рис. 26. Распознаватель R (101001). Рисунки 347
Рис. 27. Кодированный канал. Рисунки 348

/ A Рис. 29. Импульсаторы и декодеры кодированного канала. Рисунки 350
Рис. 30. Цикличность в кодированном канале. Рисунки 351
Рис. 31. Линейный массив L, соединительная петля Q и временная петля С2. Рисунки 352
(b) (d) P и c. 32. Удлинение временной петли Ct. Рисунки
4IJC О О О О. О to Л> хг х , 77-1 to X д+1 О а Я О О 0 (h) P >i c. 33. Удлинение соединительной петли С,. Рисунки 354
1 1 1 1 О О О О О Рис. 34. Укорочение временной петли С2. Рисунки 355
(с) (d) Рис. 35. Укорочение соединительной петли Сь (f) (h) Рисунки 356
(a) (b) (d) Рис. 36. Запись 0 в ячейку линейного массива L при удлинении петли Q* Рисунки 357
Входы и выходы КУ, Рис. 37. Узел ленты с памятью неограниченной емкости (все органы и узлы показаны без соблюдения масштаба). Рисунки 358
о1—> Подать 10101 на aJоргана У. (&=0) Ъ органа Т —ip &=1) с органа Т —io. С+’=0) о2 —> Запустить ао. с+,=1) о3 —> Запустить аР (es+l — 1) о4—> (28'а) —(28'd) (29'а) —(29'd) (Орган а0 активен.) (Орган at активен.) Остановить а0. Остановить 04. (29'е') — (29'h') (29'е)—(29'g) *з (8s+l— 1) os —(3O'a)-(3O'g) (31'a) —(31'с) 1 (Орган a0 активен.) (Орган ocj активен.) Остановить а0. Остановить ар (31'd') (31'd) (ЗГе)-(ЗГЬ) г’з Р^и с. 38> Логическая структура процедуры, выполняемой узлом УУП. Рисунки 359
ИгЗ иг 4 l\-5 ига. , r 0.6 fl ~1»ж — Ila OJO fl ~|>ЖЖ — la 0.14 fl ZiW/Ж — lie 024 й| ^iwzjzwl —|a_ } PP(11O11O) ы - U,-a. VlZ Vt-3 V^4 V.-5 V.-6 0га,- — |e 0.0 J| | — Ig — ;; , — i|a 0.12 fl I джж//1 — |a 0.26 fl I ZiMW1 —* I la 0.27 fl . Z'MZZ* — la 0.31 SI । dzzzzzzzzzzzz I ——= I ! pp(hoooo) fl ♦ ига. Ф^и 0.8 *i 0.12 г>| — 1. ;zzZZZzZzzZzz I —1|& d\ dl *1 cpj-flf—* I la W- c [ |c d l"l ’*— । lb a| — -— l^i \V7777777777777777777A j GGj CSC (a) ci Рис. 39. Блок считывания — записи — стирания (СЗС). а\Верхняя часть блока СЗС. Ь) Нижняя часть^блока^СЗС. ci Рисун ки 360
a C Ic* f Рис. 40. Орган управления (ОУ). а — Вход, запускающий ОУ. Ь — Этот путь проходит через область задержки W и запу- скает периодический импульсатор блока СЗС. Если используется Фь то он ведет к и2-а+ или Если используется Ф2, то он ведет к ui-a+ или Vi-a+. с — К входу (Фх-a или Ф2а) тройного возвратного счетчика блока СЗС. d — С выхода тройного возвратного счет- чика (Ф1«Ь или Ф2-Ь) блока СЗС. е — Для остановки периодического импульсатора блока СЗС. Если используется Фь то сигнал идет на u2 a_ или vz-a-. Если используется Ф2, то сигнал идет на Ux-a- или щ-а_. f — Используется для запуска импульсатора блока СЗС (если потребуется) и либо для запуска следующего органа ОУ, либо для посылки импуль- са на i». Рисунки 361
Входы и выходы КУ сс2 КСЗС сс3 Рис. 41а. Блок контроля считывания — записи — стирания (КСЗС). Органы управления удлинением петли С2 (ОУ^ и ОУ2) и органы управления удлинением нижней части петли Q (ОУ3 и ОУ4). Рисунки 362
Рис. 41b. Блок КСЗС. Показаны периодический импульсатор РР (1), пред- назначенный для запоминания того, что в ячейку хп должен быть записан нуль, и органы управления для записи нуля и удлинения верхней части петли С1е Рисунки 363
Рис. 41с. Блок КСЗС. Показаны периодический импульсатор РР (1), предназ- наченный для запоминания того, что в ячейку хп должна быть записана единица, и органы управления для записи единицы и удлинения верхней части петли Рисунки 364
сс2 КСЗС сс5 Ко входу а блока ОУ-z СС2 КСЗС III III III III III III III Hi Рис. 41d. Блок КСЗС. Органы управления укорочением петли С2 (слева). Рис. 41е. Блок КСЗС. Органы управления и РР (1) для укорочения нижней части петли Ct и записи в ячейку хп (справа). Рисунки 365
сс2 ксзс сс3 Рис. 41f. Блок КСЗС. Органы управления укорочением верхней части пет- ли Ср Рисунки 366
ABCDEFGH (a) (b) P и c. 42. Орган пересечения. а) Орган пересечения, b) Начальное состояние часов. Выход с г и j: 101010. Выход с е и /: 010101. Рисунки 367
P if с. 43. Орган состояния (ОС) конечного автомата (КА)в Ъ — От г3 органа ОУ; означает завершение предыдущего этапа, с — Пусковой импульс от ОС предыдущего этапа, d — С органа ОУ; означает, что в ячейке хп хранится 0. е — От г2 органа ОУ. f — С выхода k. g — От i2 органа ОУ; означает, что в ячейке хп хранится 1. j — К о, органа ОУ для начала считывания содержимого ячейки хп массива L. k — К входу /. I — К входу с органа ОС, используемого на следующем этапе, т — К о2 органа ОУ, если в ячейку хп предстоит записать 0, и к о3 органа ОУ, если в ячейку хп предстоит записать 1. п — К о4 органа ОУ, если петли Сь С2 должны подвергнуться удлинению, и к оБ органа ОУ, если петли Сь С2 должны подвергнуться укорочению, р — К входу с органа ОС, используемого на следующем этапе, q — Ко, органа ОУ, если в ячейку хп предстоит записать 0, и ко, органа ОУ, если в ячейку хп предстоит записать 1. г — К о4 органа ОУ, если петли Сь С2 должны подвергнуться удлинению, и к оБ органа ОУ, если петли Clt С2 должны подвергнуться укорочению. Рисунки 368
(a) (b) D E (c) Рис. 44. Конструирующий рукав. а) Головная часть конструирующего рукава. Ъ) Подача импульсов на головную часть сле- ва. с) Подача импульсов на головную часть справа. а) Начальное состояние Ь) Посылка <= U на $ или s' приводит к с) Посылка U f U =Ф на о или о' приводит к (с) Р и с. 45. Наступление конструирующего ’рукава по горизонтали. Рисунки 369
а) Начальное состояние b) Посылка U f ч— | на о или\о' приводит к с) Посылка U =4 U =Ф на s или s' приводит к А В Р иь 46. Наступление конструирующего рукава по вертикали* Рисунки 370
а) Начальное состояние b) Посылка U jL на о или о' приводит к о1 (а) => 4 ь 1 °5 — t о1 (Ь) С) Посылка U ф= U | на s или s' приводит к d) Посылка U —> U | U6 на”о или о* приводит к (d) е) Посылка U =Ф Uy на s или s' приводит к => г t 3 о1 Рис. 47. Отступление конструирующего рукава по горизонтали и конструи- рование клеток у и 6. Рисунки 371
а) Начальное состояние b) Посылка U IJ | U =ф на о или о' приводит к с) Посылка U ft U Ф= Uy на s пли s' приводит к d) Посылка U f 6 на о пли о приводит к е) Посылка U на s или s' приводит к (а) (Ь) (с; (е) Рис. 48. Отступление конструирующего рукава по вертикали и конструиро- вание клеток у и 6. Рисунки 372
а) Начальное состояние b) Посылка U f на о или о* приводит к с) Импульс, посланный на о или о', дает на е им- пульс, запускающий вторичный автомат d) Посылка U на s или s' приводит к (С) (d) Рис. 49. Посылка пускового импульса во вторичный автомат. Рисунки 373
Рисунки
(a) (b) P u c. 31 Новый метод работы с линейным массивом L. а) Начальное состояние, при котором читающая петля проходит через хп. Ь) Посыл на на v последовательности 10101 приводит к тому, что 1) на w появляется 1, если хп, находится в состоянии U (означающем 0), 2) naw появляется 10101, если хп, находится в состоянии | (означающем 1), 3) хп приводится в состояние |. а) Начальное состояние («) (Ъ) Р и с. 52. Запись 1 в ячейку х;1 и удлинение читающей петли.
(с) (d) Рис. 52. Продолжение. (е) Рисунки
Декодеры: Л В Рис. 53. Статико-динамический конвертор. Рисунки 377
Рисунки Рис. 54. Универсальный конструктор М*.
Phcvhkm
Рисунки 380 Рис. 56. Самовоспроизведение универсального вычислителя-конструктора.
ОГЛАВЛЕНИЕ ОТ РЕДАКТОРА ПЕРЕВОДА............................................ 5 ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ................................... 7 ПРЕДИСЛОВИЕ .................................................... 15 ВВЕДЕНИЕ РЕДАКТОРА Работа фон Неймана в области вычислительных машин............... 20 Фон Нейман и его теория автоматов............................... 37 ЧАСТЬ I ТЕОРИЯ И ОРГАНИЗАЦИЯ СЛОЖНЫХ АВТОМАТОВ Лекция 1. Вычислительные машины................................. 51 Лекция 2. Детерминированная теория управления и информации ... 62 Лекция 3. Статистические теории информации ..................... 77 Лекция 4. Роль высокой и очень высокой сложности ............... 83 Лекция 5. Переоценка проблем сложных автоматов — проблемы иерархии и эволюции ...................................................... 93 ЧАСТЬ II ТЕОРИЯ АВТОМАТОВ: КОНСТРУИРОВАНИЕ, ВОСПРОИЗВЕДЕНИЕ, ОДНОРОДНОСТЬ Глава 1. Общие соображения..................................... 109 Г.1. Введение ................................................. 109 1.2. Роль логики — вопрос (А).................................. 117 1.3. Основные проблемы конструирования — вопрос (В)............ 119 1.4. Общие схемы конструирования — вопрос (В), продолжение .... 128 1.5. Универсальные схемы конструирования — вопрос (С).......... 133 1.6. Самовоспроизведение — вопрос (D).......................... 135 Оглавление 381
1.7. Различные проблемы внешнего конструирования, промежуточные между вопросами (D) и (Е)......................................... 143 1.8. Эволюция — вопрос (Е)....................................... 148 Глава 2. Система из 29 состояний с общим правилом переходов .... 150 2.1. Введение ................................................... 150 2.2. Логические функции — обычные передающие состояния........... 152 2.3. Нейроны — конфлюентные состояния............................ 154 2.4. Функции роста: невозбудимое состояние и специальные передающие состояния........................................................ 157 2.5. Обратный процесс............................................ 150 2.6. Прямой процесс — чувствительные состояния................... 161 2.7. Четные и нечетные задержки.................................. 165 2.8. Резюме ..................................................... 167 Глава 3. Синтез некоторых основных органов....................... 177 3.1. Введение ................................................... 177 3.2. Импульсаторы ............................................... 179 3.3. Декодирующий орган: структура, размеры и временные соотно- шения ............................................................ 196 3.4. Тройной возвратный счетчик.................................. 201 3.5. Дискриминатор для различения последовательностей 1 и 10101: структура, размеры и временные соотношения........................ 209 3.6. Кодированный канал ......................................... 212 Глава 4. Конструкция ленты и системы управления ею............... 223 4.1. Введение ................................................... 223 4.2. Удлинение и укорочение петель Q и С2 и запись в линейный массив 230 4.3. Узел управления памятью..................................... 250 Глава 5. Самовоспроизведение автоматов........................... 275 5.1. Завершение синтеза узла управления памятью.................. 275 5.2. Универсальный конструктор КУ + (УУП 4- L).............. 296 5.3. Выводы...................................................... 312 ЛИТЕРАТУРА ...................................................... 322 рисунки.......................................................... 327 382
ДЖ. ФОН НЕЙМАН ТЕОРИЯ САМОВОСПРОИЗВОДЯЩИХСЯ АВТОМАТОВ Редактор Л. Б. Штейнпресс Художник А. Г. Антонова Художественный редактор В. И. Шаповалов Технический редактор И. К. Д о р в а Корректор М. А. Смирнов Сдано в набор 25/11 1971 г. Подписано к печати 10/VIII 1971 г. Бумага № 1, 60x901/16=12 бум. л. 24 печ. л. Уч.-изд. л. 23,80. Изд. № 1/5154 Цена 1р. 96 к. Зак. 799 ИЗДАТЕЛЬСТВО «МИР» Москва, 1-й Рижский пер., 2 Московская типография № 16 Главполиграфпрома Комитета по печати при Совете Министров СССР. Москва, Трехпрудный пер., 9
«Способность к самовоспроизведению долгое время рассматривалась как одно из наиболее характерных свойств, присущих живым организмам. Фон Нейман был первым ученым, детально рассмотревшим задачу о том, при ка- ких условиях способны к самовоспро- изведению машины, рассчитывая, что решение этой задачи прольет свет как на фундаментальные проблемы био- логии, так и на проблему (интерес к которой стимулируется также и небио- логическими науками), касающуюся потенциальных возможностей автоматов и пределов их возможностей». ЭДВАРД Ф. МУР статья из сборника «Математические проблемы в биологии» «Мир», 1966 «В целом вклад фон Неймана в теорию автоматов, так же как и его вклад в другие разделы математики и другие науки, характеризуется открытием со- вершенно новых областей исследования и прозорливостью в оценке возможно- стей приложений методов современной математики. Исследования в направле- ниях, открытых им для разработки, не будут полностью закончены еще в течение долгих лет. Очень жаль, что часть его замыслов относительно теории автоматов осталась нереализо- ванной». КЛОД ШЕННОН статья из сборника «Работы по теории информации и кибернетике» ИЛ, 1963