Книга
Книга
ОТ РЕДАКТОРА ПЕРЕВОДА
В сентябре 1962 г. на Международном симпозиуме по теории релейных устройств и конечных автоматов канадский профессор Г. Глинский сказал по поводу статьи Дж. фон Неймана «Вероятностная логика и синтез надежных организмов из ненадежных компонент»: -
«Есть одна опасность в обращении с классическими работами. Кажется, что на них все ссылаются, но редко кто их действительно читает. Это приводит ко всевозможным недоразумениям. В случае статьи фон Неймана эти недоразумения еще более усугубляются его трудной манерой изложения».
Сказанное в полной мере можно отнести к предлагаемой вниманию советского читателя книге Дж. фон Неймана «Теория самовоспро- изводящихся автоматов». В течение почти 10 лет многие авторы ссылались на результаты, полученные фон Нейманом в области моделей самовоспроизведения, зная об этом в лучшем случае по упоминанию об этих результатах в работах А. Бёркса и К. Шеннона.
А. Бёркс, редактор этой книги, не только подготовил к печати черновые записи Дж. фон Неймана, но и закончил его работу, завершив конструкцию самовоспроизводящегося автомата и придав книге законченный вид. В связи с этим мне хочется процитировать профессора Честера Ли: «Громадная работа по расшифровке рукописи и выяснению скрытых мотивов, которыми руководствовался один из наиболее блестящих и оригинальных умов, была предпринята профессором Бёрксом из Мичиганского университета. Он не только отредактировал рукопись, но и внес в нее много собственных идей и в то же время прояснил тот лабиринт отрывочных рассуждений, который характерен для рукописи Дж. фон Неймана. Все, кто работают в области клеточных автоматов, глубоко обязаны профессору Бёрксу за его неутомимые усилия в завершении рукописи и за его старания сделать труд Дж. фон Неймана по-настоящему понятным и доступным».
Артур Бёркс является одним из ведущих специалистов в области теории логических сетей и конечных автоматов. Опубликованная им совместно с Дж. Райтом в 1953 г. статья «Теория логических сетей» (переведена на русский язык в 1962 г., Кибернетический сборник, вып. 4) явилась одной из первых работ, сформировавших современную теорию автоматов.
Научные интересы Бёркса очень широки — от формальной логики и теории автоматов до проектирования вычислительных машин, включая вопросы построения адаптивных систем, организацию взаимодействия вычислительных машин, моделирование естественных систем. С 1967 г. он возглавляет факультет вычислительной техники и теории связи Мичиганского университета.
В течение многих лет А. Бёркс был одним из ближайших сотрудников Дж. фон Неймана, поэтому трудно представить себе более подходящую кандидатуру для завершения работы, начатой Дж. фон Нейманом. Огромный труд, проделанный Бёрксом, позволяет считать его соавтором книги.
Специально для русского издания А. Бёркс написал предисловие и прислал ряд исправлений. Мы весьма признательны ему за эту любезность.
Содержания самой книги и идей, лежащих в основе ее построения, мы не касаемся, отсылая читателей к введению.
ЛенинградЛенинградВ. ВАРШАВСКИЙ
Ленинград
Ленинград
ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ
В настоящей книге поставлен и решен отнюдь не очевидный вопрос о том, какого рода логическая организация достаточна для того, чтобы некоторый автомат был способен воспроизводить себя. Этот вопрос объединяет понятия из различных областей: биохимии, техники, логики. Он очень важен для нового (возникшего примерно в 1948 г.) направления — теории автоматов, или кибернетики. Главными создателями этого направления были Джон фон Нейман и Норберт Винер. Хотя они и находились под взаимным влиянием, но все же их подходы и интересы были различными. Фон Нейман назвал свой вариант «теорией автоматов», а Винер — «кибернетикой».
Теория автоматов — это наука об основных принципах, общих для искусственных автоматов (цифровые вычислительные машины, аналоговые вычислительные машины, управляющие системы) и естественных автоматов (нервная система человека, самовоспроизводя- щиеся клетки, организмы в эволюционном аспекте). Я изложил концепцию фон Неймана во второй части моего введения к настоящей книге и показал там, каким образом возникает логическая проблема самовоспроизведения.
В планы фон Неймана входило создать систематическую теорию, математическую и логическую по форме, которая упорядочила бы понятия и принципы, касающиеся структуры и организации естественных и искусственных систем, роли языка и информации в таких системах, программирования и управления такими системами. Теория автоматов лежит на стыке разных дисциплин, объединяет различные подходы (с точки зрения логики, теории связи, физиологии), но в конце концов ей предстоит стать отдельной самостоятельной дисциплиной.
Так как кибернетика Винера уже хорошо известна в Советском Союзе, то здесь уместно будет остановиться на ее связи с теорией автоматов. В кибернетике основное значение придается следящим
системам и непрерывной математике (анализу), а в теории автоматов основную роль играют цифровые вычислительные машины и дискретная математика (комбинаторика и логика). Это отличие касается, однако, только подходов и акцентов. Винер^ понимал важность цифровых вычислительных машин для кибернетики, а фон Нейман хотел расширить сферу теории автоматов, чтобы включить в нее непрерывные механизмы. Он предполагал построить непрерывную модель самовоспроизведения, основанную на нелинейных дифференциальных уравнениях в частных производных, описывающих диффузионные процессы в жидкости. В этой связи интересно отметить, что фон Нейман получил не только математическое образование, но и подготовку инженера-химика.
Винер подчеркивал роль понятия обратной связи, поскольку понимал его важность как для управления, так и для целенаправленного поведения. Фон Нейман сравнительно мало говорит об обратной связи, но фактически использует это понятие в большей части того, что им сделано. Все вычислительные машины, кроме разве самых примитивных, имеют обратную связь: она проявляется как наличие схемных циклов в неизменяемой части машины и как ветвления и условные инструкции в ее перестраиваемой части.
И кибернетику, и теорию автоматов вызвал к жизни технический прогресс, главным образом успехи, достигнутые в области электронных цифровых машин. Практические последствия этого американского изобретения хорошо известны, но о его влиянии на теорию говорилось мало. Я имел счастье лично участвовать в создании вычислительных машин как в практическом, так и теоретическом планах, благодаря чему мог наблюдать, как техника стимулировала развитие теории. Я был одним из главных конструкторов машины ENIAC — первой электронной вычислительной машины. Позже я сотрудничал с фон Нейманом и другими при разработке машины EDVAC, а потом работал с ним же над схемой вычислительной машины Института перспективных исследований.
Основываясь на этом своем опыте, я попытался во введении показать, как практическая работа фон Неймана с вычислительными машинами послужила основой для его теоретических исследований.
Что такое самовоспроизведение в какой-нибудь естественной системе, такой, как живая клетка, всем понятно. Этот вопрос в последнее время интенсивно изучали биологи, биохимики и генетики и получили замечательные, далеко идущие результаты. Разговор о самовоспроизведении искусственной системы, такой, как цифровая вычислительная машина, или даже о «логике» самовоспроизведения на первый взгляд кажется странным. В самом деле, между проблемой понимания самовоспроизведения естественной системы на генетическом и биохимическом уровнях и логической, автоматно-теоретической проблемой самовоспроизведения, сформулированной
фон Нейманом, существует глубокое различие. Я сейчас постараюсь показать, что это различие не столь велико, как кажется. Для этого я сделаю краткий обзор основных результатов части I («Теория и организация сложных автоматов») и части II («Теория автоматов: конструирование, воспроизведение, однородность») настоящей книги.
Рассмотрим идеализированную синхронную цифровую вычислительную машину, сконструированную только из переключательных элементов (например, «и», «или» и «нет») и линий задержек (задерживающих импульсы на 1 единицу времени). Такая вычислительная машина представляет собой конечный автомат, имеющий конечное число частей и конечное число состояний. Входом пусть служит узел ленты, который, получая соответствующую команду от вычислительной машины, перемещает свою ленту на ячейку вперед и который может считывать для вычислительной машины содержимое просматриваемой ячейки. Аналогично выходом пусть будет другой узел ленты, способный производить записи в ячейку своей ленты и перемещать эту ленту вперед, получая соответствующий сигнал от вычислительной машины.
Таким образом, у нас получился конечный автомат с входным и выходным узлами ленты. Такой конечный автомат можно превратить в машину Тьюринга, присоединив к нему третий узел ленты, способный перемещать ленту в обоих направлениях, считывать с ленты и записывать на нее. На основе подходящего конечного автомата, от которого не требуется слишком большая сложность, мы получили универсальную вычислительную машину, способную осуществить любое вычисление, которое можно выполнить на какой-то вычислительной машине. Любая неспециализированная вычислительная машина, снабженная достаточным количеством ленты, представляет собой универсальную вычислительную машину.
Имея достаточные сведения о биохимии процесса самовоспроизведения клетки, можно было бы промоделировать его на универсальной вычислительной машине. Хотя наука близка к тому, чтобы осуществить реальное моделирование самовоспроизведения, она еще не вполне готова к этому и, безусловно, была далеко от этой цели в 1948 г. Так или иначе, фон Нейман всегда старался использовать идеи, возникшие в биологии, для обогащения теории автоматов.
В классе описанных выше идеализированных вычислительных машин центральная вычислительная машина, т. е. конечный автомат, синтезировалась из частей, чего нельзя сказать о входном и выходном узлах ленты, а также об узле ленты, предназначенном для запоминания. Более того, внешняя среда для этой машины никак не была представлена. Кинематическая модель самовоспроизведения, принадлежащая фон Нейману, должна была явиться элементом теории автоматов этого рода. Эта модель занимает центральное место в части I настоящей книги
Фон Нейман вначале рассматривал два типа основных элементов автомата, о которых мы уже говорили. Это переключательные элементы и линии задержки. Затем он ввел еще пять типов основных элементов: элемент, способный к восприятию (например, способный видеть или чувствовать); элемент, осуществляющий действие (например, искусственная рука); элемент, способный разделять другие элементы; элемент, способный соединять предметы; и, наконец, стержень, позволяющий построить жесткий каркас для ансамблей элементов.
В принципе из всех этих элементов можно построить автомат, способный не только вычислять, но и воспринимать, действовать, перемещать, отделять предметы друг от друга и конструировать другие автоматы. Внешнюю среду для этих идеализированных кинематических автоматов можно представлять себе в виде безбрежного океана, по поверхности которого плавает неограниченное число экземпляров основных элементов каждого типа. Это переключательные элементы, чувствительные органы, органы действия, разделяющие органы, объединяющие органы и стержни — все они совершают случайное движение, как молекулы газа. Таким образом, каждый автомат, помещенный на поверхность этого океана, снабжается частями в неограниченном количестве.
Весь процесс кинематического самовоспроизведения осуществляется следующим образом. Вообразите, что на поверхности нашего океана плавает кинематический автомат, представляющий собой конечный автомат Ми, соединенный с лентой Т. Основу этой ленты составляет зигзагообразная цепочка из стержней, причем в каждом пересечении можно поместить еще один стержень, символизирующий 1; отсутствие такого стержня будет символизировать 0 (см. рис. 2) г). Конечный автомат Ми обладает возможностями конечной части универсальной вычислительной машины — он может управлять лентой Т и интерпретировать произвольную вычислительную программу, хранящуюся на этой ленте. Кроме того, автомат Ми имеет воспринимающие, действующие, объединяющие и разделяющие органы, соединенные между собой так. что он может подбирать стержни с поверхности океана и использовать их для изменения хранящейся на ленте информации и для неограниченного удлинения этой ленты. Поэтому комплекс, состоящий из автомата Ми и ленты Т, является универсальной вычислительной машиной.
В этом мире кинематических автоматов универсальная конструирующая машина обобщает универсальную вычислительную машину. Любая конечная машина М составлена из конечного числа основных элементов, соединенных определенным образом, и поэтому ее можно полностью охарактеризовать конечным описанием ^ (М), которое
*) Все рисунки собраны в конце книги.
можно представить на ленте. Пусть Мс — конечная часть универсальной конструирующей машины. Конструктор Мс обладает возможностями трех типов. Во-первых, он может сделать все, что может сделать универсальная вычислительная машина Мц. Во-вторых, может сконструировать любую конечную машину М, если ему дано полное ее описание <^ (711). Чтобы выполнить такое конструирование, Мс прочитывает описание <S (711), находит и собирает части, необходимые для М, и соединяет их между собой в соответствии с планом 3 (MY В-третьих, он может скопировать 3 (М) на новой ленте и присоединить эту ленту к М.
Пусть узел, который мы хотим сконструировать, состоит из произвольной машины М и присоединенной к ней ленты, содержащей 3 (М). Универсальный конструктор при условии, что на его ленте находится описание 3 (М), действует следующим образом. Сначала Мс считывает 3 (711), подбирает необходимые для М части и соединяет их между собой в соответствии с планом 3 (711). Затем Мс изготавливает копию ленты 3 (711). Таким образом, универсальный конструктор, отправляясь от описания 3 (М) и имея соответствующее снабжение частями, конструирует машину М с лентой 3 (7И). Общая схема этого конструирования такова:
Мс с лентой 3 (Л!) конструирует М с лентой 3 (711).
Заметим, что конструируемая машина содержит свое собственное описание. Чтобы получить самовоспроизведение как частный случай этой общей схемы, заменим М в (1) на Мс и тогда получим:
Мс с лентой 3 (М^ конструирует Мс с лентой 3 (7ИС).
При выполнении (2) универсальный конструктор Л1С сначала считывает описание 3 (711с), подбирает части, необходимые для 7ИС, и соединяет их в соответствии с планом 3 (М^. Затем Мс изготавливает копию ленты 3 (Мс) и присоединяет ее к Мс. Универсальный конструктор делает все это, не зная, что изготавливается его копия и копируется его описание. Тем не менее весь процесс начинается с одного экземпляра Мс с лентой 3 (7ИС), а оканчивается двумя экземплярами этого комплекса. Это и есть самовоспроизведение. (Подобные схемы обсуждаются в лекции 5 части I и в гл. 5 части II и иллюстрируются на рис. 50, 54, 55 и 56.)
«Блок-схемное» описание самовоспроизведения автоматов изложено здесь в общих чертах. Но даже при таком изложении видна аналогия между самовоспроизведением автоматов и процессом самовоспроизведения живой клетки. Лента Т с описанием 3 (М) аналогична несущим генетическую информацию цепям дезоксирибонуклеиновой кислоты (ДНК) в клеточном ядре. Операция копирования ленты 3 (М) аналогична репликации ДНК, которая осуществляется под контролем фермента ДНК-полимеразы. Наконец, конструирование автомата М на основе информации 3 (М) аналогично конструированию новой клетки.
Специалисты по молекулярной биологии в настоящее время пытаются проследить логику этого процесса конструирования. Этот процесс осуществляется при участии системы из информационной рибонуклеиновой кислоты, транспортной рибонуклеиновой кислоты, ферментов и рибосом. Эта система производит сборку аминокислот согласно коду ДНК, в результате чего образуются белки (в том числе ферменты), которые направляют конструирование новой клетки.
Мы очертили пока лишь общую схему для самовоспроизведения автомата. Следующая задача фон Неймана состояла в том. чтобы довести эту общую схему до детальной логической конструкции. Чтобы сделать это, надо полностью описать возможности каждого элемента и правила работы этих элементов при взаимодействии друг с другом внутри машины и при взаимодействии машины с окружающей средой.
Рассмотрим в качестве примера конструирующий автомат. Он использует кинематические, разделяющие и объединяющие элементы для перемещения и работы с другими элементами. Каким образом конструирующий автомат находит эти элементы и обнаруживает те кинематические, разделяющие и объединяющие элементы, с которыми предстоит работать? Он мог бы сделать это с помощью самих кинематических, разделяющих и объединяющих элементов, если бы они сами обладали способностью к восприятию. Или он мог бы это сделать с помощью воспринимающих элементов, если бы смог координировать работу воспринимающего и кинематического (разделяющего или объединяющего) элементов.
Дать полный и точный список правил для кинематической системы, которые были бы в то же время простыми и прозрачными, довольно трудно. Кроме того, вряд ли кинематические, или двигательные, возможности этой системы дадут сами по себе что-нибудь ценное. С одной стороны, эти кинематические черты модели слишком далеки от химии, физики и механики, чтобы представить большой интерес сами по себе, а с другой стороны, они слишком далеки от проблем организации, управления и логики, чтобы продвинуть наше понимание этих проблем. Таким образом, двигательные возможности кинематической системы являются лишь источником сложностей, которые в настоящем контексте не оправдывают затрат, и поэтому их лучше исключить.
Представление о клеточном автомате как раз устраняет эти сложности. Фон Нейман положил его в основу своей разработки логических деталей самовоспроизведения автоматов. Часть II настоящей книги посвящена этой проблеме. Клеточный автомат состоит из неограниченно итерированного, или мозаичного, массива конечных автоматов, каждый из которых взаимодействует со своими соседями. Он представляет собой, таким образом, основные рамки, или «пространство», в которых происходят события, связанные с функционированием автомата, и для которых мы можем сформулировать точные
и простые правила, или законы. Я имел возможность обсуждать проблемы клеточных автоматов в Москве в 1962 г., будучи гостем Академии наук СССР. Моя статья «Клеточные автоматы» была опубликована в сборнике «Теория конечных и вероятностных автоматов» (под редакцией М. А. Гаврилова, изд-во «Наука», М., 1965).
Существует много различных типов клеточных автоматов. Можно по-разному задавать геометрию клеточного пространства, отношения соседства, типы автоматов, законы переходов для системы, начальное состояние системы. Фон Нейман рассматривает эти возможности в гл. 1 части II и принимает решение использовать однородный двумерный массив («шахматную доску»), в котором каждый конечный автомат имеет 29 состояний. В гл. 2 он определяет правило переходов. В гл. 3 и 4 осуществляет ряд главных этапов конструирования. Здесь оригинальная рукопись фон Неймана обрывается. В;гл. 5 я показываю, как завершить конструирование.
Основной результат работы состоит в том, что из нее следует, что на этой системе клеток с 29 состояниями можно смоделировать универсальные конструирующие машины, универсальные вычислительные машины и самовоспроизводящиеся машины.
В случае самовоспроизведения конечное число клеток с самого начала организуется так, чтобы составить универсальный конструирующий автомат Мс. Его описание <3? (М^ представляется в конечном линейном массиве клеток, выполняющем роль ленты, а остальная часть клеточной системы (окружающая среда) остается в пассивном, неорганизованном состоянии. Когда машина Мс активизируется, она работает и как вычислительная машина, и как конструктор, посылая в клеточное пространство информацию, позволяющую организовать в другой конечной части пространства копию машины Мс и ленты 2D (Мс). Таким образом, исходная конечная организация этой системы воспроизводит себя.
Настоящая книга открывает новый раздел в теории автоматов — общее исследование клеточных автоматов. В книге в основном разбирается одна частная система клеточного автомата, введенная фон Нейманом для исследования некоторых организационных и программных аспектов самовоспроизведения. Однако понятие клеточного автомата очень широко, оно допускает ряд существенных отклонений от системы фон Неймана. Можно менять геометрию пространства и отношения соседства; можно вместо детерминированных правил переходов рассматривать недетерминированные и вероятностные правила, можно задать неоднородные отношения соседства и функции переходов. Таким образом, понятие клеточной системы автомата весьма плодотворно. Его существенными чертами являются квантованные время и пространство, конечное число возможных состояний для каждой точки пространства-времени и вычислимая локальная функция переходов (не обязательно детерминированная
или однородная по всему пространству), управляющая работой системы во времени.
В рамках клеточных представлений можно с успехом аппроксимировать и смоделировать много естественных систем. При решении дифференциальных уравнений в частных производных, описывающих колебание мембраны, распространение тепла или диффузионные процессы, уже довольно давно пользуются дискретной решеткой, а так как законы в этих случаях носят локальный характер, то это приводит к использованию клеточного пространства, причем функция переходов выражается разностным аналогом этих дифференциальных уравнений. При моделировании нейронных сетей и информационных процессов в сердечной ткани применялись неоднородные клеточные автоматы, и я думаю, что клеточные автоматы будут достаточно полезны для моделирования эволюционных систем.
Работа фон Неймана вдохновила многих на изучение клеточных автоматов. В ближайшее время выйдет моя книга, в которую войдут некоторые опубликованные и неопубликованные результаты в этой области.
Али-Арбор, Мичиган АРТУР В. БЁРКС
ПРЕДИСЛОВИЕ
В конце сороковых годов Джон фон Нейман начал создавать теорию автоматов. Он хотел построить систематическую теорию, которая была бы логико-математической по форме и позволяла понять как естественные системы (естественные автоматы), так и аналоговые и цифровые вычислительные машины (искусственные автоматы). Для этого он написал пять работ:
«Общая и логическая теория автоматов». Доклад, прочитанный в сентябре 1948 г. в Калифорнийском технологическом институте на симпозиуме по механизмам мозга в поведении; опубликован в 1951 г. См. Нейман [4].
«Теория и организация сложных автоматов». Пять лекций, прочитанных в Иллинойсском университете в декабре 1949 г. Они составляют часть I настоящей книги.
«Вероятностная логика и синтез надежных организмов из ненадежных компонент». Лекции, прочитанные в Калифорнийском технологическом институте в январе 1952 г. См. Нейман 17].
«Теория автоматов: конструирование, воспроизведение, однородность». Фон Нейман начал эту рукопись осенью 1952 г. и работал над ней около года. Она составляет часть II настоящей книги.
«Вычислительная машина и мозг». Написана в течение 1955 и 1956 гг., опубликована в 1958 г. См. Нейман 12].
Вторая и четвертая из перечисленных работ так и остались в виде рукописей, нуждающихся в основательном редактировании. Эти работы составляют две части настоящей книги, которая, таким образом, завершает цикл работ фон Неймана по теории автоматов. При подготовке к такой редакционной работе я изучил все, что было сделано фон Нейманом по вычислительным машинам, включая теорию автоматов. Обзор его результатов содержится во введении к настоящей книге.
Для фон Неймана особый интерес представляли достаточно сложные автоматы, такие, как нервная система человека, и необычайно большие вычислительные машины, появление которых он предвидел. Он хотел создать теорию логической организации сложных систем вычислительных элементов и считал, что такая теория совершенно необходима для создания очень больших вычислительных машин. Фон Нейман сосредоточил основные свои усилия на двух проблемах теории автоматов, тесно связанных со сложностью: на проблемах надежности и самовоспроизведения. Надежность компонентов ограничивает сложность автомата, который мы можем построить, а свойство самовоспроизведения требует достаточно высокого уровня сложности автомата.
Проблему надежности фон Нейман детально обсуждает в третьей из перечисленных работ, а исследования по самовоспроизводящимся автоматам представлены главным образом в настоящей книге. Часть II, составляющая основной объем книги, содержит логический синтез самовоспроизводящегося клеточного автомата; более короткая часть I посвящена общим проблемам сложных автоматов, ее центральный пункт — кинематическая модель самовоспроизведения (лекция 5). Поэтому выбор заголовка «Теория самовоспроизводя- щихся автоматов» для книги в целом кажется правильным.
К сожалению, преждевременная кончина не позволила фон Нейману придать законченную форму этим исследованиям. Рукописи обеих частей книги остались недописанными: они представляют собой лишь первые, черновые наброски. Но это компенсируется тем, что они позволяют увидеть могучий ум фон Неймана в процессе работы.Поэтому я приложил все усилия к тому, чтобы сохранить первоначальный дух рукописи и в то же время сделать книгу достаточно легко читаемой. Чтобы стало ясно, что представляли собой «сырые» рукописи, я расскажу о них и отмечу редакторские изменения.
Фон Нейман договорился написать книгу по теории автоматов на основе пяти лекций, прочитанных им в Иллинойсском университете в декабре 1949 г. В помощь ему была сделана магнитофонная запись этих лекций. К сожалению, запись и ее машинописная копия оказались плохими — с пропущенными словами и фразами, с неразборчивыми местами. Сам фон Нейман никогда не редактировал эту машинописную копию, а вместо этого предполагал использовать для обещанной книги рукопись четвертой из перечисленных работ. Магнитофонная запись его лекций не сохранилась. Несмотря на все это, лекции в Иллинойсе заслуживают опубликования, и сохранившийся их вариант, по необходимости сильно отредактированный, составляет часть I настоящей книги. Фон Нейман заранее пригото вил подробный конспект лекций, и они в основном соответствовали этому конспекту. Он был озаглавлен «Теория и организация сложных автоматов» и начинался следующими тремя тезисами:
Логическая организация и недостатки быстродействующих цифровых вычислительных машин.
Сравнение тех или иных сложных автоматов (как искусственных, так и естественных).
Вывод из сравнения нервных систем, встречающихся в природе.
Затем идут заголовки к каждой из лекций вместе с перечнями вопросов, которые предполагалось рассмотреть на лекции. Они без всякого изменения воспроизведены в настоящей книге перед началом каждой лекции, хотя содержание лекций не соответствует в точности этим перечням.
Состояние рукописи потребовало большой редакторской работы. Машинописная копия магнитофонной записи особенно бедна в наиболее формальных местах лекций, где фон Нейман пользовался доской. Для этих мест в особенности оказались полезными два комплекта записей, сделанных на лекциях. Там, где это было возможно, я сохранил фразеологию фон Неймана, но я часто оказывался перед необходимостью использовать собственный язык. В ряде случаев мне показалось лучше кратко суммировать то, что говорил фон Нейман, чем пытаться реконструировать текст. Некоторые идеи, высказанные фон Нейманом на лекциях в Иллинойсе, известны также по его опубликованным работам или просто хорошо известны. В таких случаях я часто кратко излагаю основную мысль, высказанную фон Нейманом, или даю ссылки на его опубликованные работы. Мои замечания взяты в скобки. Восстановленный вариант слов фон Неймана в скобки не заключался, однако следует иметь в виду, что большая часть текста без скобок подверглась основательному редактированию.
Рукопись «Теория автоматов: конструирование, воспроизведение, однородность» находилась в несравненно лучшем состоянии. Это был, по-видимому, первый вариант работы, если не считать сделанного ранее наброска (с рисунками) процедуры, посредством которой узел управления памятью (УУП) удлиняет и укорачивает соединительную петлю Cj и временную петлю С2 в соответствии с инструкцией, поступающей из конструирующего узла (КУ) (см. разд. 4.1 и 4.2). Несмотря на то что рукопись была лишь черновым вариантом работы, ее вполне можно было бы опубликовать без изменений, если бы не недостатки следующих трех типов.
В рукописи не хватало многих из тех простых деталей, которые облегчают чтение. Не было подписей под рисунками. При ссылке на формулы, разделы, рисунки давался просто номер и не указывалось, к чему он относится — к формуле, разделу или рисунку. Заголовки разделов были написаны на отдельном листе. Также на отдельном листе были краткие пояснения, касающиеся подстрочных примечаний, которые фон Нейман собирался дать. Части автомата в тексте обозначались просто какими-нибудь буквами: напри-
мер, А и В вместо моих КУ и УУП. Я проработал рукопись несколько раз и каждый раз удивлялся тому, как при таком малом наборе мнемонических средств фон Нейман мог следить за тем, что он делал.
Я снабдил рисунки подписями и закончил подстрочные примечания. Замечания, которые фон Нейман поместил прямо на рисунках, я перенес в текст. Были произведены и другие изменения, но в тексте они никак не выделены.
Наконец, я вставил свои примечания, комментарии, пояснения и ^резюме и добавил заключительную главу (гл. 5). Все такие добавления взяты в квадратные скобки. Квадратные скобки, которые употреблял фон Нейман, всюду заменены фигурными, за исключением символов [0] и [1]. Кроме того, я добавил табл. I и V, а также несколько рисунков. Рисунки 1—8, 16, 18, 19, 22, 24, 28—36, 38, 39 и 41 принадлежат фон Нейману, остальные сделаны мною.
В рукописи было много ошибок: незначительные оговорки, исправленные мною без специальных замечаний, ошибки, исправленные и прокомментированные в квадратных скобках, и серьезные ошибки, требующие значительной переделки конструкции (их я обсуждаю в разд. 5.1.1 и 5.2.2). Все эти ошибки вполне поправимы, но так как органы автомата, сконструированные в начальных разделах рукописи, используются в дальнейшем, то многие из этих ошибок распространяются и «усиливаются». В этой связи следует помнить, что рукопись была лишь черновым наброском и фон Нейман разрабатывал конструкцию автомата в процессе работы над ней, оставляя многие ее параметры для дальнейшей детализации.
Рукопись недописана. Конструирование автомата доведено в ней до той фазы, когда еще не полностью закончен блок ленты. В гл. 5 я показываю, как можно завершить эту конструкцию само- воспроизводящегося автомата фон Неймана.
Техническое улучшение рукописи фон Неймана — дело чрезвычайно сложное и запутанное. Перечисленные недостатки еще больше увеличивают его сложность. Мне легче было бы не редактировать некоторые части рукописи (после гл. 2), а самому построить самовос- производящийся автомат фон Неймана на основе его последних исследований. Но такой путь не реален, так как рукопись имеет большое историческое значение и позволяет увидеть мощный интеллект в процессе работы. Поэтому я старался давать исправления и пояснения так, чтобы сохранить первоначальный стиль рукописи и в то же время сделать ее относительно легко читаемой.
Я благодарен многим людям за их помощь. Покойная г-жа Клара фон Нейман-Экарт предоставила мне информацию о рукописях мужа. От нескольких человек, работавших с фон Нейманом в области вычислительных машин, я получил сведения из первых рук. Это Абрахам Тауб, Герман Голдстайн, покойная Адель Голдстайн и в особенности Джулиан Бигелоу и Стэн Улам. И с Бигелоу и с Ула-
мом фон Нейман часто обсуждал свои работы по теории автоматов, Джон Кемени, Пирс Кетчам, Е. Ф. Мур и Клод Шеннон либо слушали лекции фон Неймана по теории автоматов, либо беседовали с ним на эту тему. Письмо Курта Гёделя в конце лекции 2 части I приводится с его любезного разрешения. Я благодарен многим из моих аспирантов и коллег за техническую помощь, в особенности Майклу Файмену, Джону Ханну, Джеймсу Тетчеру, Стефену Хедет- найми, Фридриху Зуппе и Ричарду Лэингу. Алиса Финней, Карен Брандт, Энн Джекобс и Алиса Р. Бёркс обеспечили редакторскую помощь, а Элизабет Брандт сделала рисунки. Мою редакторскую работу поддерживал Национальный научный фонд. Никто из упомянутых лиц не несет ответственности за эту работу.
Анн-Арбор АРТУР В. БЁРКС
ВВЕДЕНИЕРАБОТА ФОН НЕЙМАНА В ОБЛАСТИ
ВЫЧИСЛИТЕЛЬНЫХ МАШИН
РЕДАКТОРАДжон фон Нейман родился в Буда
пеште 28 декабря 1903 г. и умер в Вашингтоне 8 февраля 1957 г. (см. У лам [3]). Он получил степень доктора математических наук в Будапештском университете и диплом химика в Швейцарской высшей технической школе в Цюрихе. В 1927 г. он становится приват-доцентом Берлинского университета, а в 1929 г. приват-доцентом университета в Гамбурге. В 1930 г. приезжает в Соединенные Штаты Америки в качестве приглашенного лектора в Принстонский университет, где получает звание профессора в 1931 г. В 1933 г. начинает сотрудничать как профессор во вновь организованном Институте перспективных исследований и занимает эту должность до конца своих дней 1).
В последние годы своей жизни фон Нейман, не ослабляя внимания к вопросам теории, проявил особый интерес к приложениям математики в различных областях науки и практики. Во время второй мировой войны он принимал активное участие в научных исследованиях, связанных с обороной. Он сыграл большую роль при создании атомной бомбы, сделав основной вклад в развитие метода обеспечения взрывобезопасности. Он консультировал многие правительственные лаборатории и организации и был членом ряда важнейших комитетов по научным рекомендациям. Эту деятельность он продолжал и после войны. Кроме того, он работал в таких областях, как артиллерия, приемы ведения подводной войны, цели для бомбометания, ядерное оружие (включая водородную бомбу), военная стратегия, предсказание погоды, межконтинентальные баллистические ракеты, быстродействующие электронные цифровые вычислительные машины и методы вычислений. В октябре 1954 г. президент Соединенных Штатов назначил его членом Комиссии по атомной энергии; этот пост фон Нейман занимал вплоть до последних дней. Он был удостоен ряда степеней и почетных званий. Он был членом Национальной Академии наук США, получил две правительственные награды и медаль имени Энрико Ферми от Комиссии по атомной энергии. Эта медаль была вручена ему за тот вклад, который он внес в развитие электронных вычислительных машин и методов их применения.
*) См. Нейман [1]. Превосходный обзор работ фон Неймана содержится в Bull. Amer. Math. Soc., 64, № 3 (1958).
Фон Нейман как математик. В последние годы своей жизни фон Нейман немало сделал для развития теории автоматов. Настоящая книга, изданная на основе двух его неоконченных рукописей, является последней работой фон Неймана в этом направлении. Ранняя смерть не дала ему возможности закончить труд, который бы содержал полную картину того, что он собирался сделать. Поэтому мне кажется уместным кратко обрисовать здесь основные черты теории автоматов, которую хотел построить фон Нейман. Так как его представление о теории автоматов возникло из его работ по математике и вычислительным машинам, то начну с описания этих работ.
Фон Нейман был очень крупным математиком и внес существенный вклад в различных областях этой науки. Сам фон Нейман считал, что наиболее крупные математические результаты получены им в трех направлениях — математические основания квантовой теории, теория операторов и эргодическая теория. Его достижения в других областях более непосредственно связаны с его работой по вычислительным машинам. В конце 20-х годов он работал над символической логикой, теорией множеств, аксиоматикой, теорией доказательства; в середине 30-х годов — над теорией структур, дифференциальной геометрией, булевой алгеброй. В известной статье 1928 г. и в книге 1944 г. он основал современную теорию игр (см. Моргенштерн, Нейман [1]). Начиная с конца 30-х годов, в течение войны и после ее окончания он провел много исследований по гидродинамике, динамике, проблемам механики непрерывных сред, возникающим из задач ядерной техники и метеорологии. Во время войны он начал заниматься теорией вычислений и вычислительными машинами, и после войны именно это стало основным направлением его исследований.
Фон Нейман и теория вычислений. К теории вычислений фон Неймана привели его исследования по гидродинамике. Гидродинамические явления описываются нелинейными уравнениями в частных производных. Фон Нейман заинтересовался в особенности вопросами гидродинамической турбулентности и взаимодействия ударных волн. Вскоре он обнаружил, что существующие аналитические методы не годятся даже для получения качественной информации о решениях нелинейных уравнений в частных производных, возникающих в гидродинамике. Более того, это же можно сказать и о произвольных нелинейных дифференциальных уравнениях в частных производных.
Выход из такого положения фон Нейман видел в численном решении задач (см. Улам [3, стр. 7—8, 28] и Биркгоф [1, стр. 5, 25]). В годы войны он убедился в том, что численное решение необходимо и в других областях, в том числе в ядерной технике. Поэтому, когда во время войны и после ее окончания стали появляться новые универсальные быстродействующие цифровые вычислительные маши-
ны, он быстро оценил их возможности для гидродинамики, равно как и для других областей. В этой связи он разработал общую методику использования вычислительных машин, очень важную, так как ее можно применить для широкого круга проблем чистой и прикладной математики.
Он первый предложил и содействовал распространению подхода, состоящего в решении с помощью вычислительной машины задачи для критических случаев и использовании затем результатов для эвристического развития теории. Фон Нейман верил в то, что экспериментирование и численный анализ покажут наличие физической или математической регулярности в явлениях динамики жидкостей и важных статистических свойств семейств решений соответствующих нелинейных уравнений в частных производных. Эти регулярности и общие свойства могли бы стать основой для новой гидродинамической теории и связанных с ней нелинейных уравнений. Фон Нейман полагал, что, решая много различных конкретных уравнений, можно выявить эти регулярности и общие свойства. На частных случаях можно прочувствовать такие явления, как турбулентность и ударные волны, а с такой качественной ориентацией можно выбрать для численного решения другие критические варианты и в конце концов развить удовлетворительную теорию (см. по этому вопросу лекцию 1 части I настоящей книги).
Этот характерный метод использования вычислительной машины настолько важен и имеет так много общего с другими, на первый взгляд отличными от него методами, что он заслуживает подробного обсуждения. Сущность этого метода в том, что поиск решения на вычислительной машине не является самоцелью, а ведется для того, чтобы выявить удобные понятия, широко приложимые принципы и построить общую теорию. Поэтому его можно назвать эвристическим методом использования вычислительной машины (см. У лам [1, гл. 8]).
Такой эвристический метод использования вычислительной машины очень похож на традиционный научный метод «гипотеза — дедукция — эксперимент». Согласно последнему, из исходной гипотезы, построенной на основе имеющейся информации, с помощью математической обработки делаются некоторые выводы. Эти выводы проверяются экспериментально, а затем с учетом полученных данных строится новая гипотеза, и этот процесс повторяется бесконечно. При эвристическом использовании вычислительной машины происходит то же самое, только эксперимент заменяется или дополняется вычислением на машине: строится некоторая гипотеза относительно исследуемых уравнений, ищутся критические случаи и для них на вычислительной машине решаются уравнения, полученные результаты сравниваются с гипотетическими и формулируется новая гипотеза. Затем этот цикл повторяется снова и т. д.
Результаты вычислений также могут сравниваться с экспериментальными данными. В этом случае эвристическое использование сводится к моделированию. Вычисление само по себе может дать ответ лишь на чисто математические вопросы, так что в тех случаях, когда не делается никакого сопоставления с эмпирическим фактом, эвристический метод использования вычислительных машин полезен лишь для чистой математики. Фон Нейман думал, что основные трудности теории гидродинамики возникли из-за отсутствия адекватных математических сведений о нелинейных уравнениях в частных производных и эвристическое использование вычислительных машин поможет математикам создать здесь адекватную и полезную теорию. Он указал на то, что хотя применение аэродинамических труб привело к большим успехам, но с тех пор как были получены уравнения, описывающие происходящие явления, аэродинамические трубы стали применяться скорее как аналоговые вычислительные машины, а не как экспериментальные установки.
...Многие разделы чистой и прикладной математики испытывают острую нужду в вычислительных средствах, которые могут сдвинуть их с мертвой точки, обусловленной отсутствием чисто аналитических методов анализа нелинейных проблем... Действительно эффективные быстродействующие вычислительные приборы могут дать нам как в области нелинейных уравнений в частных производных, так и во многих других областях, к которым трудно или совершенно невозможно подступиться, те эвристические соображения, без которых немыслим подлинный прогресс ни в одном из разделов математики (Нейман [1, т. 5, стр. 4]).
Предположение фон Неймана о том, что мощные вычислительные машины могут дать математику «те эвристические соображения, без которых немыслим подлинный прогресс ни в одном из разделов математики», связано с его абсолютной уверенностью в том, что идеи и задачи чистой математики в значительной степени зависят от эмпирической науки: «...истинное вдохновение современная математика... черпает в естественных науках» (Нейман [1, т. 1, стр. 2]). Он признавал, что математика не является эмпирической наукой, и считал, что критерии, которыми пользуется математик при выборе задач и оценке успешности их решения, главным образом эстетические.
Я думаю, что рождение математических идей из опыта, хотя генеалогия этого подчас длинна и запутанна, достаточно хорошо приближает истину, слишком сложную, чтобы допускать что-либо, кроме приближений. Но как только эти идеи сформировались, математика начинает жить своей собственной жизнью, и ее лучше уподоблять какой-нибудь творческой дисциплине, движимой почти исключительно эстетическими мотивами, чем чему-нибудь еще, например эмпирической науке. Имеется, однако, еще одно обстоятельство, которое, по моему мнению, необходимо подчеркнуть... На большом расстоянии от эмпирического источника или после интенсивного «абстрактного» инбридинга т) математический
х) Инбридинг — скрещивание двух близкородственных организмов (био- лог^.— Прим, перев.
предмет оказывается перед опасностью вырождения... Когда такое состояние достигнуто, единственным, как мне кажется, лекарством становится омолаживающее действие источника: более или менее прямое повторное впрыскивание эмпирических идей (Нейман [1, т. 1, стр. 9]).
Эмпирическая наука в чистой математике играет эвристическую роль: она поставляет проблемы для изучения и дает понятия и принципы, необходимые для их решения. И хотя фон Нейман никогда этого не говорил, я нахожу вполне вероятным, что он думал, что в некоторых разделах математики такую же роль играют результаты, получаемые при эвристическом использовании вычислительных машин. В лекции 1 части I он говорит, что успех мощных методов чистой математики зависит от математиков, понимающих их интуитивно и эвристически, и высказывает предположение, что такое интуитивное понимание нелинейных дифференциальных уравнений можно достичь при эвристическом использовании вычислительных машин ).
При эвристическом использовании вычислительных машин именно человек, а не машина является главным источником предположений, гипотез, эвристических соображений и новых идей. Фон Нейман хотел наделить машину наибольшим возможным интеллектом, но он отдавал себе отчет в том, что интуиция человека, его пространственное воображение, оригинальность и т. д. намного превосходят возможности как существующих машин, так и тех, которые должны появиться в ближайшее время. Он добивался развития способностей широкообразованной творческой личности, используя для этой цели цифровую вычислительную машину. Решение такой задачи предполагает значительное взаимодействие между человеком и машиной, которое становится легче с применением автоматизированного программирования и входных-выходных устройств, приспособленных прямо для человека.
Заинтересовавшись теорией вычислений, фон Нейман внес большой вклад во все, что связано с ними и с их техникой. Распространенные методы вычислений были предназначены для счета вручную или на машинах с использованием перфокарт и поэтому не вполне подходили для новых электронных вычислительных машин, скорость работы которых на несколько порядков выше. Нужны были новые методы, и фон Нейман развил многие из них. Вклад фон Неймана многообразен. Он изобретал алгоритмы и писал программы — от вычисления элементарных функций до интегрирования нелинейных уравнений в частных производных и нахождения решений игр. Он работал над созданием общих приемов численного интегрирования
и обращения матриц. Ему принадлежат результаты, касающиеся устойчивости и накопления ошибок округления. Он способствовал развитию метода Монте-Карло и применению этого метода к решению интегро-дифференциальных уравнений, систем линейных уравнений с помощью случайной выборки х). В этом методе задача, которую предстоит решить, сводится к некоторой статистической задаче; последняя затем решается подсчетом результатов для достаточно большой выборки примеров.
Фон Нейман много сделал для конструирования и программирования вычислительных машин, а также для развития теории вычислительных машин. Остановимся на достижениях фон Неймана в этой области.
Логический синтез вычислительных машин. Не удивительно, что фон Нейман, интересовавшийся теорией вычислений и имевший подготовку логика и физика, оказался привлеченным к созданию быстродействующих вычислительных машин. Первой такой машиной была ENIAC ), сконструированная и построенная в течение 1943 — 1946 гг. в школе Мура инженеров-электриков Пенсильванского университета (см. Бёркс [2, 4], Голдстайн и Голдстайн [1], Брайнерд и Шарплес [1]). Фон Нейман был определенным образом связан с этой машиной, поэтому здесь уместно будет сказать о ней несколько слов.
Идея создания универсальной быстродействующей вычислительной машины принадлежит Джону Мохли. Он внес предложение Голдстайну из артиллерийского департамента о том, чтобы армия Соединенных Штатов поддержала разработку и создание такой вычислительной машины, которую можно было бы использовать прежде всего для расчетов по баллистике. Такая поддержка была оказана, причем военных особенно поражала большая скорость, с которой электронная вычислительная машина могла составлять таблицы стрельб. Машина ENIAC проектировалась и создавалась рядом людей, включая автора этих строк, при техническом руководстве Мохли и Эккерта. Фон Нейман посетил нас, когда мы строили эту машину, и сразу же заинтересовался ею. К этому времени конструкция машины уже была выбрана, но после того как ее постройка была закончена, фон Нейман показал, как можно модифицировать машину, чтобы сильно упростить программирование. Тем временем он разработал логическую схему принципиально новой вычислительной машины, которую мы опишем позже.
Конечно, ENIAC радикально отличалась от предшествовавших ей вычислительных машин, но, что интересно, она также сильно
х) См. Улам [3, стр. 33, 34], Нейман [1, т. 5, стр. 751—764]. Этот метод описан в работе Метрополиса и Улама [1].
отличалась и от машин, созданных после нее. От этих последних ее отличало использование нескольких полуавтономных вычислительных узлов, работающих одновременно и полунезависимо, и исключительное применение электронных ламп для оперативной памяти. Обе эти особенности конструкции были вызваны состоянием электроники того времени.
Основная частота срабатывания цепей ENIAC равнялась 100 000 импульсов в секунду. Для получения высокой скорости вычислений все 10 (или 20) десятичных разрядов обрабатывались параллельно, а кроме того, имелось много отдельных вычислительных узлов, каждый со своим программирующим оборудованием, так что ряд вычислений мог протекать одновременно под общим управлением главного программного узла. У ENIAC было 30 основных узлов: 20 накопителей (каждый из которых мог запоминать и суммировать десятиразрядные десятичные числа), одно множительное устройство, одно устройство для деления и извлечения квадратного корня, три узла хранения таблиц функций, входной узел, выходной узел, главный программный узел и еще два узла, связанные с управлением. Все эти основные узлы могли работать одновременно.
В то время электронная лампа была единственным надежным элементом быстродействующей памяти (акустические линии задержки, электростатические элементы памяти, ферритовые кольца и т. д. появились позже), поэтому по необходимости электронные лампы были использованы не только для оперативной памяти, но и для выполнения арифметических действий и для логического управления. Это сильно ограничило объем оперативной памяти, так как электронные лампы довольно дороги и громоздки. Заметим, что всего ENIAC содержала 18 000 электронных ламп — вполне достаточно для того, чтобы скептики могли предсказать, что она не будет нормально функционировать. Ограниченная оперативная память на 20 десятиразрядных десятичных чисел дополнялась большим количеством элементов долговременной памяти различных видов: электромагнитные реле на входе и выходе; управляемые вручную механические переключатели, задающие матрицу сопротивлений в узлах таблиц функций, предназначенных для хранения произвольных числовых функций и программной информации; управляемые вручную механические переключатели и гибкие кабели со штеккерамп для программирования.
Неспециализированная вычислительная машина должна быть запрограммирована для решения каждой частной задачи. На ENIAC это делалось вручную посредством механических переключателей блоков программных управлений каждым из вычислительных блоков, используемых в этой задаче, взаимных соединений блоков программных управлений с помощью кабелей и установкой переключателей таблиц функций. Такая процедура программирования была
длительной, трудоемкой, с трудом поддавалась контролю, и, кроме того, во время программирования машина простаивала без дела. После того как постройка ENIAC была закончена, фон Нейман показал, как превратить ее в вычислительную машину с централизованным программированием, в которой программирование могло осуществляться установкой в нужное положение переключателей в узлах хранения таблиц функций. Каждый из трех узлов хранения таблиц функций обладал памятью, рассчитанной на 104 числа, имеющих 12 десятичных разрядов и два знаковых разряда. Но импульсы, использованные для представления чисел, были той же величины и формы, что и импульсы, использованные для программируемого управления вычислительными блоками, так что узлы хранения таблиц функций можно было бы приспособить для хранения программной информации. По схеме фон Неймана выходы узлов таблиц функций соединялись с блоками программируемого управления других узлов посредством некоторого специального оборудования и главного программного узла, а переключатели блоков программируемого управления устанавливались в определенное положение. Все это делалось так, чтобы не нужно было ничего менять при переходе от одной задачи к другой. Таким образом, программирование было сведено к ручной установке переключателей узлов хранения таблиц функций.
Тем временем мы занялись конструированием куда более мощной вычислительной машины. Как уже отмечалось, самым значительным недостатком машины ENIAC был небольшой объем оперативной памяти, обусловленный тем техническим обстоятельством, что в то время, когда решался вопрос о схеме ENIAC, электронная лампа была единственным (из известных) надежным запоминающим элементом. Это ограничение удалось снять и технология вычислительных машин была сильно изменена после того, как Эккерт задумал использовать для оперативной памяти акустические линии задержки. В военном радарном оборудовании для задержки импульсов применяли ртутные линии задержки. Идея Эккерта состояла в том, чтобы импульсы с выхода ртутной линии задержки подавать (через усилитель и формирующее устройство) на вход той же линии и таким образом хранить большое количество импульсов в получившейся циклической памяти. Циклическую память, скажем на 1000 битов, можно сделать из ртутной линии и нескольких ламп, а в ENIAC на каждый бит требовался двойной триод.
В машине ENIAC лишь небольшая часть обрабатываемых чисел хранилась в цепях, которые можно было менять автоматически и к тому же достаточно быстро; все остальные числа и программная информация запасались в электромагнитных реле, переключателях и коммутационных схемах на гибких кабелях. ENIAC была машиной смешанного синхронно-асинхронного типа. Использование импульсов
в ртутных линиях задержки сделало естественным переход к созданию полностью синхронной машины, в которой ритм работы задается единым центральным источником импульсов, называемым «часами». Эккерт и Мохли создали схемы, способные работать с частотой повторения импульсов 1 Мгц. т. е. в 10 раз превышающей основную частоту срабатывания цепей ENIAC, и вложили немало сил в конструкцию машины на ртутных линиях задержки. Голдстайн пригласил фон Неймана в качестве консультанта, и мы все вместе обсуждали логическую схему машины такого типа. Было решено использовать двоичную систему счисления. Так как линии задержки работали последовательно, то простейшим способом обработки двоичных разрядов оказался последовательный. Благодаря этому стало возможным построить вычислительную машину, намного меньшую, чем ENIAC, и все же превосходящую ее по мощности. Предполагалось, что эта машина будет называться EDVAC ). Она должна была содержать около 3000 электронных ламп.
Фон Нейман разработал подробную логическую схему этой машины. Результат содержится в его рукописи [3], которая так и не была опубликована ). Поскольку там излагается логическая схема электронной вычислительной машины, в которой впервые программа могла храниться и модифицироваться с помощью электроники, я кратко опишу эту схему. Для нас особый интерес представляют следующие характерные ее черты: отделение логического синтеза от конструирования электрических цепей машины, сопоставление вычислительной машины нервной системе человека, общая организация машины и подход к задачам программирования и управления.
В основу своей конструкции фон Нейман положил идеализированные переключательные элементы с задержками, полученные из идеализированных нейронов Маккаллока и Питтса [1]. Каждый элемент имеет от одного до трех возбуждающих входов, возможно, один или два тормозящих входа, пороговое число (1,2,3) и единичную задержку. Элемент возбуждается в момент £+1 тогда и только тогда, когда в момент t ни один из тормозящих входов не возбужден и число активизированных возбуждающих входов по крайней мере не меньше значения порогового числа ).
Применение идеализированного вычислительного элемента дает два преимущества. Во-первых, позволяет при конструировании вычислительной машины отделить этап логического синтеза от син
теза соответствующих электрических цепей. В процессе конструирования машины ENIAG мы разработали правила логического синтеза, но они были в значительной мере привязаны к тем правилам, которым подчинялся синтез цепей. Рассматривая идеализированные вычислительные элементы, можно отделить чисто логические требования к машине (к ее памяти, к логическому функционированию) от условий, налагаемых уровнем развития техники и в конечном счете физическими возможностями материалов и компонентов, из которых сделана машина. Первый шаг — логический синтез, следующий — синтез схемы. Элементы для логического синтеза нужно выбирать так, чтобы они грубо соответствовали реальным электрическим цепям. т. е. идеализация не должна быть чрезмерной.
Во-вторых, применение идеализированных вычислительных элементов — это шаг в направлении создания теории автоматов. Логический синтез устройств из таких элементов можно выполнить со всей строгостью математической логики, тогда как конструирование аппаратуры по необходимости является отчасти искусством, отчасти ремеслом. Кроме того, гакой подход облегчает сравнение различных типов элементов, используемых в автоматах, в нашем случае элементов вычислительной машины, с одной стороны, и нейронов, с другой. Фон Нейман проделал такое сопоставление в рукописи [3], отметив как различия, так и общие черты этих компонент. В частности, он отметил, что цепи машины EDVAC должны работать синхронно (управляемые во времени импульсными часами), а нервная система работает преимущественно асинхронно (ритм работы задается автономно последовательностью времен реакций ее собственных элементов). Он также указал на аналогию между ассоциативными, сенсорными и моторными нейронами нервной системы человека и соответственно центральной частью вычислительной машины, ее входом и выходом. Это сравнение естественных и искусственных автоматов должно было стать основной темой его теории автоматов.
Организация машины EDVAC должна была в корне отличаться от организации ENIAC. У машины ENIAC было несколько основных узлов, способных работать одновременно, так что можно было одновременно производить много вычислений. Проектируемая машина EDVAC не могла выполнить двух логических или арифметических действий одновременно, так как имела только по одному основному узлу каждого типа, а именно оперативное запоминающее устройство (ОЗУ), центральное арифметическое устройство (АУ), внешнее запоминающее устройство (ВЗУ), входной и выходной узлы и центральное управляющее устройство (ЦУУ).
Память (ОЗУ) должна была содержать до 256 линий задержки, каждая из которых могла хранить 32 слова, имеющих 32 двоичных разряда, а также переключательную схему, связывающую ячейки памяти с остальной частью машины. В этой памяти предполагалось
записывать начальные и граничные условия для дифференциальных уравнений в частных производных, произвольные числовые функции, промежуточные результаты вычислений и т. п., а также программу (последовательность команд), управляющую ходом вычислений. Внешнее запоминающее устройство должно было содержать перфокарты, бумажную ленту, магнитную ленту, или проволоку, или фотопленку, или любую их комбинацию. Предполагалось использовать ВЗУ для входа и выхода, а также как дополнительную медленную память. Входной узел пересылал информацию из ВЗУ в ОЗУу выходной узел — из ОЗУ в ВЗУ. В ОЗУ была принята двоичная система, а в ВЗУ — десятичная.
Центральное арифметическое устройство должно было иметь некоторые дополнительные регистры (линии задержки на одно слово) для хранения чисел. По команде, поступающей из ЦУУ, оно должно складывать, вычитать, умножать, делить, извлекать квадратные корни, преобразовывать из двоичной системы в десятичную и обратно, переносить числа из одних регистров АУ в другие, а также из регистра АУ в ОЗУ и выбирать одно из двух чисел в соответствии со знаком третьего числа. Последняя операция должна была использоваться для передачи управления (условного перехода) от одной команды программы к другой. Числа в АУ обрабатывались последовательно, начиная с последнего значащего разряда, и в каждый момент времени выполнялась ровно одна операция.
В первом двоичном разряде каждого слова стоял нуль, если это слово представляло собой число, и единица, если это была команда. Восемь разрядов команды были отведены для указания операции, которую предстояло выполнить, и, если требовалось обращение к ОЗУ, то еще тринадцать двоичных разрядов использовалось для указания адреса. Типичная последовательность операций должна была выглядеть так. Предположим, что команда сложения с адресом х находится в регистре у в ОЗУ, слагаемое занимает ячейку у + 1, а команда, которую предстоит выполнить вслед за сложением, находится в ячейке у + 2. Команда из у должна перейти в ЦУУ, слагаемое из у + 1 в АУ, второе слагаемое должно быть в АУ, причем сумма должна быть помещена в ячейку х в ОЗУ. После этого должна выполняться та команда, которая записана в ячейке У + 2.
Обычно команды выбираются из линий по порядку, кроме одной команды с адресом z, обеспечивающей возможность для ЦУУ извлечения следующей команды из ячейки памяти z. Пока некоторое число пересылалось из АУ в ячейку w в ОЗУ, содержимое этой ячейки просматривалось. Если там была команда (т. е. слово с единичным первым разрядом), то вместо 13 адресных разрядов содержимого ячейки w записывались 13 первых значащих двоичных разрядов результата в АУ. Таким образом, в вычислительной машине можно было
автоматически модифицировать адреса команд. Это вместе с командой для передачи управления произвольной ячейке памяти w и с возможностью выбора АУ одного из двух чисел по знаку третьего делало машину полностью автоматическим программируемым вычислительным устройством.
Одновременно с разработкой логической схемы машины EDVAC фон Нейман предложил способ усовершенствования оперативной памяти, использующий принцип работы иконоскопа (см. Нейман [3, разд. 12.8]). Информация переносится на экран иконоскопа пучком света, а считывается электронным пучком. Фон Нейман предположил, что эту информацию можно было бы размещать на внутренней поверхности такой трубки с помощью пучка электронов. Непосредственным результатом было бы запоминание в форме электрических разрядов на диэлектрической пластинке, установленной внутри электроннолучевой трубки. Он предсказывал, что такая память будет обладать преимуществом по сравнению с памятью на линиях задержки. Вскоре стало очевидно, что это действительно так, и фон Нейман переключил свое внимание на создание еще более мощной вычислительной машины, основанной на таких элементах памяти.
Новая вычислительная машина должна была намного превосходить по быстродействию все рассматривавшиеся тогда машины в основном в силу следующих двух обстоятельств. Во-первых, применение электростатической запоминающей системы обеспечивает немедленный доступ к каждому разряду, тогда как разряд или все слово, хранящееся в линии задержки, недоступно до тех пор, пока оно не дойдет до конца этой линии. Во-вторых, было принято решение обрабатывать все разряды слова параллельно, что также снижает время вычислений. Логическая схема этой вычислительной машины содержится в работе Бёркса, Голдстайна, Неймана [1]. Задуманная вычислительная машина была построена в Институте перспективных исследований группой инженеров, возглавляемой Джулианом Бигелоу, и получила широкую известность под названием JONIAC (в честь Джона фон Неймана.— Перее,) ^ Пока эта машина создавалась, ее логические и схемные решения оказали влияние на многие вычислительные машины, выполненные в США, включая вычислительные машины Иллинойсского университета, Национальных лабораторий Лос-Аламоса, Арагона и Ок-Риджа и корпорации РЭНД, а также ряд коммерческих машин. Машина JONIAC сыграла важную роль при создании водородной бомбы ).
См. Эстрин [1]. Первоначально предполагалось в качестве элемента памяти использовать селектрон, описанный Рейчменом [1], но потом все же ее построили на электроннолучевых трубках, принцип работы которых изложен в статье Вильямса [1].
Программирование и блок-схемы. Фон Нейману сразу же стало ясно, что новые вычислительные машины способны решать большие задачи настолько быстро, что понадобятся новые способы программирования, которые позволили бы математикам и составителям программ полностью использовать возможности этих машин. На основе кода команд машины, создаваемой в Институте перспективных исследований, он приступил к развитию новых методов программирования. Результаты были представлены в оказавшей большое влияние серии докладов (см. Голдстайн, Нейман [1]).
Обычно начинают с математической формулировки задачи, а потом решают, к какому конкретному методу вычислений следует прибегнуть. Эти методы, как правило, высокоиндуктивны и включают в себя многократные рекурсии внутри рекурсий. На этой стадии исследователь располагает общим описанием необходимых вычислений, составленным на обычном языке с использованием соответствующей математической символики. Он должен преобразовать это описание в программу, составленную на машинном языке. Однако это не есть простая задача прямого перевода — отчасти в силу общности описания вычислений, отчасти из-за природы рекуррентных процедур.
Рекуррентные процедуры, в особенности достаточно сложные, легче воспринимать динамически (в виде операций, осуществляемых на каждом шагу), чем статически (в виде статической последовательности символов, определяющих эти процедуры). Соответствующее свойство машинного языка состоит в том, что результат команды зависит именно от того вычисления, которое с ее помощью осуществляется: используется ли и как часто эта команда и к какому месту в памяти она относится. Все это зависит как от самой программы, так и от обрабатываемых чисел. Поэтому, хотя программа и представляет собой статическую последовательность символов, она обычно лучше воспринимается, если выражена на языке ее динамического функционирования, т. е. управления реальным последовательным вычислительным процессом.
Чтобы облегчить переход от математического описания некоторого вычисления к соответствующей программе, составленной в машинных терминах, фон Нейман и придумал блок-схемы. Блок- схемой он назвал граф с отметками, состоящий из изображаемых на листе бумаги кружков, квадратиков и точек, соединенных линиями. Квадратики бывают разных типов: операция (отвечает нерекуррентному фрагменту вычисления, соответствующему надписи внутри квадратика), альтернатива (соответствует передаче управления с указанием условия передачи), переадресация и высказывание (указывают значение индекса рекурсии), память (показывает содержимое важнейших участков памяти на определенной стадии вычисления). Отмеченные кружки означают начало, конец
и взаимные соединения. При выполнении программы, соответствующей данной блок-схеме, вычислительная машина как бы путешествует по этой блок-схеме, отправляясь от начального кружка, выполняет последовательности команд, предписываемых квадратиками «операция», возвращается назад или ответвляется на новую часть блок-схемы в соответствии с критериями, сформулированными в квадратиках «альтернатива», покидает выходной кружок одной части этого графа с тем, чтобы попасть во входной кружок другой его части, и останавливается, наконец, в кружке, обозначающем окончание программы. Направленные ребра указывают направление движения по графу, причем сходящиеся ребра встречаются в вершинах графа. Ненаправленные ребра соединяют квадратик «память» с вершиной графа, соответствующей стадии вычисления, частично описываемой содержимым этого квадратика.
Для сложной задачи программист обязательно должен подготовить и закодировать всю блок-схему. Задачу любой сложности можно разбить на подзадачи, для которых можно заранее подготовить блок-схемы и подпрограммы. При проектировании этой машины предполагалось закодировать подпрограммы, соответствующие основным вычислительным алгоритмам, применяемым при решении задач на цифровой вычислительной машине: переводу чисел из двоичной системы счисления в десятичную и обратно, арифметике с двойной точностью, различным методам интегрирования и интерполирования, сортирующим алгоритмам и т. д. Эти подпрограммы записываются на библиотечные ленты. При решении конкретной задачи программист мог бы тогда просто составить «комбинирующую программу», по которой вычислительная машина выбирала бы нужные подпрограммы с магнитной ленты и модифицировала их в соответствии с данной задачей.
Комбинирующие программы и библиотека подпрограмм явились первым шагом на пути использования самой вычислительной машины при подготовке для нее программ. Но в этой системе программист обязан был записывать все на нелепом «машинном языке». Гораздо удобнее было бы разработать специальный «язык программиста», на котором тот будет составлять программу, затем на машинном языке написать транслирующую программу, по которой машина переведет программу с языка программиста на машинный язык. Язык программиста должен быть ближе к тому естественному математическому языку, которым, как правило, пользуются математики, научные работники и инженеры, и, следовательно, он должен облегчать работу программиста. Этот подход развивается в настоящее время под названием «автоматическое программирование». Фон Нейман употреблял термины «сокращенная программа» (язык программиста) и «полная программа» (машинный язык) (см. Нейман [2, стр. 53—551).
Фон Нейман отдавал себе отчет в том, что идея автоматического программирования — это практическое приложение доказательства Тьюринга существования универсальной вычислительной машины. Машина Тьюринга представляет собой конечный автомат с неограниченно удлиняемой лентой. Машиной Тьюринга является любая универсальная вычислительная машина вместе с заводом-автоматом, который может беспредельно наращивать ее память на магнитной ленте. Универсальная вычислительная машина Тьюринга U обладает таким свойством: для любой другой машины Тьюринга М существует такая конечная программа Р, что машина [7, работающая по программе Р. дает те же результаты, что и М. Иными словами, U вместе с Р моделирует (имитирует) М.
Автоматическое программирование также предполагает моделирование. Обозначим через [7В вычислительную машину, работающую с машинным языком, неудобным для программиста. Программист использует свой, более удобный язык. Теоретически возможно построить вычислительную машину, непосредственно воспринимающую язык программиста. Назовем эту гипотетическую машину Л/п • Пусть Р^ — программа (написанная на языке машины [7В), которая транслирует с языка программиста на язык машины Ub- Тогда машина U^ работающая по программе Р^ будет получать те же результаты, что и Мп- Иными словами, Ur вместе с Рп моделирует Мп — частный случай моделирования по Тьюрингу машины М с помощью U и Р.
Заметим, что машина £7В работает на двух языках: непосредственно используемом машинном языке и языке программиста, используемом опосредованно через транслирующую программу Р^. Фон Нейман называл их соответственно первичным и вторичным языками машины. На первичном языке происходит обмен информацией и управление внутри машины, а с помощью вторичного языка человек общается с машиной. Фон Нейман предположил, что по аналогии с этим существуют первичный и вторичный языки, обслуживающие нервную систему человека, и первичный язык в ней сильно отличается от любого известного нам языка.
Таким образом, в нервной системе, по-видимому, применяется система обозначений, коренным образом отличающаяся от тех, с какими мы встречаемся в обычной арифметике и математике...
...Каким бы ни был язык, используемый в нервной системе, он должен характеризоваться меньшей логической и арифметической глубиной, чем та. к которой мы привыкли.
Таким образом, в центральной нервной системе логика п математика, рассматриваемые как языки, структурно должны существенным образом отличаться от языков, с какими обычно мы встречаемся в нашем опыте.
...Когда мы говорим о математике, мы обсуждаем некоторый вторичный язык, надстроенный над первичным языком, фактически используемым в центральной нервной системе.
Фон Нейман считал, что первичный язык нервной системы носит статистический характер. Поэтому его работа по вероятностной логике связана с этим языком. (См. обсуждение вероятностной логики и надежности в лекциях 3 и 4 части I настоящей книги, а также в работе Неймана [7].)
Электрические цепи вычислительной машины. Фон Нейман с самого начала проявил большой интерес к электрическим цепям и элементам электронных цифровых вычислительных машин. Он изучал основные физические и химические свойства материи, чтобы разработать более совершенные компоненты для вычислительных машин г). В лекциях по теории автоматов он сравнивает естественные и искусственные компоненты по скорости работы, величине, надежности и рассеиваемой энергии, а также вычисляет термодинамический минимум энергии, требуемой для выбора решения в бинарном случае. (См. лекцию 4 части I.) Поиски физических явлений и эффектов, которые можно было бы использовать для вычислительных целей, привели его к изобретению нового элемента.
Это так называемый субгармонический генератор, возбуждаемый внешним источником (энергии) с частотой nf (п = 2, 3, 4, . . .) и осциллирующий на субгармонической частоте / ). Схема субгармонического генератора содержит индуктивно-емкостную цепь, настроенную на частоту /, причем либо эта емкость, либо индуктивность нелинейна и ее величина периодически меняется под воздействием возбуждающего сигнала (частоты nf). Колебания на частоте / могут происходить в любой из п возможных различных фаз. Каждая такая фаза установившегося колебания обладает высокой стабильностью, но в момент начала колебания выбором фазы можно легко управлять с помощью небольшого входного сигнала частоты / и требуемой фазы. Модуляция (чередующиеся включение и вы-
Ключение) возбуждающего источника (частоты nf) колебаниями прямоугольной формы с намного более низкой частотой (тактовые сигналы) обеспечивает получение чередующихся пассивных и активных периодов. Тогда входной сигнал частоты /, поданный в момент прихода возбуждающего сигнала, позволяет выбрать для возникающих колебаний одну из этих п фаз.
Чтобы передать фазовое состояние одного субгармонического генератора (передатчика) другому (приемнику), передатчик и приемник соединяются трансформатором. Модулирующие колебания прямоугольной формы имеют в приемнике и передатчике одну и ту же частоту, но разные фазы, причем такие, что передатчик продолжает осциллировать, когда приемник еще только начинает. В результате приемник начинает генерировать колебания с частотой / в фазе с передатчиком. Этот приемник может затем передать свое состояние другому субгармоническому генератору и т. д. Если воспользоваться тремя источниками тактовых сигналов с одинаковой частотой, но с тремя различными фазами, то, подавая на связанные между собой генераторы соответствующие тактовые колебания, можно передавать информацию по некоторой системе генераторов. Каждый такой генератор имеет, следовательно, кроме возбуждающего входа частоты nf, еще вход и выход, работающие на частоте /. Фазировка двух различных источников тактовых сигналов, поступающих на связанные генераторы, определяет, какой из них играет роль приемника, а какой — передатчика. Мощность выходного сигнала (на частоте /) намного больше мощности, которой должен обладать входной сигнал (частоты /), управляющий фазой колебаний, и, таким образом, субгармонический генератор является усилителем на частоте /, причем энергия на это усиление черпается из источника возбуждающего сигнала частоты nf.
Так как колебания субгармонического генератора устойчивы и продолжаются после субгармонического входного сигнала, поступившего от другого генератора, то этот прибор обладает, очевидно, свойством памяти. На субгармонических генераторах можно построить также переключательный элемент. Делается это следующим образом. Пусть и = 2, т. е. возможны две различные фазы субгармонических колебаний на частоте /, так что система бинарна. Соединим выходы трех передатчиков с первичной обмоткой трансформатора так, чтобы их напряжения складывались, а приемник подсоединим ко вторичной обмотке этого трансформатора. Фаза напряжения вторичной обмотки трансформатора совпадает с фазой большинства передатчиков, а потому и приемник будет осциллировать в этой фазе. Такое устройство легко реализует мажоритарный элемент, т. е. трехвходовый переключательный элемент с задержкой, выходное состояние которого будет 1 тогда и только тогда, когда не менее двух его входов будут в состоянии 1 (Нейман [7,
стр. 104]). Отрицание можно реализовать, присоединяя выход одного генератора ко входу другого и изменяя направление обмотки трансформатора на обратное. В качестве констант 0 и 1 можно использовать два источника сигналов частоты / с различными фазами. Мажоритарного элемента, отрицания и источников констант 0 и 1 вполне достаточно, чтобы проделать любое вычисление, так что основные блоки вычислительной машины можно полностью выполнить на субгармонических генераторах г).
ФОН НЕЙМАН И ЕГО ТЕОРИЯ АВТОМАТОВ
Введение. При знакомстве с приведенным выше кратким обзором научных результатов, полученных фон Нейманом, сразу же поражает необычайное сочетание глубины и широты охвата проблем. Особенно удивляет диапазон его исследований, простирающийся от чисто теоретических работ до работ, носящих сугубо практический характер. В связи с этими последними работами следует отметить, что фон Нейман был одним из первых, кто хорошо понимал и всячески способствовал развитию громадных потенциальных возможностей вычислительных машин для осуществления технической революции и для решения задач прогнозирования и управления свойствами окружающей среды, например погоды.
Фон Нейман оказался в состоянии внести значительный вклад в столь разных областях науки потому, что у него было редкое сочетание разнообразных способностей с широким кругом интересов. Быстрый ум и хорошая память позволяли ему собирать, сортировать, удерживать в памяти и использовать огромную информацию. Обладая широким кругом интересов, он работал и поддерживал научные контакты во многих областях исследований. Он виртуозно решал трудные задачи в любой области и сохранял при этом ясное понимание того, каким образом он проникал в сущность каждой ситуации.
Широкий круг интересов и разнообразие способностей состав ляли одну из самых сильных сторон фон Неймана как математика и поставили его в один ряд с крупнейшими специалистами в области прикладной математики. Он был хорошо знаком, с одной стороны, с актуальными проблемами техники и естественных наук, а с другой — с абстрактными методами чистой математики. Среди математиков трудно было найти человека, которого можно было бы сравнить с фон Нейманом по способности поддерживать контакты с учеными и инженерами. Такое сочетание теории с практикой было результатом большой работы. Фон Нейман внимательно изу-
х) На этом принципе построено много вычислительных машин. См. Гото [1],
чал историю и природу научного метода и его связь с чистой математикой (см. Моргенштерн, Нейман [1, гл. 1], Нейман [1, т. 1, стр. 1—9; т. 6, стр. 491—498]) и считал, что эмпирические науки являются тем источником, из которого математика должна черпать свои идеи.
Вполне естественно, что именно фон Нейман с его квалификацией и соответствующим складом ума занялся созданием общей теории вычислительных машин. Уверенный в том, что вычислительные машины аналогичны живым организмам и что сопоставление таких разных и в то же время близких систем принесет пользу для эвристического развития науки, он искал теорию, которая охватила бы и то, и другое. Предполагаемой теории он дал название «теория автоматов». Эта теория должна была включать согласованный набор понятий и принципов, относящихся к структуре и организации как естественных, так и искусственных систем, к роли языка и информации в таких системах, к программированию и управлению такими системами. Фон Нейман обсуждает этот общий характер теории автоматов в нескольких местах части I и в гл. 1 части II настоящей книги.
Ранние работы фон Неймана по конструированию вычислительных машин и программированию привели его к мысли, что математическая логика должна сыграть важную роль в теории автоматов. Но по некоторым причинам, на которых мы остановимся позже, он считал, что существующая математическая логика хотя и полезна при изучении автоматов, но не адекватна «истинной» логике работы автоматов. Он был уверен, что появится новая логика автоматов, которая будет сильно напоминать и будет иметь много общего с теорией вероятностей, термодинамикой и теорией информации. Отсюда уже можно заключить, что теория автоматов фон Неймана должна была объединять самые разные дисциплины.
Преждевременная смерть не позволила фон Нейману придать законченную форму ни одному из его исследований по теории автоматов. В последней работе на эту тему он сказал: «...было бы очень хорошо, если бы можно было говорить о «теории» таких автоматов. К сожалению, то, что существует в настоящее время... представляет собой всего лишь слабо связанную и недостаточно формализованную «совокупность опытных данных»» (Нейман [2, стр. 11]). Тем не менее фон Нейман внес существенный вклад в эту область. Он наметил в общих чертах основные свойства теории автоматов: ее структуру, ее компоненты, некоторые из ее проблем, часть ее приложений и ее математическую форму. Он начал сравнительное изучение естественных и искусственных автоматов. Наконец, он сформулировал и в какой-то мере ответил на следующие два основных вопроса теории автоматов. Каким образом можно сконструировать надежную систему из ненадежных элементов? Какая логи-
ческая организация автомата нужна для того, чтобы этот автомат был способен себя репродуцировать? Первый из этих вопросов рассматривается в его работе [7], а второй — в лекции 5 части I и в части II настоящей книги.
Я не знаю, как именно фон Нейман пришел к постановке этих двух проблем, но, судя по его интересам и тому, что им написано, весьма вероятно, что они возникли следующим образом. Новые электронные вычислительные машины произвели переворот в технике вычислений, так как в противоположность прежним вычислительным системам (людям, механическим и электромеханическим счетчикам) они могли очень быстро производить вычисления больших объемов. Работающая уже машина ENIAC, спроектированная машина EDVAC и машина Института перспективных исследований были крупными шагами вперед на пути создания более мощных вычислительных машин. Фон Неймана интересовало решение дифференциальных уравнений в частных производных в общем случае и, в частности, решение уравнений для предсказания погоды. Поэтому естественно, что ему должна была понадобиться более мощная вычислительная машина, и это вынуждало его искать основные ограничения, препятствующие созданию таких машин, и способы, которыми их можно было бы устранить. Консультируя правительство и промышленные предприятия, он немало содействовал разработке и созданию более крупных вычислительных машин.
Фон Нейман сопоставил лучшие из вычислительных машин, которые могли быть построены по тем временам, с наиболее разумными естественными организмами и заключил, что возможности инженера при создании действительно мощных вычислительных машин ограничивают три фундаментальных фактора: размеры имеющихся компонентов, их надежность и отсутствие специальной теории логической организации достаточно сложных систем. Изучение фон Нейманом элементов, из которых составлена вычислительная машина, связано с первым из этих ограничений, а его исследование надежности и самовоспроизведения было направлено на то, чтобы снять второе и третье ограничения. В статье [7] он указал два метода, с помощью которых можно преодолеть трудности, связанные с ненадежностью компонентов: не повышая надежности компонентов, организовать из них такую структуру, при которой надежность всей вычислительной машины выше, чем надежность ее частей. Свою работу по вероятностной логике фон Нейман считал шагом к созданию новой логики автоматов. Его работа по самовоспроизведению также относится к теории достаточно сложных автоматов. Он чувствовал, что в системах большой сложности используются качественно новые принципы, и он искал эти принципы в явлении самовоспроизведения, которое, очевидно, зависит от уровня сложности. Он считал, что благодаря тесной связи задач самовос-
произведения и саморемонта результаты по самовоспроизведению помогут решить проблему надежности.
Таким образом, фон Неймана особенно интересовали сложные автоматы. Он думал о теории логической организации достаточно сложных систем вычислительных элементов. Поставленные им вопросы надежности и самовоспроизведения относятся именно к сложным автоматам.
Здесь уместно отметить следующие два обстоятельства. Во- первых, фон Нейман считал, что, приступая к работе в новой области исследований, надо начинать с задач, которые можно ясно сформулировать, даже если они касаются обычных явлений и приводят к хорошо известным результатам: строгая теория, объясняющая эти результаты, может стать основой дальнейшего прогресса (Моргенштерн, Нейман [1, разд. 1.3, 1.4]). Задачи о надежности и о самовоспроизведении именно такого типа. Во-вторых, фон Нейман полагал, что отсутствие адекватной теории достаточно сложных автоматов сильно препятствует созданию более мощных машин. Он совершенно определенно заявлял, что до тех пор пока не будет создана адекватная теория автоматов, будет существовать предел сложности и возможностей автоматов, которые мы можем построить Нейман [4, стр. 79—84]).
Искусственные и естественные автоматы. Тематика исследований теории автоматов становится особенно ясной при сравнении двух основных типов автоматов — искусственных и естественных. Кроме того, такое сравнение делает понятным характер этой теории как теории, объединяющей ряд разнородных дисциплин. Наиболее важные представители искусственных автоматов — аналоговые и цифровые вычислительные машины, но сюда относятся также и другие системы, созданные человеком для передачи и обработки информации (например, системы телефонной и радиосвязи). Естественные автоматы — это нервная система, самовоспроизводящиеся и само- исправляющиеся системы, а также организмы в эволюционном и адаптивном аспектах.
Теория автоматов, очевидно, охватывает, с одной стороны, технику связи и управления, а с другой стороны, биологию. Действительно, понятиям естественных и искусственных автоматов дано столь широкое определение, что возникает естественное недоумение, что же мешает теории автоматов включить в себя и тот и другой предмет. Фон Нейман никогда не обсуждал этого вопроса, но в том, что им сказано, неявно содержатся указания, что существуют определенные границы теории автоматов. Ее отличает от обоих этих предметов то, что математической логике и цифровым вычислительным машинам отводится в этой теории центральная роль. Хотя теория автоматов и находит важные инженерные при-
ложения, но она сама является скорее теоретической, чем прикладной дисциплиной. Наконец, теория автоматов отличается от биологических наук тем, что в ней все внимание концентрируется на вопросах организации, структуры, языка, информации и управления.
В теории автоматов устанавливаются общие принципы организации, структуры, языка, информации и управления. Многие из них можно применить как к естественным, так и к искусственным системам, и поэтому сравнительное изучение этих двух типов автоматов может служить хорошей отправной точкой: необходимо описать и объяснить черты их сходства и различия, развить математические методы, применимые к обоим типам автоматов. Так, например, формальная логика и логика, включающая линии задержки, могут применяться и к компонентам вычислительной машины, и к нейронам, как это делается в вероятностной логике фон Неймана (см. лекции 2 и 3 части I настоящей книги). Логическая схема самовос- производящегося клеточного автомата фон Неймана представляет собой связующее звено между естественными организмами и цифровыми вычислительными машинами. В этом отношении теория автоматов удивительно аналогична теории игр: экономические системы естественны, игры — вещь искусственная, а математическая теория игр пригодна как для экономических систем, так и для игр (Моргенштерн, Нейман [1, разд. 1.1.2 и 4.1.3]) — так и теория автоматов включает математику, общую для естественных и искусственных автоматов.
Сам фон Нейман уделял много внимания сравнению этих двух типов автоматов ). В последние годы изучение автоматных аспектов живых организмов сильно продвинулось, и сейчас фактическая база для такого сравнения гораздо шире, чем во времена фон Неймана, но его общий подход и выводы представляют для нас несомненный интерес. Проследим ход его рассуждений по следующему плану: 1) различие по аналого-цифровому признаку, 2) физические и биологические материалы, используемые в компонентах, 3) сложность, 4) логическая организация, 5) надежность.
Фон Нейман подробно рассмотрел различие по аналого-цифровому признаку и пришел к выводу, что эта характеристика очень полезна при исследовании естественных автоматов (см. лекции 1 и 4 части I). Самое общее его заключение состояло в том, что живые организмы представляют собой системы смешанного типа, включающие как аналоговые, так и цифровые процессы. Об этом свидетельствует много примеров, из которых здесь будет достаточно привести
два. Хотя формальная логика приложима (в первом приближении) к нейрону, такие связанные с нейроном явления, как рефрак- терность и пространственная суммация, скорее непрерывны, чем дискретны. В сложных организмах цифровые операции чередуются с аналоговыми процессами. Например, гены дискретны, а энзимы участвуют в аналоговых процессах управления. Представления о свойствах естественных автоматов подсказали фон Нейману схему комбинированной аналого-цифровой вычислительной машины (Нейман [7, разд. 12]). Это яркий пример воздействия, которое оказывает изучение естественных систем на конструкцию искусственных.
Фон Нейман произвел сравнение компонентов, применяемых в естественных и искусственных автоматах, по их размерам, скорости работы, энергетическим потребностям, надежности и связал установленные различия с такими факторами, как устойчивость материалов и организация автоматов. Компоненты вычислительной машины намного больше и требуют больше энергии, чем нейроны, хотя это частично компенсируется их существенно большей скоростью. Это отличие отразилось на организации систем: естественные автоматы работают в основном по параллельному принципу, а искусственные по последовательному. Различие по величине между электронной лампой и нейроном можно в какой-то мере объяснить различной механической прочностью использованных материалов. Электронную лампу легко испортить и трудно починить. Напротив, поврежденная мембрана нейрона способна к самовосстановлению. Фон Нейман вычислил термодинамический минимум энергии, рассеиваемой вычислительным элементом, и пришел к выводу, что теоретически вычислительный элемент мог бы быть в 1010 раз более эффективным в использовании энергии, чем нейрон (см. лекцию 4 части I). Проведенное фон Нейманом сопоставление естественных и искусственных компонент, без сомнения, сказалось на его работе по элементам вычислительных машин.
Человек inter alia г) представляет собой естественный автомат, который по сложности, очевидно, превосходит любой из искусственных автоматов, созданных им до сих пор. Из-за этой сложности человек может разобраться в деталях своей собственной логической конструкции в несравненно меньшей степени, чем в логической конструкции крупнейших из построенных вычислительных машин. Фон Нейман думал, что главные проблемы теории автоматов концентрируются вокруг понятия сложности. Само это понятие нуждается в строгом определении. Теория автоматов должна была связать логическую организацию сложных автоматов с их поведением. Такая теория позволила бы разработать логическую конструкцию искусственного автомата, способного выполнять некоторые наиболее
х) Между прочим, ко всему прочему (лат.).— Прим, перев.
трудные и совершенные функции, выполняемые человеком, а также ряд других сложных функций, которых люди выполнять не могут (например, решение больших систем нелинейных уравнений в частных производных). Фон Нейман считал, что с чрезвычайно сложными системами должны быть связаны новые принципы. В частности, он думал, что ниже определенного уровня сложность вырождается и самовоспроизведение невозможно. Он предполагал, вообще говоря, что в случае простого автомата символическое описание его поведения проще, чем сам автомат, а в случае очень сложного автомата сам автомат проще, чем символическое описание его поведения (см. лекцию 2 части I).
При обсуждении относительного быстродействия естественных и искусственных компонентов мы отметили, что в естественных автоматах наблюдается тенденция к параллельной работе, тогда как в искусственных автоматах — в основном к последовательной работе. Конструируя автомат или продумывая план вычисления, можно выбирать в какой-то мере степень параллельности или последовательности. Однако здесь имеются определенные границы: в последовательном вычислении, например, одна из последующих операций может зависеть от предыдущей и потому не может осуществляться параллельно с ней. От этого выбора зависят другие свойства машины, в частности требования к ее памяти, так как данные, которые будут использоваться в дальнейшем, должны храниться до тех пор, пока они не понадобятся. Память искусственного автомата обычно организуется иерархично, причем различные ступени этой иерархической лестницы работают с различными скоростями. Типичная вычислительная машина содержит быстродействующие электронные регистры, медленно работающие ферритовые кольца и еще более медленные узлы памяти на магнитной ленте. Кроме того, имеются соединения в самой машине, и они составляют неизменяемую часть системы. Изучая эти иерархии машинной памяти, фон Нейман отметил, что подобные иерархии следует искать и в естественных автоматах. Импульсы, циркулирующие в нейронных цепях, изменение порогов нейронов в процессе работы, организация нервной системы и генетическое кодирование — все это вместе представляет собой именно такую иерархию.
Организация автомата отличается от организации конкретного вычисления в этой машине. Если принять во внимание и то и другое, то различие между естественными и искусственными автоматами в соотношении числа последовательных и параллельных операций проявится резче. В этой связи фон Нейман ввел понятие логической глубины вычислений г). Процесс вычисления состоит из боль-
г) Нейман [2]. Он также говорил о логической глубине языка (см. [2] « обсуждение первичного языка нервной системы на стр. 34).
шого числа основных логических шагов (переключений и задержек), причем результат каждого шага зависит от некоторых предшествующих шагов. Будем называть цепью вычислений любую последовательность шагов, каждый из которых существенно зависит от своего предшественника. Логической глубиной вычисления называется число логических шагов в его наиболее длинной цепи вычислений. Благодаря высокой скорости работы цифровые вычислительные машины обычно производят вычисления необычайно большой логической глубины. Чтобы при этом окончательный результат оказался полезным, его ошибка должна быть мала, а это приводит к очень серьезным требованиям к надежности каждого элементарного логического шага.
Итак, мы подошли к пятому и последнему из основных пунктов плана сравнения естественных и искусственных автоматов, проведенного фон Нейманом.
Первые электронные вычислительные цифровые машины были плохо оборудованы в отношении автоматического обнаружения повреждений. Они были сконструированы и спаяны с величайшей аккуратностью, подбирались компоненты с высокой надежностью, программы писались тщательно и подвергались самой внимательной проверке, для проверки результатов вычислений применялись различные приемы (например, контрольный просчет), а машинные сбои обнаруживали специальные диагностирующие программы. Таким образом, эти машины проектировались, строились и использовались так, чтобы первая же неисправность была обнаружена прежде, чем случится вторая. Тогда бы машину остановили и после соответствующего анализа ликвидировали бы причину, вызвавшую замеченную неисправность. Как отмечает фон Нейман в лекции 4 части I, в случае чрезвычайно сложных автоматов такой метод борьбы с ошибками, очевидно, не годится. Уже только проектирование и конструирование больших автоматов дают большое число ошибок. Кроме того, в силу большого числа компонентов средний интервал между ошибками будет очень небольшим и возникшие повреждения трудно будет локализовать. В этом отношении естественные автоматы обладают явным преимуществом перед искусственными, так как в них предусматриваются эффективные меры самоконтроля и самоисправления. Например, головной мозг может продолжать функционировать удивительно хорошо даже после того, как человек получил серьезную травму в результате ушиба или болезни.
Таким образом, в смысле защиты от ошибок естественные и искусственные автоматы организованы совершенно по-разному. В этом отношении работа фон Неймана по надежности систем, состоящих из ненадежных элементов, является связующим звеном между этими двумя типами автоматов.
Математика в теории автоматов. По замыслу фон Неймана теория автоматов должна была быть в значительной степени математической и логической. Изучение существующих автоматов, как естественных, так и искусственных, их работы и взаимодействия должно было стать эмпирическим источником для построения формализма теории автоматов. Это согласуется с убеждением фон Неймана, что математик черпает вдохновение и идеи из эмпирического опыта.
Тесная связь между математической логикой и автоматами была хорошо известна фон Нейману, когда он начал работать над теорией автоматов. Курт Гёдель свел математическую логику к теории вычислений, показав, что фундаментальные понятия логики (такие, как хорошо сформулированная формула, аксиома, правило вывода, доказательство) по существу рекурсивны (эффективны) х). Рекурсивные функции — это те функции, которые можно вычислить на машинах Тьюринга. Таким образом, к математической логике можно подходить с точки зрения автоматов (см. Тьюринг [2, 3]). И обратно, математическую логику можно использовать при анализе и синтезе автоматов. Логическую организацию автомата можно представить в виде структуры из идеализированных переключательных и задерживающих элементов, а затем записать в символах формальной логики (см. лекцию 2 части I).
Из-за такой внутренней связи автоматов и логики математическая логика должна составить ядро теории автоматов. В самом деле, фон Нейман часто употреблял термин «логическая теория автоматов», а не просто «теория автоматов». Тем не менее он чувствовал, что математика в теории автоматов должна иметь свои формальные характеристики, резко отличающиеся от характеристик, специфических для логики. Грубо говоря, математику можно разделить на дискретную и непрерывную. Логика относится к дискретной части и в значительной степени носит комбинаторный характер. Фон Нейман считал, что математика в теории автоматов должна быть скорее непрерывной и опираться в основном на анализ. По его мнению, этого требовали специфические проблемы, возникающие в теории автоматов, и, кроме того, он понимал, что аналитический подход в математике обладает определенными преимуществами перед комбинаторным.
В теории автоматов имеется один важный вопрос, требующий большей аналитичности при его рассмотрении, чем это принято в логике. В теории автоматов обязательно должны учитываться вероятности выхода компонентов из строя. В математической логике изучаются только совершенные или детерминированные операции, осуществляемые идеализированными элементами переключения и
т) См. Гёдель [1]. Понятие теоремы, вообще говоря, не рекурсивно, но теоремы некоторого формального языка всегда рекурсивно перечислимы.
задержки. В ней не проводится теоретический анализ ошибки. Поэтому, применяя математическую логику для реального конструирования, необходимо привлекать и соображения, не относящиеся к ней непосредственно. Фон Нейман хотел построить вероятностную логику, в которой неисправности компонентов рассматривались бы как существенная и неотъемлемая сторона работы автомата. Хотя теорию вероятностей можно назвать комбинаторной дисциплиной, но в ней есть много точек соприкосновения с анализом.
Включение в логику автоматов вероятности неисправности приводит к необходимости учета объема вычислений. Обычный подход, в математической логике состоит в изучении того, выполняется ли с помощью автомата конкретная процедура за конечное число шагов, причем величина этого числа не имеет значения. Но при любом реалистическом предположении о повреждениях элементов автомата с ростом числа шагов увеличивается вероятность того, что машина ошибется, и уменьшается вероятность того, что ответ будет верным. Учет объема вычислений важен и с точки зрения практического использования машины. Вычислительная машина строится для того, чтобы получать результаты вычислений за приемлемое время. Но все же остается много функций, которые пока не может выполнять вычислительная машина, и их приходится выполнять человеку. В этой связи следует помнить, что человек представляет собой конечный автомат, а не машину Тьюринга. Фон Нейман не знал, как построить теорию, занимающуюся объемом вычислений. Возможно, такая теория должна основываться на количественном понятии «объема вычислений», в котором были бы приняты во внимание как длина вычисления (логическая глубина, см. стр. 44), так и его ширина (степень параллелизма).
Таким образом, теория, изучающая количественную сторону вычисления и вероятность того, что оно ошибочно, должна опираться и на дискретную и на непрерывную математику.
Все это должно привести к теориям, имеющим не столь явно выраженный характер теорий, основанных на принципе «все пли ничего», какой являлась и является формальная логика. По своему характеру эти теории станут значительно менее комбинаторными и значительно более аналитическими. В самом деле, имеются многочисленные признаки, дающие основание полагать, что эта новая концепция формальной логики будет все более сближаться с другой дисциплиной, в прошлом мало связанной с логикой. Эта дисциплина — термодинамика, главным образом в том виде, который она приняла после Больцмана. Термодинамика является той частью теоретической физики, которая в некоторых из своих аспектов наиболее близка теории обработки и измерения информации. Ее средства, конечно, являются в гораздо большей степени аналитическими, нежели комбинаторными, что вновь подтверждает точку зрения, которую я пытался изложить выше (Нейман [4, стр. 81—82]).
Фон Нейман также придерживался мнения, что определенное методологическое преимущество может дать использование анализа в математике автоматов.
Всякий, кто работал в области формальной логики, подтвердит, что онаг рассматриваемая с точки зрения применяемого в пей математического аппарата, является одной из наиболее трудных областей математики. Причина этого состоит в том, чю формальная логика имеет дело с жесткими понятиями типа «все пли ничего» и весьма мало соприкасается со связанными с непрерывностью понятиями действительного или комплексного числа, т. е. с математическим анализом. А ведь именно анализ обладает наиболее развитым математическим аппаратом и является наиболее разработанной областью математики. Таким образом, формальная логика в силу самого существа своего подхода отрезана от наиболее разработанных частей математики и попадает в ту ее область, которая представляет наибольшие трудности,— в область комбинаторики (Нейман [4, стр. 79—80]).
Это замечание особенно интересно тем, что сам фон Нейман внес большой вклад в дискретную математику. В работе Моргенштерна и Неймана [1, разд. 4.8.3] утверждается, что математические методы, которые будут разработаны для применения их в социальных науках, будут опираться на комбинаторику и теорию множеств, а не на дифференциальные уравнения (ср. разд. 1.2.5 той же работы).
В своих исследованиях по теории автоматов фон Нейман шел от дискретного к непрерывному. Примером служит его вероятностная логика. После появления этой логики он предложил тесно связанную с ней дискретно-аналоговую вычислительную систему (Нейман [7, разд. 12]). Его первые модели самовоспроизведения были дискретны, но он надеялся впоследствии получить и непрерывную модель самовоспроизведения (см. разд. 1.1.2.3 части II настоящей книги).
Мы уже отмечали, что фон Нейман часто называл свою теорию автоматов логической теорией автоматов. Он также называл ее теорией автоматов и информации, а иногда просто теорией информации, подчеркивая тем самым важную роль, которую по его предположению должна здесь сыграть теория информации. Он выделил в теории управления и информации две части: точную и вероятностную. Точная (или строгая) часть включает математическую логику, расширенную так, чтобы охватить конечные автоматы и машину Тьюринга. Вероятностная (или статистическая) часть включает исследования Шеннона [1] по теории информации и вероятностную логику фон Неймана. Фон Нейман рассматривал свою вероятностную логику как обобщение формальной логики.
Между теорией информации и термодинамикой имеется тесная связь — в обоих теориях понятие вероятности употребляется совершенно одинаково (см. лекцию 3 части I, особенно выдержку из статьи Неймана [10]).
Фон Нейман отметил еще два обстоятельства, связывающие термодинамику и теорию автоматов. Во-первых, он нашел аналог термодинамическому вырождению в теории самовоспроизводящихся автоматов: ниже некоторого минимального уровня сложность и сте-
пень организации вырождаются, а выше этого уровня они не вырождаются и даже могут возрастать. Во-вторых, он рассмотрел термодинамический аспект понятия равновесия в конструкции вычислительной машины. Эффективность работы вычислительной машины зависит от соответствующего равновесия ее отдельных частей в отношении быстродействия и размеров. Например, в иерархически построенной памяти различные виды памяти (транзисторы, кольца, лента) должны подходить друг другу по скорости и размерам. Вычислительная машина, в которой арифметический узел работает слишком быстро для данной памяти или же память слишком мала, подобна тепловой машине, которая не эффективна вследствие большой разницы температур отдельных ее частей. Эффективность вычисли тельной машины следует определять с учетом окружающей среды (т. е. в зависимости от решаемых задач), точно так же эффективность тепловой машины связана с окружающей средой. Эти вопросы соответствия и равновесия частей решаются инженерами эмпирически. Фон Нейман хотел, чтобы была создана количественная теория равновесия, подобная термодинамике.
В заключение отметим, что фон Нейман считал, что математика в теории автоматов должна начинаться с математической логики и двигаться в сторону анализа, теории вероятностей и термодинамики. Достаточно развитая теория автоматов помогла бы нам разобраться в автоматах большой сложности, в частности в нервной системе человека. Математическое размышление человека осуществляется его нервной системой, и «первичный» язык, на котором оно ведется, аналогичен первичному языку вычислительной машины (см. стр. 34). Таким образом, вполне возможно, что теория автоматов в свою очередь повлияет на логику и на фундаментальные понятия математики.
Мне кажется, что более глубокое математическое исследование нервной системы... повлияет на наше понимание тех сторон самой математики, которые будут затронуты этим исследованием. Фактически оно может изменить нашу точку зрения на собственно математику и логику (Нейман [2, стр. 12]) 1).
Сейчас логика лежит в основании математики; следовательно, если фон Нейман в своем предвидении был прав, то теория автоматов совершит полный круг — начнет с оснований математики и снова вернется к ним.
АРТУР В. БЁРКС
Э См. также Улам [1, стр. 12].
ЧАСТЬ I
ТЕОРИЯ
И ОРГАНИЗАЦИЯ
СЛОЖНЫХ
АВТОМАТОВ
[Замечания редактора взяты в квадратные скобки. Реконструированный текст рукописи фон Неймана в скобки не заключен, но большая его часть также подверглась основательному редактированию. См. предисловие.]
ЛЕКЦИЯ 1ВЫЧИСЛИТЕЛЬНЫЕМАШИНЫЛЕКЦИЯ 1ВЫЧИСЛИТЕЛЬНЫЕМАШИНЫУмозрительные и численные методы математики. Роль последних в прикладной математике и математической физике. Их роль в чистой математике. Положение в анализе. Численная обработка для эвристических целей.
ЛЕКЦИЯ 1
ВЫЧИСЛИТЕЛЬНЫЕ
МАШИНЫ
ЛЕКЦИЯ 1
ВЫЧИСЛИТЕЛЬНЫЕ
МАШИНЫ
Различные формы численного подхода: аналоговая и цифровая.
Аналоговая процедура: использование физического эксперимента для вычислительных целей; аналоговые вычислитель
ные машины.
Цифровая процедура: вычисления вручную; простые машины; полностью автоматизированные вычисления.
Современное состояние вычислительной техники. Роль аналоговых и цифровых вычислительных машин в настоящее время. Вопросы скорости, программирования и точности. Понятие элементарной операции в вычислительной машине. Ее роль в аналоговых вычислительных машинах и в цифровых машинах. Несколько слов о компонентах аналоговой вычислительной машины, цифровой машины.
Релейный орган. Основные типы: электромеханическое реле; электронная лампа: другие возможные типы релейных элементов.
Измерение длины или сложности вычисления. Логические и арифметические операции. Линейные и нелинейные арифметические операции. Роль количества операций умножения. Устойчивость статистических характеристик различных частей математики. Особая роль анализа.
Различные характерные уровни длины или сложности. Объем характерных задач, решаемых на автоматической цифровой вычислительной машине.
Требования к точности.
Требования к памяти: измерение емкости памяти; важнейшие характеристики памяти: время выборки и емкость; причины иерархической организации памяти; реальные требования к памяти автоматической цифровой машины.
Вход — выход: основные из имеющихся способов.
Понятие равновесия: равновесие скоростей различных компонентов, равновесие емкостей памяти на различных ступенях иерархической лестницы и скоростей. Баланс между скоростью и точностью. Баланс между скоростью, емкостью памяти и объемом программирования.
Термодинамические аспекты понятия равновесия. Термодинамические аспекты, связанные с емкостью памяти. Необходимость количественной теории вместо применяемых сейчас эмпирических методов. Предварительные замечания о надежности и ошибках.
Дамы и господа, я хочу поблагодарить вас за очень дружескую реакцию по поводу предстоящих моих пяти выступлений перед вами и надеюсь, что смогу удовлетворить тот широкий круг разнообразных интересов, который здесь представлен. Я расскажу вам об автоматах — о поведении очень сложных автоматов и о тех крайне специфических трудностях, к которым приводит высокая степень сложности. Я вкратце остановлюсь на весьма правдоподобных, весьма очевидных аналогиях, приходящих на ум при сравнении искусственных автоматов с организмами, которые в определенных пределах своего функционирования являются естественными автома-
тами. Мы рассмотрим черты сходства и различия, разберемся, в какой степени различие зависит от наших способностей и от нашей неуклюжести (последняя, между прочим, более обычное явление), обсудим, насколько эти различия принципиальны.
Сегодня я буду говорить главным образом об искусственных автоматах, в особенности об одной их разновидности — о вычислительных машинах. Я расскажу об их роли в недалеком прошлом, в настоящем и о том, что мы ждем от них в будущем.
Я начинаю с вычислительных машин отчасти потому, что меня интересует в теории автоматов математика, а с математической точки зрения вычислительные машины наиболее интересны и важны. Но совершенно независимо от этого возникает важная проблема автоматов очень и очень высокой сложности. Из всех автоматов высокой сложности вычислительные машины выделяются тем, что дают нам надежду хоть что-то понять. Даже вычислительные машины очень высокой сложности являются прежде всего математическими объектами, и мы их можем представить себе лучше, чем большинство естественных объектов. Поэтому, изучая вычислительные машины, можно несравненно более четко, чем в случае других типов автоматов, обсуждать, что мы знаем, а чего нет, что правильно, а что неверно и какие существуют ограничения. Вы увидите, что наше обсуждение сложных автоматов далеко от совершенства и один из наших основных выводов состоит в том, что нам очень нужна теория, которой мы сейчас не располагаем.
Позвольте мне сначала сказать несколько слов о чисто математической стороне дела, а именно о той роли, которую вычислительная техника сыграла или могла бы сыграть в математике и смежных дисциплинах. Говоря о численных расчетах вообще, нет необходимости останавливаться на той роли, которую они могут сыграть во многих приложениях математических методов. Совершенно ясно, что в технике численные расчеты имеют большое значение. Они нашли бы еще большее применение в технике, если бы их можно было делать в гораздо большем количестве и гораздо быстрее.
Перейду теперь к менее очевидным вещам. Ясно, что математические методы в физике, и особенно в теоретической физике, играют важную роль и в большинстве своем относятся к чистой математике, т. е. являются абстрактными и аналитическими. А эффективные вычислительные методы в физике играют несравненно более важную роль, чем та, которую можно было бы от них ожидать в собственно математике. Например, эффективные итеративные вычисления могли бы оказаться весьма полезными во многих областях современной квантовой теории. Заметную часть химической науки можно было бы перевести из области лабораторных экспериментов в область чисто теоретическую и математическую, если бы можно было проинтегрировать соответствующие уравнения квантовой теории. В кван-
товой механике и в химии имеется непрерывный спектр задач возрастающей трудности и возрастающей сложности, например исследование атомов с возрастающим числом электронов и молекул с возрастающим числом валентных электронов. Почти каждое усовершенствование существующих методов вычислений открыло бы новые важные области приложений и позволило бы применить строгие теоретические методы в новых разделах химии.
Однако я не собираюсь углубляться в подробности, а хочу вкратце показать, какую роль такие вычисления могли бы сыграть в собственно математической науке, т. е. в чистой математике. В чистой математике действительно мощные методы оказываются полезными только в том случае, если уже имеется определенный интуитивный контакт с объектом, если еще до проведения доказательства мы уже имеем некоторое интуитивное представление, некоторое интуитивное предположение, которое в большинстве случаев оказывается потом верным. Тогда мы уже уверены в успехе и предвидим направление, в котором надо искать интересующий нас результат. В любой новой отрасли математики есть опасность натолкнуться на порочный круг: приложение соответствующих методов чистой математики встречает очень большие трудности, если отсутствует разумное интуитивное эвристическое представление о предмете и не получено никаких положительных результатов в этой области. На ранних стадиях развития любой дисциплины это оказывается существенным препятствием, дальнейший прогресс носит уже автокаталитический характер. Эта трудность преодолевается, если появляется какая- нибудь исключительно удачная или необычайно остроумная работа; к сожалению, имеются примеры, где за время жизни двух, трех и даже четырех поколений это так и не произошло.
Одной из таких областей, которая в течение некоторого времени была в центре внимания, является область нелинейных задач. Бурное развитие математики XIX века, а также современного анализа дало возможность достичь больших успехов в решении линейных задач. В обращении с нелинейными задачами у нас намного меньше опыта, и о большинстве нелинейных уравнений в частных производных мы практически ничего сказать не можем. Мы ни разу не достигли здесь успеха и поэтому абсолютно не представляем себе, каковы здесь трудности.
В тех немногих случаях, когда все же удавалось получить какие- то результаты, это было обусловлено различными причинами, например тем, что с данной математической задачей тесно связано некоторое самое обычное физическое явление, так что исследователь мог привлечь нематематические (в данном случае физические) соображения. В таких задачах мы столкнулись с наиболее удивительными типами особенностей, которые не имеют абсолютно никаких аналогий в линейных задачах, т. е. в таких разделах математического
анализа, как теория функций комплексного переменного и т. д. Это со всей ясностью убеждает нас в том, что для решения нелинейных задач требуются совершенно новые методы. Классический пример — нелинейное уравнение в частных производных для сжимаемого невязкого потока; оно привело к открытию явления ударных волн. В задаче, где, как казалось, должны были получиться лишь непрерывные решения, неожиданно приобретают важнейшую роль разрывные решения, без надлежащего учета которых невозможно доказать ни единственность, ни существование решений. Более того, эти нерегулярные решения ведут себя очень своеобразно и нарушают ряд закономерностей, которые, как мы полагали на основании данных из других разделов анализа, были уже твердо установлены.
Другой хороший пример — явление турбулентности при наличии вязкости. Здесь неожиданно обнаруживается, что действительно важные решения задачи, обладающей высокой симметрией, сами такой симметрией не обладают. С эвристической точки зрения представляется важным не нахождение простейшего решения этой задачи, а статистический анализ отдельных больших семейств решений, не имеющих между собой ничего общего, кроме некоторых статистических свойств. Эти статистические свойства, составляющие сущность проблемы, и вызывают весьма специфические особенности во многих частных решениях. Есть основания полагать, что во всех таких случаях аналитические методы натолкнутся на большие трудности. Упомянутая задача турбулентности насчитывает уже около 60 лет, однако продвижение в ее аналитическом исследовании очень мало 1).
Почти все верные математические догадки в этой области возникли самым различным образом из эксперимента. Если бы можно было вычислить решения в некоторых критических ситуациях, подобных указанным выше, то у нас, вероятно, появилось бы гораздо больше эвристических идей. Позже я попробую привести несколько соответствующих примеров, а сейчас лишь подчеркну, что существуют обширные разделы чистой математики, где мы блокированы специфическим взаимоотношением строгих и интуитивных представлений, каждое из которых нуждается в другом, и где почти весь имеющийся прогресс обеспечен нематематическим процессом экспериментирования с физическими проблемами. Вычислительные методы, тоже не относящиеся к математике в ее традиционном понимании, но все же более близкие к центральным разделам математики, чем экспериментирование такого типа, могли бы оказаться в этих разделах более удобным и более адекватным средством, чем экспериментирование.
2) [См. далее Нейман [1, т. 5, стр. 2—5] и Биркгоф [1].]
Позвольте мне перейти теперь к нашему основному предмету и сказать несколько слов об общих чертах вычислительных процессов и вычислительных машин. Как вам, вероятно, известно, основные типы существующих, обсуждаемых и проектируемых в настоящее время вычислительных машин можно разбить на два больших класса: супераналоговые приборы и цифровые приборы. Я опишу сначала аналоговые приборы, т. е. более широкий из этих классов, поскольку обычно точно определяется класс цифровых приборов, а аналоговые приборы — это по существу все остальное.
При аналоговом вычислении, грубо говоря, вы наблюдаете за некоторым физическим процессом, описываемым точно такими же математическими уравнениями, что и интересующий вас процесс, причем физический процесс исследуется физическими методами. Вы не рассматриваете интересующий вас физический процесс, так как именно он привел вас к необходимости проводить вычисления. Вы всегда следите за чем-то, что похоже на него, но в точности не совпадает.
Небольшая модификация состоит в использовании другого масштаба; в некоторых задачах это обычно оказывается возможным. Еще больше модифицирует этот способ вычислений сочетание нового масштаба с другими изменениями. Например, при осуществлении аэродинамического эксперимента в аэродинамической трубе вы изменяете масштаб линейных размеров и, кроме того, скорость звука. Изменить скорость звука можно, лишь переходя к более низким температурам, и здесь действительно нужна интуиция. Надо быть уверенным, что интересующее вас явление не зависит от температуры. Далее вы обнаруживаете, что легче осуществить эксперимент при пониженной температуре и с гораздо меньшими размерами, чем реализовать интересующий вас процесс. При этом аэродинамическая труба становится в некотором смысле аналоговым вычислительным прибором, предназначенным для аэродинамического экспериментирования. Это не совсем удачное сравнение, так как аэродинамическая труба, помимо вычислений, может служить и для других целей, но во многих приложениях (безусловно составляющих ненамного менее 50%) она служит просто аналоговым вычислительным прибором.
Очень скоро вы сталкиваетесь со случаями, в которых не будете поступать точно таким же образом, ибо невозможно (либо неудобно) подыскать физический процесс, описываемый такими же уравнениями, что и интересующая вас задача. Но можно разбить задачу на несколько подзадач и найти несколько различных процессов, описываемых теми же уравнениями, что и соответствующие подзадачи; затем объединить эти процессы таким образом, чтобы, последовательно осуществляя их, получить полный ответ. От такой ситуации можно перейти к ситуациям, в которых задача действительно раз-
бивается на элементарные арифметические операции: сложение, умножение, вычитание, деление.
[Далее фон Нейман обсуждает физические аналоговые процессы сложения, умножения, вычитания и деления. Он рассматривает как электрические, так и механические аналоговые процессы и способ представления в них чисел. Он говорит: «Четыре типа арифметических операций (сложение, вычитание и т. д.), которые при любом аксиоматическом исследовании в математике принимаются в качестве элементарных операций, уже не обязательно будут элементарными операциями вычислительной машины, в особенности аналоговой вычислительной машины». Он объясняет, как именно дифференциальный анализатор перемножает две постоянные. (См. Нейман [2, стр. 13—14] и [1, т. 5, стр. 293].)]
[Фон Нейман обращается затем к цифровым вычислительным машинам. Он отмечает, что за последние 10 лет цифровые приборы приобрели большее значение по сравнению с аналоговыми. Он рассматривает компоненты цифровых машин (зубчатые колеса, электромеханические реле, электронные лампы, нервные клетки), скорость работы этих компонент (включая как время реакции, так и время восстановления) и подчеркивает необходимость увеличения мощности этих компонент. Он говорит о роли основных логических операций (таких, как реакция на совпадение) в управляющих механизмах, в том числе и в «наиболее изощренном из известных управляющих механизмов, а именно в нервной системе человека». (См. Нейман [2, стр. 16—18, 29—30, 38—40].) Далее он переходит к проблеме измерения сложности автомата.]
Не совсем понятно, как надо измерять сложность автомата. Для вычислительных машин разумно было бы, вероятно, подсчитывать общее число используемых электронных ламп. Однако здесь появляется неопределенность, связанная с тем, что некоторые имеющиеся типы электронных ламп состоят на самом деле из двух электронных ламп, помещенных в один баллон; в этом случае никогда нельзя точно знать, о какой именно из этих двух ламп идет речь. Другая причина заключается в том, что кроме электронных ламп в схему вычислительной машины входит много другого электрического оборудования: сопротивления, емкости и, возможно, индуктивности. Но отношение общего количества этого оборудования к числу электронных ламп остается в допустимых пределах постоянным, так что, по-видимому, можно взять число ламп в качестве меры сложности автомата.
Наибольшая из когда-либо применявшихся вычислительных машин содержит 20 тысяч электронных ламп г). Эту машину нельзя считать
Э [Имеется в виду машина ENIAC, описанная в работах Бёркса [2, 4], Голдстайн и Голдстайна [1], Брайнерда и Шарплеса [1].]
типичной, ибо ее конструкция сильно отличается от конструкций тех вычислительных машин на электронных лампах, которые нам представляются в будущем. Вычислительная машина, которую многие считают машиной самого ближайшего будущего, будет намного меньше: вероятно, в ней будет от 2 до 5 тысяч ламп. Таким образом, грубо говоря, порядок величины сложности этих машин равен 10 тысячам.
Чтобы вы могли сравнить это с естественными организмами, я скажу, что число нервных клеток в естественном организме может сильно отличаться от этой величины. Число нервных клеток в центральной нервной системе человека оценивается в 10 миллиардов. Это число очень велико, так что у нас, конечно, нет абсолютно никакого опыта в обращении с такими порядками величин. Необычайно трудно сформулировать какую-либо разумную идею о том, могут или нет такие сложные вещи, как человеческое поведение, управляться 10 миллиардами переключательных органов. Это было бы сопоставлением двух неизвестных объектов, поскольку никто точно не знает, что делает человек, и никто не сталкивался с переключательным органом, состоящим из 10 миллиардов единиц.
Остановлюсь теперь на некоторых вещах, более тесно связанных с вычислительными машинами. Если с помощью электронной лампы вы можете повторить элементарный акт (такой, как переключение) миллион раз в секунду, то это еще не значит, разумеется, что вы при этом выполняете нечто, что с точки зрения математики оценивается как миллион раз в секунду. Подходить к оценке скорости работы вычислительной машины можно по-разному. Бытует, например, такое разумное соглашение, что следует подсчитывать число умножений, производимых за одну секунду. Под умножением здесь понимается умножение двух полных чисел с точностью, на которую» рассчитана машина. Разумно было бы считать такую точность равной 10, 12 или 14 десятичным знакам. Машина обычной конструкции, элементы которой имеют скорость около 1 миллиона в секунду, будет, вероятно, умножать за время порядка 1 миллисекунды.
Независимо от того, как вы будете работать на вычислительной машине, вы просто не в состоянии будете использовать ее возможности на 100%. Я имею в виду, что невозможно (на современном этапе развития) наладить работу машины так, чтобы устройство, способное перемножать за одну тысячную долю секунды, реальна загрузить данными для умножения. Нужно сделать еще очень многое: решить, какие числа требуются, получить эти числа, разместить результат, решить, будете ли вы делать то же самое еще раз или следует сделать что-то другое, и т. д. Это удивительно напоминает ситуацию, когда вы складываете числа прямо на движущемся листе бумаги, причем то, что сдвинуто, стирается.
С логической точки зрения эта эффективность имеет, вероятно, порядок 1 к 10 или несколько лучше. Иными словами, при любом приемлемом логическом описании того, что вы делаете, в программе, отвечающей распространенным алгоритмам формальной логики, команды умножения будут находиться где-то между 5 и 10 командами. Так как операция умножения более медленная, чем другие, то в тех машинах, которые, по мнению многих, хорошо скомпонованы, хорошо сбалансированы, вы, вероятно, потратите на умножения от одной четверти до половины всего времени вычисления. Таким образом, если ваш умножитель способен производить одно умножение за миллисекунду, то в лучшем случае вы добьетесь 500 умножений в секунду.
Ручной счет с помощью арифмометра дает примерно 2 умножения в минуту. Таким образом, ускорение счета можно довести до 100 тысяч. Но чтобы выйти за этот диапазон, вероятно, придется радикально менять существующую методику.
С математической точки зрения вопрос заключается в том, могли бы мы что-нибудь сделать с этой скоростью, если бы мы ею располагали. Мне очень хочется обратить ваше внимание на то, что имеет смысл рассчитывать на максимально возможную скорость: на такую, в десять раз большую, в сто раз, в тысячу, в миллион раз. Задачи, которые, несомненно, нужно решать, оправдали бы скорости, намного превосходящие те, о которых можно сейчас думать. [В качестве примеров фон Нейман приводит квантовомеханические расчеты, связанные с атомными и молекулярными волновыми функциями (где комбинаторные трудности очень быстро растут с числом электронов), и задачу турбулентности.]
Хотя это и не относится непосредственно к моей теме, я бы хотел указать на то, что вряд ли мы захотим применять вычислительные машины для получения больших объемов цифрового материала, например каких-нибудь необыкновенно больших таблиц функций. К вычислительным машинам нас заставляет обращаться отнюдь не желание получить много информации. В конце концов уже тот факт, что вы хотите получить информацию, означает, что вы представляете себе, что как-то можете ее усвоить. Иными словами, вы хотите получить столько информации, сколько можете воспринять, поэтому, где бы ни располагалось самое узкое место в том автоматическом оборудовании, которое создает и обрабатывает эту информацию, еще более узким местом является человеческий мозг, куда в итоге и поступает информация.
Действительно, трудные задачи обладают тем свойством, что в них обычно входит небольшое количество данных. Все, что вы, вероятно, хотите получить, это несколько чисел, по которым можно набросать график, или даже одно число. Все, что вы, вероятно, хотите в итоге знать, это «да» или «нет», есть устойчивость или нет,
возникает турбулентность или нет. Дело в том, что вы не можете, имея на входе, скажем, 80 чисел, получить на выходе 20 чисел и при этом не создать по ходу вычисления около миллиарда чисел, которые никому не интересны. Этот процесс таков, что объем обрабатываемого материала сначала расширяется, а затем опять сужается, и если процесс начинается с низкого уровня, скажем со 100 чисел, и кончается на низком уровне, например 10 числами, то максимум в промежутке достаточно высок (порядка нескольких тысяч) и число последовательных этапов велико, так что приходится обрабатывать порядка 10 миллионов чисел, прежде чем получить на выходе свои 10 чисел, которые-то и нужно знать. Эти оценки весьма реалистичны: нетрудно найти задачи с подобной численной структурой.
Вы уже, наверное, обратили внимание на то, что я ввел в рассмотрение одно характерное свойство, а именно полную величину числового материала, создаваемого в некотором процессе. Другое важное свойство связано с тем, сколько чисел вы хотите иметь одновременно. Это, вероятно, одна из наиболее животрепещущих проблем в современной технике вычислительных машин. Точно такая же проблема возникает и в отношении памяти человека. Итак, все эти автоматы действительно состоят из двух важных частей: общей переключательной части (активная часть, определяющая те логические операции, которые предназначено осуществлять автомату) и памяти (в которой хранится информация — главным образом промежуточные результаты, нужные временно, а затем отбрасываемые и заменяемые другими).
Сейчас уже хорошо известно, как сделать активную часть вычислительных машин, их арифметические и управляющие цепи. На протяжении последнего десятилетия гораздо более важными были нерешенные вопросы, связанные с памятью. Сейчас они стали еще более важными и продолжают оставаться открытыми. В организме человека переключательная часть построена на нервных клетках, и у нас есть определенные сведения об их функционировании. Что же касается органов памяти, то у нас нет даже туманного намека, где они и какие они. Мы знаем, что требования к памяти человека велики, но имеющийся здесь опыт говорит за то, что маловероятно, чтобы память размещалась в нервной системе, и на самом деле совсем неясно, что же это такое г). Таким образом, и в вычислительной машине, и в нервной системе человека динамическая часть (переключательная часть) автомата проще, чем память.
[Далее фон Нейман рассматривает вопрос о том, как измерять емкость памяти. Он предлагает использовать логарифм по основанию 2 от конфигурационного числа, т. е. от числа всех возможностей (см. Нейман [1, т. 5, стр. 341—342]). Затем он оценивает емкость
Э Этот вопрос подробнее рассматривается в работе Неймана [2, стр. 48—52].
памяти обычной печатной страницы в 20 тысяч единиц и отмечает, что она близка к емкости памяти обсуждаемых вычислительных машин.]
Отсюда видно, в каких пределах заключена реальная цена скорости. Большая современная вычислительная машина весьма дорого стоит, ее нужно долго строить и она оказывается весьма ненадежной в работе. И при этом еще придется обойтись памятью, эквивалентной одной печатной странице! Если такая машина работает нормально, то она за полчаса может проделать столько вычислений, сколько группа из 20 человек делала бы 2—3 года. И при этом машина обойдется памятью в одну печатную страницу! Представьте себе, что вы нанимаете 20 человек, закрываете их в одной комнате на 3 года, даете им 20 арифмометров и ставите такое условие: решить задачу, имея в течение всего отведенного им времени на всех одну страницу, которую они могут исписать полностью, причем можно стирать любые величины и вписывать их вновь, но в каждый данный момент в их распоряжении лишь одна страница. Ясно, где узкое место этого процесса. Может оказаться трудно составить план, могут быть неудобными вход и выход ит. д., но главная неприятность в том, что феноменально мала память, которой можно пользоваться в процессе вычислений. Вся методика вычислений будет полностью нарушена таким modus operand! ).
Такая экономия совершенно неоправдана. Переходя к высокой скорости, вы отказываетесь от эффективных методов хранения информации и вынуждены пользоваться неэффективными методами. Память вычислительной машины на тысячу чисел — весьма крупный объект, а создание его требует много времени; все существующие сейчас типы памяти носят в значительной степени экспериментальный характер, и ни один из них не является ни компактным, ни дешевым. И при этом все они эквивалентны печатной странице! Причина, по которой мы вынуждены пользоваться такой памятью, заключается в следующем. [Для каждого умножения нужны определенные числа из памяти, и результат часто поступает обратно в память. Для выполнения других арифметических операций также необходимо обращаться к памяти. Из памяти поступают и команды, управляющие этими арифметическими операциями.] На каждое умножение приходится, по-видимому, от 5 до 8 обращений к памяти. Таким образом, нет смысла использовать миллисекундное перемножающее устройство до тех пор, пока мы не располагаем памятью со временем выборки порядка одной десятой миллисекунды. Далее, выборка из типографской книги занимает секунды, выборка сведений с перфокарт или рукописного текста занимает доли секунды. Поскольку нам нужно время выборки порядка одной десятитысяч-
ной секунды, мы вынуждены отказаться от этих эффективных способов хранения информации и перейти к чрезвычайно малоэффективной и дорогой методике.
При сравнении искусственных автоматов с естественными нельзя забывать об одной важной детали, про которую мы ничего не знаем: была ли когда-нибудь подвержена такому гандикапу природа, т. е. имеются ли в естественных организмах намного более совершенные приборы памяти? Так как механизмы вторичной памяти, созданные человеком (например, библиотеки), намного эффективнее, есть все основания предполагать, что естественные механизмы памяти столь же нелепы, как быстродействующая память, с которой, как нам кажется, мы должны работать. Но мы практически ничего об этом не знаем.
Позвольте мне сегодня, прежде чем закончить, упомянуть еще одно обстоятельство. Память, которая нужна нам в любой быстродействующей машине, можно охарактеризовать двумя числами: емкостью и временем выборки. [Фон Нейман говорит, что современная техника не позволяет строить память, обладающую адекватной емкостью и достаточно хорошим временем выборки. Все, что делается сейчас, состоит в создании иерархии памятей. Первая память обладает необходимой скоростью, но недостаточно велика по размерам. Вторая память намного больше, но медленнее. Числа по мере необходимости переходят из второй памяти в первую. Можно сделать и третью память, которая будет больше, но медленнее, и т. д. Примером такой иерархии памятей могут служить память на электростатической трубке, магнитная лента и картотека. См. Нейман [2, стр. 31—34].]
ЛЕКЦИЯ 2ДЕТЕРМИНИРОВАННАЯ 1)ТЕОРИЯУПРАВЛЕНИЯИ ИНФОРМАЦИИЛЕКЦИЯ 2ДЕТЕРМИНИРОВАННАЯ 1)ТЕОРИЯУПРАВЛЕНИЯИ ИНФОРМАЦИИТеория информации: точная часть, понятие информации, соответствующее логико-математическое понятие множеств и разбиений.
ЛЕКЦИЯ 2
ДЕТЕРМИНИРОВАННАЯ 1)
ТЕОРИЯ
УПРАВЛЕНИЯ
И ИНФОРМАЦИИ
ЛЕКЦИЯ 2
ДЕТЕРМИНИРОВАННАЯ 1)
ТЕОРИЯ
УПРАВЛЕНИЯ
И ИНФОРМАЦИИ
Тесная связь с формальной логикой. Альтернативный подход через модель- автоматы. Общие черты этих двух подходов: свойство «все пли ничего», работа, объединяющая оба подхода.
Методы описания автоматов: синтез из
компонентов, рассмотрение в целом.
Метод синтеза: природа элементов-органов, их сходство с нейронами. Программа Маккаллока и Питтса: сети из формальных нейронов, основной результат.
Рассмотрение в целом: теория автоматов Тьюринга, соотношение автомата п математических задач, решаемых с его помощью, понятие об универсальном автомате, основной результат Тьюринга.
Ограниченность автоматов Маккаллока и Питтса. Вход и выход. Их обобщение. Интерпретация их как сенсорных и моторных органов.
[Фон Нейман говорит, что теория информации состоит из двух частей — точной и вероятностной. Вероятностная часть наиболее важна для современной вычислительной техники, а точная часть служит необходимым введением к ней. Эта точная часть теории информации представляет собой просто иной способ работы с формальной логикой.]
[Затем он объясняет некоторые из основных понятий формальной логики. Он кратко рассматривает такие связки, как «и», «нет», «если..., то» и «ни один», и возможность определения одних через другие. Он разъясняет понятия переменной и кванторов «все» и «некоторые». Он заключает: «С помощью такого аппарата можно выразить все, чем занимаются в математике, или, если уж на то пошло, в любой области, но при условии, что все делается корректно».]
Я не хочу углубляться в этот вопрос, так как для построения теории информации больше подходит другой аппарат, тесно связанный с этим, но несколько отличающийся по внешнему виду. Идеи его заложены в статье Маккаллока и Питтса [1] ), с одной стороны, и в работе Тьюринга [3], с другой. Эти авторы сделали попытку заменить здесь формальную логику (и ту, о которой я говорил, и классическую) рассмотрением некоторых фиктивных механизмов, или аксиоматических автоматов с бумажной лентой — их просто описать, но их никто никогда не пытался построить.
Маккаллок, Питтс и Тьюринг показали, что их фиктивные механизмы не противоречат формальной логике. Другими словами, то,
Э В оригинале rigorous — строгий, точный.—Прим, перев.
что их автоматы могут делать, можно записать в логических терминах и, обратно, то, что можно строго описать в логических терминах, могут сделать эти автоматы. [Фон Нейман предполагает, что конечная нейронная сеть Маккаллока и Питтса снабжена бесконечной чистой лентой. При этом он ссылается на эквивалентность вычислимости по Тьюрингу, Х-определимости и общей рекурсивности. См. Тьюринг [2].]
Я хочу остановиться на работах Маккаллока, Питтса [1] и Тьюринга [3], поскольку они отражают два очень важных способа понять существо вопроса: синтетический и интегральный. Маккаллок и Питтс построили структуры из очень простых элементов, так что определить аксиоматически надо было только эти элементы, а затем из них можно создавать комбинации любой сложности. Тьюринг дал аксиоматическое описание того, каким должен быть весь автомат в целом, и не оговаривал, из каких элементов он состоит, а только объяснил, как он должен функционировать.
Работа Маккаллока и Питтса определенно была задумана как простая математическая, логическая модель, которую можно было бы использовать при изучении нервной системы человека. То, что она привела к построению, оказавшемуся эквивалентным формальной логике, совершенно замечательно. Это только часть той идеи, которую они хотели воплотить. Предложенную ими модель можно рассматривать еще и с другой стороны, хотя эта сторона их модели в данную минуту интересует меня несколько меньше, но я остановлюсь на ней сейчас, правда не объясняя, какое отношение она имеет к формальной логике. Итак, они хотели рассматривать нейроны. При этом они решили не вникать в сложные физиологические и химические детали того, чем на самом деле является нейрон. Они пользовались методом, известным в математике под названием «аксиоматический», начав с нескольких простых постулатов и не касаясь того, как природа умудряется создавать такие хитрые устройства.
Они пошли дальше. IIx работа подверглась суровой критике, но мне кажется, что тот шаг, который ими был сделан, можно оправдать. Они сказали, что хотят аксиоматизировать не нейрон как таковой, а идеализированный нейрон, который несравненно проще настоящего нейрона. Они верили, что сильно обедненный, упрощенный, идеализированный объект, который они аксиоматизировали, обладает всеми существенными свойствами нейрона, а все остальное — это несущественные усложнения, о которых при первом анализе лучше забыть. Я совершенно уверен в том, что пройдет много времени, прежде чем с этим согласятся все, если это вообще случится. Но уже сейчас не вызывает сомнения то, что, сделав такую идеализацию, можно быстрее понять хотя бы какую-то сторону интересующего нас объекта.
Дадим определение тому, что мы будем называть нейроном. Быть может, лучше называть его формальным нейроном, потому что хотя он и имеет ряд существенных черт настоящего нейрона, но он им, разумеется, не является. Будем обозначать нейрон кружочком, символизирующим тело нейрона, вместе с отходящей от кружочка линией, символизирующей аксон этого нейрона. Стрелка служит для обозначения того, что аксон одного нейрона контактирует с телом другого. Нейрон может находиться в двух состояниях: возбужденном или невозбужденном. Механизм возбуждения в данном случае нас не интересует. Важна лишь его функциональная характеристика; с ней связано наличие определенного цикла: основное свойство возбужденного нейрона состоит в том, что он способен возбуждать другие нейроны. Где-то в конце сложной цепи нейронов он может возбуждать и нечто отличное от нейрона. Например, он приводит в состояние возбуждения мышцу, которая в результате этого выполнит какое-либо движение (физическое изменение), или железу, вырабатывающую определенный секрет (химическое изменение). Таким образом, возбужденное состояние нейрона в конечном счете вызывает явления, выходящие за рамки нашего исследования, и поэтому мы их не будем рассматривать.
[Фон Нейман формулирует аксиомы, которым подчиняется взаимодействие нейронов. Следуя Маккаллоку и Питтсу, он предполагает наличие стандартной задержки и временно пренебрегает «важным явлением рефрактерности, состоящим в том, что после того как нейрон был возбужден, он некоторое время не способен к повторному возбуждению». Несмотря на то что рефрактерность играет важную роль в функционировании организма (см. стр. 68), можно добиться, чтобы действие было непрерывным. Для этого надо рассмотреть цепь нейронов, в которой каждый нейрон стимулирует следующий. Фон Нейман дает определение порога нейрона и вводит тормозные синапсы, обозначая их кружочками (вместо стрелок).]
[Затем фон Нейман приводит то, что он называет «важным результатом Маккаллока и Питтса». Представим себе черный ящик с несколькими входами и одним выходом. Возьмем два момента времени /17 ^2 и зададим, какие из входных сигналов, длящихся в промежутке времени от 1^ до £2, возбуждают выход, а какие нет.] Как бы ни были сформулированы эти условия, всегда можно поместить в ящик такую нейронную сеть, что они будут реализованы. Это означает, что общность нейронной системы точно такая же, как общность логики. Тот факт, что с помощью этой системы можно что-то сделать, означает ни больше ни меньше как то, что вы знаете, о чем говорите, и можете с помощью конечного числа слов сформулировать это строго и недвусмысленно. Я не будут приводить доказательство, которое, как и все доказательства формальной логики, не слишком легко воспроизвести. [Мы набросаем это доказательство очень коротко. Из самой
конструкции, на которую опирается фон Нейман, следует, что каждую переключательную функцию (функцию истинности, булеву функцию) можно реализовать некоторой нейронной сетью с фиксированной задержкой. К этой переключательной схеме можно подсоединить циклическую нейронную память произвольной конечной емкости. Если такую составную сеть снабдить бесконечной лентой, то получится машина Тьюринга. Более того, каждой машине Тьюринга М соответствует некоторая сеть такого типа, вычисляющая то же число, что и 7И.]
[Фон Нейман показывает, как построить примеры сетей. На рис. 1 изображена сеть, в которой а доминирует над 6, Ъ доминирует над с, с доминирует над а. Каждый нейрон возбуждается (срабатывает), если он стимулирован по возбуждающему входу (вход со стрелкой), но не стимулирован по тормозному входу (вход с маленьким кружочком). Поэтому если а и b стимулированы оба, то выход а будет активным, а р нет; если Ъ и с стимулированы оба, то выход Р будет активным, а у нет; а если а и с стимулированы оба, то у будет активным, а а нет. Фон Нейман использовал эту сеть для иллюстрации следующей мысли. Когда говорят, что поведение человека носит неколичественный характер, то при этом, видимо, имеют в виду, что в любом количественном механизме из утверждений «а сильнее Ь» и «Ь сильнее с» следует, что а сильнее с. Однако в приведенной сети а сильнее Ъ и Ъ сильнее с. но с все же сильнее аД
[Затем фон Нейман синтезирует ряд других сетей: простые запоминающие устройства, счетчики и элементарную обучающуюся схему. Они приблизительно совпадают со схемами, приведенными в его работе [1, т. 5, стр. 342—345]. Обучающаяся схема имеет два входа а и Ь. Она подсчитывает, сколько раз стимуляция входа а сопровождается стимуляцией входа Ь. Когда это число достигает 256, на выходе схемы появляется импульс, как только стимулируется 5, независимо от того, стимулируется ли аД Вы видите, что можно построить схемы, на вид сложные, но на самом деле очень простые с точки зрения того, как они были синтезированы. Эти схемы имеют приблизительно такую сложность, какую они и должны иметь, а именно сложность грамматического описания. Начертить этот рисунок не труднее, чем составить фразу, объясняющую, что вы хотите, и по сути дела результат Маккаллока и Питтса заключается в том, что в действительности между этими двумя вещами нет большой разницы. Точное словесное описание сосуществует с описанием на языке релейных органов.
Теперь я остановлюсь на том, что отсюда следует с философской точки зрения. С совершенной определенностью отсюда следует, что все, что можно описать словами, можно сделать на нейронах. Кроме того, отсюда следует, что эти нервные образования не нужно наделять сверхъестественными способностями или необычайной сложностью.
В самом деле, нет необходимости в том, чтобы они обладали возможностями и сложностью реальных элементов, так как объекты, представляющие собой сильно упрощенные и обедненные нейроны, имеющие намного меньше свойств и реагирующие куда более схематично, уже могут делать все, о чем вы можете подумать.
Точно так же представляется важным и то, что не вытекает из результата Маккаллока и Питтса. Из него не вытекает доказательства того, что любая схема, составленная таким образом, действительно встречается в природе. Из него не вытекает, что другие функции нервной клетки, которые выпали из нашего рассмотрения, не являются существенными. Из него не вытекает, что в утверждении «о чем ты думаешь, ты можешь описать» не осталось никаких проблем. Попытаюсь выразить эту мысль иначе. Изучая определенные стороны деятельности нервной системы человека, вы обнаружите, что некоторые из них таковы, что каждый их элемент в отдельности легко описать, но вы будете поражены общим объемом того, что нужно для описания в целом.
Предположим, вы хотите описать тот факт, что когда вы смотрите на треугольник, вы понимаете, что перед вами треугольник, и вы понимаете это независимо от того, маленький он или большой. Относительно просто это описать геометрически: треугольник — это три отрезка прямых, расположенных определенным образом. Это, разумеется, правильно, но ведь вы назовете треугольником и фигуру с искривленными сторонами, вы узнаете треугольник, если указаны лишь его вершины или если внутренняя часть его заштрихована, а внешняя нет. Вы назовете треугольниками много различных вещей, каждая из которых носит некоторые черты треугольника, но чем больше деталей вы попытаетесь учесть, тем длиннее будет ваше описание.
К тому же узнавание треугольников — это ничтожная доля тех аналогий, которые мы обнаруживаем в геометрии и которые в свою очередь составляют ничтожную долю всех возможных зрительных аналогий. При этом каждый такой случай в отдельности мы еще в состоянии описать, но когда речь идет обо всем зрительном механизме, позволяющем интерпретировать рисунок, вкладывать что-то в него, мы сталкиваемся с областями, заведомо не поддающимися описанию на этом языке. Любой человек может дать интерпретацию тестам Роршаха *), но эта интерпретация будет зависеть от его индивидуальности, от всей его предыстории, и это, по-видимому, очень хороший метод получить представление о характере этой личности.
т) Испытуемому предъявляется изображенное на бумаге пятно неопределенных очертаний (которое получается, скажем, при размазывании по листу чернильной кляксы) и предлагается сказать, какие образы он видит в этом пятне. Роршах — швейцарский психолог 20-х годов.— Прим, перев.
Словом, хотя все приведенное выше может показаться несколько надуманным и второстепенным, основной факт здесь состоит в том, что наш мозг чрезвычайно сложен. Примерно пятую часть головного мозга составляет его зрительный аппарат, который, насколько нам известно, не занят ничем другим, кроме принятия решений относительно зрительных аналогий. Если привлечь к рассмотрению числа, правда не очень надежные, но дающие, по-видимому, верную ориентацию, то придем к выводу, что сеть, содержащая порядка 2 миллиардов реле, не занимается ничем другим, кроме решения задачи, как организовать зрительный образ. Априори абсолютно не ясно, существует ли какое-нибудь более простое описание того, что такое зрительная аналогия, чем описание зрительного аппарата головного мозга г).
Обычно литературное описание того, что должен делать автомат, проще, чем полная схема этого автомата. Однако априори неверно, что это всегда так. Многое в формальной логике говорит за то, что описание функций автомата проще, чем сам автомат, но лишь до тех пор, пока этот автомат не очень сложный, а когда уровень сложности становится высоким, реальный объект проще, чем его литературное описание.
Я здесь несколько искажаю одну замечательную логическую теорему Гёделя о том, что следующий за этим логический шаг — описание объекта — имеет более высокий логический тип и, следовательно, асимптотически [?] бесконечно более длинное описание. Я считаю, что это абсолютно неизбежно; когда такая ситуация возникнет, это просто вопрос степени усложнения. Я думаю, что по ряду причин можно подозревать, что именно так обстоит дело с вещами, производящими неприятно туманное и расплывчатое впечатление (вроде вопроса, что такое зрительная аналогия), где мы чувствуем, что никогда не дойдем до конца описания. В таком случае быстрее сделать что-то, чем описать, быстрее привести схему, чем дать общее описание всех ее функций и всех мыслимых обстоятельств.
Очень важно понять, что сеть из формальных нейронов может сделать все, что можно описать словами, и это необычайно упрощает дело при низких уровнях сложности. Но при высоких уровнях сложности это не обязательно будет упрощением. Вполне возможно, что при высоких уровнях сложности ценность представляет собой обратное утверждение этой теоремы, т. е. она упрощает дело потому, что гарантирует обратное: можно выразить логику на языке этих построений, а прямое утверждение может быть и неверным. [Фон Нейман возвращается к этому вопросу на стр. 71 после обсуждения машин Тьюринга.]
!) Этот пример обсуждается фон Нейманом в его работе [2].— Прим, перев,
[Далее фон Нейман рассматривает два случая, в которых схемы из идеализированных нейронов, по-видимому, не дают объяснения, как же на самом деле центральная нервная система выполняет данную функцию. Первый случай — это передача по нервному волокну непрерывного значения, представляющего некоторую величину, например давление крови. По нервному волокну при этом передаются импульсы, частота следования которых монотонно зависит от давления крови. Это явление объясняется усталостью нейрона: после того как нейрон сработает, он в течение определенного периода, называемого периодом рефрактерности, не реагирует на входное возбуждение, и чем сильнее очередной стимул, тем раньше он сработает снова. Затем фон Нейман ставит такой вопрос: «Почему цифровое представление, насколько нам известно, никогда не используется в природе, а вместо него используется импульсное представление?» Это именно тот вопрос, который его интересует. Он предполагает, что ответ заключается в том, что схема с частотной модуляцией обладает большей надежностью, чем цифровая схема. См. разд. 1.1.2.3 настоящей книги, а также работы Неймана [2, стр. 57—58] и [1, т. 5, стр. 306-308, 375-376].]
[Второй случай, в котором схемы из идеализированных нейронов, по-видимому, не объясняют того, как на самом деле нервная система выполняет данную функцию, относится к памяти. Раньше фон Нейман построил схему памяти на идеализированных нейронах и отметил, что такую схему можно было бы сделать сколь угодно большой. Но он думает, что такая схема не является основным механизмом, употребляемым центральной нервной системой для запоминания.] Этот способ не годится для организации памяти по той простой причине, что использовать переключательный орган, подобный нейрону, или от шести до дюжины переключательных органов (столько на самом деле понадобилось бы из-за явления усталости), чтобы сделать такой пустяк, как запомнить одну двоичную единицу, было бы ужасно расточительно, так как переключательный орган может делать гораздо больше, чем запоминать. Классическим примером вычислительной машины, в которой переключательные органы были использованы для запоминания чисел, служит ENIAG — громадное сооружение, содержащее около 20 тысяч электронных ламп. Машина ENIAG примерно в 5 раз больше, чем последующие машины, которые должны быть (по замыслу) намного эффективнее. Эта машина превосходна во многих отношениях, но она имеет один серьезный недостаток — очень маленькую память. Ее память способна запомнить всего лишь 20 десятичных чисел, но, несмотря на это, машина громадная. Причина состоит в том, что для запоминания в ней используются электронные лампы, т. е. переключательные органы. Любое усовершенствование этой машины связано с заменой стандартных электронных ламп в памяти другими элементами.
Требования к памяти центральной нервной системы человека, вероятно, очень высоки. Были проведены соответствующие оценки, и они дали величины порядка 1016 двоичных единиц. Я не буду пытаться оправдать эту оценку; в защиту любого подсчета можно наговорить очень много. Я думаю, что по многим причинам следует считать, что 1010 переключательных элементов (примерно столько мы имеем), вероятно, уже по порядку величины не годятся для размещения той памяти, которой мы пользуемся, и, по-видимому, лучше будет признать, что мы просто не знаем, где находится наша память. Относительно этого можно делать самые различные предположения. Можно предположить, что основой памяти является какое-то изменение синапсов нервных клеток, характер которого нельзя предугадать схемой. Не знаю, имеются ли надежные данные, подтверждающие это; я склонен думать, что их нет. Вы можете высказать догадку, что нервные клетки, помимо переключательных свойств, обладают большим числом других и что на этих других и основана память. Быть может, это и так, но я думаю, что мы ровно ничего об этом не знаем. Вполне вероятно, что органы памяти совершенно другой природы, чем нейроны.
Главная трудность с органами памяти состоит в том, что, видимо, нет специального места их расположения. Всегда непросто локализовать что-то в головном мозгу, ибо он обладает колоссальной способностью к реорганизации. Даже когда некоторая функция локализована в конкретном участке головного мозга, после удаления этого участка головной мозг может реорганизоваться, перераспределить обязанности и исходная функция будет выполняться вновь. Эта приспособляемость головного мозга очень велика, и она затрудняет локализацию. Я подозреваю, что функция памяти локализована меньше, чем что-либо еще. [См. Нейман [2, стр. 48—52].]
Я хотел отметить эти два обстоятельства [уставание и память] как весьма очевидные упущения в подходе Маккаллока и Питтса к исследованию нервной системы. Теперь я хочу рассмотреть подход Тьюринга. Из теории Маккаллока и Питтса следует, что реальный автомат, соответствующим образом описанный и аксиоматизированный, эквивалентен формальной логике. В теории Тьюринга вывод делается в обратную сторону. Тьюринг интересовался формальной логикой, а не автоматами. Он занимался доказательством теорем, относящихся к важной проблеме формальной логики, так называемой Entscheidungsproblem, проблеме разрешимости. Эта проблема состоит в том, чтобы для некоторого класса логических выражений, или высказываний, определить, существует ли механический способ, позволяющий решить, истинно или ложно данное выражение. Обсуждение Тьюрингом автоматов было просто формальным, логическим приемом изучения этой проблемы более ясным и более последовательным образом.
[Фон Нейман приводит определение автомата по Тьюрингу. Если Маккаллок и Питтс начали с компонент или элементов, то Тьюринг начал с состояний. В каждый момент времени автомат находится в одном из конечного множества состояний. «Внешний мир»— это лента. Автомат способен воспринимать одну ячейку (клетку) этой ленты: он может изменить содержимое ячейки и передвинуть ленту на одну ячейку вправо или влево. Некоторый словарь предписывает для каждого состояния автомата и каждого символа на ленте, каким должно стать следующее состояние и что должно быть сделано с лентой. Лента имеет одну отмеченную ячейку. С самого начала на ленту может быть нанесена какая-то конечная программа. Двоичные числа, сосчитанные автоматом, записываются в ячейках через одну, начиная от отмеченной.]
[Далее фон Нейман описывает результат Тьюринга, относящийся к универсальным автоматам. Существует универсальный автомат А со следующими свойствами. Для каждого автомата А существует такая последовательность инструкций 1А. что для любой последовательности инструкций / автомат А, снабженный инструкциями 1А и /, вычисляет то же самое число, что и автомат А, снабженный инструкциями 1Л Автомат А способен имитировать любой автомат, даже намного более сложный. Таким образом, меньшая степень сложности автомата может быть скомпенсирована соответствующим увеличением сложности инструкций. В исследовании Тьюринга важно то, что если автомат сконструирован правильно, то можно удовлетворить любым дополнительным требованиям к этому автомату, если применить достаточно тщательно построенные инструкции. Это верно, только если автомат А достаточно сложен, т. е. достиг некоторого минимального уровня сложности. Другими словами, существует ряд операций, которые никогда не сможет выполнить упрощенный автомат, каковы бы ни были инструкции. В то же время существует определенная конечная точка (характеризующая сложность), и автомат этой сложности,снабженный соответствующими инструкциями, может сделать все, что может быть вообще сделано автоматами.
[Далее фон Нейман объясняет, как универсальный автомат А имитирует произвольный автомат А. Инструкции 1А содержат представление автомата А в виде словаря, указывающего для каждого состояния автомата А и каждого символа на ленте, каково должно быть его следующее состояние и что нужно сделать с лентой. Универсальный автомат А способен читать любой такой словарь и действовать в соответствии с ним. А записывает на своей ленте одно за другим последовательные состояния автомата А и то, что получается на ленте этого автомата.] Я не буду вдаваться в дальнейшие подробности. Я привел некоторые детали для того, чтобы показать, что
здесь мы впервые сталкиваемся с чем-то, что имеет атрибут универсальности, т. е. обладает способностью сделать все, что может быть кем-то сделано. Вы видите также, что способ внесения дополнительной сложности (путем использования более подробных инструкций) не создал здесь никакого порочного круга. Вы также видите, что процесс, ведущий в конечном счете к универсальности, связан со ■строгой теорией описания объектов и со строгим распорядком, предписывающим, как отыскивать утверждения в словаре и выполнять их.
Формальные логические исследования Тьюринга идут гораздо дальше этого. Тьюринг доказал, что существует нечто, для чего нельзя построить автомат, а именно нельзя построить автомат, предсказывающий, за сколько шагов другой автомат, который может решать определенную задачу, в действительности решит ее. Таким образом, можно сконструировать автомат, способный сделать все, что может быть вообще сделано автоматом, но нельзя построить автомат, предсказывающий поведение любого произвольного автомата. Другими словами, можно построить орган, способный делать все, что вообще можно сделать, но нельзя построить орган, дающий ответ на вопрос, можно ли это сделать.
Это обусловлено структурой формальной логики и в особенности свойством, которое я не буду обсуждать, но которое я бы хотел отметить, употребляя соответствующий научный жаргон, для тех, кто знаком с современной формальной логикой. Это свойство связано с теорией типов и с результатами Гёделя. Оно состоит в том, что можно работать внутри логического типа, включающего в себя все, что реализуемо, но вопрос, реализуемо ли нечто в каком-то типе, сам принадлежит к более высокому логическому типу. Это согласуется с замечанием, сделанным мною раньше, о том, что объекты низкой сложности характеризуются тем, что говорить об объекте легче, чем создать его, и предсказать свойства объекта легче, чем построить его. Но в сложных системах формальной логики на порядок труднее рассказать, что объект может делать, чем сделать сам объект. Сфера законности данного вопроса относится к более высокому типу, чем сам вопрос.
[На этом вторая лекция фон Неймана кончается. Я хочу добавить некоторый комментарий к ее двум последним абзацам, сделав сначала несколько общих замечаний о машинах Тьюринга.
Машина Тьюринга есть в своей основе конечный автомат с неограниченно удлиняемой лентой. Но существует много различных способов использования машины Тьюринга. Пусть ячейки ленты занумерованы числами 0, 1, 2, 3, . . .; ячейки с четными номерами предназначены для рабочего пространства, а с нечетными номерами — для программы, формулировки задачи (если она есть) и для ответа. Пусть символами ответа будут 0 и 1, не считая незаполненной ленты (разумеется, их можно было бы закодировать, пользуясь лишь двумя
основными символами: наличием пометки и отсутствием ее). Предположим, наконец, что эта машина записывает разряды ответа (0 или 1) в последовательные ячейки, предназначенные для ответа.
Конкретная машина Тьюринга — это такая машина Тьюринга, на ленте которой с самого начала записана конечная программа или формулировка задачи. Абстрактная машина Тьюринга представляет собой класс всех конкретных машин Тьюринга, содержащих данный конечный автомат. Можно представлять себе абстрактную машину Тьюринга как некоторый конечный автомат с неограниченно наращиваемой чистой лентой, на которой с самого начала может быть размещена любая программа или задача.
Конкретные машины Тьюринга можно разбить на два класса: циклические и ациклические. Циклическая машина печатает конечную последовательность двоичных символов и останавливается. Ациклическая машина продолжает печатать двоичные символы в чередующиеся ячейки неограниченно долго; мы будем называть это вычислением бесконечной последовательности.
Фон Нейман рассматривал универсальную машину Тьюринга, состоящую из конечного автомата А и неограниченно удлиняемой ленты. Универсальная машина Тьюринга — это абстрактная машина Тьюринга, вычисляющая любую последовательность, вычисляемую машинами Тьюринга. Более точно: для каждой конкретной машины Тьюринга с конечным автоматом А и программой / существует такая программа IAl что машина А с программами 1А и I вычисляет последовательность, вычисленную машиной А с программой I. Универсальную машину Тьюринга можно охарактеризовать и иначе. Пусть Г обозначает класс конечных и бесконечных последовательностей, вычисленных конкретными машинами Тьюринга. Тогда каждая последовательность из Г вычисляется абстрактной машиной Тьюринга А + IA + I, где 1А и I пробегают всевозможные программы. Так как объединение двух программ также есть программа, то каждая последовательность из Г вычисляется машиной Тьюринга А + /, где I пробегает всевозможные программы.
Разрешающей машиной для данного класса вопросов называется абстрактная машина Тьюринга, которая, получив вопрос из этого класса, печатает 1, если ответ утвердительный, и 0, если ответ отрицательный.
Проблема остановки г) — это проблема выбора решения, является ли произвольная конкретная машина Тьюринга циклической (т. е. когда-нибудь остановится) или ациклической. Тьюринг [3, разд. 8] показал, что проблема остановки неразрешима, т. е. разрешающей машины для остановки не существует. Доказательство приведено ниже в разд. 1.6.3.2. части II. Как следствие этого Тьюринг доказал,
т) В оригинале halting problem.— Прим, перев.
что не существует разрешающей машины для решения, напечатает ли когда-нибудь произвольная конкретная машина Тьюринга данный символ (например, 0). Так как остановка и печатание данного символа представляют собой некоторые аспекты поведения машины Тьюринга, то из результатов Тьюринга вытекает, что поведение автомата не может быть полностью предсказано автоматами. Как выразил это выше фон Нейман, «нельзя построить автомат, предсказывающий поведение любого произвольного автомата».
Конкретные машины Тьюринга можно перенумеровать и, таким образом, привести во взаимно однозначное соответствие с неотрицательными целыми числами. Рассмотрим множество всех конкретных машин Тьюринга, и пусть t пробегает целые числа, представляющие их. Зададим теоретико-числовую функцию п ^ как число шагов, которое потребуется машине £, прежде чем она напечатает первый нуль. Если машина t никогда не печатает 0, то п (^) по определению полагается равной 0.
Заметим, что последовательность, состоящую из п единиц, за которыми следует 0, можно интерпретировать как целое число п. Встает вопрос: существует ли абстрактная машина Тьюринга, вычисляющая п (£) для любого £? Из следствия, установленного Тьюрингом, сразу же вытекает, что нет, так как если бы можно было найти п (^), то можно было бы решить, напечатает ли когда-нибудь машина t нуль. Я думаю, что именно это имел в виду фон Нейман, когда говорил: «Тьюринг доказал, что... нельзя построить автомат, предсказывающий, за сколько шагов другой автомат, который может решать определенную задачу, в действительности решит ее».
В последнем абзаце лекции 2 фон Нейман ссылается на теорему Гёделя: «Можно работать внутри логического типа, включающего в себя все, что реализуемо, но вопрос, реализуемо ли нечто в каком- то типе, сам принадлежит к более высокому логическому типу». Так как я не знаю такой теоремы у Гёделя, то мне эта ссылка показалась несколько загадочной, так же как и более ранняя ссылка на Гёделя (стр. 67) и аналогичная ссылка в докладе фон Неймана на Хиксоновском симпозиуме (см. Нейман [4, стр. 91]). Я написал письмо профессору Курту Гёделю с тем, чтобы выяснить, не может ли он пролить свет на этот вопрос. Его ответ, по моему мнению, дает наиболее правдоподобное объяснение этой ссылке, и поэтому я включил сюда относящиеся к делу части нашей переписки, слегка их отредактировав.
Я написал профессору Курту Гёделю следующее:
«Я занимаюсь подготовкой к печати двух незаконченных рукописей фон Неймана по теории автоматов. В одной из них, в цикле лекций, прочитанных им в Иллинойсском университете в 1949 г., он дает ссылку на Вашу работу, которую я не в состоянии понять. Так как вполне возможно, что он обсуждал этот вопрос с Вами, я позволил себе написать Вам об этом.
Начало положил доклад, сделанный Джонни на Хиксоновском симпозиуме ) в Пасадене в 1948 г. В этом докладе рассматривается проблема создания строгого описания зрительной аналогии. При распознавании зрительных образов глаз человека и нервная система функционируют как конечный автомат с определенным поведением. Фон Нейман, видимо, предполагает, что простейшим способом описания поведения этого конечного автомата является, возможно, описание структуры самого автомата. Это весьма правдоподобно. Но затем он выразил эту мысль иначе, и здесь я не понимаю: «У нас нет полной уверенности в том, что в этой области реальный объект не может являться простейшим описанием самого себя, т. е. что всякая попытка описать его с помощью обычного словесного или формального логического метода не приведет к чему-то более сложному, запутанному и трудновыполнимому. В самом деле, некоторые результаты современной логики как будто указывают на то, что подобных явлений следует ожидать, когда мы переходим к рассмотрению действительно сложных сущностей» 2). В подчеркнутых словах (набранных здесь курсивом. — Ред.), по-видимому, имеются в виду Ваши работы. Посылаю Вам экземпляр этого доклада.
В лекциях, прочитанных в 1949 г. в Иллинойсе, Джонни подчеркивает, по-видимому, то же самое обстоятельство, а именно что простейшее описание того, что представляет собой зрительная аналогия, состоит в перечислении соединений, находящихся в зрительном аппарате мозга человека. Затем он опять говорит, что многое в современной формальной логике указывает на то, что пока автомат не слишком сложно устроен, описание его функций проще, чем описание самого автомата. В случае достаточно сложных автоматов ситуация меняется. Далее идет явная ссылка на Вашу работу: «Я здесь несколько искажаю одну замечательную логическую теорему Гёделя о том, что следующий за этим логический шаг — описание объекта — имеет -более высокий логический тип и, следовательно, асимптотически [?] бесконечно более длинное описание».
Он возвращается к этому вопросу после обсуждения машин Тьюринга и упоминания результата Тьюринга о неразрешимости проблемы остановки. Затем он замечает, что все это связано с теорией типов и с Вашими результатами. Запись лекций в этом месте очень плохая, и я постараюсь восстановить их наилучшим образом. «Это свойство связано с теорией типов и с результатами Гёделя. Оно состоит в том, что можно работать внутри логического типа, включающего в себя все, что реализуемо, но вопрос, реализуемо ли нечто в каком-то типе, сам принадлежит к более высокому логическому типу. Это согласуется с замечанием, сделанным мною раньше, о том,
что объекты низкой сложности характеризуются тем, что говорить об объекте легче, чем создать его, и предсказать свойства объекта легче, чем построить его. Но в сложных системах формальной логики на порядок труднее рассказать, что объект может делать, чем сделать сам объект. Сфера законности данного вопроса относится к более высокому типу, чем сам вопрос». Посылаю Вам соответствующие страницы Иллинойсских лекций.
Можно согласиться с тем, что описание объекта имеет более высокий логический тип, чем сам объект, но что, кроме этого, хотел сказать фон Нейман, я не понимаю. Мне приходят в голову два варианта, но оба они приводят к результату, противоположному тому, какой нужен Джонни. Один вариант: рассматривать число Гёделя как описание формулы. Но по крайней мере в некоторых случаях запись числа Гёделя для формулы требует меньше символов, чем сама формула, иначе не могла бы существовать относящаяся к самой себе неразрешимая формула х). Другой вариант связан с теоремой, содержащейся в Вашей статье 1936 г. ). Пусть даны системы S и S1? причем 54 больше 5. В теореме утверждается, что для каждой рекурсивной функции F существует предложение, доказуемое в обеих системах и такое, что наиболее короткие доказательства в этих двух системах обладают следующим свойством: число Гёделя доказательства в системе S больше, чем рекурсивная функция F, примененная к числу Гёделя доказательства в системе Sv Эта теорема удовлетворяет всем условиям, о которых говорит фон Нейман, но она дает, по-видимому, противоположный результат: из нее вытекает, что чем выше тип, тем короче доказательство.
Я был бы очень Вам благодарен, если бы Вы смогли как-то объяснить эти непонятные для меня места в лекциях фон Неймана».
Профессор Гёдель ответил следующее. «У меня есть некоторые соображения по поводу того, что мог иметь в виду фон Нейман в тех отрывках, которые Вы цитируете: правда, поскольку я никогда не обсуждал с ним этих вопросов, то это всего лишь догадки.
Я думаю, что моя теорема, на которую ссылается фон Нейман, это не теорема о существовании неразрешимых высказываний и не теорема о длинах доказательств, а скорее тот факт, что полное эпистемологическое ) описание языка А нельзя осуществить на том же языке А, ибо в языке А нельзя определить понятие истинности предложений языка А. Именно из этого факта на самом деле вытекает
*) [См. Гёдель [1]. Число Гёделя для неразрешимой формулы равно п. Эта формула гласит: «Формула, число Гёделя которой равно п^ не является теоремой». Таким образом, но Гёделю неразрешимая формула относится к самой себе. Она неразрешима в том смысле, что ни она, ни ее отрицание не являются теоремами системы, рассматриваемой Гёделем.]
существование неразрешимых высказываний в формальных системах г содержащих арифметику. В моей работе 1931 г. отсутствовала точная формулировка этой теоремы, она была приведена лишь в моих лекциях в Принстоне в 1934 г. г). Эту же теорему доказал Тарский в своей статье о понятии истинности, опубликованной в 1933 г. ).
Эта теорема ясно показывает, что описание работы данного устройства часто оказывается более сложным, чем описание самого устройства, в том смысле, что для такого описания требуются новые и более абстрактные основные понятия, т. е. понятия более высоких типов. Но, как Вы верно заметили, из этой теоремы нельзя сделать никакого вывода о том, при каком числе символов результат будет противоположным.
Однако, что именно фон Нейман, по-видимому, имел в виду, яснее видно на примере универсальной машины Тьюринга. Полное описание поведения такой машины бесконечно, так как из-за отсутствия разрешающей процедуры, предсказывающей ее поведение, это полное описание можно осуществить только с помощью перечисления всех случаев. Разумеется, тут предполагается, что только разрешимые описания считаются полными, но это согласуется с конечным образом мышления. Универсальную машину Тьюринга, где отношение двух типов сложностей бесконечно, тогда можно было бы рассматривать как предельный случай других конечных устройств. Это немедленно приводит к предположению, высказанному фон Нейманом».]
х) [См. Гёдель [2].]
ЛЕКЦИЯ 3СТАТИСТИЧЕСКИЕТЕОРИИ ИНФОРМАЦИИЛЕКЦИЯ 3СТАТИСТИЧЕСКИЕТЕОРИИ ИНФОРМАЦИИТеория информации: вероятностная часть; соотношение обычной и вероятностной логики; интерпретация теории вероятностей, данная Кейнсом; примеры, иллюстрирующие связь логики с классической механикой и со статистической механикой; соответствующая ситуация в квантовой механике.
ЛЕКЦИЯ 3
СТАТИСТИЧЕСКИЕ
ТЕОРИИ ИНФОРМАЦИИ
ЛЕКЦИЯ 3
СТАТИСТИЧЕСКИЕ
ТЕОРИИ ИНФОРМАЦИИ
Математические аспекты перехода от формальной логики к вероятностной. Анализ и комбинаторика.
Термодинамический аспект: информация и энтропия.
Теория Сциларда. Теория Шеннона.
Дополнительные замечания о термодинамической природе внутреннего равновесия в вычислительной машине.
На этом я заканчиваю свои замечания, относящиеся к точным, логическим вопросам информации, и перехожу к статистическим соображениям, связанным с информацией. Важность их при исследовании автоматов и их функций совершенно очевидна по крайней мере по следующим двум причинам. Первая может показаться несколько посторонней и случайной, но я думаю, что это не так; относительно второй причины это заведомо не так.
Первая причина состоит в том, что практически не может быть абсолютно надежного автомата. Когда мы аксиоматически задаем автомат, указывая точно, что он должен делать в каждой вполне определенной ситуации, мы опускаем важную часть проблемы. Аксиоматизация автомата применительно к определенной ситуации — очень неплохое упражнение для тех, кто сталкивается с этим вопросом впервые, но каждый, кто накопил здесь достаточный опыт, знает, что это всего лишь предварительный этап.
Вторая причина, по которой статистические соображения представляются важными в теории автоматов, состоит в следующем. Возьмем, к примеру, автомат, созданный руками человека или существующий в природе. Как правило, его структура лишь отчасти подчинена формальным, строгим требованиям. Гораздо сильнее она зависит от того, каким образом могут возникать повреждения, а также от тех (более или менее эффективных) мер, которые были предприняты для их предупреждения. Пожалуй, не стоит говорить, что эти меры предупреждают повреждения. Это было бы в данном случае преувеличением, использованием слишком оптимистической терминологии, не соответствующей истинному положению дел. Это скорее не меры предупреждения повреждений, а меры, направленные на достижение такого состояния, когда по крайней мере большая часть повреждений не оказывается смертельной. Не может быть и речи об исключении возможности повреждений или о полном устранении их влияния. Все, что мы можем сделать, это попытаться орга-
низовать работу автомата так, чтобы в подавляющем большинстве случаев он при повреждениях продолжал работать. Эти меры являются паллиативными, а не излечивающими. В искусственных и естественных автоматах принимаются в основном именно такие меры.
Допуская повреждение в качестве независимой логической возможности, мы отказываемся от строгой формулировки аксиом. Эти аксиомы уже не имеют форму: если произошли события А и В, то произойдет событие С. Они теперь будут иметь вид: если произошли события А и В, то с определенной вероятностью произойдет событие С, с (другой) определенной вероятностью произойдет событие D и т. д. Другими словами, в каждой ситуации допускается несколько возможностей с различными вероятностями. Математически проще сказать, что что-то следует за чем-то в соответствии с некоторой вероятностной матрицей. Можно поставить вопрос так: если события А и В произошли, то какова вероятность того, что произойдет событие С? Этот вероятностный пример характерен для вероятностной системы логики. В этой системе следует рассматривать и естественные, и искусственные автоматы при достаточной степени сложности х). Позже я остановлюсь на том, почему именно сложность приводит к необходимости вводить такого рода аксиоматику, а не точную ).
Это наводит на мысль, что вероятностные рассуждения можно рассматривать как ветвь логики или, вернее, можно считать вероятностную логику обобщением обычной логики. Но эта точка зрения не тривиальна, не общепринята и не является основной интерпретацией вероятностей. Однако она является классической интерпретацией вероятностей. Конкурирует с ней частотная интерпретация, при которой логика считается однозначной, а в отношении явлений, о которых нет полной информации, делаются лишь заключения, выраженные в частотах.
Это различие, я думаю, очень хорошо понимал Лаплас [1], отмечавший возможность двух точек зрения на вероятность: частотной и логической. В более близкие нам годы особый упор на это различие’ сделал экономист Кейнс [1]. Он достаточно тщательно проанализировал этот вопрос и показал, что наряду с более широко распространенной частотной точкой зрения на вероятность существует также логическая точка зрения. Но он не пытался отделить точную логику от вероятности, а просто говорил, что при последовательном осуществлении событий Л и 5 их количественной характеристикой будет «та вероятность, с которой В следует за А». Единственная связь с точной логикой состоит в том, что когда эта вероятность равна 1,
Э [См. Нейман [7], где содержится подробное исследование автоматов с этой точки зрения.]
мы получаем импликацию, а когда она равна 0 — исключение > Когда эта вероятность близка к 1 или к 0, эти выводы (правда, в менее точном смысле) делать также можно.
В такой логической позиции есть очевидные слабые места. При некоторых подходах к вероятностям неудобно отождествлять нулевую вероятность с невозможностью. Кроме того, не совсем ясно, в каком смысле малая вероятность означает, что можно ожидать, что определенное событие не произойдет. Тем не менее Кейнс построил непротиворечивую систему аксиом. Существует много современных теорий, например квантовая механика, в которых скорее всего надо занять именно такую философскую позицию, но последнее слово по этому вопросу еще не сказано и, по-видимому, будет сказано не скоро. Так или иначе, в случае квантовой механики мы подвергаемся серьезному искушению изменить наш взгляд на логику и считать, что вероятность внутренне связана с логикой х).
[Фон Нейман рассматривает затем две теории вероятностей и информации, «безусловно имеющие отношение к данному контексту, хотя еще и непонятые с формально-логической точки зрения». Первая — это теория энтропии и информации в термодинамике, вторая — теория информации Шеннона.
Говоря об энтропии и информации, фон Нейман ссылается на Больцмана, Хартли и Сциларда. Он подробно разбирает парадокс «демона Максвелла» и показывает, как его разрешил Сцилард, установив связь информации и энтропии). Фон Нейман подчеркивает, что шенноновская теория — это количественная теория измерения пропускной способности канала связи. Он объясняет понятие избыточности и дает примеры. Он показывает, что именно наличие избыточности позволяет исправлять ошибки, например, при чтении корректуры. Избыточность — «это единственное обстоятельство, позволяющее писать тексты объемом, скажем, более десяти страниц. Другими словами, максимально сжатый язык был бы на самом деле не приго-
х) [В работе [8] фон Нейман делает такой вывод: «Вероятностная логика не может быть сведена к точной логике, а составляет существенно более широкую систему, и утверждения вида Р (а, 6) — (р (0< ср < 1) являются совершенно новыми и sui generis (своеобразными (лат.).— Перее?) аспектами физической реальности.
Так вероятностная логика появляется как обобщение точной логики. Такой взгляд, эта так называемая «логическая теория вероятностей», лег в основу работы Дж. М. Кейпса по этому вопросу».
Ср. Биркгоф, Нейман [1] и Моргенштерн, Нейман [1, разд. 3.3.3].]
ден для сообщения информации, превышающей некоторый определенный уровень сложности, потому что никогда нельзя было бы узнать, верен текст или ошибочен. И это свойство принципиальное. Следовательно, сложность среды, с которой вы работаете, как-то связана с избыточностью».
В обзоре книги Н. Винера «Кибернетика», сделанном фон Нейманом (см. Нейман [10]), содержится развернутое высказывание об энтропии и информации, которое уместно привести здесь. «Энтропия для физика — это понятие из термодинамики, дисциплины, изучающей переходы между различными формами энергии. Хорошо известно, что полная энергия в замкнутой системе всегда сохраняется: энергия не создается и не исчезает, а только трансформируется. Это первая фундаментальная теорема термодинамики, или теорема об энергии. Кроме того, существует вторая фундаментальная теорема термодинамики — теорема об энтропии, утверждающая, что имеется определенная иерархия различных форм энергии: механическая энергия (кинетическая и потенциальная), составляющая высшую форму, и следующая за ней тепловая энергия, которая в свою очередь образует убывающую иерархическую последовательность (расположенную в порядке убывания температуры), причем все другие формы энергии можно полностью расклассифицировать по отношению к градациям этой схемы. В этой теореме утверждается далее, что энергия всегда деградирует, т. е. всегда самопроизвольно переходит от высшей формы к низшей. Если же в какой-то части системы произойдет обратное, то в какой-нибудь другой ее части будет компенсирующая деградация энергии. Учет, требуемый для контроля над этой повсеместно продолжающейся деградацией, обеспечивается некоторой однозначно определенной физической величиной — энтропией, которая служит мерой иерархического положения, занимаемого каждой формой энергии, или степени ее деградации.
Термодинамические методы измерения энтропии были известны еще в середине XIX века. Уже в первой работе по статистической физике (Больцман, 1896) было замечено, что энтропия тесно связана с информацией. Больцман установил, что энтропия пропорциональна логарифму числа возможностей некоторой физической системы, остающихся после того, как зарегистрирована вся информация, которую можно получить макроскопически г). Другими словами, она пропорциональна логарифму величины недостающей информации. В дальнейшем эта концепция разрабатывалась различными авторами для различных приложений: Найквистом [1] и Хартли [1] для передачи информации по техническим системам связи, Сцилар- дом [1] для информации в физике вообще, а также автором этих строк
) [См. Больцман [1, т. I, разд. 6]. Впервые этот результат Больцмана появился в 1877 г. в его работе [2, т. II, стр. 164—233].]
в квантовой механике и физике элементарных частиц (Нейман [5, гл. 5]) х).
Подготовленному читателю рекомендую ознакомиться с дополнительной литературой по этому вопросу и прежде всего с работой Сциларда [1], содержащей весьма поучительный анализ известного термодинамического парадокса «демона Максвелла», а также с последними очень важными и интересными результатами Шеннона [1] по теории информации, искусственным языкам, кодам и т. д. Есть все основания полагать, что общие законы деградации энергии, выполняющиеся, когда энтропия используется как мера иерархического положения энергии, имеют важные аналоги при использовании энтропии для измерения информации. Отсюда следует, что, быть может, существует связь между термодинамикой и новыми обобщениями логики».
Далее в Иллинойсских лекциях фон Нейман освещает работу Хемминга, касающуюся кодов, обнаруживающих и исправляющих ошибки. Затем он показывает, как в теории информации применяются цифровые системы (двоичные, десятичные и др.). «Цифризация — это очень простой прием, позволяющий получить хорошую точность из плохой. Записывая 30 двоичных единиц с помощью 30 приборов, у которых можно выделить два состояния(с ошибкой, скажем, в 10%), можно представить число с точностью примерно до одной миллиардной. Главное достоинство цифровой системы в том, что другого способа добиться того же самого мы не знаем. С точки зрения информации ясно, что это сделать можно, так как энтропия системы из 30 бинарных приборов составляет 30 единиц, а энтропия величины, заданной с точностью до одной миллиардной, равна логарифму от миллиарда (по основанию 2), т. е. около 30 единиц».
Фон Нейман замечает, что, хотя в живых организмах для передачи информации используются смешанные импульсно-аналоговые системы, цифровые системы с кодированием, насколько нам известно, в живых организмах не используются. Когда «в нервной системе передается число, оно передается не как закодированная цифровая группа, а фактически посредством частотной модуляции». Он предполагает, что причина этого кроется в том, что метод частотной модуляции надежнее цифровой системы.]
Я попытался привести доводы в оправдание того, что нам необходима некоторая теория информации и что сейчас мы располагаем лишь незначительной частью того, что нам нужно. Первые следы такой теории, которые уже существуют, и сведения из смежных областей показывают, что такая теория, по-видимому, будет похожа на две ныне известные теории: формальную логику и термодинамику. Ее предполагаемое сходство с формальной логикой не удивительно,
!) См. примечание переводчика на стр. 79.—- Прим, перев.
а вот то, что она, вероятно, будет иметь много общего с термодинамикой, довольно странно.
Хотя эта новая теория информации во многих отношениях будет походить на формальную логику, она, по-видимому, будет ближе к обычной математике, чем сама формальная логика. Причина этого в том, что современная формальная логика носит крайне неаналитический, нематематический характер: она занимается лишь процессами типа «все или ничего», где все, что происходит или не происходит, либо является конечно осуществимым, либо не является конечно осуществимым. Эти процессы типа «все или ничего» слабо связаны с анализом, наиболее развитой и хорошо известной частью математики, и тесно связаны с комбинаторикой — той частью математики,, о которой мы знаем меньше всего. Вероятно, тот формально-логический аппарат, который мы должны будем здесь применять, ближе к обычной математике, чем логика сегодня. Особенно он будет ближе к анализу, поскольку все аксиомы будут носить, по-видимому, вероятностный, а не точный характер. Так было и в квантовой механике.
В эту новую теорию информации, возможно, войдут термодинамические понятия. Очень многое свидетельствует за то, что информация подобна энтропии, а процессы вырождения, связанные с энтропией, имеют параллели в процессах вырождения при обработке информации. Вполне вероятно, что нельзя определить функцию автомата или его эффективность до тех пор, пока внешняя среда, в которой он работает, не охарактеризована некоторым набором статистических свойств, аналогичных используемым для характеризации внешней среды в термодинамике. Эти статистические переменные автоматной среды будут, разумеется, чем-то более сложным, чем стандартная термодинамическая переменная температура, но они, вероятно, будут носить близкий характер.
Из практики построения вычислительных машин следует с очевидностью, что одним из решающих свойств вычислительных машин является равновесие: равновесие между быстродействием отдельных частей, баланс между быстродействием одной части и размерами других частей. Я отмечал это, говоря об иерархической структуре памяти [стр. 61]. Все эти требования аналогичны условиям баланса в термодинамике, необходимым для получения достаточной эффективности. Автомат, в котором одна часть намного быстрее другой, или где память слишком мала, или где отношение скоростей двух уровней памяти слишком велико по сравнению с величиной одной из них, очень похож на тепловую машину, которая не может работать нормально из-за слишком большого температурного различия между ее частями. Я не буду вдаваться в дальнейшие подробности, а только подчеркну, что здесь связь с термодинамикой, вероятно, очень тесная.
ЛЕКЦИЯ 4РОЛЬ высокойИ ОЧЕНЬ высокой сложностиЛЕКЦИЯ 4РОЛЬ высокойИ ОЧЕНЬ высокой сложностиСравнение вычислительных машин с нервной системой. Оценки размеров вычислительных машин настоящего и ближайшего будущего.
ЛЕКЦИЯ 4
РОЛЬ высокой
И ОЧЕНЬ высокой сложности
ЛЕКЦИЯ 4
РОЛЬ высокой
И ОЧЕНЬ высокой сложности
Оценки размеров центральной нервной системы человека. «Смешанный» характер живых организмов. Аналоговые и цифровые элементы. «Смешанный» характер всех компонентов — как естественных, так и искусственных.
Оценка различия в размерах искусственных и естественных автоматов. Объяс
нение этого различия, основанное на физических факторах.
Вероятность присутствия других факторов. Роль сложности и необходимость соответствующего теоретического обоснования. Вопросы надежности и ошибок, пересмотренные заново. Вероятность отдельных ошибок и длина процедуры. Типичные длины процедур в вычислительных машинах и живых организмах, т. е. в искусственных и естественных автоматах. Верхние границы приемлемых вероятностей ошибок в отдельных операциях. Компенсация за счет контроля и самоисправления.
Принципиальные отличия в способах борьбы с ошибками в искусственных и естественных автоматах. Принцип «единственной ошибки» в искусственных автоматах. Грубость нашего подхода в этом случае как результат отсутствия адекватной теории. Более подробный анализ этой проблемы в искусственных автоматах: роль автономии частей; ее связь с эволюцией.
После обсуждения в последних двух лекциях вопросов весьма общего характера я бы хотел вернуться к проблемам известных нам конкретных автоматов. Мне бы хотелось сравнить искусственные автоматы, в особенности вычислительные машины, с естественными автоматами, в частности с нервной системой человека. Для этого я скажу несколько слов относительно используемых в обоих случаях элементов и сопоставлю некоторые размеры.
Как я уже отмечал, при оценке размеров нервной системы человека мы вынуждены пользоваться числом, которое нельзя считать достаточно надежным, но которое, видимо, достоверно по порядку величины. Я имею в виду свое утверждение, что головной мозг человека содержит 1010 нейронов. Число нервных волокон, рассеянных по всем другим местам организма человека, вероятно, гораздо меньше причем многие из них, во всяком случае, начинаются в мозгу. Самое крупное скопление периферических нервных волокон находится в сетчатке глаза, а зрительный нерв, идущий от сетчатки к мозгу, составляет часть головного мозга.
По сравнению с этим количество ламп в известных нам вычислительных машинах чрезвычайно мало, в миллион раз меньше. В самой крупной из существующих вычислительных машин ENIAC содержится 20 тысяч электронных ламп. Другая большая вычислительная
машина SSEC г), принадлежащая компании IBM ), содержит примерно 10 тысяч электронных ламп и столько же реле. Предполагается что в наиболее быстрой из конструируемых сейчас вычислительных машин будет порядка 3 тысяч ламп. Причина такого различия в размерах машины ENIAC и конструируемых сейчас быстродействующих машин кроется в различии способов обращения с памятью, которое мы обсудим позже.
Таким образом, нервная система человека, грубо говоря, в миллион раз сложнее этих больших вычислительных машин. Увеличение сложности при переходе от этих вычислительных машин к центральной нервной системе больше, чем увеличение сложности при переходе от одной-единственной электронной лампы ко всей вычислительной машине. Даже если измерять сложность по логарифмической шкале, все равно на пути создания сложных автоматов мы еще не дошли и до половины сложности нервной системы человека, и я думаю, что при любом разумном определении сложности нам до этой половины еще довольно далеко.
Однако в защиту вычислительных машин отмечу, что они работают намного быстрее мозга. Интервал времени, через который нервное волокно способно ответить на раздражение, составляет примерно 1/2 миллисекунды. Но это время не характеризует скорость работы нейрона, ибо важен не интервал, через который нейрон дает реакцию, а время его восстановления, т. е. интервал от одной реакции до ближайшей возможной. Это время, в лучшем случае равно 5 миллисекундам. Время восстановления электронной лампы трудно оценить, но в существующих проектах вычислительных машин обычно принимается, что частота повторения должна немного превосходить 1 миллион раз в секунду.
Итак, нервная система содержит в миллион раз больше элементов, чем названные машины, но каждый элемент в машине работает примерно в 5 тысяч раз быстрее, чем нейрон, так что нервная система превосходит вычислительную машину, грубо говоря, в 200 раз. На самом деле эта оценка несколько занижена, так как п-кратное увеличение размеров автомата дает гораздо больше, чем п-кратное увеличение объема выполняемой работы. Этот объем зависит от связей между компонентами, которые растут как квадрат числа компонент. Кроме того, этот объем определяется наличием некоторого минимума. До тех пор пока сложность не превышает некоторый минимальный уровень, ряд вещей вообще нельзя сделать, но если этот уровень превзойден, они становятся выполнимыми.
[Далее фон Нейман сравнивает нервную систему человека и вычислительную машину в отношении их размеров. Решающим факто-
ром здесь служит пространство, в котором выполняются функции управления и усиления. В случае электронной лампы — это непосредственно промежуток между катодом и управляющей сеткой, имеющий величину порядка миллиметра. В нервной клетке — это мембрана. Ее толщина порядка одного микрона. Указанные размеры соотносятся примерно как 1000 к 1; так же соотносятся разности потенциалов, так что напряженности полей, используемых для управления и усиления, в электронной лампе и нервной клетке практически совпадают. Это означает, что различие в полной рассеиваемой мощности вызвано главным образом различием размеров. «Расхождение в 103 раз в линейных размерах ведет к расхождению в 109 раз по объему и, вероятно, к такому же расхождению в энергиях». См. также Нейман [1, т. 5, стр. 299—302] и [2].
Затем он вычисляет энергию, расходуемую «в одном элементарном акте получения информации, т. е. выбора решения при наличии двух возможностей, и в одном элементарном акте передачи единицы информации». Он проделывает это для электронной лампы и для нейрона и находит термодинамический минимум энергии, рассеиваемой в таком акте.
В лекции 3 было отмечено, что термодинамическая информация измеряется логарифмом по основанию 2 от числа допускаемых возможностей. В случае двух возможностей эта термодинамическая информация равна, таким образом, 1, «но рассеиваемая энергия при этом отлична от 1. По энтропии можно найти энергию, только задавшись определенной температурой. Поэтому, работая при низкой температуре, можно указать, какая энергия должна быть рассеяна». Фон Нейман подсчитывает термодинамический минимум энергии, расходуемой в одном элементарном информационном акте, полагая его равным kT\nN, где к — постоянная Больцмана (1,4 X 10-16 apshpadY Т — температура в абсолютных единицах, N — число возможных исходов. Для бинарного случая (^ — 2) и для температуры 300° по абсолютной шкале он получает значение термодинамического минимума 3 X 10-14 эрг.
Далее он показывает, что мозг рассеивает энергию примерно в 25 вт, содержит 1010 нейронов, а один нейрон в среднем активируется около 10 раз в секунду. Отсюда энергия, рассеиваемая в нервной клетке в одном бинарном информационном акте, составляет примерно 3 X 10-3 эрг. Что же касается электронной лампы, то по оценкам фон Неймана она рассеивает энергию в 6 впц активируется около 100 тысяч раз в секунду и, следовательно, в одном бинарном акте рассеивает 6 X 102 эрг.\
Таким образом, современная аппаратура примерно в 200 тысяч раз менее эффективна, чем нервная система. Вычислительные машины в ближайшие годы будут усовершенствованы, возможно, за счет использования полупроводниковых приборов вместо электронных
ламп, но даже тогда они все же будут в десятки тысяч раз менее эффективны по сравнению с нервной системой. Обратите внимание на большую разницу между термодинамическим минимумом (3 X X 10"14 эрг) и энергией, рассеиваемой нейроном в одном бинарном информационном акте (3 X 10“3 эрг). Первая энергия в 10й раз меньше второй, следовательно, предпринятый нами термодинамический анализ не осветил большую часть существа дела. Будучи измеренной в логарифмической шкале, разница в энергиях, рассеиваемых, с одной стороны, нашей техникой, находящейся явно на любительском уровне, а с другой, процессами, протекающими в природе, где чувствуется участие профессионала, составляет примерно половину разницы между энергией, расходуемой самыми лучшими из известных нам устройств, и термодинамическим минимумом. Чем вызвана эта огромная разница, я не знаю. Думаю, что она вызвана чем-то вроде желания получить достаточную надежность работы.
Итак, для совершения элементарных информационных процессов природа не использует того, что с точки зрения физики является элементарной системой с двумя устойчивыми состояниями, например атом водорода. Все существующие переключательные органы гораздо больше. Если бы природа оперировала с элементарными системами, то переключательные элементы имели бы размеры порядка нескольких ангстрем, а на самом деле мельчайшие из известных переключательных органов имеют размеры порядка тысяч или десятков тысяч ангстрем. Совершенно ясно, что что-то заставляет нас использовать элементы, на несколько порядков превосходящие по размерам те, которые вытекают из чисто термодинамических соображений. Таким образом, отождествление информации с энтропией позволяет объяснить важную сторону явления, но ни в коем случае не исчерпывает всего существа дела. Имеется множитель 10й, происхождение которого еще предстоит объяснить
[Затем фон Нейман рассматривает элементы памяти. Электронные лампы, представляющие собой переключательные органы, можно было бы приспособить для запоминания. Но так как стандартная схема для хранения одной двоичной единицы содержит две лампы, а для ввода и вывода информации нужны еще дополнительные лампы, то ясно, что на электронных лампах большую память построить невозможно. «В приборах, которые действительно работают, запоминание осуществляется не в макроскопическом объекте типа электронной лампы, а в чем-то микроскопическом, существующем лишь виртуально». Фон Нейман описывает два прибора такого сорта: память на акустической линии задержки и память на электроннолучевой трубке.
Акустической линией задержки называется трубка с наполнителем (таким, как ртуть), на обеих концах которой укреплены пьезокристаллы. При подаче электрических колебаний на передающий кристалл
возникает акустическая волна, которая распространяется по ртути и заставляет приемный кристалл генерировать электрический сигнал. Этот сигнал усиливается, формируется, хронометрируется и посылается снова на передающий кристалл. Такой акустико-электрический цикл может повторяться неограниченно долго, за счет чего и обеспечивается запоминание. Наличие или отсутствие импульса в данное время в данной позиции и есть значение двоичного разряда. Так как импульсы все время циркулируют по системе, то этот разряд нигде, т. е. ни в каком фиксированном месте, не хранится. «То, что запоминает, нигде конкретно не расположено».
В электроннолучевой трубке информация может храниться в виде электрических зарядов на ее внутренней поверхности. Двоичный разряд представляется здесь зарядом, расположенным на небольшой площадке. Заряды наносятся и считываются с помощью пучка электронов. Так как площадка, ассоциированная с данным двоичным разрядом, может часто перезаряжаться и ее можно сдвигать, изменяя положение электронного пучка, то эта память также носит виртуальный характер. «Нет такого естественного места, в котором была бы сосредоточена память. Поскольку никаких долговременных физических изменений не происходит, этот способ управления дает орган памяти в виртуальном смысле».]
Следовательно, нет оснований считать, что память центральной нервной системы расположена в ее переключательных органах (нейронах). Память человека должна быть очень большой — намного больше 1010 двоичных единиц. Если подсчитать все те впечатления, которые получает человек в течение своей жизни (или то, что для него имеет особое значение), то получится число порядка 1015. Этим оценкам нельзя слишком сильно доверять, но я думаю, что вполне вероятно, что емкость памяти человека больше 1010. Я не знаю, законно ли переносить наш опыт, связанный с вычислительными машинами, на естественные системы, но если этот опыт чего-нибудь стоит, то он говорит за то, что маловероятно, чтобы естественная память размещалась в переключательных органах или в чем-то столь нехитром и примитивном, как их модификация. Было сделано предположение, что память состоит в изменении значения порога в синапсе. Не знаю, так ли это, но запоминание в вычислительных машинах не осуществляется за счет изгиба управляющей сетки лампы. Сравнение искусственных автоматов с центральной нервной системой делает правдоподобным предположение, что память человека еще более изощренная и еще более виртуальная. Я думаю, что все догадки относительно того, что такое память человека и где она расположена, еще преждевременны.
Хочу подчеркнуть еще следующее. В своих рассуждениях я считал нервную клетку чисто переключательным органом. Специалисты по нейрологии и смежным областям доказали, что нервная клетка
не есть чисто переключательный орган; это очень искусный аналоговый прибор. (В вычислительной технике аналоговым прибором называют любой прибор, который может делать существенно больше, чем просто передавать или не передавать импульс.) Но ведь ни электронная лампа, ни электромеханическое реле и т. д. тоже не являются чисто переключательными элементами, ибо они обладают непрерывными свойствами. Все они, однако, характеризуются тем, что имеют по крайней мере один такой режим работы, при котором их реакция носит по существу характер «все или ничего». Нас интересует только, как эта компонента работает в случае, когда организм функционирует нормально. Нервная клетка обычно не работает как орган типа «все или ничего». Например, метод преобразования интенсивности стимуляции в частоту ответа зависит от уставания и от времени восстановления, которое является непрерывной, т. е. аналоговой, характеристикой. Тем не менее способность нейрона работать по типу «все или ничего» очень важна.
Несмотря на то что нервная система — по существу цифровой орган, весь человеческий организм не является цифровым. Почти вся нервная стимуляция оканчивается в органах вовсе не цифровых: например сокращающаяся мышца или орган, вызывающий выделение химического вещества. Чтобы управлять выделением химического вещества и контролировать скорость его диффузии, приходится прибегать к куда более изощренным аналоговым процессам, чем те, которые когда-либо применялись в аналоговых вычислительных машинах. Большинство важных контуров в организме человека носят следующий характер. Система нервных возбуждений проходит по сложной сети нервных волокон и затем управляет работой органа, который представляет собой по существу химическую фабрику. Полученные химические вещества распределяются с помощью очень сложной гидродинамической системы, являющейся полностью аналоговой. Эти вещества порождают нервные возбуждения, путешествующие по нервной системе в цифровой форме. Есть контуры, где такое изменение от цифровой формы к аналоговой происходит неоднократно. Таким образом, организм человека — это существенно смешанная система. Однако это не умаляет важности понимания принципов работы цифровой его части.
Вычислительные машины также не являются полностью цифровыми. Существующий в настоящее время способ работы с вычислительными машинами, их входные и выходные данные — цифровые. Но совершенно ясно, что нам нужны и нецифровые входы и выходы. Часто требуется представить результаты не в числах, а, скажем, в виде кривой на экране осциллографа. Это аналоговый выход. Кроме того, такие приборы нашли бы важные применения для управления очень сложной техникой, например полетом ракеты или самолета. Тогда входные данные поступали бы из аналогового источника,
а выходные данные управляли бы аналоговым процессом. Это чередование аналоговых и цифровых механизмов составляет, вероятно,, характерную черту любого приложения.
В настоящее время цифровые аспекты автоматов следует выделять потому, что сейчас мы располагаем некоторыми логическими приемами анализа цифровых механизмов и наши знания в области цифровых устройств превосходят знания в области аналоговых. Кроме того, очевидно, что для выполнения очень сложных функций необходима цифровая техника. Полностью аналоговая техника обычно не подходит для очень сложных ситуаций. Единственный способ решить сложную задачу с помощью аналоговых механизмов — это разбить ее на части и последовательно обработать их, а это уже цифровой прием.
Разрешите мне перейти теперь к следующему вопросу. Наши искусственные автоматы намного уступают естественным автоматам и в том, что они делают, и в числе компонент, которые они имеют, и в то же время они феноменально дорого нам обходятся в смысле занимаемого ими пространства и потребляемой энергии. Чем это объяснить? В настоящее время искать точный ответ безнадежно: трудно объяснить, почему два объекта так сильно отличаются, если об одном мы знаем очень мало, а о другом — ничего. Но очевидные различия в используемых нами средствах ясно показывают, что мы всегда будем сталкиваться с трудностями, если будем и дальше обходиться лишь этими средствами.
Материалы, которыми мы пользуемся, не слишком подходят для тех малых размеров, с которыми имеет дело природа. Наши сочетания металлов, изоляторов и вакуумных промежутков намного более неустойчивы, чем материалы, которыми пользуется природа; высокий предел прочности наших материалов совершенно случаен. Если повреждается мембрана, она самовосстанавливается; если же в электронной лампе происходит замыкание сетки на катод, то она уже не восстанавливается. Итак, природные материалы обладают определенной механической устойчивостью и в них хорошо сбалансированы механические свойства, электрические свойства и требования надежности. Наши искусственные системы — это собранные из отдельных лоскутов комбинации, в которых нужные электрические свойства получаются за счет применения механически негодных вещей. Техника хорошо приспособлена для того, чтобы подгонять металл к металлу, но она мало годится для того, чтобы подгонять металл к вакууму. Добиться миллиметровых расстояний в малодоступном вакуумном пространстве — это уже большое техническое достижение, и уменьшить эти расстояния во много раз вряд ли удастся. Таким образом, различия в размерах искусственных и естественных автоматов, вероятно, существенно связаны с радикальными различиями в используемых материалах.
Далее фон Нейман переходит к более глубокой, по его мнению, причине сильного различия в размерах искусственных и естественных автоматов. Такой причиной он считает то, что надежность работы естественной системы обеспечивает множество ее компонент. В лекции 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, да и нейрон, вероятно, тоже. Мы пытаемся так сконструировать вычислительную машину, чтобы она останавливалась, как только произойдет ошибка, и тогда ошибку можно будет локализовать и устранить. Например, машина проделывает одну операцию дважды, сравнивает результаты и останавливается, если результаты не совпали.]
Весьма вероятно, что если бы каждую ошибку надо было немедленно обнаруживать, объяснять и исправлять, то система такой сложности, как живой организм, не смогла бы проработать и миллисекунды. Система такого типа так хорошо скомпонована, что может работать и тогда, когда в ней возникают отдельные ошибки. Одна ошибка, как правило, еще не означает тенденцию к разрушению. Система обладает достаточной гибкостью и так организована, что как только в какой-нибудь ее части произойдет ошибка, система автоматически выясняет, важна ли эта ошибка. Если ошибка не важна,
то система продолжает работать, не обращая на нее никакого внимания. Если эта ошибка оказывается важной для системы, то система изолирует соответствующую область, обходит ее, используя для работы другие каналы. Затем система на досуге анализирует отдельно эту область и исправляет повреждение, а если исправление невозможно, то система навсегда изолирует эту область, обходя ее. Продолжительность нормальной работы автомата определяется временем, прошедшим до того, как происходит столько непоправимых ошибок, производится столько временных и постоянных обходов, что в конце концов работоспособность системы действительно падает. Эта философия коренным образом отличается от той, по которой первая же ошибка означает конец мира.
Чтобы применять к искусственным автоматам философию, на которой основаны естественные автоматы, мы должны лучше понимать сложные механизмы, располагать более подробными статистическими сведениями о том, что идет не так, и мы должны иметь более совершенную, чем сейчас, статистическую информацию о среде, в которой живет механизм. Автомат нельзя отделять от среды, на которую он реагирует. Под этим я подразумеваю, что бессмысленно говорить, плохой автомат или хороший, быстрый или медленный, надежный или ненадежный, до тех пор пока не сказано, в какой среде он работает. Характеристики человека, обеспечивающие выживание, в сильной мере зависят от земной поверхности в ее теперешнем состоянии, а для большинства людей следовало бы еще сузить условия. Бессмысленно обсуждать, выжил ли бы человек на дне океана или при температуре 1000° по Цельсию. Точно так же при обсуждении вычислительной машины бессмысленно узнавать, быстрая она или медленная, пока не определен точно тип задач, которые ей придется решать.
Громадная разница — сконструирована ли машина для решения более или менее типичных задач математического анализа, или для теории чисел, или для комбинаторики, или для перевода текста. Как сконструировать машину для решения типичных задач математического анализа, мы примерно знаем. Но я не уверен, что можно создать машину, хорошо приспособленную для решения задач из теории чисел, разве только на основе наших представлений о статистических свойствах этой теории. Я думаю, что мы весьма слабо представляем себе, как построить хорошую машину для комбинаторики и перевода.
Дело в том, что статистические свойства задач математического анализа довольно хорошо известны и, насколько мы знаем, довольно однородны. Рассмотрим несколько задач математического анализа, сильно отличающихся друг от друга по форме и по математическим стандартам: нахождение корней уравнения 10-гопорядка, обращение матрицы 20-го порядка, решение задачи на собственные значения, решение интегрального уравнения и решение интегро-дифференциаль-
ного уравнения. Эти задачи оказываются удивительно однородными по своим статистическим свойствам (таким, как доля умножений по отношению к другим операциям, число обращений к памяти на одно умножение и оптимальная иерархическая структура памяти в отношении времени выборки), а они-то и важны для решения на вычислительной машине. В теории чисел гораздо меньше однородности,, правда, с некоторых точек зрения теория чисел считается однородной, но я не знаю, из чего они исходят.
Итак, можно говорить о достоинствах всех этих автоматов только с учетом среды, в которой они работают. Естественные автоматы намного лучше приспособлены к своей среде, чем любой из известных искусственных.
Следовательно, вполне возможно, что мы уже недалеки от пределов сложности, которую можно достичь в искусственных автоматах, не продвигаясь особенно в глубь теории информации. (С такими утверждениями на самом деле надо быть очень осторожными, так как через 5 лет они могут выглядеть ужасно нелепыми.)
[Фон Нейман далее объясняет, почему вычислительные машины конструируются так, чтобы после первой же ошибки они останавливались. Эта ошибка должна быть локализована и исправлена инженером, которому будет очень трудно локализовать ошибку, если их несколько. Если же повреждение только одно, то можно разделить машину на две части и определить, в какой из них произошла ошибка. Эту процедуру можно повторять до тех пор, пока не будет выделено место неисправности. Этот общий метод становится очень сложным, когда повреждений два или три, и он совсем непригоден, когда повреждений много.]
Тот факт, что естественные организмы резко по-иному относятся к ошибкам и ведут себя совершенно иначе, когда ошибка появляется, вероятно, связан с другими свойствами природных организмов, полностью отсутствующими у наших автоматов. Способность естественных организмов выживать даже при наличии большого числа неисправностей (к чему совершенно не способны искусственные автоматы), вероятно, связана с высокой приспособляемостью, способностью автомата наблюдать самого себя и реорганизовываться. А это, по-видимому, предполагает значительную автономию его частей. В нервной системе человека такая автономия очень сильна. Автономия частей приводит к эффекту, который можно наблюдать в нервной системе человека и которого нет в искусственном автомате. Когда части автономны и способны к реорганизации, когда имеется несколько органов, каждый из которых в случае необходимости способен взять на себя управление, между частями могут развиться антагонистические взаимоотношения и они больше не будут «дружить» и сотрудничать. Весьма вероятно, что все эти явления между собой связаны.
ЛЕКЦИЯ 5ПЕРЕОЦЕНКА ПРОБЛЕМСЛОЖНЫХ АВТОМАТОВ — ПРОБЛЕМЫ ИЕРАРХИИИ ЭВОЛЮЦИИЛЕКЦИЯ 5ПЕРЕОЦЕНКА ПРОБЛЕМСЛОЖНЫХ АВТОМАТОВ — ПРОБЛЕМЫ ИЕРАРХИИИ ЭВОЛЮЦИИАнализ компонентов и анализ целого. Хотя обе эти части в окончательной теории должны появиться вместе, современное состояние нашей информации еще не подтверждает этого.
ЛЕКЦИЯ 5
ПЕРЕОЦЕНКА ПРОБЛЕМ
СЛОЖНЫХ АВТОМАТОВ — ПРОБЛЕМЫ ИЕРАРХИИ
И ЭВОЛЮЦИИ
ЛЕКЦИЯ 5
ПЕРЕОЦЕНКА ПРОБЛЕМ
СЛОЖНЫХ АВТОМАТОВ — ПРОБЛЕМЫ ИЕРАРХИИ
И ЭВОЛЮЦИИ
Первая проблема: причина, по которой детали здесь не рассматриваются; принципиальные вопросы, связанные с природой релейных органов.
Вторая проблема: теория информации и автоматов; пересмотр расширенной программы с учетом теоретического анализа автоматов, как показано в конце лекции 2.
Синтез автоматов. Автоматы, которые могут осуществлять такой синтез.
Интуитивное понятие «сложности». Предположение о ее вырождающемся характере: в связи с описанием процессов с помощью автоматов; в связи с синтезом автоматов автоматами. Ограничения и трудности, связанные с концепцией вырождения.
Строгое рассмотрение: автоматы и их «элементарные» части; определение и перечень элементарных частей; синтез автоматов автоматами; проблема самовоспроизведения.
Основные относящиеся к делу типы конструирующих автоматов: понятие универсальной инструкции; универсальный конструирующий автомат, который может следовать инструкции; универсальный копирующий автомат, самовоспро- изводящаяся комбинация.
Самовоспроизведение, объединенное с синтезом других автоматов: энзимная функция; сравнение с основными известными чертами генетического и мутационного механизмов.
Все вопросы, на которых я до сих пор останавливался, относились к автоматам, действия которых не были направлены на самих себя. Поэтому в результате их действий получалось нечто, коренным образом отличающееся от них самих. Проследим это в каждом из трех случаев, которые я разбирал.
В случае машины Тьюринга, представляющей собой «ящик» с конечным числом состояний, это очевидно. Ее выходы имеют совершенно иную сущность, которую я для удобства буду называть перфолентой. Сама по себе эта лента не является объектом, способным самопроизвольно менять свои внутренние состояния. Более того, она не только не конечна — она бесконечна в обе стороны. Таким образом, эта лента качественно отличается от автомата, наносящего на нее перфорацию, так что машина Тьюринга работает в качественно отличной от нее среде.
Равным образом это утверждение справедливо и для автоматов Маккаллока и Питтса, построенных из узлов (названных нейронами), генерирующих импульсы. На входах и выходах этих автоматов фигурируют не нейроны, а импульсы. Правда, эти импульсы могут поступать в периферические органы, создавая тем самым совсем другие
реакции. Но и здесь мы прежде всего думаем, скажем, о том, что эти импульсы подаются в моторные или секреторные органы, так что опять-таки входы и выходы автомата в корне отличны от самого- автомата.
Наконец, это абсолютно верно для вычислительных машин, которые можно представлять себе как машины, на входах и выходах которых находится некоторый носитель информации, например перфолента. Разумеется, нет большой разницы в том, чем является этот носитель: перфокартой, магнитной проволокой, магнитной лентой со многими каналами или куском фотопленки с отснятыми точками. Во всех этих случаях носитель, поступающий в автомат и выходящий из него, имеет совершенно другую природу, чем сам автомат.
Фактически автомат вовсе не создает носителя, а просто модифицирует поступающий в него носитель, который полностью от него- отличается. Можно представить себе также вычислительную машину с импульсами на выходе, управляющими объектами совершенно другого рода. И снова сам автомат целиком отличен от создаваемых им электрических импульсов. Таким образом, качественное отличие налицо.
Исчерпывающее обсуждение автоматов можно провести только при более широком взгляде на эти вещи: необходимо принять во внимание также автоматы, дающие на выходах что-то похожее на них самих. Разумеется, здесь речь идет не о создании материи из ничего, а об автоматах, способных модифицировать объекты, подобные себе, или осуществлять синтез, выбирая части и соединяя их друг с другом, или разбирать синтезированные объекты. Для того чтобы облегчить рассуждения, представим себе следующую формальную схему. Составим список однозначно определенных элементарных частей и допустим, что таких частей у нас практически неограниченное число и они «плавают» внутри большого резервуара. Автомат тоже плавает в этой среде, и его назначение в том, чтобы подбирать части и сцеплять их друг с другом, а если попался целый агрегат, то разобрать его.
Это аксиоматически укороченное и упрощенное описание того, что же на самом деле делает организм. Такой подход связан с определенными ограничениями, но они не слишком отличаются от ограничений, свойственных любому аксиоматическому методу. Всякий результат, который можно при этом получить, коренным образом зависит от того, как определены элементарные части. Для всех аксиоматических методов характерно то, что очень трудно дать строгие правила выбора элементарных частей. Поэтому о целесообразности такого выбора можно судить лишь руководствуясь здравым смыслом. Строгого описания, какой выбор разумен, а какой нет, не существует.
Прежде всего если в качестве элементарных частей взять слишком много объектов, причем каждый из них выбрать большим и слож-
ным, то может получиться так, что вообще никакой проблемы не останется.
Например, если в качестве элементарных частей вы выбрали объекты, аналогичные всему организму, то очевидно, что вы погубили задачу, ибо вы должны наделить эти части как раз теми функциями всего организма, которые вы хотели понять или описать. Итак, выбирая элементарные части слишком большими, наделяя их слишком многообразными и слишком сложными функциями, вы теряете задачу в момент ее формулировки.
Проблема также пропадает, если в качестве элементарных частей брать слишком маленькие объекты, например не превосходящие молекулу, атом или элементарную частицу. В этом случае можно совершенно погрязнуть в вопросах, которые, будучи и важными и интересными, безусловно предшествуют нашей проблеме. Мы занимаемся здесь вопросами организации, связанными с очень сложными организмами, а не вопросами структуры вещества и не квантовомеханической теорией атомной химии. Итак, определяя элементарные части, мы должны исходить из здравого смысла и брать объекты не слишком маленькими и не слишком большими.
Даже среди объектов подходящих размеров (по порядку величин) можно выбирать элементарные части различными способами, из которых ни одному нельзя отдать предпочтение. В формальной логике встречается та же трудность: необходимо выбрать непротиворечивую систему аксиом, но нет строгого правила, как их выбирать,, а есть лишь соображения здравого смысла — вы хотели бы получить то, что вас интересует, и не хотели бы формулировать в своих аксиомах положений, которые на самом деле являются окончательными теоремами вашей теории или относятся к ее предшествующим разделам. Например, при выборе системы аксиом в геометрии нецелесообразно включать теоремы из теории множеств, поскольку при изучении геометрических свойств объектов не важно, как переходят от множеств к числам, а от чисел — к геометрии. Не следует выбирать в качестве аксиом геометрии слишком сложные теоремы аналитической теории чисел, так как вас интересует в этой области более ранний этап.
Даже если аксиомы выбраны в рамках разумного, обычно очень трудно добиться соглашения между двумя авторами, сделавшими это независимо. Например, в литературе по формальной логике почти столько же обозначений, сколько авторов, и всякий, кто пользовался каким-нибудь обозначением на протяжении нескольких недель, чувствует, что оно более или менее лучше любого другого. Таким образом, хотя выбор обозначений и элементов необычайно важен и составляет основу для применения аксиоматического метода, каждый конкретный выбор нельзя ни формально оправдать, ни унифицировать для всех людей. Можно лишь попытаться предложить
систему, соответствующую здравому смыслу. Я сейчас расскажу, как построить одну такую систему, но еще раз решительно подчеркиваю, что этот выбор весьма условен.
В качестве элементарных частей я беру следующие объекты: нейроны, «мышцу», элементы, способные формировать или ликвидировать соединения, и элементы, поставляющие энергию. Все эти объекты определены почти столь же поверхностно, как нейрон в формальной теории Маккаллока и Питтса. Если с такой же степенью схематизации описывать мышцы, соединительную ткань, «разъединительную ткань» и средства, обеспечивающие метаболической энергией, то получится система элементов, работать с которой будет сравнительно несложно. В этой системе будет, вероятно, 10, 12 или 15 элементарных частей.
Аксиоматизируя таким же образом автоматы, мы оставляем за бортом половину проблемы и, быть может, наиболее важную. А именно мы смирились с тем, что не объясняем, как эти элементарные части строятся из реальных объектов, т. е. реально существующих элементарных частиц или даже из сложных химических молекул; мы не задаем самых интригующих, захватывающих и важных вопросов: почему молекулы или агрегаты, реально встречающиеся в природе в этих частях, являются именно такими, какие они есть на самом деле, почему в одних случаях они представляют собой фактически очень большие молекулы, а в других большие агрегаты, почему их размеры заключены в диапазоне от нескольких микрон до нескольких дециметров? Для элементарных частей это очень странный диапазон, так как он по крайней мере на 5 порядков отличается от размеров реально существующих элементарных объектов.
На все эти вопросы мы не отвечаем, а просто предполагаем, что элементарные части с необходимыми свойствами существуют. Тогда можно надеяться получить ответ или хотя бы попытаться исследовать такие вопросы: какими принципами руководствуются при составлении из этих элементарных частей функционирующих организмов, каковы черты таких организмов и каковы их основные количественные характеристики? Именно с этой ограниченной точки зрения я буду рассматривать нашу проблему.
[Здесь фон Нейман делает замечания, касающиеся информации, логики, термодинамики и равновесия, которые я поместил в конец лекции 3. Я это сделал потому, что так было предусмотрено в подробном конспекте фон Неймана. Здесь же он приводит их потому, что понятие сложности, которое он затем вводит, относится к теории информации.]
Нам будет весьма полезно одно понятие, относительно которого мы имеем какие-то интуитивные представления, но они неясны, ненаучны и несовершенны. Это понятие, очевидно, принадлежит к предмету информации, и к нему применимы квазитермодинамиче-
ские соображения. У меня нет для него адекватного названия, но лучше всего его характеризует слово «сложность». С этой сложностью связана эффективность, т. е. способность делать нечто существенное.
Сложность здесь означает не то, как сложен объект, а то, как сложны его целенаправленные действия. В этом смысле объект обладает очень высокой сложностью, если он способен решать весьма трудные и сложные задачи.
Я остановился на этом потому, что при изучении автоматов, нормальная функция которых состоит в синтезировании других автоматов из элементарных частей (живые организмы или такие хорошо знакомые искусственные автоматы, как станки), обнаруживается следующая замечательная вещь. Если рассматривать вопрос с двух различных точек зрения, каждая из которых вполне приемлема, то могут получиться два совершенно разных и даже противоречивых утверждения!
Как всем хорошо известно, живые организмы создают себе подобных. Это их нормальная функция, без этого они не могли бы существовать и, вполне вероятно, что именно этим объясняется то, что они заселяют весь мир. Другими словами, живые организмы — это очень сложные агрегаты элементарных частей, а потому по любой разумной вероятностной или термодинамической теории они весьма маловероятны. Сам факт их существования на земле является в высшей степени чудом; единственное, что снимает или уменьшает ощущение чуда, это их способность к воспроизведению. Поэтому если по какой-то необычайной случайности появился один живой организм (с этого момента вероятностные законы перестают действовать), то их станет много, по крайней мере в подходящих условиях. А подходящие условия термодинамически уже не столь маловероятны. Таким образом, вероятностные соображения оставляют здесь щель, через которую удается проникнуть с помощью процесса самовоспроизведения.
Более того, столь же очевидно, что процесс, происходящий в действительности, на ступень выше самовоспроизведения, ибо с течением времени организмы, по-видимому, совершенствовались. Живые организмы в процессе филогенеза произошли от других, настолько более простых, что непостижимо, каким образом в ранних, более примитивных организмах могло быть заложено какое-либо описание теперешних сложных организмов. Нелегко представить себе, каким образом гены, являющиеся, по-видимому, объектом более низкого порядка, могут содержать описание человеческого организма, который должен возникнуть. Правда, в этом случае можно сказать, что ген осуществляет свое действие лишь внутри другого человеческого организма и потому он может содержать не полное описание того, что должно произойти, а только некоторые указания для не-
скольких альтернатив. С эволюцией в процессе филогенеза дело обстоит иначе: развитие началось с простых существ, окруженных неживой аморфной средой, и пришло к чему-то очень сложному. Очевидно, живые организмы обладают способностью создавать нечто более сложное, чем они сами.
К совершенно противоположному выводу приводят рассуждения, связанные с искусственными автоматами. Бесспорно, станок сложнее тех деталей, которые на нем можно изготовить, и вообще автомат Л, способный сделать автомат В, должен содержать полное описание автомата В и набор правил, указывающих, как вести себя в процессе синтеза. Отсюда можно вынести твердое убеждение в том, что сложность (или продуктивная способность) носит вырождающийся характер, что организация, которая что-то синтезирует, обязательно должна быть более сложной, более высокого порядка, чем создаваемая организация. Это заключение, возникающее из рассмотрения искусственных автоматов, очевидно, противоположно заключению, сделанному при рассмотрении живых организмов.
Я думаю, что несколько сравнительно простых примеров комбинаторного исследования искусственных автоматов помогут нам разрешить эту дилемму. Поскольку у нас нет достаточно ясного представления о том, как функционируют живые организмы, то обращение к органике большой пользы нам не принесет. Мы займемся поэтому автоматами, которые мы в совершенстве знаем, ибо мы их сделали — как реально существующие искусственные автоматы, так и автоматы на бумаге, полностью заданные некоторым конечным множеством логических аксиом. Мы опишем автоматы, способные воспроизводить себя. Так по крайней мере можно будет показать, что там, где, казалось бы, сложность должна вырождаться, она вовсе не вырождается, а даже создаются более сложные объекты.
Отсюда следовало бы сделать вывод, что сложность носит вырождающийся характер лишь до определенного минимального уровня. Это хорошо согласуется с другими результатами формальной логики, которые я несколько раз упоминал в этих лекциях х). Мы еще не знаем, что такое сложность и как ее измерять, но мне кажется, что этот вывод правильный, даже если измерять ее совсем примитивно — числом элементарных частей. Ниже некоторого минимального числа элементарных частей сложность вырождается в том смысле, что если один автомат создает другой, то последний менее сложен, чем первый.
Если же число элементарных частей превышает этот минимум, то автомат конструирует автоматы равной или более высокой сложности. Величина этого минимума зависит от того, как вы определили
[См. конец лекции 2.]
элементарные части. При разумном выборе частей (вроде того, который я после опишу), дающем одну или две дюжины частей с простыми свойствами, этот минимум довольно большой — порядка миллиона. Более точной оценки у меня нет, но думаю, что ее можно получить за обозримое время, правда, с затратой большого труда.
Итак, в процессе самовоспроизведения решающую роль играет свойство сложности, характеризующееся тем, что для каждого автомата имеется критическое число элементарных частей, ниже которого процесс синтезирования вырождается, а выше (при условии правильной организации) может приобрести характер взрыва. Другими словами, синтез автоматов может протекать так, что каждый автомат будет создавать другие автоматы, более сложные и обладающие большими, чем он, возможностями.
Разумеется, все это так и останется на уровне нечетких утверждений, если не будет дано корректное определение понятия сложности, а это нельзя сделать до тех пор, пока не будет детально рассмотрено несколько показательных примеров, т. е. конструкций, иллюстрирующих критические и парадоксальные свойства сложности. В этом нет ничего нового. Точно так же обстояли дела с консервативными и неконсервативными свойствами в физике, с понятиями энергии и энтропии и с другими важными понятиями. Довольно долго обсуждались простейшие механические и термодинамические системы, прежде чем удалось дать корректные определения понятиям энергии и энтропии.
[Затем фон Нейман вкратце описывает, какие элементы он предполагает использовать в качестве элементарных частей. Это нейроны, подобные нейронам Маккаллока и Питтса. Это элементы, «которые не имеют абсолютно никаких функций, и о них можно сказать лишь, что они жесткие и их концы образуют геометрический узел». Элемент другого типа: «моторный орган», или «штука, подобная мышце»; при стимуляции его длина сокращается до нуля. Кроме того, орган, который при приходе импульсов «может либо устанавливать, либо нарушать соединение». Всего таких элементов нужно меньше дюжины. Составленный из них автомат может захватить и другие части, случайно вступившие с ним в контакт; «можно придумать систему, посредством которой автомат будет чувствовать», какую именно часть он захватил.
В июне 1948 г. в Институте перспективных исследований фон Нейман прочел три лекции по автоматам для небольшой группы своих друзей. Возможно, он сделал это, готовясь к Хиксоновскому симпозиуму, который состоялся в сентябре того же года (см. Нейман [1, т. 5, стр. 288—328]). В этих лекциях содержалось самое подробное из известных мне описаний частей самовоспроизводящегося автомата.
На основе записей и воспоминаний тех, кто его тогда слушал, я попытался восстановить все сказанное им об этих частях и о том, как они будут работать.
Фон Нейман описал 8 типов элементарных частей. Все они, по-ви- димому, обозначались отрезками прямых, причем входы и выходы были на концах и (или) в середине. Система отсчета времени была дискретной, и каждый элемент расходовал на свою работу одну единицу времени. Не ясно, считал ли он свой список полным или намеревался его дополнить. Я думаю, что в то время это еще не было решено.
Четыре из этих восьми частей выполняют логические операции и операции по обработке информации.
Импульсный орган получает и передает импульсы; получает он их дизъюнктивно, т. е. реализует высказывание «р или д».
Орган совпадения реализует высказывание «р и q».
- Тормозной орган реализует «р и не q».
Источник импульсов служит для создания импульсов.
Пятая часть — элементы жесткости. Из этих элементов строится жесткая основа для автомата. Элемент жесткости не передает никаких импульсов — это изолированный стержень. Один такой элемент может быть соединен с другими элементами жесткости, а также с частями, не являющимися жесткими элементами.
Соединения осуществляются скрепляющим органом, который под воздействием раздражителя связывает две части. Скрепляющий орган, По-видимому, используется так. Предположим, что точку а одного стержня нужно соединить с точкой Ъ другого стержня. Активный, или выходной, конец скрепляющего органа приводится в контакт с точками а и Ъ. Раздражение входного конца скрепляющего органа в момент t приводит к тому, что в момент t + 1 точки а и Ъ связываются. После этого скрепляющий орган можно удалить.
Специальный разделяющий орган под воздействием импульсов разрушает соединения.
Восьмая часть — мышца. Она используется для получения движения. В исходном состоянии она жесткая. Она может быть соединена с другими частями. Под воздействием раздражения, поступившего в момент I, к моменту времени t + 1 она сокращается до нулевой длины, сохраняя все соединения неизмененными. Пока имеется раздражение, она остается в сокращенном состоянии.
Вероятно, можно использовать мышцы для движения частей и осуществления соединений следующим образом. Пусть мышца 1 расположена между точкой а одного стержня и точкой Ъ другого стержня, а мышца 2 — между точкой а и активным концом с скрепляющего органа. Если раздражать обе мышцы, то они сократятся, связав тем самым все три точки а, Ь, с. Если раздражать скрепляющий орган, то связываются точки а и Ъ. Наконец, если прекратить
раздражение мышц, то они возвращаются к своей исходной длине, причем по крайней мере один конец мышцы 1 отделяется от точки ab. Вопроса о том, как устанавливаются и ликвидируются соединения между мышцами и другими частями, фон Нейман, по-видимому, не обсуждал.
Автомат, конструирующий другие автоматы, фон Нейман представлял себе так. Конструирующий автомат плавает по некоторой поверхности, окруженный неограниченным числом запасных частей. В памяти конструирующего автомата хранится описание того автомата, который должен быть создан. Руководствуясь этим описанием, он отбирает необходимые части и организует из них требуемый автомат. Чтобы это сделать, он должен обладать устройством, позволяющим захватывать и идентифицировать части, пришедшие с ним в контакт.
В июньских лекциях 1948 г. было лишь несколько замечаний о том, как могло бы работать такое устройство. Из конструирующего автомата выдаются вперед два узла стимуляции. Когда их касается какая-либо часть, осуществляется тестирование и устанавливается тип этой части. Например, импульсный орган будет передавать сигнал, а стержень нет. Мышцу можно определить по тому, что она при стимуляции сокращается.
В первой конструкции фон Нейман предполагал не принимать- во внимание вопросов топлива и энергии. Он хотел рассмотреть их позже, возможно введя батарею в качестве еще одной элементарной части. Без этого нововведения ранняя модель самовоспроизведения, разработанная фон Нейманом, отражает лишь геометрические и кинематические вопросы движения, контакта, расположения, установления и устранения скреплений и игнорирует механические и химические вопросы силы и энергии. Поэтому я назвал ее кинематической моделью самовоспроизведения.
Эта модель сильно отличается от его более поздней клеточной модели самовоспроизведения, представленной в части II настоящей книги.
В июньских лекциях 1948 г. фон Нейман поставил вопрос: требует ли кинематическое самовоспроизведение трех измерений? Он цред- положил, что нужны либо три измерения, либо поверхность Римана (многосвязная плоскость). В части II мы увидим, что клеточная модель требует лишь двух измерений. Возможно, отсюда следует, что и для кинематического самовоспроизведения достаточно двух измерений.
Вернемся теперь к Иллинойсским лекциям. Фон Нейман разбирает в них общую схему самовоспроизводящегося автомата. Он говорит, что в принципе можно создать машинную мастерскую, которая при наличии достаточного количества сырья и времени будет изготовлять копии любой машины. Эта мастерская должна содержать
станок В со следующими свойствами. Если на него поступил образец — объект X, он подвергает его исследованию и составляет перечень его частей и соединений. В результате получается описание объекта X. С помощью этого описания станок В может изготовить копию объекта X. «Это уже очень близко к самовоспроизведению, так как можно подать на станок В сам этот станок».]
Намного легче, но в конечном счете столь же эффективно сконструировать не автомат, копирующий любой предъявленный ему образец, а автомат, способный создать объект, основываясь на его логическом описании. В любом методе, когда-либо разработанном человеком, автомат, копирующий образец, переходит сначала от образца к его описанию, а затем от описания к объекту. Сначала он абстрагирует предъявленную ему вещь, а потом выполняет ее. Следовательно, проще не извлекать из реального объекта его определение, а начинать с определения.
Чтобы действовать таким образом, мы должны иметь аксиоматическое описание автоматов. Итак, я подошел совсем близко к приему, использованному Тьюрингом в связи с универсальными автоматами. Он также начинал с общего формального описания автоматов. Если взять ту дюжину частей, о которых я говорил довольно общо и нечетко, и дать им точное описание (которое можно было бы уместить всего на двух печатных страницах), то получится формальный язык, однозначно описывающий автоматы. От любой системы обозначений можно затем перейти к двоичной системе, символы которой можно записывать на перфоленту, пользуясь одним каналом. Поэтому любое описание автомата можно разместить на куске перфоленты. Но лучше пользоваться описанием не этих кусков и их соединений, а последовательных шагов, которые следует проделать при построении автомата.
[Затем фон Нейман показывает, как построить двоичную ленту из элементов жесткости (см. рис. 2). Каждое соединение основной цепи реализует один из двоичных символов: 1 характеризуется налит чием бокового элемента жесткости, 0 характеризуется отсутствием бокового элемента. Запись и стирание осуществляются соответственно добавлением и удалением боковых элементов.]
Я сделал некоторые упрощения, диктующиеся не необходимостью, а чисто математической привычкой пытаться обойтись минимумом обозначений. Так как я пользуюсь двоичной символикой, то я могу здесь только либо присоединять боковую цепочку из одного элемента, либо не присоединять ничего. В существующих ныне языках и в принятых системах обозначений используется гораздо больше символов, чем в двоичной системе. Нетрудно и здесь употребить больше символов — просто присоединять более сложные боковые цепочки. В самом деле, ведь линейность нашего логического обозначения не является здесь абсолютно необходимой.
Можно использовать более сложные цепи с петлями, способные нести некоторые кодовые символы, причем такой код уже не будет линейным. Предпочтение к линейным кодам, образующим простую, почти временную последовательность, по-видимому, вызвано главным образом нашим не очень высоким уровнем комбинаторного мышления, и можно ожидать, что достаточно эффективный язык уже не будет линейным х).
Совсем нетрудно дать полную аксиоматику для описания в двоичном коде любого мыслимого автомата. Любое такое описание затем можно представить в виде цепи элементов жесткости (как на рис. 2). Для данного автомата X обозначим через ф (X) цепь, представляющую X. Теперь можно сконструировать универсальный станок Л, который при подаче на него такой цепи ф (X) воспримет ее и будет постепенно поглощать. Одновременно он будет строить из частей, свободно плавающих в окружающей среде, автомат X. Это построение хоть и трудоемко, но в принципе возможно, ибо представляет собой цепь формально-логических шагов. Качественно это не отличается от рассуждений Тьюринга при конструировании им универсального автомата.
И еще одна вещь, которая может понадобиться. Я уже говорил, что построить машину, копирующую предъявленный ей автомат, может оказаться очень сложно, и желательно отправляться не от оригинала, а от его словесного описания. Исключение составляет копирование линейных цепочек элементов жесткости. Это очень легко. В самом деле, копировать существующий автомат труднее, чем его описание, потому что существующий автомат не согласуется с нашей привычкой к линейности, ибо его части соединяются друг с другом во всевозможных направлениях и довольно трудно выделить те части, которые уже описаны ). Но скопировать линейную цепочку элементов жесткости нетрудно. Итак, я буду предполагать, что существует автомат В, обладающий следующим свойством: если снабдить его каким-нибудь описанием, то он поглотит его и создаст две копии этого описания.
Заметьте, пожалуйста, что после описания этих двух элементарных шагов еще может остаться впечатление, что принцип вырождения сложности не нарушен. Действительно, пока еще не получено ничего более искусного и сложного. Универсальный ) конструирующий автомат А, снабженный полным описанием объекта X, создает
всего лишь X, а при любом разумном определении сложности описание объекта столь же сложно, как и сам объект. Универсальный копирующий автомат создает две копии цепи ф (X), но наложение двух копий одного и того же объекта ни в каком смысле не дает объекта более высокого порядка. Кроме того, для такого копирования нужен дополнительный узел В.
Добавим теперь к автомату А + В некоторое количество управляющего оборудования. Автомат С командует автоматами А и В, приводя их по очереди в рабочее состояние по следующей схеме. Управляющий узел С сначала предписывает автомату В создать две копии цепи ср (X). Затем он предписывает автомату А сконструировать объект X, уничтожая при этом одну из копий ф (X). Наконец, управляющий узел С связывает X с оставшейся копией ф (X) и отделяет их от комплекса А + В + С. В итоге создается комбинация X + ф (X).
Возьмем в качестве X агрегат Л + S + С. Автомат (Л + В + С) Ч- + ф (Л + В + С) построит (Л + В + С) + ф (Л + В + Су Иными словами, произошло самовоспроизведение.
[Опишем это более подробно. Нам дан универсальный конструктор А + В + С вместе с его собственным описанием ф (Л + В + С). Таким образом, процесс самовоспроизведения начинается с автомата (Л + В + С) + ф (Л + В + Су Управляющий узел С приказывает автомату В дважды скопировать описание. В результате получается
(Л .+ в + С) + ф (Л + в + С) + ф (Л + в + су
Затем С приказывает автомату А построить автомат А -У В -у С по одной из копий описания. В результате получается
(Л + В + С) + (Л + В + С) + ф (Л 4- в + су
Наконец, С связывает новый автомат с его описанием и отделяет их. В итоге получаются два автомата:
А + В + С и (А + В + С) + ф (Л + В + Су
Если В скопирует описание трижды, то процесс начнется с одной копии автомата (Л + В + С) + ф (А + В + С) и кончится двумя копиями этого автомата. Так универсальный конструктор воспроизводит себя.]
Здесь нет порочного круга. Я начал рассуждения с объекта X, показав, что должен делать автомат С, а затем в качестве X взял нечто, содержащее С. Но прежде чем упомянуть частное значение X, я точно определил А и В, а автомату С дал такое определение, которое применимо при любом X. Следовательно, определяя А, В и С. я не налагал никаких условий на X, и потому имею право в качестве X взять А -У В -у С. При этом зацикливания не будет.
Универсальный конструирующий автомат А обладает созидательной способностью, т. е. может переходить от описания объекта к самому объекту. Аналогично универсальный копирующий автомат В обладает созидательной способностью, заключающейся в переходе от объекта к двум его копиям. Ни один из этих автоматов, однако, не является самовоспроизводящимся. Что же касается управляющего автомата С, то он даже не имеет никакой созидательной или репродуцирующей способности. Он может лишь стимулировать два других органа так, чтобы они действовали определенным образом, связывать определенные объекты и отделять их от исходной системы. А комбинация этих трех автоматов А, В и С уже обладает свойством самовоспроизведения.
Таким образом, самовоспроизводящуюся систему можно разбить на части, каждая из которых выполняет функции, необходимые для того, чтобы вся система была самовоспроизводящейся, но сама не самовоспроизводится.
Можно сделать даже большее. Возьмем в качестве X систему А + В + С + D, где D — любой автомат. Тогда (А + В + С) + + ф(А+В + С + £) создает (А+В + С + /)) + ф(А+5 + + С + D). Другими словами, теперь наш конструирующий автомат при своей нормальной работе создает не только свою копию, но и другой объект D. Это нормальная функция самовоспроизводящегося организма — в дополнение к самовоспроизведению создавать побочные продукты.
Система А + В + С + D может подвергаться воздействию процесса, сходного с процессом мутации. Одна из трудностей в определении того, что понимать под самовоспроизведением, заключается в том, что некоторые организации, такие, как растущие кристаллы, по любому наивному определению самовоспроизведения будут самовоспроизводящимися, однако никому не хочется признавать их такими. Чтобы обойти эту трудность, можно считать, что самовоспроизведение включает в себя не только способность создавать другой, подобный оригиналу организм, но и подвергаться наследственным мутациям.
Рассмотрим эту ситуацию по отношению к автомату (А + В + С + + D) + ф (А + В + С + D). Под мутацией я буду понимать просто случайное изменение какого-нибудь одного элемента. Если в одном из автоматов А, В или С случайно изменится какой-нибудь элемент, то система, как правило, будет воспроизводить себя не полностью. Например, если изменился какой-то элемент в С, то С может в нужное время не отдать правильной команды автоматам А и В или не сможет сделать требуемых разъединений и соединений. Такая мутация детальна.
Если изменение произошло в описании ф (А + В + С + 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
ОБЩИЕ
СООБРАЖЕНИЯ
ГЛАВА 1
ОБЩИЕ
СООБРАЖЕНИЯ
Конструктивный метод и его ограниченность. В этой книге будет изучен один частный и весьма ограниченный этап формальной теории автоматов. Его ограничение заключается в том, что определенные теоремы существования устанавливаются без доказательства того, что конструкции, на которых они основаны, в каком-то смысле оптимальны или что использованные постулаты в каком-то смысле минимальны. Эти вопросы оптимальности и минимальности могли бы, по-видимому, найти решение лишь при наличии в области автоматов, управления и организации намного более развитых, чем сейчас, методов формирования инвариантных количественных понятий, их измерения, оценки и т. п. Мы верим, что это развитие возможно, его нужно ожидать и оно в значительной степени будет следовать образцам и системам понятий термодинамики). Методы, которые мы здесь рассмотрим, лишь отчасти соответствуют тому усилию, которое необходимо предпринять в этом направлении. Во всяком случае, мы ограничимся здесь доказательством определенных теорем существования (используя соответствующие, ad hoc ) конструкции) лишь в указанном выше смысле.
Основные вопросы. Наше исследование автоматов будет проходить по двум важным и связанным друг с другом направле- х) В оригинале formalistic.— Прим, перев.
ниям: логическому и конструктивному. Оставаясь в рамках указанного выше ограничения, мы рассмотрим пять главных вопросов, которые по крайней мере в начальной фазе развития изучаемого предмета являются, пожалуй, центральными.
Логическая универсальность. При каких условиях некоторый класс автоматов логически универсален, т. е. может выполнять все выполнимые операции с помощью лишь конечного (но произвольно большого) числа средств? При наличии какого вспомогательного оборудования — переменного, но по существу стандартного — одиночный автомат будет логически универсальным?
Конструируемость. Можно ли сконструировать, т. е. скомпоновать и построить из (надлежащим образом определенного) «сырья», один автомат с помощью другого? Или, формулируя вопрос с другого конца и расширяя его: какой класс автоматов можно сконструировать с помощью надлежащим образом заданного автомата? Здесь допускается переменное, но по существу стандартное оборудование (как в (А)).
Конструктивная универсальность. Конкретизируем второй вопрос из серии (В): может ли какой-нибудь надлежащим образом заданный автомат быть конструктивно универсальным, т. е. способным сконструировать в смысле (В) (располагая подходящим, но по» существу стандартным оборудованием) любой другой автомат?
Самовоспроизведение. Сузим вопрос (С): может ли какой- нибудь автомат сконструировать в точности такой же автомат? Можно ли его заставить выполнять также и другие задачи, например сконструировать еще и другие, заранее указанные автоматы?
Эволюция. Объединим вопросы (С) и (D): может ли конструирование автоматов автоматами прогрессировать от более простых типов к более сложным? Может ли эта эволюция двигаться от менее* эффективных (при некотором разумном определении эффективности) автоматов к более эффективным?
.2.2. Характер ответов. Ответ на вопрос (А) известен т). На вопросы (В) — (D) будут получены утвердительные ответы ). Па вопрос (Е) не позволяет дать подобный ответ неоднозначность в его формулировке, в особенности в определении понятия эффективности. Далее мы рассмотрим вопросы (А) — (Е), более жестко определив, что представляет собой автомат. Это мы сделаем с помощью понятия, которому больше всего подходит название кристаллическая упорядоченность. Этот дополнительный результат столь же важен
и поучителен, как и возможность ответить на вопросы (А) — (D) {и до некоторой степени на вопрос (Е), см. выше).
Оставшуюся часть гл. 1 мы посвятим предварительному эвристическому обсуждению вопросов (А) — (Е). В гл. 2 разработаем специальную модель, в рамках которой сможем рассмотреть вопросы (А) — (D) со всеми подробностями и достаточно строго. В гл. 3 дадим анализ другой, более естественной, но технически менее удобной модели. Глава 4 посвящена дополнительным эвристическим соображениям, которые целесообразнее привести после детально разработанных конструкций гл. 2 и 3.
[1.1.2.3. Модели самовоспроизведения, рассматриваемые фон Нейманом. В предыдущем абзаце представлен план, намеченный фон Нейманом. К сожалению, ему не удалось осуществить свои намерения полностью. Чтобы понять сам план и ссылки на него, надо иметь некоторое представление о рассмотренных им различных моделях самовоспроизведения. Эти модели мы сейчас кратко опишем. По необходимости многое из этого описания основано на личных беседах с теми, с кем фон Нейман обсуждал свои модели.
Всего фон Нейман рассмотрел 5 моделей самовоспроизведения: кинематическую, клеточную, модель типа «возбуждение — порог — усталость», непрерывную и вероятностную модели.
Кинематическая модель связана с геометрическими и кинематическими проблемами движения, контакта, расположения, прикрепления и разделения. Вопросы силы и энергии в ней игнорируются. Основные элементы кинематической модели: логические (переключательные) и запоминающие (задержки) элементы (хранят и обрабатывают информацию); стержни (обеспечивают структурную жесткость); чувствительные элементы (чувствуют объекты в окружающем пространстве); кинематические (мышцеподобные) элементы (двигают близлежащие объекты); соединяющие и разделяющие элементы (осуществляют соединения и разъединения элементов). Кинематическая модель самовоспроизведения описана в лекции 5 части I. Там отмечалось, что фон Нейман начал работать над ней уже к 1948 г.
Вторая модель самовоспроизведения, принадлежащая фон Нейману,— клеточная модель. Ее создание было стимулировано Ула- мом, который в процессе обсуждения кинематической модели высказал предположение, что логический и математический анализ легче будет производить в рамках клеточной структуры, чем этой кинематической модели г). В клеточной модели самовоспроизведение осуществляется в неограниченном пространстве, разбитом на клетки, причем все они содержат один и тот же автомат. Фон Нейман называл
это пространство «кристаллической упорядоченностью», «кристаллической средой», «гранулированной структурой» и «клеточной структурой» ^ Мы будем употреблять термин клеточная структура.
Для самовоспроизведения можно использовать много различных типов клеточных структур. Фон Нейман выбрал бесконечный массив квадратных ячеек. В каждую ячейку он поместил один и тот же конечный автомат с 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.
^i Посылаю Вам обещанное введение (или «Главу 1»). Оно предварительно и неполно, особенно в следующих отношениях: .
Это главным образом введение к «Главе 2», где рассматривается модель, в которой каждая клетка имеет около 30 состояний. В нем мало говорится о «Главе 3», в которой будет обсуждаться модель, содержащая лишь механизмы типа «возбуждение — порог — усталость», и о «Главе 4», где я предполагаю разобрать «непрерывную», а не «кристаллическую» модель. В непрерывной моде
ли, насколько я сейчас себе представляю, будет использоваться система нелинейных дифференциальных уравнений в частных производных по существу диффузионного типа.
Написанное имеет пока совершенно «нелитературный» вид, т. е. нет примечаний (указаны лишь места, в которых они будут помещены), нет ссылок, пояснений, касающихся мотивов, происхождения идей и т. д.
Ясно, что при работе над гл. 1 фон Нейман планировал следующее: в гл. 2 дать полное описание клеточной модели самовоспроизведения, в гл. 3 рассмотреть модель самовоспроизведения типа «возбуждение — порог — усталость», а в гл. 4 непрерывную модель самовоспроизведения. Фон Нейман успел закончить самые важные этапы конструирования клеточной модели. К сожалению, у него так и не нашлось времени ни довести до конца ее описание, ни рассказать о двух других моделях.
В 1953 г. фон Нейман прочел четыре лекции в Принстонском университете (Vanuxem Lectures) со 2 по 5 марта включительно. Эти лекции были названы «Машины и организмы». Четвертая лекция посвящалась самовоспроизведению. В ней были упомянуты четыре модели: кинематическая, клеточная, модель типа «возбуждение — порог — усталость» и непрерывная модель. Так как фон Нейман уже договорился отдать свою рукопись «Теория автоматов: конструирование, воспроизведение, однородность» издательскому отделу Иллинойсского университета, то он не хотел эти лекции публиковать отдельно. Было решено, что на материале этих лекций и первых двух глав рукописи Джон Кемени напишет статью. Она была опубликована в 1955 г. (см. Кемени [1]). Значительная часть первых трех лекций появилась позднее в работе Неймана [2].
В основу модели типа «возбуждение — порог — усталость» т) была положена клеточная модель. Каждая клетка бесконечной структуры клеточной модели содержит автомат с 29 состояниями. Идея фон Неймана состояла в том, чтобы сделать этот автомат из нейроноподобных элементов, имеющих как механизм уставания, так и порог. Поскольку усталость играет важную роль в работе нейронов, модель типа «возбуждение — порог — усталость» должна быть ближе к реальным системам, чем клеточная модель. Фон Нейман никогда не говорил, как он представляет себе работу идеализированного нейрона, обладающего свойством усталости, но, учитывая все, что им сказано об идеализированных нейронах без устало-
сти и об относительных и абсолютных периодах рефрактерности реального нейрона (см. стр. 63 — 68 и Нейман [1, т. 5, стр. 375— 376]), мы можем сами сконструировать нейрон такого типа.
Идеализированный нейрон типа «возбуждение — порог — усталость» имеет заданный порог и заданный период рефрактерности. Период рефрактерности делится на два периода — относительной и абсолютной рефрактерности. Пока не наступило явление усталости, нейрон возбуждается, как только число активированных входов превысит или сравняется со значением порога. Когда нейрон переходит в состояние возбуждения, он генерирует выходной сигнал с определенной задержкой, и начинается рефрактерный период. В течение периода абсолютной рефрактерности нейрон совсем не может возбудиться; в течение периода относительной рефрактерности он может возбудиться, но только в том случае, когда число активированных входов не менее некоторого порогового числа, превышающего величину нормального порога.
Перейдя в состояние возбуждения, нейрон типа «возбуждение — порог — усталость» должен помнить об этом на протяжении всего периода рефрактерности. Он должен использовать эту информацию для того, чтобы не допустить, чтобы входные возбуждения оказывали на него свое обычное воздействие. Следовательно, этот тип нейрона сочетает переключательные свойства, выходную задержку и внутреннюю память с цепью обратной связи, управляющей воздействием поступающих сигналов. Такой прибор представляет собой фактически конечный автомат, т. е. прибор со входами и выходами и конечным числом состояний. В четвертой из лекций, прочитанных в Принстонском университете, фон Нейман высказал предположение, что нейрон с пороговым числом 2 и периодом рефрактерности 6 мог бы дать большую часть из тех 29 состояний, которые потребовались ему для каждого автомата, расположенного в клетках его системы.
Четвертой моделью самовоспроизведения, рассмотренной фон Нейманом, была непрерывная модель. Фон Нейман предполагал в ее основу положить систему нелинейных уравнений в частных производных, типа тех, которым подчиняются диффузионные процессы в жидкости. Фон Нейман занимался нелинейными уравнениями в частных производных и хотел эвристически использовать автоматы для решения теоретических проблем, связанных с такими уравнениями (стр. 53—55). В случае непрерывной модели самовоспроизведения он собирался пойти в обратном направлении и с помощью нелинейных уравнений в частных производных решить одну из проблем теории автоматов — исследование логических и математических свойств процесса самовоспроизведения. Это было частью общей идеи фон Неймана о применении методов и результатов математического анализа для решения проблем теории автоматов (см. стр. 45—48).
Физика, химия, биология и логика самовоспроизводящейся системы чрезвычайно сложны и включают большое число факторов; например, массу, энтропию, кинетическую энергию, скорости реакций, концентрацию ферментов и гормонов, процессы переноса, кодирование и управление. Все существенные свойства самовоспроизводящейся системы должны быть представлены в этих уравнениях функциями, т. е. зависимыми переменными. Фон Нейман понимал, что совместная система нелинейных уравнений в частных производных, годная для объяснения самовоспроизведения, будет гораздо сложнее систем, которые обычно изучаются.
Фон Нейман получил подготовку инженера-химика и поэтому ему были знакомы сложные химические реакции. К исследованию сложных физических систем разнообразных типов он также привлекал математику. О дифференциальных уравнениях самовоспроизведения он, вероятно, думал в связи с предложенной им моделью типа «возбуждение — порог — усталость». Допустим, удалось свести клеточную модель к модели типа «возбуждение — порог — усталость». Тогда наша задача превращается в задачу нахождения дифференциальных уравнений, описывающих возбуждение, порог и усталость нейрона. С работой нейрона связаны следующие процессы х). Нейрон возбуждается сигналами, поступающими на его входы от других нейронов. Достигая порогового значения, совокупность активированных входов возбуждает нейрон, направляя поток ионов натрия снаружи внутрь тела клетки. Поток (т. е. диффузия) ионов приводит к деполяризации тела клетки. Эта диффузия и деполяризация распространяются затем вдоль аксона, и в этом состоит то, что мы называем срабатыванием нейрона. После того как нейрон сработал, начинается диффузия ионов калия изнутри нейрона наружу, приводящая к реполяризации этого нейрона. Химическое равновесие натрия и калия восстанавливается позже.
Из предыдущего описания процессов возбуждения, уставания и пороговых эффектов ясно видно, что в них химическая диффузия играет фундаментальную роль. Этим объясняется, почему, фон Нейман выбрал для непрерывной модели самовоспроизведения дифференциальные уравнения в частных производных именно диффузионного типа. Причина, по которой он выбрал нелинейные уравнения, также ясна. Кинематическая, клеточная модели и модель типа «возбуждение — порог — усталость» показывают, что переключательные операции (например, порог, отрицание), а также управляющие контуры, содержащие ветвления, обратную связь и задержку, составляют неотъемлемую часть логического, информационного и организационного аспектов самовоспроизведения. Чтобы смоделировать эти дискретные явления в непрерывной системе, приходит-
J) [См. Экклс [1].]
ся прибегать к нелинейным дифференциальным уравнениям в частных производных.
Фон Нейман предполагал построить непрерывную модель, отправляясь от дискретной модели: сначала построить клеточную модель самовоспроизведения, потом свести ее к модели типа «возбуждение — порог — усталость» и, наконец, описать последнюю нелинейными дифференциальными уравнениями в частных производных.
В науке часто применяется обратный метод, и фон Нейман, безусловно, хорошо его знал. Берут непрерывную систему (такую, как жидкость, где наблюдается явление ударных волн) и аппроксимируют ее, разбивая на дискретные ячейки и считая состояние каждой ячейки постоянным. Так дифференциальные уравнения непрерывной системы заменяются разностными уравнениями дискретной системы. Затем эти разностные уравнения решают на цифровой вычислительной машине, и при соответствующих условиях полученное решение будет приближенным решением дифференциальных уравнений.
Каков бы ни был порядок исследования, система дифференциальных уравнений и соответствующие разностные уравнения описывают по существу одно и то же явление. Правило переходов в клеточной модели (гл. 2) есть не что иное, как представленный в виде разностных уравнений вариант системы уравнений в частных производных для непрерывной модели. Схема первичных самовоспроизводя- щихся автоматов соответствует граничным условиям этой системы. На различие между непрерывной и клеточной моделями можно взглянуть иначе, с точки зрения аналоговых и цифровых вычислительных машин. Аналоговая вычислительная машина — это непрерывная система, а цифровая вычислительная машина — дискретная система. Таким образом, рассматриваемая фон Нейманом непрерывная модель самовоспроизведения находится в том же отношении к аналоговым вычислительным машинам, как его клеточная модель самовоспроизведения к цифровым вычислительным машинам. В работе [7, разд. 12] фон Нейман приводит схему представления и обработки цифровой информации в аналоговом приборе. С этой схемой следует сравнить его непрерывную модель самовоспроизведения.
Эту модель также следует сравнить с результатами Тьюринга [1], изучавшего морфогенез с помощью дифференциальных уравнений, описывающих взаимодействие, образование и диффузию химических веществ. Тьюринг ограничился линейными дифференциальными уравнениями, лишь немного затронув нелинейные.
На протяжении всей своей научной деятельности фон Нейман проявлял большой интерес к приложениям теории вероятностей; примерами служат его работы по теории игр и основаниям квантовой механики. Естественно, что при исследовании автоматов он также стремился использовать теорию вероятностей. Об этом говорится
в лекции 3 части I настоящей книги. Его статья [71 была первой работой по вероятностным автоматам — автоматам, в которых переходы между состояниями являются вероятностными, а не детерминированными. Всякий раз, когда он обсуждал самовоспроизведение, он упоминал мутации, представляющие собой случайные изменения элементов (см. стр. 105 и разд. 1.7.4.2). В разд. 1.1.2.1 и 1.8 он сформулировал проблемы моделирования эволюционных процессов количественного описания естественного отбора, а также возможности возникновения в процессе эволюции высокоэффективных, сложных, мощных автоматов из малоэффективных, простых, слабых автоматов. Полное решение этих проблем даст вероятностную модель самовоспроизведения и эволюции ).]
РОЛЬ ЛОГИКИ — ВОПРОС (А)
Логические операции — нейроны. В вопросе (А), очевидно, речь идет об автоматах, у которых есть органы, позволяющие выразить важнейшие высказывания логики, и нет никаких других органов. Иными словами, органы таких автоматов обладают двумя устойчивыми состояниями, соответствующими основным значениям логических высказываний — истине и лжи. По аналогии с физиологией удобно называть эти органы (каковы бы они ни были на самом деле и какими бы мы их себе ни представляли) нейронами, а указанные состояния — соответственно возбуждением и покоем. Кроме того, удобно связать с этими состояниями числовые символы, а именно 1 и 0 ). На автоматы, построенные из таких органов, можно будет перенести обычную логическую структуру, соединив последние линиями, представляющими логические импликации, и введя для каждой основной логической операции особые типы основных органов (см. Маккаллок и Питтс [1]). В обычном исчислении высказываний такими операциями являются и, или, не; они обозначаются соответственно • , +, —(см. Нейман [7, разд. 4]). Линии, управляющие поведением нейрона, т. е. представляющие логические переменные основной логической операции (или функции), соответствующей этому нейрону, обозначают его входы. Линии, отвечающие результирующему поведению нейрона, т. е. представляющие значение рассматриваемой логической функции, обозначают его выходы. Обычно они служат входами других нейронов. Удобно считать, что нейрон имеет не несколько выходов, а только один, который затем расщепляется на необходимое число ветвей. Временной элемент в работе нейрона лучше всего выражается в виде соглашения о том, что состояние, предписываемое логической функцией, отвечающей данному нейрону (т. е. значение этой функции), появляется через т
единиц времени после того, как нейроны, управляющие его поведением, придут в соответствующие состояния. Иными словами, реакция нейрона (на его выходной линии) появляется с фиксированной задержкой т после прихода импульсов (на его входы). При распространении импульса вдоль линий не обязательно возникает задержка — выход может возбуждаться мгновенно, как только появляется входной сигнал. Проще всего считать, что все реакции происходят в моменты времени t. кратные т, т. е. t = пт. п = О, ±1, ±2, . . . . Далее, т можно выбрать за единицу времени (т = 1) и тогда = 0, ±1, ±2, . . . .
Основные нейроны показаны на рис. 3. Их поведение подчиняется следующим правилам:
а. Ъ — входы нейрона, с — его выход.
Нейрон + возбуждается в момент t тогда и только тогда, когда нейрон с выходом а или нейрон с выходом b возбуждается в момент t — 1.
Нейрон • возбуждается в момент t тогда и только тогда, когда нейрон с выходом а и нейрон с выходом Ъ возбуждаются оба в момент t — 1.
Нейрон — возбуждается в момент t тогда и только тогда, когда нейрон с выходом а не возбужден (т. е. находится в состоянии покоя) в момент t — 1.
Временная задержка, связанная с работой каждого нейрона, гарантирует эффективный и конструктивный характер получаемой здесь логической системы (Маккаллок, Питтс [1], Нейман [7, разд. 2.1 и 3.31). Легко видеть (на самом деле это заключено в соответствии между введенным набором нейронов и основными операциями логики), что автоматы, построенные из этих органов, могут выразить все высказывательные (пропозициональные) функции логики (Маккаллок, Питтс [1], Нейман [7, разд. 31). Далее, включение сюда индуктивных процессов или, более общо, всех процессов, допустимых в конечной логике, требует более глубокого анализа (Маккаллок, Питтс [1], Нейман [7, разд. 3.3 и 5.1]) х), который привносит новый независимый элемент — необходимость произвольно большой (конечной, но свободно регулируемой по величине) памяти. Это связано с вопросом (В) и будет рассмотрено позже.
1.2.2. Нервные и мышечные функции. Вопрос (А) связан только с логическими определениями, так что для его исследования требовались лишь (по крайней мере непосредственно; см., однако, последнее замечание разд. 1.2.1) автоматы, чьи органы имеют лишь два состояния — истину и ложь. Этим двум состояниям соответствуют
*) [Фон Нейман также упоминает Клини. Он, вероятно, имел в виду первоначальный вариант работы Клини [2], опубликованный корпорацией РЭНД в 1951 г.]
состояния возбуждения и покоя в нервной системе. Вопрос (В) относится к конструированию автоматов автоматами и потому предполагает наличие органов с отличными от логических функциями, а именно с кинематическими или механическими свойствами, необходимыми для приобретения и комбинирования органов, которые должны составить конструируемый автомат. На языке физиологии это значит, что к чисто нервным функциям нужно добавить еще хотя бы мышечные.
Здесь появляется несколько возможностей.
1.3. ОСНОВНЫЕ ПРОБЛЕМЫ КОНСТРУИРОВАНИЯ — ВОПРОС (В)
Прямое исследование, связанное с геометрией, кинематикой и т. д. Самый прямой подход заключается в следующем. Составляющие органы — это нейроны и линии, о которых говорилось при обсуждении вопроса (А), плюс дополнительные органы, требуемые для успешного решения вопроса (В). Эти составляющие органы можно представлять себе как физические объекты в реальном пространстве. Захват их и комбинирование (включая установление между ними жестких соединений) тоже осуществляются в реальном пространстве, т. е. в трехмерном евклидовом пространстве. (Возможны и другие варианты выбора размерности и геометрии пространства, но мы пока не будем их рассматривать, см. дальше обсуждения, связанные с решетчато-кристаллической структурой.) Таким образом, составляющие органы, необходимые для конструирования автоматов, следует искать и набирать в некотором пространстве; в этом же пространстве их нужно перемещать, приводить в контакт и скреплять друг с другом. Иными словами, все автоматы должны мыслиться как действительно геометрические (и кинематические и механические) сущности. Те функции, которые выше были символически описаны как мышечные, теперь будут лишь очень близкими к мышечным, и т. д. Возможны еще и другие степени абстракции; например, можно обращать или не обращать внимание на действительно механические аспекты этого вопроса (участвующие здесь силы, поглощаемая или рассеиваемая энергия и т. д.). Но даже простейший подход, при котором чисто механические аспекты не принимаются во внимание, всецело связан с очень сложными геометрическими и кинематическими рассмотрениями (Нейман [4]) т). И нельзя не почувствовать, что при первой попытке, типа нашей, их лучше избегать: мы должны сконцентрировать все свое внимание на внутренних, логико-комбинаторных аспектах изучения автоматов. Прилагательное формальный в начале разд. 1.1.1.1 как раз и должно было указать, что мы не рассматриваем, насколько это
*) [См. также лекцию 5 части I.]
возможно, чисто геометрические, кинематические или механические сложности. Уместность такого упрощения станет еще очевиднее, если продолжить список свойств, которыми мы пренебрегаем. Кроме геометрии, кинематики, а затем и механики, в него можно аналогично включить физику, химию и, наконец, анализ специфических физиологических и физико-химических структур. Все это необходимо рассмотреть, но позже, причем по очереди, примерно в таком же порядке, а при первом исследовании, быть может, лучше всего опустить все, даже геометрию и кинематику. (В дальнейшем мы увидим, что кое-что из примитивной геометрии и рудиментарной кинематики все же надо учесть.)
Негеометрический подход. Структура вакуума. Опишем теперь более изощренный подход, позволяющий в значительной степени избежать тех трудностей, о которых шла речь выше т).
Потребность в учете геометрических (и кинематических) свойств вызвана просто тем, что даже вакуум (области, в данный момент ничем не заполненные, но допускающие возможность поместить в них составляющие органы автоматов) имеет структуру. Трехмерное евклидово пространство представляет в точности (или с достаточной степенью приближения) реальную «структуру вакуума». Свойства этой структуры вносят ряд дополнительных усложнений. На более поздних этапах их придется принимать во внимание, а при первом подходе лучше исключить, и мы сейчас попытаемся это сделать.
Стационарность; состояния покоя и активные состояния.
Основное усложнение, которого мы хотим избежать,— это влияние кинематики, т. е. движения объектов. Мы будем сначала считать, что наши объекты стационарные и наша система при некоторых точно определенных условиях переводит их из исходного состояния покоя в активное состояние (или в какое-то одно из нескольких возможных активных состояний).
Дискретный и непрерывный подходы. Далее, эти стационарные объекты, первоначально находящиеся в состоянии покоя, мы будем считать или дискретными элементами, или же бесконечно малыми элементами непрерывно простирающейся среды. Тогда в первом случае у нас получится гранулированная, или клеточная, структура, а во втором — снова непрерывное пространство, более или менее похожее на евклидово.
Однородность: дискретная (кристаллическая) и непрерывная (евклидова). Сделаем теперь упрощающее, но зато сильно
Ъ IЗдесь фон Нейман собирался сослаться на Улама. См. разд. 1.1.2.3J
ограничивающее предположение х), что эта пространственная или квазипространственная основа однородна. Иными словами, гранулированная структура в первом случае должна обладать кристаллической симметрией ), а непрерывное пространство во втором случае должно быть евклидовым ). В обоих случаях эта однородность не есть абсолютная однородность. В самом деле, мы постулировали лишь однородность пространственной (или, более общо, комбинаторной) матрицы, состоящей из (покоящихся или активных) объектов, но не однородность популяции этих объектов: в первом (дискретном) случае мы не постулировали, что все клетки кристалла ведут себя совершенно одинаково, а во втором (непрерывном) случае мы не постулировали, что эта непрерывная, заполняющая все пространство среда всюду подчиняется одним и тем же правилам. В зависимости от того, постулировано это или нет, мы будем говорить, что система обладает или не обладает внутренней, или функциональной, однородностью ).
Далее, еще большую степень однородности мы получим, если все (дискретные или бесконечно малые) элементы будут находиться в одном и том же состоянии (например, в состоянии покоя). Эту однородность мы будем называть абсолютной однородностью (например, абсолютным покоем). Вообще говоря, делать такое предположение нельзя, ибо тогда исключается всякое позитивное и организованное функционирование автомата (например, всякая активность в смысле вопросов (В) — (Е) разд. 1.1.2.1). Но можно попытаться принять состояние абсолютного покоя в качестве начального состояния автомата. Полностью это реализовать нельзя, так как при обычной системе правил абсолютный покой является самоподдерживаю- щимся состоянием (см. дальше). Однако практически принимают абсолютный покой за начальное состояние и отправляются от него, введя некоторый минимальный объем внешней стимуляции (см. дальше).
]) Требующее более сильных результатов. [Это значит, что сконструировать самовоспроизводящийся автомат в однородной среде труднее, чем в неоднородной.]
Вопросы структуры. Высказанная в начале разд. 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) Можно ли вдобавок к функциональной однородности потребовать еще свойство изотропности *)? (В кристаллическом случае это имеет смысл только для регулярной кристаллической системы ). См. также вопрос (R).)
(R) Какие кристаллические системы можно использовать в кристаллическом случае? Или, если сформулировать то, что нас интересует: какую максимальную степень регулярности можно использовать?
*) [Изотропностью мы называем совпадение свойств по всем направлениям. В кристаллическом (дискретном) случае функциональная изотропность означает, что клетка соединяется с каждой из соседних одним и тем же образом. Конкретная клеточная структура, которую имеет в виду фон Нейман в гл. 2, функционально изотропна; см. раздел 1.3.3.5.]
Что касается вопроса (Р), то, казалось бы, минимальная допустимая размерность равна 3, но на самом деле годится даже 2. А вот размерность 1 маловероятна, по крайней мере в сочетании с любыми другими разумными постулатами ). Мы еще остановимся на этом вопросе более подробно.
Вопрос (Q) мы рассмотрим позже; оказывается, изотропность получить можно, но и неизотропные модели могут представлять значительный интерес.
По поводу вопроса (R) можно сказать лишь то, что мы будем интерпретировать максимальную регулярность как кубическую систему в трехмерном пространстве и как соответствующую квадратную систему в двумерном пространстве. Учитывая ответ на вопрос (Р), мы будем отдавать предпочтение последней. В дальнейшем мы увидим, что и другие системы также интересны.
Характер результатов. Из всего сказанного в разд. 1.3.3.1 — 1.3.3.3 можно сделать вывод, что сравнительное исследование дискретного (кристаллического) и непрерывного (евклидова) случаев принесет большую пользу. Сейчас напрашиваются такие выводы: (X) Возможности в обоих случаях практически одинаковы.
(Y) Непрерывный случай с точки зрения математики намного труднее дискретного.
(Z) Если получат развитие аналитические методы, позволяющие исследовать непрерывный случай, то он будет более исчерпывающим и найдет более широкие и естественные применения.
Позже мы обсудим эти утверждения подробно, а сейчас сделаем только одно замечание, касающееся тех трудностей, которые упоминаются в выводах (Y) и (Z). Эти трудности вызваны тем, что в непрерывном случае задача с точки зрения математики сводится к решению системы нелинейных дифференциальных уравнений в частных производных. Интересно, что нелинейные дифференциальные уравнения в частных производных, от которых во многом зависят наши математические возможности, появились именно в этом контексте.
Трудности, о которых говорится в (Y) и (Z), заставляют нас ограничиться только кристаллическим случаем. В дальнейшем, если не будет четко оговорено противное, мы всегда будем иметь в виду этот случай.
Однородность, покой и самовоспроизведение. Работая над частью II настоящей книги, фон Нейман строил цепь рассуждений, которая должна была привести к его клеточной модели самовоспроизведения. Сначала он рассматривал различные возможности,
а конкретный выбор откладывал на более позднее время. По ходу исследования его терминология менялась. Например, «покой» из разд. 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 конфлюентных состояния С££', где сие' принимают значения 0 (покой) и 1 (возбуждение); 8 обычных передающих состояний ТОа8 и 8 специальных передающих состояний Т1а£, где а = = 0, 1, 2, 3 и е = 0, 1, как и прежде. Из всех передающих состояний 8 находятся в покое и 8 возбуждены.
Чувствительные состояния носят переходный характер; каждое из них длится ровно 1 единицу времени.
Множество, состоящее из невозбудимого состояния U и 9 состояний покоя Соо, Т^ао (ц = 0, 1; а = 0, 1, 2, 3), обладает тем свойством, что если каждая клетка бесконечной клеточной структуры
будет в одном из этих 10 состояний, то вся система не будет меняться (т. е. ни одна из клеток не изменит своего состояния). Невозбудимое состояние U отличается от 9 состояний покоя Соо, Тиа0 (возбудимых) своей реакцией на импульсы (возбуждения). Импульсы, поступающие в клетку, находящуюся в невозбудимом состоянии U, переводят ее в одно из 9 состояний покоя Соо, Тиа0. Это изменение состояния представляет собой прямой процесс разд. 2.6, который занимает 4 или 5 единиц времени. Чувствительные состояния являются в этом процессе промежуточными.
Импульс, приходящий в клетку, находящуюся в одном из 20 возбудимых состояний С£Р/, Тиа0 (е, е', и = 0, 1; а = 0, 1, 2, 3), либо переводит клетку обратно в невозбудимое состояние U (это обратный процесс разд. 2.5), либо переключается, комбинируется с другими импульсами, задерживается. В частности, можно на площадку <4 клеточной структуры поместить покоящийся конечный автомат: каждую клетку этой площадки достаточно привести в одно из 10 состояний U, Соо иТиа0. Если такой конечный автомат правильно спроектирован, то при стимуляции (активации) он будет работать обычным образом.
Система отсчета времени для клеточной структуры состоит из моментов . . .—3, —2, —1, 0, 1, 2, 3, . . . . Фон Нейман точно не говорил, как он хотел использовать эту систему. Я приведу описание, согласующееся с его высказываниями. В отрицательные моменты времени все клетки находятся в невозбудимом состоянии. Составим конечный список клеток и укажем в нем состояние каждой клетки. Назовем этот список начальным распределением клеток. В нулевой момент времени все клетки начального распределения приводятся в указанное состояние, а клетки, не входящие в начальное распределение, остаются в невозбудимом состоянии. Затем клеточная система начинает работать по правилам переходов гл. 2. Каждое начальное распределение клеток задает определенную историю бесконечной клеточной структуры. Будем называть бесконечную клеточную структуру вместе с начальным распределением клеток бесконечным клеточным автоматом.
Бесконечный клеточный автомат, моделирующий самовоспроизведение, работает следующим образом. Конечный автомат Е из разд. 1.6.1.2 представляет собой некоторое начальное распределение клеток. Точнее, исходное состояние этого конечного автомата Е есть некоторое начальное распределение. В момент 0 мы наносим это начальное распределение клеток на клеточную структуру, помещая тем самым на клеточную структуру конечный автомат Е. Допустим, что воздействию подверглась площадка ^, так что в нулевой момент времени все клетки вне «4 остались невозбудимыми. Логическая структура автомата Е такова, что в некоторый последующий момент т на другой площадке JV клеточной структуры появится копия авто-
мата Е. Это значит, что состояние каждой клетки площадки JV в момент % совпадает с состоянием соответствующей клетки площадки ^ в нулевой момент времени. Таким образом, Е воссоздает себя на площадке ^'. Итак, на бесконечном клеточном автомате в нулевой момент времени размещается только один экземпляр конечного автомата Е, а в момент т на нем размещаются уже два таких автомата. Это и есть самовоспроизведение.
Рассмотрим развитие бесконечного клеточного автомата во времени. В отрицательные моменты времени он абсолютно однороден в смысле разд. 1.3.3.2, причем все его клетки невозбудимы. В нулевой момент абсолютная однородность нарушается введением неоднородности в конечной области. Эта неоднородность, вообще говоря, распространяется на окружающие области. В случае самовоспроизведения неоднородность с площадки «^ распространяется до тех пор, пока площадка «^' не станет точно так же организованной, как Jt.
В приведенном исследовании бесконечного клеточного автомата отрицательные моменты времени существенно не использовались. Так как в эти моменты все клетки невозбудимы, то можно было бы без потери общности рассматривать только моменты 0, 1, 2, 3, . . . . Фон Нейман не объясняет, почему он ввел отрицательные моменты времени. Возможно, он планировал использовать их в связи с вероятностной моделью самовоспроизведения и эволюции (см. конец разд. 1.1.2.3).]
Упрощение вопросов конструирования с учетом материала разд. 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.2. Чтобы примирить его с реальностью, можно интерпретировать отсутствие клетки как наличие ее в специальном, специфически невозбудимом состоянии. Эта концепция хорошо согласуется с концепцией «структуры вакуума» (см. разд. 1.3.1.2).
Такой переход сам должен вызываться специальными импульсами, т. е. некоторыми специальными активными состояниями соседних клеток. Обычные импульсы (т. е. обычные активные состояния), управляющие логическими функциями из разд. 1.2.1, этого сделать не могут. Эти импульсы управляют переходами между состояниями покоя и обычными активными состояниями, но только возбудимых клеток и без какого-либо изменения типа (в смысле разд. 1.2.1) рассматриваемой клетки (нейрона). Понятие невозбудимости было определено выше именно по отношению к этой обычной стимуляции. Для получения эквивалента прироста возбудимых клеток необходимо, чтобы упоминавшаяся выше специальная стимуляция могла вызывать переходы от невозбудимости к возбудимости, а также определять тип (в смысле разд. 1.2.1) создаваемой возбудимой клетки.
Эти концепции позволяют охарактеризовать отличие состояния покоя (с возбудимостью) от невозбудимости: в первом случае на это состояние воздействуют (и изменяют его) обычные импульсы, а во втором — только специальные импульсы. Разумеется, мы просто свели это различие к различию между обычными и специальными импульсами, т. е. к различию между обычными и специальными активными состояниями. Если же оставить физиологическую аналогию и вернуться к математической задаче, то здесь все еще останутся неясные стороны.
Некоторые соображения по поводу различия, обсуждаемого в разд. 1.3.4.2. Теперь необходимо рассмотреть, насколько целесообразно различать обычные и специальные импульсы. Как было показано выше, в основе лежит следующая мысль. Обычные импульсы предназначены для логических операций, и они не изменяют типа нейронов, на которые воздействуют. Иными словами, обычные импульсы применяются для управления хорошо организованными ансамблями и их использования. Специальные импульсы предназна-
чены для операций роста, связанных с введением возбудимости вместе с переопределением типов нейронов, например, в ранее невозбудимые области. Иными словами, специальные импульсы применяются для организации (в соответствии с некоторым логическим планом) неорганизованных (или иначе организованных) областей.
Учет такого различия при первом подходе несомненно удобен, ибо позволяет дать различным по смыслу функциям совершенно различные роли. Поэтому в своих первых конструкциях (см. дальше) мы будем его строго соблюдать. Однако с помощью ряда логических и комбинаторных приемов это различие можно сделать менее резким и даже полностью снять. Впоследствии по некоторым причинам математического и умозрительного характера это окажется желательным, и в наших дальнейших конструкциях мы это используем.
[Логические функции и функции роста безусловно различны по смыслу. Фон Нейман сразу же четко разделил их представление в своей клеточной системе. Логические функции выполняются обычными импульсами, а функции роста выполняются специальными импульсами. Позже он несколько ослабил это различие, используя оба типа импульсов для обоих типов функций.
Разница между обычными и специальными импульсами хорошо видна при изучении рис. 9. Как обычные, так и специальные передающие импульсы вызывают «рост», переводя невозбудимое состояние U в одно из 9 состояний покоя Соо, Тиа0 (и = 0, 1; а = 0, 1, 2, 3); это прямой процесс разд. 2.6 (он изображен на рис. 10). Специальные передающие импульсы переводят обычное передающее состояние Тоа£ (а = 0, 1, 2, 3; 8 = 0, 1) или конфлюентное состояние С££< (е, 8' = 0, 1) в невозбудимое состояние U, в то время как обычные передающие импульсы переводят специальное передающее состояние Т1а£ (а = 0, 1, 2, 3; 8 = 0, 1) в невозбудимое состояние U; это обратный процесс разд. 2.5.
Логические функции дизъюнкции, конъюнкции и задержки могут осуществляться множеством обычных передающих и конфлюентных состояний. Логическая функция отрицания в системе фон Неймана непосредственно не представлена. Она осуществляется разрывом пути связи и восстановлением его в дальнейшем. Разрыв проводится обратным процессом, а восстановление — прямым. Пример показан на рис. 17.]
ОБЩИЕ СХЕМЫ КОНСТРУИРОВАНИЯ —
ВОПРОС (В), ПРОДОЛЖЕНИЕ
Конструирование клеточных агрегатов—встроенный план. Мы обсудили лишь первую часть вопроса (В) — непосредственные проблемы конструирования одного автомата другим. Теперь мы
перейдем ко второй части вопроса (В) — рассмотрим, какими средствами можно заставить один автомат конструировать широкие классы других автоматов и какое переменное, но по существу стандартное оборудование можно использовать для облегчения и ускорения этого процесса.
' До сих пор нас интересовало лишь, как можно создать одиночную клетку с заданными характеристиками. В этом отношении нам удалось развить некоторые ориентировочные принципы. Остается вопрос, как управлять этой операцией во всех ее деталях. Ясно, что это должна делать логическая часть первичного автомата (прародителя), которая рассматривалась в разд. 1.2.1. Естественно также, что она должна осуществлять контроль и упорядочивать акты создания одиночных клеток, необходимых для построения всего вторичного (конструируемого) автомата.
Это «упорядочение» при создании одиночных клеток должно осуществляться с помощью некоторой логической схемы, уже заложенной в логическую часть первичного автомата. Логическая схема такого рода есть не что иное, как полный «план» вторичного автомата, функционально записанный в первичном автомате на «языке», который первичный автомат может «понимать» и с которым он работает.
Итак, план вторичного автомата должен быть «встроен» в первичный автомат предположительно в форме логических соединений в смысле разд. 1.2.1.
Три схемы размещения в первичном автомате составных планов — параметрическая форма. Из предыдущего раздела следует, что созданный для сформулированной там цели первичный автомат есть устройство prima facie х), пригодное для конструирования одного и только одного вторичного автомата. Однако легко получить обобщения и на другие случаи.
Во-первых, можно, разумеется, встроить в первичный автомат планы нескольких (различных) вторичных автоматов. Во-вторых, можно применить логическое оборудование, способное заставить первичный автомат конструировать определенный вторичный автомат несколько раз (например, создать наперед заданное число копий). В-третьих, в план конструируемого автомата могут входить численные параметры, и такой план можно встроить в первичный автомат в (изменяемой) параметрической форме (вместе со средствами, дающими возможность подставлять в качестве параметров любые числа).
Третья схема, или, точнее, комбинация второй и третьей схем, является наиболее общей. Но все же и они в своей первоначальной форме еще содержат ограничение, а именно ограничение на числа,
(Возникающее) при первом взгляде (лат.).— Прим, перев.
которые можно использовать в качестве значений параметров (третья схема), и на числа повторений вторичного автомата (вторая схема). Действительно, эти числа должны быть представлены в первичном автомате в некоторой форме, скажем в цифровой. Предположим, что всего этих чисел р и все они целые и неотрицательные; обозначим их v4, . . ., хр. Пусть каждая из клеток, предназначенных для их представления, имеет к состояний, отведенных специально для этой цели. Удобно интерпретировать эти состояния как 0, 1, . . ., к — 1 разряды числа в системе счисления с основанием к. Пусть для vz- отведено тц таких клеток, t = 1, . . ., р\ тогда общее число необходимых клеток равно п = пл + . . . + ^р- Таким образом, v^ выражается ^-разрядным числом в системе счисления с основанием к. и, следовательно, оно ограничено knt числами 0, 1, . . ., кпг — 1.
Наглядное определение массива L, предназначенного для числовых параметров. Только что описанное ограничение можно снять с помощью простого приема: пусть эти клетки находятся «снаружи» (т. е. не внутри площадки, занимаемой первичным автоматом, а рядом с ним) во внешней (т. е. покоящейся) области кристалла. Они могут, например, образовать линейный массив L, простирающийся вправо (т. е. в направлении положительных значений х^ от площадки, занимаемой первичным автоматом. Предназначенные для «нотационных» целей к состояний должны, разумеется, носить квазипокоящийся характер, т. е. не должны воздействовать (стимулировать или трансформировать каким-то иным способом) на другие клетки, и этого легко достичь (см. дальше). Далее, первичный автомат должен быть наделен способностью устанавливать контакт со всеми частями этого линейного массива L, и его функционирование должно определяться «нотационными» состояниями клеток массива L. На первый взгляд может показаться, что с помощью фиксированного ограниченного первичного автомата сделать это для всех возможных L (для всех возможных размеров массива L, т. е. для п) трудно. Но потом, когда мы будем рассматривать этот вопрос подробно [разд. 1.4.2.5], мы увидим, что возникающие здесь трудности легко преодолеваются. Упомянем сейчас лишь одну из этих трудностей.
Казалось бы «исследование» массива L невозможно без точного задания (т. е. без записи внутри первичного автомата) его размера, т. е. п. В самом деле, вполне естественно, что р и все vb . . ., vp должны быть заданы. Но это ограничило бы выбор чисел р и пп . . . . . ., npi ибо первичный автомат — фиксированная вещь. Поэтому ограниченным был бы массив L, а следовательно, и числа, которые он представляет.
Эту трудность можно обойти так. Пусть каждая клетка в L, как и прежде, имеет к состояний, предназначенных для нотационных целей, т. е. состояний, соответствующих числам 0, 1, . . ., к — 1,
и два дополнительных состояния, называемых запятой и точкой. (Все эти состояния должны быть квазипокоящимися в смысле, указанном выше.) Числа р и v1? . . ., vp представлены в L клетками, находящимися только в состояниях, отвечающих цифрам. Построим L следующим образом (слева направо, т. е. в направлении положительных значений ж): разряды числа р. запятая, разряды числа vn запятая, . . ., разряды числа ^р. точка. При «исследовании» такого массива первичный автомат распознает запятые и точку и тем самым выяснит значения р и vb . . ., vp, каковы бы они ни были.
Применения массива L. Линейный массив из разд. 1.4.2.1 есть переменное, но по существу стандартное оборудование, о котором говорится в вопросе (В). Это то простое дополнение к первичному автомату, находящееся по существу в покоящемся состоянии и обладающее лишь самой примитивной структурой, которое, как явствует из разд. 1.4.2.1, в значительной степени расширяет активные способности автомата. Возможности, на самом деле свойственные этой конструкции, будут выяснены впоследствии. Главное приложение массива L мы опишем в разд. 1.5 и 1.6. А сейчас рассмотрим более простое приложение.
Использование массива L в качестве неограниченной памяти. Это приложение связано с тем дополнительным к чисто логическому автомату оборудованием, о котором идет речь в вопросе (А).
Конструкция, способная выполнять чисто логические функции (в смысле вопроса (А), как обсуждалось в разд. 1.2.1), не универсальна из-за отсутствия в ней произвольно большой памяти, конечной, но регулируемой по величине (см. конец разд. 1.2.1). Именно таков линейный массив, построенный в разд. 1.4.2.1. Таким образом, L вместе со служебными средствами наблюдения, поиска и конструирования оказывается тем вспомогательным оборудованием (переменным, но по существу стандартным), которое, как видно из вопроса (А), перекидывает мостик к логической универсальности. Необходимость в служебных средствах для L означает, что для получения логической универсальности компоненты, требуемые обычно для первичного (конструирующего) автомата вопроса (В), нужно также ввести в (логический) автомат вопроса (А). Подробнее обо всем этом см. дальше [гл. 4 и 5].
Использование в L двоичной системы счисления. Еще одно замечание относительно клеток массива L: можно взять к = 2, т. е. представить все числа в двоичной системе счисления. Тогда каждая клетка из L будет иметь для наших целей к + 2 = 4 состоя-
ния. Если же по каким-то причинам требуется, чтобы для записи чисел у нас было всего 2 состояния, то это легко сделать, заменив каждую клетку из L двумя клетками, так как пара состояний, принимающих лишь два значения, допускает 22 = 4 комбинации.
Схема цифризации и пунктуации в L удовлетворяет всем требованиям разд. 1.4.2.1. Но это не единственный возможный вариант. Очевиден также следующий вариант. Пунктуационные состояния (запятая и точка) оставим прежними (как в разд. 1.4.2.1). Из двух состояний 0 и 1 возьмем лишь 1. Представим число v (положительное целое) не в виде последовательности нулей и единиц (разложение его в двоичной системе счисления), а в виде последовательности v единиц. Это представление намного длиннее представления разд. 1.4.2.1 (v символов вместо тц где п — наименьшее целое, удовлетворяющее условию 2n > v, т. е. п > log2 v), но оно проще определяется и им легче пользоваться (в смысле служебных функций, фигурирующих в разд. 1.4.2.3). Подробности см. дальше.
[1.4.2.5. Линейный массив L. Сейчас, возможно, полезно рассмотреть, забегая вперед, конструкцию механизма фон Неймана для записи и считывания содержимого произвольной ячейки неограниченного линейного массива L.
Начнем с машины Тьюринга, представляющей собой конечный автомат, связанный с неограниченно удлиняемой или бесконечной лентой. Лента разбита на ячейки, каждая из которых содержит один из конечного числа символов (т. е. находится в одном из конечного числа состояний). Пусть алфавит состоит из двух символов: 0 (чистая ячейка) и 1 (отмеченная). В каждый данный момент времени конечный автомат контролирует одну ячейку ленты. Он может изменить ее содержимое (сделать пометку или стереть уже имеющуюся) и сдвинуть ленту на одну ячейку влево или вправо, так что в следующий момент времени он будет контролировать соседнюю ячейку. Таким образом, конечный автомат за конечное время может получить доступ, считать и внести изменения в любую ячейку ленты.
Ясно, что здесь важен именно доступ к произвольной ячейке ленты, а возможность перемещения ленты — это лишь способ обеспечить этот доступ. Можно было бы ленту зафиксировать, и автомат перемещать вдоль нее вперед и назад. Можно сделать неподвижными и ленту и конечный автомат, а сообщение автомата с произвольной ячейкой хп осуществлять посредством укорачиваемой и неограниченно растяжимой «проволоки». Конечный автомат контролирует и изменяет состояние ячейки хк, а затем растягивает проволоку до ячейки яп+1 или укорачивает ее до ячейки хп_1е
Так и поступил фон Нейман в своей клеточной системе. Детали приведены в гл. 4. Объясним основную идею фон Неймана с помощью рис. 37. На этом рисунке показан узел управления памятью (УУП) —
конечный клеточный автомат — и бесконечный массив ячеек L, простирающийся вправо. Нуль представляется в ячейке хп невозбудимым состоянием U, а единица — покоящимся, но возбудимым состоянием Т030 (обычным передающим состоянием, ориентированным вниз).
Для того чтобы считать содержимое ячейки хЛ1 УУП посылает к массиву последовательность импульсов по соединительной петле СР Эти импульсы проходят через хк, не оказывая влияния на соседние ячейки хл_^ и х^^ модифицируются в соответствии с состоянием ячейки хп и возвращаются в УУП, принося информацию о содержимом ячейки хп. Затем УУП производит запись в ячейке хп и либо растягивает петлю Cj так, что она проходит через жп+1, либо сжимает ее так, что она проходит через xn_v В этом процессе растяжения — сжатия участвует еще и временная петля С2, которая растягивается (или сжимается) вместе с СР
В массиве L нужно разместить конечное множество основных знаков, в том числе запятую и точку. Все они записываются в виде двоичных последовательностей длины к и каждый знак занимает к ячеек массива. Сначала разместим в L такой набор знаков, в котором последний и только последний знак является точкой. Далее, УУП может выделить эту точку и передвинуть ее вправо или влево, расширив или сузив информацию, записанную на L. Поэтому, несмотря на то что УУП обладает конечной фиксированной емкостью, объем информации, с которым он может работать, неограничен.]
УНИВЕРСАЛЬНЫЕ СХЕМЫ КОНСТРУИРОВАНИЯ — ВОПРОС * (С)
Использование массива L для нечисловой (универсальной) параметризации. Схемы разд. 1.4.2.1 (с учетом разд. 1.4.1.2) позволили существенно расширить класс вторичных автоматов, которые можно сконструировать одним, надлежащим образом заданным (фиксированным) первичным автоматом (см. второй вопрос пункта (В)). Однако они не дают еще конструктивной универсальности, о которой говорится в вопросе (С). Сейчас мы ее получим, слегка изменив методы разд. 1.4.2.1.
Согласно разд. 1.4.2.1, класс вторичных автоматов, которые можно сконструировать одиночным первичным автоматом, ограничен в следующем смысле (на время забудем о результатах разд. 1.4.1.2): все они должны быть частными примерами одного общего вида. Это значит, что их индивидуальные планы (конструкции) все выводятся из общего главного плана, в котором в качестве значений некоторых имеющихся в распоряжении параметров выбраны определенные числа. Другими словами, хотя уже нет необходимости в том, чтобы в первичный автомат был встроен конкретный план вторичного автомата, но основной, характерный для всего класса
план, которому следуют все эти подчиненные планы, должен быть встроен.
Универсальная форма плана. Рассмотрим произвольный (но однозначно определенный) вторичный автомат и возможные способы его описания. Несомненно, годится такой способ:
Зададим (две) координаты х и (две) координаты у, соответствующие четырем сторонам прямоугольной площадки, целиком содержащей вторичный автомат. Назовем эти координаты xXl х2 и У1, У2- Они отсчитываются от начала, которым служит некоторая подходящим образом выбранная точка области, занимаемой первичным автоматом.
На самом деле удобнее ввести в рассмотрение длины сторон прямоугольной площадки, содержащей вторичный автомат: сс = = х2 — Xt 4- 1, р = у2 — ух + 1 (при условии х^ ^ x2l yi < yaY и оперировать с числами х^ У\, а, р.
Согласно пункту (а), каждая клетка внутри прямоугольника, охватывающего вторичный автомат, определяется двумя координатами I ( = 0, 1, . . ., а — 1), / (= 0, 1, . . ., р — 1). (Точнее, координаты клетки (к, 7) в описанной в пункте (а) системе координат равны xv + i. yi + ]-) Обозначим через I число состояний, в которых может находиться такая клетка, и пусть % — номер состояния (X = 0, 1, . . ., I — 1). Обозначим через Х^ требуемое (по плану обсуждаемого вторичного автомата) состояние клетки (i, 7) в момент, когда конструирование этого автомата только что закончено.
Из пунктов (а) и (Ь) ясно, что вторичный автомат полностью характеризуется заданием чисел х^ у^ а, Р и Х^ для всех пар i — = О, 1, . . ., а - 1; 7 = 0, 1, . . ., р - 1.
Заметим, что эти числа могут принимать следующие значения:
^i, у— 0, + 1, i 2, .. .;
а, р = 1, 2, ...;
р-1.величи-р-1.величи-Х^ - 0, !,...,/ — 1 для i = 0, 1, ..., а — 1, 7 — 0, 1, ...,
р-1.
величи-
р-1.
величи-
Наконец, хь у^ удобнее представить их абсолютными нами 1^1, | у^ | и числами
jO для х^ > О,11 для xv <0,jO для х^ > О,11 для xv <0,/0 для yV>^ 11 для Z/1 < 0./0 для yV>^ 11 для Z/1 < 0.
jO для х^ > О,11 для xv <0,
jO для х^ > О,11 для xv <0,
/0 для yV>^ 11 для Z/1 < 0.
/0 для yV>^ 11 для Z/1 < 0.
Таким образом, последовательность (положительных целых чисел)
где г = 0, 1, . . ., а — 1; 7=0, 1, . . ., р — 1 и числа Хи расположены в лексикографическом порядке по г, ], содержит полное
описание конструируемого, вторичного автомата, причем в том его состоянии, которое требуется сразу же после окончания конструирования.
С этой последовательностью можно поступить, как с описанной в разд. 1.4.2.1 более простой последовательностью р, v19 . . ., vp. Иными словами, можно образовать линейный массив клеток L, простирающийся вправо (т. е. в направлении положительных значений х^ и организовать его следующим образом: члены последовательности (*) в указанном порядке, причем каждое число записано по основанию к, между двумя соседними числами запятая, а в конце точка. Это общее описание служит теперь общим планом некоторого класса вторичных автоматов, содержащим определенные параметры (третья схема разд. 1.4.1.2). Кроме того, только что введенный линейный массив L эквивалентен линейному массиву L из разд. 1.4.2.1: в нем указаны те численные величины, которые следует подставить в качестве параметров общего описания. Таким образом, данное здесь описание произвольного вторичного автомата наилучшим образом соответствует параметрическому характеру третьей схемы разд. 1.4.1.2. Поскольку эта схема не связана ни с какими ограничениями, на этом пути можно достичь универсальности, о которой идет речь в вопросе (С).
1.6. САМОВОСПРОИЗВЕДЕНИЕ — ВОПРОС (D)
Очевидная трудность при использовании массива 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.]
план, например, в виде L. Если учитывается и второй вопрос из пункта (D), то этот автомат должен также содержать план (т. е. L) другого, наперед заданного автомата.
Схема разд. 1.5.2 не позволяет выполнить даже первое условие: рассмотренный там (вторичный) автомат имеет не более сф клеток, в то время как L (см. (*), разд. 1.5.2) состоит из сф + 6 чисел, сф + + 5 запятых и одной точки (т. е. по крайней мере имеет 2сф + + 12 клеток). Пока не известно ни одного метода, непосредственное применение которого позволило бы преодолеть эту трудность. Существует, однако, косвенный метод, при котором удается ее обойти.
Устранение указанной трудности — классы Е и Ер. Этот метод состоит в следующем г).
Обозначим через А универсальный (первичный) автомат из разд. 1.5.2. Автомат А конструирует любой вторичный автомат, описание L которого присоединено к А (см. разд. 1.5.2).
Можно построить и расположить в заданной области, смежной с А, другой автомат В, который будет просматривать массив L и создавать точную его копию L', располагая L' в точности в том же положении относительно вторичного автомата, в каком L находится относительно первичного автомата А. Необходимую для такого расположения информацию можно получить при изучении L, ибо L содержит числа ^, z/i, а, Р, описывающие положение вторичного автомата по отношению к первичному автомату А.
Рассмотрим, наконец, автомат С, управляющий автоматами А и В следующим образом: С заставляет сначала А, как первичный автомат, построить вторичный автомат S, описываемый с помощью L. Затем С заставляет В изготовить копию L' массива L и присоединить ее ко вторичному автомату S так, как это описано выше. Обозначим теперь полный агрегат из автоматов А, В, С через D, а его описание — через Ld.
Заметим, что Ld должно содержать числа xv у^ (не непосредственно, а через е, т), | ^i |, | у^ |; см. (*) в разд. 1.5.2) и а, Р; эти четыре числа описывают положение вторичного автомата относительно первичного. Значения чисел а, р указать легко, так как легко установить размеры прямоугольника, охватывающего D. Что касается чисел х^ у^ то здесь возможен выбор; эти две координаты определяют относительное положение вторичного автомата. Предположим сначала, что этот выбор каким-то образом осуществлен; нужно только, чтобы он гарантировал, что вторичный автомат вместе с присоединяемой к нему частью L' целиком лежит вне первичного автомата и присоединяемой к нему части L. В дальнейшем мы еще вернемся к этому.
х) Нейман [4]. [См. также стр. 103—106 настоящей книги.]
Теперь рассмотрим комплекс Е, возникающий в результате присоединения LD к D. Повторяя приведенные выше рассуждения, легко проверить, что Е будет конструировать в точности D с LDr т. е. Е самовоспроизводится.
Это ответ на первый вопрос пункта (D). Аналогично можно получить утвердительный ответ на второй вопрос из (D). Действительно, предположим, что, помимо самовоспроизведения, требуется еще и конструирование другого автомата F. Обозначим описание комплекса D и F через LD + F. Пусть EF — объединение LD + г и D. Ясно, что этот агрегат конструирует D, присоединяя к нему Ld + f, а также конструирует F. Другими словами, он не только самовоспроизводится, но еще и конструирует F.
Поясним характер процедуры ответа на вопрос (D).
Первое замечание: форма массива L. Только что описанное конструирование автомата основано на установлении определенного состояния отдельно для каждой клетки некоторой подходящим образом выбранной площадки (см. разд. 1.5.2 (Ь), где показан такой modus procedendi х)). Эта площадка берется для простоты в виде прямоугольника (см. разд. 1.5.2 (а)), и поэтому ее размеры часто бывают несколько завышены. Внешняя присоединяемая часть представляет собой линейный массив (см. конец разд. 1.5.2). Автомат и его описание геометрически не всегда хорошо подходят друг к другу: покрывая их общим прямоугольником, можно излишне преувеличить размеры последнего. Следует отметить, что линейная форма массива L вовсе не абсолютная необходимость, и ее вполне можно* изменить (см. далее). В то же время именно линейность формы массива обеспечивает легкий доступ ко всем его частям (см. гл. 4).
Второе замечание: устранение противоречия при одиночном воспроизведении. Как указано в конце разд. 1.6.1.2, числа х4, У\ должны быть настолько велики, чтобы вторичный автомат (положение которого по отношению к первичному автомату определяется координатами х^ z/i) и присоединяемая к нему часть L' лежали полностью вне первичного автомата и присоединяемой к нему части L. Таким образом, числа xv у4 зависят от величины L. (Множество L' конгруэнтно множеству L.) Но L содержит | х^ |, | у\ |, и потому возникает опасность порочного круга. Однако эта опасность не серьезна, и каждая из следующих процедур позволяет ее избежать.
Массив L (как L для первичного автомата, так и L' для вторичного автомата) простирается лишь в одном направлении (в направлении положительных значений х; см. конец разд. 1.5.2). Отсюда следует, что он занимает очень мало места в направлении оси у'
(особенно, если он линейный; см. выше, а также далее). Значит, можно указать фиксированную минимальную величину | z/i |, при которой части D и L первичного автомата не пересекутся с соответствующими частями вторичного автомата.
С другой стороны, представление | ^ |, | у^ | в системе счисления с основанием к (см. разд. 1.4.1.2 и 1.4.2.1) гарантирует, что размеры использованной для их записи области, а следовательно, также и массива L, растут лишь как логарифмы этих чисел, а величины, обеспечивающие отделимость, по существу совпадают со значениями самих этих чисел | ^ |, | у^ |. Ясно, что, будучи достаточно большими, они сколь угодно превзойдут свои логарифмы.
Наконец, если каждое число будет обозначаться, как предлагается в разд. 1.4.2.4, последовательностью, в которой количество единиц равно самому числу, то любую трудность можно избежать, полагая, например, что 1^1 и | у^ | — квадраты целых чисел, а числа, которые должны записываться, как указано выше, равны их квадратным корням. Тогда требуемый размер массива L будет изменяться как квадратный корень от величины, обеспечивающей отделимость, т. е. будет, как и log2, медленно растущей функцией. Таким образом, когда числа достаточно велики, нужная разница будет заведомо обеспечена.
Как отмечалось выше, пригоден каждый из этих трех способов, но существуют и другие. Принятый нами метод опишем позже.
Третье замечание: анализ метода преодоления трудности, упомянутой в разд. 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? Этот вопрос имеет, очевидно, определенное семантическое значение
для того направления, в котором мы сейчас работаем, т. е. для теории автоматов. Действительно, он затрагивает всю проблему систем обозначений и представлений, т. е. роли и преимущества введения, помимо самих объектов, их «описаний».
Причина заключается в следующем. Для того чтобы автомат В мог скопировать группу клеток (как в разд. 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 относительно свойств квазипокоя предназначались фактически именно для этого приложения.
Копирование: использование описаний вместо оригиналов. Здесь стоит отметить также, почему этими методами нельзя осуще-
ствить третий шаг — конструирование описания LG, основанное на непосредственном изучении оригинала G. Если бы это можно было сделать, то подходящий первичный автомат мог бы скопировать данный автомат G, даже если бы ему не было сообщено описание Lg этого автомата. Действительно, можно было бы начать с конструирования LG по G, а затем скопировать LG и построить G по Lg. Затруднение здесь вызвано тем, что хотя два последних шага связаны с наблюдением квазипокоящегося объекта (описания Lg), первый шаг потребовал бы также наблюдения над автоматом G, реакции которого неконтролируемы. С учетом современных исследований, касающихся связи теории автоматов и логики, весьма вероятно, что любой процесс непосредственного копирования данного автомата G при отсутствии его описания LG потерпит неудачу; в противном случае мы, вероятно, столкнулись бы с логическими противоречиями типа парадокса Ричарда г).
Итак, мы работаем с «описаниями» LG, а не с «оригиналами» G потому, что первые являются квазипокоящимися (т. е. неизменными, но не в абсолютном смысле, а в отношении результатов исследования, которое должно быть предпринято), а вторые обладают способностью меняться и реагировать. В том вопросе, который мы здесь рассматриваем, значение описаний состоит в том, что они заменяют меняющиеся и реагирующие оригиналы покоящимися и (временно) неизменными семантическими эквивалентами и, таким образом, позволяют осуществить копирование. Копирование, как мы видели, представляет собой решающий шаг, который и обеспечивает возможность самовоспроизведения (или, более общо, воспроизведения без вырождения размеров или уровня организации).
[1.6.3.2. Парадокс Ричарда и машины Тьюринга. Как отмечалось выше, фон Нейман собирался в связи с парадоксом Ричарда сделать подстрочное примечание с ссылкой на Тьюринга. Я не знаю, что он имел в виду, но думаю, что он хотел отметить параллелизм между парадоксом Ричарда ) и доказательством Тьюринга неразрешимости проблемы остановки. Я сейчас освещу этот параллелизм.
Парадокс Ричарда в соответствующем языке L возникает следующим образом. Пусть ^0, ^ь £2, • • • — все те выражения из L, которые определяют двузначные теоретико-числовые функции одного переменного, т. е. функции от натуральных чисел, принимающие два значения: 0 и 1. Таково, например, выражение «ж нечетно»; оно определяет функцию, истинную (имеет значение 1) для нечетных чисел и ложную (имеет значение 0) для четных чисел. Обозначим через ft (п^ теоретико-числовую функцию, определяемую выражени-
х) [Фон Нейман отметил, что в этом месте он собирался сделать подстрочное примечание с ссылкой на Тьюринга. См. разд. 1.6.3.2.]
ем еь и положим
, (та Г °, если /,(п) —1,liV ’ "11, если А(и) = О.
Наконец, пусть е обозначает выражение «функция — /п (zz)».
Мы предположим, что е можно выразить на языке L, и придем к противоречию. (1) Последовательность е0, ех, е^ . . . содержит все выражения языка L, определяющие двузначные теоретикочисловые функции одного переменного. Очевидно, что е определяет двузначную теоретико-числовую функцию одного переменного и потому встречается среди членов последовательности е0, е19 е2, . . . . (2) Выражение е явно определяет функцию —/п (^), отличную от всех функций /0 (zz), ^ (zz), /2 (zz), • • • • Это значит, что е не определяет ни одну из функций /0 (zz), Л (zz), /2 (zz), . . ., которые для каждого i определяются выражением et. Следовательно, е' не встречается среди членов последовательности е0, е^ е2, . . . .
Итак, мы показали, что выражение е' содержится в последовательности е0, ^i, ^2, . . . и в то же время его там нет. Это противоречие удивительно, потому что, казалось бы, е является законным выражением в любом непротиворечивом языке (например, в английском языке, обогащенном некоторыми математическими символами), а на самом деле это противоречие показывает, что если язык L непротиворечив, то е выразить на нем нельзя.
Перейдем теперь к проблеме остановки для машин Тьюринга. Эта проблема разъяснялась в конце лекции 2 части I. Машина Тьюринга — это конечный автомат с неограниченно удлиняемой лентой. Конкретная машина Тьюринга — это машина Тьюринга, на ленту которой с самого начала нанесена конечная программа или формулировка задачи. Конкретная машина Тьюринга называется циклической, если она печатает конечную последовательность двоичных символов и останавливается. Конкретная машина Тьюринга называется ациклической, если она печатает двоичные символы в чередующиеся ячейки неограниченно долго. Тьюринг доказал, что разрешающей машины для остановки не существует, т. е. не существует абстрактной машины Тьюринга, способной решить, является ли произвольная конкретная машина Тьюринга циклической (когда- либо остановится) или ациклической.
Доказательству Тьюринга несуществования разрешающей машины для остановки можно придать форму, очень близкую к приведенному только что доказательству парадокса Ричарда. Обозначим через ^0, ^, £2, . . ., tb . . . все ациклические конкретные машины Тьюринга. Пусть $г (0), $г (1), ^ (2), . . ., ^ (zz), . . . — последовательность, полученная на машине ^. Каждый член этой последовательности равен либо 0, либо 1, так что машина ^ вычисляет дву-
значную функцию sz (zz), перечисляя все ее значения в порядке возрастания аргумента. Рассмотрим функцию —sn (zz). Эта функция аналогична функции — /п (zz), определенной выражением е в парадоксе Ричарда.
По аналогии с рассуждениями при доказательстве парадокса Ричарда мы предположим, что существует ациклическая конкретная машина Тьюринга V, вычисляющая функцию — sn (zz), и получим противоречие. (1) Последовательность tOl £i, ^ • • • • содержит все ациклические конкретные машины Тьюринга. Машина t' является таковой по предположению. Следовательно, V встретится среди членов последовательности tOl ^, t^ . . . . (2) По определению машина t' вычисляет функцию — sn (zz), отличную от всех функций s0 (zz), $i (zz), s2 (zz), . . . .А так как для каждого z функция s^ (zz) вычисляется машиной tb то f нет среди членов последовательности £0, £1т
Итак, мы показали, что машина f содержится в последовательности ^0, ^, 1^ . . . и в то же время ее там нет. Однако в этом случае- такое противоречие не вызывает удивления, поскольку нет причин верить в то, что машина V существует. Другими словами, полученное противоречие показывает, что машина V не существует, и отсюда, что функцию — sn (п^) нельзя вычислить никакой ациклической конкретной машиной Тьюринга.
Теперь предположим, что существует разрешающая машина ^ для остановки, и тоже придем к противоречию. Обозначим конкретную машину Тьюринга, которая может перенумеровать все конкретные машины Тьюринга (такая машина существует) через te. Ее выход можно соединить с машиной th так, чтобы образовалась машина Iе + ^, которая может перенумеровать все ациклические конкретные машины Тьюринга. Существует абстрактная машина Тьюринга t^ которая может имитировать по очереди каждую ациклическую конкретную машину Тьюринга, найти sn (zz) для каждой машины zz и напечатать —sn (п). Таким образом, машина te + th + ^ вычисляет функцию — sn (zz) и является машиной V. Но из предыдущего абзаца мы знаем, что такой машины V нет. Так как машины Iе и tu существуют, то не существует машины t\ т. е. разрешающей машины для остановки. Отсюда вытекает, что нет также машины te + t\ т. е. такой машины, которая могла бы перенумеровать все ациклические конкретные машины Тьюринга.
Первая часть приведенного доказательства несуществования разрешающей машины для остановки устанавливает как то, что машина f содержится в последовательности £0, ^, £2, . . ., так и то, что ее там нет. Это в точности соответствует доказательству парадокса Ричарда: выражение е содержится в последовательности е0, е1? е2, • • - и в то же время его там нет. Оба доказательства используют диагональную процедуру Кантора для определения функции, которой
нет в данной последовательности. Я думаю, что именно из-за этого- параллелизма фон Нейман и собирался сослаться здесь на Тьюринга.
Следует отметить, что парадокс Ричарда можно устранить из языка, применяя к последнему теорию типов г). Например, построим язык так, чтобы каждое его выражение имело типовой номер и выражение данного типа могло относиться только к выражениям более низкого типа. Предположим теперь, что выражения е0, ^, е^ ... имеют тип т. Так как г' относится ко всем таким выражениям, то оно должно быть более высокого типа и, следовательно, оно не может встретиться среди выражений с0, е17 е2, ... . Если это так, то наше доказательство парадокса Ричарда перестает быть справедливым. См. в этой связи письмо Курта Гёделя, цитированное в конце лекции 2 части I.
Эти соображения в применении к выражениям, относящимся к самим себе, представляют интерес в связи с проблемой конструирования самовоспроизводящегося автомата, ибо такой автомат должен быть способным получить свое собственное описание. В разд. 1.6.3.1 фон Нейман рассматривает два метода, позволяющих это сделать. Я буду называть их «пассивным» и «активным» методами. В пассивном методе самовоспроизводящийся автомат содержит внутри себя свое пассивное описание и считывает его таким образом, что оно не может помешать работе автомата. В активном методе самовоспроизводящийся автомат исследует самого себя и таким образом строит свое описание. Фон Нейман предполагает, что второй метод привел бы, вероятно, к парадоксам типа парадокса Ричарда, и по этой причине он придерживается первого метода. См. разд. 1.7.2.1, 2.3.3, 2.6.1 и 2.8.2. К концу гл. 5 мы сможем убедиться, что самовоспро- изводящуюся машину на самом деле можно построить именно первым методом. Это показывает, что автомат может содержать описание самого себя ).]
РАЗЛИЧНЫЕ ПРОБЛЕМЫ ВНЕШНЕГО КОНСТРУИРОВАНИЯ, ПРОМЕЖУТОЧНЫЕ МЕЖДУ ВОПРОСАМИ (D) И (Е)
Размещение первичного, вторичного и т. д. автоматов. Мы продолжим теперь обсуждение вопроса (D), которое позволит в какой-то мере ответить на вопрос (Е). Мы рассмотрим проблему расположения вторичного автомата, конструируемого самовоспро- изводящимся первичным автоматом Е или EF, а также проблемы начала, хронометрирования и повторения самовоспроизведения.
2) [Рассел [1]. См. также Клини [1].]
Заметим, что при размещении автомата F в EF новых проблем возникать не должно: EF — это автомат D с присоединенным к нему описанием LD+F (см. конец разд. 1.6.1.2), a Ld+f — это описание автомата D вместе с описанием автомата F. В этом совместном описании автоматов D и F последний должен быть однозначно размещен по отношению к первому, а это и обеспечивает все, что здесь требуется.
Возвращаясь к основному вопросу размещения вторичного автомата автоматом Е или EF, мы будем рассуждать так. Предположим, что это размещение осуществляется первым методом разд. 1.6.2.2, т. е. указанием такого числа у, при котором условие | ^ | ^ у гарантирует отделение первичного автомата от вторичного автомата Е или EF. (В случае EF мы считаем, что и первичный и вторичный автоматы содержат автомат F, расположенный относительно D в соответствии с Ld+f; см. выше, хотя в начале процесса такой автомат F должен сопутствовать лишь вторичному автомату.) Поместим начало системы координат хч у. используемой в разд. 1.5.2, в левый нижний угол прямоугольника, охватывающего первичный автомат, т. е. в точку, соответствующую точке fo, у-^ во вторичном автомате. Таким образом, вторичный автомат смещен на х^ у^ относительно первичного автомата.
Так как в других отношениях вторичный автомат идентичен первичному (не считая добавления автомата F во втором случае), то он опять породит копию (и создаст другой автомат F во втором случае), построив уже третий автомат. Затем он произведет четвертый автомат, за которым последует пятый (каждый раз во втором случае вместе с сопутствующим автоматом F, см. выше) и т. д. Сдвиг при этом будет равен 2^, 2у1? затем 3^19 Зу1? затем 4х^ 4ух и т. д.
Таким образом, сдвиг между р-м и q-м автоматами равен (q — — р) х^ (q — /?) yv Так как р, q = 1, 2, . . ., то при р ^ q
k-p| =i, 2,
откуда | (q — р) yt | = | q — р |. | yv | ^ у. Следовательно, эти два автомата пересекаться не будут. Иными словами, все последовательно сконструированные потомки первичного автомата будут отделены в пространстве друг от друга и не будут мешать друг другу. (Более точно: эти потомки будут отделены и не будут мешать друг другу на основном кристалле [кристаллической структуре].)
Такой способ предупреждения пересечения первичного автомата с его потомками в действительности можно распространить и на пути в кристалле, по которым каждый из этих потомков, действующий при воспроизведении как первичный автомат, осуществляет кон-
струирование своего ближайшего последователя, т. е. своего вторичного автомата.
Это сделать совсем нетрудно; подробности мы обсудим позже.
Конструируемые автоматы: начальное состояние и пусковой импульс. Теперь проанализируем вопрос начала и хронометрирования.
Рассмотрим то состояние вторичного автомата, которое по замыслу должно быть получено к концу этапа конструирования, т. е. так называемое начальное состояние вторичного автомата (см. разд. 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), а потом мы увидим, что можно конструировать автоматы так, чтобы их начальные состояния были квазипокоящи- мися.
Суть дела, разумеется, заключается в том, что как только такой (вторичный) автомат закончен и потому находится в квазипокоящемся начальном состоянии, он с помощью соответствующего процесса возбуждения может быть переведен в состояние, отвечающее его нормальной (т. е. составляющей цель) активности. Этот процесс возбуждения удобнее всего представлять себе в виде одиночного импульса, посылаемого первичным автоматом в соответствующую точку вторичного, в подходящий момент времени после того, как
конструирование закончено. Такой импульс называется пусковым импульсом для вторичного автомата. Он, таким образом, является заключительным шагом, совершаемым первичным автоматом при конструировании вторичного. Подробности см. далее.
В случае самовоспроизведения, т. е. для автоматов Е или EF, рассматриваемых в разд. 1.6.1.2 и 1.7.1, вторичный автомат (или один из вторичных автоматов) представляет собой сдвинутую копию первичного. Пусковой импульс активирует этот вторичный автомат и заставляет его самовоспроизводиться (точно так же, как прежде первичный автомат). Так поддерживается итеративный процесс самовоспроизведения, о котором шла речь в разд. 1.7.1.
Одиночный и последовательный типы самовоспроизведения. Что делает первичный автомат после того, как он закончил построение вторичного автомата и сообщил ему пусковой импульс?
Проще всего было бы решить, что он возвращается в состояние квазипокоя, идентичное исходному состоянию. Безусловно, такое предположение требует рассмотрения типа обсуждения в разд. 1.7.1 непрерывного воспроизведения.
Другое решение состоит в том, чтобы прийти в квазипокоящееся состояние при условии, что подходящий крайний орган будет активным и снова сообщит пусковой импульс. Такая схема приводит к повторяющемуся самовоспроизведению исходного первичного автомата и, конечно, также всех его потомков первого, второго, третьего и т. д. поколений. Однако ее реализация требует еще одного уточнения.
Действительно, в такой форме эта схема привела бы к тому, что первичный автомат пытался бы построить все последовательные вторичные автоматы с одними и теми же значениями х^ у^ т. е. в одном и том же месте кристалла. Это, очевидно, ведет к конфликту; в лучшем случае вторая конструкция будет наложена на первую копию и разрушит ее. Более правдоподобно, что первый вторичный автомат, который к этому времени будет обладать способностью реагировать, будет препятствовать второму (предпринимаемому) конструированию, вызывая непредсказуемое множество неисправностей и нарушая все воспроизведение. Поэтому между первой и второй попыткой конструирования вторичного автомата координаты xtl у^ необходимо изменять, и точно так же следует поступать между второй и третьей попытками, третьей и четвертой и т. д. Это изменение координат xv, У1 должно, таким образом, осуществляться в* процессе работы упомянутого выше крайнего органа. Арифметические законы, управляющие последовательной модификацией х^ у^ должны быть такими, чтобы у всех вторичных автоматов, соответствующих исходному первичному, не возникало конфликтов ни друг с другом, ни с возможными автоматами F, сопутствующими им (см. первую
часть разд. 1.7.1), ни с путями, по которым ведется конструирование (см. конец разд. 1.7.1). Кроме того, все вторичные автоматы, соответствующие исходному первичному, являясь сдвинутыми копиями последнего, будут вести себя точно так же. Следовательно, они сконструируют двойную последовательность автоматов третьего поколения, затем (таким же образом) тройную последовательность автоматов четвертого поколения и т. д. Отсюда правила последовательных модификаций а?!, у^ должны быть такими, чтобы никакие два члена этой иерархии не мешали ни друг другу, ни возможным автоматам F, ни путям конструирования.
Эти требования выглядят довольно жесткими, но не трудно указать подходящие для этой цели арифметические правила модификации х^ ух- Они будут рассмотрены ниже.
Итак, мы различаем два типа самовоспроизведения: 1) каждый первичный автомат конструирует только один вторичный и 2) каждый первичный автомат конструирует последовательные вторичные автоматы и никогда не останавливается. Мы будем называть их соответственно одиночным и последовательным типами самовоспроизведения.
Конструирование, расположение, конфликт. Теперь целесообразно сделать несколько замечаний относительно физиологических аналогий проведенных только что построений.
Сравнивая процессы конструирования и воспроизведения автоматов с процессами роста и воспроизведения в природе, легко заметить, что в нашем случае местоположение играет более существенную роль, чем в реальной действительности. Причина состоит в том, что при переходе от непрерывного евклидова пространства к дискретному кристаллу мы преднамеренно избавлялись от кинематики настолько, насколько это было возможно. Отсюда перемещение по структуре, которая остается конгруэнтной самой себе, но меняет свое положение относительно кристаллической решетки, уже не будет такой простой и элементарной операцией, как в природе. В нашем случае такое перемещение так же сложно, как и само воспроизведение. Это означает, что все наши структуры жестко привязаны к их исходному положению и этим вызвана большая часть трудностей.
Правда, и в природе все конфликты и столкновения вызываются расположением, но там из-за возможности перемещения схема оказывается более гибкой. Возникающие отсюда ограничения нашей модели являются платой за то упрощение, которого мы добиваемся, устраняя кинематику (см. разд. 1.3.1.1 —1.3.3.1).
Существенное предварительное условие, необходимое для работы рассмотренного нами механизма воспроизведения, состоит в том, что область, в которой он функционирует, должна быть в состоянии покоя (см., например, замечания в первой части разд. 1.7.2.1 и в первой части разд. 1.7.2.2). Иными словами, район кристалла, окру-
жающий первичный автомат, должен быть лишен организмов, способных давать реакцию (так должно быть постольку, поскольку требуется, чтобы процесс воспроизведения протекал беспрепятственно). Совершенно ясно, что там, где область, охватываемая воспроизведением, вызванным первичным автоматом, приходит в соприкосновение с реагирующими организмами, могут возникнуть упоминаемые в разд. 1.7.2.2 «непредсказуемые неисправности». Это, конечно, просто иной способ говорить о конфликтных ситуациях, связанных с несколькими независимыми организмами, вступившими в контакт и взаимодействие.
Автомат Ер и функция гена. Другая физиологическая аналогия — сходство поведения автоматов Ег с типичной функцией гена *). В самом деле, Ер воспроизводит себя и строит заданный автомат F. Ген воспроизводит себя, а также создает (или стимулирует создание) некоторых специфических ферментов.
Автомат Ер и мутация: типы мутаций. Еще одно свойство автомата Ер, на котором стоит остановиться, состоит в следующем. Предположим, что некоторая клетка автомата Ер произвольным образом изменилась. Если эта клетка принадлежит автомату D комплекса Ер, то она может воспрепятствовать или направить по совершенно неверному пути процесс воспроизведения. Если же она лежит в LD + f< то Ef будет конструировать вторичный автомат, который может оказаться связанным с ним (и с F) не так, как хотелось бы. Наконец, если измененная клетка лежит в LD + F и, в частности, в описании автомата F и модифицирует его, превращая в F', то будет создан комплекс Ер, и, кроме того, автомат F'.
Такое изменение клетки внутри EF очень напоминает мутацию в природе. Первый случай носит, по-видимому, черты летальной или стерилизующей мутации. Второй соответствует мутации, не обладающей такими свойствами, но ведущей к созданию существенно измененного (как правило, стерильного) потомка. Третья мутация приводит к потомку, жизнеспособному и самовоспроизводящемуся, но с другим побочным продуктом (F' вместо F). Это означает изменение наследственной линии.
Таким образом, основные типы мутаций оказываются весьма близкими к имеющимся в природе.
1.8. ЭВОЛЮЦИЯ — ВОПРОС (Е)
Обсуждение, предпринятое в разд. 1.7, направлено на то, чтобы обеспечить переход от вопроса (D) к вопросу (Е). Что касается самого
Ц Нейман [4].
вопроса (Е), вопроса эволюции, то мы сейчас сделаем лишь несколько замечаний.
Нетрудно предусмотреть в автоматах типа Е или EF логические устройства, позволяющие модифицировать части, соответствующие D в Ld или F в Ld + F, в зависимости от внешних импульсов, которые могли прийти ранее. Это привело бы к изменению представляемой ими наследственной информации в результате событий, которые произошли за время их активного существования. Ясно, что это шаг в нужном направлении, но точно так же ясно, что потребуется весьма серьезный дополнительный анализ и уточнения, прежде чем он действительно будет сделан. (Потом мы еще остановимся на этом вопросе.)
Кроме того, необходимо помнить, что конфликты между независимыми организмами ведут к последствиям, которые, согласно теории «естественного отбора», составляют важнейший механизм эволюции. Как было показано в конце разд. 1.7.3, наши модели ведут к такого рода конфликтным ситуациям. Следовательно, эту сторону эволюции также можно рассматривать в рамках наших моделей. Условия, позволяющие эффективно провести такое изучение, могут оказаться весьма сложными, но они заслуживают внимания.
ГЛАВА 2СИСТЕМАИЗ 29 СОСТОЯНИЙС ОБЩИМ ПРАВИЛОМПЕРЕХОДОВГЛАВА 2СИСТЕМАИЗ 29 СОСТОЯНИЙС ОБЩИМ ПРАВИЛОМПЕРЕХОДОВВВЕДЕНИЕ. 2.1.1. Модель: состояния и правило переходов. В этой главе мы рассмотрим первую модель, обладающую свойствами логической и конструктивной универсальности и самовоспроизведением (см. вопросы (А) — (Е) разд. 1.1.2.1), а также другими свойствами, отмеченными в процессе обсуждения этих вопросов в гл. 1. В основе модели лежит кристаллическая среда (см. разд.
ГЛАВА 2
СИСТЕМА
ИЗ 29 СОСТОЯНИЙ
С ОБЩИМ ПРАВИЛОМ
ПЕРЕХОДОВ
ГЛАВА 2
СИСТЕМА
ИЗ 29 СОСТОЯНИЙ
С ОБЩИМ ПРАВИЛОМ
ПЕРЕХОДОВ
1.3.3.1—1.3.3.3). Мы будем конструировать эту модель в двух измерениях, используя квадратную х) (регулярную) решетку (см. конец разд. 1.3.3.3, особенно вопросы (Р) и (R)). Каждая точка решетки может находиться в конечном числе (скажем, А) различных состояний. Ее поведение будет описываться (или управляться) некоторым вполне определенным правилом, которому подчиняются переходы от каждого из этих состояний к другому, зависящие от состояний ее непосредственных соседей.
Мы реализуем в этой главе важнейшие из конструкций, необходимых для ответов на вопросы (А) — (Е) разд. 1.1.2.1 (и относящегося к делу последующего материала гл. 1), для определенной подобным образом конкретной модели.
Формализация пространственных и временных соотношений. Дадим сначала несколько определений и введем обозначения.
Точки решетки квадратического кристалла (см. разд. 2.1.1) будем обозначать двумя целочисленными координатами /, /. Естественно считать (по крайней мере до тех пор, пока не возникнут причины поступать иначе), что этот кристалл простирается неограниченно во всех направлениях:
I. / = О, + 1, +2, . . . .(1)
[Какая именно точка решетки выбрана в качестве начала (0, 0), значения не имеет.] Таким образом, пара /, / определяет точку плоскости. Эти пары удобно также рассматривать как векторы, т. е. считать. что их можно складывать. Обозначим
^ = <мУ(2)
Ближайшими соседями точки (/, /) назовем 4 точки (Z + 1, /), (i, / ± 1), а следующими за ними ближайшими соседями назовем
[Точками решетки кристалла с квадратными ячейками служат вершины ячеек.]
4 точки (i + 1, ] + 1). На рис. 4а и 4с ближайшие соседи точки X отмечены светлыми кружочками (с), а следующие за ними ближайшие соседи отмечены темными кружочками (•).
Положим (см. рис. 4Ь)
v° -(1,0), и1 = (0, 1), 1
Р2 — — ?;° =( — 1,0), V3 = — V1 =(0, — 1), J
и4-(1,1), V5-(-1,1), 1
р6 = —г4 —(— 1, —1), г7 = —р5 = (1, —1). J
Ближайшими соседями точки О будут точки й + ра (а = 0, . . . . . ., 3), а следующими за ними ближайшими соседями будут точки О + иа (а = 4, . . ., 7). В качестве непосредственных соседей точки О', упоминаемых в разд. 2.2.1, можно было бы взять либо 4 точки О + ^а (а = О, . . ., 3), либо 8 точек О' + ^а (а — 0, . . ., 7). Мы остановимся на первом варианте, так как он позволяет обойтись более простыми средствами.
На рис. 4а и 4Ь показана обычная кристаллическая решетка: вершинами ее служат точки пересечения прямых. Дальше мы будем прибегать к другой схеме: точка решетки будет изображаться клеткой и ее непосредственными соседями (которые на рис. 4а и 4Ь соединялись одним звеном) будут примыкающие к ней клетки (т. е. клетки, имеющие с ней общую сторону). Далее, мы всегда будем показывать лишь те клетки (т. е. лишь те точки решетки), которые необходимы для иллюстрации рассматриваемого в данный момент вопроса. Таким образом, рис. 4а превращается теперь в рис. 4с.
Как обсуждалось в разд. 1.2.1, время будет принимать значения
* = 0, ±1, ±2, ... .(5)
Каждая точка решетки является клеткой в смысле разд. 1.3.3.1 и 1.4.1.1. Она может находиться в одном из N состояний (см. разд. 2.1.1); обозначим их
п — 0, 1, .. ., N— 1.(6)
Тогда состояние клетки О = (г, /) в момент времени t можно записать в виде
nV(7)
Заметим, что в качестве значений, которые может принимать пп не обязательно брать N чисел 0, 1, . . ., N — 1 (как в (6)), а, если это удобно, использовать любые N символов.
Эта система должна быть внутренне однородной в смысле разд. 1.3.3.2, т. е. ее поведение в каждой точке А должно подчиняться одному и тому же правилу. Это правило и есть то правило пере-
ходов. о котором говорилось в разд. 2.1.1. Оно выражает состояние клетки А в момент t через состояния самой клетки О и ее непосредственных соседей в подходящие предыдущие моменты времени. Слегка упростим нашу систему, взяв в качестве «подходящего предыдущего момента времени» момент, непосредственно предшествующий моменту I. т. е. t — 1. Иными словами, п^ будет у нас функцией от п1^1 и п^+р« (а = 0, . . ., 3):
^ = F(7zJ-i; яШа = 0, ...,3). (8)
Заменим п^ на тп, a zz4+va на та. Тогда функция F примет вид F (т; mQL\ а = 0, 1, 2, 3). Эта функция F от пяти переменных представляет собой, таким образом, правило переходов. Оно является единственным и полным правилом, которому подчиняется поведение этой (внутренне однородной) системы.
Так как множество значений функции F состоит из N элементов, а область ее определения (множество всех пятерок) состоит из N5 элементов, то всего существует
^(^5) (9)
возможных функций F, т. е. в рассматриваемом классе существует столько возможных правил переходов (или моделей).
Необходимость неформального обсуждения этих состояний. Рассмотрим теперь несколько более эвристически, каким же должны быть эти 7V состояний клетки. Характер их описывается, разумеется, не их перечислением (6), а правилом переходов (8). Для нас важно лишь, что состояний всего N. Поэтому строгим результатом, подытоживающим приведенные выше соображения, была бы конкретизация правила переходов (8), т. е. функции F. Однако на настоящей, эвристической стадии лучше изучить перечень (6), дав каждому состоянию свое имя и описав его роль. В этой связи мы воспользуемся возможностью изменения обозначений, о которой мы говорили в разд. 2.1.2 (см. замечание после (7)).
ЛОГИЧЕСКИЕ ФУНКЦИИ -
ОБЫЧНЫЕ ПЕРЕДАЮЩИЕ СОСТОЯНИЯ
Логико-нейронные функции. Прежде всего необходимо иметь состояния, выражающие чисто логические, или нейронные, функции (см. разд. 1.2.1). Это требует введения чего-то эквивалентного нейронам, изображенным на рис. 3, и соединительным линиям.
Передающие состояния — соединительные линии. Рассмотрим сначала соединительные линии. Они должны представлять собой ряды клеток, т. е. точек решетки. Так как линия должна
обладать способностью передавать (нейронный) импульс, то каждая из составляющих ее клеток уже даже только для этой цели должна иметь состояния покоя и возбуждения. Здесь мы интересуемся лишь передачей (нейронного) импульса и потому будем называть эти состояния покоя и возбуждения передающими состояниями клетки. Их будем обозначать символом Т8, причем 8 = 0 означает покой, а 8 = 1 возбуждение.
Эта передача должна быть направленным процессом, ибо линии (заменяемые клетками в передающем состоянии) были проведены так, чтобы соединить определенные точки. Следовательно, надо ввести дополнительные ограничения. Можно условиться, что клетка в передающем состоянии воспринимает только тот импульс, который поступает с одного определенного направления. Мы будем называть это направление входным направлением клетки. Иными словами, возбужденная передающая клетка приводит свою непосредственную соседку (находящуюся в покоящемся передающем состоянии) в возбужденное передающее состояние (а если последняя была в этом состоянии, то сохраняет его) только в том случае, если первая из них посылает импульс во входном направлении последней. Можно также условиться, что клетка в передающем состоянии посылает импульс только в одном определенном направлении. Это направление мы будем называть выходным направлением клетки. Иными словами, возбужденная передающая клетка приводит свою непосредственную соседку (находящуюся в покоящемся передающем состоянии) в возбужденное передающее состояние (а если последняя была в этом состоянии, то сохраняет его) только в том случае, если последняя принимает импульс, посланный в выходном направлении первой. Наконец, можно допустить оба эти условия.
Если рассмотреть все модели, которые здесь возможны, то будет ясно, что удобнее всего выбрать определенное выходное направление. Чтобы избежать некоторых неконтролируемых, а потому нежелательных явлений, связанных с возвратной стимуляцией, целесообразно считать, что выходное направление нечувствительно ко входам, а конкретизировать входное направление даже не обязательно.
Величина иа при а = 0, . . ., 3 (рис. 4Ь) дает всевозможные направления к непосредственным соседям (см. в разд. 2.1.2 замечания после (3) и (4)). Поэтому к символу Т8 мы добавим еще индекс а (= 0, . . ., 3). Итак, Та8 означает, что данная клетка находится в состоянии Т8 и имеет выходное направление иа. Тогда наши условия принимают следующий вид: состояние Та^ клетки й' приводит клетку А (находящуюся в состоянии Та0 или Та1) в состояние Та1 тогда и только тогда, когда О = й' + Ра', но О' ^ О + 0% т. е. тогда и только тогда, когда О — ^' = ра' =/= — иа.
Используем символы Та8 (а = 0, 1, . . ., 3; 8 = 0, 1) вместо некоторых значений величины п в формуле (6) (см. в разд. 2.1.2
замечание после (7)). Предположим, что между приходом импульса и возникновением реакции имеется единичная задержка (см. разд. 2.1.2 перед формулой (8)). Тогда приведенное правило можно записать в виде
Пусть nV =тае.
(10)(10)Тогда и»=Та1, если nV=Ta/i для некоторой клетки й', удовлетворяющей условию О — О'' = i/*' ^ — и^.I
(10)
(10)
В противном случае ^—Та0.]
Задержки, углы и повороты в соединительных линиях. Наша модель для соединительных линий отличается от модели, рассмотренной в разд. 1.2.1, тем, что в ней учитываются конечные задержки распространения импульса. Мы будем предполагать, что между непосредственными соседями имеется единичная задержка. Но это отклонение от схемы разд. 1.2.1 не приводит к существенным нежелательным последствиям.
Заметим также, что наша модель одинаково годится как для синтеза прямых соединительных линий, так и для синтеза линий, образующих углы и повороты. Прямые линии изображены на рис. 5а—5d; они соответствуют четырем возможным «прямым» направлениям на нашей решетке. «Углы» и «повороты» показаны на рис. 5е и 5f. Рис. 5а—5f выполнены в соответствии с рис. 4с. Рисунки 5а'—5f являются упрощенными вариантами рисунков 5а — 5f; на них каждое состояние Та8 заменено стрелочкой, соответствующей его вектору иа (см. рис. 4Ь).
Рассмотрим теперь конкретные нейроны, изображенные на рис. 3.
НЕЙРОНЫ - КОНФЛЮЕНТНЫЕ СОСТОЯНИЯ
Нейрон +• Для нейрона — требуется просто возбудимая клетка, которая имеет выход и два возможных входа. Конечно, не будет никакого вреда, если ее снабдить более чем двумя такими входами. В разд. 2.2.2.1 мы определили передающую клетку так, что она имеет три возможных входа. Любая из ее 4 сторон, исключая выходную сторону, является входом. Таким образом, наши передающие клетки выполняют не только функции (элементов) соединительных линий между нейронами (для этого они и предназначались), но также играют роль нейронов +.
Пример использования обычной передающей клетки в качестве нейрона +, т. е. в качестве точки контакта соединительных линий, приведен на рис. 5g. Этот рисунок выполнен в соответствии со схемой рис. 5а'—5f.
Конфлюентные состояния: нейрон • . Для нейрона • требуется возбудимая клетка, имеющая выход и два входа, которые для получения возбуждения следует раздражать одновременно. Практически удобно было бы ввести класс таких состояний. Но свободный выбор выходного направления и двух входных направлений (из 4 возможных направлений, соответствующих значениям и^, а = 0, . . ., 3) привел бы к 12 типам: (4 X 3 X 2)/2 = 12, а так как для каждого типа должно быть и покоящееся, и возбужденное состояния, то всего потребовалось бы 24 состояния. Можно получить столь же удовлетворительные результаты более экономно, а именно только с одним типом и поэтому двумя состояниями. Этого можно достичь, если вообще не предписывать определенных входных или выходных направлений, т. е. если договориться, что каждое направление может быть выходным точно так же, как и входным. Кроме того, в качестве необходимого условия возбуждения нужно будет считать наличие не менее двух раздражений, т. е. не менее двух возбужденных передающих клеток, которые являются непосредственными соседями, и при этом наша клетка принимает импульсы, посланные в их выходных направлениях. Еще удобнее придать этому условию более гибкую форму, т. е. считать, что рассматриваемая клетка возбуждается, если возбуждена каждая непосредственно соседствующая передающая клетка, выходное направление которой ориентировано на данную клетку. (Это условие выполняется всегда, если исключить случай, допустимый с точки зрения логики, но, очевидно, противоречащий нашим намерениям,— когда ни одна непосредственная соседка не обладает нужными свойствами, т. е. не является передающей клеткой, выходное направление которой ориентировано на данную клетку.)
Такая формулировка правила приводит к тому, что рассматриваемая клетка может работать как нейрон либо с порогом 1 (т. е. с точки зрения входов, как обычная передающая клетка), либо 2 (т. е. как нужный нейрон-), либо 3 (т. е. вроде комбинации из двух нейронов •) в зависимости от того, 1, 2 или 3 непосредственно соседствующие клетки будут передающими клетками, выходные направления которых ориентированы на данную клетку. Так как эта клетка не должна обладать возможностью оказывать стимулирующее действие ни на одну из передающих клеток, выходное направление которых ориентировано на нее (см. правило (10) и его применение к настоящей ситуации — правило (12)), то бессмысленно допускать, чтобы в таком же состоянии были все ее 4 непосредственные соседки, так как тогда возбуждение нашей клетки вообще не привело бы ни к каким последствиям.
Мы будем называть эти состояния клетки конфлюентными состояниями и обозначать их символом С8, где 8 = 0 означает покой, а е = 1 означает возбуждение. Теперь по аналогии с разд. 2.2.2.1
используем символы С£ (е = 0. 1) в качестве значений величины п в формуле (6) (см. замечание после (7) в разд. 2.1.2). Сформулированное только что правило в применении к входам в С принимает вид:
Пусть п^"1 —С8.
Тогда п1^ — Ci, если
(И)(И)п^"1=Тач для некоторой клетки д', удовлетворяющей условию д — д' = ?;а',
(И)
(И)
п^’^Та^ Для всех клеток д', удовлетворяющих условию д — д' = иа'.
В противном случае ^=^С0.
Ту часть этого правила, которая относится к выходам из С, можно рассматривать как модификацию правила (10), ибо она дает новый способ привести передающую клетку в состояние возбуждения, т. е. получить Tai из Та£. Ее можно выразить в виде следующего предложения, которое следует поместить между вторым и третьим предложениями правила (10):
Кроме того, ^ —Tai, если ^"^Cj1
для некоторой клетки д', удовлетворяющей >(12)
условию д— д'=— va (Р — 0, . ..,3). J
Обратите внимание, что система правил (10) — (12) обеспечивает возбуждение Т посредством Т. С посредством Т и Т посредством С, но не С посредством С. К нежелательным для нас последствиям это не приведет.
Нейрон • вместе с его ближайшим окружением показан на рис. 6а. Рисунок выполнен в соответствии со схемой рис. 5а' — 5F и 5g. Конфлюентное состояние С появляется здесь впервые.
Нейрон—. Для нейрона — требуется возбудимая клетка, в которой покой и возбуждение поменялись местами (по сравнению с передающими состояниями). Она должна быть нормально возбужденной (т. е. способной возбудить непосредственно соседствующую с ней передающую клетку, на которую указывает ее выходное направление) и в состояние покоя должна приводиться входной стимуляцией (возвращаясь к возбуждению, когда эта стимуляция прекратится). Можно было бы ввести класс таких состояний — например, с данным выходным направлением при условии, что все остальные направления входные (точно так же, как в передающих состояниях). Поскольку возможны 4 направления, это привело бы к 4 типам, а если учесть покой и возбуждение, то потребовалось бы всего 8 состояний. Но тогда мы должны были бы ввести класс состояний,
которые при нормальных, невозмущенных условиях не являются состояниями покоя. Эту трудность можно обойти различными путями, с большей или меньшей экономией т). Мы обнаружим, что некоторый класс состояний, которые мы введем позже для других целей, можно использовать для формирования функции нейрон — . Следовательно, на этой стадии можно об этом не беспокоиться.
Расщепление. Мы уже обсудили все типы нейронов, изображенных на рис. 3, а также их соединительные линии. Остался еще один объект подобного типа, который следует рассмотреть. Логические (т. е. нейронные) сети в смысле разд. 1.2.1 в большинстве случаев содержат соединительные линии, ведущие от одного выхода к нескольким входам, т. е. линии, которые должны расщепляться. (Это отмечалось в разд. 1.2.1.) ) Иными словами, необходимы состояния с несколькими выходами, подобные передающим состояниям.
Однако достаточно отметить, что наше определение конфлюент- ных состояний предусматривает такую возможность. (См. разд. 2.3.2, в частности обсуждение геометрии, отвечающей «порогу 1» для этого класса состояний. В такой ситуации клетка имеет один вход и, следовательно, до трех возможных выходов.)
Расщепление, получающееся при использовании конфлюентных состояний, показано на рис. 6Ь. Этот рисунок выполнен в соответствии со схемой рис. 6а. Это относится и ко всем последующим рисункам с теми исключениями и изменениями, которые специально оговариваются.
ФУНКЦИИ РОСТА: НЕВОЗБУДИМОЕ СОСТОЯНИЕ
И СПЕЦИАЛЬНЫЕ ПЕРЕДАЮЩИЕ СОСТОЯНИЯ
Мышечные функции, или функции роста — обычные импульсы в сравнении со специальными. Закончив обсуждение логических (т. е. нейронных) функций, перейдем теперь к другим. В разд. 1.2.2 мы временно назвали их мышечными, но соображения
т) [Фон Нейман ссылается здесь на прием двойной линии, использованный в его работе [7]. С помощью лишь нейронов + и нейронов • он получил полное множество основных составляющих формальной логики, употребляя пару линий с кодами 01 для «нуля» и 10 для «единицы». Другими словами, каждая линия пары находится в состоянии, противоположном состоянию другой линии этой пары, так что отрицание можно реализовать переменой мест (пересечением) двух линий пары. Но в настоящей работе фон Нейман синтезировал отрицание, применяя разрушающий (обратный) и конструирующий (прямой) процессы из разд. 2.5 и 2.6. Пример такого синтеза показан на рис. 17 (разд. 3.2).]
разд. 1.3 показали, что правильнее будет подходить к ним как к функциям роста (см., в частности, разд. 1.3.4.2 и 1.3.4.3). В любом случае нам необходимы состояния для выражения этих функций.
Мы знаем (см. указанные разделы), что изучение функций роста приведет к проблеме обычных и специальных импульсов, т. е. обычных и специальных возбужденных состояний. Обычный класс — это класс импульсов, используемых для логических целей, т. е. класс, который мы до сих пор рассматривали (в основном в разд. 2.1.3 — 2.3.2). Специальный класс — это класс, который мы должны ввести сейчас, для того чтобы учесть упомянутые выше функции.
Невозбудимое состояние. Цель возбужденных состояний специального класса — индуцировать рост в смысле разд. 1.3.4.2 и 1.3.4.3, т. е. переводить клетки из невозбудимых состояний в возбудимые, а в пределах последней категории и определять тип состояния. Что касается последнего, то мы уже условились, что существует несколько типов: передающие, или состояния Т, которые дают 4 типа Та, а = 0, 1, 2, 3; и конфлюентный тип С (см. разд. 2.2.2.1 и 2.3.2). Для каждого из этих 5 типов возможны два состояния: 8=0 (покой) и е = 1 (возбуждение). Но нам нужны здесь лишь состояния Та0, Со, поскольку достаточно уметь создавать каждый возбудимый тип в покоящемся состоянии. Если требуется возбужденное состояние, то его можно вызвать обычными импульсами (относительно последних см. разд. 1.3.4.2 и 2.4.1).
Итак, необходимо ввести невозбудимое состояние (невозбудимое обычными импульсами). Обозначим его U. Прежде чем дать строгий перечень его свойств, обсудим некоторые родственные вопросы.
Прямой и обратный процессы — специальные передающие состояния. Желательно не только иметь возможность осуществить переход от невозбудимого состояния U к возбудимым состояниям (например, Т и С, см. разд. 2.4.2), но также обеспечить обратимость этого процесса, т. е. иметь возможность осуществить переход от возбудимых состояний к U. В дальнейшем мы приведем примеры использования такой двухсторонней организации. Импульсы, вызывающие эти превращения, должны быть переданы с помощью таких состояний клеток, на которые они (импульсы) не оказывают подобного воздействия. Целесообразно, следовательно, ввести новый класс передающих состояний, скажем Т (аналогичных Т по тому, как они соотносятся друг с другом). По аналогии с Та£ мы получим 8 таких состояний: Tag (a = 0, . . ., 3; 8 — 0, 1). Поступим с ними точно так же, как с Та£, т. е. введем правило, подобное правилу (10) разд. 2.2.2.1.
Используем символы T£a (а = 0, . . ., 3; 8=0, 1) в качестве 8 значений величины п в формуле (6) (см. замечание после (7)
в разд. 2.1.2). Правило будет иметь вид:
Пусть ^-‘ = 1^.
(13)(13)Тогда re» = T«i, если >гу71 = Т^-1
(13)
(13)
для некоторой клетки й\ удовлетворяющей условию д— д' = ра'=/=— гав
В противном случае ^ = T^0*
ОБРАТНЫЙ ПРОЦЕСС
Обратный процесс для обычных состояний. Теперь можно дать строгое определение обратному процессу, т. е. переводу некоторого возбудимого состояния (Т, С) в невозбудимое состояние (U) специальными импульсами (от Т). Оно представляет собой модификацию правил (10), (12) для Т и правила (И) для С и мажорирует их (выполняется в первую очередь):
Пусть п1^1 равно Та£ или С8.>
Тогда ^=U, если /г^у^Тач
для некоторой клетки д', удовлетворяющей условию д— д' = z;a\>
Заметим, что условие д — д' =^ —ra (в случае Т см. подобные условия в правилах (10), (12)) не требуется; т. е. «убийство» клетки, осуществляемое специальным импульсом (отТ'), оказывается эффективным даже в выходном направлении (Т).
Обратный процесс для специальных состояний. Причина, вызвавшая введение обратного процесса (от возбудимости к невоз- будимости; см. разд. 2.4.3 и далее) для обычных возбудимых состояний Т, С. сохраняется и в случае специальных состояний (Т'). Но правило (14) нельзя распространить на состояния Т'; влияние такого типа, оказываемое Т наТ', недопустимо по той же причине, по какой недопустимо соответствующее влияние Т на Т (см. разд. 2.4.3): оно привело бы к разрушению свойства состояний Т' как передающих состояний для специальных импульсов, точно так же как аналогичное воздействие оказалось бы разрушительным для состояний Т как передающих состояний для обычных импульсов. Последнее обстоятельство заставило нас ввести Т (чтобы переводить Т и С в U); теперь мы можем подобным образом использовать Т (чтобы переводить Т в U). Целесообразно, однако, не наделять этим свойством С. Действительно, так как каждое направление является выходным направлением для С, то, если мы припишем С такие возможности, нам будет несравненно труднее направлять и контроли-
ровать, чем хотелось бы. Поэтому введем следующее правило, модифицирующее правило (13) и мажорирующее его:
Пусть п^^Т^.
(15)(15)Тогда 7^ = 11, если z^t^T^i для некоторой клетки ^', удовлетворяющей условию Й— у' —12а\
(15)
(15)
Замечание в конце разд. 2.5.1.1, касающееся выходов, относится также и к этому правилу.
Возникновение специальных импульсов. До сих пор специальные импульсы (т. е. возбуждение клеток, находящихся в состоянии Т') возникали у нас лишь друг от друга.
Необходимости во введении полной (логической) нейронной системы, как это было в случае обычных импульсов в разд. 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):
(16)(16)Кроме того, n^ = Tai, если zz^^Ci ' для некоторой клетки Ф', удовлетворяющей > условию А — A' = v^=A — Уа (Р — 0,..., 3).
(16)
(16)
ПРЯМОЙ ПРОЦЕСС — ЧУВСТВИТЕЛЬНЫЕ СОСТОЯНИЯ
Прямой процесс. Итак, обратный процесс, о котором говорилось в разд. 2.4.3 (переход от возбудимости к невозбудимости), уже разобран. Перейдем теперь к рассмотрению (требуемого в первую очередь) прямого процесса разд. 2.4.2 (перехода от невозбудимости к возбудимости).
Список состояний, которые должен давать прямой процесс, теперь стал больше. В разд. 2.4.2 были состояния Та и С; к ним, согласно разд. 2.4.3, следует добавить Т^. Другими словами, у нас должна быть возможность создавать следующие состояния (относительно роли е = О см. обсуждение в разд. 2.4.2):
Тао» ТаО, Со.(17)
Всего здесь 9 состояний.
Таким образом, нам нужен механизм для перевода состояния U в одно из 9 состояний (17). Сделаем сначала два замечания, касающиеся этого механизма.
Первое замечание: дуализм обычных и специальных состояний. В нашем распоряжении два типа импульсов: обычные и специальные, отвечающие возбуждению состояний Т (возможно, вместе с С) и Т' соответственно. Мы собирались использовать только специальные импульсы (т. е. состояния Т') для трансформации 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) необходим для осуществления требуе-
мого управления прямым процессом (переходом из U в Т, Т' или С, или даже только в Т или С). Это обстоятельство заслуживает более тщательного рассмотрения.
Необходимость обратного процесса. Пусть клетки 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.2.1 мы отмечали, что прямой процесс (перевод из U в состояния (17)) должен осуществляться импульсами, вызванными возбуждениями Т и Т', и можно допустить, чтобы оба эти возбуждения давали в этом отношении один и тот же результат. В дальнейшем мы увидим, что такой порядок в некотором важном для нас смысле более экономен, чем его очевидная альтернатива.
Разумно исключить С и из этого процесса. Причины для использования здесь прямого процесса совпадают с причинами использования обратного процесса в разд. 2.5.1.2. Заметим, кроме того, что
так как каждое направление является выходным для С, то часто бывает необходимо защитить некоторые стороны клетки С; для этой цели естественно использовать 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
11, 000; J(19)
всего 7. Наконец, должно быть некоторое состояние, соответствующее началу процесса, когда формирование кодовой последовательности списка (18) из подпоследовательности списка (19) еще не началось. Эту кодовую подпоследовательность лучше всего интерпретировать как пустое множество (соответствующее начальному состоянию) и обозначать буквой
9.(20)
6.3.2. Необходимые дополнительные состояния. 17 кодовых последовательностей (20), (19), (18) соответствуют 17 состояниям. Мы будем обозначать их символом S2, где 5 принимает значения
) — (2G). Состояния S2, отвечающие последовательностям (18), должны совпадать с 9 состояниями (17), т. е. это не новые состояния. Кроме того, мы должны решить, естественно ли и нужно ли требовать, чтобы состояние S0 совпадало с U.
Прямой процесс идет от S0 через S2 списка (19) к S2 списка (18) (т. е. к состояниям (17)), причем к 5 добавляется 1, когда появляется импульс (Т или Т'), и 0, когда импульса нет. (Разумеется, когда величина 5 достигает своего максимального значения, ее рост прекращается. Тогда мы получаем состояния (17), которые подчиняются правилам (10) — (16).) Это означает, что эволюция от S0 к окончательному состоянию Ss (с 5 максимальным, т. е. соответствующим последовательностям (18)) должна протекать в строго определенные моменты времени. Отсутствие импульса дает определенный эффект (точно так же, как и его наличие); поэтому нужные импульсы должны подаваться в определенные моменты времени без каких-либо задержек, если только последние специально не потребовались. С другой стороны, мы всегда представляли себе U как состояние покоя; оно не меняется, пока не получит импульса. Учитывая эти два обстоятельства, мы не должны отождествлять U и S0. Итак, к состояниям (17) у нас добавилось еще 8 новых: а именно Ss с 5 списков (20) и (19).
Чувствительные состояния. Назовем новые состояния, к которым привели нас разд. 2.6.3.1 и 2.6.3.2, чувствительными состояниями. Как уже говорилось, это состояния S^, где 5 принимает значения (20) и (19), но не (18) (последние отвечают состояниям, совпадающим со старыми состояниями (17)).
и чув-и чув-Теперь на основе материала разд. 2.6.3.1 и 2.6.3.2 можно получить точные правила, управляющие поведением состояния ствительных состояний. Эти правила имеют вид:
и чув-
и чув-
Пусть n^r^U.
(21)(21)Тогда ^ = S0, если nV равно Т^ или T^i для некоторой клетки О7, удовлетворяющей условию $—=
(21)
(21)
В противном случае п1^ = U.
Пусть nV =S2 с 2 из (20) или (19).
(22)(22)Тогда ^^Svj, если nV равно Т^ или Т^ч для некоторой клетки 'О', удовлетворяющей условию О1 — О' = и0-'.
(22)
(22)
В противном случае п^ = 8^.
[Заметьте, что S0o — So, S0jO = S^, Sq^ = Sui и т. д.]
ЧЕТНЫЕ И НЕЧЕТНЫЕ ЗАДЕРЖКИ
Четные задержки, обусловленные различием в длинах путей. Итак, мы закончили описание прямого процесса разд. 2.4.2 (см. разд. 2.6), т. е. процесса, обеспечивающего переход от U к состояниям (17). В разд. 2.6.3.2 отмечалось, что прямой процесс строго привязан к определенным моментам времени, т. е. для каждого состояния (17) определенные импульсы должны подаваться через определенные промежутки времени. Точнее, чтобы перейти от состояния Sq к состояниям (17), т. е. к 8^ с 2 из (18), требуются непреры- вающиеся последовательности импульсов и пауз списка (18) в соответствии с правилом (22). Эти последовательности имеют длины 3 и 4. Так как на самом деле мы хотим начинать с U, то мы должны также применять правило (21), т. е. нужен еще один импульс, идущий непосредственно перед такой последовательностью. Все это приводит к необходимости иметь определенные непрерывающиеся последовательности импульсов и пауз длин 4 и 5.
В правильно организованной управляющей системе такая последовательность может порождаться подходящим (одиночным) управляющим импульсом. Для того чтобы из (одиночного) управляющего импульса получить наперед заданный ряд импульсов в течение 4 или 5 последовательных моментов времени (£ целочисленно; см. (5)), необходима некоторая система кратной задержки. См. рис. 8. Если этот (одиночный) управляющий импульс появляется в точке А решетки, а заданная последовательность импульсов и пауз должна быть в точке В решетки, то необходимо, чтобы возбуждение прошло из точки А в точку В по нескольким путям — тогда будет создана нужная относительная задержка. Действительно, пусть оР — путь, по которому возбуждение из точки А в точку В приходит первым. Тогда другие пути из А в В, скажем ^ь еР2, • • •> должны дать задержки по отношению к еР, равные расстояниям от первого импульса (который требуется в связи с правилом (21)) до заданных импульсов в нужной последовательности импульсов и пауз. Рис. 8 иллюстрирует такую ситуацию. [Задержка на выходной стороне клетки А по отношению к входной стороне клетки В равна 7 вдоль пути еР, 17 вдоль пути еРь 37 вдоль пути еР2. Если на эти пути в нулевой момент времени подается возбуждение, то импульсы войдут в клетку В в моменты времени 7, 17 и 37.]
Нечетные и единичные задержки. Ясно, что таким способом можно получить только четные задержки: разность длин любых двух путей, соединяющих две заданные точки А и В, всегда четна. В то же время последовательности из (18) (требуемые правилом (22)), которым предшествует 1 (наличие импульса) (согласно правилу (21)), могут содержать 1 (т. е. импульс) на нечетных рас-
стояниях. Это противоречие должно быть разрешено. Можно поступать по-разному.
Во-первых, принцип четных различий в длинах путей, соединяющих две заданные точки, справедлив лишь для данной кристаллической решетки. Он верен для квадратной решетки (которая лежит в основе всех наших построений), но для некоторых других решеток он не выполняется. Поэтому можно было бы попытаться изменить кристаллическую решетку.
Во-вторых, можно было бы удлинить последовательности (18), вставляя 0 (паузу) так, чтобы все расстояния между 1 (импульсами), включая вводный разряд 1, требуемый правилом (21), стали четными. Это привело бы к увеличению числа подпоследовательностей, встречающихся при построении последовательностей (18), т. е. подпоследовательностей (19). Таким образом, у нас было бы больше чувствительных состояний.
В-третьих, можно непосредственно ввести нечетные задержки. Ясно, что достаточно ввести единичную задержку. Это значит, что нам нужно возбужденное состояние, появляющееся в момент t, но не после возбуждения, пришедшего в момент t — 1 (как во всех до сих пор рассмотренных случаях, т. е. Т, Т', С), а после возбуждения, пришедшего в момент t — 2.
Единичные задержки, достигнутые с помощью конфлю- ентных состояний. Внимательный анализ предыдущих рассмотрений показывает, что из трех возможностей, описанных в разд. 2.7.2.1, последняя наиболее удобна и, в частности, наиболее экономна в смысле числа новых состояний. В этой связи стоит сделать два дополнительных замечания.
Во-первых, достаточно обеспечить введение единичной задержки для обычных (Т) импульсов. В самом деле, специальные (Т') импульсы можно получить из обычных, применив процесс преобразования с фиксированной задержкой (а именно (16)). Иными словами, если требуется строго хронометрированная (в смысле разд. 2.7.1) последовательность специальных (Т') импульсов, удобно (с помощью системы задержек разд. 2.7.2.1) построить ее на обычных (Т) импульсах, а затем преобразовать их в специальные (по правилу (16)).
Во-вторых, чтобы ввести единичную задержку для обычных импульсов, не обязательно вводить новый тип состояния; достаточно использовать и расширить свойства существующих типов. Удобно наделить таким свойством состояние С, ибо при этом другие нужные нам функции этого состояния не пострадают.
Справедливость этого станет ясна в процессе нашей работы с С. Сейчас же мы ограничимся тем, что формализуем изменения в правилах, управляющих поведением состояния С, необходимые для получения требуемой (единичной) задержки.
В настоящий момент возбуждение клетки, находящейся в состоянии С, подчиняется правилу (11). Ее возбуждающее влияние описывается правилами (12) и (16), а ее «убийство» (т. е. перевод в U) — правилом (14).
При этих правилах клетка С имеет состояния С8, где индекс 8—0,1 указывает существующее в настоящий момент состояние возбуждения. Если возбуждение надо задержать на одну единицу времени, то клетка С должна в течение этого промежутка времени помнить, каким должно быть ее следующее состояние возбуждения. Поэтому нужны 2 индекса, например 8, 8х. Тогда состояниями будут Cees где индекс 8=0; 1 указывает настоящее состояние возбуждения, а индекс 8' = 0; 1 указывает следующее состояние возбуждения. Поэтому в правила (11), (12), (14) и (16) необходимо внести соответствующие изменения.
В правиле (11): там, где С8 (для t — 1) переводилось в С8" (для £), теперь С88' (для t — 1) должно переводиться в СЕ'е" (для £).
В правилах (12), (14), (16): роль С8 (для t — 1) играет С88' (для t -1).
Кроме того, естественно, что в списке (17) (покоящееся) состояние Со должно быть заменено на (полностью покоящееся) состояние Соо.
Итак, точная формулировка необходимых изменений:
В правиле (11) заменить я$-1=СЕ на п$-1 = С88', заменить п1^ — ^ на ^ = С8ч
и заменить п^ = С0 на п\ = C8'q-i
В правилах (12) и (16) заменить n^^Q на п^г = С1Е';'
в правиле (14) заменить nV1 — СЕ на nV1 — ^'.
В списке (17) заменить Со на Соо.
Таким образом, при этом методе введения (единичной) задержки 2 состояния СЕ заменяются на 4 состояния, т. е. вводятся 2 новых состояния.
РЕЗЮМЕ
Строгое описание состояний и правила переходов. Подведем теперь итоги, т. е. дадим полный список состояний и исчерпывающее правило переходов.
Будем писать Ти, и = 0; 1, вместо Т и Т'. Будем называть обычные импульсы и специальные импульсы соответственно \О\-импулъсами и \ДА-импулъсами.
Список состояний принимает следующий вид:
Состояния:
Передающие состояния Twas, где и = 0; 1 соответствует обычному и специальному состоянию; a = 0; 1; 2; 3 — направлениям вправо.
вверх, влево, вниз*, 8 = 0; 1 — покоящемуся и возбужденному состояниям.
Конфлюентные состояния Сее', где е = 0; 1 соответствует покоящемуся и возбужденному состояниям; е' = 0; 1 — покоящемуся в следующий момент и возбужденному в следующий момент состояниям.
Невозбудимое состояние U.
Чувствительные состояния S^, где
2 = 9, 0, 1, 00, 01, 10, И, 000.(S.1)
Кроме того, состояния S^, где 2 принимает значения
0000, 0001, 001, 010, 011, 100, 101, 110, 111,(S.2)
соответственно совпадают с состояниями
Тиа0 (^ = 0, 1; a = 0, 1, 2, 3) и Соо,(S.3)
расположенными в следующем порядке: Тооо, Т010, Т020, Т030, Т100, Тцо, Т120, Т130, Соо.
Всего состояний 16 (передающих) + 4 (конфлюентных) + 1 (невозбудимое) + 8 (чувствительных) = 29. Таким образом,
^ = 29(24)
символов Тмае (и = 0, 1; а = 0, 1, 2, 3; е = 0, 1), С8Е' (е = 0, 1; е7 = 0,1), U, Ss (2 из (S.1)) будут использоваться в качестве значений величины п в формуле (6) (см. замечание после 7) в разд. 2.1.2).
Рассмотрим теперь правило переходов. Прежде всего заметим, что число возможностей для такого правила (т. е. для функции F в смысле разд. 2.1.2) равно, согласно (9), при N = 29
(25)(25)29^95 ^ Ю30 000 000
(25)
(25)
(с 3 значащими разрядами в показателе). Далее, правила (10) — (16) и (21) — (23) вместе составляют правило переходов. Оно имеет следующий вид.
Правило переходов;
Пусть nV1 = Tua£.'
(a) ra# = U тогда и только тогда, когда п^р =
= Tu,a4 для некоторой клетки й', удовле-творяющей условию Й—й'ра\ И и^и.
(Т.1)(Т.1)ф) n^ = Tual тогда и только тогда, когда (а) не выполняется, а выполняется либо (а), либо (Ь):
(Т.1)
(Т.1)
(?)
п»- =Т,1а-1 для некоторой клетки д7, удовлетворяющей условию д — д' = ка' ^ ^ —ка.
^“^Cjg' для некоторой клетки й\ удовлетворяющей условию д — д7 — и^ =# — — иа (Р = 0, ..., 3).
п^ = Тиа0 тогда и только тогда, когда ни (а), ни (Р) не выполняются.
Пусть
(а)
n^ = U тогда и только тогда, когда п^1^ = Т1ач для некоторой клетки д', удовлетворяющей условию д—д7 = иа\
(0)
и^ = С8ч тогда и только тогда, когда (а) не выполняется, а выполняются (а) и (Ь): (а) п^У^Тоач для некоторой клетки д, удовлетворяющей условию д— д7 — иа'.
(Ь) п1^1^=Тоач для всех клеток д', для которых д — д7 — ка'
(Т.2)
(?)
^ = С8ч тогда и только тогда, когда ни (а), ни (Р) не выполняются.
Пусть п^1 — U.
(а)
K^ = Se тогда и только тогда, когда п^1 — ~Тиач для некоторой клетки д', удовлетворяющей условию {У—й' — и0-'.
(Т.З)
(0)
^ = U тогда и только тогда, когда (а) не выполняется.
Пусть 4-1 = S2 (с 2 из (S.1)).
(а)
п^ — Ь^л тогда и только тогда, когда п^ —
Тиач для некоторой клетки д', удовлетворяющей условию д—д7^^'.
(Т.4)
(0)
^^ — S^o тогда и только тогда, когда (а) не выполняется.
Неформальное резюме. Разд. 2.8.1 содержит перефразировку выводов разд. 2.2—2.7, данную в строгом формальном виде. Целесообразно, однако, привести и описательное изложение этих выводов, т. е. еще раз и уже неформально описать состояния
и правило переходов между ними, ибо за формализмом разд. 2.8.1 трудно следить без того словесного обоснования, которое содержится в разд. 2.2—2.7. С другой стороны, рассуждения этих разделов проводились шаг за шагом и получились очень длинными. Поэтому нужна непосредственная словесная перефразировка. Вот она:
Существуют 16 передающих состояний Тиа£. Индекс и указывает класс состояний: и = 0 для обычных и и = 1 для специальных. Индекс а показывает ориентацию этого состояния: а — 0 для направления вправо, а = 1 для направления вверх, а = 2 для направления влево, а = 3 для направления вниз. Индекс 8 показывает имеющееся состояние возбуждения*, е — 0 для покоя, 8 = 1 для возбуждения. Передающее состояние имеет одно выходное направление и три входных'. первое определяется его ориентацией, последние — это все оставшиеся направления. Передающее состояние может быть возбуждено с задержкой 1 от любого непосредственно соседствующего возбужденного передающего состояния того же класса при условии, что первое лежит в выходном направлении второго, а второе лежит в одном из входных направлений первого ).
Существуют 4 конфлюентных состояния С88'. Индекс 8 показывает имеющееся в данный момент состояние возбуждения, индекс 8' показывает состояние возбуждения в следующий момент времени: 8, е7 = 0 для покоя и 8, s' = 1 для возбуждения. Конфлюентные состояния по определению принадлежат классу 0. Для конфлюент- ного состояния все направления могут быть как входными, так и выходными. [Но в каждый данный момент времени одно направление не может использоваться одновременно и как входное, и как выходное.] Конфлюентное состояние может быть возбуждено с задержкой 2 от тех непосредственно соседствующих передающих состояний его собственного класса (т. е. класса 0), в выходных направлениях которых оно лежит. Возбуждение произойдет, если имеется по крайней мере один такой непосредственный сосед и если все такие непосредственные соседи (сколько бы их ни было) возбуждены.
Передающее состояние (любого класса) может быть также возбуждено с задержкой 1 от любого непосредственно соседствующего конфлюентного состояния при условии, что последнее лежит в одном из входных направлений первого.
Существует невозбудимое состояние U. Оно считается покоящимся. Каждое передающее или конфлюентное состояние убивается (т. е. переводится в невозбудимое состояние) любым непосредственно
соседствующим возбужденным передающим состоянием противоположного класса при условии, что первое лежит в выходном направлении второго.
Все приведенные состояния (передающие и конфлюентные) принимают покоящуюся форму, если указанные правила не обеспечивают убивание или возбуждение.
Существуют 8 чувствительных состояний S2 с 2 из (S.1). Мы будем рассматривать также состояния Ss с 2 из (S.2), но эти состояния не относятся к чувствительным. Они совпадают с покоящимися передающими и покоящимися конфлюентными состояниями (S.3). (Относительно списков (S.1) — (S.3) см. разд. 2.8.1.) Чувствительные состояния в любом случае подвергаются изменению (немедленно, т. е. с задержкой 1), а именно переводятся в состояния S2o или S2i. Переход в состояние S21 происходит под влиянием каждого непосредственно соседствующего передающего возбужденного состояния (любого класса) при условии, что это чувствительное состояние лежит в выходном направлении последнего. В противном случае происходит переход в S2o.
Подчеркнем снова, что это последнее правило применимо только к чувствительным состояниям, т. е. лишь при 5 из (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 состояниями, занимающий одну клетку клеточной структуры фон Неймана, можно трактовать по-разному. Можно считать, что это конечный автомат, конструируемый из переключатель-
ных элементов и элементов задержки, который соединяется со своими 4 непосредственными соседями проводами, пересекающими его 4 границы. Для дальнейшего удобнее считать его некоторым множеством основных элементов (подавтоматов) вместе с управляющей аппаратурой для перехода от одного элемента к другому и обратно. Это приводит к разбиению 29 состояний клетки на подмножества, соответствующие определенным функциям.
Рассмотрим в качестве примера пару передающих состояний ТОоо и Т001, т. е. Т00е при 8 = 0, 1. Эта пара функционирует как дизъюнкция (нейрон+) с единичной задержкой, и ее выход ориентирован вправо. Входные сигналы на Т008 могут приходить сверху,, слева и снизу от непосредственных соседей, являющихся конфлюент- ными состояниями или обычными передающими состояниями, выходные направления которых ориентированы на это состояние Т00£- На рис. 11а показано поведение клетки Т00е. Если в момент t имеются состояния С18' и ТОц, то в момент t + 1 ее состоянием будет ТОоь если в момент t имеются состояния С08' и Т010, то в момент t + 1 будет Тооо. Таким образом, когда речь идет лишь о состояниях,, показанных на рис. 11а, можно считать, что два состояния Т00е представляют собой дизъюнктивный элемент со входами слева и снизу и с выходом (после единичной задержки) вправо (на /).
Множество из 4 конфлюентных состояний С88' (е, е' = 0, 1) выполняет функции конъюнкции («и», •), двойной задержки, ветвления проводников (расщепления) и преобразования обычных импульсов в специальные; фон Нейман обозначал эти 4 состояния буквой С, Эти состояния не имеют направления, а направление их функционирования определяется направлениями 4 передающих состояний (как обычных, так и специальных) в 4 непосредственно соседствующих клетках. Рассмотрим множество состояний С88', принимаемых данной клеткой. Входные сигналы на эту клетку приходят от обычных передающих состояний, ориентированных на нее. Выходные сигналы идут из нее как к обычным, так и к специальным передающим состояниям при условии, что их выходы не ориентированы на эту клетку. (См. рис. 11b и 11с.) Клетка С88' на рис. 11b ведет себя так: если в момент t имеются состояния T00i и ТОц, то в момент t + 1 ее состоянием будет С8Ч, а в момент t + 2 будет С18*, Иными словами, в рамках рис. 11b можно представлять себе каждое из 4 состояний С88' как конъюнктивный элемент с входами слева и снизу невыходом (через 2 единичные задержки) вправо (на g).
Удобно считать состояние 8 клетки Тиа8 или С88' ее выходным состоянием в данный момент, а совместное состояние ее непосредственных соседей — ее входным состоянием в этот момент. Удобно также использовать короткие черточки для обозначения входа в некоторую клетку (a, b, с, d и е на рис. И) или выхода из нео (/, g, А, г и / на рис. 11).
При таких обозначениях для рис. 11 имеем
/(^ + 3) = [а№ + Ь(^ + 1)],
^(^ + 3) = [c№^(Z)], h (t + 4) = е (t)s
Ц^ + 5) = е(^),■
/(< + 4) = e(t).
Со всех выходов испускаются обычные импульсы, кроме выхода у, с которого испускается специальный импульс.
Каждую из переключательных функций (функций логики) — дизъюнкцию (+) или конъюнкцию (•) — можно реализовать с соответствующей задержкой сетью клеток в обычных состояниях (ТОае и С£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) Ssi, если какое-нибудь состояние Тиа1 направлено на эту клетку, и (Ь) в Ss0 в противном случае, и так до тех пор, пока прямой процесс не окончится на Tua0 или Соо в соответствии с рис. 10. Например, будучи посланной в некоторую клетку, находящуюся в состоянии U, последовательность 10000 переводит се в состояние ТООо, последовательность 1011 — в состояние Т100, а последовательность 1111 — в состояние Соо.
Прямой процесс иллюстрируется на рис. 12. Здесь, согласно значениям 8 и е', петля В1, В2, А2, А1 хранит в нулевой момент времени последовательность 10000 в указанном порядке. Эта последовательность будет циклически пробегать данную петлю до бесконечности, периодически возбуждая клетку С1, которая дает единичную задержку. На клетку D1 она будет оказывать следующее воздействие.
Момент времени01234567 ...
Вход в DP.01000010...
Состояние клеткиВГ.UUS0SoSooSoooToooT001 .
Далее этот процесс будет повторяться, причем клетка DI будет подавать последовательность 10000 на клетку справа от себя, заставляя ее проходить последовательно состояния Sq, So, Soo, Sooo, T000t Toot, ••• • Этот процесс будет повторяться неограниченно долго. Таким образом, конечный клеточный автомат, для которого распределение рис. 12 является начальным распределением клеток, будет растит постоянно удлиняя вправо коммуникационный канал ООО ... .
Обратный процесс (разрушающий, убивающий) переводит любое передающее состояние Тиа£ или любое конфлюентное состояние С££- в U. Возбужденное обычное передающее состояние ТОа1 убивает специальное передающее состояние Т1ае, на которое оно направленог а возбужденное специальное передающее состояние Т1а1 убивает обычное передающее состояние ТОа£ или конфлюентное состояние С££», на которое оно направлено. Примеры приведены на рис. 13. На рис. 13а и 13b некоторые клетки отмечены в момент времени 1 знаком ? . Это сделано так потому, что их состояния в момент 1 зависят от внешней среды. За исключением рис. 13а и 13b, мы всегда будем предполагать, что изображаемые на рисунках конечные клеточные массивы не подвержены ни прямому, ни обратному процессам извне. Заметьте, что специальные и обычные передающие состояния рис. 13Ь убивают друг друга.
Обратный процесс доминирует над восприятием. Если «убивающий» импульс пришел в клетку в момент времени t, то в момент времени t + 1 эта клетка будет в состоянии U независимо от того, какие другие импульсы могли прийти в эту клетку в момент времени L С другой стороны, эффект убивания не доминирует над испусканием импульса в том смысле, что если клетка готова в момент t создать импульс, то она создаст его, даже если получит в этот момент убивающий импульс. Проиллюстрируем эти положения на рис. 13с.
Предположим, что на рис. 13с обычные импульсы попадают на вход а в моменты 0 и 1, специальный импульс — на вход с в момент 1 и никаких других импульсов ни в какие моменты времени больше не приходит. Обычный импульс, пришедший на вход а в момент 0, входит в клетку В1 в момент 1, покидает ее в момент 2, а клетку С1 (выход 6) покидает в момент 3. Специальный импульс, пришедший на вход с в момент 1, входит в клетку В1 в момент 2, вызывая ее переход в состояние U к моменту времени 3. Обычный импульс, пришедший на вход а в момент 1, входит в клетку В1 в момент 2, но, так как специальный убивающий импульс также входит в клетку В1 в момент 1, обычный импульс не оказывает воздействия. Поэтому первый обычный импульс на входе а передается по клеткам Al. Bl, С1 и излучается с выхода 6, а второй обычный импульс на входе а доминируется убивающим импульсом с входа с и теряется.
В клеточной системе есть одна важная конструкция, которая предназначается для того, чтобы с помощью прямого процесса изменить.
состояние какой-нибудь удаленной клетки, а затем стереть использованный при этом путь конструирования. Этот метод иллюстрируется на рис. 14. Обычные импульсы подаются по очереди на входы г и /, проходят путь В2 — D2, оставляя клетку D3 в покоящемся состоянии. Здесь требуется следующая последовательность (см. рис. 10). (а) На вход г подается 10000, 10000, 1010, 1111. Путь В2 — D2 становится обычным передающим каналом, а клетка D3 приводится в нужное состояние С, как на рис. 14b. (Ь) На вход ] подается 11011, 11011, 1. Клетки В 2 и С2 по очереди принимают состояния U, Se, So, S01 и SOii (т. е. Тюо)- Клетка D2 переходит в U, как на рис. 14с. (с)| Последовательность 110000 и 1 на г создает схему рис. 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 последовательность из 36 клеток в состояниях ТОое, где е выбирается так, чтобы образовался нужный вход для I. Аналогично последовательность для входа / можно получить, если предпослать / последовательность из 36 клеток в соответствующих СОСТОЯНИЯХ Tqq£.
С помощью этого метода можно создать произвольный конечный массив ^ покоящихся клеток, т. е. клеток в состояниях U, Тиа0 (и = 0, 1; а = 0, 1, 2, 3) и Соо. Для каждого такого массива ^ существуют две бинарные последовательности импульсов, которые, будучи поданными на входы i и / (рис. 14), построят вправо массив Эти две последовательности можно получить на двух линейных массивах клеток, находящихся в состояниях Т00£ с подходящими значениями 8. Эти два линейных массива составляют вместе с клетками Al, А4. В1 —В4 рис. 14 массив ^.
Итак, мы пришли к следующему результату относительно конструирования в клеточной структуре фон Неймана: для каждого покоящегося конечного массива Л существуют такие конечный мас-
сив 38 и время т, что в бесконечном клеточном автомате, для которого 38 служит начальным распределением клеток, массив d появится в момент т. Более того: покоящееся состояние клеток массива является важным ограничением (см. разд. 1.6.3.2), но оно не очень серьезно, так как перед переводом пути конструирования снова в невозбудимое состояние массив 38 может сообщить массиву А пусковой импульс.
Из предыдущего конструирования ясно, что область Ж всегда больше (содержит больше клеток), чем А (см. разд. 1.6.1.1). Фон Нейман обходит эту трудность, создавая универсальный конструирующий автомат D и присоединяя к нему его ленточное описание LD (см. разд. 1.6.1.2). Этот универсальный конструирующий автомат наряду с другими своими возможностями обладает возможностями универсальной машины Тьюринга. Метод, проиллюстрированный на рис. 14, будет играть существенную роль в работе универсального конструирующего автомата С. См. гл. 4 и 5.]
ГЛАВА 3СИНТЕЗНЕКОТОРЫХ ОСНОВНЫХОРГАНОВГЛАВА 3СИНТЕЗНЕКОТОРЫХ ОСНОВНЫХОРГАНОВВВЕДЕНИЕ. 3.1.1. Свободное и жесткое время, периодическое повторение, остановка по фазе. Органы, которые мы сконструируем в этой главе, будут характеризоваться двумя важными для нас свойствами (вместе или по отдельности): свободным временем и жестким временем ). Свободное время означает испускание определенных импульсов (в заданной точке и в определенном порядке) без конкретного указания временных интервалов или задержек между двумя актами испускания. Если же эти ин
ГЛАВА 3
СИНТЕЗ
НЕКОТОРЫХ ОСНОВНЫХ
ОРГАНОВ
ГЛАВА 3
СИНТЕЗ
НЕКОТОРЫХ ОСНОВНЫХ
ОРГАНОВ
тервалы заданы, то говорят о жестком времени. Иначе это можно выразить, сказав, что периоды задержки заполнены паузами, т. е. на данном месте отсутствуют импульсы. (Ясно, что если заданная задержка между следующими друг за другом импульсами равна d, то пауз на этом интервале будет d — 1.) Следовательно, последовательность импульсов с жестким временем можно рассматривать как последовательность из непрерывающихся событий, а именно как последовательность типа импульс — пауза. Тогда ее можно записать в виде последовательности нулей и единиц, причем 1 указывает наличие импульса, а 0 — его отсутствие: I1 ... in (iv = 0; 1). Всегда, когда применяется обозначение I1 . . . V\ время предполагается жестким.
[В прямом процессе разд. 2.6.3.2 используется жесткое время. Фон Нейман говорит там, что при жестком времени «отсутствие импульса дает определенный эффект (точно так же, как и его наличие); поэтому нужные импульсы должны подаваться в определенные моменты времени без каких-либо задержек, если только последние специально не потребовались».
Как мы видели в разд. 1.3.3.5, нет никаких ограничений на число клеток, которые могут быть в возбужденном состоянии в данный момент времени, хотя, безусловно, это число всегда конечно. Таким образом, клеточная структура, используемая фон Нейманом, допускает неограниченную степень параллелизма. Однако при конструировании своего самовоспроизводящегося автомата фон Нейман не особенно использует этот потенциальный параллелизм клеточной структуры. Его самовоспроизводящийся автомат работает скорее как последовательная цифровая вычислительная машина, в которой большинство органов, как правило, находятся в состоянии покоя. В этом отношении он подобен машине EDVAC (см. стр. 28—29).
Когда на какой-нибудь орган самовоспроизводящегося автомата подается последовательность, содержащая один или более импульсов, то этот орган после некоторой задержки дает выходной сигнал (отклик). Обычно эта задержка между входом и выходом значения не имеет, потому что одновременно не ведется никакого другого конструирования или вычисления. Точно так же задержка от одного входного сигнала, поданного на некоторый орган, до следующего входного сигнала на этот же орган не имеет, как правило, значения при условии, что эта задержка настолько велика, что орган успевает закончить одно действие, прежде чем начать следующее. Основное исключение из этих правил составляет узел ленты, описанной в гл. 4. Метод, которым пользуется фон Нейман для удлинения и укорочения ленты, требует одновременной (параллельной) работы в двух соединительных петлях.]
Под периодическим повторением последовательности Z1 . . . V1 подразумевается периодическое повторение с жестким временем, т. е. повторение последовательности к1 . . . in в непрерывающиеся последовательные интервалы времени, если только специально не оговаривается противное. Так, периодически повторяемая последовательность Z1 . . . Zn, которая будет записываться в виде к1 . . . fn, означает t1 . . . ^t1 . . . i9^1 . . . Zn . . . . Мы никогда не будем предполагать, что такие периодические повторения продолжаются до бесконечности. Под остановкой по фазе & (= 1, . . ., п) в периоде s (= 1, 2, . . .) мы будем подразумевать, что эта последовательность прерывается точно перед ik в 5-м периоде (т. е., начиная с этого момента, импульсы не испускаются). Это также можно называть остановкой на шаге Z, где I = ns + k (I = 1, 2, . . .). Под остановкой в периоде s (без указания фазы) мы будем подразумевать остановку по фазе 1 (т. с. на шаге ns 1).
Конструирование органов, простых и составных. Займемся теперь конструированием отдельных органов, переходя от более простых к более сложным. Большинство из них будут представлять собой синтез уже рассмотренных ранее органов. Каждому из органов, которые нам предстоит определить, будет дано название и символическое обозначение, и это позволит узнать его, когда он появится в качестве составной части следующего, более сложного органа.
[В некоторых случаях фон Нейман дал алгоритмы конструирования любого органа из заданного класса; например, импульсаторов (разд. 3.2), декодирующих органов (разд. 3.3), кодирующих каналов (разд. 3.6). В случае тройного возвратного счетчика (разд. 3.4) и дискриминатора для различения последовательностей 1 и 10101 (разд. 3.5) он построил конкретные органы. Чтобы легче было сле-
дить за алгоритмами и конструкциями фон Неймана, в начале’каж- дого раздела мы будем рассматривать уже законченный орган.
Так как фон Неймана интересовала теорема существования для самовоспроизведения, то он, вообще говоря, не делал попытки минимизировать свои схемы.]
ЙМПУЛЬСАТОРЫ
Импульсатор: С’груктура^ размеры и время. [На рис. 15 показаны два импульсатора, сконструированные в соответствии с алгоритмом фон Неймана. Объясню принцип их работы.
Импульс (например, T00i) на входе а импульсатора Р (111) в момент t расщепляется на каждом конфлюентном элементе и порождает последовательность 111 на выходе Ъ в моменты t + 8, i +J9, t + 10. Заштрихованная клетка находится в невозбудимом состоянии U.
Характеристика 10010001 содержит 3 единицы, так что для Р (10010001) необходимы 3 пути с относительными задержками 0, 3 и 7. Конфлюентные состояния в нижней части рисунка обеспечивают относительные задержки 0, 1 и 2. Дополнительные задержки дости- гаются двумя способами. Замена двух обычных передающих Состояний блоком С5. С6, D5, D6 добавляет в путь 2 единицы задержки и относительные задержки становятся равными 0, 3 и 6. Замена обычного передающего состояния в строке 2 на конфлюентное состояние (например, F2) добавляет в путь единичную задержку, и относительные задержки в путях В. D nF становятся равными соответственно 05 3 и 7.]
Начнем с импульсатора. Этот орган имеет выход b и вход а. В ответ на импульс, поданный на вход а, он будет вырабатывать на выходе b заданную последовательность I1 . . . in.
Между импульсом на входе а и откликом на выходе b нет жесткой временной связи; т. е. пока между ними не предписывается определенной задержки (см., однако, замечания в конце этого раздела). Этот импульсатор обозначается Р (t1 . . . Р1). Последовательность I1 . . . V1, которая по желанию может быть конкретно указана, называется характеристикой этого импульсатора, а число п называется его порядком.
Принципы, использованные при конструировании импульсатора, достаточно просты. Реальная схема последовательно развивается на рис. 16. Конструирование и вытекающая из него схема обсуждаются в оставшейся части этого раздела.
Обозначим через vn . . ., vfe значения v, для которых tv = 1^ т. е. это позиции импульсов в последовательности г1 . . . 1п. Тогда
1 ^ vi < v2 < • • • < ^к ^ ^i откуда v^ ^ к. Положим
Чн — k = 2^n + rh1 где ^ = 0, 1, 2, .гЛ = 0, 1. (Г)
Входной импульс на а должен быть разделен или, лучше, размножен так, чтобы дать к отдельных импульсов с номерами h = 1, . . ., к. появляющихся на выходе b с относительными задержками ч^ (к = = 1, . . ., к).
Рассмотрим сначала схему рис. 16а. Для импульса, поданного на а. существует к путей, по которым он может достичь Ь; на пути с номером К ( = 1, . ... к^ он идет по горизонтали от а до й-й клетки С, после чего сворачивает на вертикаль, достигает верхней точки и дальше продолжает движение по горизонтали к Ь. Всего получается (2Л — 1) + и + (2 (& — А) + 1) = 2к + и шагов, но так как к из них проходят по С, то полная задержка равна (2& + и) + h. Таким образом, относительная задержка пути с номером к (по отношению к другим путям!) равна к.
Заметим, что эта схема имеет ширину 2к — 1, но ее высота и + 2 остается неопределенной (из-за неопределенности ы).
Теперь надо заменить относительную задержку к на пути с номером к на рис. 16а относительной задержкой v^ (для каждого К = = 1, ...,&), т. е. надо увеличить ее на v^ — h = 2[л^ + rh (см. формулу (!')). Поэтому каждую из вертикальных ветвей на рис. 16а мы заменяем на подходящую цепь задержки, скажем ветвь с номером к на Nh. как показано на рис. 16b. Мы сдвинули также вход а на один шаг влево, разместив перед первой клеткой С клетку О . Отсюда цепь Nн должна обеспечивать задержку 2^ + гк.
Эта цепь показана еще раз на рис. 16с, где отмечены ее вход ch и выход ^ (вход сп расположен прямо над Л-й клеткой С, а выход dK расположен над входом сн под верхней линией, т. е. сразу же под (2к — 1)-й клеткой О верхней строки). Чтобы получить нужную задержку 2ph + ^, можно построить цепь NK из ц^ вертикально расположенных блоков двойной задержки и одного блока единичной задержки, если rh = 1. Блоки первого типа показаны на рис. 16d; их высота равна 2. Блок второго типа показан на рис. 16е; его высота равна 1. Полную высоту цепи Nh можно подогнать к одной величине и, вставляя вертикальный марш из обычных состояний длины и — 2[л^ — rh = и — (yh — к) = sh (см. формулу (Г)). Он показан на рис. 16f. (Задержки, о которых говорилось выше, разумеется, всегда являются относительными — по отношению к некоторому обычному вертикальному маршу.) Лучше всего располагать р^ блоков рис. 16d в нижней части цепи Nhl блок (возможно, единственный) рис. 16е в верхней части цепи Nkl а вертикальную вставку рис. 16f между ними. Последнее делается по той причине, что состояние С рис. 16е никогда не должно вступать в контакт с передающими состояниями рис. 16d — это могло бы привести к нежелатель-
ной стимуляции. Схемы рис. 16е, 16f заполняются клетками U так, что такой контакт мог бы появиться только между схемами рис. 16е, 16d и при условии, что вторая расположена справа от первой. Поэтому в верхнем ряду цепи Nh (А = 1, . . ., к) не должно быть ситуации, когда блок рис. 16d находится сразу же справа от блока рис. 16е.
Учитывая все это, мы получаем следующее условие: всегда и ^ ^ vh — к. Если rh = 1 для какого-то к (т. е. число v^ — к нечетно, а это означает, что какой-то блок рис. 16е располагается в верхнем ряду) и максимум разности v^ — к четный, то и > v^ — к для каждого к. Иными словами: и ^ и0, где
и? = max (vh — Л)-}-80;л
n=i, ..., к
8° = 1, если этот максимум четный и найдется к, I (2') для которого Vh~ к нечетно,
8° —0 в противном случае.>
Разумеется, проще всего положить и = и0.
[Это правило не годится, когда vfe — к = 1, как в Р (1010), поскольку конфлюентное состояние нижнего ряда не может непосредственно действовать на конфлюентное состояние, расположенное над ним. Эту оплошность можно скорректировать различными способами. Мы поправим дело, добавив следующее ограничение к правилу (2') фон Неймана:
Если v^— &=1, то и =2.
Заметьте, что max (v^ — к} = vk — к.
Фон Нейман ввел 8° потому, что он не хотел, чтобы схема рис. 16d располагалась непосредственно справа от схемы рис. 16е, так как конфлюентное состояние последней могло бы воздействовать на обычное передающее состояние первой. Однако, если схема рис. 16е расположена во втором сверху ряду импульсатора, а схема рис. 16d занимает этот ряд и ряд, размещающийся прямо под ним, то это влияние на самом деле не скажется на выходе импульсатора. Мы могли бы, следовательно, заменить алгоритм конструирования фон Неймана на новый алгоритм с более простым правилом для определения и, а именно:
Если v^— к — 1, то и = 2.
В противном случае m = va — к.
Но мы не будем делать такой замены, так как мы хотим оставаться как можно ближе к оригинальной конструкции фон Неймана.]
На этом конструирование заканчивается. Как видно из рис. 16b, эта схема занимает область высотой и + 2 и шириной 2&. В упрощенном виде эта схема представлена на рис. 16g.
Заметим, что последовательность i1 . . . in, т. е. относительные задержки v^ (А = 1, . . ., &), получается при наличии некоторой предварительной абсолютной задержки. Мы видели, что в условиях рис. 16а она составляет 2& + и. Вставка О перед первым состоянием С на рис. 16b увеличивает ее до 2к + и + 1. Таким образом, в окончательном устройстве, представленном на рис. 16g, импульс на а порождает последовательность I1 . . . in на b после предварительной [абсолютной] задержки 2к ++ 1. (Это значит, что первый
импульс или первая позиция, отвечающая отсутствию импульса, в этой последовательности, т. е. i1, имеет задержку 2к + и + 2.)
Если вход а возбуждается несколько раз, то все импульсы на b появляются независимо друг от друга и вне зависимости от того, перекрываются или нет те последовательности I1 . . . in, которые при этом должны возникнуть. Иными словами, в этой схеме не возникает искажений, связанных с интерференцией.
[Подведем итоги обсуждения внешних характеристик импульса- тора Р (i1 . . . in). См. рис. 16g.
Ширина импульсатора равна 2к, где к — число единиц Bi1... V1. Фон Нейман молчаливо предполагает, что к ^ 2; при к = 0 и к = 1 в таком органе нет необходимости.
Высота импульсатора равна и + 2, где и определяется следующим образом. Пусть vb . . ., vfe — это те v, для которых iv = 1. Скорректированное правило фон Неймана для и выглядит так:
Если v^ —&=1, то zz=2.
В противном случае и = (чк— &)4-с0? где е° = 1, если число v&— к четно и найдется h (=1, . ... к), для которого v^—h нечетно, иначе е° = 0.
Так как к — число единиц Bi1... in, a vh — индекс, отвечающий самой правой единице, то чК — к есть общее число нулей в последовательности, предшествующей самой правой единице.
Задержка между входным импульсом, приходящим на а, и первым выходным i1, появляющимся на Ь, равна 2к + и + 2.]
Периодический импульсатор: структура, размеры, время и форма импульсатора РР (1). [На рис. 17 показаны два импульсатора, сконструированные в соответствии с алгоритмом, о котором фон Нейман будет говорить дальше.
Периодический импульсатор РР (10010001) конструируется из импульсатора Р (10010001), обеспечивающего появление одного периода требуемой последовательности, периодического повторителя G4 — G6 и Н4 — Н6 с периодом 8, механизма Н1 — НЗ для выклю-
чения повторителя, и импульсатора Р (1111111111), создающего сигналы, необходимые для выключения повторителя.
«Пусковой» импульс на входе а^ в момент времени t вызовет последовательность 10010001 на выходе V импульсатора Р (10010001) в интервале от t + 29 до t + 36. Последовательность 10010001 периодически генерируется на выходе b до тех пор, пока не выключится повторитель. «Стоп»-импульс на выходе а_ приведет к тому, что верхний импульсатор вырабатывает последовательность из 10 единиц. Они пройдут через конфлюентное состояние Н2, специальное передающее состояние НЗ и придут в ячейку Н4. Первые 5 импульсов вызовут трансформацию С88' -> U -> S0 -> SA -> 8И -> 8Ш ( = С00), а последние 5 повторят эту трансформацию. Содержимое периодического повторителя значения не имеет — оно все равно будет уничтожено. Заметим в этой связи, что так как последовательность единиц используется для выключения повторителя, то никакая из единиц, вошедших в ячейку Н4 слева (т. е. от самого повторителя), не оказывает влияния. Это служит основанием для того, чтобы располагать конфлюентное состояние внизу периферической части дерева, изображенного на рис. 10.
Так как периодический импульсатор РР (1) применяется очень часто, то фон Нейман решил для этого частного случая упростить конструкцию. Здесь он использовал тот факт, что при работе схемы рис. 17Ь в ее периодическом повторителе имеется последовательность из 6 единиц. Трансформация конфлюентного состояния ЕЗ начинается импульсом от Е2 и завершается 4 единицами, сохраняющимися в периодическом повторителе (2 единицы теряются, когда убивается ЕЗу Однако такой периодический повторитель не годится для всех ситуаций. См. замечания редактора в конце этого раздела.]
Рассмотрим теперь конструирование периодического импулъсато- ра. Этот орган имеет два входа а+,а_ и один выход Ь. В ответ на импульс на входе а+ он начнет генерировать на b заданную периодически повторяемую последовательность, скажем Р . . . 1п. При появлении импульса на а_ эта генерация будет прекращена.
Между импульсами, приходящими на а+ или а_, и реакцией (началом или окончанием) на выходе b нет жесткой временной связи, т. е. величина двух задержек между ними не задана (см., однако, замечания в конце раздела).
Этот периодический импульсатор обозначается РР (Р . . . г^у Последовательность Р . . . Zn, которую при желании можно задать, называется его характеристикой, а число п его порядком.
Схема этого импульсатора последовательно разрабатывается на рис. 18. В оставшейся части раздела мы разберем и ее, и само конструирование.
Процесс создания периодически повторяющейся последовательности I1 ... 1п удобно представлять себе в виде двух подпроцессов: сначала создается одиночная последовательность i1 . . . Zn, а затем она периодически повторяется. Для выполнения первой задачи требуется импульсатор Р (к1 . . . 1^ из раздела 3.2.1, изображенный на рис. 16g (буквы а и Ъ мы заменим соответственно на а' и 6'). Наш вход а^ должен либо подсоединяться ко входу а*. либо совпадать с ним. Для выполнения второй задачи нужно присоединить к выходу Ъ' орган, способный повторять на выходе b любой период длины п.
Простейшим периодическим повторителем является (замкнутый) цикл из передающих состояний. Самый короткий цикл такого типа имеет период 4, как показано на рис. 18а. Ясно, что любой [такой) цикл должен иметь четный период; поэтому произвольный цикл имеет период 2Z, Z = 2, 3, . . . . Цикл с таким периодом показан на рис. 18b.
Наш выход b должен находиться за этим повторителем. Поэтому хотя бы одна из клеток повторителя должна быть способна создавать возбуждения в двух направлениях (на b и на следующую клетку цикла), т. е. этой клеткой должна быть клетка С. Выход Ь может занимать на этой клетке С два положения: bt и Ь2 (см. рис. 18с).
Клетка С увеличивает длину периода до 2Z + 1. Это нечетный период. Если требуется четный период, то должна быть вставлена вторая клетка С (так как первую удалять нельзя). Так сделано на рис. 18d; здесь период равен 2Z + 2. (Заметим, что эти две клетки С не являются непосредственными соседями, поскольку С не может возбудить С.) Обе возможности представлены на рис. 18е, где х /5- Для 1,
( С для г = 2.
Здесь период равен п = 2Z + г, где Z = 2, 3, . . .; г = 1, 2. Таким образом, мы можем работать с порядками (периодами) тг = = 5, 6, . . ., т. е.
п>5.(3')
Если условие (3') нарушается, т. е. п < 5, то период г1 ... in может повторяться О раз. Тогда п заменяется на О, и нужно лишь выбрать О так, чтобы число 0п удовлетворяло условию (3'), т. е. 0п ^ 5.
Вернемся теперь к рис. 18е. Выход b должен быть на С, как показано на рисунке. Вход в этот цикл, т. е. точка, к которой подводится V, должен быть как можно ближе к этой клетке С, чтобы уменьшить задержку. Вход не может находиться на самой клетке С, так как ее свободная сторона (та из сторон bVl b2, которая не используется в качестве Ь) потребуется для другой цели. Поэтому мы поместим его непосредственно перед С: на Ь^ или Ь2. (Направление этого цикла
было выбрано так, чтобы обеспечить максимально возможный доступ.)
Теперь уже мы можем соединить импульсатор Р (Z1 . . . 1п\ рис. 16g и цикл рис. 18е. Результат показан на рис. 18f, где
2Z + r)
Z = 2, 3, . ..; г = 1, 2;
Г |0 для 1,[ С для r = 2.
Рисунок 18f выполнен для случая I < и + 2, но точно так же можно сделать и для случая Z > и + 2. Заметим, что цикл повернут относительно своего первоначального положения (ср. рис. 18е с рис. 18f), чтобы было удобнее привести его в контакт с Р (Р . . . 1^. Кроме того, эти два органа разделены колонкой состояний U, чтобы избежать нежелательных воздействий, связанных с контактами между клетками С одного органа и передающими состояниями другого.
Схема рис. 18f обеспечивает возникновение последовательности
Р . . . 1п; остается еще задача построения схемы, обрывающей эту последовательность.
Так как мы нс ввели никаких состояний (или импульсов), непосредственно выражающих отрицание и торможение, то теперь попробуем добиться этого с помощью непрямых методов. Очевидно, что можно использовать специальные импульсы, т. е. изменить характер одного из передающих и конфлюентных состояний, образующих цикл рис. 18е (повернутая на 90° схема рис. 18е составляет часть рис. 18f). Это означает, что вход а_ должен управлять импульсом [1], приходящим на одну из открытых сторон цикла г). На рис. 18g изображен орган, который будет это осуществлять. Так как удобнее сверху (от а_ через а") подавать на этот орган возбуждение и присоединять его к верхней стороне цикла, то он показан на рис. 18g в соответствующем положении. Выход Ь" этого органа можно присоединить к любой клетке цикла. В указанном положении (см. рис. 18f и 18g) это может быть О или С; в двух других возможных положениях (на рис. 18f, т. е. справа или снизу) это могут быть С, любая клетка |о, затем 0^ (справа), О. или X (снизу).
В этом устройстве импульс [0] от а_, поступающий на а", будет возбуждать С, затем |1 и будет вызывать появление импульса [1] на Ь" с задержкой 3 (отсчитываемой от а"). Поэтому с задержкой 4 клетка цикла, находящаяся в контакте с Ь", придет в состояние U и прекратит импульсацию. Но дальнейшая судьба этой клетки
х) [Как объяснялось выше в разд. 2.8.1, [0] обозначает обычный импульс а [1] — специальный импульс.]
не ясна. В самом деле, так как эта клетка находится теперь в состоянии U, то следующий импульс [0], проходящий по циклу, переведет ее в Sq (если только этого не сделает раньше какой-нибудь импульс [1], поступивший в эту клетку через Ь"). После этого импульсы ([0] через соседей по циклу или [1] через 6"), а также и паузы будут преобразовывать дальше ее состояние по чувствительным состояниям (Ss с 2 из (S.1) разд. 2.8.1) к некоторому передающему состоянию (обычному или специальному) или к конфлюентному состоянию (Т, Т' или С, т. е. к Ss с 5 из (S.2) разд. 2.8.1). Какое из этих окончательных состояний получится, зависит от импульсов, проходящих по циклу (и, возможно, импульсов, поступающих через b"Y т. е. от последовательности i1 . . . tn, и от фазы, в которой это произошло.
Для того чтобы у нас была схема, работающая при всех Iх . . . in и, что еще более важно, для любой фазы, в которой может потребоваться остановка, удобнее всего гарантировать, чтобы клетка, находящаяся в состоянии U, во всех случаях получала некоторую подходящую непрерывающуюся последовательность импульсов.
Поэтому лучше всего посылать их из Ь". так что это будут импульсы [1]. Первый импульс преобразует U в Se, а следующие 3 импульса преобразуют это состояние в 8Ш = Соо. Все эти импульсы [1] идут сразу же за первоначальным импульсом [1], вызвавшим U. Таким образом, на Ъ" должно быть 5 следующих друг за другом импульсов [1], а это значит, что на а должно быть 5 следующих друг за другом импульсов [0]. Прежде чем обсуждать это дальше, рассмотрим, какие же произошли здесь преобразования:
Клетка цикла (одна из клеток С, X, _О^, ^0, 5-)—>
U—> Sq > Sf—>SU—>Sllj = C00. (4')
В конце концов возникнет необходимость вернуть преобразованную таким образом клетку цикла в исходное состояние. Проще всего использовать для этой цели саму последовательность (4'). Эта последовательность кончается состоянием С, поэтому она и начнется также с С. Иными словами, рассматриваемая клетка цикла должна быть клеткой типа С в этом цикле. Это значит, что выход Ь" рис. 18g должен совпадать с bv рис. 18f. Следовательно, выход (окончательный) b должен быть Ь2.
Вернемся к 5 импульсам [0], поступившим на а". Их должен обеспечить импульсатор Р (11111), импульсы с выхода Ъ* которого будут подаваться на а", а на его вход а* будут подаваться импульсы с а_. Сейчас необходимо выяснить еще один вопрос.
Указанные выше 5 импульсов парализуют выход клетки цикла в последовательности (4') в тот момент, когда она приходит в состояние U, а также в 4 последующих момента времени, когда она прихо-
дит соответственно в состояния Sq, Sb 8ц, 8Ш = Coo- Наконец, так как С реагирует с задержкой 2, то от этой клетки не будет реакции и в следующий момент. Короче говоря, эта клетка будет молчать в течение 6 последовательных моментов времени. Если длина п периода не больше 6, то этого достаточно, чтобы заставить цикл замолкнуть навсегда. Но если п > 6, то эт!а последовательность из 5 импульсов [1] на Ъ", или из 5 импульсов [0] на а", должна повториться. Повторим ее р раз. Из сказанного выше ясно, что мы могли бы вставить 0 (импульса нет) между каждой парой групп 11111 (5 импульсов), но проще не делать такой вставки. Итак, у нас есть последовательность порядка 5р. При этом состояния клетки цикла будут р раз пробегать последовательность (4') и поэтому цикл будет молчать (т. е. будет молчать выход 6=62) в течение 5р + 1 последовательных моментов времени. Отсюда следует, что он больше не будет давать на выходе импульсов, если п ^ 5р + 1» т. е. при
р>—• (5)
Проще всего взять в качестве р наименьшее целое, удовлетворяющее условию (5').
Таким образом, рассматриваемым выше импульсатором (выход которого Ь* подается на а", а на вход а* подается а_) должен быть импульсатор Р (1...1) порядка 5р. Устройство такого импульсатора показано на рис. 18h. Отметим знаком * все величины, относящиеся к этому импульсатору. Тогда п* = к* — 5р и v£ = h (/t — 1, . . . . . ., 5рУ отсюда по правилу (2') разд. 3.2.1 получаем и*0 = 0, так что можно взять и* = 0.
Кайма из состояний U вдоль правой и нижней сторон импульсатора на рис. 18h снова предназначена для того, чтобы избежать возможности нежелательной стимуляции от граничных состояний С.
Прежде чем продолжать дальше наше обсуждение, рассмотрим важный частный случай, в котором можно обойтись без импульсатора рис. 18h. Это случай простейшего возможного периода, а именно 1. Он имеет порядок п — 1. В этом случае мы поступим так.
Значение п = 1 нарушает условие У3/у поэтому его нужно взять © раз, чтобы число 0п удовлетворяло условию (3'), т. е. © ^ 5. (Это наводит на мысль о выборе © = 5, но мы воздержимся от такого выбора.) Новое значение п есть © (прежнее ©п); цикл рис. 18f имеет период п = ©. Теперь предположим, что импульс [1] на bY рис. 18f (т. е. на Ь" рис. 18g, см. выше) преобразует правое верхнее состояние С в этом цикле (рис. 18f) в U. Это начало последовательности (4'). Чтобы закончить эту последовательность, требуется еще 4 импульса. Они строго хронометрированы. Мы взяли их (см. обсуждение после (4')) в виде импульсов [1] от Ь", но могли бы с таким же успехом взять и импульсы [0] от цикла. После того как выделенная
клетка цикла подверглась первому преобразованию из (4') (т. е. С -> U), из цикла на нее прибудет еще и — 2 импульса [0]. Если п — 2 = 4, т. е. п = 6, то это как раз то, что нужно, чтобы закончить последовательность (4'). При этом цикл, как и требуется, прекратит импульсацию полностью (см. рассуждение, ведущее к условию (5'), или само условие (5') при п = 6, р = 1). Поэтому мы берем п = О = 6. (Заметим, что этим обеспечивается выполнение нашего прежнего условия © ^ 5, но это не минимальный выбор © = 5, о котором говорилось выше.)
Итак, при этом выборе достаточно одного импульса [1] на Ъ" (рис. 18g), и нет нужды дополнять схему рис. 18g схемой рис. 18h. Но будет удобнее, если вход а" будет расположен с левой, а не с верхней стороны клетки С. Кроме того, поскольку импульса- тор Р (1...1) рис. 18h здесь отсутствует, удобно для унификации обозначений отождествить а и а*. Это изображено на рис. 18L
Теперь мы подготовлены к тому, чтобы произвести полный синтез, объединяя схему рис. 18f со схемой рис. 18h (общий случай: РР (к . . . £п) или со схемой рис. 18i (частный случай: РР (Т)). Как отмечалось выше, нужно соединить Ьм с Ъ^, а (конечным) выходом будет b = Ь2. Результат показан на рис. 18j и рис. 18k соответственно. Во втором случае п = 6, h = 6, = К (h = 1, . . ., 6), так что по формуле (2') и? = 0, и можно взять и = 0. Следовательно, 2& = = 12 и и + 2 = 2, как показано на рис. 18k. Заметим, что хотя рис. 18j выполнен в предположении I < и + 2 и 10/> < 2А + 1, неравенства I ^ и + 2 и 10/? ^ 2& + 1 также возможны.
Схемы рис. 18j и 18k содержат задержки от момента стимуляции на а^ (или на а') до начала импульсации на Ъ и от момента стимуляции на а (или на а*) до остановки импульсации на Ь. Найдем эти задержки.
Рассмотрим первый случай, т. е. рис. 18j.
Путь от а' к Ъ2 = Ъ на рис. 18j целиком лежит в нижней половине схемы, т. е. в той ее части, которая изображена на рис. 18f. Учитывая рис. 18f, мы получили (см. конец разд. 3.2.1), что импульсы г1 . . . 1п появляются на Ь' с абсолютной задержкой 2к 4- и + 1 после импульса на а'. К этой абсолютной задержке добавляются относительные задержки 1, . . ., п, так что последовательность
в верхней половине схемы, т. е. в той ее части, которая изображена на рис. 18h. Учитывая рис. 18h, мы получили (см. разд. 3.2.1), что импульсы 1 . . . 1 (порядок 5/?) появляются на Ь* с абсолютной задержкой 2&* + и* + 1 после прихода импульса на а. Так как к* = Ьр, и* = 0, то эта задержка равна 10/? + 1. К этой абсолютной задержке добавляются относительные задержки 1, . . ., 5/?, так что последовательность 1 . . .1 появляется на Ь* с задержками Юр + 2, . . ., 15р + 1. Задержка от Ь* до Ъ" равна, очевидно, 5; поэтому последовательность 1 . . . 1 появляется на Ъ^ = Ь" с задержками Юр +7, . . ., 15р + 6. Далее, так как импульс [1] на Ь^ (рис. 18f) подавляет в следующий момент выход клетки С, на которую оказывается воздействие (см. обсуждение последовательности (4')), то выходной сигнал на Ъ2 прерывается с общей задержкой Юр + 8. Таким образом, прекращение импульсации на b (= Ь2, см. рис. 18j) происходит с задержкой Юр + 8 относительно импульса на а*.
Рассмотрим теперь второй случай, т. е. рис. 18k.
Так как нижние половины рис. 18j и 18k имеют одинаковую структуру, то задержку от а1 до начала импульсации на Ъ можно найти по формуле, выведенной для первого случая. Искомая задержка равна 2k + и + 6, где к = 6, и = 0 (см. обсуждение рис. 18k), что составляет 18 единиц времени.
Задержку от а* = а" до прекращения импульсации на Ъ2 — Ъ (рис. 18k) также легко вычислить. Путь от а" до Ь^ = Ь" показан на рис. 18i. Задержка на этом пути составляет, очевидно, 3 единицы времени. Задержка от прихода импульса [1] на Ь^ до прекращения импульсации на Ь2 (рис. 18f) та же, что и в первом случае, т. е. равна 1. Таким образом, прекращение импульсации на b ^b2l см. рис. 18b) происходит с задержкой 4 относительно импульса на а* {=а\ см. рис. 18b).
Сформулируем это еще раз. Задержка от импульса на а* до начала импульсации на b равна 2k + и + 6 в первом (общем) случае (рис. 18j) и 18 во втором (частном) случае (рис. 18k). Задержка от импульса на а* до прекращения импульсации на b равна 10/? + 8 в первом (общем) случае (рис. 18j) и 4 во втором (частном) случае (рис. 18k).
В отличие от ситуации, описанной в конце разд. 3.2.1, в этой схеме вполне возможны искажения, связанные с интерференцией. Легко проверить, что они подчиняются следующим правилам.
Импульсации на а' и а*, о которых идет речь в пунктах (6'Ь) — (6'd), следует рассматривать в некотором модифицированном хронологическом порядке, который отличается от обычного определенными систематическими (относительными) сдвигами. Все утверждения в (6'Ь) — (6d) об одновременности, предшествова-
нии и порядке следует понимать в этой модифицированной хронологии. Эта хронология определяется следующим образом. Порядок импульсаций на а' по отношению друг к другу остается неизменным; то же относится и к порядку импульсаций на а. Импульса- ции на а смещаются относительно импульсаций на а* в соответствии с разностью задержек от а' до начала импульсаций на Ъ и от а* до прекращения импульсаций на Ь. Иными словами, хронологический порядок всех этих импульсаций основан не на относительных моментах их появления (на а' или а*), а на моментах, в которые они оказывают воздействие (на b — для а! начало импульсации на Ъ и для а* прекращение импуль- сации на Ь).(6'а)
Кратные импульсации на а , между моментами появления которых не приходят импульсы на а*, оказывают просто суммарный эффект. Следовательно, можно было бы сказать, как в конце разд. 3.2.1, что в этом случае нет искажений, вызванных интерференцией. Однако нужно заметить, что периодическая эмиссия рассматриваемого органа (на Ь) в течение этого процесса может измениться, ибо в результате каждой новой стимуляции на а* период с его собственной фазой накладывается на (возможно, уже сложный) период, созданный предыдущими стимуляциями. Наконец, в частном случае, когда этот период состоит только из импульсов (это 1!), такого изменения не происходит, так что дополнительные наложения не могут его изменить.(6'Ь)
Стимуляция на а*, идущая за стимуляциями на а* (относительно которых см. правило (6'Ь)), прерывает порождаемый ими период. Если стимуляции многократные, то эффект производит только первая: остановка, вызванная первой стимуляцией, поддерживается другими, но она поддерживалась бы и без них г). Если а и а* возбуждаются одновременно, то возбуждение на а* превалирует над возбуждением на а* (а это значит, что импульсы на Ъ испускаться не будут).(6'с)
Импульсации на а*. следующая за импульсацией на а*, будет полностью эффективной (в смысле (6'Ь)),
только если ее задержка не менее Ьр + 1 (в общем случае, а в частном случае р = 1) по отношению к первой. Если она придет раньше, то те импульсы, входящие в период, которые первыми появились с задержкой менее Ьр + 1, из периода будут постоянно удаляться.(6zd)
В заключение примем некоторые меры для выравнивания задержек от а' до начала импульсации на b и от а* до прекращения импульсации на Ь. Это нужно для того, чтобы исключить усложнения, которые может вызвать в (6'Ь) — (6'd) специальное упорядочение (6'а). Мы сделаем это, вставляя между а+ и а', с одной стороны, и а_ и а*, с другой, специальные пути задержки. Рассмотрим 3 случая.
Первый случай изображен на рис. 18j. Пусть 10/? < 2к + 1. Зададим ^ равенством 10/? + Zj = 2к + 1, т. е. ^ = 1, 2, . . . . Присоединим схему рис. 19а к левой стороне схемы рис. 18j. Так как задержка от а+ до а' равна 3, то задержка от а^ до начала импульсации на b равна 3 + ^ + и + 6) = 2к + и + 9. Так как задержка от а_ до а* равна и + zb то задержка от а_ до прекращения импульсации на b равна (и + Zj) + (10/? + 8) = (10/? + Zi) + (и + 8) = - (2к + 1) + ки + 8) = 2к + и + 9.
Таким образом, обе задержки равны 2к + и + 9, а рис. 18j и 19а вместе приводят к рис. 19с. Последний рисунок выполнен в предположении I < и + 2, но также возможно и I ^ и + 2.
Второй случай представляет рис. 18j при 10/? ^ 2к + 1. Зададим z2 равенством (2& + 1) + z2=10/?, т. е. z2 = 0, 1, 2, . . .. Присоединим схему рис. 19b к левой стороне схемы рис. 18j. Так как задержка от а^ до а1 равна 3 + z2, то задержка от а+ до начала импульсации на b равна (3 + z2) + (2& + и + 6) = ^к + 1) + z2) + + (и + 8) = 10/? + и Ц- 8. Так как задержка от а_ до а* равна и, то задержка от а_ до прекращения импульсации на b равна и + + (10/? + 8) = 10/? + и + 8.
Таким образом, обе задержки равны 10/? + и + 8, а рис. 18j и 19b вместе приводят к рис. 19d. Этот рисунок выполнен в предположении I < и + 2, но неравенство I ^ и + 2 также возможно.
Прежде чем переходить к третьему случаю, заметим, что общая задержка в первом случае (при 10/? < 2к + 1) равна 2к + и + 9, а во втором случае (при 10/? ^ 2к + 1) 10/? + и + 8. В каждом из этих случаев задержка не больше М + и + 8, где
М = шах(10/?, 2^ + 1)-(7')
Далее, схемы рис. 19с и 19d выглядят одинаково, не считая того, что ширина первой равна 2к + 4, а ширина второй равна 10/? + 3. Оба случая можно снова охватить одной величиной, а именно М + 3.
Поэтому рис. 19е представляет обе схемы: и рис. 19с, и рис. 19d. Он выполнен в предположении I < и + 2, но неравенство I ^ и + 2 также возможно.
Рассмотрим, наконец, третий случай, изображенный на рис. 18k. Присоединим схему рис. 19f к левой стороне рис. 18k. Отождествим а* с а+. Задержка от а^ до начала импульсации на b будет тогда совпадать с задержкой от а/, т. е. будет равняться 18. Так как задержка от а_ до а* равна 14, то задержка от а_ до прекращения импульсации на b равна 14 + 4 = 18.
Таким образом, обе задержки равны 18, а рис. 18k и 19f вместе приводят к рис. 19g.
Рис. 19d и 19g содержат схемы общего импульсатора РР (i1 . . .in)
и специального импульсатора РР (1) (п = 6, т. е. это РР (111111)) соответственно. Целесообразно ввести для них одинаковое компактное представление. В случае рис. 19d приведем схему к общей высоте N + 3, где
N — max (и+ 2, Z),(8')
заполняя клетки, если необходимо, состояниями U. Рис. 19g менять не надо. Результат показан на рис. 19h. Для общего случая РР (j1 . . . 1^
К = М-^3, L^N + З,L^A L^L-A,
для частного случая РР(1)
7^=15, £—4, £^0, £2-3, £3-1.
Задержки от а^ до начала генерации последовательности на b и от а_ до момента прекращения генерации на Ъ совпадают. Эта общая задержка в общем случае равна М + и + 8, а в частном случае равна 18. Теперь можно переформулировать правила (6'а) — (6'd), заменяя а' на а^ и а* на а_ и учитывая эту общую задержку для пуска и остановки. В результате, как отмечалось, снимается необходимость введения специального порядка, о котором шла речь в правиле (6'а).
Итак, в правила (6'а) — (6'd), которым подчиняются возможные искажения, связанные с интерференцией, надо внести следующие изменения:
Специальная хронология для возбуждений на а' и а*. определенная в (6'а), заменяется теперь обычной хронологией появления импульсов на а+ и а_. Иными словами, все моменты должны отсчитываться от моментов появления импульсов на а+ и а_. С учетом этого изменения (и замены а' на сц и а* на а_) правила (6'b)—(6'd) верны.(9')
[Как отмечалось выше, в правиле (6'с) имеется ошибка, касающаяся временных соотношений в периодическом импульсаторе. Кроме того, фон Нейман не рассмотрел один важный случай, когда импульс «стоп» предшествует импульсу «пуск».
Исследуем сначала временные соотношения в периодическом импульсаторе фон Неймана, используя в качестве примера схему рис. 17. Периодический импульсатор РР (10010001) работает так: импульс «пуск» на входе а^ в момент t обеспечивает поступление в клетку Н4 из клетки G4 последовательности 10010001 в интервале времени от t + 31 до t + 38. Импульс «стоп» на входе а_ в момент t обеспечивает поступление в клетку Н4 из клетки НЗ последовательности 1111111111 в интервале времени от t + 32 до t + 41. В этом случае на выходе b ничего не появится, так как убивающий сигнал от НЗ доминирует над передающим сигналом от G4. Если импульс «стоп» появится на единицу времени позже (в момент t + 1), то последовательность 1111111111 поступит в клетку Н4 из клетки НЗ в интервале времени от t + 33 до t + 42. Тогда клетка Н4 будет находиться в состоянии Соо в момент t + 31, в состоянии С01 в момент t + 32, в состоянии С10 в момент t + 33 (и в этот момент на выходе b появится импульс) и в состоянии U в момент t + 34.
Рассмотрим теперь последовательность операций в специальном периодическом импульсаторе фон Неймана РР (1). Импульс «пуск» на входе а^ в момент t вызывает поступление последовательности 111111 в клетку ЕЗ из D3 в интервале времени от t + 16 до t + 21. Импульс «стоп», появившийся на входе а_ в момент I, приходит в клетку ЕЗ из Е2 в момент t + 17. Следовательно, если импульсы «пуск» и «стоп» придут одновременно, то на выходе Ъ не будет никаких импульсов. Если импульс «стоп» придет на единицу времени позже, то на b появится 1 импульс — то же самое было в случае периодического импульсатора РР (10010001).
Следует отметить, что мы измеряли задержку от входов а^ и а_ до клетки, содержащей то конфлюентное состояние С, импульсы с которого подаются на выход Ь. Сама клетка не включалась в измерение. Фон Нейман учитывал эту клетку. Для сигнала, поступающего от импульса «стоп» на входе а_, задержка на этой концевой клетке равна всего лишь 1, так как акт убивания занимает всего 1 единицу времени. Отсюда задержка и от а+, и от а до момента прекращения импульсации на b равна 33 для РР (10010001) п 18 для периодического импульсатора РР (1), разработанного фон Нейманом. См. табл. I.
Таким образом, последовательность операций во всех периодических импульсаторах РР (к1 . . . Zn), сконструированных по алгорит-
му фон Неймана, будет следующей. Предположим, что периодический импульсатор построен и находится в состоянии покоя. Если импульс «пуск» на вход а± и импульс «стоп» на вход а_ приходят одновременно, то с выхода b не излучается никаких сигналов и этот периодический импульсатор остается в исходном состоянии. Если импульс «стоп» приходит после импульса «пуск» через Т (>0) единиц времени, то последовательность I1 ... 1п испускается v раз.
ТАБЛИЦА I
ВНЕШНИЕ ХАРАКТЕРИСТИКИ ПЕРИОДИЧЕСКИХ ИМПУЛЬСАТОРОВ
Общий случай
Частный случай
Общий вид
На примере
РР (100 1000 1)
Схема фон Неймана
РР (1)
Другой вариант
РР (I)
Ширина К
Л/ + 3
23
15
13
Высота L
7V + 3
10
4
4
Число клеток ниже входа
пли выхода:
вход «+
2
2
0
1
вход а_
4
4
3
3
выход Ъ
L—4
6
1
1
Задержка от д+ до b (и за
М + и-\-8
33
18
19
держка от а_ до останов-
ки на Ь)
а затем вырабатывается начальный отрезок этой последовательности длины ц, где Т = zzv + р, р < ^, и либо V, либо р может равняться нулю. Эта последовательность операций соответствует намерениям фон Неймана и введенным им правилам. Но фон Нейман не рассмотрел всех случаев, когда импульс «стоп» предшествует пусковому импульсу (т. е. когда Т < 0). Очевидно, он предполагал использовать каждый из периодических импульсаторов таким образом, чтобы было взаимно однозначное соответствие между импульсами «пуск» и «стоп», причем m-й импульс «стоп» приходил бы не раньше ап-г о импульса «пуск» и иг-й импульс «стоп» отстоял бы по времени от (иг + 1)-го импульса «пуск» достаточно далеко для того, чтобы периодический повторитель мог очиститься. Но это не было им оговорено и не всегда соблюдалось при последующем использовании периодических импульсаторов.
Посмотрим, что будет, если на «стоп»-вход а_ импульсатора РР (10010001) подать последовательность 101. Эта последовательность заставит верхний импульсатор Р (1111111111) выработать 12 (а не 10) импульсов и (в зависимости от момента прихода импульсов на пусковой вход а^ может привести клетку Н4 в нежелательное
состояние. При некоторых соотношениях порядков поступления последовательностей 101 на а_ и Т на а+ клетка Н5 может быть убита и переведена в U. Эту трудность можно разрешить с помощью следующего правила использования*. «стоп»-вход а_ периодического импульсатора РР (z1 . . . zn) в общем случае не должен стимулироваться дважды ни в одном из интервалов времени длины 5р. При всех дальнейших использованиях периодических импульсаторов общего случая это правило соблюдается.
В частном случае периодического импульсатора — в импульсато- ре РР (1), разработанном фон Нейманом, — возникает более серьезная проблема. Импульс на «стоп»-входе а_ переводит клетку ЕЗ в U, а затем 4 импульса импульсатора Р (111111) или периодического повторителя (или обоих) переводят в соответствии с прямым процессом клетку ЕЗ в конфлюентное состояние С. Но предположим, что импульс «стоп» предшествует импульсу «пуск». Тогда клетка ЕЗ уже не будет в нужном состоянии! Этот факт не приведет к неприятностям, если импульсатор РР (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 + 18 до t + 22. Так как акт убивания занимает всего 1 единицу времени, то задержка от входа а до прекращения импульсации на b равна 19 единицам, если подсчитывать по методу фон Неймана. См. табл. I.
Заметим далее, что если пусковой вход а^ возбуждается спустя от 1 до 4 единиц времени после возбуждения «стоп»-входа а_, то в повторителе останется от 1 до 4 импульсов. Поэтому мы постулируем следующее правило использования этого варианта импульсатора РР (1) (изображенного на рис. 20): «стоп»-вход а_ не должен
возбуждаться дважды в течение 5 последовательных единиц времени, а пусковой вход а^ не должен возбуждаться в интервале времени от 1 до 4 единиц после момента возбуждения входа «стоп». Структура блока КСЗС такова, что это правило всегда выполняется. Если этот вариант РР (1) работает в условиях, где выполняется указанное правило, то он выступает в качестве «спусковой схемы»: включается на а+, выключается на а_, и пока он включен, вырабатывает на b непрерывную последовательность импульсов, которую можно использовать для управления некоторой схемой совпадений (конфлюент- ным состоянием).
Соберем теперь вместе всю информацию о внешних характеристиках периодических импульсаторов. На рис. 17b показана схема разработанного фон Нейманом импульсатора РР (1). Наш вариант импульсатора для частного случая РР (1) показан на рис. 20. Внешние характеристики обоих вариантов РР (1) приведены в табл. I.
Общий случай импульсатора РР (Z1 . . . in) с п ^ 5 показан на рис. 19h. Если п С 5 и частный случай неприложим, то характеристика итерируется до тех пор, пока не будет п ^ 5; например, если нужен РР (101), то конструируется РР (101101). Общий случай 1 ^пульсатора РР (i1 . . . г^ содержит импульсатор Р (t1 . . . in), для которого значения и и к найдены в конце разд. 3.2.1. Приведем значения параметров (К — ширина, L — высота) импульсатора РР (i1 . . . in): К-М-^З, L-^N + З, где М-шах(10р, 2Ат--Ь1), р— наименьшее целое число, удовлетворяющее условию Ьр^п—1, TV —шах (^4-2, Z), I — целая часть числа (п —1)/2. Дальнейшая информация содержится в табл. I.]
ДЕКОДИРУЮЩИЙ ОРГАН: СТРУКТУРА, РАЗМЕРЫ
И ВРЕМЕННЫЕ СООТНОШЕНИЯ
[На рис. 21 изображен декодирующий орган D (10010001). Его характеристика есть 10010001, а порядок равен 8. Все последовательности длины 8 можно разбить на два класса: последовательности, содержащие все единицы (т. е. импульсы), которые встречаются в характеристике 10010001 (например, 10010001 и 11010011), и все остальные последовательности (например, 10000001 и 10010010). Если на вход а подается последовательность первого класса, то на выходе b после соответствующей задержки появится одиночный импульс, а последовательность второго класса никакого выходного сигнала не дает.
Декодирующий орган следует отличать от «распознающего» устройства, которое реагирует на какую-то одну последовательность и не реагирует на все другие. Такие устройства обсуждаются в разд. 3.5.
Принцип работы декодера D (10010001) таков. Предположим, что последовательность z1^2^^4^^6^7^8, где I1 = 1, I4 = 1, i8 = 1, дается на вход а в интервале времени от t до t + 7; импульсы z1, I4 и I8 поступают с относительными задержками 0, 3 и 7 соответственно. Пути В ид встречаются в конфлюентном состоянии D1, обеспечивая задержки 21 и 18, так что z1 и z4 дадут выходной сигнал на выходе клетки D1 в момент времени 23. Этот сигнал поступит на клетку F1 в момент 24, совпадающий с моментом прохождения импульсом z8 пути F, благодаря чему в момент 26 на выходе Ъ появится импульс. Заметим, что так как характеристика 10010001 содержит 3 единицы, то в декодере должно быть 3 пути: В, D и F.
Конструкция декодирующего органа очень похожа на конструкцию импульсатора (разд. 3.2.1). Действительно, импульсатор фактически представляет собой некоторое кодирующее устройство. В декодирующем органе, однако, для обнаружения совпадений необходимо, чтобы конфлюентные состояния располагались вдоль верхнего ряда. Если для получения нечетных относительных задержек между путями (например, как в клетке ВЗ рис. 21) используются конфлюентные состояния, то они должны быть отделены от конфлюентных состояний верхнего ряда состояниями То1£ (как в ряду 2 рис. 21).]
Наша третья конструкция — декодирующий орган. Он имеет вход а и выход Ь. Идеальным был бы вариант, при котором в ответ на поступление на а некоторой наперед заданной последовательности (и только в этом случае) на выходе b возник бы одиночный импульс. Но для наших конкретных применений достаточно более простое требование.
Устройство, удовлетворяющее этому более простому требованию, мы и будем рассматривать. Пусть задана последовательность z1 . . . in. В ответ на поступление на а любой последовательности у1 . . . уп. содержащей все импульсы, входящие в последовательность z1 . . . in (т. е. такой, что zv = 1 влечет р = 1), и только в этом случае, на b вырабатывается одиночный импульс.
Между поступлением последовательности у1 . . . уп на а и откликом на b нет жесткой временной связи, т. е. пока мы не задаем величину задержки между ними (см., однако, замечания в конце этого раздела).
Декодирующий орган обозначается символом D (z1 . . . zn). Последовательность z1 . . . zn, которую при желании можно задать, называется его характеристикой, а число п называется его по ряд кем.
Вся схема последовательно разрабатывается на рис. 22. В оставшейся части раздела мы разберем конструирование этого органа. Здесь много общего с аналогичными вопросами, обсуждавшимися в разд. 3.2.1 в случае пмпульсатора Р (i1 . . . in).
Обозначим через v1? . . ., v^ те v, для которых i^ = 1, т. е. это позиции импульсов в последовательности I1 . . . in. (В отличие от разд. 3.2.1 сейчас нам не требуется их монотонный порядок.) Запишем
п— ^---2^ + ^, где Ць=-О, 1, 2, .. . ; r^O, 1. (10')
(Обратите внимание на разницу между (10') и (I')!)
Относительно входных импульсов на а надо выяснить, присутствуют ли среди них к импульсов с относительными задержками v17 .... vk. Это можно сделать, умножая каждый прибывающий на а импульс на к различных импульсов с номерами h = 1, . . ., к, поступающих с относительными задержками 1% — vh (к = 1, . . ., к) на некоторую точку Ь', где происходит сравнение исследуемой последовательности с эталонной. Одновременное поступление к импульсов на Ь' эквивалентно прибытию к различных импульсов с номерами к = 1. . . ., к. поступающих на а с относительными задержками Vi, . . .. ^к.
Поэтому нам нужны к путей с номерами к = 1, . . ., к, идущих от а до Ь', задержки которых по отношению друг к другу равнялись бы п — \к кк = \, . . ., к). Однако уже при к > 3 нельзя за одпн акт обнаружить совпадение в одной точке к величин (к = 3 — это максимум, при котором еще может работать одиночная клетка С. см. разд. 2.3.2). Следовательно, лучше сводить эти пути попарно. Сначала пути 1 и 2 встречаются в точке сравнения Ы2 (лучше начинать с 6^ а не с ^г см. ниже), так что от Ь2 идет совместный путь 2'; затем пути 2' и 3 встречаются в точке сравнения Ь', так что от Ь'^ продолжается совместный путь 3'; далее пути 3' и 4 встречаются в точке сравнения Ь', так что от Ъ\ продолжается совместный путь 4'; и т. д. и. наконец, пути к — 1 и А встречаются в Ь^ так что от Ьк непосредственно к выходу b идет совместный путь к'. Эта последовательная цепь схем, обнаруживающих совпадение двух величин в точках Ы2, . . ., Ък. заменяет одиночную схему совпадения к величин в точке V.
Схему совпадения двух величин, разумеется, нетрудно выполнить на С (см. разд. 2.3.2).
Очевидно, такая процедура нуждается в схеме типа рис. 16а и 16b. Рассмотрим сначала рис. 16а. Здесь импульс, входящий в а. достигает b по к различным путям, но так как задержки, требуемые для каждого из этих путей, не были соответствующим образом подобра-
ны, то это можно сделать потом с помощью схемы рис. 16b, т. е. схем N рис. 16с, в деталях представленных на рис. 16d — 16f. Обсудим сейчас другой недостаток рис. 16а, который проявляется в настоящей ситуации. Он состоит в следующем.
На рис. 16а к путей, образованных клетками С, лежащими на нижней линии, непосредственно объединяются клетками _О, расположенными над 2, 3,. . . клетками С (из нижнего ряда). Это объединение осуществляется клетками О , т. е. без каких-либо условий на совпадение. Такая схема соответствует назначению рис. 16а в разд. 3.2.1, но для наших целей она не годится. Рассматриваемые клетки О (всего к — 1), в которых происходит объединение путей, служат, очевидно, теми точками сравнения b21 b'^ . . ., Ь&, о которых шла речь выше. Поэтому они должны реагировать на совпадение, т. е. должны быть клетками С, а не ^. По соображениям симметрии заменим на С также клетку О из верхнего ряда, расположенную над первой клеткой С (из нижнего ряда), и назовем ее b'v Новое устройство показано на рис. 22а.
Импульс, поступивший на а, может достичь b по к путям. По пути к ( = 1, . . ., к) он идет горизонтально от а до С (с нижней линии) с номером к, затем по вертикали достигает верхней линии (клетки С, обозначенной Ъ'^ и продолжает двигаться по горизонтали до Ь. (До этого места, но не дальше, мы следуем схеме рис. 16а.) Всего шагов будет (27г — 1) + ^ + (2 (к — к) 4- 1) - 2к + и, но так как к + (к — к + 1) = к 4- 1 из них являются клетками С, то общая задержка составит ЗА: 4* и, 4- 1. Иными словами, на всех путях задержка одинакова.
Учитывая это, необходимо увеличить задержку на пути с номером к на величину п — vh = 2рД + г^. (См. соотношение (10').) Этого можно достичь точно так же, как в аналогичном случае в разд. 3.2.1, а именно заменяя каждую вертикальную ветвь на соответствующую схему задержки, скажем ветвь к на схему ЛД. Схема N^ похожа на схему Nh рис. 16е, т. е. ее части изображены на рис. 16d — 16f, только теперь p^ rh заменены на р/4 г^. Таким образом, возникает схема рис. 22b, связанная со схемой рис. 22а точно так же, как схема рис. 16b со схемой рис. 16а. Высоту и можно найти с помощью тех же соображений, что в разд. 3.2.1 привели к условию (2'). (Теперь р^, гк заменяются на р/4 г^ т. е. v^ — к из (Г) заменяется на п — т/г из (10').) В результате получаем условие и ^ и'0 (по аналогии с условием (2') и с учетом указанных изменений), где
и'0 = max (п — ^h) + е'°,
где е'0^!, если этот максимум четный, но I И 14 найдется к, для которого число п— v/г нечетно, в противном случае е'° = 0.
Проще всего, разумеется, положить и = и'0.
(Фон Нейман упустил из виду необходимость включения дополнительного ряда клеток между рядом и рис. 22а и верхним рядом в том случае, когда ряд и содержит конфлюентное состояние. Если этого не сделать, то конфлюентное состояние из ряда и будет примыкать к некоторому конфлюентному состоянию из верхнего ряда, образуя разрыв пути, ибо конфлюентное состояние не может непосредственно воздействовать на другое конфлюентное состояние. Ряд 2 на рис. 21 представляет собой тот дополнительный ряд, который был упущен фон Нейманом: если удалить ряд 2. то конфлюентные состояния В1 и ВЗ оказались бы в контакте друг с другом.
Это упущение можно следующим образом ликвидировать, не меняя значений параметров, введенных фон Нейманом. Пусть 1 ^ ^ Vt <С v2 •< • • • •< vk ^ п. Рассмотрим два случая, соответствующих расположению дополнительного конфлюентного состояния — в самом левом пути (т. е. пути для Vj) и любом другом пути. Если дополнительное конфлюентное состояние появилось в самом левом пути, то надо заменить его и конфлюентное состояние, расположенное над ним (т. е. в верхнем ряду), блоком из четырех соединенных между собой обычных передающих состояний. На рис. 21 следует расположить блок из четырех обычных передающих состояний в клетках Al, В1, АЗ и ВЗ и удалить ряд 2. Если дополнительное конфлюентное состояние появилось в каком-то другом пути, то его надо поместить на одну клетку ниже.]
Этим конструирование завершается. Как показывает рис. 22b. область, занимаемая этой схемой, имеет ширину 2к и высоту и + 2. Схема представлена на рис. 22с.
На рис. 22а задержка от а до b вдоль каждого из путей равнялась Зк + и + 1. Согласно рис. 22b, она равна 1 + (Зк + и + 1) + + (/г — v^) на пути с номером h. Первый член, 1, обусловлен вставкой клетки О перед первой клеткой С на рис. 22а. Следовательно, импульс с номером v^ (г3^ = 1) в последовательности к1 . . . Zn, поданной на а, достигает Ъ с задержкой (Зк + и + 2) + п. Она отсчитывается от момента, непосредственно предшествующего началу последовательности i1 . . . V\ поэтому задержка, отсчитываемая точно от начала этой последовательности, составляет Зк + и + п + 1. Задержка одна и та же для всех А = 1, . . ., к, как и должно быть.
Отсюда следует, что импульс, регистрирующий совпадение к величин (т. е. присутствие на а последовательности у1 . . . уп, содержащей А . . . А, см. выше), будет появляться на b с задержкой Зк + + и + п + 1. Таким образом, в окончательном устройстве, представленном на рис. 22с, задержка от момента поступления последовательности у1 . . . ]п (содержащей А . . . in) до отклика на b будет равна Зк + и + п + 1.
Легко видеть, что в этой схеме нет искажений, связанных с интерференцией. Иными словами, какие бы импульсы ни приходили на ат как только среди них появляется последовательность у1 . . . уп, содержащая I1 . . . in, на b появляется импульс отклика с задержкой Зк + и + п от начала этой последовательности.
[Подведем итоги полученным результатам о внешних характеристиках декодирующего органа D (l1 . . . Zn). См. рис. 22с.
Ширина импульсатора равна 2к, где к — число единиц в характеристике I1 . . . V1. Фон Нейман молчаливо предполагает, что к ^ 2, так как для А: = 0 и к = 1 такого органа не требуется.
Высота декодирующего органа равна и + 2, где и определяется следующим образом. Пусть vb . . ., vfe — это те v, для которых tv = 1. Заметим, что п — длина характеристики, а хд — индекс, отвечающий первой единице. Поэтому п — v4 есть число разрядов характеристики, расположенных справа от первой единицы. Так как все v^ (А = 1, . . ., /с) положительны, то max (и. — v^) = п — v^ Тогда правило фон Неймана для и принимает вид
U — (п — VJ+ е'0, где 8'° — 1, если число п — v1 четно, но найдется Д( = 2, . .., ку для которого число п — ^ нечетно; в противном случае е'0 = 0.
Задержка между входным сигналом I1 на а и выходным импульсом с b равна Зк + и + п + 1.]
ТРОЙНОЙ ВОЗВРАТНЫЙ СЧЕТЧИК
[В предыдущих разделах фон Нейман дал алгоритмы для конструирования произвольного импульсатора Р (к1 . . . {“'У произвольного периодического импульсатора РР (к1 . . . £п) и произвольного декодера D (i1 . . . г^у Затем он разработал схему некоторого специального органа — тройного возвратного счетчика Ф. Целиком такой орган изображен на рис. 23, правда, без соблюдения масштаба. Периодические импульсаторы РР (1) представляют собой импульсаторы рис. 17 с шириной 15 и высотой 4, так что истинная ширина счетчика Ф равна 24, а истинная высота равна 26. Длинные линии со стрелками на рис. 23 символизируют последовательности обычных передающих состояний, используемых только для передачи, но не для дизъюнкции.
Тройной возвратный счетчик понадобился фон Нейману для решения конкретной задачи, состоящей в троекратной посылке импульса в соединительную петлю (Q или С2) внешней ленты L; см. рис. 37.
Предположим, что вторичный выход d счетчика Ф соединен со входом г2 соединительной петли С2, а выход w^ петли С2 соединен со вторичным входом с счетчика Ф. Импульс, поданный на первичный вход а счетчика Ф, пройдет 3 раза по петле С2 и выйдет с первичного выхода b счетчика Ф.
Мы будем считать, что этот орган используется по следующему правилу: если на его вход а подан импульс, то этот вход больше не будет раздражаться до тех пор, пока на выходе 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. Частная проблема решается в Ф с помощью кодера ВП, В18, СП, С18, образующего при стимуляции последовательность 101, п декодера D18, D19, Е18, Е19, F18, F19. подающего 1 на F17 и G18, когда на него подается 101, но не тогда, когда на него подается 1.
Принцип конструирования тройного возвратного счетчика можно легко модифицировать и обобщить на случай счетчика, подсчитывающего т импульсов, т. е. дающего импульс в ответ на каждый получаемый им т-й импульс.]
Те три органа, которые мы сконструировали в разд. 3.2 и 3.3, являются основными и имеют весьма общее значение. Теперь мы
разберем органы более специального характера, отвечающие специфическим потребностям, возникающим в процессе решения нашей первой основной задачи составного конструирования, которое нам предстоит осуществить. Этот факт также выражают и их названия, относящиеся к весьма специальным функциям.
Первый орган из этой серии — тройной возвратный счетчик. Он имеет два входа а, с и два выхода b. d; пара а, b называется первичной входной — выходной парой, а пара с, d — вторичной входной — выходной парой.
Для того чтобы описать работу этого органа, предположим, что его вторичный выход d и вторичный вход с связаны с входом с* и выходом d* какого-то другого органа. Этот другой орган является реагирующим органом; мы временно обозначим его буквой Q. Если тройной возвратный счетчик присоединен к Q таким образом, то у него свободна лишь первичная входная — выходная пара а, Ь. Тройной возвратный счетчик должен работать так:
В ответ на раздражение на входе а он дает реакцию на d и тем самым раздражает с*. Допустим, что Q после соответствующей задержки подает сигнал на d*, раздражая с. Это вызывает второй отклик на d и потому раздражение органа Q на входе с*. Предположим, что Q вторично реагирует после соответствующей задержки на d*, раздражая с. Это приводит к третьему отклику на d и раздражению органа Q на с*. Предположим, что Q после соответствующей задержки реагирует на d* в третий раз, раздражая с. Это вызывает отклик на b и окончание процесса.
Между исходным воздействием на а и конечным откликом на b нет жесткой временной связи, т. е. никакая конкретная задержка между ними не задана. Весь процесс от а до b проходит 3 фазы, т. е. 3 перехода от d через с* и d* (т. е. через Q) к с, причем задержки на этих переходах зависят, во всяком случае, от реагирующего органа Q, а не от органа, который нам предстоит сконструировать. Однако другие фазы всего процесса от а до b (т. е. фаза от а до d, дважды фаза от с до d и, наконец, фаза от с до Ь) зависят исключительно от органа, который мы сейчас будем строить. Именно к этим фазам и применимы соображения об отсутствии жесткой временной связи, т. е. заданных конкретных задержек (см., однако, замечания в конце раздела).
Тройной возвратный счетчик обозначается буквой Ф.
Схема этого органа разрабатывается на рис. 24. В оставшейся части раздела обсуждается процесс его конструирования.
Нам нужно, чтобы возбуждение могло проходить ровно 3 раза от с* к d* (т. е. через Q). Или, что сейчас более важно, нам нужно, чтобы последствия, возникающие (в Ф) в результате прихода импульса на с (от выхода d* органа Q) в первые 2 раза, были отличны от последствий, вызванных приходом импульса в третий раз. Отсюда
следует, что счетчик Ф должен обладать памятью, позволяющей отличить первые 2 случая от третьего, т. е. чтобы Ф мог считать, до трех.
При имеющихся в нашем распоряжении средствах это лучше- всего сделать с помощью 3 периодических импульсаторов РР (1)г каждый из которых включается (запускается) в начале соответствующего счетного периода и выключается (останавливается) в конце. В течение всего счетного периода РР (1) указывает на его наличие- благодаря (постоянному) присутствию своего выходного импульса. Этот импульс должен затем использоваться для обеспечения характеристических операций рассматриваемого счетного периода. Такими операциями являются следующие.
Первый счетный период: Импульс, приходящий на с. направляется к d, и после этого выключается периодический импуль- сатор РР (1) первого периода и включается периодический импуль- сатор второго периода.
Второй счетный период: Импульс, приходящий на с, направляется к d, и после этого выключается периодический им- пульсатор РР (1) второго периода и включается периодический им- пульсатор третьего периода.
Третий счетный период: Импульс, приходящий на с,. направляется к Ь, и после этого выключается периодический импуль- сатор РР (1) третьего периода.
Исходный импульс на а, разумеется, должен быть направлен на с и должен включить импульсатор РР (1) первого периода.
Следующий способ применения непрерывных импульсаций РР (1) для получения результатов, характеризующих соответствующий счетный период (см. выше), с помощью импульса на d, активирующего данный период, является очевидным. Используем конфлюент- ное состояние С как схему совпадений, подведя к нему пути, идущие от выхода импульсатора РР (1) и от с в качестве входов (одновременное возбуждение которых должна регистрировать эта схема). Затем используем это конфлюентное состояние С для того, чтобы дать начало перечисленным выше характеристическим реакциям. [См. клетки F14, F8 и F2 рис. 23. Фон Нейман предполагает, что импульс на d (т. е. на с*) возбуждает данный счетный период. Этот импульс будет проходить через Q и входить в Ф на с (т. е. на d*)A
Все эти схемы показаны на рис. 24а. Обратите внимание на то. что на этом рисунке входы и выход периодического импульсатора РР обозначены а + , а_ и b (вместо а^. а_ и 6, как на рис. 19g и 19h). Верхние и нижние края импульсатора защищены клетками U, чтобы предотвратить нежелательные стимуляции, идущие от С через эти
границы. Удобно не распространять такую защиту на нижний левый угол каждого импульсатора (чтобы оставить там место для передающего канала); из рис. 19h не видно, чтобы это было допустимо, но зато видно из рис. 19g. [См. также рис. 16b и 18k.]
На рис. 24а и 24b сделаны следующие упрощения. Прямая линия, образованная клетками О , обозначается одной стрелкой. Связные области состояний U отмечены косой штриховкой. Импульсаторы РР (1) показаны без соблюдения масштабов (их размеры 4 X 15. см. рис. 19g); таким образом, схема рис. 24а соответствующим образом сжата по вертикали и горизонтали.
Из рис. 24а не видно, как присоединяются передающие каналы вторичной входной — выходной пары с, d и первичного входа а к их собственным окончаниям с = d. d = с* и а соответственно. (На рисунке показаны с = d*, d = с*, положение а не показано, но следует представлять его себе размещенным где-то в нижнем левом углу.) На этом рисунке передающие каналы оканчиваются в сх или с', на d’ и на ах или а2 соответственно. Первичный выход b достигает своего настоящего конца. Нетрудно соединить d' и d, но одновременно соединить сх или с2 с с и а*х или а2 с а (без нарушения при этом соединений Ъ и d) трудно с точки зрения топологии. Ясно, что эти пути должны пересечься. Заметим, что расположение a, b, с. d, указанное на рисунке, не является непременным требованием (относительно а см. приведенное выше замечание), т. е. a, b, с, d можно было бы несколько переместить. Однако необходимо, чтобы а, b располагались с левого края схемы, а с, d — с правого (см. дальше [рис. 39]). Это как раз и приводит к упомянутой топологической трудности, т. е. к необходимости пересечения путей. Поэтому можно с равным успехом оставить a, b. с, d в том положении, в котором они показаны на рисунке. Мы должны разрешить задачу пересечения канала, идущего от сх или d к с, с каналом, идущим от ах или сц к а, без вызываемого интерференцией искажения информации, т. е. чтобы информация, предназначенная для одного из каналов, не проникала в другой и не нарушала таким образом работу схемы.
Эта проблема пересечения линий (составляющая особенность в двумерном случае; см. гл. I, а также дальше) в дальнейшем будет решена в общем виде с помощью органа, специально созданного для этой цели [разд. 3.6]. Настоящий вариант этой проблемы довольно прост и поэтому не стоит обращаться к общей процедуре, а лучше разрешить ее ad hoc х).
Основное упрощение здесь заключается в том, что хотя и нужно предупредить попадание сигналов из канала, идущего от с к сх или €', в канал, идущий от а к ах или а21 в обратном направлении это де-
лать не обязательно. В самом деле, взаимные помехи первого типа привели бы к тому, что между реагирующим органом Q и тройным возвратным счетчиком Ф непрерывно происходил бы обмен импульсом, что вызвало бы полное нарушение работы устройства. Взаимные помехи второго типа приводят просто к попаданию начального импульса (от а) в канал с' — с', благодаря чему на каждое из трех состояний С, реагирующих на совпадения, будет подан импульс (эти 3 состояния С расположены с левого края рисунка на 2 ячейки правее канала сх — с^.
Изучение задержек (см. ниже) покажет, что в этот момент ни один из импульсаторов РР (1) еще не включен и, следовательно, ни одна из рассматриваемых клеток не получит другого импульса, необходимого для совпадения. Поэтому неверно направленные «-импульсы этого класса безвредны.
Таким образом, нам остается предупредить попадание с-импуль- сов в канал ах — «^ Этого можно добиться тем же самым приемом кодирования — декодирования, который впоследствии мы применим для решения общей задачи, о которой говорилось выше [см. разд. 3.6]. Иными словами, мы используем импульсатор, который заменит «-импульс некоторой (кодовой) последовательностью импульсов, а защита канала ах — «' будет обеспечена тем, что перед ним будет размещен декодер, реагирующий только на эту последовательность импульсов и не реагирующий на одиночный импульс. При этом «-импульс в его расширенной (кодированной) форме будет попадать в канал «' — «2, а с-импульс, оставаясь одиночным, не сможет попасть в «' — «'. Кроме того, здесь нет смысла обращаться к тем конструкциям импульсаторов и декодеров, которыми мы занимались раньше, а проще специально изготовить примитивные органы.
Кодирование «-импульса состоит в замене его двумя импульсами, не идущими непосредственно друг за другом. Иными словами, нужно взять 101, а не 11. Тогда операции кодирования и декодирования будут очень просты. Соответствующие схемы приведены на рис. 24b. (Обратите внимание на то, что по сравнению со схемой рис. 24а у схемы рис. 24b надстроена нижняя часть. Сравнивая эти 2 рисунка, можно увидеть их общие элементы и понять, каким образом эти рисунки можно наложить друг на друга.) Входом « может служить ал или «2. При этом возбуждается самая левая клетка С, посылающая импульсы к соседней справа клетке О по двум путям с разностной задержкой 2. Таким образом, если возбуждение пришло от «! — «2, то туда поступает последовательность 101. Заметим, что на эту же клетку О воздействует клетка |О, расположенная прямо под ней и представляющая канал, идущий от с. Через этот канал будет поступать лишь одиночная последовательность 1. Итак, кодирование («л — «2)-импульса (при отсутствии кодирования
с-импульса) будет происходить уже на этой клетке О (лежащей непосредственно справа от самой левой клетки С). Она возбуждает вторую клетку С. Отсюда это возбуждение (кодированное или нет) проходит беспрепятственно к с2. С другой стороны, два пути с разностной задержкой 2 идут от этой (второй слева) клетки С к следующей (третьей слева) клетке С, работающей теперь как схема совпадений. Это значит, что эта последняя клетка С будет реагировать только в том случае, если предыдущая клетка С получила 2 импульса с компенсирующей задержкой 2, т. е. последовательность 101. Другими словами, только импульс, пришедший от aY — а2 (а не от с), может вызвать (таким косвенным путем) возбуждение нашей последней клетки С. Эта клетка С совпадает с клеткой С, расположенной в нижнем левом углу рис. 24а, т. е. с клеткой С, соседней с входами а' — a^. Таким образом, нужная передача от aY — а2 (при отсутствии передачи от с) к а' — а2 достигнута.
Заметим, что мы использовали и av и а2 (клетке С требовалось 2 входа; см. выше), а в качестве а можно взять или а4, или а2. Мы взяли aYl так как нужно, чтобы вход а был слева. Из сх и с2 мы выбрали с2, так что рассматривать с\ больше нет необходимости. При сопоставлении рис. 24а и 24b видно, что к левому краю надо сделать еще одно добавление. Действительно, левый край надо спрямить и защитить его клетки С (которые могли бы вызвать нежелательные возбуждения в смежных передающих состояниях) полосой из состояний U. Эта полоса будет содержать необходимые каналы, ведущие от нового места расположения а к старому и от нового места расположения b к старому. Она изображена на рис. 24с, причем ее положение по отношению к рис. 24b показано там пунктирной линией. Наконец, заполним полоску вдоль правого верхнего угла рис. 24а, отмеченную пунктирной линией, состояниями U, чтобы придать схеме прямоугольную форму.
На этом конструирование заканчивается. Области, занимаемые
периодическими импульсаторами РР (1) на рис. 24а, имеют ширину 15 и высоту 4 в соответствии с рис. 19g. Поэтому схема рис. 24а заполняет прямоугольник шириной 21 и высотой 26. Это приводит к тому, что (прямоугольная) площадь, занимаемая всей схемой (рис. 24а —24с), имеет размеры 24 X 26. Схема в сокращенном виде представлена на рис. 24d. Масштаб на рис. 24с и 24d меньше, чем на рис. 24а и 24b.
Задержка от а до aY равна, очевидно, 1 (см. рис. 24с). Задержка от aY (через 3 клетки С с учетом того, что из-за использованной кодирующей — декодирующей процедуры кратчайший путь между двумя первыми клетками С должен комбинироваться с самым длинным путем между двумя последними клетками С или наоборот, причем в обоих случаях возникает одна и та же задержка) до 4+ равна 11
(см. рис. 24b). Такова же задержка и до выхода из клетки |о, расположенной сразу же справа от последней клетки С, т. е. до входа в прямой канал, ведущий к d. Задержка вдоль этого канала до d (с учетом истинной длины импульсатора РР (1), которая, согласно рис. 19g, равна 15) составляет 18 единиц. Задержка от а+ через РР (Т) к b составляет 18 единиц (см. конец разд. 3.2.1). Задержка от b до первой схемы совпадения на С (2 ячейки вправо от С со входами сх — с2 на рис. 24а; следует опять вспомнить, что истинная длина импульсатора РР (1) равна 15 и истинное расстояние от его верхней части до b равно 2, см. рис. 19g) составляет 22 единицы. Таким образом, общая задержка от а до первого возбуждения органа Q на d = с* равна 1 + 11 + 18 = 30. Кроме того, общая задержка от а до момента, когда первая схема совпадения на С станет проходимой для импульсов, идущих от cv — с^ (потому что она возбуждается от первого импульсатора РР (1); см. рис. 24а), равна 1 + 11 + + 18 + 22 = 52.
Заметьте, что задержка импульса от а^ приходящего со второй слева клетки С в канал с' — с^ составляет (в зависимости от того, по какому из двух допустимых путей между двумя первыми клетками С он идет, см. рис. 24b) 5 или 7 единиц (до момента появления на верхней стороне второй клетки С). Задержка отсюда до с' составляет 5 единиц (так как истинная высота импульсатора РР (1) равна 4, см. рис. 19g), а отсюда до первой схемы совпадения на С (см. рис. 24а) составляет 3 единицы. Поэтому общая задержка от а до первой схемы совпадения на С вдоль этого нарушающего логику работы устройства канала равна 1 + 5 + 5 + 3 = 14 или 14-7 + 5 + 3 = 16. Эта задержка возрастает на 9 для второй •схемы совпадения на С и еще на 8 для третьей. Следовательно, максимальная задержка до этих клеток С равна 16 + 9 = 25 и 25 + 8 = = 33, т. е. в целом не больше 33. Далее, мы видели, что даже первая схема совпадения на С становится проходимой для возбуждений от канала сх — с2 с задержкой в 52 после возбуждения на а. (Для других схем совпадения на С эта задержка, конечно, еще больше.) Таким образом, это нарушающее работу возбуждение приходит слишком рано для того, чтобы привести к неприятностям; это подтверждает наше прежнее утверждение на эту тему.
[Далее фон Нейман рассматривает i-й отклик органа Q на выходе с = d* для I = 1, 2, 3. Он вычисляет задержки на Ф для каждого отклика и проверяет правильность внутренних временных соотношений. Критическую точку, связанную с временными соотношениями. лучше всего объяснить с помощью рис. 23. Рассмотрим импульс, представляющий собой первый отклик органа Q; пусть t — момент, когда он приходит на клетку D14. В момент t схема совпадений F14
открыта, а схемы совпадений F8 и F2 закрыты. Этот импульс пройдет через схему совпадений F14 и пойдет на вход а^ (в момент t + 9), чтобы запустить второй периодический импульсатор, который в свою очередь откроет схему совпадений F8. Откроется ли схема совпадений F8 в этот момент, пропуская первоначальный импульс, который запустит третий периодический импульсатор, вызвав тем самым нарушение работы? Вычисление задержек вдоль двух путей, ведущих к клетке F8. показывает, что этого не случится: первоначальный импульс приходит в F8 слева в момент t + 12, а открывающий импульс приходит в F8 справа в момент t + 49. Аналогичное вычисление показывает, что на схеме совпадений F2 тоже не возникает неприятностей.]
На этом мы закончим обсуждение задержек внутри Ф и доказательство логической согласованности работы схемы. Перечислим еще раз те задержки в Ф, которые важны с точки зрения использования устройства: задержка от возбуждения на а до первого возбуждения органа Q, равная 30; задержка от первого отклика органа Q до его второго возбуждения, равная 66; от второго отклика органа Q до его третьего возбуждения, равная 83; от третьего отклика органа Q до выходного импульса на b (рис. 24d), равная 59.
Пусть задержка от Z-ro возбуждения органа Q до его Z-ro отклика равна Wt (i = 1, 2, 3). (Это свойство органа Q, а не Ф!) Тогда общая задержка от а через Ф (и 3 раза через Q!) до b равна 30 + ^ + 66 + 4- и?2 4™ 83 4~ w^ 4" 59 = 238 4~ ^i 4“ ^2 4- ^з*
ДИСКРИМИНАТОР ДЛЯ РАЗЛИЧЕНИЯ
ПОСЛЕДОВАТЕЛЬНОСТЕЙ Г И 10101:
СТРУКТУРА, РАЗМЕРЫ И ВРЕМЕННЫЕ СООТНОШЕНИЯ
Следующий орган в этой серии — дискриминатор для различения последовательностей 1 и 10101. Этот орган имеет вход а и два выхода b и с. Он выполняет функцию, которую мы умышленно не постулировали для декодера (см. начало разд. 3.3): он различает две последовательности, одна из которых составляет часть другой. Точнее, появление одиночного импульса на а вызывает реакцию на b при условии, что этому импульсу предшествовала достаточно длинная последовательность, не содержащая импульсов. Появление на а последовательности 10101 вызывает реакцию на с (но не на Ь, т. е. эта последовательность парализует действие содержащегося в ней одиночного импульса, см. выше)...
Между воздействием последовательностей 1 (или лучше 0. ..01, см. выше) и 10101 на а и откликом на Ъ и с нет жесткой временной связи, т. е. величина задержки между ними пока не задана...
Дискриминатор для различения последовательностей 1 и 10101 будем обозначать буквой Т.
[Далее фон Нейман разрабатывает схему дискриминатора Т. Мы заменим конструкцию фон Неймана более простой, а потом объясним, почему мы это сделали.
Дискриминатор Т используется при считывании произвольной ячейки хк бесконечного линейного массива L (рис. 37). Нуль представляется в хп невозбудимым состоянием U, а единица — покоящимся, но возбудимым состоянием ТОзо, которое является обычным передающим состоянием с направлением вниз. При считывании ячейки хк на вход их соединительной петли Ci посылается последовательность 10101 и отмечается, появляется ли на выходе w^ петли С4 последовательность 1 или 10101. Последовательность 10101 проходит по верхней половине петли Ct и входит в ячейку хп. Если хн находится в состоянии U, то последовательность 1010 переводит хп в состояние Т030, а оставшаяся 1 проходит через хп и движется вниз по нижней половине петли Ci к выходу wv Если хп уже находится в состоянии Т030, то вся последовательность 10101 проходит по Q и выходит через wv Поэтому 1 на wY соответствует нулю в хП1 а 10101 на wx соответствует единице в хп. Дискриминатор ¥ различает эти 2 случая.
Разрабатывая схему дискриминатора, фон Нейман еще не знал, какие другие последовательности можно на него подать. Так как этот дискриминатор применяется только в узле считывания — записи — стирания G3C (рис. 37 и 39), то других случаев не возникает. Учитывая это и улучшая конструкцию фон Неймана в некоторых других отношениях, мы упростили и схему, и ее обсуждение. Поэтому мы и заменили дискриминатор фон Неймана схемой рис. 25.
В качестве правила использования дискриминатора V возьмем следующее правило: нормальное состояние этого органа — состояние покоя, но в зависимости от ситуации на вход а поступает либо последовательность 10000, либо последовательность 10101, начинающаяся в момент t, и если одна из этих последовательностей уже появилась на входе а. то до тех пор пока Т не придет снова в состояние покоя, никаких других импульсов на входе а больше не будет.
Рассмотрим каждый из этих двух случаев. В первом случае на вход а в момент t поступает 1, проходит вдоль пути, указываемого длинной стрелкой, и выходит с выхода b в момент t + 40. Эта 1 поступает также на декодер D (10101), но там она теряется.
Во втором случае на вход а в интервале от t до t + 4 поступает последовательность 10101, и это приводит к двум непосредственным эффектам. Во-первых, последовательность 10101 декодируется деко-
дером 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, то она разрушается и на выходе b импульсов не будет. Импульс от Ь1 в момент t + 21 выйдет с выхода с в момент t + 25.
Объединяя оба случая вместе, мы получаем следующее описание работы дискриминатора ¥ (рис. 25): если на вход а в интервале времени от t до t + 4 поступает последовательность 10000, то с выхода b в момент t + 40 испускается импульс, а на выходе с ничего нет; если же на вход а в интервале времени от t до t + 4 поступает последовательность 10101, то в момент t + 25 с выхода с испускается импульс, а на выходе b ничего нет. Таким образом, дискриминатор ¥ производит нужное различение.
Теперь подведем итоги полученным результатам, касающимся характеристик дискриминатора Y рис. 25 и схемы фон Неймана (величины, характеризующие конструкцию фон Неймана, возьмем в скобки). Дискриминатор ¥ имеет ширину 10 (22), высоту 14 (20); выход а расположен в 8 (1) клетке снизу, выход b расположен в 0(6) клетке снизу, а выход с — в 13(18) клетке снизу. Задержка от входа а до выхода b равна 40 (86), задержка от входа а до выхода с равна 25 (49). Можно было бы сделать дискриминатор Т намного меньших размеров, чем схема рис. 25, но эта схема сделана в духе конструкции фон Неймана и для нашей цели годится.
Различение двух последовательностей 1 и 10101 представляет собой частный случай различения двоичных последовательностей. Другой пример этой общей задачи дает кодированный канал, рассматриваемый в следующем разделе. Фон Нейман решает там задачу, используя для этого множество последовательностей, ни одна из которых не является частью никакой другой (даже если их сдвигать во времени относительно друг друга). Например, такое множество образуют последовательности 1011, 1101, 1110. Для полноты отметим, что общую задачу различения двоичных последовательностей можно было бы решить с помощью узла, который «опознает» лишь одну данную последовательность и больше никакой. Пример распознавателя приведен на рис. 26.
Распознаватель R (101001) рис. 26 работает так. Предположим, что в (относительные) моменты времени от 0 до 5 на вход а поступает последовательность ъЧНЧЧЧ6 и ей предшествует и за ней следует несколько нулей. В этих условиях распознаватель R (101001) в момент времени 48 испустит на выходе b импульс тогда и только тогда, когда входной последовательностью будет 101001 (т. е. t1 = i3 = t6 = 1, t2 = t4 = t5 = 0). Объясним, как распознаватель решает эту задачу. К концу этого объяснения станет ясен общий принцип (алгоритм) конструирования произвольного распознавателя R (гЧ2 . . . tn).
Имеем следующие условия:
Декодер D (101001) вырабатывает импульс на выходе Ь1 в момент времени 23 тогда и только тогда, когда Z1 = Z3 = t6 = 1.
Импульсатор Р (1101) дает импульс на выходе № в момент 23
(A)(A)тогда и только тогда, когда i2 = 1, или i4 = 1, или t5 = 1. Нужно рассмотреть 3 случая.
(A)
(A)
(В)(В)(С)(С)Входная последовательность есть 101001, т. е. Z1 = i3 = i6 = 1, i2 = t4 = t5 = 0. Тогда от Ь2 и Ь3 никаких сигналов не поступает и импульс с выхода Ь1 в момент 48 появляется на выходе Ь. I1 = i3 = t6 = 1 и выполняется по крайней мере одно из равенств i2 = 1, i4 = 1, t5 = 1. В момент времени 23 импульсы испускаются как с выхода Ь1, так и с выхода 62. Эти импульсы входят в конфлюентное состояние 15 в момент 29, вызывая поступление импульса на вход а3 в момент времени 31. Импульсатор Р (11111) вырабатывает последовательность 11111, которая приходит в клетку Т1 в интервале времени от 47 до 51 включительно. Импульс от Ь1, появляющийся в момент 23, движется зигзагами вдоль рядов 1 и 2, входя в клетку Т1 в момент 46, и пропадает в результате убивающего воздействия последовательности 11111 в клетке Т1. Поэтому никаких сигналов не появится. Выполняется хотя бы одно из равенств г1 — 0, t3 = 0, i6 = 0. На выходе Ь1 не появится никаких импульсов, поэтому их не будет и на Ь. Если какой-нибудь импульс будет выработан на выходе Ь2, то он будет блокирован на конфлюентном состоянии 15.
(В)
(В)
(С)
(С)
На этом обсуждение распознавателя R (101001) заканчивается.]
КОДИРОВАННЫЙ КАНАЛ
Структура, размеры и временные соотношения для кодированного канала. [В трехмерном пространстве провода могут скрещиваться без пересечения, т. е. без какого-либо контакта и передачи
информации из одного в другой. В двумерном пространстве коммуникационные каналы должны обязательно пересечься с топологической точки зрения, поэтому возникает задача организовать передачу информации по каналу так, чтобы она не проникала в пересекающиеся каналы. Эту проблему можно было бы разрешить, вводя элементарные органы для пересечения проводов. Для этих элементарных органов потребовались бы дополнительные состояния, а кроме того, были бы нужны добавочные чувствительные состояния для прямого (конструирующего) процесса. Фон Нейман разрешил эту проблему в клеточной системе с помощью «кодированного канала».
На рис. 27 приведен пример кодированного канала, сконструированного в соответствии с алгоритмом фон Неймана 1). Этот орган имеет входы atl а2, а3 и выходы btl b2l b3; каждый вход аг ассоциирован с соответствующим выходом (или выходами) bt. Так, импульс на входе а2 в конце концов появится на обоих выходах Ъ2 (не одновременно) и больше нигде. Кодированный канал состоит из 7 импульса- торов, 7 декодирующих органов (все показаны в уменьшенном масштабе) и «главного канала», идущего от выхода импульсатора Р (10011) ко входу декодера D (11001).
Кодирование осуществляется с помощью 6 последовательностей, ни одна из которых не является частью никакой другой. Последовательности 11100, 11010, 11001, 10110, 10101, 10011 связаны с а2, ^з, ^п Ь2, Ь3 соответственно. Их роль лучше всего объяснить на примере. Допустим, что возбужден вход а2. Тогда импульсатор Р (11010) пошлет в главный канал свою характеристику 11010. Эта последовательность пройдет весь главный канал до конца, но (поскольку она отличается от всех остальных последовательностей) воздействует лишь на декодер D (11010). Этот декодер пошлет импульс в импульсатор Р (10101), который отправит свою характеристику 10101 в главный канал. Последовательность 10101 пройдет до конца главного канала, но (поскольку она отличается от всех остальных последовательностей) воздействует лишь на 2 декодера D (10101), каждый из которых выработает импульс на своих выходах Ъ2.
Входы и выходы кодированного канала могут располагаться в любом порядке, поскольку с каждой входной — выходной парой связаны две последовательности. Переход от одной последовательности к парной ей происходит в верхней части схемы рис. 27.
*) В более поздних работах реализация многих органов, сконструированных Дж. фон Нейманом, была существенно упрощена. Так, например, организация пересечения двух каналов без взаимодействия была выполнена Дж. Е. Горманом на конфигурации 8x8 (рис. 42) и Честером Ли на конфигурации 7x7.— Прим. ред.
Входные сигналы, подающиеся в кодированный канал, должны отстоять достаточно далеко друг от друга по времени, чтобы избежать искажений и взаимных помех. Предположим, что возбуждаются входы at и a2l так что отвечающие им выходные последовательности 11100 и 11010 поступают в главный канал сразу же друг за другом. Объединенная последовательность 1110011010 содержит последовательность 11001, отвечающую входу а3. Поэтому она вызовет срабатывание декодера D (11001) и в конце концов приведет к появлению сигнала на выходе 63.]
Наша третья конструкция в этой серии — кодированный канал. До сих пор мы давали точное и исчерпывающее описание каждого органа, который мы обсуждали. Сейчас лучше не придерживаться этого принципа, т. е. намного проще (и удобнее для наших целей) вести рассмотрение несколько более эвристическим образом. Поэтому мы подробнее остановимся на том, какую именно проблему мы должны решить и какими средствами это можно сделать. Затем разберем существенные частные случаи, а когда дойдем до приложений, тот конкретный орган, который нам нужен, окажется построенным без заметных усилий.
Кодированный канал предназначен для того, чтобы выполнять функцию, компенсирующую определенные недостатки, присущие двумерному пространству. В логических схемах часто встречается необходимость обеспечить такое пересечение линий, которое невозможно выполнить в двумерном пространстве. Например, если дано 5 точек a, b, с, d, ей каждую из них нужно соединить с каждой из остальных, то в двумерном пространстве этого нельзя сделать без пересечений (см. рис. 28а). На рис. 28а нет линии, соединяющей с и в; ее нельзя провести без пересечений с другими линиями. Реальный пример, в котором осуществление соединений потребовало пересечений, встретился нам при конструировании тройного возвратного счетчика (см. разд. 3.4), т. е. при получении схемы рис. 24b из схемы рис. 24а.
Следует отметить, что в трехмерном пространстве такой трудности не возникает. Но так как все другие этапы нашего конструирования можно осуществить в двумерном пространстве точно так же, как и в трехмерном, то целесообразнее придерживаться первой, меньшей размерности, если это, конечно, возможно. Поэтому мы будем считать, что перед нами стоит эта весьма трудная задача (пересечение линий в двумерном пространстве) и необходимо создать конструкции, предназначенные специально для ее решения.
Очевидно, что легко построить орган, выполняющий элементарный акт пересечения линий, как схематически показано на рис. 28b. Более подробно такой орган представлен на рис. 28d. Он имеет 2 входа as b и 2 выхода с, d. Нам нужно, чтобы возбуждение входа а вызыва-
ло отклик (с некоторой задержкой) на выходе d, а возбуждение на входе b вызывало отклик (снова с некоторой, но, возможно, другой задержкой) на выходе с. Отметим, что такая цикличность в расположении входов — выходов a, b, с, d весьма существенна: если они расположены, как показано на рис. 28е или 28с, то очевидно, что никаких трудностей вообще не возникнет.
Но лучше сразу же настроиться на нечто большее, чем это. Действительно, если бы мы сконструировали органы, показанные на рис. 28d, способные реализовать лишь одиночное пересечение линий, то в последующих конструкциях мы должны были бы комбинировать много таких органов. Это привело бы к нелепым геометрическим конфигурациям и усложнило работу, связанную с общим синтезом. Поэтому лучше сразу создать орган кратного пересечения линий.
Орган, способный осуществить пересечение нескольких линий и пригодный для решения универсальной задачи, представляет собой прямоугольную площадку А (см. рис. 28f), по краям которой расположены различные входы и выходы. На рис. 28f (и на рис. 28g — 28k) они отмечены черточками. Входы обозначаются сц (v = 1, . . . . . ., п), а выходы обозначаются b^ (v = 1, . . ., п). Может быть несколько входов а^ с одним и тем же значением v, и может быть несколько выходов Ь^ с одним и тем же значением v. Порядок расположения входов сц и выходов Ъ^ по краю площадки А может быть произвольным. Было бы желательно, чтобы в ответ на возбуждение входа сц (т. е. любого из возможных входов сц с данным значением v) все выходы bv (с одним и тем же значением v) реагировали бы с соответствующими (не обязательно равными) задержками.
Однако для тех целей, для которых предназначено это устройство, достаточно удовлетворить более слабому условию, которое, как будет видно ниже, легче осуществить. Это ослабленное условие таково. Мы определяем некоторый циклический порядок расположения входов и выходов по краю площадки А (он показан стрелками на рис. 28g). Затем это циклическое расположение нарушаем: преобразуем его в линейное, разрывая в точке р. Иными словами, теперь они начинаются в точке р, обходят край площадки А в направлении, указанном стрелками, и оканчиваются в точке р. Теперь мы требуем, чтобы возбуждение входа сц вызывало отклики только на тех выходах Ь^ (с тем же значением v), которые лежат перед этим входом. Наконец, мы делаем разрез в точке р, т. е. заменяем замкнутую границу площадки А открытой границей. Эта открытая граница может быть прямой линией или ломаной (см. рис. 28h — 28k). В любом случае входы и выходы остаются прикрепленными к ней, как и прежде, но можно также изменить (инвертировать) ту сторону границы, к которой они подходят. (Относительно последнего см. рис. 28k.) На рис. 28h — 28k порядок (прежде циклический, а теперь линей-
ный) также указывается стрелками (как на рис. 28g) и точка р заменена на pv (начало) и р2 (конец).
Очевидно, что осуществить описанный только что принцип работы можно с помощью кодирования и декодирования. Для этого отнесем каждому значению v = 1, . . ., п последовательность импульсов и пауз П . . . I™ (можно было бы добиться, чтобы длина т этой последовательности зависела от v, но это не обязательно). Затем присоединим к каждому входу а^ кодирующий орган Р (^ . . . ^) и к каждому выходу Ь^ декодирующий орган D (^ . . . ^)- Все эти входы и выходы соединим линией, образованной (обычными) передающими состояниями О, |0, О-» |0, причем каждый раз стрелка ориентирована в соответствующем направлении, а именно вдоль пути, указанном на любом из рис. 28Ь — 28k, который используется для описания этой процедуры. Точнее, из этих передающих состояний должны быть составлены соединительные линии (для всей системы входов а^ и выходов Ь^. Это также относится к участкам, где присоединяются входы а^. Но там, где присоединяются выходы bv, импульсы должны иметь возможность распространяться в двух направлениях (вдоль последующих передающих состояний и к выходу, связанному с рассматриваемой точкой). Поэтому в каждом таком участке требуется конфлюентное состояние С. Эту цепочку (обычных) передающих состояний и конфлюентных состояний мы будем называть главным каналом органа.
На рис. 29 (который можно считать детализацией рис. 281) это показано более подробно. На этом рисунке приведено частное, но типичное распределение входов а^ и выходов bv (v = 1, . . ., п) при п = 2. Заметим, что на рис. 29 вход кодирующего органа Р (^ . . . i™) отделен одной клеткой от истинного входа а^ и обозначен а^ а выход из Р (^ • • • ^) обозначен bV Аналогично выход декодирующего органа D (^ . . . г^ отделен одной клеткой от истинного выхода Ъ^ и обозначен Ъ^, а вход в D (Ц . . . iv) обозначен а^ Далее, каждый из органов Р (^ • • • 1^ и D (^ • • • ^v) может быть повернут на любой из четырех углов 0°, 90°, 180°, 270° и, если это нужно, отражен относительно вертикали или горизонтали по сравнению со своим расположением на рис. 16g и 22с. Ясно, что это потребует лишь тривиальные преобразования схем рис. 16 и 22.
Теперь нам надо выбрать последовательности 1у . . . 1™ (v = = 1, . . ., п). Каждый выход Ь^ т. е. каждый декодирующий орган D (^, . . . iv), должен реагировать только на последовательность Hl . . . i^, где р, = v. В свете свойств органа D (i1 . . . im) (см. начало разд. 3.3) это означает, что ни одна последовательность f^ . . . t™
при р, =# v не должна содержать ^ . . . ^- Чтобы избежать «неверного трактования» из-за неправильного отсчета времени, это требование следует также распространить на случай, когда последовательности ip . . . ip и ^ • • • i™ сдвинуты по отношению друг к другу (причем перед и после каждой из них идет достаточно много нулей).
Это будет заведомо соблюдаться, если все i^ . . . i™s v = 1, . . ., п, попарно различны, все начинаются с импульса и содержат одинаковое количество импульсов (к). Поэтому мы будем считать, что эти условия выполнены.
Итак, наша задача — найти п попарно различных последовательностей 1% . . . i™ (можно не рассматривать i^ так как всегда i^ = 1) при v = 1, . . ., п, каждая из которых имеет длину т — 1 и содержит ровно к — 1 единиц. Ясно, что всего таких последовательностей
(
т —1\ к—Л) ’
и указанный выбор возможен тогда и только тогда, когда
(
т — ХХ
Таким образом, нам остается лишь выбрать числа т и к, удовлетворяющие условию (12'). Было бы неразумно взять такое к, что к — 1 тоже удовлетворяет условию (12') (при том же т\ Итак,
(т —1\(т— 1\
V/с-2/ ’
откуда к — 1 •< т — к + 1, или 2к <2 т + 2, и, таким образом,. 2к т + 1, т. е.
(13'>
Практически удобно взять к = (т + 1)/2 или к = т12.
Из этого обсуждения становится ясно, как осуществить конструирование кодированного канала в каждом конкретном случае. Мы будем пользоваться упрощенными схемами рис. 28h — 28k са стрелками, но не обязательно указывая буквы р1у р2 и помечая каждый вход или выход клетки буквами а^ или Ь^. Необходимо рассмотреть еще несколько вопросов, касающихся деталей.
Все органы Р (^ . . . i™) и D (Д . . Л^ рис. 29 имеют одно и та же значение к (см. разд. 3.2.1 и 3.3) и, следовательно, одну и ту же
длину (см. рис. 16g и 22с). Как видно из рис. 29, Р (iv . . . t™) и D (4 • • • ^) расположены (ориентированы) так, что всегда именно эта длина определяет ширину занимаемой ими полоски вдоль главного канала. Поэтому ее ширина всегда равна 2&. Добавляя к ней 1 для главного канала и 2 для защитных полосок, образованных состояниями U, мы получаем, что вся ширина полоски вдоль главного канала, образующей кодированный канал, равна 2к + 3.
Высота органов Р (4 • • • tv) и D (^ . . . г^ равна и + 2, так что вместе с и может априори принимать различные значения (см. рис. 16g и 22с). Анализ определения значения и для Р (^ . . . t™) по значению и0 (см. формулу (2') и замечание перед ней в разд. 3.2.1) показывает, что для всех Р (^ . . . tv) можно взять одно и то же значение и (как максимум всех u?Y Обозначим через и* общее значение и для всех Р (4 . . • i^Y Анализ определения значения и для D (^ . . . ^) по значению и0 (см. формулу (1Г) и замечание перед ней в разд. 3.3) показывает, что для всех D (i^ . . . tv) можно взять одно и то же значение и (как максимум всех и'0); более того, нетрудно проверить, что все и'0 автоматически равны. Обозначим через и" общее значение и для всех D (^ • • • V^Y
Как видно из рис. 29, Р (4 • • • tv) и D (^ • • . t™) расположены (ориентированы) так, что всегда именно эти высоты определяют расстояния между этими органами вдоль главного канала. Но величины, которые при этом получаются, дают лишь нижние границы для указанных расстояний: если нужно увеличить расстояние между двумя соседними органами, достаточно заменить одиночную разделяющую линию, образованную состояниями U (см. рис. 29), на соответствующее число таких линий.
Следующий вопрос относится к задержкам. Задержку от момента возбуждения данного входа сц до момента отклика на конкретном выходе Ь^ легко вычислить с помощью рис. 29. [Общая] задержка импульса, идущего от а^ через Р (t^ . . . t™) до b^ равна d' = 2к + + и' + 2 (см. конец разд. 3.2.1); задержка от а^ через D (t^ • • • tv) До Ъ" равна d,r = Зк + и" + т (см. конец разд. 3.3). Пусть А обозначает расстояние вдоль главного канала от клетки Q (или |0, или 0_, или ^о), где сц присоединяется к той же клетке С, к которой присоединяется Ь^ (при подсчете клеток для определения расстояния каждая клетка С считается дважды, конечная клетка С учитывается, а начальная клетка О (или |0» или 2Ь или to) исключается). Тогда общая задержка от момента возбуждения входа сц до отклика на Ь^ равна l + d'+2 + A + l + d" + l = A + + df + d" + 5.
Мы должны рассмотреть также вопрос об искажениях, вызванных интерференцией, который принимает здесь следующую форму.
Ясно, что возбуждение на av вызовет отклик на каждом выходе 6V (лежащем перед ним, если смотреть по направлению стрелок вдоль главного канала). Возбуждение на сц не вызовет реакции ни на одном из выходов Ь^ при р, у= v, если не будет других возбуждений (на входах aXl где может оказаться как X = v, так и X v). Вопрос таков: могут ли возбуждения нескольких выходов сц (с повторяющимися или различными значениями v) вызвать реакцию на каком-нибудь выходе Ьц, где ни одно из этих возбуждений само по себе реакции не вызывало? Или, точнее: каким правилам должны подчиняться возбуждения на av, чтобы такие реакции были предотвращены?
Эти правила будут определять минимальные допустимые задержки между возбуждением входа а^ и одновременным или последующим возбуждением любого другого входа ах. (При этом рассматривается как X = v, так и X ^= v, причем при X = v и последовательном возбуждении два возбуждаемых входа а^ не обязательно совпадают.)
Итак, рассмотрим какой-то выход Ь^. На нем может быть отклик, если соответствующий декодер D (^ . . . t^) получает на своем входе йц последовательность импульсов и пауз, содержащую ^ . . . t^. Каждый вход а^ может создать последовательность ^ .. . г™. Мы должны позаботиться о том, чтобы наложение нескольких сдвинутых по отношению друг к другу отрезков таких последовательностей не дало ^ . . . i ц при условии, что каждая из них в отдельности такой последовательности не образует.
Это может случиться только в том случае, когда две сдвинутые последовательности iy . . . i™ (различного происхождения) дают вместе (но не в отдельности!) не менее к импульсов в одной и той же последовательности у1 . . . ]т. Пусть последовательность у1 . . . ут содержит подпоследовательности длин т/, т" соответственно, общие с этими двумя последовательностями 4 . . . ^- Тогда т\ т" ^ 1, т + т" ^ к. Расстояние 6 между началами этих двух сдвинутых последовательностей 1^ . . . i™ либо не более | т— т"| (если они оба расположены в одном конце последовательности у1 . . . ]mY либо не более 2т — т — т” (если они расположены в разных концах последовательности у1 . . . ут). Первое число не превосходит к — 1, второе не превосходит 2m — к. и так как из (12') следует к ^ т. то к — 1 ^ 2т — к, так что во всяком случае 6 2т — к. Поэтому появление обсуждаемой последовательности исключается, если 6 > 2т — к, т. е. 6 ^ 2т + 1 —
Рассмотрим теперь такие два входа av, aXl что выход Ъ^ лежит перед ними (направление указывается стрелками вдоль главного канала). (Относительно соотношения между v, X и между av, ах см. выше.) Предположим для определенности, что вход ах лежит перед
а^. Обозначим расстояния от точек присоединения входов а^ ах к точке присоединения выхода Ь^ через А1, Ап соответственно, а между точками присоединения входов а^ и ах через А* = А1 — Ап (при подсчете клеток для определения расстояний каждая клетка С считается дважды, один из концов учитывается, а второй нет).
Пусть входы а^. ах возбуждаются в моменты t1, t11 соответственно. Тогда последовательности 11^ ... i^s 1х ••• ^х появляются на а^ в моменты ^ + 1 + d' + 2 + А1 + 1, tn + 1 + d' + 2 + ДП + 1 соответственно. Разность между этими моментами равна (t1 + А1) — — (£п + Л11) = (^ — £п) + А*, так что приведенное выше условие принимает вид | (^ — £п) + А* | ^ 2т + 1 — к. Это означает, что либо (^ — £п) + А* ^ 2т + 1 — &, т. е.
t1 > tn + (2т + 1 - к- \*\ (14') либо (t1 — £п) 4- А* < — (2т -{- 1 — к), т. е.
tu > t1 + (2т -4-1 - к + А*). (15')
Полезно рассмотреть несколько частных случаев.
Пусть И ^ £п, т. е. за возбуждением входа а^ (в момент t1) идет возбуждение клетки, расположенной впереди по направлению стрелок вдоль главного канала (т. е. ах в момент £п). Первый случай: А* <; 2т + 1 — к. В этом случае условие (14') нарушается, а из условия (15') следует, что задержка (от t1 до £п) должна быть не менее (2m + 1 — к) + А*. Второй случай: А* ^ 2т + 1 — к. Здесь из условия (14') следует, что задержка (от t1 к £п) должна быть не более А* — (2т + 1 — к), а из условия (15') — не менее (2т + 1 - к) + А*.
Пусть теперь t1 ^ £п, т. е. за возбуждением входа ах (в момент £п) идет возбуждение клетки, расположенной позади (т. е. а^ в момент И). Третий случай: А* < 2т + 1 — к. В этом случае из условия (14') следует, что задержка (от £п до ^) должна быть не менее (2т + 1 — к) — А*, а условие (15') нарушается. Четвертый случай: А* ^ 2т + 1 — к. Здесь условие (14') автоматически выполняется, а условие (15') нарушается.
Сформулируем правило, охватывающее все 4 случая. Соблюдение этого правила позволит исключить искажения, связанные с интерференцией.
Если был возбужден вход аР1 то возбуждение входа аа допустимо лишь с задержкой d (^0), удовлетворяющей следующим условиям.
Пусть расстояние между точками присоединения входов ар и аа равно А* (^0) (при подсчете клеток для определения расстояния каждая клетка С считается дважды, один из концов учитывается, а второй нет). 1. Вход аа расположен перед ар (направление ука-
зано стрелками вдоль главного канала). Тогда либо d ^ (2m + !—&)+ А*, либо (если А* ^ 2m + 1 — к) d<;A* — (2m + 1 — к). 2. Вход ао расположен позади ар. Тогда d ^ (2m + 1 —к)— А*, если А* < 2m + 1 — к.
В противном случае никаких ограничений нет. (16')
Цикличность в кодированном канале. Чтобы закончить обсуждение кодированного канала, вернемся к вопросу цикличности (разд. 3.6.1).
Причина, заставившая нас разорвать главный канал в точке р (рис. 28g), т. е. не продолжать его от р2 до р^ (рис. 28h — 28k, 29), ясна. Если бы такое соединение было, т. е. если бы главный канал представлял собой замкнутую петлю, то последовательность г^ ... tv (посланная в канал от входа а^ циркулировала бы в нем бесконечно долго, периодически возбуждая каждый выход Ь^. Но нам нужно, чтобы импульс на av возбуждал каждый выход Ь^ ровно один раз. Эту трудность можно обойти несколькими способами. Мы разберем один из них, который кажется нам особенно простым.
Рассмотрим рис. ЗОа. Он отличается от рис. 28g только тем, что на нем в точке р нет разрыва. Направление вдоль главного канала указано стрелками, но теперь канал следует считать циклическим. На рисунке изображены две точки рь р2, но они не означают разрывов или окончаний. Черточки на главном канале, около которых нет пояснений, обозначают сц и bv, как на рис. 28f—28k.
Преобразуем структуру, показанную на рис. ЗОа, следующим образом. К п индексам v=l, . . ., п добавим еще п индексов V = 1',..., п'. Можно было бы вместо них добавить индексы п + 1, . . ., 2лг, т. е. положить v'=v + ?t, но это не принципиально. Для нас важно лишь, чтобы п было заменено на 2п (например, в условии (12')).
Разорвем границу между точками р^ и р2 и присоединим продолжения q^pt и p2q2 к главному каналу в этих двух точках (рис. 30b). Входы av, расположенные вдоль исходного главного канала, т. е. PvP^ оставим без изменения, а каждый выход Ь^ заменим на bv Отразим это на рис. 30b, снабдив каждую черточку вдоль исходного главного канала звездочкой.
Поместим выходы Ь-^ . . ., bn (в указанном порядке) на внутренней стороне участка p2q2 (т. е. на стороне, обращенной к Piq^s а входы аг , . . ., ап* (в указанном порядке) — на внутренней стороне участка jo^i (обращенной к p2q^. Соединим каждый выход bv (v = 1, . . ., п) непосредственно с входом av Все эти построения проводятся на заштрихованной части рис. 30b, ограниченной пунктиром. Они подробно показаны на рис. 30с, на котором эта площадка представлена в увеличенном виде. Концы р^ qv и p2l q2 главного канала раздвинуты так, чтобы уместились выходы Ъь . . ., ЬК
и входы «р , . . ., ап*. Каждый символ av на рис. ЗОс означает, что в этом месте находится импульсатор Р (4 • • • V^Y а Ъ^ указывает на наличие декодера D (^ . . . i^Y Именно для них и создается это пространство (т. е. необходимое расстояние между рь q^ и р^ q2Y Поэтому выход Ь^ должен соединяться с входом aVl как на рис. 29: за выходом b; декодера D (^ . . . t™) следует (через одну ячейку) bv, а перед входом а^ импульсатора Р (4' • • • ^™) располагается (отделенный от него одной ячейкой) вход а^- Это соединение представлено на рис. ЗОс (стрелкой) в виде вертикального канала (состоящего, возможно, из (обычных) передающих состояний |о), но можно и непосредственно соединить bv с av. В самом деле, границу для D (^ . . . i^Y состоящую из одной клетки U между Ь^ и bVl можно отождествить с границей для Р (Д' . . . ivY состоящей из одной клетки U между av и а^ (см. аналогичные ситуации на рис. 29), и тогда Ь'^ совпадает с а^, а Ь^ совпадает с а^. .
Теперь по рис. 30b—ЗОс легко проанализировать работу этого органа. Возбуждение на входе av (которому на участке р^р^ рис. 30b соответствует одна из черточек, помеченных звездочкой) может привести лишь к возбуждению выхода Ь^. Существует лишь один выход bVl и он лежит перед av (в направлении стрелок вдоль главного канала), а именно на отрезке р^ (см. рис. ЗОс). Следовательно, этот выход будет возбужден, а от него импульс пойдет прямо (вдоль стрелки) к входу а^», расположенному на отрезке q^p^ (рис. ЗОс). Таким образом, будет возбужден вход сц^ который может возбудить лишь bv Все выходы Ь^ лежат перед av,, а именно на отрезке PiPs (на рис. 30b они располагаются среди черточек, отмеченных звездочками). В итоге импульс, пришедший на av (обязательно на черточку со звездочкой на рис. 30b), будет возбуждать все выходы Ь^ (расположенные среди черточек, отмеченных звездочкой на рис. 30b) независимо от их взаимного расположения на отрезке PiPz- Затем импульс пропадет, т. е. периодического повторения не будет, ибо главный канал рис. 30b открыт (от qY до q^Y т- е- он не циклический. Таким образом, на рис. 30а получили то, что хотели.
[На этом фон Нейман заканчивает обсуждение кодированного канала. Напомним, что обсуждение нециклического кодированного канала он закончил (разд. 3.6.1) правилом (16'), относящимся к искажениям, возникающим в случае, когда импульсы поступают в кодированный канал слишком часто. Естественно спросить, почему фон Нейман не сформулировал соответствующее правило для циклического кодированного канала рис. 30. Быть может, он не сделал этого потому, что ему удалось сконструировать орган управления для своего универсального самовоспроизводящегося автомата, используя нециклический кодированный канал, см. рис. 37.]
ГЛАВА 4КОНСТРУКЦИЯ ЛЕНТЫИ СИСТЕМЫУПРАВЛЕНИЯ ЕЮГЛАВА 4КОНСТРУКЦИЯ ЛЕНТЫИ СИСТЕМЫУПРАВЛЕНИЯ ЕЮ1. ВВЕДЕНИЕ. 4.1.1. Резюме. В настоящей главе фон Нейман показывает, каким образом в его бесконечную клеточную структуру могут быть встроены неограниченно удлиняемая лента и система управления ею.
ГЛАВА 4
КОНСТРУКЦИЯ ЛЕНТЫ
И СИСТЕМЫ
УПРАВЛЕНИЯ ЕЮ
ГЛАВА 4
КОНСТРУКЦИЯ ЛЕНТЫ
И СИСТЕМЫ
УПРАВЛЕНИЯ ЕЮ
Эта лента вместе с системой уп
равления ею состоит из следующих узлов.
Линейный массив L, предназначенный для хранения информации: О представляется в ячейке хп состоянием U, а 1 — состоянием |о.
Соединительная петля Ci для считывания содержимого произвольной ячейки хп.
Временная петля С2 для изменения длины соединительной петли Ср
Узел управления памятью (УУП) для управления работой узлов L, Ci и С2.
Конструирующий узел (КУ) для управления узлом УУП. Все эти узлы, кроме КУ, показаны (без соблюдения масштаба) на рис. 37. См. также рис. 50.
В оставшейся части этого раздела фон Нейман дает описание этих узлов. В разд. 4.2 он разрабатывает в деталях процессы удлинения и укорочения петель Ср С2 и записи информации в ячейку хп. В разд. 4.3 он конструирует большую часть УУП; заканчивает всю схему в разд. 5.1.
Фон Нейман разрабатывал свою конструкцию в несколько этапов, продумывая их по мере продвижения вперед. Окончательная схема работает следующим образом.
Конструирующий узел (КУ) посылает импульс в узел управления памятью (УУП), указывая, что должна быть прочитана ячейка хп. Этот импульс приводит к тому, что в соединительную петлю Ci
поступает последовательность 10101. Затем эта последовательность входит в ячейку хП1 и, если хп находится в состоянии U, то последовательность 1010 переводит ее в состояние |о, а 1 возвращается в УУП. Если же хп находится в состоянии |0, то в УУП возвращается вся последовательность 10101. Дискриминатор Y определяет, какая последовательность, 1 или 10101, появилась на выходе, и сообщает в КУ, что хранилось в ячейке хп — 0 или 1. В любом случае хп остается в состоянии |п.
Затем КУ сообщает УУП, следует ли удлинить петлю Q, чтобы пройти через ;rn+i, или сократить Сь чтобы пройти через ^п_19 и сле-
дует ли оставить хп в состоянии U или |о. Петля С4 используется для хронометрирования удлинения (или укорочения) петли С2. После -этого петля С2 используется для хронометрирования удлинения (укорочения) петли Ch а в ячейку хп тем временем записывается новый бит информации. В конце всего процесса УУП посылает в КУ сигнал окончания.
Мы перечислили функции КУ, касающиеся УУП. Основная задача КУ заключается в осуществлении конструирования вторичного автомата, описание которого хранится в линейном массиве L. Таким образом, универсальный конструирующий автомат состоит из двух частей: конструирующего узла (КУ) и произвольно большой памяти с устройством для управления ею (УУП, L, С^иСу. См. разд. 1.6.1.2 и гл. 5.]
Линейный массив L. Итак, построение вспомогательных конструкций закончено, и мы можем перейти к нашей первой основной цели. Тот весьма сложный орган, который мы сейчас будем конструировать, предназначен для решения одной задачи, но на самом деле он несет ответственность примерно за половину всего самовос- производящегося организма.
Поэтому имеет смысл остановиться здесь и сделать ряд общих замечаний относительно всего построения, которое нам предстоит осуществить.
Нам понадобится автомат, способный выполнять универсальные логические функции. Мы подробно опишем способ включения его в процесс самовоспроизведения, но мы должны априорно знать, насколько необходимо его иметь. Эти вопросы широко обсуждались в гл. 1. Впервые они возникли при формулировке вопросов (А)—(Е) в разд. 1.1.2.1, затем развивались в разд. 1.2—1.7 (особенно в разд. 1.4—1.6). Поэтому мы будем временно считать потребность в универсальном логическом автомате само собой разумеющейся и обсудим способы и средства его построения.
В разд. 1.2.1 и 1.4.2.3 отмечалось, что универсальный логический автомат обязательно включает в себя две основные части: схему, реализующую элементарные логические функции (+, • , —) и с помощью их комбинирования выражающую все высказывательные функции в логике, и произвольно большую (конечную, но свободно регулируемую) внешнюю память со схемой для управления ею и ее использования.
Мы знаем, что первую часть — машину для выражения выска- зывательных функций — можно построить относительно простыми средствами. В самом деле, принципы, связанные с таким построением, постоянно использовались в наших предыдущих конструкциях. Подробнее мы остановимся на этом позже. Займемся
сначала второй частью, т. е. произвольно большой внешней памятью и служебной схемой.
Физически произвольно большая внешняя память воплощается в линейном массиве 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. (В данном случае ^0 обозначает невозбудимую форму этого состояния, а именно Т030, см. разд. 2.8.2.) Для того чтобы связь с двоичным обозначением была однозначной, отнесем состоянию U разряд 0, а состоянию |о — разряд 1.
Итак, линейный массив L представляет собой последовательность ячеек хП1 п = 0, 1, 2, . . ., образующих непрерывную горизонтальную линию, каждая из которых может принимать два состояния: U, ^0. С каждой ячейкой хп мы связываем числовую переменную £п, которая обозначает двоичный разряд, представляемый хп. Иными словами, ^п — О означает, что хп находится в состоянии U, а ^п = 1 означает, что хп находится в состоянии ^0. Так как длина массива L должна быть конечной, то индекс п должен принимать лишь конечное множество значений; пусть, например, п = 0, 1, . . ., N — 1. Лучше всего положить £п = О для достаточно больших п. В силу этого конец массива L сливается с полем состояний U, расположенных по предположению за пределами специально сконструированных органов, так что не важно, как на самом деле оканчивается массив L.
Для того чтобы извлечь пользу из этой внешней памяти — массива L, необходимо создать служебные схемы, т. е. те средства, которые позволят «изучать» массив L. Это «изучение» состоит в считывании содержимого массива в любом наперед заданном участке и в любом изменении его в любом месте.
Перейдем к обсуждению этих операций над L: считывания и изменения заданных участков.
Конструирующий узел и узел управления памятью1). Считывание содержимого любой ячейки массива L, скажем хп, означает определение значения Нп. Изменение любого участка означает замену прежнего значения Нп новым значением Vn.
Для нумерации таких последовательных изменений удобно использовать индекс s (— 0, 1, 2, . . .). Тогда величина Нп в данный момент будет обозначаться ^ а при следующем изменении она становится £пН- Таким образом, ^+1 = ^п-
Величина тц участвующая в обеих операциях (считывании и изменении), также зависит от $. Выразим эту зависимость в явной форме: пусть п8 обозначает номер п на шаге s.
Число п8 можно задать абсолютно и относительно. Окажется, что последнее предпочтительнее. Неудобно — и, если требовать абсолютной логической универсальности, даже нельзя — ограничить величину ть (или N, см. выше). Поэтому количество двоичных разрядов числа п также не ограничено. Следовательно, п нельзя (или неудобно) разместить «внутри» логического автомата, т. е. в его первой основной части (см. разд. 4.1.2). С другой стороны, неудобно хранить п во второй основной части, т. е. в неограниченной внешней памяти L. Другими словами, на этой стадии построения автомата нежелательно (хотя мы будем это делать потом, когда продвинется наше построение) использовать для «адресации» внутри массива L сам массив. Все это делает невозможной прямую адресацию, т. е. «абсолютное» задание величины п, так что остается только «относительное» задание. В каждый момент времени, когда возникнет необходимость задать значение п, мы не будем явно его указывать, а укажем только, как связано нужное значение п с только что использованным. Достаточно допустить, чтобы это число в каждую единицу времени изменялось на 1 (Тьюринг [3]). Другими словами, зависимость числа тг, которое предстоит рассмотреть, т. е. п8, от числа п, рассматривавшегося только что, т. е. п8-1, будет выражаться формулой
(8s =+ 1). (17')
«Относительное» задание состоит в указании значения 8s.
Вернемся снова к разбиению универсального логического автомата на две основные части (разд. 4.1.2). Теперь мы можем уточнить это деление и несколько модифицировать его. Первая часть — схема, выполняющая элементарные логические функции и комбинирующая их для получения универсальных высказывательных функ-
х) [Фон Нейман не дал названия этим двум узлам, обозначив их просто А и В, хотя они отличаются от узлов А и В разд. 1.6. Настоящий подраздел назывался у него «Детальное описание функционирования массива L. Схемы А п В. Функция узла А и его связь с В».]
ций. Будем обозначать эту часть КУ. Вторая часть — внешняя память L и схема, необходимая для управления ею и ее использования. Будем обозначать эту часть УУП. Таким образом, вторая часть в смысле разд. 4.1.2 состоит из L и УУП. Определим теперь точнее функции КУ и УУП.
[Рис. 37 показывает соотношение между УУП, L, соединительной петлей Ci и временной петлей С2.1
Мы знаем, что УУП предназначен для считывания и изменения заданных участков массива L. При данном 8s УУП должен заменить ть8-1 на п8 (согласно (17')), воспринять ^s и при данном ^^ заменить ^s на ^V. Слова «при данном е8» и «при данном ^"s1» требуют дополнительного разъяснения. Надо еще уточнить, как именно получаются значения 8 и §ns .
Лучше всего, чтобы значения 8s и ^^ находил конструирующий узел КУ. Этот узел будет получать их в виде функции от своего собственного состояния в предыдущий момент и информации, накопленной в процессе считывания Vn^ осуществляемого узлом управления памятью.
Считывание £ns с помощью УУП производится после формирования 8s, т. е. п8 (в соответствии с (17')), но до формирования £^\ так что считывание должно влиять на последнюю величину, но не на первую. Удобнее описывать формирование тг8+1 по п8, а не п8 по п8"1. Для этого надо только заменить s на s + 1 в формуле (17'):
п^1 = п8 + 8S+1 (е^1 = ± 1). (18')
Теперь можно описать работу узлов КУ и УУП. Сначала КУ дает «пусковой» импульс на УУП, и УУП начинает работу с шага 5 (если это тот шаг, который был достигнут к этому времени). Затем УУП читает £п« и передает результат в КУ. Эта новая информация изменяет состояние КУ, и он формирует ^^ и 8S+1 и передает их в УУП. Тогда УУП заменяет ^s на Vn^ а затем формирует п8^1 в соответствии с (18') и устанавливает такой же контакт с п8+г (т. е. с ^ns+i в L), который был у него только что с п8 (т. е. с х 8 в L). На этом заканчивается шаг $, и УУП сообщает об этом в КУ. Если КУ в тот момент находится в соответствующем состоянии, то он посылает следующий «пусковой» импульс в УУП, и УУП переходит к шагу 5 + 1 и т. д.
Работу КУ мы опишем схематически. Поэтому достаточно будет отметить, что КУ, будучи конечной схемой, имеет лишь конечное число (скажем, а) состояний. Занумеруем эти состояния индексом а = 1, . . ., а и обозначим состояние узла КУ в начале шага s через а8.
Сформулируем теперь важные для нас свойства, касающиеся узла КУ и его связи с УУП.
Если КУ находится в состоянии сс8 и УУП передает ему значение ^s, то КУ переходит в состояние
а8+^Л(а8, gy.(19'а)
Если КУ находится в состоянии ccs+1, то он формирует (и передает в УУП) значение ^V, равное
^=Х(а8+1).(19'b)
Если КУ находится в состоянии ccs+1, то он формирует (и передает в УУП) значение е8+1, равное
88+1-^(сс8+1).(19'с)
КУ посылает в УУП «пусковой» импульс для шага $ тогда и только тогда, когда его состояние а8 принадлежат подмножеству 5 множества всех состояний а. (19'd)
Таким образом, три функции
Л (a, g) (а-1,...,а;£ - О, 1;4-1, ..., а),(20'а)
Х(а) (а=1,а;Х = 0, 1),(20'Ь)
Я(а) (а=1,а;£■ = + !)(2О'С)
и множество
S (подмножество множества всех ot —1, ..., а) (20'd) дают описание работы КУ и его связи с УУП (по крайней мере той части работы, которая существенна для наших ближайших целей). Потом мы подробно опишем КУ ), а сейчас нам вполне достаточно этого описания. Перейдем теперь к полному детальному конструированию УУП и изучению его связей с КУ.
Новая формулировка постулатов, касающихся работы КУ и УУП.
Пусть КУ и УУП достигли начала шага s. КУ находится в состоянии а8, УУП подключен к ячейке a?nS в L.
Если а8 не принадлежит S, то КУ не будет обращаться в УУП. Если а8 принадлежит S, то КУ посылает «пусковой» импульс в УУП. Этот «пусковой» импульс дает начало событиям шага $.
УУП считывает содержимое ячейки хи&, т. е. значение ^s’ и передает его в КУ.
Затем КУ формирует ccs+1 в соответствии с (19'а) и переходит в состояние ccs+1.
Затем КУ формирует ^^ и es+1 в соответствии с (19'Ь) и (19'с) и передает их в УУП.
УУП изменяет х^ поскольку потребовалось заменить Ц«на ^V.
Затем УУП формирует ns+1 = ns + es+1 (см. (18')) и подключается к ^ns+i, отключаясь от хи&. Иными словами, он передвигает место своего подсоединения к L на одну ячейку вперед, если es+1 = 1, и на одну ячейку назад, если es+1 = —1.
Наконец, УУП посылает в КУ «завершающий» сигнал.
Теперь шаг s завершен и начинается шаг s + 1.
Весь цикл возобновляется, начиная с пункта (1) и т. д.
Так как мы хотим дать лишь схематическое описание КУ (см. разд. 4.1.2), то пока достаточно чисто формальных постулатов (1), (2), (4), (5), касающихся КУ. С другой стороны, постулаты (1)—(3) и (6)—(8) касаются УУП, и так как наша ближайшая задача — осуществить эффективное и детальное конструирование УУП, то мы должны построить реальные конструкции, моделирующие эти утверждения. Мы сделаем это в разд. 4.1.5—4.1.7.
Modus operandi ) УУП и L. Прежде всего мы должны определить характер «подключения» УУП к ячейке хл в L, о котором шла речь в постулатах (1) (для п = п8) и (7) (для п = ns+1). Это подключение должно обеспечить возможность «считывания» содержимого ячейки хл (постулат (3); п = п8) и изменения хл (постулат (6); п = тг8) с помощью УУП. Кроме того, должна быть обеспечена возможность передвижения места такого подключения на одну клетку вперед или назад (постулат (7)).
Линейный массив L представляет собой последовательность клеток xn, п = 0, 1, 2, . . . . Мы предполагаем, что он расположен горизонтально, простирается и нумеруется слева направо, как показано на рис. 31а. УУП лежит слева от L, как изображено на том же рисунке.
Очевидно, что «считывание» клетки хл (п = ns; постулат (3)) можно осуществить с помощью линии, состоящей из обычных передающих состояний и идущей к хл от УУП, а затем назад от хл к УУП. Проведем эту линию от УУП к хп в верхней части массива L, а от хл к УУП в его нижней части. Вместе с хл обе части этой линии образуют петлю от УУП к УУП; мы будем называть ее соединительной петлей и обозначать Cj (рис. 31b). Теперь клетку хл можно «счи-
тать», посылая импульс в петлю Ct на ее вход vt и наблюдая сигнал на ее выходе грР Если клетка хл находится в состоянии U (т. е. ^ = = 0), то этот импульс не сможет пройти через хл (на выходе ^ не будет отклика). Если хл находится в состоянии |о (т. е. ^ — 1), то этот импульс пройдет через хл (на w^ появится отклик).
Заметим, что импульс, идущий от их через петлю Сь все же действует на клетку хЛ1 если она находится в состоянии U (т. е. £п = 0). Он переведет хл в чувствительное состояние Sg (см. по этому поводу и в связи с последующим обсуждением переходов между состояниями разд. 2.8). Если бы ничего больше не происходило, то клетка хл переходила бы спонтанно из состояния Se в другие состояния, причем полная последовательность таких состояний имела бы вид
U —> Sg —> So —> Soo —> Sooo —> SOooo — Tqoo — ^• (21')
Нам нужно, чтобы в конце концов клетка хл оказалась в том же состоянии, в каком она была бы при других обстоятельствах (т. е. если бы было £Д — 1 вместо ^ — 0), а именно в состоянии |о. Это важно потому, что наши дальнейшие операции с клеткой хл будут гораздо проще, если будет известно, что они всегда начинаются с одного и того же состояния клетки хл. Состояние |0 есть Т030, т. е. SOio- Поэтому за первоначальным импульсом (переводящим хп из U в S) должна идти последовательность импульсов и пауз 010. Следовательно, вся последовательность (на и^) должна иметь вид 1010.
Посылка последовательности 1010 на v^ приводит, таким образом, в случае ^ — 0 к последовательным преобразованиям
U—> Sg > So—> S01—> SOjO = T030 = |0* (22')
Так как в результате клетка хл переходит в состояние |о, то ни один из этих импульсов не может пройти через хЛ1 так что на wY нет отклика. В случае ^ = 1 клетка хл уже находится в состоянии |о, так что оно не изменяется и все импульсы проходят через него, а на выходе wv появляется 1010. Итак, посылка на р4 последовательности 1010 приводит к тому, что хл в конце концов переходит в состояние ^0, а на выходе ^ либо не возникает отклика (при £„ = 0), либо появляется 1010 (при ^ = 1).
Эта процедура все еще содержит один недостаток: критерий «нет отклика на w-^^ выражающий тот факт, что ^л = 0, не имеет смысла, если неизвестно, в какой именно момент времени следует ожидать этого «отсутствия отклика». В самом деле, на w^ нет отклика во все те моменты, в которые не затрагивался (не возбуждался) вход ^. Это означает, что задержку от г^ до wY надо устанавливать другими средствами. В дальнейшем это потребуется также и для других целей, и мы достигнем этого с помощью так называемой временной
петли (см. дальше). Но сейчас нужный нам результат можно получить проще, и мы будем использовать эту более простую прямую процедуру.
Действительно, достаточно добавить еще один импульс к последовательности 1010 на входе vls т. е. послать на и^ последовательность 10101. Перед приходом последнего импульса клетка хп находится в состоянии |о, так что этот импульс пройдет через нее, появится на ^1? а клетка хк останется в состоянии |0. Таким образом, посылка 10101 на l\ всегда приводит хп в состояние |о и вызывает на выходе wx отклик 1 при й - 0 и 10101 при ^ = 1.
Если за входным сигналом 10101 на Vi следует 00, то при %sn = 0 за 1 на м?! также следует 00, а так как перед 1 определенно идет 0000 (см. выше), то при ^ — 0 на выходе w^ появляется 0000100. Эта последовательность не может содержать в себе последовательность 10101 (которая соответствует случаю ^ — 1). Поэтому момент появления отклика на wx устанавливается сам по себе, и этот отклик дает возможность различить ^ = 0 и ^ = 1. Такое различение осуществляет дискриминатор Т (рис. 25).
Итак, проблема считывания содержимого ячейки хп (п = ns) решена и конструкция схемы, осуществляющей эту процедуру, в общих чертах ясна. (Реальную конструкцию мы обсудим позже.)
[Введение последовательности 10101 является первой из множества операций, применяемых к линейному массиву L, соединительной петле Ci и временной петле С2. Остальные операции мы рассмотрим в оставшейся части разд. 4.1 и в разд. 4.2 (см. рис. 37 и 38).
После того как мы закончим построение схемы фон Неймана, будем использовать для считывания и записи в клетку хп массива L, а также для удлинения (или укорочения) соединительной петли Q и временной петли С2 с целью подготовки к считыванию клетки ^n+i (или xn_^ следующие операции:
Считать клетку хл с помощью 10101, оставив ее в состоянии |0- (2) Укоротить (или удлинить) временную петлю С2, используя соединительную петлю Q для хронометрирования этой операции.
Удлинить (или укоротить) нижнюю часть соединительной петли Ci, используя временную петлю С2 для хронометрирования этой операции.
Перевести, если потребуется, клетку хл в состояние U.
Удлинить (или укоротить) верхнюю часть соединительной петли Ci, используя временную петлю С2 для хронометрирования этой операции.]
Соединительная петля СР Соединительная петля Ci по определению должна решить проблему изменения состояния клетки хп (п = п8, см. постулат (6) в разд. 4.1.4), т. е. проблему перевода ее из состояния U (при £„ = 0) или |0 (при ^ = 1) в состояние, отвечающее значению ^+1.
Естественно (и проще) осуществлять преобразование клетки хп сразу же после считывания ее (разд. 4.1.5). Однако, как мы увидим, это приведет в дальнейшем к противоречию, так что мы потом откажемся от такой организации. Но сейчас будет полезно рассмотреть проблему изменения клетки хП1 основываясь на этом положении (а в дальнейшем скорректировать решение).
Итак, рассмотрим процесс изменения клетки хП1 проводимый сразу же после ее считывания. В этот момент хп находится в состоянии to (см. выше), что несколько упрощает задачу. Действительно, теперь нужно различать только 2 случая: ^+1 = 1 — клетка хп уже находится в нужном состоянии и ничего не надо делать; £n+1 — = 0 — надо перевести хп из состояния to в состояние U. (Если бы клетка хп не изменила своего состояния по сравнению с первоначальным, то пришлось бы разбирать три различных случая: 1) Ц = ^+\ ничего не надо делать; 2) £„ = 1, ^+1 = 0, следует перевести хп из |о в U; 3) ^ = 0, ^+1 — 1, следует перевести хп из U в to.)
Единственная проблема, которую предстоит сейчас решить, состоит в переводе хп из to в U. Так как |о представляет собой обычное передающее состояние, то обычными импульсами этого нельзя добиться. Отсюда возникает необходимость привести в соответствующий контакт с хп специальные импульсы.
Это можно сделать так. Пусть какое-то специальное состояние находится в непосредственном контакте с первой клеткой О в Сь т. е. с клеткой, следующей за ^ и расположенной над х0. Для этого достаточно поместить |1 сразу же над рассматриваемой клеткой О (на рис. 31 в соответствующем месте изображена звездочка). Специальный импульс, идущий от звездочки, переведет рассматриваемую клетку О (т. е. клетку, расположенную над х^ в состояние U. Затем ее надо перевести в состояние X, т. е. в Т100 (= 80ц). Поэтому за первоначальным специальным импульсом должна идти последовательность импульсов и пауз 1011, причем этими импульсами могут быть и обычные, и специальные, ибо они одинаково влияют на чувствительные состояния. Проще, когда вся последовательность состоит из импульсов одного типа. Это значит, что тогда от звездочки на рис. 31 будет поступать последовательность специальных импульсов ПОИ, так что клетка, расположенная над х0, будет последовательно переводиться в состояния
Я иSo so S01 Soll = Т100 = X- (23')
Теперь клетка, расположенная над ж0, находится в состоянии Поэтому вторая последовательность специальных импульсов 11011, исходящая от клетки *, пройдет через клетку Д_ над ^0 и попадет в следующую клетку jO, т. е. в клетку, расположенную над^р Она заставит эту клетку пройти последовательность преобразований (23') и приведет ее в конце концов в состояние X* Теперь клетки над х0 и ^i обе находятся в состоянии 1,. Поэтому третья последовательность специальных импульсов 11011, исходящая от клетки *, пройдет через клетки V над х0 и xt и попадет в следующую клетку О, т. е. в клетку, расположенную над х2. Она заставит эту клетку пройти последовательность преобразований (23') и приведет ее в конце концов в состояние X- Теперь клетки над xOl Xi и х2 находятся в состоянии
Ясно, что этот процесс можно продолжить. После посылки п последовательностей специальных импульсов 11011 от клетки * п клеток, лежащих над ж0, хь . . ., хп_1ч перейдут в состояние Д^.
На этом шаге процедуру надо изменить, поскольку клетку над хп надо преобразовать так, чтобы она направляла специальный импульс к хП1 а не к следующей клетке О (расположенной над жп+1).
Иными словами, клетка над хп должна перейти в состояние |] г т. е. Т130 (= Sllo). Поэтому из клетки * теперь нужно послать последовательность специальных импульсов 11110, преобразующую клетку над хп последовательно в состояния
о, _>U-^S9-^S1-^S11->S110 = T130= Ц . (24')
Итак, у нас есть непрерывная цепочка специальных передающих состояний от клетки * до хп. Следовательно, мы можем трансформировать хп. Таким преобразованием будет преобразование от 1о к U, вызываемое одиночным специальным импульсом, посланным от клетки *.
Таким образом, нам нужна следующая система последовательностей специальных импульсов, исходящих от клетки *: п последовательностей ПОП и последовательность 111101 (представляющая собой, конечно, последовательность 11110, а затем 1). На рис. 31с показано состояние петли Ci и массива L в результате всех этих преобразований.
Но оставлять в таком состоянии ту часть петли С19 которая была модифицирована (т. е. ее верхнюю линию), не следует. Ее легко вернуть из измененного состояния (рис. 31с) в исходное (рис. 31b), а хп оставить в измененном состоянии (в состоянии U). Действитель-
но, так как верхняя линия петли Ci теперь состоит из специальных передающих состояний, то вернуть ее в исходное состояние смогут обычные импульсы. Их надо послать на vv Первые п клеток (расположенные над ж0, х^ . . ., жп-1) надо перевести из состояния в состояние _0_, т. е.ТООо ( = S0000). Поэтому на Vt надо послать п последовательностей обычных импульсов 110000. Первая из них переводит клетку над х0 из в _Oj
|l > U > S0 > So > Soo > S090 > Soooo = Tooo = ^o •(25')
Вторая также преобразует клетку над хх и т. д., n-я преобразует клетку, расположенную над xK_v Затем можно перевести клетку над хп из |1 в |о, т. е. в Тозо ( = S010). Поэтому на vt надо послать последовательность обычных импульсов 11010, преобразующую клетку над хп в состояния
|] >U >S@ > So > S01—> Solo = Т0з0 = ^0-(26')
Таким образом, нам нужна следующая система последовательностей обычных импульсов, посылаемых на vf. п последовательностей 110000 и последовательность 11010. Состояние петли Ci и массива L в результате всех этих преобразований показано на рис. 31b, но здесь хп находится в состоянии U.
Итак, на Ci должны посылаться как обычные, так и специальные импульсы. Управлять обоими типами импульсов лучше с помощью обычных импульсов, идущих от УУП. Для этого необходимо дополнительное оборудование: обычные импульсы на Ci должны посылаться прямо на v^. Кроме того, требуется оборудование для специальных импульсов на Ci, которые должны исходить от клетки * на рис. 31b и 31с. Другими словами, нужен орган для преобразования обычных импульсов в специальные. Мы уже конструировали орган такого типа для применений в периодическом импульсаторе. Он показан на рис. 18g и 18i. Устройство рис. 18i более удобно. Его подсоединение к Ci и L показано на рис. 31d. Вход в этот вспомогательный орган обозначен буквой uv
Таким образом, мы получили систему, в которой первоначальная импульсация осуществляется с помощью обычных импульсов, посылаемых либо на uv, либо на ^р В первом случае это приведет к поступлению на Ci специальных импульсов, во втором прямо на Ci посылаются обычные импульсы — в обоих случаях импульсы приходят в клетку над х0.
Теперь можно придать окончательную форму описанию процедуры, переводящей хп из состояния U в состояние |о и оставляющей все остальное в Ci и Lb исходном состоянии:
Подать п последовательностей 11011 на uv (27'а) Подать последовательность 111101 на uv.(27'b)
Подать п последовательностей 110000 на uv ^'^ Подать последовательность 11010 на vv(27'd)
Временная петля С2. Схема, сформулированная в правилах (27'а)—(27'd), все еще не полна в одном отношении. Правила (27'а) и (27'с) требуют n-кратного повторения посылки последовательностей 11011 и 110000 на uv и Ур Это можно сделать с помощью периодических импульсаторов РР(ИОИ) и РР(110000), но их надо выключить с задержкой 5п и 6п соответственно после их включения. Каким образом обеспечиваются эти задержки?
С первого взгляда может показаться, что трудность здесь связана с числом п — с невозможностью хранения его внутри УУП (с трудностью такого рода мы встретились в начале разд. 4.1.3). Эту трудность можно обойти тем же приемом: дать относительное, а не абсолютное определение величины п. Но при имеющихся в нашем распоряжении схемах было бы непрактично хранить п в самом массиве L. Необходим еще один «внешний» орган — для хранения п, или, скорее, для выражения п таким способом, чтобы было возможно его непосредственное восприятие. По-видимому, лучше всего ввести для этого еще одну петлю от УУП к УУП, длина которой будет равна п или сумме п и некоторой фиксированной величины. Это означает, что у нас есть последовательность п обычных передающих состояний ^, расположенных на фиксированном расстоянии под L, идущих параллельно L от УУП. Последовательность оканчивается обычным передающим состоянием ^0- Сразу же под ней идет назад к УУП другая линия из n-f-l обычных передающих состояний О_. Эти две линии расположены под ячейками ж0, х^ . • ., хп массива L; они образуют петлю, которую мы будем называть временной петлей и обозначать С2 (см. рис. 31е). Ясно, что импульс, поданный на вход z;2 временной петли, появляется на ее выходе w2 с задержкой 2п + 2. Позже мы увидим, что С2 надо снабдить теми же дополнительными средствами для посылки специальных импульсов, какими мы снабдили петлю Ср Поэтому мы снова поместим схему, эквивалентную схеме рис. 181, над клеткой ^, расположенной под ж0, и обозначим вход в это устройство символом и2. Это устройство определяет расстояние от Ci до С2 и положение обеих петель относительно УУП (см. рис. 31f).
Так как задержка от и2 до zr2 равна 2п + 2, то задержка при троекратном прохождении по этой петле равна 6п + 6. Эта задержка отличается от задержки 6п, обусловленной операцией (27'с),
на 6, т. е. на фиксированную величину (не зависящую от п). Следовательно, ее можно использовать для создания последней, если встроить соответствующие фиксированные задержки, которые можно будет реализовать внутри УУП.
Так как задержка, обусловленная операцией (27'а), равна 5п, то нельзя найти такого целого числа, чтобы при умножении его на 2п + 2 получить число, которое отличалось бы от Ьп на фиксированную величину (не зависящую от п). Эту трудность можно преодолеть, добавив 0 (т. е. отсутствие импульса) к последовательности 11011 в операции (27'а). Получим последовательность 110110, а операция (27'а) заменится на операцию
Подать п последовательностей 110110 на uv (27'а')
Операция (27'а') требует задержки 6п, т. е. здесь можно поступить так же, как с операцией (27'с).
Восприятие трех актов прохождения по временной петле можно осуществить с помощью тройного возвратного счетчика Ф (рис. 23). Его выход d надо подсоединить к v2l а вход с — к w2. Пусть задержка от d до и2 равна 6', а задержка от w2 до с равна 6". Тогда орган Q (разд. 3.4) будет состоять из отрезка от d до v2l участка петли С2 от и2 до ю2 и отрезка от w2 до с. Поэтому задержка от с через Q к d равна 62 + (2п + 2) + 6". Следовательно, согласно концу разд. 3.4 и рис. 24d, задержка от а через Ф (и Q) к b равна 238 + 3 (62 + + (2п + 2) + 62) = Ьп + (3 (62 + 6") + 244). Это превышает задержку 6п, обусловленную операциями (27'а') и (27'с), на 3 (6' + 6") + 244. Так как величина этой разности фиксирована (не зависит от п^ то нужную задержку можно подобрать с помощью подходящих фиксированных задержек, реализуемых внутри УУП.
УДЛИНЕНИЕ И УКОРОЧЕНИЕ ПЕТЕЛЬ С4 И С2
И ЗАПИСЬ В ЛИНЕЙНЫЙ МАССИВ
Перемещение точки подключения к L. Нам осталось обсудить еще один вопрос, а именно вопрос перемещения точки подключения УУП к L на одну ячейку вперед или назад (постулат (7) в разд. 4.1.4).
Другими словами, нас интересуют удлинение и укорочение обеих линий соединительной петли Cf на одну ячейку. В разд. 4.1.6 мы показали, что временная петля С2 должна иметь ту же длину, что и соединительная петля СР Следовательно, обе линии петли С2 также должны удлиняться или укорачиваться на одну ячейку.
Выполнять эти операции лучше в тот момент, когда Cf образует непрерывающуюся петлю от dv до wv (Петля С2, как правило, не прерывается от и2 до zp2.) Это происходит в тот момент, когда хк нахо-
дится в состоянии 1о. В конце разд. 4.1.5 и в начале разд. 4.1.6 мы видели, что клетка хп будет заведомо в состоянии 4о в интервале времени между считыванием и изменением ее. (Считывание обязательно предшествует изменению.) Поэтому мы будем выполнять рассматриваемые операции (удлинение или укорочение каждой линии петель Cf и С2 на одну ячейку) в течение этого интервала.
Случай es+1 = 1, соответствующий удлинению петель, и случай 8S+1 = —1, соответствующий укорочению, лучше рассматривать но отдельности.
[Общий процесс, который нам предстоит осуществить, состоит в изменении петель Ci, С2 на их концах и, возможно, модифицировании содержимого ячейки хп. Процедура, позволяющая это делать, иллюстрируется рис. 14. Конструирующий путь постоянно изменяется, становясь то путем из обычных передающих состояний, то путем из специальных передающих состояний. Путь из обычных передающих состояний превращается в путь из специальных передающих состояний под влиянием специальных импульсов, а путь из специальных передающих состояний превращается в путь из обычных передающих состояний под влиянием обычных импульсов.
Мы будем пользоваться входами utl vv для Ci и u2, z;2 для С2 (см. рис. 31—37 и 39). Последовательность обычных импульсов, поданная на uVl переводит верхнюю часть петли СА в путь из специальных передающих состояний, а затем последовательность обычных импульсов, поданная на vVl переводит верхнюю часть петли Cf снова в путь из обычных передающих состояний. Аналогично для входов и^ Vo петли С2.
Переход клетки из обычного передающего состояния в специальное передающее состояние (или обратно) требует в самом худшем случае 6 импульсов (см. рис. 10). Поэтому для перевода из обычного состояния в специальное (или обратно) всего пути из vv в хп потребуется порядка 6п импульсов. Так как п — произвольное конечное число, то оно не может храниться в конечном автомате УУП (или конечном автомате КУ). Фон Нейман решает эту проблему введением временной петли С2.
Временная петля С2 подсоединена к тройному возвратному счетчику Ф2 (рис. 39). Она представляет собой реагирующий орган Й (разд. 3.4) для тройного возвратного счетчика Ф2. Тройная задержка вдоль петли С2 приближенно равна переменной части необходимой задержки, т. е. 6п. Нужную последовательность импульсов, поданных на ut или и^ можно получить от периодических импульсаторов РР (Z42rW5Z6), включенных примерно на 6п единиц времени. Аналогично применяются тройной возвратный счетчик Ф! (рис. 39) и петля Ci для хронометрирования последовательности импульсов, необходимой для модификации петли С2. Для изменения концов петель
Ci и C2 и для записи в клетку хп нужны конечные последовательности импульсов; их легко получить от импульсаторов.
До начала процесса удлинения (или укорочения) клетка хл должна быть считана с помощью последовательности 10101 и приведена в состояние |0 (см. разд. 4.1.5). В готовой конструкции фон Неймана для удлинения (или укорочения) петель СА и С2 и записи в клетку хл выполняется следующая последовательность операций.
Удлинить (или укоротить) временную петлю С2 с помощью периодических импульсаторов и импульсаторов, подающих импульсы на входы ы2 и р2. Продолжительность работы каждого периодического импульсатора определяется тройным возвратным счетчиком Фр для которого петля Ci служит реагирующим органом Q.
Произвести следующие изменения в петле Ci и в клетке хл:
Удлинить (или укоротить) нижнюю часть петли Ср обеспечивая доступ к ней через клетку хл, чтобы не нарушить состояний клеток xn_v и xn^v.
Перевести клетку хл в состояние U, если нужно хранить 0, и в состояние 4о, если нужно хранить 1.
Удлинить (или укоротить) верхнюю часть петли Ср Импульсы, вызывающие этот процесс, подаются от периодических импульсаторов и простых импульсаторов на входы и^ и Рр Продолжительность работы каждого периодического импульсатора определяется тройным возвратным счетчиком Ф2, для которого подключенная к нему петля С2 служит реагирующим органом Q.
К концу этих двух этапов клетка хл оказывается в нужном состоянии, соединительная петля Ci проходит через жп+1, если потребовалось удлинение, и через жп„р если потребовалось укорочение, а временная петля С2 имеет ту же длину, что и Ср
В разд. 4.2.2—4.2.4 фон Нейман дает 31 команду подачи последовательностей на петли Ci и С2 для достижения только что описанных результатов. Все эти команды собраны в табл. II на стр. 259. В разд. 4.2.2—4.2.4 они идут под номерами (28'а) —(31'h), в табл. II — под номерами 0.1—0.31.
В табл. III на стр. 260 приведены периодические импульсаторы, необходимые для создания последовательностей, повторяющихся примерно 6п раз, и дополнительные задержки, связанные с хронометрированием этих периодических импульсаторов с помощью тройных возвратных счетчиков Фр Ф2 и петель Ср С2.
В табл. IV на стр. 262 приведены импульсаторы, необходимые для создания последовательностей, указанных в упоминаемых выше командах.
При чтении оставшейся части настоящего раздела полезно пользоваться табл. II—IV.]
Удлинение массива L. Рассмотрим сначала случай es+1— 1, соответствующий удлинению. При выполнении этой операции п (или п + 1) обычных передающих состояний (клетки Q на верхних линиях петель Сь С2 и клетки 0_ на нижних линиях петель С^ С2) должны постоянно трансформироваться в специальные передающие состояния (X, JJ и обратно. Для осуществления таких преобразований потребуются операции типа (27'а') и (27'с) (для клеток ->) и аналогичные операции (для клеток -<—). Следовательно, опять необходимо измерять задержки, равные 6п (или 6п плюс фиксированная величина), между моментами включения и выключения периодических импульсаторов. Пока петля Ct находится в работе, эти задержки можно измерять с помощью петли С2 (и тройного возвратного счетчика с учетом подходящих фиксированных задержек; см. разд. 4.1.7). Пока в работе находится петля С2, естественно использовать для той же цели Ci (с аналогичными вспомогательными схемами). Именно по этой причине петля С4 должна в этот момент быть непрерывающейся (от УУП до УУП), т. е. клетка хп должна быть в состоянии |о (см. выше). Мы знаем, что это условие выполняется в момент начала нашей процедуры, поэтому операции с петлей С2 должны производиться в первую очередь (до операций с петлей С^.
Итак, наша первая задача — удлинить обе линии петли С2 на одну клетку. Лучше всего начинать с перевода верхней линии петли С2 (клеток, расположенных под ж0, х^, . . ., хп; их всего п + 1) в состояние X, т- е- из первоначального состояния, изображенного на рис. 32а, в состояние рис. 32b. Так как эти клетки находились в состоянии £, т. е. в обычном состоянии, то нужны специальные импульсы. В разд. 4.1.6 мы убедились (см. обсуждение операции (23')), что каждое такое преобразование вызывается последовательностью 11011 или, согласно разд. 4.1.7 (см. рассуждения, приведшие нас от операции (27'а) к операции (27'а')), последовательностью 110110. Итак, мы получили команду
Подать n-f-l последовательность 110110 на и2. (28'а)
Заметим, что для этого нужен периодический импульсатор РР(НОИО) с задержкой 6п + 6 между моментом его включения и моментом его выключения. Естественно соединить тройной возвратный счетчик Ф (см. рис. 24) с петлей Сь поскольку она сейчас используется для хронометрирования. Таким образом, выход d органа Ф присоединяется к и^ а вход с органа Ф — к wv. Пусть задержка от d до vt равна 6', а задержка от wv до с равна 6". Задержка от ^ через петлю Ci к wv равна 2п + 3. Орган Q (разд. 3.4) состоит из отрезка от d до z;^ участка петли Ci от vt до м?! и отрезка от м^
до с. Поэтому задержка от d через Q к с будет равна 6' + (2п + 3) + + 6". Тогда (см. конец разд. 3.4 и рис. 24) задержка от а через Ф (и Q) к b будет равна 238 + 3 (6' + (2п + 3) + 6") = 6п + + (3 (6' + 61) + 247). Она превосходит задержку 6п + 6, обусловленную правилом (28'а), на величину 3 (6' + 6^) + 241, не зависящую от п. Эту разницу можно скомпенсировать с помощью подходящих фиксированных задержек, реализуемых «внутри» УУП.
Дальше надо перевести клетку, расположенную справа от последней клетки V (находящуюся в состоянии U), в состояние |1 и клетку, расположенную под ней (также находящуюся в состоянии U), в состояние О (от рис. 32b надо перейти к рис. 32с). Состояние |1 — это Т130(= Sllo), а состояние О_ —это ТО2о ( = Sool). Это значит, что нужны последовательности специальных импульсов 1110 и 1001. Мы получили вторую команду
Подать последовательность 11101001 на и2. (28'Ь)
Теперь нижняя линия временной петли С2 находится в нужном состоянии. Остается задача преобразования верхней линии. Начнем с перевода всех ее клеток, за исключением последней клетки (т. е. клеток, расположенных под xOl xVl . . ., хп; их всего п + 1), в состояние О . Петля С2 переходит из состояния, изображенного на рис. 32с, в состояние рис. 32d. Так как клетки, состояния которых нам предстоит изменить, находятся в состоянии _Ц, то нужны обычные импульсы. В разд. 4.1.6 мы установили, что (см. обсуждение операции (25')) каждое такое преобразование вызывается последовательностью 110000. Таким образом, мы имеем еще одну команду:
Подать п + 1 последовательность 110000 на v2. (28'с)
Для выполнения этой команды нужен периодический импульсатор РР(110000) с задержкой 6п + 6 между моментами его включения и выключения. Можно использовать тот же самый тройной возвратный счетчик Ф, соединенный с петлей С^ что и при выполнении команды (28'а). Задержка от а до b (см. рассуждение после (28'а) и рис. 24) превышает нужную задержку на 3 (6' + 6") + 241, а так как эта величина фиксирована, то необходимые регулировки можно осуществить внутри УУП.
Наконец, надо перевести клетку, расположенную справа от последней клетки О (находящуюся в состоянии |1), в состояние |0, т. е. мы переходим от рис. 32d к рис. 32е. Состояние |о — это Т030( = SOio)- Поэтому нужна последовательность 11010 обычных импульсов, и мы получаем команду
(28'd)(28'd)Подать последовательность 11010 на иг.
(28'd)
(28'd)
На этом заканчивается процесс удлинения временной петли С2. Теперь . рассмотрим аналогичный процесс для соединительной петли С4.
. Состояние петли Ci показано на рис. 33а. Удобнее начать удлинение с нижней линии, а доступ к ней обеспечить по верхней линии через состояние |о клетки хп. В соответствии с этим переведем всю верхнюю линию, за исключением последней клетки (т. е. клетки, расположенные над х01 Жр . . ., их всего п), в состояние X- Иными словами, верхнюю линию петли Ci мы переводим из состояния, изображенного на рис. 33а, в состояние рис. 33b. Так как эти клетки находятся в состоянии О (т. е. в обычном состоянии), то нужны специальные импульсы. По аналогии с (27'а') и (28'а) каждое преобразование вызывается последовательностью 110110, так что имеем команду
Подать п последовательностей 110110 на ^р (29'а)
Для ее выполнения нужен периодический импульсатор РР(ИОИО) с задержкой 6п между моментами его включения и выключения. Хронометрирование можно обеспечить тройным возвратным счетчиком, подключенным к ^2, ^2 (его концами d, с соответственно); делается это так же, как в разд. 4.1 после операции (27'а'). Но теперь длина петли С2 на 1 больше, чем была там, так что задержка при прохождении по С2 увеличивается на 2, а при тройном прохождении по С2 — на 6. Поэтому фиксированная задержка, которую предстоит скомпенсировать регулировками «внутри» УУП, увеличивается на 6, т. е. становится равной 3(6^ + 6") + 250.
Дальше мы переводим клетку, расположенную справа от послед ней клетки X (находящуюся в состоянии |о), в состояние |1, клет ку, расположенную под ней (находящуюся также в состоянии |о), также в состояние |1, клетку под ней (в состоянии О_) в состояние V (эти 3 клетки лежат над, на и под жп), клетку, расположенную справа от последней (в состоянии U), в состояние О_; т. е. мы переходим от рис. 33b к рис. 33с. Состояние |1 — это Т130(= Sllo), X — это Тюо(^ ®ои), 5 — это Т020( = Sool). Поэтому нужны последовательности специальных импульсов НПО, 11110, ИОН, 1001, и мы получаем команду
Подать последовательность 1111011110110111001 на uv (29'b)
Теперь мы .можем привести клетку хк и клетку под ней в их окончательное состояние. Мы опять должны проходить по верхней линии. Переведем ее всю, кроме последней клетки (клетки, расположенные над я0, х^ . . ., xK_v; их всего п), в состояние О , т. е. перейдем от рис. 33с к рис. 33d. Так как та часть верхней линии, которую предстоит преобразовать, состоит теперь из клеток, находящихся в специальных передающих состояниях, то преобразование можно совершить обычными импульсами. Как и в случае операции (27'с), каждое преобразование вызывается последовательностью 110000, так что новой командой будет
Подать п последовательностей 110000 на ^. (29'с)
Для выполнения этой команды нужен периодический импульса- тор PP(llOOOO) с задержкой 6п между моментами его включения и выключения. Эту задержку можно обеспечить с помощью тех же схем хронометрирования, что и для операции (29'а).
Затем нам надо перевести клетку, расположенную справа от последней клетки О (находящуюся в состоянии |i), в состояние |О, клетку под ней (находящуюся также в состоянии |1) в состояние |о, клетку под последней (в состоянии Д) в состояние О (эти 3 клетки лежат над, на и под хп^ т. е. мы переходим от рис. 33d к рис. ЗЗе. Состояние ^0 — это Т030 (— S0i0), а О — это Т020 (= Sool). Поэтому необходимы последовательности обычных импульсов 11010, 11010, 11001, так что мы получим команду
Подать последовательность 110101101011001 на vv (29'd)
Теперь рассмотрим удлинение верхней линии петли Ср Начнем с перевода всей верхней линии (клеток, расположенных над х0, Жр . . ., хп; их всего п + 1) в состояние Д, т. е. перейдем от рис. ЗЗе к рис. 33f. Так как верхняя линия состоит из клеток, находящихся в обычных передающих состояниях, то это преобразование можно совершить специальными импульсами. Как и в случае операции (29'а), каждое преобразование вызывается последовательностью 110110, и мы получаем команду
Подать ^+1 последовательность 110110 на uv (29'е)
Для ее выполнения нужен периодический импульсатор РР(ИОИО) с задержкой 6^ + 6 между моментами его включения и выключения. Эту задержку можно обеспечить с помощью тех же схем хронометрирования, что и для операции (29'а), но теперь задержка должна быть на 6 единиц больше. Поэтому фиксирован-
ная задержка, которую предстоит скомпенсировать регулировками внутри УУП, увеличена на 6, т. е. здесь она равна 3 (6' + 6") + + 244.
Затем переведем клетку, расположенную справа от последней клетки 1Х (находящуюся в состоянии U), в состояние |0, т. е. перейдем от рис. 33f к рис. 33g. Состояние |о — этоТ030(= Solo). Поэтому необходима последовательность специальных импульсов 1010, т. е. теперь мы имеем команду
Подать последовательность 1010 на ub (29'f)
Наконец, переведем оставшуюся часть верхней линии (клетки над ж0, яд, . . ., хп; их всего п + 1) в состояние О, т. е. перейдем от рис. 33g к рис. 33h. Так как та часть верхней линии, которую надо преобразовать, состоит из клеток в специальных передающих состояниях, то это преобразование совершат обычные импульсы. Как и в случае операции (27'с), каждое преобразование вызывается последовательностью 110000, и мы получаем команду
Подать п+1 последовательность 110000 на уР (29'g)
Для ее выполнения нужен периодический импульсатор РР(110000) с задержкой 6п + 6 между моментами его включения и выключения. Эту задержку можно обеспечить теми же устройствами для хронометрирования, какие были использованы для операции (29'е).
На этом заканчивается процесс удлинения соединительной петли Сь т. е. случай es+1 = 1 рассмотрен.
Укорочение массива L. Исследуем теперь случай es+1 = = —1, соответствующий укорочению. В общих чертах процесс будет протекать так же, как в первом случае. Поэтому мы снова рассмотрим сначала С2 (а потом Ci).
Итак, наша первая задача — укоротить обе линии петли С2 на одну ячейку. При этом лучше всего начинать с перевода всех клеток верхней линии, кроме последней (клеток xOl х^ . . ., x^v их всего п), в состояние Д,, т. е. из состояния, изображенного на рис. 32а, в состояние рис. 34а. Так как эти клетки первоначально находятся в состоянии О (т. е. в обычном состоянии), то этот перевод осуществляется специальными импульсами. Как и в случае преобразования (29'а), каждое преобразование вызывается последовательностью 110110, так что мы получаем команду
Подать п последовательностей 110110 на и2. (ЗО'а)
' Для ее выполнения нужен периодический импульсатор РР(ИОИО) с задержкой 6п между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и в случае операции (28'а), за тем лишь исключением, что теперь задержка короче на 6. Поэтому фиксированная задержка, которую предстоит скомпенсировать регулировками внутри УУП, увеличивается по сравнению с прежней на 6, т. е. теперь она будет равна 3 (д' + д") + 247.
Дальше мы будем переводить клетку, расположенную справа от последней клетки V (находящуюся в состоянии |о), в состояние |1. а клетку под ней (находящуюся в состоянии jy в состояние U, т. е. перейдем от рис. 34а к рис. 34b. Состояние |1 — это Т13о( = Sllo). Поэтому нужны последовательности специальных импульсов 11110 и 1. Итак, требуется
Подать последовательность 111101 на м2. (ЗО'Ь)
Теперь мы снова вернем клетки верхней линии петли С2, кроме последней (клетки под х0, х^ . . ., х^; их всего п), в состояние О , т. е. перейдем от рис. 34b к рис. 34с. Так как теперь эти клетки находятся в специальных передающих состояниях, то преобразование выполнят обычные импульсы, как и в случае операции (27'с). Поэтому каждое преобразование вызывается последовательностью 110000, и мы получаем команду
Подать п последовательностей 110000 на z;2. (ЗО'с)
Для ее выполнения нужен периодический импульсатор РР(110000) с задержкой 6п между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и в случае операции (ЗО'а).
Дальше мы переведем клетку, расположенную справа от последней клетки Q (находящуюся в состоянии |l), в состояние U, т. е. перейдем от рис. 34с к рис. 34d. Этот переход может вызвать одиночный обычный импульс, так что имеем команду
Подать одиночный импульс на р2. (30'd)
Таким образом, петля С2 укоротилась, ибо две самые правые клетки переведены в состояние U. Но теперь последняя клетка верхней линии (клетка под xn_Y^ находится в состоянии Q, а не |о, как требуется. Попробуем это исправить.
Переведем клетки верхней линии, кроме последней (клетки под xOl х^ . . ., хк_^ их дсего п — 1), в состояние _Ц, т. е. перейдем
от рис. 34d к рис. 34е. Так как эти клетки находятся в обычном передающем состоянии, то этот перевод осуществляют специальные импульсы. Как и к случае операции (29'а), каждое преобразование вызывается последовательностью 110110, так что получаем команду
Подать п—1 последовательность 110110 на и2. (ЗО'е)
Для ее выполнения нужен периодический импульсатор РР(ИОИО) с задержкой 6п — 6 между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и в случае операции (ЗО'а), но только теперь задержка меньше на 6. Поэтому фиксированная задержка, которую предстоит скомпенсировать регулировками внутри УУП, должна быть больше прежней на 6, т. е. теперь она равна 3 (6' + б") + + 253. .
Дальше мы переведем клетку, расположенную справа от последней клетки t (находящуюся в состоянии О), в состояние |о, т. е. перейдем от рис. 34е к рис. 34f. Состояние |о — это Т030( = S010). Поэтому нужна последовательность специальных импульсов 11010, т. е. требуется
Подать последовательность 11010 на u2. (30'f)
Наконец, переведем оставшуюся часть верхней линии (клетки под ж0, ад, ■. . ., £п_2; их всего п — 1) в состояние О , т. е. перейдем от рис. 34f к рис. 34g. Так как клетки, которые предстоит преобразовать, находятся в специальном передающем состоянии, то перевод осуществят обычные импульсы. Как и в случае операции (27'с), каждое преобразование вызывается последовательностью 110000, так что получаем команду
Подать п—1 последовательность 110000 на v2. (30'g)
Для ее выполнения нужен периодический импульсатор РР(110000) с задержкой 6п — 6 между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и в случае операции (ЗО'е).
На этом укорочение петли С2 заканчивается. Теперь укоротим петлю Ср
Состояние петли Cf показано на рис. 33а. Лучше всего начать (как и при удлинении) с нижней линии, подойти к которой можно по верхней линии петли СА через клетку хП1 находящуюся в состоянии |0- Поэтому мы сначала переведем все клетки верхней линии, кроме последней (клетки над £0, xv, . . ., x^; их всего п), в состоя-
ние X, т. е. перейдем от состояния, изображенного на рис. 33а, к состоянию рис. 35а. Так как эти клетки находятся в состоянии О (т. е. в обычном состоянии), то переход совершат специальные импульсы. Как и в случае операции (29'а), каждое преобразование вызывается последовательностью 110110, так что получаем команду
Подать п последовательностей 110110 на uv (ЗГа)
Для ее выполнения нужен периодический импульсатор РР(ИОИО) с задержкой 6п между моментами его включения и выключения. Эту задержку можно обеспечить теми же средствами хронометрирования, что и в случае операции (29'а). Но теперь длина петли С2 на 2 единицы меньше, так что при прохождении петли С2 задержка увеличится на 4, а при тройном прохождении — на 12. Отсюда следует, что фиксированная задержка, которую предстоит скомпенсировать регулировками внутри УУП, будет больше на 12, т. е. равна 3(6^ + 6") + 238.
Дальше мы переведем клетку, расположенную справа от последней клетки ^ (находящуюся в состоянии ^О), в состояние |], клетку под ней (находящуюся также в состоянии Фо) в состояние |], а клетку под ней (в состоянии О_) в состояние U (эти 3 клетки лежат над, на и под яп), т. е. мы переходим от рис. 35а к рис. 35b. Состояние |] — это Т130(= Sllo). Поэтому нужны последовательности специальных импульсов 11110, 11110, 1. Итак, имеем команду
Подать последовательность 11110111101 на и^ (31'b)
Теперь мы можем привести клетку хк в окончательное состояние. Мы опять должны пройти по верхней линии. Поэтому сначала переведем все ее клетки, кроме последней (клетки х0, . . ., xn_t; их всего п), в состояние 0^; т. е. перейдем от рис. 35b к рис. 35с. Так как та часть ;верхней линии, которую надо преобразовать, состоит теперь из специальных передающих состояний, то переход совершат обычные импульсы. Как и в случае операции (27'с), каждое преобразование вызывается последовательностью 110000, так что мы получаем команду
Подать п последовательностей 110000 на vv (З1'с)
Для ее выполнения нужен периодический импульсатор РР(110000) с задержкой 6п между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и в случае операции (З1'а).
Дальше мы переведем клетку, расположенную справа от последней клетки О (находящуюся в состоянии |1), в состояние |о, клетку под ней (находящуюся также в состоянии |1) также в состояние |о (эти 2 клетки лежат под и на яп), т. е. перейдем от рис. 35с к рис. 35d. Состояние |0 — это Т030( = Solo). Поэтому нужны последовательности обычных импульсов 11010, 11010, т. е. требуется
Подать последовательность 1101011010 на vv (31 'd)
Укоротим теперь верхнюю линию петли СР Начнем с перевода всех клеток верхней линии, кроме последней (клетки, расположенные над я0, ж^ . . ., хп_1; их всего п^ в состояние у. т. е. перейдем от рис. 35d к рис. 35е. Так как эти клетки находятся в обычном состоянии, то переход совершат специальные импульсы. Как и в случае операции (29'а), каждое преобразование вызывается последовательностью 110110, так что мы имеем команду
Подать п последовательностей 110110 на uv (З1'е)
Для ее выполнения нужен периодический импульсатор
РР(ИОИО) с задержкой 6п между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и для операции (ЗГа).
Дальше мы переведем клетку, расположенную справа от последней клетки X (находящуюся в состоянии |о), в состояние U, т. е. перейдем от рис. 35е к рис. 35f. Для этого перехода понадобится одиночный импульс, так что мы имеем команду
Подать одиночный импульс на uv (31'f)
На этом укорочение петли Cf заканчивается, так как две самые правые клетки переведены в состояние U. Но верхняя линия еще не находится в нужном состоянии, и мы будем сейчас исправлять это.
Переведем клетки верхней линии, кроме последней (клетки, расположенные над х01 ж17 . . ., а;п_2; их всего п — 1), в состояние Q , т. е. перейдем от рис. 35f к рис. 35g. Так как эти клетки находятся в специальных передающих состояниях, то переход совершат обычные импульсы. Как и в случае операции (27'с), каждое преобразование вызывается последовательностью 110000, так что получаем команду
Подать п—1 последовательность 110000 на vv (31'g)
Для eej выполнения нужен периодический импульсатор РР(ИОООО) с задержкой 6zz — 6 между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами
хронометрирования, что и для операции (ЗГа), но теперь задержка на 6 единиц меньше. Поэтому фиксированная задержка, которую предстоит скомпенсировать регулировками внутри УУП, будет на 6 единиц больше, т. е. будет равна 3 (6' + 60 + 244.
Наконец, переведем клетку, расположенную справа от последней клетки О (находящуюся в состоянии _Ц), в состояние |с, т. е. перейдем от рис. 35g к рис. 35h. Состояние |о — это Т030( — Solo). Поэтому Нужна последовательность обычных импульсов 11010, т. е. требуется
Подать последовательность 11010 на vv (31'h)
На этом укорочение соединительной петли Ct заканчивается. Случай cs+1 = —1 рассмотрен.
Изменение ячейки х^ в L. Теперь обсудим процедуру изменения ячейки хп.
В основе этой процедуры (см. разд. 4.1.6 и 4.1.7) лежит предположение о том, что изменять ячейку хп надо сразу же после ее считывания. В разд. 4.2.1—4.2.3 мы проводили удлинение и укорочение петель Ct и С2 в предположении, что эти процессы происходят в промежутке между считыванием ячейки хп и ее изменением. Эти два предположения противоречат друг другу. Мы будем сейчас считать, что справедливо последнее, второе предположение (разд. 4.2.1 и 4.2.3), так что разд. 4.1.6—4.1.7 надо пересмотреть.
Наиболее естественным было бы дать обзор всех изменений, вызванных удлинением или укорочением относящихся сюда структур, т. е. петли С19 фигурирующей в разд. 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 = О клетку хп надо перевести из состояния |0 в состояние U. Итак, достаточно рассмотреть лишь второй случай и для него отдельно процессы удлинения (es+1 = 1) и укорочения (es+1 = —1).
Исследуем сначала процесс удлинения (es+1 = 1). Нам надо решить, где в ходе эволюции петли Ct в соответствии с рис. 33а—33h лучше всего произвести перевод клетки хп из состояния |о в состояние U. Легко видеть, что удобнее всего это сделать после этапа, отраженного рис. ЗЗе, т. е. изменить операции (29'е) — (29'g).
Заменим переход от рис. ЗЗе к рис. 33f преобразованием, затрагивающим на одну ячейку меньше, т. е. от рис. ЗЗе перейдем к рис. 33а. Тогда команда (29'е) заменится командой
Подать п последовательностей 110110 на и^ (29'е')
Для ее выполнения нужен периодический импульсатор- РР(ИОИО) с задержкой 6га между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и в случае операции (29'а).
Затем переведем клетку, расположенную справа от последней клетки V (находящуюся в состоянии |о)? в состояние |i, а клетку под ней (находящуюся также в состоянии |о) в состояние U (эти 2 клетки лежат на и над клеткой а?п), т. е. перейдем от рис. 36а к рис. 36b. Состояние |l — это Т130(=: Sllo). Поэтому нужны последовательности специальных импульсов 11110, 1, т. е. получаем команду
Подать последовательность 111101 на uv (29'f')
Теперь переведем все клетки верхней линии (клетки, расположенные над ж0, х^ . . ., яп; их всего п + 1) в состояние О , т. е. перейдем от рис. 36b к рис. 36с. Так как верхняя линия состоит из специальных передающих состояний, то этот переход осуществят обычные импульсы. Как и в случае операции (27'с), каждое преобразование вызывается последовательностью 110000, так что мы получаем команду
Подать п4-1 последовательность 110000 на рР (29'g')
Для ее выполнения нужен периодический импульсатор РР(110000) с задержкой Qn + 6 между моментами его включения и выключения. Эту задержку можно обеспечить теми же схемами хронометрирования, что и для операции (29'е).
Наконец, переведем клетку, расположенную справа от последней клетки О (находящуюся в состоянии U), в состояние |о, т. е. перейдем от рис. 36с к рис. 36d. Состояние |о — это ТОзо( = S010). Поэтому нужна последовательность обычных импульсов 1010, т. е. требуется
Подать последовательность 1010 на vv (29'h')
Этим исчерпывается случай es+1 = 1.
Исследуем теперь процесс укорочения (es+1 = —1). Нам надо решить, где в ходе эволюции петли С4 в соответствии с рис. 33а и 35а—35h лучше всего произвести перевод клетки хп из состояния |0 в состояние U. Легко видеть, что удобнее это сделать после
этапа, отраженного на рис. 35е. При этом потребуется изменить лишь операцию (31'd).
В самом деле, в состояние |0 клетка хп перешла из состояния |1. Достаточно перевести ее вместо этого в состояние U. Иными 'Словами, вторую последовательность 11010, о которой говорится перед формулировкой команды (31'd), надо заменить одиночным импульсом. Команда (31'd) заменяется тогда командой
Подать последовательность 110101 на vv (31'd')
Теперь клетка хп находится в состоянии U, а не 10 (рис. 35d) и операции (ЗГе)— (31'h) можно не менять. На рис. 35е—35h надо заменить 1о в клетке хп на U, а это не отражается на операциях {31е) — (ЗГЬ). На этом заканчивается обсуждение случая es+1 = —1.
УЗЕЛ УПРАВЛЕНИЯ ПАМЯТЬЮ
[4.3.1. Организация и работа УУП. На рис. 37 схематически изображен узел управления памятью (УУП) и органы, контролируемые им: линейный массив L, соединительная петля С4 и временная петля С2. Рисунок выполнен без соблюдения масштабов. На самом деле УУП имеет в высоту 547 клеток, а в ширину 87. Опишем сначала организацию УУП, а затем обсудим его работу.
Наиболее важные части УУП: блок считывания — записи — стирания (C3G) и блок его контроля (KC3G). Блок СЗС показан на рис. 39; он конструируется в разд. 4.3.3. Органы, отмеченные цифрами 0.6, 0.10 и т. д. на рис. 39, представляют собой импульсато- ры из табл. III и IV. Импульсатор 0.0—это импульсатор Р(10101), посылающий последовательность 10101 на вход петли С4 для считывания ячейки хп; результат, появляющийся на выходе wis поступает на дискриминатор V для различения последовательностей 1 и 10101. Роль вторичного органа Q для тройного возвратного счетчика Ф4 играет петля Сь а для тройного возвратного счетчика Ф2 — петля С2. Импульсы на СЗС слева идут от декодеров в СС17 а импульсы, выходящие от СЗС влево, поступают в импульсаторы в ССр Узел CCt блока СЗС является частью кодированного канала узла УУП.
Этот кодированный канал состоит из узлов СС19 СС2, СС3, X, Z и главного канала. Начало и конец главного канала на рис. 39 отмечены черным кружочком и черным квадратиком. Узел СС2 содержит декодеры, на которые приходят импульсы от главного канала, а выходят на блок КСЗС. Узел СС2 содержит импульсаторы, на которые приходят импульсы от КСЗС, а выходят в главный канал. Узлы X, Z и СС4 содержат декодеры, на которые приходят импульсы от главного канала, и импульсаторы, с которых импульсы поступают в главный канал.
Блок KG3C показан на рис. 41; конструируется в разд. 4.3.5. В него входят 16 органов управления (ОУ), каждый из которых содержит импульсатор РР(1), являющийся активным, только когда данный ОУ находится в состоянии управления (см. рис. 40 и разд.
3.4), а также 4 импульсатора РР(1), используемых для хранения того двоичного разряда, который должен быть записан в ячейку хк.
Входы в блок КСЗС и выходы из него отмечены на рис. 41 в соответствии с входами и выходами блока СЗС. Например, импульс от vY *1 поступает в импульсатор узла СС3, посылающий затем кодированную последовательность в главный канал; эта последовательность распознается декодером узла СС17 посылающим затем импульс на вход Pi *1 блока СЗС, благодаря чему импульсатор 0.0 посылает последовательность 10101 на вход и^ для считывания ячейки хп.
Область Y узла УУП предназначена для подачи импульсов с выходов о2, о3 и о5 конструирующего узла КУ на импульсаторы в X и с декодера в X на вход г3 узла КУ.
Область W выполняет следующую функцию. Каждый периодический импульсатор блока СЗС должен быть включен примерно в течение 6п единиц времени, где п — индекс клетки в L, которую предстоит просмотреть. Тройной возвратный счетчик Ф£ (с петлей Ci в качестве его вторичного органа) должен обеспечить эту задержку, когда некоторый периодический импульсатор возбуждает петлю С2, а тройной возвратный счетчик Ф2 (с петлей С2 в качестве его вторичного органа) должен обеспечить эту задержку, когда некоторый периодический импульсатор возбуждает петлю СР Но при прохождении импульса от каждого из этих счетчиков к его вторичному органу происходит некоторая потеря времени. Кроме того, выходной сигнал тройного возвратного счетчика (Ф^б или Ф2*Ь) нельзя использовать для остановки периодического импульсатора, пока этот сигнал не пройдет через СС17 главный канал, СС2, КСЗС, СС3, снова главный канал и снова ССр Всего на этих двух путях (соответствующих двум счетчикам) теряется около 2000 единиц времени. Следовательно, периодический импульсатор блока СЗС должен включаться примерно на 2000 единиц времени позже, чем связанный с ним тройной возвратный счетчик. Точная величина задержки зависит от каждого из 16 органов управления блока КСЗС. Фон Нейман определял эту величину, деля область задержки W на 4 части и связывая каждую часть с одним из периодических импульсаторов блока СЗС. Большая часть нужной задержки достигается за счет посылки импульса в область W. Переменная часть задержки обеспечивается областью задержки D каждого органа управления (рис. 40).
Дальше мы кратко объясним, как работает УУП под общим контролем КУ (рис. 37 и 50). Основные операции — считывание, запись и удлинение (или укорочение) петель Ci и С2 — осущест-
вляются в 2 этапа. Сначала КУ посылает сигнал в УУП, отдавая команду считывать, и УУП считывает ячейку хп и посылает результат в КУ. Затем КУ посылает сигналы в УУП, указывая ему, что именно надо записать в хп и следует ли удлинить или укоротить петли С17 С2, и тогда УУП выполняет эти инструкции и посылает сигнал окончания в КУ.
Первый этап основных операций в памяти начинается, когда импульс появляется на выходе ох узла КУ и входит в верхнюю часть блока КСЗС. Он входит в СС3 на vv -1, кодируется импульсатором узла СС3, входит в главный канал, затем в CCi, декодируется декодером узла CCi, входит в СЗС на dv*1 и возбуждает импульсатор- Р(10101) узла СЗС (этот импульсатор помечен цифрами 0.0 на рис. 39а). Последовательность 10101 поступает на вход их петли Ct и идет вглубь по ее верхней линии. Если ячейка хп находится в состоянии U (представляющем 0), то последовательность 10101 переводит ее в состояние |о и с выхода wv петли Q появляется 1; если хп находится в состоянии |0 (представляющем 1), то на выходе z^i петли ^ появляется вся последовательность 10101. В обоих случаях этот выходной сигнал поступает на дискриминатор ¥ блока СЗС. Если ячейка хп хранила 0, то на выходе Ъ органа Т появляется импульс, идет через ¥-Ь, СС17 главный канал, СС2, ^¥-Ь, КСЗС (ближе к верхней части) и направляется к входу ц конструирующего узла. Если ячейка хп хранила 1, то на выходе с органа ¥ появляется импульс, идет через Ч7 -с, СС17 главный канал. СС2, ^-си КСЗС (ближе к верхней части) и направляется к входу z2 узла КУ. Теперь КУ знает содержимое ячейки хп. На этом заканчивается первый этап основных операций в памяти.
Чтобы начать второй этап основных операций в памяти, конструирующий узел посылает следующие сигналы в верхнюю часть УУП: (1) Импульс с выхода о2, если в хп надо записать 0, и с выхода о3, если в хп надо записать 1.
) Импульс с выхода о4, если петли С17 С2 предстоит удлинить, и с выхода о5, если петли С17 С2 предстоит укоротить.
Мы проследим влияние каждого из этих импульсов отдельно.
Импульс с выхода о2 проходит через область Y и возбуждает импульсатор в области X. Импульсатор вырабатывает кодированную последовательность, она проходит по главному каналу и поступает на 2 декодера в СС2. Декодеры включают 2 импульсатора РР(1) блока КСЗС. Один из этих импульсаторов показан в верхней части рис. 41b; он используется для управления операцией записи, если петли С17 С2 удлиняются. Другим является верхний импульсатор РР(1), изображенный на рис. 41е; он используется для управления операцией записи, если петли Ci, С2 укорачиваются.
Аналогично импульс с выхода о3 заставляет работать 2 импуль- -сатора РР(1) блока KG3C. Один из этих импульсаторов показан на рис. 41с; он используется для управления операцией записи, -если петли Сь С2 удлиняются. Другим является нижний импульса- тор РР(1), изображенный на рис. 44е; он используется для управления операцией записи, когда петли Сь С2 укорачиваются. Оба импуль- сатора РР(1), включенные сигналами со2и о3, выключаются в конце -основных операций в памяти сигналом окончания, поступающим на вход f3 узла КУ.
Сигналы с выходов о4 (удлинение) и о5 (укорочение) идут в УУП разными путями. Импульс от о4 входит в верхнюю часть блока КСЗС и включает первый орган управления (ОУ1). После того как ОУ! заставит СЗС выполнить определенные операции, он выключается и включается второй орган управления (ОУ2). Затем так же применяются ОУ3 и ОУ4. Здесь возникает ветвление. Если в ячейку хк надо записать 0, то используются ОУ5 и ОУ6, а если в хп надо записать 1, то используются ОУ7 и ОУ8. Когда орган ОУ6 (или ОУ8) заканчивает свою работу, с выхода i3, расположенного под ним, испускается импульс. Этот импульс проходит через СС3 и главный канал, причем, с одной стороны, он входит в область X, проходит через ¥ и поступает на вход i3 узла КУ, сигнализируя о том, что основная операция в памяти закончена, а с другой стороны, он входит в СС2 в 4 местах, выключает 2 импульсатора РР(1) блока КСЗС, хранящих двоичный разряд, который надо записать в хп.
Сигнал с выхода о5 проходит по областям Y, X, главному каналу, СС2 и входит в ОУ9. Органы управления ОУ9, ОУ1О, ОУИ, ОУ12, ОУ13 и ОУ14 применяются в указанном порядке. Выходной сигнал р из ОУ14 поступает на схему совпадений, на которую подается выходной сигнал из РР(1) (рис. 41е). Если в ячейку хп надо записать 0, то используется сигнал vY -4, а если в хп надо записать 1, то используется сигнал и^ *5. Затем в обоих случаях приступают к работе ОУ 15 и ОУ16. Когда ОУ16 кончает работать, с выхода г3, расположенного под ним, испускается импульс. Как и при удлинении, этот импульс, с одной стороны, отключает импульсаторы РР(1) блока КСЗС. хранящие двоичный разряд, который надо записать в хп, а с другой стороны, он поступает на вход f3 узла КУ, сигнализируя о том, что основная операция в памяти закончена. В конце основной операции УУП остается в своем первоначальном состоянии.
В табл. V приведены результаты воздействия органов управления блока КСЗС на импульсаторы и периодические импульсаторы блока СЗС. Мы проиллюстрируем работу этих органов управления на примере ОУ1е Схема ОУ показана на рис. 40; органы ОУ отличаются друг от друга лишь разной длиной пути задержки ^. Орган
управления OYi расположен в верхней части блока KC3G (рис. 41а). Состояние соединительной петли С4 и линейного массива L в момент, когда ОУ4 берет на себя управление, отражено на рис. 33а; петля С^ проходит через клетку х^ все ее клетки находятся в обычных передающих состояниях. Состояние временной петли С2 в момент, когда OYi берет на себя управление, отражено на рис. 32а; влияние, которое оказывает OYi на С2, показано на рис. 32b и 32с.
Принцип работы ОУ4 следующий. Импульс с выхода о4 узла КУ (вызывающий удлинение) поступает на вход а органа ОУ^ при этом: 1) он проходит по верхней части и левой стороне органа ОУ> и попадает на вход а^ импульсатора РР(1) органа ОУ17 в результате чего этот периодический импульсатор начинает работать и остается включенным все время, пока ОУ4 выполняет функции управления; 2) входной сигнал, поступивший на вход а органа ОУ17 появляется на его входе с и идет дальше на вход Ф4 -а узла СС3, затем через СС3, главный канал и С^ к выходу Ф1 -а узла СС17 а оттуда на вход а тройного возвратного счетчика Ф^ блока СЗС (рис. 39а), и счетчик Ф4 начинает работать; 3) входной сигнал, поступивший на вход а органа OYi, проходит путь задержки 98 органа ОУ17 появляется на выходе Ъ органа ОУ17 затем идет к входу и2«а+ узла СС3, а оттуда через СС3, главный канал и область Z приходит в область задержки W, проходит ее часть и идет обратно через Z в главный канал, через CCt к выходу и2*а+ узла CQ и оттуда поступает на вход а^ периодического импульсатора РР(НОИО), расположенного в нижней части блока СЗС (рис. 39b), запуская периодический импульсатор. Последовательность 110110 периодически поступает на вход и2 петли С2. Каждая такая последовательность переводит одну клетку, лежащую в верхней части петли С2, из состояния Q в состояние Ц^: сначала 1 переводит Q в U, а затем 1011 заменяет U на [ в соответствии с прямым процессом рис. 10; последний 0 воздействия не оказывает. Поэтому п появлений последовательности 110110 на и2 переводят верхнюю часть петли С2 из состояния, изображенного на рис. 32а, в состояние рис. 32b.
Процессом создания п последовательностей 110110 управляет тройной возвратный счетчик Ф4 блока СЗС с петлей Ci в качестве вторичного органа Q. Сигнал с выхода счетчика Ф! выключает периодический импульсатор РР(ИОНО), показанный на рис. 39b. Это происходит следующим образом: с выхода b органа Ф4 сигнал входит в CCi на Ф4 -Ь, идет через СС4 в главный канал и в СС3, а затем появляется на входе d каждого из органов ОУ17 ОУ2, ОУ9, ОУю, 0Уц и ОУ12. Все эти органы не активны, кроме ОУ1, так что в результате воздействия сигнала на входе d все органы ОУ, кроме ОУ4.
будут лишь пытаться выключить импульсатор РР (1), который уже выключен. Как мы видели в конце разд. 3.2.2, это не приведет к неприятностям. В случае же 0У1 входной сигнал, попавший на d, отключит РР(1) и пройдет через конфлюентную клетку, расположенную в нижней правой части органа ОУ17 и выйдет на е и /. Сигнал выключения, поступивший на вход а_ импульсатора РР(1), обеспечивает остановку на выходе Ъ слишком поздно, чтобы блокировать излучение с выходов е и /. - -
Сигнал с выхода е органа ОУ1 входит в СС3 на м2еа_7 проходит через СС3, главный канал и CCi, покидает CQ на и^-а. и входит на вход а импульсатора РР(НОНО). Таким образом, импульсатор РР(110110) замолкает после того, как испустит п последовательностей 110110.
Сигнал с выхода / органа ОУ! идет по двум направлениям. Во-первых, он входит в СС3 на и2«7, проходит через СС3, главный канал и СС17 покидает CQ на и2-1 и входит в импульсатор Р(11101001) (импульсатор 0.2 на рис. 39Ь). Затем последовательность 11101001 поступает на вход и2 петли С2. Первая половина этой последовательности (т. е. 1110) заменяет U на |1, а вторая половина (т. е. 1001) заменяет следующую клетку U на О_. В результате петля С2 принимает состояние рис. 32с.
Во-вторых, указанный сигнал поступает на вход а органа ОУ2. давая начало операции, управляемой этим органом. Результаты работы управляемых органом ОУ2 периодического импульсатора и импульсатора блока G3C показаны на рис. 32d и 32е соответственно. Таким образом, ОУ! и ОУ2 вместе управляют удлинением временной петли С2, а затем ОУ2 передает управление органу ОУ3.]
Подробное обсуждение работы узла УУП. В разд. 4.1.4 мы перечислили конкретные функции, выполняемые УУП. Мы дали чисто описательное статическое утверждение (пункт (1)), сформулировали условия начала операций (пункт (2)), указали сами операции: считывание ячейки хп (пункт (3)), изменение хп (пункт (6)). перемещение хп (пункт (7))—и привели сигнал окончания (пункт (8)). Постулат (1) не связан ни с каким действием. Выполнить условия пунктов (2) (реагирование на пусковой сигнал, идущий от КУ в УУП) и (8) (посылка сигнала окончания из УУП в КУ) довольно легко. Осуществить (3), (6) и (7) сложнее, в общих чертах это было сделано в разд. 4.1.5—4.2.4. Теперь, когда общая схема закончена, мы проведем соответствующие построения в деталях, т. е. разработаем конкретные схемы, позволяющие выполнить указанные операции.
Операцию (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) на вход t^ и подключить выход wt к входу а дискриминатора Т рис. 25. Появление сигнала на выходах b и с органа Т означает 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'а) — (31'h). В разд. 4.2.4 операция (31'd) заменяется на (31'd'). Заметим, что в разд. 4.2.2 и 4.2.3 разбираются два взаимно исключающих друг друга случая, связанных со значением es+1 (1 или —1), т. е. с первым откликом узла КУ в соответствии с пунктом (5) разд. 4.1.4. Учет результатов разд. 4.2.4 при реализации операций разд. 4.2.2 и 4.2.3 также условен: все зависит от ^+1 (разд. 4.2.4 учитывается только при ^^ = 0, см. начало разд. 4.1.6), т. е. от второго отклика узла КУ в соответствии с пунктом (5) разд. 4.1.4.
Чтобы описать взаимосвязь КУ и УУП, надо определить некоторые конкретные входы и выходы узла КУ (ибо мы не собираемся здесь подробно останавливаться на том, что происходит внутри КУ).
Входы в КУ различаются в зависимости от сигналов, поступающих на них от УУП в соответствии с пунктами (1) — (9) разд. 4.1.4: (^) Сигнал, указывающий на то, что в соответствии с (3) было произведено считывание ячейки хп (п = тг^ и оказалось, что ^ = = 0, т. е. хп = U.
(г2) Сигнал, указывающий на то, что в соответствии с (3) было произведено считывание ячейки хп (п = п8) и оказалось, что ^ = 1, т. е. хп = to.
03) Сигнал окончания работы от УУП, согласно (8).
Символы fb i^ i3 обозначают входы узла КУ, на которые должен поступать соответствующий сигнал.
Выходы из КУ различаются по сигналам, идущим из КУ в УУП в соответствии с пунктами (1)—(9) разд. 4.1.4:
^о^ Пусковой сигнал на УУП, согласно (2).
(о2) Сигнал, указывающий на то, что в соответствии с (5) в КУ было сформировано значение ^+1 (п = п^ и оказалось, что оно равно 0.
(о3) Сигнал, указывающий на то, что в соответствии с (5) в КУ было сформировано значение ^+1 (n = ns) и оказалось, что оно равно 1.
(о4) Сигнал, указывающий на то, что в соответствии с (5) в КУ было сформировано значение es+1 и оказалось, что оно равно 1.
(о5) Сигнал, указывающий на то, что в соответствии с (5) в КУ было сформировано значение es+1 и оказалось, что оно равно —1. Символы Ov . . ., о5 обозначают выходы из КУ, с которых должны приходить соответствующие сигналы.
Приведенные выше соображения показывают, кроме всего прочего, что сигналы, выходящие из о4 и о5, непосредственно воздействуют на УУП: они определяют, выполнять ли УУП команды (28'а) — (28'd), (29'а)—(29'g) (с возможной заменой команд (29'е) — (29'g) на (29'е') — (29'h')) или команды (ЗО'а) — (30'g), (ЗГа)—(31'h) (с возможной заменой команды (31'd) на (31'd')). Очевидно, что сигнал, выходящий из оь также непосредственно воздействует на УУП: он является пусковым сигналом.
В то же время сигналы от о2 и о3 не оказывают непосредственного воздействия на УУП: они определяют, следует ли сделать упомянутую выше замену в рабочем цикле, порожденном сигналами от о4 и о5. (Сигнал с выхода о3 показывает, что замену делать не надо, а сигнал с выхода о2 означает необходимость такой замены.) Следовательно, сигналы с о2 и о3 не могут прямо воздействовать на modus operand! узла УУП, а только активируют два (различных, т. е. соответствующих двум взаимно исключающим друг друга случаям) органа памяти в УУП, которые затем осуществляют операции УУП, когда приходит для них время. Обозначим органы памяти, активируемые сигналами с о2 и о3 соответственно, через а0 и Civ
Все это представлено на рис. 38, где схематически показана логическая структура процедуры, которой должен следовать УУП.
Стрелки на этом рисунке (горизонтальные и вертикальные) указывают пути стимуляции. Двойные горизонтальные линии отделяют области, внутри которых импульсация целиком проходит через каналы в УУП, подлежащие конструированию, а сами эти двойные линии должны пересекаться процессами, протекающими вне этих каналов. (Как правило, эти процессы происходят в КУ, за исключением области, отмеченной второй сверху двойной линией, где процесс идет внутри дискриминатора ЧС)
Одиночная горизонтальная линия отделяет два взаимно исключающих друг друга случая; точнее, два процесса, представленных
по разные стороны от такой одиночной горизонтальной линии и заключенных между парой двойных горизонтальных линий, соответствуют двум различным случаям.
Каждая формула в скобках слева дает значение ^, или ^+1, или es+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 должен был подключаться к q, а его вход с — к w2. Во втором случае Ф должен был подключаться к Ch т. е. его выход d должен был подключаться к q, а его вход с — к wv Последующее обсуждение, проведенное в разд. 4.2.2—4.2.6, показало, что можно обойтись этими двумя видами счетчика Ф, так что мы построим 2 тройных возвратных счетчика Ф4 и Ф2, причем Ф1 присоединим к Ci (его вход с = с^ присоединим к w^, а его выход d = d^ — к q), а Ф2 присоединим к С2 (его вход с = с2 присоединим к w2, а его выход d = d2 — к р2). Обозначения, введенные в разд. 4.2.2 после команды (28'а) и в разд. 4.1.7 после команды (29'а'), относятся соответственно к Ф! и Ф2. Таким образом, б" — это задержка от wx к q, б^ — от di к q (они относятся к Ф^, 6'2 — задержка от w2 к c2l 6^ — от d2 к и2 (они относятся к Ф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 остальных — РР(110000) с выходом, подключенным к и2 (для операций (0.3), (0.18), (0.22)).
ТАБЛИЦА II
ПОСЛЕДОВАТЕЛЬНОСТИ ИМПУЛЬСОВ, ПОДАВАЕМЫЕ НА ПЕТЛИ Ci И С2
Новый номер
Старый номер
Операция
(I) Группа (28'а) — (28'd) и (29'а)—(29'd) разд. 4.2.2
(0.1)*(28'а)Подать п+1 последовательность 110110 на и2
(0.2)
(0.3) *
(28'Ь)
(28'с)
Подать последовательность 11101001 на м2
Подать п+1 последовательность 110000 на г2
(0.4)
(0.5) *
(0.6)
(28 'd) (29'а) (29 'Ь)
Подать последовательность 11010 на г2
Подать п последовательностей 110110 на ъц
Подать последовательность 1111011110110111001 на zq
(0.7)* (0.8)
(29'с)
(29'd)
Подать п последовательностей 110000 на и^
Подать последовательность 110101101011001 на и^
(0.9) * (0.10) (0.11) *
(II) Группа (29'е') —(29'h') разд. 4.2.4
(29'е') Подать п последовательностей 110110 на п4 (29'Г) Подать последовательность 111101 на их
(29'g') Подать п+1 последовательность 110000 на v^
(0.12)
(0.13)*
(29'h')
(III) (29'е)
Подать последовательность 1010 на иг
Группа (29'е)—(29'g) разд. 4.2.2
Подать п+1 последовательность 110110 на и^
(0.14)
(0.15) *
(29 'f) (29'g)
Подать последовательность 1010 на и^
Подать п + 1 последовательность 110000 на у4
(IV) Группа (30'а) —(30'g) и (ЗГа) —(ЗГс) разд. 4.2.3
(0.16)*(ЗО'а)Податьп последовательностей 110110наиг
(0.17)(30'Ь)Податьпоследовательность 111101 нам2
(0.18)*(ЗО'с)Податьп последовательностей 110000наи^
(0.19)(30'd)Податьодиночный импульс на v2
(0.20)*(ЗО'е)Податьп—1 последовательность 110110на и2
(0.21)
(0.22) *
(30'f)
(30'g)
Подать последовательность 11010 на п2
Подать п— 1 последовательность 110000 на г2
(0.23) * (0.24)
(ЗГа)
(ЗГЬ)
Подать п последовательностей 110110 на и^
Подать последовательность 11110111101 на ut
(0.25) *
(0.26)
(0.27)
(31'с)Подать п последовательностей 110000 на v^
Группа (ЗГЙ') разд. 4.2.4
(31'd') Подать последовательность 110101 на и^
Группа (31 'd) разд. 4.2.3
(31'd) Подать последовательность 1101011010 на и^
Продолжение
Новый номер
Старый номер
Операция
(VII) Группа (31'е) — (ЗГЬ) разд. 4.2.3
(0.28)*
(ЗГе)
Подать п последовательностей 110110 на и^
(0.29)
(31'f)
Подать одиночный импульс на и^
(0.30) *
(31'g)
Подать п — 1 последовательность 110000 на
(0.31)
(31'h)
Подать последовательность 11010 на ^
Для 5 из 10 операций второго класса требуется РР(ИОНО) с выходом, подключенным к uY (для операций (0.5), (0.9), (0.13), (0.23), (0.28)), а для 5 остальных — РР(110000) с выходом, подключенным к vt (для операций (0.7), (0.11), (0.15), (0.25), (0.30)). Требования к задержкам были выражены в разд. 4.2.2—4.2.4 в виде значения разности между задержкой от входа а до выхода b счетчика Ф и задержкой от момента включения соответствующего импульсатора РР до момента его выключения. Эти дополнительные задержки приведены в табл. III вместе с другими данными, относящимися к Ф и РР.
ТАБЛИЦА III
НЕОБХОДИМЫЕ ДОПОЛНИТЕЛЬНЫЕ ЗАДЕРЖКИ ДЛЯ ПЕРИОДИЧЕСКИХ
ИМПУЛЬСАТОРОВ, ПОСЫЛАЮЩИХ ИМПУЛЬСЫ НА ПЕТЛИ Ci И С2
Операция
РР
Выход из РР присоединяется к
Ф
Дополнительная задержка
3 (дз + ^Э+а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)
^1
244
(0.25)
238
(0.30)
244
3 (6; + 67) + «1 > где Я1 равно
(0.1)
241
(0.16)
РР (110110)
м2
247
(0.20)
Ф1
253
(0.3)
241
(0.18)
РР (110000)
^2
247
(0.22)
253
Что касается 15 операций без звездочек, то нам нужно лишь выяснить, на какой из входов, и,х или z^ петли Ci и и2 или и2 петли С2, каждая из этих операций оказывает воздействие. Итак, 5 операций воздействуют на и^ (это операции (0.6), (0.10), (0.14), (0.24), (0.29)), 5 на и1 (операции (0.8), (0.12), (0.26), (0.27), (0.31)), 3 на и2 (операции (0.2), (0.17), (0.21)) и 2 на и2 (операции (0.4), (0.19)). Они приведены в табл. IV вместе с данными об импульсаторе Р. Мы поместили в эту таблицу еще одну последовательность, которая должна в некоторых случаях подаваться на и^. Это операция (0.0), относящаяся к последовательности 10101 (первая строчка схемы рис. 38). Наконец, в таблице приведены значения высоты и ширины каждого импульсатора Р (они нам понадобятся в дальнейшем). [В табл. IV у фон Неймана было несколько ошибок. Они исправлены в соответствии с правилом, сформулированным в замечании редактора в конце разд. З.2.1.]
Блок считывания — записи — стирания г). Рис. 38 и табл. II—IV вместе с другими результатами разд. 4.3.2 дают основу для конструирования, о котором там шла речь. Теперь мы можем приступить к конструированию, используя более полные и точные термины.
Операции, которые мы хотим реализовать, действуют в первую очередь на Ct и С2, т. е. на их входы uYl ^i, u2l v2 и их выходы ^, w2. Поэтому лучше всего начать конструирование с органов, находящихся в прямом контакте с uYl vtl Wi и м2, v2l w2. Это органы, указанные в табл. III и IV, а также дискриминатор Т (рис. 38). Эти органы функционируют в соответствии со схемой рис. 38 и табл. II.
Итак, начнем с конструирования органов, указанных в табл. III и IV, а также органа Ч1.
В табл. IV фигурируют 16 органов, из которых 14 являются импульсаторами (Р) и 2 генерируют одиночные импульсы. Каждый из них приводится в действие по единственному входу сигналом, идущим от блока КСЗС (см. рис. 37), и обладает единственным выходом, с которого посылаются импульсы на иь р1? u2l v2.
Для осуществления операций, приведенных в табл. III, нужны 2 периодических импульсатора (а именно РР(ИОИО) и РР(ИОООО)). Но так как каждый из них должен иметь по 2 различных выходных подсоединения (и19 р4 первый и u2l v2 второй), потребуется 4 периодических импульсатора. (Из табл. III видно также, что каждый из этих периодических импульсаторов используется для различных ситуа-
ТАБЛИЦА IV
ИМПУЛЬСАТОРЫ, ИСПОЛЬЗУЕМЫЕ ДЛЯ ПОСЫЛКИ ИМПУЛЬСОВ НА ПЕТЛИ С1 и с2
Операция
р
Выход из Р присоединяется к
Ширина (2*)
Высота (и + 2)
(0.6)
Р (1111011110110111001)
28
7
(0.10)
Р (111101)
10
4
(0.14)
Р (1010)
“1
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)
^1
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)
Одиночный импульс
Р2
—
1
ций (их всего 5, 5, 3, 3), связанных с различными дополнительными задержками. Это может привести к мысли о необходимости использования для каждой ситуации своего периодического импульсатора, т. е. 16 импульсаторов, а не 4. Удобнее, однако, учесть все ситуации с помощью других схем, которые мы будем рассматривать позже, и ввести лишь 4 импульсатора РР, как сказано выше.) Далее, в табл. III фигурирует тройной возвратный счетчик Ф, но так как он должен иметь 2 различных подключения с и d (к иь wx и к у2, ^2)7 то на самом деле нужны два таких органа. Каждый импуль- сатор РР управляется двумя входными сигналами а+ и а_, идущими от УУП, и обладает единственным выходом, с которого посылаются импульсы на ыь и2, и2. Каждый счетчик Ф имеет входную — выходную пару а, Ь. соединенную с УУП, и входную — выходную пару с, d, соединенную с г1? или с v2l w2.
Наконец, нам нужен дискриминатор ¥ для различения последовательностей 1 и 10101. Он имеет единственный вход а, соединенный с wYl и два выхода Ь, с, импульсы с которых идут к блоку КСЗС (см. рис. 38).
[Фон Нейман не обратил внимания на одно обстоятельство, связанное с присоединением входа а дискриминатора ¥ к выходу w^ петли Ср Если Ci применяется для хронометрирования удлинения (или укорочения) временной петли С2, то с w2 на тройной возвратный счетчик Oi (рис. 39) поступают одиночные импульсы. Но эти импульсы поступают также и на дискриминатор ¥, который в этом случае сообщает в КУ, что поступила последовательность 1.
Мы будем предполагать, что узел КУ построен так, что он не реагирует на эти ложные сигналы. Можно было бы предположить, что в период работы счетчика Oi на входе в Ч7 стоит схема совпадений, управляемая сигналами от РР(1). Но это привело бы к некоторому изменению схемы блока СЗС.]
Все эти органы показаны на рис. 39 в том положении, которое они занимают по отношению к С1? С2 (т. е. uVl vYl wv, u2l v2, w2^ и по отношению к УУП. Этот ансамбль составляют импульсаторы Р (под номерами 0.6—0.24, 0.0—0.31, 0.2—0.21, 0.4), периодические импульсаторы РР, счетчики Ф (обозначенные Ф19 Ф2) и дискриминатор ¥. Все они показаны на рисунке без соблюдения их настоящих размеров. Весь ансамбль является частью узла УУП. Другая часть узла УУП расположена слева от ансамбля вдоль вертикальной пунктирной линии. Справа ансамбль присоединяется к петлям С19 С2, как показано на рисунке. Импульсаторы Р табл. IV отмечены на рис. 39 номерами соответствующих им операций, за исключением двух генераторов, дающих одиночную стимуляцию (они показаны в виде прямых каналов). Все входы и выходы снабжены соответствующими пометками. Пометки на входах и выходах, с помощью которых ансамбль соединяется с оставшейся частью узла УУП, не нуждаются в пояснениях; всего соединений такого типа 30, из них 4 являются входами в УУП, а 26 — выходами из УУП.
Заметим, что органы Р, РР и Ф ориентированы стандартным образом (т. е. их ориентация соответствует рис. 16, 18, 23), а Ч7 отражен относительно вертикальной оси по сравнению со своим обычным расположением (на рис. 25). Ясно, что такое расположение требует лишь тривиальных преобразований этой конструкции. (На рис. 25 показаны еще Р и D; они должны быть отражены по отношению к вертикали. При этом нужно выполнить соответствующие преобразования в связи с рис. 16 и 22. Они также не приводят к нежелательным последствиям, см. рассуждения в разд. 3.6.1, относящиеся к рис. 29.)
Ансамбль рис. 39 должен управляться, как мы отметили в начале этого раздела, в соответствии со схемой, описанной на рис. 38 и в табл. II. Органы, осуществляющие это управление, расположены в глубине УУП. Мы видели (рис. 39), что соединений между этой областью и нашим ансамблем довольно много: 4 входа и 26 выходов. Поэтому с практической точки зрения очевидно, что линии, представ-
ляющие эти 30 соединений, будут неоднократно пересекаться, прежде чем попадут на соответствующие точки органов управления внутри УУП. Отсюда следует, что нужен орган, позволяющий обойти трудности, связанные с пересечением линий: этим органом может быть кодированный канал разд. 3.6.
Мы пока еще не можем указать тот кодированный канал, который нам потребуется, т. е. выбрать соответствующее устройство, обсуждавшееся в первой части разд. 3.6.1 и схематически изображенное на рис. 28g — 28k. Мы это сделаем позже, а сейчас рассмотрим лишь его часть, соседнюю с ансамблем рис. 39, т. е. ту, которая расположена вдоль вертикальной пунктирной линии по левому краю рисунка.
Мы видели выше, что с этой частью связано 30 линий (4 входных и 26 выходных). Каждый из этих входов и выходов возбуждается (или возбуждает) независимо от других. В обозначениях, использованных в начале разд. 3.6.1, они соответствуют входам а^ и выходам Ь^ (с точки зрения нашего кодированного канала), где v принимает различные значения. Поэтому множество значений v (= 1, . . ., п) должно содержать не менее 30 различных элементов, т. е. должно выполняться неравенство п>30. На самом деле разумно брать п еще большим, так как потребности, связанные с УУП, приведут к необходимости иметь дополнительные значения v для входов av и выходов Ь^ этого кодированного канала (см. ниже).
Исходя из всего этого, найдем значения т и к (см. разд. 3.6.1), определяющие кодовые последовательности iy . . . i™ (v = 1, . . - . . ., п). Можно использовать формулу (12') и рассуждения после (13'): при данном т находим /с ( = (т + 1)/2 или т!2 в зависимости от того, какое из этих чисел целое) и, согласно (12'),
(
т — 1\
к—
Чтобы выбрать подходящее значение п, возьмем т — 7, 8, 9 и соответствующие значения к и maxn:
т789
к445
maxn203570
Так как неравенство п ^ 30 должно выполняться и притом с некоторым запасом, то т = 7 не подходит, запаса, который дает т — 8, недостаточно (см. ниже), а т = 9 удовлетворяет нашим требованиям (см. ниже). Итак,
т-9,£-5(32')
и
п<70.(33')
Согласно разд. 3.6.1, каждая последовательность ^ • • • ^ начинается с 1, имеет длину т = 9 и содержит & = 5 разрядов 1. Таким образом, она имеет вид 1^ . . . г^ где среди ^, . . ., г£ находятся 4 единицы и 4 нуля. Таких последовательностей всего
/т —1\/8\U- v=w/т —1\/8\U- v=w= 70.= 70.
/т —1\/8\
U- v=w
/т —1\/8\
U- v=w
= 70.
= 70.
Расположим их в лексикографическом порядке и пронумеруем с помощью индекса v = 1, . . ., 70. Этим определится последовательность Ц . . . 1™ — Ц^ . , . I® для каждого v = 1, . . ., 70, и в частности для v = 1, . . ., п (где п удовлетворяет условию (33')). Расположим входы сц и выходы Ъ» рис. 39 (а именно щ *1, . . ., Фге^) но вертикали (как на рисунке) и пронумеруем их с помощью индекса v - 1, . . ., 30.
[Фон Нейман переходит к вычислению размеров ансамбля рис. 39.
Оказывается, что высота узла CCi больше высоты блока СЗС. Так как фон Нейман хотел разместить каждый импульсатор и декодер узла CCi против того органа блока СЗС, с которым тот соединен, то высота узла CCi определяет высоту комплекса CCi — СЗС. Далее в узел CCf входят 4 импульсатора Р и 26 декодеров D. Фон Нейман считал, что высота каждого равна 7, и, учитывая защитную полоску из состояний U между каждыми двумя соседними органами, получил, что высота узла CCi равна 239.
Но это не так. Последовательности, которые фон Нейман использовал в кодированном канале, имеют длину 9, каждая из них начинается с единицы и содержит еще 4 единицы. Согласно правилу разд. 3.3 для вычисления размера декодера, высота декодера для последовательности длины 9 с 5 единицами равна 10 или 11 в зависимости от конкретной последовательности. Хотя правило разд. 3.3 часто дает высоту, превышающую настоящую высоту декодера, созданного в соответствии с алгоритмом конструирования разд. 3.3Т но все равно в конструкции фон Неймана для CCi нужна высота более 300. Эта простая ошибка разрушает большую часть дальнейших вычислений фон Неймана, касающихся размеров узла УУП и задержек в нем.
Эту ошибку нельзя исправить, просто увеличивая высоту узла CCi и тем самым узла УУП. Причина, по которой такое исправление не проходит, связана с фазировкой работы периодических импульсато- ров РР и тройного возвратного счетчика Ф блока СЗС. Каждый импульсатор РР должен был бы работать в течение времени, равного тройной задержке на петле Ci или С2 (см. табл. II, разд. 4.3.2). Но есть еще некоторая задержка внутри каждого счетчика Ф, а также между вторичной входной — выходной парой каждого счетчика Ф и era соединительной петлей. Кроме того, периодический импульсатор РР
блока C3G управляется от блока КСЗС. Поэтому первоначальный выходной сигнал от счетчика Ф блока СЗС должен пройти через СС19 главный канал, СС2, КСЗС, снова через главный канал и снова через ССЬ прежде чем он сможет отключить импульсатор РР блока СЗС. Всего на этом пути теряется 2000 единиц времени. Поэтому для правильной фазировки начало работы импульсатора РР блока СЗС надо задержать примерно на 2000 единиц времени по отношению к пуску связанного с ним тройного возвратного счетчика Ф. Часть этой задержки достигается в органах ОУ блока КСЗС, но большую часть обеспечивает область W. В дальнейшем выяснится, что область W недостаточно велика, чтобы обеспечить задержку, нужную для схемы фон Неймана.
Ошибку фон Неймана можно исправить, расширяя вправо область W, но при этом нарушится прямоугольная форма узла УУП. Существует несколько способов исправления этой ошибки без изменения размера УУП. В гл. 5 мы разработаем новые схемы узлов Z и W, в которых можно будет уменьшить высоты так, чтобы узел СС4 распространился в область, занимаемую сейчас узлом Z.
Фон Нейман вычислил также ширину блока СЗС и узла ССР Самый широкий орган в СЗС — импульсатор 0.6, вырабатывающий последовательность с 14 единицами (см. табл. II разд. 4.3.2). Для него требуется 28 клеток в ширину. Все другие органы блока СЗС занимают в ширину не более 24 клеток. Фон Нейман добавил 1 единицу для вертикального канала, идущего от этого импульсатора к входу ъц петли С17 и блок СЗС стал занимать в ширину 29 клеток. Так как кодовые последовательности, входящие и выходящие из СС17 содержат по 5 единиц каждая, то каждый импульсатор и декодер узла CCi занимает в ширину 10 клеток. Фон Нейман добавил с каждой стороны полоску в соответствии со схемой рис. 29. Отсюда ширина узла CCi стала 12. Общая ширина комплекса CCt — СЗС равна, таким образом, 41.
На самом деле и здесь допущена ошибка. Вертикальный канал от выхода импульсатора 0.6 проходил бы тогда через конфлюентное состояние, находящееся в нижнем правом углу этого импульсатора, и получал бы от него импульсы, вызывающие на входе гц петли С^ неверные последовательности. Эту ошибку можно исправить, сохранив ширину 41 комплекса CCt — СЗС. Импульсатор 0.6 можно повернуть так, чтобы верхняя сторона была внизу, а схему его изменить так, чтобы он стал выше и уже. Лучше всего переделать схему кодированного канала, а вместе с ней и всего узла СС^ следующим образом.
Подсчитаем число попарно различных кодовых последовательностей, необходимых для кодированного канала узла УУП. Сигналы, посылаемые с выходов о2, о3, о5 из УУП, а также поступающие на вход /3 в КУ, проходят по X, и для них нужны 4 кодовые последовательности. Потом окажется, что в области Z нужны также 4 кодовые
последовательности. Анализ рис. 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. Это значит, что, добавляя изолирующие полоски из невозбудимых состояний, можно добиться, что высота узла CQ будет 320, а ширина 10.
Таким образом, мы получили следующие значения соответственно высоты и ширины узла УУП и его главных частей (см. рис. 37):
УУП
547
87
G3C
320
31
КСЗС
545
22
сс.
320
10
сс2
545
10
ССз
545
10
На основании этих данных можно ожидать, что синтез можно осуществить, не увеличивая никакой орган блока СЗС. Это предположение будет подтверждено в гл. 5.]
Основные органы ОУ в УУП. Мы выполнили первую задачу, сформулированную в начале разд. 4.3.3: конструирование и расположение органов, фигурирующих в табл. III и IV разд. 4.3.2, и дискриминатора ¥, т. е. тех органов, которые находятся в прямом контакте с и^ vYl wVl u2l u2, w^ (т. e. с петлями Ci и C2). Теперь мы можем перейти ко второй задаче, сформулированной в разд. 4.3.3Т а именно к управлению органами в соответствии со схемой рис. 38 и табл. II разд. 4.3.2.
Прежде чем заняться вплотную этой задачей во всей ее полноте,, рассмотрим одну предварительную проблему: исследуем управление работой 4 периодических импульсаторов РР рис. 39 в соответствии с условиями табл. III разд. 4.3.2.
Согласно этим условиям, каждый импульсатор РР надо сначала включить, а потом выключить так, чтобы задержка между двумя этими моментами превышала на определенную величину задержку между моментами подачи импульса на вход а счетчика Ф и моментом появления отклика на его выходе Ь. Каждый импульсатор РР связан с одним из входов иь рь u2, и2. Обозначим тот вход, который будем рассматривать, через й, а соответствующий счетчик Ф (ФА или Ф2} через Ф. Тогда надо сначала возбудить й *а+ и Ф •«, а затем допустить, чтобы отклик органа Ф на выходе Ф-Ь возбуждал й*а_. Задержки между этими процессами должны быть подобраны так, чтобы они вместе давали нужную разницу в задержке (разность между задержками от й-а+ к й*а_ и от Ф *а к Ф*6), о которой говорилось выше.
Этот управляющий орган обозначим символом ОУ.
[См. рис. 40, который отличается от конструкции фон Неймана в 4 отношениях. Во-первых, фон Нейман расположил выход b выше выхода с; наше расположение лучше, так как импульс от b не надо задерживать относительно импульса от с. Во-вторых, у фон Неймана нет под РР(1) изолирующего ряда из состояний U, а он нужен, поскольку нижний ряд импульсатора РР(1) содержит конфлюентные состояния. В-третьих, у фон Неймана ОУ имеет ширину 17, а у нас 16. В-четвертых (и это самое важное), фон Нейман использовал свой периодический импульсатор РР(1) (см. рис. 17b). Это плохо по следующим причинам.
В каждый момент времени включено не более одного органа ОУ блока КСЗС (рис. 41). Когда ОУ включен, он управляет блоком СЗС. Выходной сигнал от первичного выхода тройного возвратного счетчика (Ф1 или Ф2) блока СЗС (рис. 39) вызывает импульсы на стоп-
входах а_ нескольких органов ОУ блока KG3C. Как отмечено в конце разд. 3.2.2, разработанный фон Нейманом периодический импуль- •сатор РР(1) (рис. 17), возбуждаемый импульсом, пришедшим на стоп- вход а_ в тот момент, когда он неактивен, будет поврежден. Другой вариант периодического импульсатора РР(1) (рис. 20) в таких случаях не повреждается, поэтому мы использовали его в ОУ.]
У нас есть 2 различных импульсатора РР, но так как они подсоединены к 4 различным входам и (каждый вход й определяет импуль- •сатор РР, а также его счетчик Ф, см. табл. III), то, казалось бы, понадобятся 4 органа ОУ. На самом деле эти 4 случая разбиваются на 16 подслучаев в соответствии с табл. II и III, причем каждый подслучай отвечает операции, отмеченной звездочкой в табл. II. Действительно, все такие операции требуют различных очередных ходов и последовательностей ходов (табл. II) и различных дополнительных задержек (табл. III). (Те операции табл. III, в которых эти дополнительные задержки одинаковы, связаны с различными входами й.) Итак, нам нужно 16 органов ОУ, по одному для каждой операции, отмеченной звездочкой.
Рассмотрим теперь конкретный орган ОУ, т. е. конкретную операцию из табл. II, отмеченную звездочкой. Вход а первичный. Импульс на а должен идти к и *а+ и Ф «а, так что их надо присоединить к двум выходам — к Ъ и с соответственно. Заметим, что эти й -а+ и Ф «а следует представлять себе как подходящие входы кодированного канала, а й-а^ и Ф «а на рис. 39, составляющие конечную цель, являются выходами этого кодированного канала. Следовательно, на работу этого органа (в том числе на й -a+ и Ф -а) будут влиять соответствующие задержки, связанные с использованием кодированного канала. Дальше мы покажем, что это относится и к и -а_ и Ф -Ь. Все задержки в кодированном канале будут влиять на величину дополнительной задержки, приведенной в табл. III. В связи с этим точные значения задержек надо устанавливать в ОУ с учетом этого обстоятельства. Окончательно их можно определять лишь после выбора точного положения этого ОУ по отношению к кодированному каналу и после планировки и расположения всего кодированного канала по отношению к блоку C3G. Поэтому мы пока не будем устанавливать точных значений задержек, а лишь свяжем с некоторой областью задержки D (не указывая ее точных размеров) путь задержки от а к Ь, который нам понадобится для нашей цели; этот задерживающий путь мы обозначим буквой Ж.
Перейдем к другим функциям органа ОУ. Отклик на Ф *Ь должен возбуждать вход й -а_, а также стимулировать очередной шаг, определяемый табл. II (или, более широко, общей схемой рис. 38) для этого органа ОУ (т. е. для соответствующей операции, отмеченной звездочкой).
Однако нельзя прямо соединить Ф-Ьсм-а^ис входом блока очередного шага. Действительно, один и тот же выход Ф *Ь относится к нескольким случаям (6 для Ф! и 10 для Ф2, см. табл. III). Соответственно он относится к двум возможным входам и (w2, р2 для Ф! и uXl vv для Ф2, см. табл. III) и нескольким возможным очередным шагам (6 или 10, см. выше). Поэтому надо снабдить ОУ памятью, которая заставляла бы импульс от Ф-Ъ активировать только принадежа- щий этому ОУ вход й *а„ и производить очередной шаг.
На самом деле для й*а_ этого можно и не делать, т. е. Ф *Ь можно связать со всеми uv *а_, vv *а_. и^а^ и2 *а-- Тогда надо просто выключить не только включенный (от й-а^ импульсатор РР, готовый теперь к выключению (в соответствии с нужным входом й), но и еще 3 импульсатора РР, которые не были включены. Выключение же импульсатора РР [рис. 39], который до этого не был включен, ничего не меняет [см. конец разд. 3.2.2].
Что касается очередного шага, то здесь специальный контроль импульса от Ф -Ь необходим. Действительно, если этот импульс будет запускать сразу все очередные шаги, отвечающие данному счетчику Ф (6 или 10 соответственно, см. выше), то это приведет к нарушению работы всего автомата. Поскольку такой специальный контроль импульса от Ф«& необходим из-за его влияния на очередные шаги, будет проще распространить этот контроль и на й-а_.
Для осуществления этого специального контроля (т. е. проверки совпадения того, что рассматриваемый нами конкретный орган ОУ является как раз тем органом ОУ, который был приведен в активное состояние, с наличием отклика на Ф -Ь) требуется орган памяти и затем схема совпадений. Органом памяти служит, разумеется, периодический импульсатор РР(1), включаемый импульсом, идущим с входа а органа ОУ. Этот импульсатор РР(1) все время подает 1 импульс на схему совпадений, т. е. на клетку С в правом нижнем углу рис. 40. Когда появляется отклик на Ф -Ь (т. е. когда возбуждается вход d), на схему совпадений приходит второй импульс и с нее начинают поступать импульсы на выходы е и /. Выход е соединен с й*а_, выход / соединен с органом, дающим очередной шаг.
Вход d также очищает память, т. е. выключает РР(1).
[Из рис. 40 и 20 видно, что] РР(1) выключается достаточно поздно, чтобы помешать осуществлению операции обнаружения совпадений.
Далее, область D имеет ширину 15, а высота ее К все еще не определена. Мы определим ее позднее, когда установим точную планировку и расположение различных органов по отношению друг к другу. Ясно, что обсуждение и определение задержек внутри ОУ надо отложить до того момента.
Блок контроля считывания — записи — стирания (КСЗС) *). [См. рис. 41.] Рассмотрим теперь общую проблему, намеченную в начале разд. 4.3.4: управление органами, находящимися в прямом контакте с соединительной петлей Ct и временной петлей С2 (т. е. комплексом CCj —СЗС рис. 37), в соответствии с рис. 38 и табл. II разд. 4.3.2. За основу, разумеется, мы возьмем орган ОУ разд. 4.3.4. Из рис. 38 видно, что надо удовлетворить еще одному требованию к памяти. Речь идет о командах «запустить а0» и «запустить ар>.
Активность, зависящая от выполнения конкретной команды из из этих двух («орган а0 активен» или «орган at активен»), для каждой команды повторяется дважды. Проще всего связать с этой функцией «локальную» память в каждой из 4 относящихся к ней точек. Для этой цели нам понадобятся 4 импульсатора РР(1). Таким образом, активность, зависящая от того, какой из органов, а0 или аь активен (строки 9 и 15), будет определяться схемой совпадений (С), на которую один импульс будет поступать от соответствующего импульсатора РР, а другой — от логического предшественника рассматриваемой активности (рис. 38).
Наконец, у нас есть 2 команды «остановить а0» и 2 команды «остановить ар>, означающие, что надо выключить 2 импульсатора РР (отвечающие органу а0 или а^. Здесь возможно некоторое отклонение от рис. 38. Действительно, команды выключения можно задержать до конца этих последовательностей (т. е. до момента, когда возбуждается вход t3 (строки 12 и 19)). В этот момент все 4 последовательности встречаются, поэтому все выключения может осуществить один импульс, останавливающий все 4 импульсатора РР. Таким образом, выключатся не только включенные 2 импульсатора РР (того органа а0 или а19 который был активен), но также и 2 импульсатора другого из органов а0, а19 которые и не были включены. Но это не причинит вреда, так как ни на что не влияет. [Как было объяснено в конце разд. 3.2.2, это верно для периодического импульсатора фон Неймана в общем случае, но не для импульсатора РР(1)Г изображенного на рис. 17b. Поэтому здесь следует использовать импульсатор РР(1) рис. 20. Иными словами, в качестве всех 4 им- пульсаторов РР(1) рис. 41b, 41с и 41е надо взять РР(1) рис. 20.]
Импульсом, останавливающим сразу все 4 импульсатора, будет, очевидно, импульс на входе i3.
Все эти соображения приводят нас к рис. 41.
Структура этого рисунка очень близка к структуре рис. 39. Вертикальные пунктирные линии, ограничивающие его с обеих сторон,
!) [Фон Нейман озаглавил этот раздел: «Управляющая область в В. Общие размеры узла В».]
Часть II. Теория автоматов272
Операция
Орган управления
Выходы из КСЗС. входы в СЗС
Используемый тройной возвратный счетчик
Последовательности, посылаемые на петли Ci или Сг
Воздействие на Ci или Сг
ОУ!
U2*Cl+l и 2* а-
Ф1
Подать я 4-1 110110 на и2
Рис. 32а—32b
Удлинить С2
Подать 1110100 на и2
Рис. 32b—32с
0У2
Р2 *^+1 ^2 *^
Ф1
Подать п-\-Л 110000 на р2
Рис. 32с—32d
Z/2e 1
Подать 11010 на р2
Рис. 32d—32е
0У3
z/l*«+, uya_
Ф2
Подать п 110110 на иу
Рис. 33а — 33b
Удлинить ниж
UyA
ПодатьПИОНИО! 10111001 на иу Рис. 33b-—33с
нюю часть петли Ci
ОУ4
vya+, vy*a_
Ф2
Подать п 110000 на иу
Рис. 33с—33d
Pl-2
Подать 110101101011001 на
Рис. 33d —ЗЗе
Удлинить верхнюю часть пет
ОУ5
иуа+, иуа_
Ф2
Подать п 110110 на иу
Рис. ЗЗе—36а
Uy2
Подать 111101 на иу
Рис. 36а — 36b
ли Ct и записать
оу6
Py*a+l vv-a_
Ф2
Подать /г 41 110000 на иу
Рис. 36b — 36с
0 в ячейку хп
Pi*3
Подать 1010 на pt
Рис. 36с—36d
Удлинить верх-
0У7
иу(Ц, иу • а_
ф2
Подать «41 110110 на uv
Рис. ЗЗе—33f
нюю часть петли Q и записать
z/1-З
Подать 1010 на и у
Рис. 33f — 33g
1 в ячейку хп
0У8
Pj«a+, uyd_
®2
Подать ^4-1 110000 на и у
Рис. 33g — 33h
ТАБЛИЦА V
КАК ОРГАНЫ^ПРАВЛЕНИЯ БЛОКА КСЗС УПРАВЛЯЮТ ИМПУЛЬСАТОРАМИ И ПЕРИОДИЧЕСКИМИ ИМПУЛЬСАТОРАМИ БЛОКА СЭС
Гл. 4. Конструкция ленты и системы управления ею
Операция
Орган управления
Выходы из KC3G, входы в C3G
Используемый тройной возвратный счетчик
Последовательности, посылаемые на петли Ci или С2
Воздействие на Ci или С2
0У9
П 2 *? U2-U_
Ф1
Подать
и 110110 на и2
Рис. 32а — 34а
Подать
111101 на и2
Рис. 34а — 34b
Укоротить С2
ОУ10
v2-a_
'1'1
Подать и 110000 на и2
Подать одиночный импульсная
Рис. 341)—34с
Рис. 34с —34d
ОУи
ZZ2 * ^4-) ^2 *
м2-3
Ф1
Подать
Подать
п—1 110110 на и2
11010 па и2
Рис. 34d—34е
Рис. 34е— 34f
Рис. 34f —34g
ОУ12
и2-а+) и2-а_
ф 1
Подать ;
п — 1 110000 на я
ОУ13
и^*а_
Ф2
Подать
п 110110 на
Рис. 33а —35а
Укоротить ниж
zz1-4
Подать
11110111101 на Ui
Рис. 35а—35b
нюю часть петли Ск и произве-
ОУ14
Я’й4-> Z?t-(7_
ф2
Подать
п 110000 на Ui
Рис. 35b—35с
сти запись в ячейку хп
Записать 0
vr4
Подать
110101 на ut
Рис. 35с —35d с U в хп
Записать
1
Я-5
Подать
1101011010 на Ui
Рис. 35с — 35d
Укоротить верх-
0У15
U j • CL^., Ui • Cl_ ui-5
Ф2
Подать п 110110 на и^
Подать одиночный импульс на и^
Рис. 35d—35е
Рис. 35е— 35f
нюю часть петли Ci
ОУю
ф2
Подать
п— 1 110000 на
Рис. 35f-35g
Vi-Q
Подать
НОЮ на ut
Рис. 35g—35h
Продолжение
(См. также рис. 39 и 41.)
играют ту же роль, что и одиночная вертикальная пунктирная линия на рис. 39. Как отмечалось в разд. 4.3.3, последняя обозначает часть кодированного канала, смежную с ансамблем рис. 39 (т. е. узел СС1г смежный с СЗС на рис. 37). Аналогично две упомянутые выше линии теперь указывают части кодированного канала, смежные с двумя краями ансамбля рис. 41. Связь между этими тремя частями кодированного канала (СС1? СС2 и СС3) мы опишем далее; мы покажем, что вместе они составляют большую часть кодированного канала узла УУП.
Все входы и выходы органов, изображенных на рис. 41 (РР, ОУ), указаны. Входы и выходы, соединяющие этот ансамбль с кодированным каналом (т. е. с СС2 и СС3) и с КУ, помечены символами, не требующими пояснений.
Все, что расположено в стороне СС2 блока КСЗС, является выходом из СС2; всего таких выходов 33. Один и тот же выход bv может встречаться несколько раз, причем он занимает соседние клетки. (В одном случае 2 соседствующих выхода Ф4 •&, в другом 4 соседствующих выхода Ф4 *Ъ и еще в 5 случаях 2 соседствующих выхода Ф2 -Ь.) В каждом из этих случаев можно было бы заменить группу соседствующих выходов одним выходом, сокращая таким образом стороны СС2 (т. е. уменьшая высоту этого узла). Но высота узла СС2 обусловливается не этим (см. далее), так что нет смысла в ее уменьшении. С другой стороны, объединение этих выходов привело бы к необходимости введения вертикальных каналов распределения в ансамбле, расположенном справа от СС2 (ведущих к различным органам ОУ, на которые подаются сигналы от этих выходов Ь^ т. е. от Ф1 *Ь и Ф2*6), а поэтому ширина ансамбля существенно возросла бы.
Все, что расположено на стороне СС3, является входом в СС3; всего таких входов 68.
Кроме того, есть еще 2 входа оь о4 и 2 выхода ^, Z2, расположенные в верхней части рис. 41.
Входами а^ и выходами Ь^ участков СС2 и СС3 кодированного канала служат все входы и выходы участка CQ (рис. 39), а также р, t3 (они могут быть как входами, так и выходами), о2, о3, о5 (они могут быть только выходами). Таким образом, к тем 30 различным значениям v, которые были нужны для CQ (см. разд. 4.3.3), добавляются еще 5. Это согласуется с нашим обсуждением формул (32') и (33'). Итак, должно выполняться условие п ^ 35. (Дальше мы покажем, что п надо брать еще больше.)
[В оставшейся части раздела фон Нейман подсчитал размеры узлов СС2, КСЗС и СС3; см. конец разд. 4.3.3, где обсуждаются эти результаты.
Мы добавили табл. V, в которой собрали информацию, содержащуюся в рис. 32—36, 39, 41 и табл. II — IV. В табл. V показано, как органы ОУ блока КСЗС управляют импульсаторами и периодическими импульсаторами блока СЗС.]
ГЛАВА 55.1. ЗАВЕРШЕНИЕ СИНТЕЗА УЗЛА
УПРАВЛЕНИЯ ПАМЯТЬЮ. 5.1.1. Ос-
САМОВОСПРОИЗВЕДЕНИЕтальная часть рукописи фон Нейма-
АВТОМАТОВна‘ РУКОПИСЬ содержит еще 6 раз
делов, а затем внезапно обрывается. В основном в этих разделах вычисляются задержки внутри УУП. Большая часть вычислений не верна из-за ошибок, допущенных фон Нейманом в процессе синтеза и при подсчете размеров различных органов и узлов в гл. 3. По этой причине мы не приводим оставшуюся часть рукописи, а лишь резюмируем ее содержание. Опущенные разделы занимают примерно объем гл. 3 и содержат 7 рисунков. Организация и работа узла УУП описывается в разд. 4.3.1 ина рис. 37. В конце гл. 4 синтез УУП доведен фон Нейманом до следующей стадии.
Блок считывания — записи — стирания (СЗС). Импульсаторы. периодические импульсаторы, тройные возвратные счетчики и дискриминаторы, составляющие СЗС, сконструированы, и их порядок в СЗС установлен (рис. 39). Точное положение этих органов в СЗС не указано, но известно, что каждый из них должен располагаться так, чтобы на него почти прямо попадал импульс с выхода декодера узла СС4 и (или) с его выхода импульс попадал почти прямо на им- пульсатор узла СС^ Блок СЗС должен иметь в высоту 320 клеток и в ширину 31 клетку. Положение выхода w^ временной петли Сг можно выбрать многими способами. Фон Нейман поместил его на высоте 48 клеток от основания блока СЗС.
Блок контроля считывания — записи — стирания (КСЗС). КСЗС состоит в основном из органов ОУ; они сконструированы, но размер области задержки D не определен и не синтезирован путь задержки Ж (рис. 40). Органы ОУ (всего 16) и 4 импульсатора РР (Г) расположены, как показано на рис. 41. Точное положение их в КСЗС не выбрано, но известно, что каждый орган должен располагаться так. чтобы прямо на него, насколько это возможно, попадал импульс с выхода декодера узла СС1? а с его выхода импульс попадал почти прямо на импульсатор узла ССр Блок КСЗС должен иметь в высоту 545 клеток и в ширину 22 клетки.
Кодированный канал. Блоки КСЗС и СЗС должны размещаться так, как показано на рис. 37. Кодированный канал состоит из узлов
СС3, X, Z, CQ, CC2 и главного канала. Главный канал простирается от черного кружочка вблизи середины нижней части рис. 37 до черного квадратика в верхнем левом углу этого рисунка; точнее, главный канал оканчивается там, где он подходит к самому верхнему пмпульсатору узла СС2. Код, используемый в этом кодированном канале, имеет следующие характеристики. Каждая кодовая последовательность начинается с единицы и содержит еще 3 единицы; длина последовательности не более 9. Такой код допускает 56 различных последовательностей; позже мы покажем, что можно обойтись даже меньшим числом их. Эти последовательности не распределены фон Нейманом по входам и выходам кодированного канала. Импульсаторы кодированного канала занимают в ширину 8 клеток и в высоту 7 клеток, а декодеры — в ширину 8 клеток и в высоту 10 клеток. Узел CQ имеет в ширину 10 клеток и в высоту 320 клеток, а каждый из узлов СС2 и СС3 — в ширину 10 клеток и в высоту 545 клеток.
х Узел управления памятью (УУП). В высоту он занимает 547 клеток, а в ширину 87 клеток, причем предполагается, что еще не синтезированные органы можно уместить на этом пространстве.
Теперь остановимся коротко на результатах фон Неймана, полученных в той части рукописи, которую мы не публикуем. Во-первых, фон Нейман объединил блок G3C с блоком KG3G, как показано на рис. 37. Анализ разд. 4.3.3 и рис. 39 показывает, что через CCj информация передается в обоих направлениях, так что в CCi входят как декодеры, так и импульсаторы. Анализ разд. 4.3.5 и рис. 41 показывает, что КСЗС получает информацию только от СС2 и передает информацию только к СС3. Следовательно, в СС2 входят только декодеры, а в СС3 — только импульсаторы. Поэтому нециклический кодированный канал (рис. 28k) вполне достаточен для наших целей. Это значит, что подходит кодированный канал рис. 37. Иначе нужен был бы циклический канал (рис. 30) и тогда надо было бы записывать кодовые последовательности главного канала рис. 37, когда они достигают конца главного канала, а затем передавать их к началу главного канала (см. рис. 27).
Далее фон Нейман синтезировал область X. Сигналы с выходов о^, о^ и о5 узла КУ проходят по прямым передающим каналам в Y, входят в импульсаторы в X, затем в главный канал узла УУП в виде кодированных последовательностей и проходят через СС2 в блок КСЗС. Сигнал окончания, направляющийся к входу t3 узла КУ, покидает блок КСЗС через любой из 3 выходов, показанных на рис. 37, кодируется в СС3, входит в главный канал, декодируется в X и проходит через Y к i3. Область X, таким образом, содержит 3 импуль- сатора и 1 декодер, занимает в высоту 36 клеток и в ширину 10 клеток.
Фон Нейман выбрал для области Y ту же высоту, что и для X, а для Z ту же ширину, что и для X, определив таким образом размеры областей Y, Z и W. Реальный синтез области Y мы проведем потом, а пока скажем лишь, что она очень проста. Область Y содержит коммуникационные линии из обычных передающих состояний; остальная часть этой области не используется.
Итак, области X, Y, Z, W имеют следующие размеры (соответственно высоту и ширину):
X3610
Y3631
Z19110
W19131
Фон Нейман рассмотрел вопрос о задержках внутри УУП, необходимых для предотвращения искажений, связанных с интерференцией циркулирующих в этой системе сообщений. Они распадаются на 2 класса: задержки, необходимые для предотвращения искажений в главном канале, и задержки, необходимые для предотвращения искажений внутри G3C и KG3C. Фон Нейман применил правило (16') разд. 3.6.1 и пришел к выводу, что искажения не возникнут. Это заключение, однако, не верно.
Рассмотрим импульсы, идущие с выходов е и / органа ОУ (рис. 40 и 41). Импульс от е входит в СС3, в результате чего в главный канал поступает кодовая последовательность, которая декодируется в CCj и вызывает остановку некоторого периодического импульсатора блока G3C. Импульс от / обычно входит в СС3 и создает кодовую последовательность, запускающую в конце концов некоторый импульса- тор блока G3C. Импульс от / также обычно входит в верхнюю часть следующего органа ОУ, появляется на с (кроме всего прочего) и входит в СС3, запуская в итоге тройной возвратный счетчик блока СЗС. Поэтому импульсы, поступающие с выходов е и / органа ОУ, обычно приводят к тому, что в главный канал входят 3 кодовые последовательности, расположенные близко друг от друга: первая останавливает периодический импульсатор блока G3C, вторая запускает импульсатор блока C3G, а третья запускает тройной возвратный счетчик блока G3G. Для некоторых органов ОУ эти последовательности перекрывались бы в главном канале, если бы они не подвергались соответствующей задержке на путях задержки между КСЗС и СС3. В блоке КСЗС вполне достаточно места для размещения этих путей задержки.
Аналогичная проблема возникает в C3G. Рассмотрим вход к17 с которого поступают сигналы на соединительную петлю Ci. На вход Ui подаются сигналы как от импульсаторов, так и от периодических импульсаторов. При удлинении или укорочении петли Cf последовательность, идущая от некоторого импульсатора, поступает сразу же
за последовательностью, пришедшей от некоторого периодического импульсатора. Эти последовательности не должны перекрываться. Те же замечания относятся к входу ъ\ петли Q и входам и2 и р2 петли С2 (см. разд. 4.2 и табл. II из разд. 4.3.2). Это нежелательное перекрытие последовательностей можно устранить либо добавлением задержки в блок G3C, либо изменением порядка периодических импульсаторов и импульсаторов в СЗС.
Это не самое страшное. Более важную роль играет интерференция в главном канале, когда для удлинения или укорочения петель Ct и С2 используются периодические импульсаторы и тройные возвратные счетчики блока СЗС. Когда верхняя половина каждой петли достигает в длину около 200 клеток, периодический импульсатор РР блока СЗС начинает свою работу примерно в то же время, когда тройной возвратный счетчик (Ф4 или Ф2) вырабатывает выходной импульс на своем первичном выходе b (рис. 23). Кодовая последовательность, запускающая РР, и кодовая последовательность, идущая от декодера, получающего входной сигнал от Ф! или Ф2, будут в главном канале перекрываться, и это приведет к искажениям. Подробное объяснение этой проблемы и ее разрешение мы дадим в разд. 5.1.2.
Правильное выполнение работы, контролируемой каждым из 16 органов управления, зависит от соблюдения точных значений определенных задержек, причем для каждого ОУ устанавливается своя задержка. Каждый из органов ОУ контролирует выполнение операции удлинения или укорочения в одной из петель Q или С2, а отсчет времени производится с помощью другой петли и тройного возвратного счетчика. Мы проиллюстрируем это на примере задержек, связанных с органом ОУ3, см. табл. V и рис. 39 и 41а.
Периодический импульсатор РР (110110) блока СЗС с входами их -а^ и гц *а_ надо включить на время, равное примерно 6га, где п — номер ячейки в L, просматриваемой в начале процесса. Величина б^г не ограничена и поэтому не может храниться в конечном автомате УУП. В разд. 4.1.7 фон Нейман ввел временную петлю С2 для запоминания величины 2zz. Для того чтобы импульс мог пройти по петле С2 три раза, потребуется примерно 6zz временных шагов; равенство здесь приближенное, а не точное, так как петля С2 удлиняется или укорачивается до удлинения или укорочения петли СР Эти 3 круга по С2 отсчитываются тройным возвратным счетчиком Ф2. Ясно, что связанное с управлением взаимодействие между ОУ3, с одной стороны, и РР (110110) и Ф2, с другой, займет значительное время, поскольку блок КСЗС удален от блока СЗС. Эти же замечания относятся и к другим органам ОУ блока КСЗС.
Перечислим задержки, связанные с этим управлением (задержки отсчитываются от выхода конфлюентного состояния в верхнем правом углу органа ОУ3).
(Ai) Начинается с выхода с органа ОУ3, затем на СС3, главном канале, CQ и кончается на входе Ф2*а блока СЗС.
(А2) Задержка внутри Ф2, затем между Ф2 и входом р2 петли С2 (т. е. 63), затем между выходом w^ петли С2 и Ф2 (т. е. 6") И внутри С2. Вспомним, что импульс проходит по С2 трижды. Общая задержка равна 8(63 + 62) + а2 плюс необходимая задержка между моментами включения и выключения импуль- сатора РР (110110), см. табл. III разд. 4.3.2.
(А3) Начинается с выхода Ф2-Ь блока СЗС, затем на СС1? главном канале и СС2, затем от d до е органа ОУ3, на СС3, главном канале, СС4 и кончается на входе гц-а. блока СЗС. Это практически полная петля по узлу УУП.
(А4) Задержка в области D (на пути задержки ^) органа ОУ3, затем от выхода b органа ОУ3 через СС3 и главный канал к области Z, затем на Z, W и снова Z, в главном канале и CQ до входа и^ -а^ блока СЗС. Точная величина задержки на ^, в Z и W еще не установлена.
Узел УУП занимает в высоту 547 клеток и в ширину 87 клеток, так что задержка на его главном канале значительна. Ясно, что импульсатор РР (110110) должен начать работать гораздо позже, чем счетчик Ф2, так как имеется дополнительная задержка 3 (62 + 62) + + а2 плюс задержка от выхода из Ф2 по главному каналу узла УУП, через КСЗС и обратно вдоль главного канала до стоп-входа ъц*а_ импульсатора РР (110110). Поэтому обязательно нужны задержки в области D (путь ^) органа ОУ3 и в областях Z и W. Эти же задержки касаются и всех других органов ОУ, но точная величина необходимой задержки для каждого органа ОУ своя, потому что меняется положение ОУ в блоке КСЗС и периодических импульсаторов РР и счетчиков Ф в СЗС.
Фон Нейман произвел подробные вычисления величины задержки, требуемой в областях D, Z и W для каждого органа ОУ. Эти вычисления чрезвычайно длинны и сложны из-за характера той процедуры синтеза, которой придерживался фон Нейман. Далее, он не задал размеров области D органа ОУ и не определил пути ® в органах ОУ\ — ОУ16; не выбрал код для кодированного канала; не установил точное положение узлов СС2, КСЗС, Z, W и СЗС. В частности, высота блока СЗС определялась высотой узла CQ и в блоке СЗС оставалось много незаполненного места.
Фон Нейман проводил вычисления задержек, не задаваясь точными значениями всех этих величин, а затем выбрал эти параметры на основе своих вычислений. Такая процедура синтеза довольно гибка, но приводит к утомительным и сложным вычислениям. Кроме
того, некоторые из размеров, используемых здесь фон Нейманом, были взяты им неправильно, в частности высота узла ССд см. конец разд. 4.3.3. Эти ошибки сводят на нет большую часть его вычислений, так что мы не будем воспроизводить эту часть его рукописи, а лишь сформулируем основные ее результаты. Они показывают, что разработанная фон Нейманом конструкция узла УУП с соответствующими исправлениями действительно работает.
Возникающие задержки зависят от не выбранных еще деталей конструкции и от тех ее параметров, которые надо изменить для устранения ошибок фон Неймана. Поэтому мы приведем здесь лишь приближенные оценки этих величин. Задержка 3 (6? + 6") + а^ составляет порядка 600 единиц времени. Задержка А3 от Ф2«& блока C3G через ОУ3 и обратно к uv*a_ блока G3C составляет порядка 1200 единиц. Заметим, что по подсчетам фон Неймана высота блока G3C равна 239 (разд. 4.3.3), так что верхний импульсатор РР (110110) расположен примерно на 200 единиц выше счетчика Ф2. Дополнительные задержки в областях D, Z и W составляют порядка 2000 единиц. Величины задержек для разных органов ОУ отличаются друг от друга примерно на 100 единиц.
Дополнительная задержка, общая для всех периодических импуль- саторов блока G3C (т. е. около 2000 единиц), обеспечивается в областях Z и W. Та часть дополнительной задержки, которая связана отдельно с каждым органом ОУ (т. е. около 100 единиц), обеспечивается в области D соответствующего органа ОУ. В конце разд. 4.3.4 для области D была выбрана ширина 15, а значение высоты Н конкретно не указывалось. Высота блока КСЗС определялась высотой узла СС3, равной 545. Эта высота блока КСЗС позволяет взять А = 21; мы так и сделаем. Это дает для области D органа ОУ площадку 21 X 15, или 315 клеток, т. е. более чем достаточно для обеспечения задержки, индивидуальной для каждого органа ОУ.
Далее фон Нейман переходит к синтезу областей Z и W. Он делит W на 4 равные части (W1? W2, W3 и W4), оставляя еще небольшой участок. Затем делит Z на соответствующие 4 части Zb Z2, Z3 и Z4. Области Z4 и W4 он использует для получения дополнительной задер
жки, связанной с верхним импульсатором РР(ИОИО) блока G3C; области Z2 и W2 он использует для получения дополнительной задержки, связанной с нижним импульсатором РР(110000) блока C3G; аналогично для других периодических импульсаторов блока G3G.
Рассмотрим опять в качестве примера орган ОУ3. Этот орган контролирует работу верхнего импульсатора РР(НОИО) блока СЗС, запуская его сигналом на входе и^ •# + (рис. 39 и 41а). В конструкции разд. 4.3.5 этот пусковой импульс выходит из органа ОУ3 на гц -а + .
кодируется в СС3, проходит по главному каналу, декодируется в CCi и поступает в C3G на вход w1-a+. Эту конструкцию предстоит теперь модифицировать так, чтобы внести около 2000 единиц задержки в путь от ОУ3 к G3C; дополнительная задержка достигается благодаря тому, что этот путь прокладывается через области Z4 и W4. Чтобы обеспечить прохождение этого пути по областям Ъх и W19 мы перекодируем выход их -а^ органа ОУ3 новой кодовой последовательностью и**а^, поместим декодер для и**а^ в Zb поместим в Z4 импульсатор для и^ -а+ и соединим выход декодера и вход импульса- тора с помощью длинного пути, проходящего по WP
Путь задержки А 4 от ОУ3 к входу uv •#+ блока G3C теперь таков. Импульс выходит из конфлюентного элемента, расположенного в правом верхнем углу органа ОУ3, и проходит по пути ^, возбуждая и*-а+ (ил-а+ на рис. 41а). Импульсатор в СС3 посылает кодовую последовательность, соответствующую ы*-а+, в главный канал; декодер в Z4 регистрирует эту последовательность и посылает импульс вдоль длинного пути в области Wp Этот импульс возбуждает в Z4 импульсатор, и тот посылает в главный канал кодовую последовательность, соответствующую и^а^. Наконец, декодер в СС4 регистрирует эту последовательность и посылает импульс на пусковой вход сц„ верхнего периодического импульсатора РР(ИОНО) блока СЗС.
Так как органы ОУ5, ОУ7, ОУ13 и ОУ15 тоже контролируют работу верхнего периодического импульсатора РР(ИОИО) блока СЗС, то их выходы и^-а^ также следует заменить на и* -а+; соответственно надо изменить те пмпульсаторы, которые они возбуждают в СС3.
Подобные меры необходимо принять и в других органах ОУ блока KG3C и соответственно в других частях областей Z и W, так что импульс с выхода b органа ОУ будет теперь проходить по областям Z и W до запуска периодического импульсатора блока СЗС. В связи с этим появятся новые кодовые последовательности, соответствующие м*-а+, и*-а^ и ы*-&+. •
Итак, нужно внести следующие изменения в узел УУП, сконструированный в конце гл. 4. Символы гц-а^ v^a^ и^а^ и и^^а^ на рис. 41 нужно заменить на ^*-а+, р**а+, иХ*а^ и р*’а + соответственно и изменить импульсаторы узла СС3. В области Z4 теперь будет декодер для и*-а+ и импульсатор для их -а+, причем выходной сигнал с декодера будет подаваться на импульсатор через длинный задерживающий путь, проходящий по области W4. В области Z2 теперь будет декодер для р**а+ и импульсатор для i/’4-a+, причем первый будет подавать сигнал последнему через область W2. Аналогично декодер для и* -а+ в области Z3 будет посылать сигнал на импульсатор для ы2-а + через область W3, а декодер для и**а^
в области Z4 будет посылать сигналы на импульсатор для v2 -а^ через область W4.
Вспомним, что при вычислении высоты узла CCi фон Нейман допустил ошибку (конец разд. 4.3.3) и в результате получил, что высота каждой из областей W^ W2, W3 и W4 может равняться 68. Так как в ширину они должны были занимать 29 клеток, то площадка для каждой из областей содержала бы 1972 клетки. Фон Нейман хотел получить необходимую задержку, направляя импульсы по пути из обычных передающих состояний, проходящем несколько раз вперед и назад по каждой из областей. Он ожидал, таким образом, задержку в 1972 единицы, т. е. немного больше, чем ему требовалось. Кроме того, он считал, что можно получить дополнительные задержки в областях D органов ОУ. На самом деле, если принять во внимание допущенную им ошибку при вычислении высоты узла СС17 области W17 W2, W3 и W4 могли занимать в высоту не более 45 клеток, а такая высота не может обеспечить необходимой задержки.
Эту ошибку можно исправить несколькими способами. Область W можно распространить вправо. Расположение органов узла УУН можно выбрать так, чтобы получить в X, Y, Z, СЗС и СС2 свободное пространство. Но есть 2 более изящных способа.
Во-первых, области W17 W2, W3 и W4 можно построить так, чтобы каждая клетка давала задержку, превышающую 1. Так как конфлюэнтные состояния не могут возбуждать друг друга, то их можно перемежать с обычными передающими состояниями, и тогда каждая клетка дает в среднем полторы единицы задержки. Еще большую задержку позволяет получить повторный процесс: укажем один из способов его осуществления. Повторитель, изображенный на рис. 18е (разд. 3.2.2), будет давать периодическую последовательность вида 100...00. Пусть импульс, который надо задержать в области W17 запускает 2 таких повторителя, причем один из них создает последовательность длины 41, а другой — последовательность длины 47 (41 и 47 — взаимно простые числа). Подадим выходные сигналы с обоих повторителей на конфлюентное состояние. По прошествии 41 х 47 (= 1927) единиц времени на этом конфлюентном состоянии импульсы начнут совпадать. Результирующий импульс, выходящий с этого конфлюентного состояния, будет означать задержку на 1927 единиц; его можно использовать для выключения этих повторителей. Так можно добиться в области W4 задержки порядка 2000 единиц, т. е. задержки, которая была нужна фон Нейману; аналогично можно получить такие же задержки в областях W2, W3 и W4.
Другой способ достижения необходимой задержки в области W (на самом деле известный фон Нейману) состоит в замене 4 путей задержки в области W единственным путем. Разорвем соединения, идущие от главного канала к декодерам в Z, и присоединим каждый
декодер в Z непосредственно к тому импульсатору в Z, который прежде был присоединен к нему через задерживающий путь, проходящий по W. Например, выходной сигнал от декодера для и*«а+ теперь пойдет прямо в импульсатор для uv *а + (как декодер D (11001) на рис. 27 возбуждает импульсатор Р(10011) в верхней части кодированного канала). Образуем затем ветвь главного канала — через верх области Z, через W (достигается задержка порядка 2000 единиц) и далее на 4 декодера в Z.
При такой конструкции областей Z и W в главный канал добавляются 4 новые кодовые последовательности, связанные с и**^, и* *а+, и* -а+ и к* «а^. Там уже было 30 кодовых последовательностей, связанных с декодерами и импульсаторами узла CQ, и 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.1. В настоящем разделе мы объясним эту проблему, укажем методы ее решения.
Проблема интерференции возникает в блоках КСЗС и СЗС. В определенных случаях сигнал, идущий от КСЗС к СЗС, накладывается в главном канале на сигнал, идущий от СЗС к КСЗС.
Фон Нейман обозначал через п8 номер ячейки хк линейного массива L, просматриваемой на данном шаге $. При некоторых значениях п8 кодовая последовательность, запускающая периодический импульсатор блока СЗС, перекрывается кодовой последователь-
ностью, идущей от ССА к КСЗС и предназначенной для остановки того же самого периодического импульсатора. Это перекрытие происходит в главном канале между его концом и узлом ССР В некоторых случаях перекрытие приводит к искажениям, вызванным интерференцией, см. формулу (16') разд. 3.6.1. Две перекрывающиеся последовательности образуют третью последовательность, и она начинает возбуждать декодер в СС2, который не должен возбуждаться на этом этапе работы узла УУП.
Эта проблема интерференции касается всех периодических импульсаторов и тройных возвратных счетчиков блока G3G, но для конкретности мы разъясним ее на примере верхнего периодического импульсатора РР(ИОИО) блока СЗС и тройного возвратного счетчика Ф2, используемого для хронометрирования. Рассмотрим сначала функционирование импульсатора РР(ИОНО). Он запускается импульсом на входе uv -а+ в некоторый момент т+ и останавливается импульсом на входе ut-a_ в момент т_, где т+ < т_. Из табл. V видно, что разность т_ — т+ равна примерно бтг8. Отсюда момент запуска на гц •#+ определяется формулой
т+^т_ — 6п\ (1)
Рассмотрим теперь управление сигналом остановки, поданным на вход гц*а_. Он контролируется импульсом от первичного выхода Ф2-& тройного возвратного счетчика Ф2 в некоторый момент т^. Этот импульс должен пройти от Ф2-Ь через СС17 главный канал, СС2, некоторый орган управления блока КСЗС (например, ОУ3), снова главный канал и снова СС17 и затем уже он воздействует на гц-а_у останавливая импульсатор РР(ИОИО). Время, необходимое для такого перехода, представляет собой задержку А3 (разд. 5.1.1); оно равно примерно 1200 единицам. Отсюда момент появления импульса на выходе Ф2-6 блока СЗС определяется формулой
t^t_-1200. (2)
Теперь сравним уравнения (1) и (2). Для п8 = 0 (напомним, что п8 — номер просматриваемой ячейки линейного массива L) т+ примерно на 1200 единиц превосходит (момент т+ наступает позже) т^. При больших п8 момент т+ наступает гораздо раньше, чем ть. При п8 порядка 200 моменты т+ и т& совпадают. Следовательно, в этом случае кодовая последовательность гц -а+ придет в главный канал вблизи CQ почти одновременно с кодовой последовательностью Ф2 -Ь. В результате возникнут искажения, связанные с интерференцией в главном канале.
Таким образом, при некоторых значениях длин петель С4 и С2 схема, разработанная фон Нейманом для УУП, будет неправильно работать. Мы дадим два различных решения этой проблемы интерференции. Первое состоит в том, что интерференцию можно будет избежать. если не пользоваться теми ячейками из L, где она возникает. А для этого достаточно запрограммировать УУП так. чтобы значения ns, меньшие, скажем, чем 250, не использовались. Тогда ячейки я0, х^ . . ., я249 массива L никогда не будут употребляться. Это значит, что, когда включается УУП, петля Q проходит через ячейку а?250, а петля С2 имеет соответствующую длину. А это, как мы сейчас увидим, повлияет в свою очередь на план универсального конструктора.
Фон Нейман разработал следующий план универсального конструктора (разд. 1.5.2 и 1.7.2.1). Поместим вторичный автомат, который предстоит сконструировать, в прямоугольник со сторонами а и р. Требуется, чтобы состояние клетки (i, 7) (i = 0, 1, . . ., а — 1; 7 = 0, 1, . . ., р — 1) этого прямоугольника было Х^. Конструирующий процесс приведет произвольную клетку (t, 7) в любое из 10 невозбудимых состояний U, Twa0 (м = 0, 1;<х = 0, 1,2, 3) и Соо (см. рис. 9 и 10); таким образом, Хц может принимать 10 значений. Описание нужной конструкции задается первичному (родительскому) автомату в виде последовательности
^007 ^017 • • -7 ^0(3-1)7 ^107 • • -7 X^j, . . . , ^(a-D(p-l)*
Вторичный автомат, который предстоит сконструировать, вообще говоря, имеет неограниченно расширяемый линейный массив L и узел УУП для управления этим массивом. По этой причине фон Нейман строил узел УУП в виде прямоугольника. Если решать проблему интерференции нашим первым способом, то УУП надо сконструировать так, чтобы в начале его работы петля Ci проходила через ячейку ж250, а петля С2 была соответствующей длины. Чтобы сохранить прямоугольную форму узла УУП, отодвинем его границу на 250 клеток вправо, так что УУП будет занимать 337 клеток в ширину и 547 в высоту (см. рис. 37). На этой дополнительной площади лишь 1% клеток не будет находиться в невозбудимом состоянии U, а это означает, что новая площадь используется крайне неэффективно.
Поэтому, хотя наше первое решение проблемы интерференции вполне подходит, оно не изящно и фон Неймана оно не удовлетворило бы. Мы предложим второе решение, представляющее также общий интерес, ибо иллюстрирует некоторые важные черты клеточной структуры, разработанной фон Нейманом.
Клеточная структура, разработанная фон Нейманом, состоит из бесконечного массива конечных автоматов с 29 состояниями. В каждый данный момент времени в активном состоянии может быть
любое конечное число таких автоматов, поэтому клеточная структура допускает как угодно много одновременных действий, или параллельную обработку большого числа данных. В своей конструкции самовос- производящегося автомата фон Нейман не использовал преимуществ параллельной обработки данных. Он сконструировал свой самовос- производящийся автомат так, что в каждый момент времени автомат мог делать, как правило, только одну вещь. В этом отношении логическая схема фон Неймана для самовоспроизводящегося автомата подобна его логической схеме вычислительной машины EDVAC (см. стр. 28). Когда же он допускал параллельную активность при удлинении и укорочении петель Ct и С2, он сталкивался с временными вопросами. Ему потребовалась область задержки D в каждом органе ОУ (рис. 40) и область задержки W в узле УУП (см. рис. 37), чтобы отодвинуть начало работы периодического импульсатора блока СЗС, а при организации схемы остановки этого периодического импульсатора он столкнулся с той проблемой интерференции, которую мы сейчас обсуждаем.
Эта проблема не возникла бы, если бы два сигнальных пути (провода) могли пересекаться, не касаясь друг друга. Рассмотрим возможности для пересечения проводов, заложенные в клеточной структуре фон Неймана, а также их варианты. Разумеется, естественнее было бы ввести трехмерную клеточную структуру, в которой можно осуществить пересечение без касания любого числа проводов, но фон Нейман хотел построить самовоспроизводящийся автомат именно в двумерном пространстве (разд. 1.3.3.3). В рамках двумерной структуры он мог бы наделить каждую клетку еще и состоянием пересечения. Например, его автомат с 29 состояниями можно было бы дополнить новым элементом, включающим оба состояния Т008 и T01es и тогда информация могла бы проходить по клетке одновременно слева направо и снизу вверх ).
Фон Нейман не объяснил, почему он не включил состояния пересечения в число состояний его основного автомата, но, по-видимому, это произошло потому, что он хотел, чтобы состояний было как можно меньше.
На самом деле в клеточной структуре, построенной фон Нейманом, можно сконструировать орган пересечения. Такой орган показан на рис. 42а ). Обозначения на этом и следующих рисунках несколько отличаются от обозначений фон Неймана. Одиночная стрелка обо-
значает обычное передающее состояние, а двойная стрелка — специальное передающее состояние. Точка рядом со стрелкой обозначает, что первоначально эта клетка была в активном состоянии, т. е. в момент £ = О была возбуждена. На рис. 42b показано начальное состояние каждых из 5 «часов» органа пересечения в обозначениях фон Неймана.
Рассмотрим сначала поведение органа пересечения в случае, когда на входы сц и а2 подаются сигналы ООО... . Часы посылают чередующиеся нули и единицы на оба входа каждого из 6 конфлюент- ных состояний СЗ, С6, F3, F6, Е1 и Н5. Фазировка единиц (т. е. импульсов) при вхождении их в эти конфлюентные клетки показана на рис. 42а штриховыми и пунктирными линиями. Штриховая линия обозначает наличие единицы (импульса) в каждый четный момент времени (£ ^ 4), а пунктирная линия обозначает наличие единицы (импульса) в каждый нечетный момент времени (£ ^ 3). Из рис. 42а видно, что две последовательности, поступающие на конфлюентное состояние, находятся не в фазе. Функция этих тактовых последовательностей состоит в том, чтобы пропускать последовательности, приходящие на сц и a2l так, чтобы они могли пересечь друг Друга.
Последовательность t0, f17 i2, t3, i4, i5,. . ., поступающая на a-^ расщепляется на конфлюентном состоянии А4 на 2 последовательности. Часы вставляют единицу в каждую четную позицию верхней последовательности и в каждую нечетную позицию нижней последовательности. Импульсы, открывающие схемы совпадений, пропускают нечетные разряды —, гь —, i3, —, t5, . . . к выходу bv вдоль ряда 3, а четные разряды i0, —, t2l—, i4,—, . . . к выходу bt вдоль ряда 6.
Аналогично расщепляется последовательность /0, /17 /2, /3, /4. /5, . . ., поступающая на a2l причем четные разряды /0, — , /2, — , /4—, . . . идут вверх по столбцу С, а нечетные разряды —, /17 —, Уз:-: Уб7- • • вверх по столбцу F. Фазировка всей системы такова, что между элементами последовательности/о, —, 7*2,—, 7*4,— 7 • • • размещаются на клетке С6 элементы последовательности t07—, i2l —. t4,—, . . ., а на клетке СЗ элементы последовательности —, ч,—. £37—7 ^57 • • • • Точно так же между элементами последовательности — , у*!,—, j3l —, 7*5, . . . размещаются на клетке F6 элементы последовательности t07 —, i2l—, i4,—, . . ., ана клетке F3 элементы последовательности —, ц, —, i3l —7 i5, . . . . Например, последовательности, входящие и покидающие клетку С6, таковы:
Слева 0 0 10 1 Zo 1 i2 1 i4 .. .
Снизу 0 0 0 1 7*0 1 7*2 1 /4 1 ...
Выход 0 0 0 0 0 0 у0 i0 j2 i2 7*4 Н ...
Последовательности, покидающие клетки СЗ и F3, комбинируются на клетке F1 и дают выходную последовательность /0, /^ j2l • • •• задержанную на 15 единиц. Аналогично последовательности, покидающие клетки F3 и F6, комбинируются на клетке Н5 и дают выходную последовательность ц, Ч, *2, • • -т задержанную на 15 единиц. Таким образом, информация от сц к bt и от а2 к Ъ2 проходит без кроссинтерференции.
Мы используем этот орган пересечения для решения проблемы интерференции в разработанной фон Нейманом конструкции узла УУП. Интерференция возникает при ns порядка 200. При этом условии кодовая последовательность щ-а+, и^-а.^ и2 •«+ или v2 -ал., запускающая периодический импульсатор в СЗС, интерферирует с кодовой последовательностью Ф2-5 или Ф^б, которая в конце концов (через блок КСЗС) должна остановить этот периодический импульсатор. С помощью органа пересечения сигнал Ф2-6, останавливающий верхний периодический импульсатор в СЗС, можно послать прямо от Ф2. а затем в кодированный канал, при этом в блок КСЗС поступает информация о том, что эта фаза удлинения или укорочения петли Ct закончена. Аналогично сигнал Фг&, останавливающий нижний периодический импульсатор в СЗС, можно послать прямо от Ф1? а затем в кодированный канал. Эта модификация схемы, предложенной фон Нейманом, сильно уменьшает величину необходимой задержки в задерживающих областях D (органа ОУ) п W (узла УУП).
Наиболее простой способ организации прямой остановки периодического импульсатора с помощью тройного возвратного счетчика состоит в следующем.
На рис. 39а поменять местами импульсаторы 0.0 и РР(ИОООО) и перевернуть РР(ИОНО). Стоп-входы обоих периодических импульсаторов соединить (точку соединения обозначим и^и^а.у На рис. 39b поменять местами импульсаторы 0.4 и РР(ИОООО) и перевернуть РР(НОИО). Общий стоп-вход этих двух периодических импульсаторов обозначим и2-и2-а_.
Заменить одиночный столбец из состояний U (между ведущей вверх и ведущей вниз частями главного канала вблизи середины УУП) 12 столбцами клеток. Здесь мы потом разместим каналы и органы пересечения, о которых пойдет речь в пунктах (3) и (4).
Подать сигнал с первичного выхода b органа Ф4 через главный канал (с помощью органа пересечения) вниз и обратно через главный канал (с помощью второго органа пересечения) на вход u2-v2-a_1 а также на импульсатор в CQ (который пошлет в соответствующий орган ОУ блока КСЗС информацию о том, что эта фаза удлинения или укорочения петли С2 закончена).
Наконец, подать сигнал с первичного выхода b органа Ф2 через главный канал (с помощью третьего органа пересечения) вверх и за пределы канала пункта (3), обратно через главный канал (с помощью четвертого органа пересечения) на вход ut «щ «а., а также на импуль- сатор в CCi (который пошлет в соответствующий орган ОУ блока КСЗС информацию о том, что эта фаза удлинения или укорочения петли Ci закончена).
Эта организация требует лишь 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 органов пересечения узла УУП: заменим каждое активное состояние (ТОц, Ci о, COi) рис. 42 соответствующим пассивным состоянием
(T010, Coo, Соо) и уберем клетки А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 фон Нейман обсуждал работу универсального
автомата Тьюринга. До этого он сформулировал 5 основных вопросов, изучаемых в этой части:
Логическая универсальность: может ли какой-нибудь один автомат выполнять все логические операции, выполнимые конечными (но произвольно большими) устройствами?
Конструируемость: можно ли конструировать автоматы другими автоматами?
Конструктивная универсальность: могут ли автоматы конструировать другие автоматы?
Самовоспроизведение: могут ли автоматы создавать свои копии?
Эволюция: может ли конструирование автоматов автоматами прогрессировать от простых к сложным?
Фон Нейман отметил, что Тьюринг дал ответ на первый вопрос. Иными словами, универсальный вычислительный автомат (машина) Тьюринга логически универсален. Фон Нейман обещал дать положительное решение вопросов (В) — (D).
При обсуждении общих схем конструирования фон Нейман ввел неограниченный массив памяти L и для него «вспомогательные средства для наблюдения, исследования и конструирования» (разд. 1.4.2.3). Этими средствами служит узел УУП, синтез которого мы только что закончили (разд. 5.1.2). Назовем комплекс УУП -j 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. Таким образом, КУ — это конечный автомат, который взаимодействует
с узлом ленты, а также выполняет функцию конструирования. Поэтому наша задача — применить данное фон Нейманом описание взаимодействия между КУ и УУП + L таким образом, чтобы можно было охватить работу, выполняемую машиной Тьюринга.
Конечный автомат (КА) может находиться лишь в конечном числе состояний сх = 1, . . ., а. Конечный автомат и узел ленты УУП + L работают в последовательные моменты времени 0, 1, 2, 3, . . . ...,$,$+ 1, . . . . Пусть состояние автомата КА на шаге 0 будет состоянием номер 1. Обозначим через хпз ячейку в L, просматриваемую в начале шага s, а через ^ (= 0, 1) ее содержимое в этот момент. Тогда КА можно описать тремя функциями АДкЕ. Функция А определяет cxs+1 в следующий момент как функцию от состояния а8 в настоящий момент и содержимого ^s ячейки х s в начале шага s:
ам = А^а\ ^.
Функция X определяет число ^s1, которое надо записать в ячейку хп§, как функцию от cxs и ^s, или, что эквивалентно, как функцию от cxs+1:
Функция Е определяет значение es+1, характеризующее укорочение — удлинение, как функцию от as+1:
em^£(as+1).
Области определения и множества значений этих функций таковы: ccs и cxs+1 пробегают множество состояний конечного автомата, т. е. 1, 2, . . ., а;
^s и ^v принимают значение 0 (означающее, что в ячейке хк записан нуль) и значение 1 (означающее, что в ячейке хп записана единица);
es+1 принимает значения +1 (удлинение) и —1 (укорочение).
Начально покоящийся автомат представляет собой автомат, каждая клетка которого первоначально находится в одном из 10 покоящихся состояний U, Тиа0 и Соо (разд. 5.1.2). Мы покажем далее, как встроить любой заданный автомат КА в разработанную фон Нейманом клеточную структуру, т. е. как сконструировать начально покоящийся автомат, имитирующий КА.
Каждое из а состояний автомата КА будет представлено одним экземпляром органа состояния (ОС) (рис. 43). В качестве периодических импульсаторов РР (1), изображенных на этом рисунке, можно взять периодические импульсаторы рис. 20, выключение которых
не причиняет никакого вреда, даже если они до этого не были включены. На рис. 43 они показаны без соблюдения масштаба: на самом деле каждый из них занимает в длину 13 клеток и в высоту 4. Как и на рис. 42, одиночные стрелки используются для представления обычных передающих состояний.
Автомат КА состоит из а экземпляров органа ОС, связанных между собой кодированным каналом (разд. 3.6 и рис. 27). Соединения внутри КА определяются функциями А, X, Е. Внутри КА управление сдвигается от 0Са к 0Са' в соответствии с информацией, получаемой КА от УУП. Автоматы КА и УУП связаны между собой 8 каналами. На входы ц, Z2, i3 автомата КА приходят сигналы с выходов из УУП, имеющих те же отметки (рис. 37), и с выходов о^ o2l °3i °4) °о из КА сигналы идут к обозначенным так же входам в УУП.
Взаимосвязь органов ОС автомата КА с его кодированным каналом в основном такая же, как между органами ОУ узла УУП и кодированным каналом узла УУП (рис. 37).
Объясним, как работает комплекс КА + (УУП + L). К началу шага з выполнены следующие условия:
(1а) На вход Z3 автомата КА поступил импульс, обозначающий, что шаг з — 1 закончен и настал момент приступить к шагу 5.
(1Ь) Просматривается ячейка х i массива L, т. е. УУП соединяется петлей С4 с ячейкой x^s- Ее содержимое обозначено Ц5( = 0, 1).
(1с) КА находится в состоянии а8, т. е. орган OCas автомата КА находится в состоянии управления. Конкретнее, активен верхний периодический импульсатор РР (1). Этот периодический импульсатор был включен, когда укорачивались или удлинялись петли Ci и С2 рис. 37 в конце шага s — 1.
Теперь вступает в действие процесс считывания, и управление сдвигается к нижнему периодическому импульсатору РР (1) органа ОСа&: (2а) Импульс, поступающий на вход i3 автомата КА, идет через кодированный канал к входу b каждого органа ОС автомата КА. Он воздействует только на орган OCaS, выключая его верхний импульсатор РР (1) и проходя через конфлюентное состояние, открываемое этим импульсатором, а затем появляется на выходах / и к.
(2Ь) Импульс с выхода / идет через кодированный канал автомата КА к выходу 01 автомата КА, а оттуда к входу ох узла УУП, где он стимулирует начало процесса считывания ячейки x^s массива L.
(2с) Импульс с выхода к органа OCas идет через кодированный канал автомата КА к входу / того же органа 0CaS, где он
запускает нижний импульсатор РР (1). Этот импульсатор будет находиться в активном состоянии, пока происходит считывание ячейки xns с помощью УУП.
Затем узел ленты УУП + L считывает содержимое ^$ ячейки х s и посылает результат в КА:
Если ^s =0 (т. е. хпз хранит 0), то импульс с выхода ^ узла УУП идет к входу Ц автомата КА.
Если V = 1 (т. е. xns хранит 1), то импульс с выхода Z2 узла УУП идет к входу Z2 автомата КА.
Покажем, как эти сигналы воздействуют на КА (квадратные скобки соответствуют случаю V = 0, а фигурные —- случаю ^s= 1):
(За) Сигнал на вход [Zj {Z2} идет через кодированный канал автомата КА и поступает на вход [d] (в и g} каждого органа ОС. Эти сигналы воздействуют только на OCaS.
(3b) Импульс от [Zj {Z2} выключает нижний импульсатор РР (1) органа OCas.
(Зс) Импульс, идущий от [Zj {Z2} к [d] {g}, пропускается [верхним] {нижним} конфлюентным состоянием, открываемым выходным сигналом от нижнего импульсатора РР (Т), и появляется на выходах [Z, пц п] {р, q, г}.
Импульсы с [Z, т, 1г\ {р. q, г} определяют состояние автомата КА в следующий момент и содержимое ячейки xnSl а также указывают, укоротить или удлинить петли Q и С2.
Соединения выходов Z, т, п, р, q и г определяются функциями А, X и Е, характеризующими данный конечный автомат КА. Для каждого органа OCaS (as = 1, 2, . . ., а) эти соединения осуществляются так:
(4а) Импульс от [Z] {/?} идет через кодированный канал автомата КА к входу с органа OCaSti, где as+1 — A (as, ^s).
(4b) Импульс от \т\ {^} идет через кодированный канал и выходы из КА к входу о2 узла УУП, если En+1 = 0 (т. е. если в ячейку xns надо записать 0), и к входу о3 узла УУП, если £n+1 — 1 (т. е. если в ячейку x^s надо записать 1), где ^+1 = X (as+1)-
(4с) Импульс от [rd {г} идет через кодированный канал и выходы из КА к входу о4 узла УУП, если es+1 = 1 (т. е. если петли Ci и С2 надо удлинить), и к входу о5 узла УУП, если es+1 = —1 (т. е. если петли Q и С2 надо укоротить), где e^V = Е (as+1).
На этом заканчивается конструирование произвольного автомата КА в клеточной структуре фон Неймана. Осталось еще определить состояние на шаге s = 0. Мы постулируем, что этим состоянием является состояние номер 1, т. е. то, которое представляется органом OGv Если бы конфлюентная клетка в правом верхнем углу органа OCi первоначально была в состоянии Сю, то пусковые импульсы испускались бы с выходов / и к органа ОСр Эти импульсы возбуждали бы импульсаторы кодированного канала, которые в свою очередь посылали бы в главный канал кодовые последовательности ^j и 4kt а затем автомат КА функционировал бы так, как это было описано выше. Но такое устройство не было бы начально покоящимся автоматом, так как в самом начале по крайней мере одна его клетка находилась бы в состоянии, отличном от U, Twa0 и СОо- Чтобы сделать КА начально покоящимся автоматом, мы просто заставим пусковой импульс возбуждать импульсаторы кодированного канала, которые также пошлют в главный канал автомата КА кодовые последовательности У; И ^к-
Таким образом, мы показали, что произвольный конечный автомат можно встроить в клеточную структуру, разработанную фон Нейманом, как начально покоящийся автомат. В конце разд. 5.1.2 мы убедились, что в эту клеточную структуру можно встроить как начально покоящийся автомат узел ленты с неограниченной емкостью памяти. Поэтому любую машину Тьюринга можно встроить как начально покоящийся автомат, откуда следует, что как начально покоящийся автомат можно встроить и универсальную машину Тьюринга.
Следует отметить, что эти встроенные приборы будут работать медленно (по отношению к системе отсчета времени клеточной •структуры). Система отсчета времени представляет собой здесь дискретные временные шаги t = 0, 1, 2, . . .; в ней происходят основные операции автомата с 29 состояниями (разд. 1.2.1 и 1.3.3.5). Конечные автоматы и машины Тьюринга, встроенные в клеточную структуру, также работают в этой системе отсчета времени, но шаги s = 0, 1, 2, . . . их работы являются более редкими.
Вообще, каждый шаг s занимает несколько единиц времени I. В случае узла ленты УУП + L шаг s становится все более и более продолжительным по мере того, как все длиннее становятся ленты С^ и С2.
Обычно считается, что конечные автоматы и машины Тьюринга делают один шаг s за одну единицу времени L Другими словами, = t. т. е. машины выполняют вычисления в «реальном времени».
Начально покоящиеся автоматы клеточной структуры, предложенной фон Нейманом, которые моделируют конечные автоматы
и машины Тьюринга, не работают со скоростью моделируемых ими приборов, но выполняют они те же самые вычисления г).
Фон Нейман ставил себе задачу добиться конструирования, конструктивной универсальности и самовоспроизведения в неограниченной структуре клеток с 29 состояниями (разд. 1.1.2.1). Посмотрим, чего он достиг к настоящему моменту и как это относится к его задаче.
Ми показали, как встроить в структуру клеток с 29 состояниями начально покоящийся автомат, выполняющий вычисления, которые может выполнить универсальная машина Тьюринга. Отсюда следует, что эта клеточная структура логически универсальна.
Планируя универсальные конструирующие автоматы, фон Нейман исходил из возможностей параллельного вычисления, присущих универсальным вычислительным машинам. Его универсальный конструирующий автомат должен работать как универсальная вычислительная машина; основное различие между ними в том, что выходом вычислительной машины является вычисление, а выход конструирующего автомата — последовательность импульсов, конструирующих некоторый начально покоящийся вторичный автомат. Универсальная вычислительная машина Ми представляет собой комплекс КА + (УУП + L), обладающий следующим свойством: для каждой машины Тьюринга М существует такое кодированное описание ЗУ (Af), что при занесении его в L машина Ми моделирует М, т. е. Ми будет получать тот же результат, что и М. Аналогично универсальный конструктор Мс представляет собой комплекс КУ + (УУП + L), обладающий свойством: для каждого начально покоящегося вторичного автомата М существует такое кодированное описание ^ (М), что при занесении его в L машина Мс конструирует М).
Таким образом, для выполнения программы фон Неймана, относящейся к конструированию, конструктивной универсальности и самовоспроизведению в его клеточной структуре, остается еще построить конструирующий узел (КУ).
5.2. УНИВЕРСАЛЬНЫЙ КОНСТРУКТОР КУ + (УУП + L)
Конструирующий рукав. Уйиверсальный конструирующий автомат фон Неймана состоит из узла КУ, скомбинированного с узлом ленты УУП + L (разд. 4.1.1). Фон Нейман назвал этот
х) Работа автомата в реальном времени обычно называется его поведением; ее следует отличать от вычисленного ответа, т. е. от вычисления автомата. Обсуждение понятий вычисления и поведения в конечной и бесконечной системах можно найти у Бёркса [5], Мак-Нотона [1] и Роланда [4].
конструирующий автомат «первичным автоматом», а начально покоящийся автомат, который предстоит сконструировать,—«вторичным автоматом» (разд. 1.4). Так как узел ленты уже синтезирован (разд. 5.1.2), осталось синтезировать конструирующий узел.
Сначала мы в целом обсудим схемы, связанные с этой конструкцией. (См. рис. 50. Этот рисунок выполнен без соблюдения масштабов, причем универсальный конструктор на самом деле горазда больше, чем показано здесь; ср. рис. 37. Кроме того, на рисунке не показана петля для чтения L и устройство для удлинения и укорочения этой петли; см. рис. 37 и 51.)
Для определения положения вторичного автомата возьмем какую- нибудь точку универсального конструктора в качестве начала координат (0, 0). Вторичный автомат занимает прямоугольную площадку ширины а и высоты р, нижний левый угол которой находится в точке (^п У1) х)* Для простоты будем считать, что вторичный автомат расположен в положительном квадранте, т. е. xv ^ 0, У1 ^ 0. Внутренняя структура вторичного автомата полностью характеризуется последовательностью Х^, t = 0, . . ., а — 1; / = 0, . . ., р — 1, где Х^ означает одно из покоящихся состояний U, Тиа0 (и = 0, 1; а - 0, 1, 2, 3), Соо.
Общая процедура конструирования такова. Линейный массив L хранит кодированную информацию о величинах xv yYl а, Р и Х^. Узел КУ считывает эту информацию с помощью узла УУП, интерпретирует ее и действует в соответствии с ней. Первичный автомат производит операции над (возможно удаленной) вторичной областью с помощью конструирующего рукава, т. е. информационного пути, простирающегося из первичного автомата ко вторичной области. Узел КУ сначала достраивает конструирующий рукав так, чтобы он доходил до вторичной области, а затем посылает по нему сигналы,, которые конструируют вторичный автомат и дают пусковой импульс. После этого КУ устраняет конструирующий рукав.
Ясно, что на первом этапе синтеза узла КУ надо произвести синтез конструирующего рукава, который будет работать от узла КУ в соответствии с информацией, получаемой от узла ленты УУП + L. Раньше мы уже по существу пользовались таким конструирующим рукавом. На рис. 14 показана процедура расширения конструирующего пути, модификации отдаленной ячейки и устранения конструирующего пути. Та же процедура применяется для удлинения и укорочения петель Ci и С2 и для производства записи в ячейку хп линейного массива L (разд. 4.2 и рис. 32—36). Здесь конструирующим путем служит верхняя половина каждой из петель.
г) См. разд. 1.5.2. В системе координат, выбранной фон Нейманом, точка (я:1, yt) помещается в центр клетки, а не в ее угол.
В обоих этих случаях от конструирующего прибора до области конструирования идет одиночный путь из передающих состояний (как обычных, так и специальных). Поэтому мы будем называть эту процедуру процедурой с одиночным конструирующим путем. Рассмотрим ее подробнее и выясним, можно ли применить ее для того конструирующего рукава, который нам нужен сейчас.
В соответствии с правилами, приведенными на рис. 9, конструирование вторичного автомата происходит в конце конструирующего пути. Здесь используются два процесса — прямой (для конструирования) и обратный (для разрушения). Разрушение столь же необходимо, как и конструирование, так как рабочие окончания конструирующего пути можно устранить только переводом передающих состояний Тиа0 в невозбудимое состояние U. Конструирование можно осуществить с помощью как обычных, так и специальных передающих состояний, но для разрушения требуется определенный тип передающего состояния: специальные состояния убивают обычные, но не убивают специальные, а обычные убивают специальные, но не убивают обычные. Это различие необходимо делать, если надо отличать сигналы информации от сигналов разрушения (разд. 2.6.2.2).
Таким образом, для операций, совершаемых в конце конструирующего пути, иногда нужны специальные передающие состояния, а иногда обычные передающие состояния. В процедуре фон Неймана с одиночным конструирующим путем это происходит следующим •образом. В начале конструирующего пути подаются сигналы как от обычного, так и от специального передающих состояний (см., например, клетки В1 и ВЗ рис. 14). Всякий раз, когда нужно перевести клетку, находящуюся на рабочем конце (головной части) конструирующего пути, из обычного передающего состояния в специальное передающее состояние (или обратно), такому преобразованию подвергается весь путь; ср. рис. 32а с рис. 32b (и рис. 32с с рис. 32d).
Каждый перевод всех клеток одиночного конструирующего пути из обычных передающих состояний в специальные передающие состояния (или обратно) приводит к необходимости создания последовательности импульсов, длина которой пропорциональна длине пути. Например, каждая такая модификация верхней половины петли С4 (и С2) выполнялась последовательностью длины 6п, где п — число клеток, состояние которых нужно изменить. Длина каждой из петель Ci и С2 равнялась примерно ^п. Задержка в 6п обеспечивалась тройным возвратным счетчиком с петлей С4 или С2 в качестве реагирующего органа (разд. 4.2).
Эту процедуру с одиночным конструирующим путем можно использовать для конструирующего рукава, работающего от универ- •сального конструктора. В качестве рукава можно взять одиночный путь из передающих состояний (как обычных, так и специальных),
идущий от универсального конструктора во вторичную область и возбуждаемый как обычными, так и специальными импульсами. Обозначим через I число клеток в таком одиночном пути. Чтобы перевести клетки этого пути из обычных передающих состояний в специальные (или обратно), узел КУ должен послать на него последовательность длины 6Z. Значение I можно получить, зная величины х^ у 19 a, р, I, ], определяющие положение и размер вторичного автомата, а также точное место внутри вторичного автомата, где оканчивается конструирующий рукав. Числа хх, уь а и р хранятся в L в явном виде, и КУ может получить г, /, найдя место Х^ в последовательности X.
Хотя фон Нейман мог использовать процедуру с одиночным конструирующим путем, он предполагал на самом деле использовать иную, лучшую процедуру. К его рукописи «Теория автоматов: конструирование, воспроизведение, однородность», составляющей часть II настоящей книги, прилагались 4 черновые заметки. В них — схема конструирующего рукава и план программы для управления ею. Программу трудно воспроизвести, так как фон Нейман дал только се набросок. Что же касается конструирующего рукава, то его схема достаточно проста и, зная ее, легко написать для нее программу.
Конструирующий рукав показан на рис. 44—50. Обычные передающие состояния представлены одиночными стрелочками, а специальные передающие состояния — двойными стрелочками. Этот конструирующий рукав состоит из двух соседствующих параллельных конструирующих путей, оканчивающихся в головной части, где, как правило, один путь направлен на другой. Один путь состоит из обычных передающих состояний, а другой — из специальных передающих состояний. Таким образом, в головной части всегда есть обычные и специальные передающие состояния для обратного (разрушительного) процесса. Поэтому никогда не возникает необходимости в переводе всего пути из обычных в специальные передающие состояния или обратно, как в случае процедуры с одиночным путем.
На конструирующий рукав сигналы могут подаваться от узла КУ либо слева (с входов sho рис. 44), либо снизу (с входов s' и о' рис. 44). Рукав может образовать угол, как на рис. 50.
Процедура фон Неймана работы с рукавом, слегка измененная, показана на рис. 44—50. На этих рисунках мы несколько по-иному обозначаем последовательности импульсов. Последовательность импульсов, которая может и разрушать, и конструировать, обозначается последовательностью символов, соответствующих покоящимся состояниям, создаваемым этой последовательностью импульсов.
Поясним наш метод обозначения последовательностей импульсов на примере перехода от рис. 45а к рис. 45b. Если приводимые ниже последовательности импульсов подаются на вход s или s' от специаль-
ного передающего или конфлюентного состояния, то они оказывают следующее воздействие:
1110 переводитклеткуС1изUв^,
1101 переводитклеткуС2изUвФ=,
переводитклеткуВ2из|вU,
10000 переводитклеткуВ2изUв—>.
Таким образом, последовательность 11101101110000, поданная на s или s', обозначается
^ Ф= U —> на s или s'.
При применении этого метода обозначения последовательностей импульсов необходимо учитывать ограничения в правиле переходов (гл. 2). Например, последовательность
^^ U на 5 или s'
не относится к допустимым последовательностям для рис. 45b, так как одно специальное передающее состояние не может убить другое специальное передающее состояние. Но при выполнении соответствующих условий одиночный импульс сможет перевести клетку в состояние U. Аналогично при выполнении соответствующих условий
10000 переводит U
в —е
■ Т
10001
переводит U
1001
переводит
и
в
1010
переводит
и
в
1
1011
переводит
и
в
1100
переводит
и
в
7
1101
переводит
и
в
ф=
1110
переводит
и
в
4
1111
переводит
и
в
с.
На рис. 45 и 46 показана процедура наращивания конструирующего рукава на 1 единицу либо по горизонтали, либо по вертикали. На рис. 47 показана процедура удаления 1 единицы рукава по горизонтали, причем 2 освобождающиеся клетки переходят в нужные покоящиеся состояния у и б.
Последовательности импульсов, вызывающие этот переход, зависят, конечно, от требуемых покоящихся состояний. Например, если у обозначает состояние С, то последовательность, подаваемая на схему рис. 47е, имеет вид
U =>U С на 5 или s',
а это означает
1101111111 на 5 или s'.
Процедуру удаления 1 единицы конструирующего рукава по вертикали, при которой 2 освобождающиеся клетки переходят в нужные покоящиеся состояния у и 6, иллюстрирует рис. 48. На рис. 49 показано, как подать на вторичный автомат пусковой импульс.
На этом заканчивается описание 5 операций по фон Нейману, относящихся к конструирующему рукаву: наступление по горизонтали, наступление по вертикали, отступление по горизонтали с у-б, отступление по вертикали с у-б и подача пускового импульса. Этих операций достаточно для конструирования любого начально покоящегося автомата в первом квадранте (т. е. хх ^ 0, У1 ^ 0). Теперь мы составим из этих операций алгоритм, позволяющий осуществить такое конструирование.
В этом алгоритме предполагается, что Р — четное число. Если Р нечетно, то либо ко вторичному автомату добавляется ряд из состояний U и Р становится четным, либо немного изменяется сам алгоритм. Кроме того, предполагается, что пусковой импульс вторичного автомата подается снизу в клетку, центр которой расположен в точке Кх\ + 3/2, у4 + 1/2). Иначе надо было бы немного изменить наши инструкции.
Алгоритм конструирования и запуска вторичного автомата на схеме рис. 50 таков:
Конструирующий рукав простирается от первичного автомата к верхнему левому углу площадки, занимаемой вторичным автоматом. Для этого требуется повторить операцию наступления по горизонтали ^ + 2 раза и операцию наступления по вертикали у^ + Р раз.
Конструирующий рукав теперь в состояниии продвинуться вправо по вторичной области, а затем отступить, конструируя по мере отступления два ряда клеток вторичного автомата.
Повторить р/2 раз следующую последовательность операций:
наступление по горизонтали а — 2 раза.
Отступление по горизонтали (с у-б) а — 2 раза.
Отступление по вертикали (с у-б) 2 раза.
К моменту выполнения инструкции (2) вторичный автомат оказывается законченным и его можно запустить.
Подать пусковой импульс снизу в клетку (xt + 3/2, Ух + 1/2).
Теперь вторичный автомат начал работать и конструирующий • рукав можно удалить.
Убрать конструирующий рукав в первичный автомат, сделав Ух отступлений по вертикали с у-б, а затем ^ + 2 отступления по горизонтали с у-б, причем у и 6 оба являются невозбудимыми состояниями U.
Алгоритм построен. Теперь можно использовать конструирующий рукав для конструирования другого вторичного автомата.
Последовательности импульсов, осуществляющие этот алгоритм, подаются на входы sho конструирующего рукава. Эти последовательности зависят от информации, хранящейся в линейном массиве L. Как именно универсальный конструктор преобразует информацию в L в нужную последовательность импульсов, мы рассмотрим в разд. 5.2.3.
Перечисленных 5 операций по фон Нейману, относящихся к конструирующему рукаву, достаточно для конструирования лишь в первом квадранте, но не в других. Однако нетрудно переделать схему головной части и запрограммировать операции для наступления влево, для отступления слева, наступления вниз и т. д. С этими дополнительными операциями универсальный конструктор может сконструировать вторичный автомат в любом квадранте плоскости. При этом предполагается, конечно, что область, предназначенная для вторичного автомата, состоит из невозбудимых клеток, что имеется достаточно широкий путь из невозбудимых состояний, ведущий к этой области от универсального конструктора, и что процессу конструирования не препятствует никакой другой автомат.
Из рис. 45—49 видно, что каждая из 5 операций по фон Нейману, относящихся к конструирующему рукаву, выполняется конечной последовательностью импульсов. Самая длинная последовательность нужна для отступления по вертикали с у-б; если у и 6 представляют собой либо ->, либо f, то длина последовательности должна быть 47. Таким образом, длина последовательности импульсов, необходимой для каждой из 5 операций, не зависит от длины конструирующего рукава. В отличие от этого для процедуры с одиночным конструирующим путем нужна последовательность импульсов, длина которой зависит от длины пути: длина последовательности должна быть не менее 5/, где I — длина пути. В этом отношении предложенная фон Нейманом процедура с одиночным конструирующим путем значительно уступает его процедуре с двойным конструирующим, путем. Как мы сейчас увидим, это оказывает существенное влияние на органы, вырабатывающие последовательности для конструирования.
Новая схема узла управления памятью. Процедуру с двойным конструирующим путем, предложенную фон Нейманом, можно использовать для работы с линейным массивом L. Новое устройство показано на рис. 51 (ср. со старым устройством на рис. 37).
Путь для считывания ячейки хп начинается с входа и, идет вдоль ряда 1, проходит через хП1 возвращается вдоль ряда 4 и оканчивается на выходе w. Ряд 1 — это обычный передающий путь конструирующего рукава с двойным путем. Ряд 2 представляет собой специальный
передающий путь этого конструирующего рукава. Головная часть» конструирующего рукава состоит из клеток С2, D1 и D2, она несколько отличается от головной части схемы рис. 44а. Импульсы на входы и и и должны приходить от обычных передающих состояний. Заметим, что клетки А1 и А2 не воздействуют друг на друга, так как конфлюентное состояние не возбуждает другое конфлюентное состояние.
Процесс считывания остается прежним (разд. 4.1.1 и 4.1.5). Последовательность 10101 поступает на вход и из импульсатора Р (16101). Она проходит вдоль ряда 1, вниз по столбцу D и в клетку хп. Дальнейшее зависит от того, была ли клетка хп в состоянии U (обозначающем 0) или в состоянии ф (обозначающем 1).
Если клетка хп была в состоянии U, то первая часть 1010 этой последовательности переведет ее в состояние ф, а последняя часть 1 пойдет обратно вдоль ряда 4 и появится на выходе w.
Если клетка хп была в состоянии ф, то вся последовательность 10101 пройдет через нее, затем обратно вдоль ряда 4 и появится на выходе w.
Таким образом, 1 на выходе w символизирует 0, а 10101 на w символизирует 1. Эти две последовательности можно отличить друг от друга с помощью дискриминатора ¥ (разд. 3.5 и рис. 25), как и раньше.
В конце процесса считывания читающие и конструирующие пути остаются, как на рис. 51b, а клетка хп находится в состоянии ф. Следующий шаг состоит в удлинении или укорочении читающего и конструирующего путей массива L и приведении клетки хп в состояние U или ^. Возникают 4 возможности:
(L0) Удлинить пути и привести клетку хп в состояние U.
(L1) Удлинить пути и привести клетку хп в состояние j.
Укоротить пути и привести клетку хп в состояние U.
Укоротить пути и привести клетку хп в состояние ].
Эти операции аналогичны операциям наступления по горизонтали (рис. 45), наступления по вертикали (рис. 46), отступления по горизонтали с у-6 (рис. 47) и отступления по вертикали с у-6 (рис. 48). Мы укажем последовательности импульсов только для случая (L1), т. е. для удлинения путей и приведения клетки хп в состояние ф. Они даны на рис. 52, где метод обозначения последовательностей тот же, что и прежде. Начнем, например, с рис. 52а. Последовательность 1111011110110111001 обычных импульсов, появившаяся на входе и, поступает через конфлюентное состояние в ряд из специальных передающих состояний и идет вдоль него. Она переводит клетку хК1 клетки над ней, под ней и клетку, расположенную под хп + 1, в состояния ^,, =>
и •<- соответственно. На рис. 52b показан результат действия этой последовательности.
Таким образом, для выполнения операции (L1) надо послать некоторую последовательность на и, затем некоторую последовательность на и, еще одну на и и еще одну на и. Так как отсутствию импульса соответствует 0, то эту операцию можно выполнить, посылая одновременно некоторую последовательность на и и некоторую последовательность на и; см. рис. 14 и разд. 2.8.3. Эти две последовательности можно получить от импульсаторов, подающих сигналы на входы и и и и возбуждаемых в подходящей фазе по отношению друг к другу (разд. 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 настоящей книги. Его конструкция оказалась гораздо сложнее, чем он предполагал ). После разработки
г) Полная схема узла УУП для одного варианта нового метода работы с L дается в работе Тэтчера [2].
процедуры с двойным конструирующим путем он должен был понять, что ее можно применить для работы с L и что это сильно упростило бы схему УУП и все устройство. Поняв это, он захотел бы переработать заново всю схему своего самовоспроизводящегося автомата. Эта переработка повлекла бы за собой пересмотр гл. 3 и написание гл. 4 заново. Фон Нейман так и не нашел на это времени.
Несмотря на то что схему, разработанную фон Нейманом для узла УУП, можно значительно улучшить, это не играет никакой роли. Исторически это первое доказательство того, что узел ленты с неограниченной памятью можно встроить в предложенную фон Нейманом структуру клеток с 29 состояниями. Кроме того, это доказательство содержит ряд остроумных схемных решений для параллельной обработки данных в клеточной структуре.
5.2.3. Конструирующий узел. После завершения синтеза конструирующего рукава фон Нейману осталось синтезировать конструирующий узел (КУ). Он представлял себе КУ как конечный автомат, взаимодействующий с узлом ленты УУП + L и выполняющий функцию конструирования. Поэтому при синтезе КУ можно использовать органы тех же типов и применять те же принципы конструирования, что и при синтезе узла УУП (гл. 4) и произвольного автомата КА (разд. 5.1.3). Так как фон Нейман был искусным конструктором и программистом, то он, несомненно, понимал, как надо синтезировать КУ и, возможно, у него даже был вполне конкретный план синтеза.
Хотя мы не собираемся разрабатывать здесь полную схему, будет сказано достаточно много, чтобы понять, что работоспособный узел КУ на самом деле существует. Полная схема конструирующего узла (а также и универсальной конструирующей машины) приводится в работе Тэтчера [2] 1).
Фон Нейман рассматривал процесс конструирования нескольких вторичных автоматов (разд. 1.7), но здесь достаточно будет объяснить, как происходит конструирование одного автомата в первом квадранте. Информация, касающаяся местоположения и размеров вторичного автомата, а также его полного описания, хранится в линейном массиве L (см. рис. 50): сначала точка, затем параметры жь уь а и р, за каждым из которых ставится запятая, а потом последовательность Х^ (^ = 0, . . ., а — 1;/ = 0, . . ., р — 1), описывающая вторичный автомат. Для простоты предположим, что значения Х^ хранятся
х) См. также Кодд [1]. В этой работе содержится схема универсальной конструирующей машины в клеточной системе, в которой у каждой клетки 4 непосредственных соседа, но она может находиться лишь в 8 состояниях в отличие от 29 состояний по фон Нейману. Тэтчер и Кодд были знакомы с рукописью фон Неймана «Теория автоматов: конструирование, воспроизведение, однородность».
в том порядке, в котором они используются узлом КУ. За последовательностью Xtj следует точка, обозначающая конец информационных записей на ленте.
Эту информацию можно закодировать в алфавите, содержащем 14 символов: 0, 1, запятая, точка и 10 значений Х^. Эти 10 значений Х^- соответствуют 10 покоящимся состояниям Тиа0 (и = 0, 1; а = = 0, 1, 2, 3), Соо и U. Указанные 14 символов можно представить с помощью 4 двоичных разрядов (битов). Заметим, что лучше обойтись без последовательности 0000. Кроме того, удобно будет использовать еще один (пятый) разряд для разного рода пометок (маркерный разряд). Итак, каждый из символов будем представлять 5 разрядами и хранить в 5 последовательных ячейках линейного массива L.
Число х^ записывается с помощью последовательности из х^ + 1 пятиразрядных блоков, представляющих 1. Аналогично записываются числа г/1? а и 0. Этот метод, очевидно, можно улучшить, на наши рассмотрения значительно упростятся, если мы будем представлять всю информацию в одном и том же алфавите.
Пусть 60, 01, 627 03, 64 обозначают 5 разрядов некоторого блока,, причем 0о — маркерный разряд. Узел КУ должен обладать способностью интерпретировать последовательность 616 26 36 4 как одно целое. Предположим, например, что Соо представляется в L последовательностью —1010, где знак — указывает положение маркерного разряда. Если Х^ имеет значение —1010, то узел КУ должен на соответствующей стадии процесса конструирования привести клетку (i, 7) вторичного автомата в состояние СОо- Узел КУ выполнит это, беря в качестве у или 6 в операциях отступления по горизонтали или по вертикали (рис. 47 и 48) последовательность 1111, вызывающую^ согласно правилу переходов (рис. 10), переход в состояние Соо- Отсюда следует, что КУ должен интерпретировать —1010 на ленте как требование в соответствующем месте последовательности 1111.
Далее, 4 разряда 0Ь 62, 63, 64 хранятся в последовательных ячейках жп+1, жп + 2, ^п + 37 ^п+4- Получив инструкции от КУ, узел УУП будет считывать некоторую ячейку и продвигать читающую петлю к следующей ячейке. Время, необходимое для этого процесса, линейно зависит от п. Поэтому КУ воспринимает 4 разряда 61? 62, 63 и 64 в разные моменты времени. По терминологии фон Неймана (разд. 3.1.1)у последовательность 1010 поступает в КУ в свободном времени, а в ответ КУ должен послать в конструирующий рукав последовательность 1111 в жестком времени. Эти 4 импульса последовательности 1111 должны поступать в конструирующий рукав в последовательные моменты времени (т, т + 1, т + 2, т + 3), ибо для прямого процесса нужно жесткое время.
Итак, узел КУ должен обладать способностью преобразовывать последовательность е162ез64 в свободном времени (например, 1010)
в последовательность в жестком времени (например, 1111). Это можно сделать любым из следующих двух методов.
В первом методе применяются органы состояния типа органов рис. 43. С каждым из 16 символов 6f0 20 3^4 свяжем 30 органов состояния ОС0, ОС17 ОС00, • • ОСИ; ОС00оо, • ••> ОСШ1, которые соединяются между собой кодированным каналом узла КУ. Эти органы активируются (принимают управление) под влиянием разрядов 017 02т 03, 04. Когда от УУП в КУ передается 017 активируется ОС0, если 0^ = 0, и активируется ОС17 если 04 = 1. Разряд 02 переводит управление с ОС0 или OCi на один из органов ОС00, ОС01, ОС10, ОСИ в соответствии с таким правилом: если 02 = 0, то активируется ОСе117 а если 02 = 1, то активируется ОСе10. Иными словами, после прихода в КУ из УУП информации о двух разрядах 04 и 02 в состоянии управления будет находиться орган 0Сехе2. Процесс повторяется для разрядов 03, 04, и, после того как будут считаны с L все разряды 017 02, 0зт 04т будет активирован ровно один из 16 органов ОС01е203е4 узла КУ. Этот орган затем управляет выбором последовательности с жестким временем. Например, ОС10ю обеспечивает подстановку в одну из конструирующих последовательностей рис. 47 и 48 последовательности 1111 вместо у или 6.
Преобразование последовательности 1010 в свободном времени в последовательность 1111 в жестком времени является статикодинамическим преобразованием. В нашем втором методе такое преобразование осуществляют статико-динамический конвертор (рис. 53); и 4 органа ОС1, ОС2, ОС3, ОС4, отслеживающие позиции 4 разрядов; 017 02, 03 и 04. Входы и выходы этого статико-динамического конвертора и 4 органов состояния присоединяются к главному каналу узла КУ. Периодические импульсаторы рис. 53 — это копии периодического импульсатора РР(1)7 изображенного на рис. 20. Все органы, расположенные в левом столбце рис. 53, представляют собой декодеры, на входы которых поступают сигналы из главного канала. Разумеется, этот рисунок выполнен без соблюдения масштабов.
Статико-динамический конвертор и 4 органа состояния ОС1, ОС2, ОС3, ОС4 преобразуют последовательность 61620364 в свободном времени в соответствующую кодовую последовательность в жестком времени. В начале этого преобразования управление находится у органа ОС1, который руководит считыванием Ор Считанный с помощью УУП разряд Oi передается в КУ: импульс с выхода ц узла УУП (рис. 37) означает 04 = 0, а импульс с выхода i2 узла УУП означает Oj = 1. Под контролем органа ОС1 импульс, обозначающий 1, кодируется в последовательность, которая распознается лишь декодером Пуск! рис. 53 (вход d^, затем управление передается органу ОС2. Поэтому при 04 = 1 периодический импульсатор РР (1)
для 0t находится в активном состоянии, а при 0! = 0 он остается невключенным. _
Аналогично в импульсатор РР (1) для 02 передается разряд 02 с помощью органа ОС2 и декодера Пуск2 рис. 53. В случае разрядов 63 и 04 ситуация та же. Поэтому после считывания символа — 010 20 30 4 в массиве L и передачи его в КУ периодические импульсаторы статико-динамического конвертора представляют последовательность 610 20 30 4, причем/-й (/ = 1, 2, 3, 4) импульсатор включен или выключен в зависимости от того, 07 = 0 или 07 = 1. Затем узел КУ руководит преобразованием этой статической информации в последовательность с жестким временем.
Преобразование статического представления символа —01020304 в соответствующую динамическую последовательность 010 20 30 4 вызывается последовательностью одиночных импульсов, идущих из главного канала, которая распознается декодерами Db D2, D3 и D4 рис. 53. Каждый декодер Dy (/ = 1, 2, 3, 4) вырабатывает импульс, поступающий после задержки Д7- в столбец А, строку ] (в кон- флюентном состоянии). Если импульсатор РР(1) для 07 включен, то этот импульс проходит в канал В; в противном случае импульс блокируется и не идет в В. Последовательность импульсов в главном канале, распознаваемая декодерами D1? D2, D3 и D4, поступает на эти декодеры в разные моменты времени. Но задержки Дь Д2, Д3 и Д4 можно подобрать так, чтобы те импульсы, которые все же входят в канал В, были в надлежащей фазе. Например, если все разряды 01, 02, 0з и 04 равны 1, то на выходе g появится последовательность ПТ1.
Так как последовательность, состоящую из одних нулей, мы решили не использовать для представления импульсов, то все 0Ь 02, 03 и 04 не могут быть одновременно нулями, так что на g появится хотя бы 1 импульс. Поэтому возбуждение декодеров Db D2, D3 и D4 приведет к тому, что с выхода g статико-динамического конвертора выйдет последовательность 01020304 в жестком времени. После этого периодические импульсаторы статико-динамического конвертора можно «очистить», т. е. снова привести в неактивное состояние, возбуждая 4 стоп-декодера, входы которых обозначены на рисунке букой /.
На этом обсуждение двух методов преобразования статических символов ленты в динамическую последовательность заканчивается. Заметим, что при втором методе понадобится меньше органов, чем при первом.
Теперь мы располагаем методом для считывания символов с ленты. В конце разд. 5.2.1 мы привели алгоритм для конструирования и запуска вторичного автомата. В алгоритме указано, какие последовательности импульсов надо послать в конструирующий рукав. Эти последовательности даны в виде функций от информации
а, Р> ^оо» • • •, ^a-i, 3-1» хранящейся в L. Синтез узла КУ сводится теперь к переводу этого алгоритма в машинную конструкцию. Мы сформулируем здесь этот алгоритм заново, показывая, каким образом КУ получает из линейного массива L информацию, необходимую для конструирования. Мы предполагаем, что в начале процесса читающая петля проходит через ж0, т. е. через маркерный разряд самой левой группы цифр в L.
Новая формулировка алгоритма конструирования и запуска вторичного автомата (см. рис. 50) такова:
КУ строит конструирующий рукав, протягивая его от себя до верхнего левого угла площадки, занимаемой вторичным автоматом. Это осуществляется следующими двумя операциями:
КУ посылает в конструирующий рукав последовательности импульсов для ^ + 2 наступлений по горизонтали. Последовательности импульсов для каждого шага наступления по горизонтали показаны на рис. 45. КУ воспринимает один символ (группу цифр) тх из L, посылает последовательности рис. 45 и передвигается вправо к следующему символу из L. Когда КУ считывает на L запятую, он посылает импульсы для еще двух наступлений по горизонтали и переходит к выполнению операции (Ь).
КУ посылает в конструирующий рукав последовательности импульсов для У1 + Р наступлений по вертикали: воспринимает каждый символ (группу цифр) из L, посылает в конструирующий рукав последовательности рис. 46 и передвигается к следующему символу из L. Когда КУ доходит до запятой на L, он пропускает все от а до р, посылает последовательности рис. 46 для каждого символа, характеризующего величину Р, и возвращается к запятой, предшествующей а.
Теперь конструирующий рукав в состоянии начать конструирование. Узел КУ конструирует сразу 2 ряда клеток вторичного автомата и должен проделать это р/2 раз. Он ведет счет этим операциям, делая отметки на маркерных позициях каждого символа, характеризующего р.
КУ определяет, содержит ли р какие-нибудь неотмеченные символы. Если Р не содержит неотмеченных символов, то КУ снимает отметки со всех символов в р и со всех Л, а затем переходит к операции (3). Если р содержит неотмеченный символ, то КУ отмечает два символа Р и переходит к выполнению операций (а), (Ь) и (с) в указанном порядке.
КУ наступает по горизонтали а — 2 раза. Для этого он пропускает 2 первые группы цифр, представляющих а, а для каждой из оставшихся групп посылает в конструирующий рукав последовательности рис. 45.
КУ повторяет а — 2 раза отступление по горизонтали с у-6. Для этого он отмечает 2 символа, характеризующие а, и до тех пор пока не будут отмечены все символы, характеризующие а, он отмечает неотмеченный символ и отступает по горизонтали с у-6 (рис. 47).
Для отступления по горизонтали с у-6 нужно вместо у и 6 брать последовательности импульсов в соответствии с состояниями Х^ и X^j.^ в которые должны перейти клетки, расположенные на конце конструирующего рукава. Чтобы получить эти значения X, КУ должен найти их в L и передвинуть к ним читающую петлю от а; впоследствии КУ должен вернуть читающую петлю к а. В обоих случаях КУ может определить место остановки с помощью маркеров: каждый раз, когда он использует какой-нибудь символ из а или X, он его отмечает. Мы предполагаем, что величины X помещаются в L справа налево в порядке их использования.
Отступив а — 2 раза по горизонтали с у-6, КУ снимает отметки с а и переходит к операции (с).
КУ дважды отступает по вертикали с у-6, используя и помечая две следующие величины X на L.
Выполнив операцию (2), КУ заканчивает конструирование вторичного автомата и переходит к его запуску.
КУ посылает пусковой импульс на вторичный автомат с помощью последовательностей рис. 49. Выход е на этом рисунке совпадает с входом в клетку, центр которой помещен в точку (^i + 3/2, z/i + ^г). Таким образом, здесь предполагается, что вторичный автомат сконструирован так, что он получает пусковой импульс с нижней стороны этой клетки.
Теперь вторичный автомат начинает работать, а КУ переходит к устранению конструирующего рукава.
КУ устраняет конструирующий рукав, посылая на него последовательности импульсов для z/i отступлений по вертикали с у-6, а затем для ^j + 2 отступлений по горизонтали с у-6.
• Эти последовательности показаны на рис. 48 и 47 соответственно. В каждом случае у и 6 принимают значение U, а это значит, что для каждого у и 6 надо брать одиночные импульсы. КУ ведет счет этим отступлениям с помощью чисел z/i и ж17 хранящихся в L.
Построение алгоритма конструирования и запуска вторичного автомата закончено. К концу его работы универсальный конструктор КУ + (УУП + L) приходит в свое начальное состояние.
Теперь, когда этот алгоритм заново сформулирован, видно, что синтез узла КУ сводится к переводу алгоритма в машинную схему. Это можно сделать, применяя органы ОС (рис. 43), соединенные между собой кодированным каналом, а с другими органами, необ-
ходимыми для выполнения этого алгоритма,— с помощью специальных соединений. Управление внутри КУ передается от одного органа ОС к другому под влиянием информации на L. Заметим, что аналогично работает узел УУП, причем органы ОУ в нем играют роль органов ОС.
В разд. 5.1.3 мы отметили сходство узла КУ с автоматом КА и универсального конструктора по фон Нейману с универсальной вычислительной машиной Тьюринга. Рассмотрим это сходство более внимательно.
Универсальная вычислительная машина Ми состоит из двух частей: узла ленты УУП + L и автомата КА, взаимодействующего с этим узлом. Соответственно универсальный конструктор Мс состоит из двух частей: УУП + L и КУ. Узел КУ выполняет две связанные друг с другом функции: он взаимодействует с УУП + L и конструирует вторичный автомат, описание которого хранится в L. Процессы, происходящие при конструировании вторичного автомата, не новы: они уже применялись в узле ленты УУП + L. Более подробно: читающая петля передвигается от одной клетки на L к другой, делая конструирующие и разрушающие шаги того же типа, что и при конструировании вторичного автомата. Таким образом, конструирующий рукав рис. 44—50 очень похож на конструирующий рукав рис. 51—52 и любой из них может играть роль другого.
Из этого сопоставления видно, что узел КУ на самом деле есть просто частный случай конечного автомата и что его можно синтезировать из органов тех же типов и применять те же принципы конструирования, что и при синтезе узла УУП (гл. 4) и автомата КА (разд. 5.1.3). Из этого сопоставления также видно, что в рамках клеточной структуры, разработанной фон Нейманом, выход универсальной вычислительной машины Ми не столь сильно отличается от выхода универсального конструктора МС1 как это могло бы показаться. Выходом машины Ми является вычисление, а выходом конструктора Мс — конструирование, но и то и другое осуществляется подачей сигналов в конструирующий рукав.
На этом заканчивается наше исследование узла КУ. Мы показали, что его можно встроить в разработанную фон Нейманом структуру клеток с 29 состояниями, и сформулировали общие принципы его синтеза.
Узел КУ вместе с узлом ленты УУП + L составляют универсальный конструктор. Это значит, что в клеточную структуру клеток с 29 состояниями (по фон Нейману) можно встроить универсальный конструктор МС) обладающий следующим свойством; для любого начально покоящегося автомата М существует такое кодированное описание 3 (М) автомата М, что при его размещении на ленте L, присоединенной к МС1 конструктор Мс будет конструировать М.
Этим получен ответ на вопрос фон Неймана относительно кон-
структивной универсальности: может ли автомат сконструировать любой другой автомат (разд. 1.1)? Остался теперь еще один его вопрос — относительно самовоспроизведения автоматов: может ли автомат конструировать свои копии? Мы дадим утвердительный ответ на этот вопрос, подытожив то, что было проделано фон Нейманом в настоящей работе.
5.3. ВЫВОДЫ
.1. Резюме настоящей работы. Фон Нейман начал часть II с формулировки 5 основных вопросов (разд. 1.1.2.1). Первый вопрос касается логической универсальности.
Логическая универсальность;
(А1) При каких условиях некоторый класс автоматов логически универсален?
(А2) Существует ли логически универсальный автомат? Конечный автомат с неограниченно удлиняемой лентой называется машиной Тьюринга (см. конец лекции 2 части I). Тьюринг показал, что класс машин Тьюринга логически универсален в том смысле, что машина Тьюринга может выполнить любой логический процесс (вычисление), выполнимый с помощью конечных, но произвольно расширяемых средств. Кроме того, Тьюринг показал, что существует универсальная машина Тьюринга, т. е. машина Тьюринга, способная выполнить любое вычисление.
Таким образом, как отметил фон Нейман, Тьюринг ответил на эти два вопроса, относящиеся к логической универсальности. Затем фон Нейман поставил аналогичные вопросы, относящиеся к конструированию.
Конструируемость;
Можно ли сконструировать автомат другим автоматом?
Какой класс автоматов можно сконструировать одним автоматом?
Конструктивная универсальность; Является ли какой- нибудь автомат конструктивно универсальным?
Самовоспроизведение;
(D1) Существует ли самовоспроизводящийся автомат?
) Существует ли автомат, способный воспроизводить себя, а также выполнять другие задачи?
Фон Нейман обещал утвердительно ответить на эти вопросы конструктивным способом, т. е. сконструировать различные типы конструирующих и самовоспроизводящихся автоматов.
Вопросы (С) и (D) ведут к его последнему основному вопросу. (Е) Эволюция;
Может ли конструирование автоматов автоматами прогрессировать от простых типов к более сложным?
Может ли эта эволюция идти от менее эффективных автоматов к более эффективным (при некотором подходящем определении понятия эффективности)?
В разд. 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, касающиеся его вероятностной модели самовоспроизведения и эволюции.
рования в клеточной структуре фон Нейман ввел специальные импульсы, вызывающие переходы из невозбудимых состояний в различные виды возбудимых состояний. Таким образом, рост моделируется переводом невозбудимых клеток в возбудимые с помощью специальных импульсов (разд. 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. Вторичный автомат имеет в ширину а клеток, а в высоту р клеток; центр самой нижней его
клетки с левой стороны помещен в точку (^1? z/i). Пусть I обозначает число состояний, в которых может находиться каждая из клеток вторичного автомата, и пусть X = 0, 1, . . ., I — 1. Состояние клетки (i, /) определяется величиной Х^ где i = 0, 1, . . ., а — 1; / = = 0, 1, . . ., Р — 1. Поэтому универсальному конструктору можно задать план любого вторичного автомата, размещая на ленте L последовательность х^ z/i, ос, Р, Zoo, . . . , ^a-i, р-i. Универсальный конструктор конструирует вторичный автомат на основе информации, содержащейся в этой последовательности. Так вопрос (С) сводится к вопросу (В).
Вопрос (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 (G) которого хранится в L. Можно ли построить универсальный конструктор, способный непосредственно копировать сам автомат G (разд. 1.6.2.3)? С другой стороны, можно ли построить автомат, способный исследовать автомат G и создавать его описание £6 (G) (разд. 1.6.3.1)? Фон Нейман доказал, что осуществить это трудно, если вообще не невозможно. При исследовании одной части активного автомата G исследующий автомат
может изменить еще не исследованную часть. Более общо, активный автомат G может помешать работе исследующего автомата. В случае самовоспроизведения эта трудность была бы чрезвычайно серьезной. Если бы универсальный конструктор работал непосредственно со вторичным автоматом G, то при попытке его воспроизвести себя он принимался бы исследовать самого себя. Фон Нейман полагал, что это привело бы к парадоксам типа парадокса Ричарда (разд. 1.6.3.2). Эти трудности не возникают, если универсальный конструктор работает с покоящимся описанием 3) (G) (разд. 1.4.2.1).
При конструировании вторичного автомата мы сталкиваемся с той же проблемой. Если бы в процессе конструирования какая-то часть вторичного автомата была активной, то она могла бы помешать этому процессу. Фон Нейман разрешил эту проблему, постулируя, что начальные состояния вторичного автомата должны быть все покоящимися (разд. 1.7.2.1). На языке функции переходов для 29 состояний, введенной в гл. 2, это означает, что Х^ могут принимать лишь 10 значений U, Тма0 (и = 0, 1; а = 0, 1, 2, 3), Соо. После того как вторичный автомат закончен, его можно сделать активным, послав пусковой импульс на его периферию. Мы назвали такие автоматы начально покоящимися автоматами (разд. 5.1.2).
Таким образом, автоматы, конструируемые универсальным конструирующим автоматом, образуют подкласс автоматов, который можно определить как часть некоторого начального клеточного распределения (т. е. распределения в нулевой момент времени) клеточной структуры фон Неймана (разд. 1.3.3.5). На самом деле в структуре клеток с 29 состояниями можно построить конструирующий автомат, способный сконструировать любой начально покоящийся автомат, а также множество активных автоматов. Однако в этом нет необходимости, поскольку и универсальный конструктор, и универсальную машину Тьюринга можно построить как начально покоящиеся автоматы (разд. 5.3.2 и 5.1.3). Кроме того, не все автоматы, которые можно определить как часть начального клеточного распределения клеточной структуры фон Неймана, можно сконструировать внутри клеточной структуры. Например, нельзя сконструировать конфигурацию рис. 13b (момент 0), если ее окружить широкой полосой из невозбудимых клеток U. Конструирующий рукав может построить покоящиеся состоянияТ100 иТО2о, но после того как он их активирует, его нельзя удалить из окружающего пространства, пока Т101 и Т021 не убьют друг друга. Простым примером неконструируемого автомата служит конфигурация 3x3, состоящая из чувствительного состояния Sq, окруженного клетками Соо х).
Э Тэтчер [2, § 2.3]. Мур [1] назвал конфигурацию, существующую лишь в нулевой момент времени, конфигурацией райского сада (сада Эдема). Каждая конфигурация райского сада неконструируема, но обратное не верно. Мур установил необходимое условие существования конфигураций райского сада
На этом мы заканчиваем обзор гл. 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, присоединенной к МС1 конструктор Мс конструирует автомат М^
Самовоспроизведение;
(D1) Можно ли встроить в структуру фон Неймана из клеток с 29 состояниями самовоспроизводящийся автомат?
(D2) Можно ли встроить в структуру фон Неймана из клеток с 29 состояниями автомат, способный выполнять вычисления универсальной машины Тьюринга и воспроизводить себя?
На все эти вопросы в настоящей книге получены утвердительные ответы. Ответ на вопрос (В), относящийся к конструируемости, дается в конце разд. 2.8.3 и на рис. 14. Для каждого начально покоящего-
в клеточной структуре, в которой требуется по крайней мере 1 единица времени для того, чтобы информация из клетки могла поступить к ее соседям. Майхилл [1] показал, что это условие также и достаточное. По существу это условие того, что клеточная структура не является обратимо детерминированной в смысле Бёркса и Ван Хао [1, § 3.3].
ся автомата ^ существуют 2 двоичные последовательности (импульсов и пауз), подача которых на входы inj схемы рис. 14 приводит к конструированию автомата «^. Эти 2 последовательности можно получить с помощью двух рядов клеток Т008 при соответствующем выборе е. Следовательно, эти 2 ряда клеток вместе с клетками столбцов А и В рис. 14 могут конструировать автомат ^. Это показывает, что для каждого начально покоящегося автомата «^ существует активный автомат, способный его сконструировать.
Утвердительные ответы на остальные вопросы основаны на результатах гл. 3 и 4. В гл. 3 фон Нейман синтезировал основные органы. Пусть I1 . . . in— произвольная конечная двоичная последовательность, в которой 1 символизирует наличие импульса, а 0 — его отсутствие. Пусть I1 . . . in обозначает бесконечное повторение последовательности I1 . . . in. Фон Нейман разработал алгоритмы конструирования произвольных импульсаторов Р (к1 . . . £п), периодических импульсаторов РР (i1 . . . Zn) и декодеров D (к1 . . . i^. Он синтезировал 2 специальных органа: тройной возвратный счетчик Ф и дискриминатор Т для различения последовательностей 1 и 10101. Глава 3 заканчивается описанием алгоритма конструирования произвольного кодированного канала, или прибора для пересечения проводов.
Глава 4 посвящена синтезу узла УУП. Этот узел производит считывание и запись на ленте L под управлением узла КУ. Блок- схема узла УУП приведена на рис. 37, принцип его работы дается в разд. 4.3.1. Основные операции (считывание ячейки хк на L, запись в ячейку хк, перемещение точки подсоединения с хк на 2п + 1 (удлинение) или на хп_х (укорочение)) выполняются в 2 этапа. Сначала узел УУП, получив на свой вход Ot сигнал, посланный с выхода Ot узла КУ, считывает ячейку хп с помощью соединительной петли Ср Если в хк хранился нуль, то УУП посылает импульс на вход ^ узла КУТ а если в хп хранилась единица, то УУП посылает импульс на вход ia узла КУ. Затем КУ посылает импульс на вход о2 узла УУП, если в хп надо записать нуль, и на вход о3 узла УУП, если в хп надо записать единицу; КУ посылает импульс на вход о4 или о5 в зависимости от того, требуется ли удлинить или укоротить петли С4 и С2. После выполнения этих операций УУП посылает сигнал окончания на вход г3 узла КУ.
Узел УУП состоит из блока СЗС, блока КСЗС, области задержки W, области передачи Y и кодированного канала, включающего в себя главный канал и узлы X, Z, ССр СС2, СС3.
Фон Нейман не довел до конца синтез УУП, а в том, что он успел сделать, допустил ряд ошибок. По ходу дела мы поправили все ошибки, кроме одной (гл. 4 и разд. 5.1.1). Эту последнюю ошибку мы
исправили в разд. 5.1.2 и закончили синтез узла УУП. В разд.5.2.2 мы предложили гораздо более лучшую схему узла УУП.
Узел УУП, неограниченный линейный массив L, соединительная петля Ct и временная петля С2 вместе составляют узел ленты с неограниченной емкостью памяти. Кроме того, УУП является начально покоящимся автоматом, который запускается от импульса, поданного на его периферию (вход о^. Отсюда следует, что начально покоящийся автомат, выполняющий функции узла ленты с неограниченной емкостью памяти, можно встроить в структуру фон Неймана из клеток с 29 состояниями.
Машина Тьюринга состоит из такого узла ленты и конечного автомата, взаимодействующего с ним. В разд. 5.1.3 мы показали, как смоделировать произвольный конечный автомат начально покоящимся клеточным автоматом. Применяя полученные результаты к этому частному случаю универсальной машины Тьюринга, мы приходим к положительному ответу на вопрос (А): начально покоящийся автомат, способный выполнять вычисления, производимые универсальной машиной Тьюринга, можно встроить в структуру фон Неймана из клеток с 29 состояниями.
Универсальный конструктор МС1 разработанный фон Нейманом, состоит из узла КУ и узла ленты УУП + L (см. рис. 50). В разд. 5.2.1 дана схема построения конструирующего рукава, а в разд. 5.2.3 — схема узла КУ, так что получается, что в структуру фон Неймана из клеток с 29 состояниями можно встроить универсальный конструктор Мс, обладающий следующим свойством: для каждого начально покоящегося автомата М существует такое кодированное описание ЗЬ (М) автомата М, что при его размещении на ленте L, присоединенной к МС1 конструктор Мс конструирует автомат М.
Это дает ответ на вопрос (С) фон Неймана и подводит нас к вопросу (D), касающемуся самовоспроизведения.
Сравнение универсального вычислителя Ми и универсального конструктора Мс показывает, что в клеточной структуре фон Неймана вычисление и конструирование имеют много общего. Как МС1 так и Ми являются устройствами для обработки конечного числа данных, способными взаимодействовать с неограниченно удлиняемой лентой.
Предположим, что универсальный вычислитель Ми сконструирован так, что он записывает свой ответ на незаполненной ленте L. Тогда и Ми, и Мс создают начально покоящиеся автоматы. Начально покоящийся автомат, созданный универсальным конструктором МС1 имеет вид прямоугольника, каждая клетка которого может находиться в 10 состояниях U, Тиа0 (и = 0, 1; а = 0, 1, 2, 3), Соо- Универсальный вычислитель Ми создает линейный начально покоящийся автомат из клеток, принимающих лишь значения U и ТОзо (| )•
5.3.2. Самовоспроизводящиеся автоматы. Теперь наша задача -состоит в превращении универсального конструктора Мс (разд. 5.2.3 и рис. 50) в самовоспроизводящийся автомат.
Заметим сначала, что универсальный конструктор Мс фактически является начально покоящимся автоматом. Следовательно, можно разместить описание 3 (Мс) на ленте L, присоединенной к Мс. После этого размещения и после запуска конструктора Мс комплекс Мс + 3 (М^ будет создавать копию конструктора Мс как вторично сконструированный автомат. Но это еще не самовоспроизведение, ибо сконструированный автомат Мс меньше конструирующего автомата Мс + 3 (Мс).
Здесь конструирующий автомат больше и в некотором смысле сложнее конструируемого, поскольку первый содержит полный план 3 (Мс) второго и вдобавок узел МС1 интерпретирующий и выполняющий этот план (ср. разд. 1.6.1.1 и стр. 97—99). Чтобы первичный автомат мог конструировать вторичный автомат столь же больших, как юн сам, размеров, несколько изменим универсальный конструктор Мс (ср. разд. 1.6.1.2 и стр. 103—105).
Пусть вторичный автомат, который предстоит сконструировать, состоит из начально покоящегося автомата М и ленты L, хранящей некоторую начальную информацию 3 (М) (см. рис. 54). Разместим на ленте L универсального конструктора следующие данные: точка, описание 3 (71/), вторая точка, информация 3 (М), третья точка. В частности, может случиться, что 3 {М} и третья точка отсутствуют. Универсальному конструктору легко обнаружить отсутствие информации 3 (М^ так как она записана в пятиразрядном коде, в который не включен символ, состоящий из одних нулей (разд. 5.2.3).
Теперь заменим Мс модифицированным универсальным конструктором 71/?, выполняющим следующие 3 функции. Во-первых, 71/? конструирует 71/, используя, как и прежде, описание 3 (М) (разд. 5.2.1 и 5.2.3). Во-вторых, М* создает присоединенную к М ленту L, на которой записана точка, информация 3 {М} и вторая точка. Если конструктор 71/? обнаружит, что на его ленте после второй точки ничего нет (т. е. 3 (М) отсутствует), то он будет переносить на ленту, присоединенную к 71/, точку, описание 3 (71/) и вторую точку. В-третьих, 71/? дает пусковой импульс автомату М.
Вторая из этих 3 функций представляет собой простую операцию копирования ленты. Ее производят узел КУ и конструирующий рукав подобно тому, как они конструируют М. Разумеется, кодирование в этих двух случаях различное. Клетка (г, /) автомата М задается в 3 (М) пятиразрядным символом, хранящимся в пяти последовательных ячейках ленты конструктора М*. В отличие от этого каждая клетка ленты автомата М имеет тот же вид, что и соответствующая клетка ленты конструктора 71/?.
Для каждого выбора точки (^, z/J копии конструктора М* существует свое описание 26 (М*). Поместим это описание 26 (М*) на ленту самого конструктора М*. Комплекс М* + 26 (М*) будет конструировать М* + 26 (М*). Это и есть самовоспроизведение (см. рис. 55).
Итак, самовоспроизводящийся автомат можно встроить в структуру фон Неймана из клеток с 29 состояниями. Это ответ на вопрос (D1).
Повторное конструирование и самовоспроизведение можно получить путем дальнейших модификаций универсального конструктора (разд. 1.7).
Начально покоящийся автомат Ми является универсальной машиной Тьюринга (разд. 5.1.3). Поместим описание 26 (Ми + М*) на ленту L автомата М*. Первичный автомат М* + 26 (Ми + М*) будет тогда J конструировать (Ми + М*) + 26 (Ми + М*) как вторичный автомат. В этом случае конструируемый автомат больше конструирующего.
Затем присоединим Ми к М^ как на рис. 56. Поместим описание 26 (Ми + М*) на ленту автомата Ми + М*. Автомат (Ми + М*) + + 26 (Ми + М*) будет конструировать (Ми + М*) + 26 (Ми + М*)* Следовательно, он самовоспроизводящийся. После окончания конструирования вторичный автомат (Ми + М*) + 26 (Ми + М*) может произвести некоторое вычисление. Если же автомат Ми снабжен своей собственной лентой, то каждый комплекс (Ми-\-М*) + 26 (Ми + + М*) может вычислять и конструировать одновременно.
Это значит, что в предложенную фон Нейманом структуру клеток с 29 состояниями можно встроить автомат, способный выполнять вычисления, производимые универсальной машиной Тьюринга, и воспроизводить себя. Это ответ на вопрос (D2).
[Все вопросы фон Неймана о возможностях автоматов конструировать и вычислять^(разд. 1.1.2.1 и 5.3.1) получили утвердительные ответы. Структура фон Неймана из клеток с 29 состояниями вычислительно универсальна, конструктивно универсальна и допускает самовоспроизведение. В этой клеточной структуре самовоспроизведение является частным случаем конструирования, а конструирование и вычисление имеют очень много общего.]
ЛИТЕРАТУРА1)
Бёркс (Burks A. W.)
Computation, behavior, and structure in fixed and growing automata,1 Behavioral Science, 6 (1961), 5—22. (Первоначальный вариант и обсуждение см. в сб. «Самоорганизующиеся системы», изд-во «Мир», М., 1964.)
Electronic computing circuits of the ENIAC, Proc. Inst. Radio Engin., 35 (август, 1947), 756—767.
Programming and the theory of automata, сб. «Computer programming and formal systems», Amsterdam, 1963, стр. 100—117.
Super electronic computing machine, Electronic Industries, 5 (июль, 1946) 62—67, 96.
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 H a о, A survey of mathematical logic, Peking, 1962, стр. 175—223.)
Бёркс А., Голдстайн X., Нейман Дж., фон
Предварительное рассмотрение4 логической конструкции электронного вычислительного устройства, Кибернетический сб., № 9, изд-во «Мир», М., 1964, стр. 7—67.
Бёркс А., Райт Дж.
Теория логических сетей, Кибернетический сб., № 4, ИЛ, М., 1962, стр. 33—
Б и р к г о ф Г.
Гидродинамика, ИЛ, М., 1954; изд. 2, изд-во «Мир», М., 1963.
Б и р к г о ф, Нейман (Birkhoff G., Neumann J., von)
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).
Wissenschaftliche Abhandlungen, Leipzig, В. 1, 2, 3 (1909).
Брайнерд, Шарп лес (Brainerd J. G., Sharpless T. K.)
The ENIAC, Elect. Engin., 67 (февраль, 1948), 163—172.
!) Работы, отмеченные звездочкой, добавлены при переводе.— Прим, перев.
Бриллюэн Л.
Наука и теория информации, Физматгиз, М., 1960.
Бут (Booth A. D.)
The future of automatic digital computers, Comm. Comput. Mach.. 3 (июнь, 1960), 339—341, 360.
Вигингтон (Wigingt о n R. L.)
A new concept in computing, Proc. Inst. Radio Engin., 47 (апрель, 1959), 516—523. Вилкс (W i Ijk e s M. V.)
Automatic digital computers, London, 1956.
Progress in high-speed calculating machine design. Nature, 164 (август, 1949), 341-343.
Вильямс (Williams F. C.)
A cathod-ray tube digit store, Proc. Roy. Soc. of London, Ser. A, 195 (декабрь, 1948), 279—284.
Винер H.
Кибернетика, или управление и связь в животном и машине, изд-во «Сов. радио», М., 1963.
Гёдель (Godel’ К.)
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.)
On undecidable propositions of formal mathematical systems. Размноженные на мимеографе записи лекций, прочитанных в Институте перспективных исследований, Princeton, New Jersey, 1934. (Переиздано в сб. «The undecidable«. New York, 1965, стр. 39—74.)
tiber die Lange der Beweise, Ergebnisse eines mathematischen Kolloquiums Heft 7 (1936), 23—24. (Английский перевод в сб. «The undecidable», New York. 1965, стр. 82—88.)
Г о л а н д (Holland G. H.)
Concerning efficient adaptive systems, сб. «Самоорганизующиеся системы», изд-во «Мир», М., 1964.
Outline for a logical theory of adaptive systems, J. Assoc. Comput. Mach., 9 (июль, 1962), 297—314.
Iterative circuit computers, Proceedings oi the 1960 Western Joint Computer Conference, pp. 259—265. Institute of Radio Engineers, 1960.
Universal embedding spaces for automata. Готовится к изданию в Progress in Brain Research, a festschrift for Norbert Wiener; Amsterdam: Elsevier Publishing Company.
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.
Голдстайн, Голдстайн (G о 1 dstine H. H., Goldstine A.) 1. The electronic numerical integrator and computer (ENIAC), Math. Tabi, and
Other Aids to Comput., 2 (июль, 1946), 97—110 и фронтиспис.
Голдстайн, Нейман (Goldstine Н. Н., Neumann J., von) 1. Planning and coding of problems for an electronic computing instrument.
Часть II доклада по математическим и логическим вопросам электронной вычислительной машины, подготовленного в соответствии с контрактом W-36-034-ORD-7481 для Артиллерийско-технического управления армии США. Princeton, v. 1 (1947), v. 2 (1948), v. 3 (1948). (См. также Нейман [1, т. 5, стр. 80-235].)
Гото (Goto Е.)
The parametron, a digital computing element which utilizes parametric oscillation, Proc. Inst. Radio Engin., 47 (август, 1959), 1304—1316.
Кейнс (Keynes J. M.)
A treatise on probability, London, 1921.
К вмени (К е m е п у J.)
Man viewed as a machine, Set. Amer., 192 (апрель, 1955), 58—67. Работа написана на основе лекций фон Неймана, прочитанных в Принстонском университете в марте 1953 г.
Клини С.
Введение в метаматематику, ИЛ, М., 1957.
Представление событий в нервных сетях и конечных автоматах, сб. «Автоматы», ИЛ, М., 1956, стр. 15—67.
Кодд (Codd Е. F.)
Propagation, computation, and construction in two-dimensional cellular spaces; диссертация, University of Michigan, 1965.
Лаплас (Laplace, Marquis Pierre Simon de)
A philosophical essay on probabilities, New York, 1951. (Впервые на франц, языке в 1814 г.)
Лебедев Д. С., Левитин Л. Б.
*1. Перенос информации электромагнитным полем, сб. «Теория передачи информации», изд-во «Наука», М., 1964.
Левитин Л. Б.
*1.Количество информации и квантовомеханическая необратимость измерения, Материалы 4-й Всесоюзной конференции по теории передачи и кодирования информации, сек. II, Ташкент, 1969.
Ли (Lee С. Y.)
A Turing machine which prints its own code script, Proceedings of the Symposium on Mathematical Theory of Automata, New York, April, 1962; Brooklyn, New York, 1963, pp. 155—164.
Майхилл (Myhill J.)
The converse of Moore’s Garden-of-Eden theorem, Proc. Math. Soc., 14 (август, 1963), 685—686.
Маккаллок У., Питтс У.
Логическое исчисление идей, относящихся к нервной активности, сб. «Автоматы», ИЛ, М., 1956, стр. 362—384.
М а к - Нотон (McNaughton R.)
On nets made up of badly timed elements. Part I: Slow but perfectly timed elements. Размножено на мимеографе. Philadelphia, 1961.
Метрополи с, У л ам (Metropolis N., U 1 am S.)
The Monte Carlo method, J. Amer. Stat. Assoc., 44 (1949), 335—341.
Моргенштерн О., Нейман Дж., фон
Теория игр и экономическое поведение, изд-во «Наука», М., 1970.
М у р Э. Ф.
Математические модели самовоспроизведения, сб. «Математические проблемы в биологии», изд-во «Мир», М., 1966, стр. 36—62.
Найквист (Nyquist Н.)
Certain factors affecting telegraph speed, Bell System Tech. J., 3 (1924), 324—346. Нейман Дж., фон (Neumann J., von)
Collected works, 6 томов, New York, 1961—63. (Том 5 называется «Design of computers, theory of automata and numerical analysis».)
Вычислительная машина и мозг, Кибернетический сб., № 1, ИЛ, М., 1960, стр. 11—60. (Рукопись была подготовлена в 1955—1956 гг. для лекций в Йельском университете, но она не была закончена, а лекции не были прочитаны.)
First draft of a report on the ED VAC. Контракт № W-670-ORD-4926 между Артиллерийско-техническим управлением армии США и Пенсильванским университетом. Размножено на мимеографе, 1945. (В более раннем машинописном экземпляре собрано больше материала. Оба варианта недописаны, в них недостает многих ссылок. Однако логический синтез по существу закончен, если не считать органов управления, входа и выхода.)
Общая и логическая теория автоматов. Приложение к книге Т ь ю р и н - г а А., Может ли машина мыслить?, Физматгиз, М., 1960, стр. 59—102. (Доклад прочитан 20 сентября 1948 г. на симпозиуме по механизмам мозга в поведении. Комментарий фон Неймана по поводу других докладов симпозиума см. на стр. 58—63, 96, 109—111, 132, 232 сб. «Cerebral mechanisms in behavior — the Hixon symposium», New York, 1951.)
Математические основы квантовой механики, изд-во «Наука», М., 1964.
Non-linear capacitance or inductance switching, amplifying and memory devices. Эта статья составляет основу патента США 2815488, заявленного 28 апреля 1954 г. Опубликована в декабре 1957 г. (См. также Нейман [1, т. 5, стр. 379—419].)
Вероятностная логика и синтез надежных организмов из ненадежных компонент, сб. «Автоматы», ИЛ, М., 1956, стр. 68—139. (Статья основана на заметках, которые были сделаны фон Нейманом в связи с пятью лекциями, прочитанными им в Калифорнийском технологическом институте в январе 1952 г.)
Quantum logics (strict- and probability-logics). (Написано, по-видимому, в 1937 г.). (См. Нейман [1, т. 4, стр. 195—197].)
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 г.)
Review of Norbert Wiener’s «Cybernetics, or control and communication in the animal and the machine», Physics Today, 2 (1949), 33—34.
Zur Theorie der Gesellschaftspiele, Math. Ann., 100 (1928), 295—320. (Cm, также Нейман [1, т. 6, стр. 1—26].)
Bull. Amer. Math. Soc., 64, № 3 (1958), 50—122.
Рассел (Russell B.)
Mathematical logic as based on the theory of types, Amer. J. of Math., 30 (1908), 222-262.
Рейчмен (Rajchman J. A.)
The selectron — a tube for selective electrostatic storage, Math. Tabi. and. Other Aids to Comput., 2 (октябрь, 1947), 359—361 и фронтиспис.
Ричард (Richard J.)
Les principes des mathematiques et le probleme des ensembles, Rev. generate des sci. pur. et appl., 16 (1905), 541—543.
С ц и л a p д (Szilard L.)
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, metamathematics, Oxford, 1956; стр. 152—278. (Оригинальное польское издание в 1933 г.; немецкий перевод в 1936 г.)
Тьюринг (Turing А. М.)
The chemical basis of morphogenesis, Phil. Trans. Roy. Soc. of London, Ser. B, 237 (август, 1952), 37—72.
Computability and ^-definability, J. of Sy mb. Log., 2 (декабрь, 1937), 153—163,
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.)
The construction of a self-describing Turing machine, Proceedings of the Symposium on Mathematical Theory of Automata, New York, April, 1962; Brooklyn, New York, 1963, стр. 165—171.
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.)
Нерешенные математические задачи, изд-во «Наука», М., 1964.
Electronic computers and scientific research, сб. «The age of electronics», New York, 1962, стр. 95—108.
John von Neumann, 1903—1957, Bull. Amer. Math. Soc., 64, № 3, Part 2 (1958), 1—49. (Здесь содержатся ценные биографические сведения, краткий перечень результатов, полученных фон Нейманом, и библиография.)
Некоторые математические проблемы, связанные с процессом роста фигур, сб. «Математические проблемы в биологии», изд-во «Мир», М., 1966, стр. 63— 77.
Random processes and transformations, Proceedings of the International Congress of Mathematicians, 1950; Providence, 1952, v. II, pp. 264—275.
Хартли (Hartley R. V. L).
Transmission of information, Bell. Syst. Tech. J., 7 (1928), 535—563.
X e м м и н г P.
Коды с обнаружением и исправлением ошибок, сб. «Коды с обнаружением и исправлением ошибок», ИЛ, М., 1956, стр. 7—23.
Чёрч (Church А.)
Applications of recursive arithmetic to the problem of circuit synthesis, Summaries of talks presented at the summer institute for symbolic logic, Cornell University, 1957; Princeton, 1960.
П1 св в он K.
Математическая теория связи, сб. «Работы по теории информации и кибернетике», ИЛ, М., 1963, стр. 243—332.
Вклад фон Неймана в теорию автоматов, сб. «Работы по теории информации и кибернетике», ИЛ, М., 1963, стр. 232—242.
Э к к л с (Eccles J. С.)
The neurophysiological basis of mind, Oxford, 1953.
Эстрин (Estrin G.)
The electronic computer at the institute for advanced study, Math. Tabi. and. Other Aids to Compute 7 (апрель, 1953), 108—114 и фронтиспис.
РИСУНКИ
Рис. 1. Нейронная сеть, в которой доминирование не транзитивно.
Р и с. 2. Двоичная лента, сконструированная из элементов жесткости.
+ нейрон: ь т ©—** с или • нейрон: ° ~7 0—►с или - нейрон: а —► ©—*-с
Рис. 3. Основные типы нейронов.
(СО
(Ь)
Рис. 4. Структура с квадратными клетками.
а) Ближайшие (С) и следующие за ними ближайшие (•) соседи точки х. Ь) Единичные векторы, с) Ближайшие (О) и следующие за ними ближайшие «) соседи клетки х.
(е)
Too
Too
Tqo
тзо
(f)
T30
T20
T20
T20
Т30
T30
1
Т30
Too
Too
Too
Too
1
(е')
-*-
-*-
t
(f)
t
1
*
*
♦
-*-
->-
->-
Рис. 5. Обычные передающие состояния.
Рис. 6. Конфлюентные состояния.
а) Получение нейрона,-с помощью конфлюентных состояний. Ь) Получение расщепления линии с помощью конфлюентных состояний.
Рис. 7. Организация некоторой области*
t
-<-
-*-
4
В
4
4
4
4
*
A
-*-
-*-
->-
-*-
4
4
4
t
t
4
4
*
i
JO—
4
4
t
-*-
-*-
->-
-*-
4
4
*
4
-*-
-*-
i
2
-*-
-*-
4
-*-
4
-*-
1
Рис. 8. Необходимость в четных и нечетных задержках.
о
И
о « и 5 и к
Используемый символ
о ч
§
Правило переходов
о® Sb
5s
и
1
Прямой процесс переводит U в чувствительные состояния, а затем в Тиао или Cqo-
Обратный процесс убивает Тиа8 или Сее/, переводя их в U.
3
f к
сее*
8 = 0 (покоящееся)
8=1 (возбужденное)
e' = 0 (покоящееся в следующий момент)
8' = 1 (возбужденное в следующий момент)
4
Получает сигналы конъюктивно от состояний Тоа8, направленных на это состояние; с двойной задержкой возбуждает все не направленные на эту клетку состояния тиае-
Убивается путем перевода в U состоянием T^ai, направленным на это состояние. Убивание доминирует над восприятием импульсов.
3 и
3
о
ti у ь
s a 2
В в к
т0ае
0
Класс:
и=0 (обычное)
и = 1 (специальное)
Возбуждение:
е=0 (покоящееся)
е=1 (возбужденное)
Выходное направление:
а = 0 (вправо)
а = 1 (вверх)
а = 2 (влево) а = 3 (вниз)
8
Получает сигналы дизъюнктивно от состояний TQag, направленных на это состояние, и от Cgg/. Подает импульс в выходном направлении с единичной задержкой: а) на состояние Тоа8, не направленное на это состояние, и на C88z’
на U или чувствительные состояния при прямом процессе;
убивает Tja8 при обратном процессе.
Убивается путем перевода в U состоянием Т1ар направленным на это состояние: убивание доминирует над восприятием.
to
О
|О
3 и ■ Л
1
и о
т1ае
8
Получает сигналы дизъюнктивно от состояний Tjae, направленных на это состояние, и от С88/. Подает импульс в выходном направлении с единичной задержкой: а) на состояние Tja8, ненаправленное на это состояние;
на U или чувствительные состояния при прямом процессе;
убивает Тда8 или С88' при обратном процессе.
Убивается путем перевода в U состоянием Тда>[, направленным на это состояние; убивание доминирует над восприятием.
fl
0
ф й л 5
s
/Sooo Soo
So
Soi
\ Sio
Su
8
Промежуточные состояния, возникающие в прямом процессе. Tua ^ направленное на U, переводит его в Sq. После этого состояние 83 меняется на
S31, если на него направлено некоторое состояние Тиа^;
830 в противном случае до тех пор, пока прямой процесс не заканчивается состоянием Tuao или Соо-
См. рис. 10.
Рис. 9. 29 состояний и правило переходов между ними.
(Т020)
$0000 (Tqoo)
$0001 <Т010>
(T03q)
(тюо)
(Тцо)
(T12q)
и
и
^008
сее*
и
^018
d
Рис. 10. По-
/т \ следователь-
130' ность состоя
НИЙ в прямом
^с00' процессе.
и
Toie
Tq18
Tq 08
С££'
Tq18
и
^138
и
h l
Рис. 11. Примеры передающих и конфлюентных состояний.
а) Реализация функции /(t + 3) = [a (t) 4- b (t + 1)]. b) Реализация функции g (t 4- 3) = = [с U)-d (01- с) Преобразование обычных импульсов в специальные с помощью конфлюентных состояний и разветвление проводов.
Рис. 12. Иллюстрация прямого процесса.
Момент 1Момент 1
Момент 1
Момент 1
Момент О
и
и
и
и
и
Lot
Cqo
и
и
и
и
и
?
?
?
?
?
Loo
и
?
?
?
?
?
(а)
Момент 1Момент 1Момент О
Момент 1
Момент 1
и
и
и
и
и
^101
^021
и
и
и
и
и
?
?
?
?
?
и
и
?
?
?
?
?
(Ь)
Момент ОМомент 1
Момент 2Момент 3
Рис. 13. Примеры для обратного процесса.
а) Специальное передающее состояние, убивающее Гконфлюентное состояние. Ь) Специальное и обычное передающие состояния, убивающие друг друга, с) Убивание доминирует.над восприятием, но не над испусканием импульсов.
Рис. 14. Процедура для изменения состояния удаленной клетки и возвращения конструирующего пути к его первоначальному невозбужденному состоянию.
Приводит к рис. 14bПриводит к рис. 14d
На V. 100.001000010101Ш ОООООООООООНОООО!
На /: 000000000000000011011110111000000010
Приводит к рис. 14с Приводит к рис, 14е
ооОоОосОсОсооОоОосОсОс(a) PU11)(a) PU11)12345671234567
о
о
О
о
О
о
с
О
с
О
с
о
о
О
о
О
о
с
О
с
О
с
(a) PU11)
(a) PU11)
1
2
3
4
5
6
7
1
2
3
4
5
6
7
Рис. 15. Два импульсатора.
старое a
(b)
(с)
U С
(е)
Рис. 16. Синтез
импульсатора.
Рис. 17. Два периодических импульса! о ра.
а) Периодический импульсатор РР (10010001). Ь) Периодический импульсатор РР(Г).
О
to
♦о'
£
(a)
(b)
(c)
(d)
A2
Рис. 18. Синтез периодического импульсатора: первоначальная конструкция.
a^cr
♦1
7
(g)
b
я_—а*=я''|Гс
t1
(k)
Рис. 18. Продолжение.
fd)
Рис. 19. Синтез периодического импульсатора: выравнивание задержек.
£
£
£
£
£
£
и
и
и
и
и
и
Р1
«•I«•II»I»«hl«hl14(f)14(f)
«•I
«•I
I»
I»
«hl
«hl
14
(f)
14
(f)
Рис. 19. Продолжение.
О
О
с
О
с
о
с
0
с
0
с
2
с
VW
ж
£
2
2
2
2
2
2
2
2
10
+1
♦0
О
2
2
о
2
2
2
2
2
0
♦0
с
О
с
2
с
2
с
2
с
2
с
1
2*
■to
D E F G
4
/
2
ABC
Рис. 20. Периодический импульсатор PP (1).
А В C D E F
с
0
с
0
с
to
Т
to to
to
to
2
Ю
to
to
ю
Я
to
40
0
40
2
ю
to
|О
0
to
2
to
2
40
0
to
to
to
2
4°
2
40
2
с
2
с
2
c
Рис. 21. Декодирующий орган D (10010001).
(С)
Рис. 22. Синтез декодера.
Рис. 23. Тройной возвратный счетчик Ф.
иянХэид
(d)(d)(с)
(d)
(d)
Рис. 24. Продолжение.
Рис. 27. Кодированный канал.
A
Рис. 29. Импульсаторы и декодеры кодированного канала.
Рис. 30. Цикличность в кодированном канале.
Хо
^1
^_1
^+1
(С)
Рис. 31. Линейный массив L, соединительная петля Q и временная петля С2.
(a)
(b)
(d)
P и c. 32. Удлинение временной петли C$.
Р я с. 33. Удлинение соединительной петли С1е
2£_О£О2£_О£О
2
£
_О
£
О
2
£
_О
£
О
(g)
Рис. 34. Укорочение временной петли С2.
Рис. 35. Укорочение соединительной петли С1е
(h)
Рис. 36. Запись 0 в ячейку а^ линейного массива L при удлинении петли Cf,
Входы и выходы КУ,
УУП
Рис. 37. Узел ленты с памятью неограниченной емкости (все органы и узлы показаны без соблюдения масштаба).
с?! —> Подать 10101 на vv wY —Доргана Ф.
а:=о)
(^=i) (£„+1=0) c+1=d (es+l —1)
Ъ органа V —ц.
с органа V —io.
о2 —^ Запустить ао.
о3—> Запустить а^
о4—> (28'а) —(28'd) (29'а) — (29'd)
(Орган а0 активен.) (Орган at активен.)
Остановить а0. Остановить ау.
(29'е') —(29'h')(29'е) — (29'g)
(8S+1— —1)
о5 — (30'a)-(30'g) (З1'а) — (31'с)
г - - -■1 -- -\
(Орган а0 активен.) (Орган а4 активен.)
Остановить а0.Остановить aj.
(31'd')(31 'd)
(ЗГе)-(ЗГЬ)
Р^и с. 38. Логическая структура процедуры, выполняемой узлом УУП.
GO,СЗС
(a)
Рис. 39. Блок считывания — записи — стирания (СЗС). а^Верхняя часть блока СЗС. Ь) Нижняя часть^блока^СЗС.
Рис. 40. Орган управления (ОУ).
а — Вход, запускающий ОУ. Ъ — Этот путь проходит через область задержки W и запускает периодический импульсатор блока СЗС. Если используется Фь то он ведет к u2-a* или Dt-a+. Если используется Ф2, то он ведет к ura+ или Vi-a+. с — К входу (Ф^а или Ф2а) тройного возвратного счетчика блока СЗС. d — С выхода тройного возвратного счетчика (Ф1-Ь или Ф2Ь) блока СЗС. е — Для остановки периодического импульсатора блока СЗС. Если используется Фь то сигнал идет на u2 a- или и2 а— Если используется Ф2, то сигнал идет на их«а- или Dx-a_. f — Используется для запуска импульсатора блока СЗС (если потребуется) и либо для запуска следующего органа ОУ, либо для посылки импульса на ig.
Входы и выходы КУВходы и выходы КУксзссс3ксзссс3сс2сс2
Входы и выходы КУ
Входы и выходы КУ
ксзссс3
ксзссс3
сс2
сс2
Рис. 41а. Блок контроля считывания — записи — стирания (КСЗС). Органы управления удлинением петли С2 (OYt и ОУ2) и органы управления удлинением нижней части петли С4 (ОУ3 и ОУ4).
Рис. 41b. Блок КСЗС. Показаны периодический импульсатор РР (1), предназначенный для запоминания того, что в ячейку хп должен быть записан нуль, и органы управления для записи нуля и удлинения верхней части петли С1е
Рис. 41с. Блок КСЗС. Показаны периодический импульсатор РР (1), предназначенный для запоминания того, что в ячейку хп должна быть записана единица, и органы управления для записи единицы и удлинения верхней части петли С^
с 1^2
ксзс
сс$
Ко входу а блока ОУ;-,
Рис. 41d. Блок КСЗС. Органы управления укорочением петли С2 (слева).
сс2ксзс
III III III III III IN IN IN
Рис. 41е. Блок КСЗС. Органы управления и РР (1) для укорочения нижней части петли Ct и записи в ячейку хп (справа).
Рис. 41 f. Блок КСЗС. Органы управления укорочением верхней части петли С1е
ABCDEFGHABCDEFGH1234567812345678(а)(а)
ABCDEFGH
ABCDEFGH
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
(а)
(а)
(b)
P ис. 42. Орган пересечения.
а) Орган пересечения. Ъ) Начальное состояние часов. Выход с i и j: 101010. Выход с е и /: 010101.
P if с. 43. Орган состояния (ОС) конечного автомата (КА)#
Ъ — От г3 органа ОУ; означает завершение предыдущего этапа, с — Пусковой импульс от ОС предыдущего этапа, d — С iv органа ОУ; означает, что в ячейке хп хранится 0. е — От г2 органа ОУ. / — С выхода к. ц — От i2 органа ОУ; означает, что в ячейке хп хранится 1. 5 — К ot органа ОУ для начала считывания содержимого ячейки хп массива Ъ. к — К входу f. I — К входу с органа ОС, используемого на следующем этапе, т — К о2 органа ОУ, если в ячейку хп предстоит записать 0, и к о3 органа ОУ, если в ячейку хп предстоит записать 1. п — К о4 органа ОУ, если петли Сь С2 должны подвергнуться удлинению, и к об органа ОУ, если петли Сп С, должны подвергнуться укорочению, р — К входу с органа ОС, используемого на следующем этапе, q — Ко, органа ОУ, если в ячейку хп предстоит записать 0, и к о3 органа ОУ, если в ячейку хп предстоит записать 1. г — К о4 органа ОУ, если петли Clt С2 должны подвергнуться удлинению, и к об органа ОУ, если петли Сь С, должны подвергнуться укорочению.
D E
(a)(b)(a)(b)
(a)(b)
(a)(b)
Рис. 44. Конструирующий рукав.
а) Головная часть конструирующего рукава. Ь) Подача импульсов на головную часть слева. с) Подача импульсов на головную часть справа.
Начальное состояние
Посылка ^ U —> на s или s' приводит к
Посылка U ф U =Ф на о или о' приводит к
(с)
Р и с. 45. Наступление конструирующего ’рукава по горизонтали.
А В
Начальное состояние
Посылка U f ч— f f| на о или Jo' приводит к
Посылка U =£ 1Мна s или s' приводит к
Р иь 46. Наступление конструирующего рукава по вертикали®
Начальное состояние
Посылка U jL на о или о' приводит к
С) Посылка U Ф= U | на s или s' приводит к
Посылка U —> U | U6 на"о или о* приводит к
Посылка U =Ф Uy на s или s' приводит к
(а)(а)(d)(d)г15г15o'
(а)
(а)
(d)
(d)
г
1
5
г
1
5
(е)
Рис. 47. Отступление конструирующего рукава по горизонтали и конструирование клеток у и 6.
(Ь)(Ь)U)U)
(Ь)
(Ь)
U)
U)
Начальное состояние
Посылка U ч— U ^ U =Ф на о или о1 приводит к
Посылка U ^ U Ф= Uy на s или s' приводит к
Посылка U f 6 на о или о приводит к
Посылка U =Ф на s или s' приводит к
Р п с. 48. Отступление конструирующего рукава по вертикали и конструирование клеток у и д.
Начальное состояние
Посылка Uf на о или о* приводит к
(С)(С)(d)(d)Импульс, посланный на о или о', дает на е импульс, запускающий вторичный автомат
(С)
(С)
(d)
(d)
Посылка U =Ф на s или s' приводит к
Рис. 49. Посылка пускового импульса во вторичный автомат.
Рисунки
(a)
(b)
P ii c. 31 Новый метод работы с линейным массивом L.
а) Начальное состояние, при котором читающая петля проходит чере_з хп. Ь) Посыл на на у последовательности 10101 приводит к тому, что 1) на» появляется 1, если хп находится в состоянии U (означающем 0), 2) на w появляется 10101, если хп находится в состоянии | (означающем 1), 3) хп приводится в состояние |.
а) Начальное состояние
(Ь)
Р и с. 52. Запись 1 в ячейку ха и удлинение читающей петли.
(с)
(d)
Рис. 52. Продолжение.
Декодеры:
А В
Рис. 53. Статико-динамический конвертор.
•*эд doiMXdioiioM иннче^эяпнд -^9 *0 и j
Рисунки
Phcvhkm
Рис. 55. Самовоспроизведение.
Рисунки380
Рис. 56. Самовоспроизведение универсального вычислителя-конструктора.
ОГЛАВЛЕНИЕ
ОТ РЕДАКТОРА ПЕРЕВОДА 5
ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ 7
ПРЕДИСЛОВИЕ 15
ВВЕДЕНИЕ РЕДАКТОРА
Работа фон Неймана в областивычислительных машин 20
Фон Нейман и его теория автоматов 37
ЧАСТЬ I
ТЕОРИЯ И ОРГАНИЗАЦИЯ СЛОЖНЫХ АВТОМАТОВ
Лекция 1. Вычислительные машины 51
Лекция 2. Детерминированная теория управления и информации . . .62
Лекция 3. Статистические теории информации 77
Лекция 4. Роль высокой и очень высокой сложности 83
Лекция 5. Переоценка проблем сложных автоматов — проблемы иерархии и эволюции 93
ЧАСТЬ II
ТЕОРИЯ АВТОМАТОВ: КОНСТРУИРОВАНИЕ, ВОСПРОИЗВЕДЕНИЕ, ОДНОРОДНОСТЬ
Глава 1. Общие соображения 109
Г.1. Введение 109
Роль логики — вопрос (А) 117
Основные проблемы конструирования — вопрос (В) 119
Общие схемы конструирования — вопрос (В), продолжение . . . .128
Универсальные схемы конструирования — вопрос (С) 133
Самовоспроизведение — вопрос (D) 135
Различные проблемы внешнего конструирования, промежуточные между вопросами (D) и (Е) 143
Эволюция — вопрос (Е) 148
Глава 2. Система из 29 состояний с общим правилом переходов . . . .150
Введение 150
Логические функции — обычные передающие состояния 152
Нейроны — конфлюентные состояния 154
Функции роста: невозбудимое состояние и специальные передающие состояния 157
Обратный процесс 150
Прямой процесс — чувствительные состояния 161
Четные и нечетные задержки 165
Резюме 167
Глава 3. Синтез некоторых основных органов 177
Введение 177
Импульсаторы 179
Декодирующий орган: структура, размеры и временные соотношения 196
Тройной возвратный счетчик 201
Дискриминатор для различения последовательностей 1 и 10101: структура, размеры и временные соотношения 209
Кодированный канал 212
Глава 4. Конструкция ленты и системы управления ею 223
Введение 223
Удлинение и укорочение петель Q и С2 и запись в линейный массив 230
Узел управления памятью 250
Глава 5. Самовоспроизведение автоматов 275
Завершение синтеза узла управления памятью 275
Универсальный конструктор КУ +(УУП+ L) 296
Выводы 312
ЛИТЕРАТУРА 322
рисунки 327
ДЖ. ФОН НЕЙМАН
ТЕОРИЯ САМОВОСПРОИЗВОДЯЩИХСЯ АВТОМАТОВ
Редактор Л. Б. Штейнпресс Художник А. Г. Антонова Художественный редактор В. И. Шаповалов
Технический редактор И. К. Д с р в а Корректор М. А. Смирнов
Сдано в набор 25/11 1971 г.
Подписано к печати 10/VIII 1971 г.
Бумага № 1, 60х901/16=12 бум. л.
24 печ. л.
Уч.-изд. л. 23,80. Изд. № 1/5154
Цена 1р. 96 к. Зак. 799
ИЗДАТЕЛЬСТВО «МИР» Москва, 1-й Рижский пер., 2
Московская типография № 16
Главполиграфпрома Комитета по печати при Совете Министров СССР.
Москва, Трехпрудный пер., 9
Способность к самовоспроизведению долгое время рассматривалась как одно из наиоолее характерных свойств, присущих живым организмам. Фон Нейман был первым ученым, детально рассмотревшим задачу о том, при каких условиях способны к самовоспроизведению машины, рассчитывая, что решение этой задачи прольет свет как на фундаментальные проблемы биологии, так и на проблем; (интерес к которой стимулируется также и небио логическими науками), касающуюся потенциальных возможностей автоматов и пределов их возможностей
ЭДВАРД Ф. МУР
статьи из сборника «Математические проблемы в биологии»
«Мир», 1966
«В целом вклад фон Неймана в теорию автоматов, так же как и его вклад в другие разделы математики и другие науки, характеризуется открытием совершенно новых областей исследования и прозорливостью в оценке возможностей приложений методов современной математики. Исследования в направлениях, открытых им для разработки, не будут полностью закончены еще в течение долгих лет. Очень жаль, что часть его замыслов относительно теории автоматов осталась нереа шзо- ванной».
КЛОД ШЕННОН
статья из сборника «Работы по теории информации и кибернетике»
ИЛ, 1963
Э Большинство его идей в этой области было высказано в частных беседах и никогда не публиковалось. Отдельные ссылки можно найти в докладе Бёркса. Голдстайна, Неймана [1]. Бут [1, стр. 341] упоминает сверхпроводящий элемент памяти, конструкцию которого он обсуждал с фон Нейманом в 1947 г. Кроме того, фон Нейману принадлежит несколько первых исследований, касающихся мазера (см. его работу [1, т. 5, стр. 420], а также журнал Scientific American. февраль 1963, стр. 12, и апрель 1963, стр. 14, 15).
параметрон основан па той же самой идее, но сильно отличается по предполагае
мой скорости работы. Максимальные частоты, о которых сообщает Гото,— это
возбуждающая частота (2/), равная 6 X Ю6 гц, и тактовая частота 105 гц. Соглас
но Вигингтону, фон Нейман предполагал физически достижимыми возбуждаю
щую частоту (2/), равную 5х1010 гц, и тактовую частоту, равную'109 гц.
*) Selective Sequence Electronic Calculator — электронная вычислительная машина с выбором последовательности действий.— Прим, перев.
Э [Примером такого языка служит предложенный фон Нейманом язык программирования с применением блок-схем, см. стр. 32.]
т) Тьюринг [3]. [См. обсуждение машин Тьюринга и универсальных машин Тьюринга на стр. 69. Неограниченно удлиняемая лента машины Тьюринга — это «переменное, но по существу стандартное оборудование», которое упоминается фон Нейманом в вопросах (А) и (В).]
2) Нейман [4].
]) [См. сноску на стр. 120. Улам в работе [5], представленной в 1950 г., вкратце описал некоторую клеточную схему и отметил, что она рассматривалась фон Пейманом и им.]
т) [Мур [1] предложил название «мозаичная модель».]
ДЖ.ФОН НЕЙМАН
ТЕОРИЯ
САМОВОСПРОИЗВОДЯЩИХСЯ
АВТОМАТОВ
ДЖ. ФОН НЕЙМАН
ЗАКОНЧЕНО
И ОТРЕДАКТИРОВАНО
БЁРКСОМ
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-315—71