Джон фон Нейман

Вычислительная машина и мозг

John Von Neumann

THE COMPUTER AND THE BRAIN

Third edition

Originally published by Yale University Press First edition 1958. Second edition published as a Yale Nota Bene book in 2000. Third edition 2012.

© Yale University Press, 1958

© Renewed by Marina V. N. Whitman, 1986

Foreword to the Second edition copyright © 2000 by Yale University

Foreword to the Third edition copyright © 2012 by Ray Kurzweil

Школа перевода В. Баканова, 2018

© Издание на русском языке AST Publishers, 2018

Силлимановские лекции

На средства, пожертвованные в память о Хепсе Эли Силлимане, президент и сотрудники Йельского университета ежегодно представляют цикл лекций, призванных указать на присутствие Божие и промысел Божий в том виде, в коем проявляются они в мире природы и нравственности. По искреннему убеждению завещателя, всякое упорядоченное изложение явлений природы или фактов истории способствует достижению этой цели более успешно, нежели догматическое или полемическое богословие, которое посему должно быть исключено из материалов лекций. Темы преимущественно выбираются из областей естественных наук и истории; особое внимание уделено астрономии, химии, геологии и анатомии.

Предисловие к третьему изданию

Информационные технологии кардинально изменили жизнь человека, затронув каждую ее сторону – от бизнеса до политики и искусства. Сегодня, в силу стремительного роста мощности компьютеров, с одной стороны, и одновременного улучшения соотношения «производительность – цена» – с другой, информационная эра неумолимо продолжает расширять сферу своего влияния. Учитывая данное обстоятельство, можно утверждать, что важнейшим информационным процессом, требующим всестороннего изучения, является сам человеческий интеллект. Вероятно, эта книга представляет собой первое серьезное исследование взаимосвязи между мышлением человека и машиной – исследование с точки зрения математика, сформулировавшего фундаментальную архитектуру компьютерной эры.

В рамках грандиозного проекта по изучению механизмов работы мозга достигнуты значительные успехи: мы достаточно далеко продвинулись в обратном проектировании парадигм человеческого мышления и сегодня применяем их для создания более умных машин. Разумно ожидать, что искусственный интеллект (ИИ), построенный на базе данных принципов, в итоге воспарит над человеческим разумом. Однако, я полагаю, цель этого дерзкого предприятия состоит не в том, чтобы потеснить нас, а в том, чтобы расширить границы того, что уже сейчас можно смело назвать человеко-машинной цивилизацией. Именно это делает человеческий род поистине уникальным.

Итак, каковы же ключевые идеи, лежащие в основе информационной эры? По моему мнению, их пять. Джон фон Нейман выдвинул три из них, а также внес весомый вклад в четвертую. Клод Шеннон решил фундаментальную проблему надежности информации. Алан Тьюринг сформулировал идею универсальности машинных вычислений. Опираясь на Тьюринга и Шеннона, фон Нейман создал машину фон Неймана, которая была и остается фундаментальной архитектурой всех вычислительных машин, существующих на сегодняшний день.

В обманчиво скромном томике, который вы держите в руках, фон Нейман описывает предложенную им модель машинных вычислений и постулирует принципиальную эквивалентность живого мозга и искусственной машины. Он признает глубокие структурные различия, однако затем обращается к принципу эквивалентности всех вычислений, предложенному Тьюрингом, и предлагает рассматривать методы работы мозга как совокупность вычислений. Книга в высшей степени провидческая, особенно если учесть, что она была написана более полувека назад, когда нейронаука располагала лишь самыми примитивными инструментами. Фон Нейман предчувствовал быстрое развитие технологий и видел его неизбежные последствия в грядущей сингулярной трансформации человеческого существования.

Рассмотрим эти пять основных идей более подробно.

В 1940 году, услышав слово «computer», люди понимали, что речь идет об аналоговой вычислительной машине. В аналоговых машинах числа выражались разными уровнями напряжения, а специализированные компоненты могли выполнять такие арифметические функции, как сложение и умножение. Главный недостаток подобных машин заключался в весьма низкой степени точности. Числа могли быть представлены с точностью до одной сотой, а так как уровни напряжения, представляющие эти числа, обрабатывались большим количеством арифметических операторов, ошибки имели тенденцию накапливаться. При выполнении достаточно длинных вычислений результаты оказывались в высшей степени неточными, а то и вообще бессмысленными.

Это явление знакомо всякому, кто хоть раз записывал музыку на магнитную ленту. Первая копия была немного шумнее оригинала (шум представляет собой случайные неточности). На второй копии (т. е. копии копии) шумов было еще больше, а десятая содержала один только шум.

Это наводит на мысль, что с той же проблемой столкнется и мир цифровых вычислительных машин. Рассмотрим передачу цифровой информации по некоему каналу. Поскольку идеальных каналов не существует, любому из них изначально будет присущ определенный уровень ошибок. Допустим, мы выбрали канал с вероятностью правильной передачи каждого бита 0,9. Если я отправлю сообщение длиной в один бит, вероятность точной передачи его через этот канал будет равна 0,9. Допустим, я отправил 2 бита. Теперь точность составит 0,9^2 = 0,81. А если я отправлю 1 байт (8 битов)? В таком случае вероятность, что я получу его правильно, окажется менее 0,5 (0,43, если быть точным). Вероятность точной отправки пяти байтов составит около 1 процента.

На первый взгляд наилучший способ обойти эту проблему – сделать канал более точным. Предположим, канал совершает всего одну ошибку на миллион битов. Если я отправлю файл размером в полмиллиона байт (примерно столько «весит» скромная программка или база данных), вероятность правильной его передачи составит менее 2 процентов, хотя изначально точность канала была весьма высока. Учитывая, что ошибка в один бит может испортить всю компьютерную программу, это не лучший выход. Вне зависимости от исходной точности канала вероятность ошибки стремительно возрастает с увеличением размера сообщения. Выходит, эта проблема неразрешима?

Аналоговые вычислительные машины тоже аккумулируют неточности, но если ограничиться небольшим набором вычислений, они оказываются весьма полезными. Цифровые машины, с другой стороны, требуют наличия постоянной связи не только между двумя разными машинами, но и между собственными составными частями. Так, память связана с центральным процессором, внутри которого происходит постоянный обмен данными между регистрами, а также между регистрами и арифметическим устройством. Внутри арифметического устройства информация передается от одного битового регистра к другому. Если считать, что частота ошибок стремительно возрастает с увеличением количества таких связей и что ошибка в один бит может нарушить весь процесс, то необходимо признать: цифровые машины обречены.

Таково было общее мнение, пока Шеннон не провозгласил первую ключевую идею информационной эры. Он продемонстрировал, что мы можем создавать произвольно точные сообщения, используя самые ненадежные каналы передачи информации. В своей знаковой статье «Математическая теория связи», опубликованной в журнале Bell System Technical Journal в июле и октябре 1948 года, Шеннон предложил теорему кодирования для каналов с шумами, которая гласила: если у вас есть доступный канал с любым коэффициентом ошибок (за исключением 50 процентов на бит, поскольку это означает, что канал передает чистый шум), вы можете передать сообщение с любой желаемой степенью точности. Другими словами, частота появления ошибок может составлять один бит из n бит, где n может быть сколь угодно большим. Например, если у вас есть канал, который правильно передает биты информации только в 51 проценте случаев (т. е. передает правильный бит чуточку чаще, чем неправильный), вы тем не менее можете передавать сообщения таким образом, что неправильным окажется только один бит из миллиона, один бит из триллиона или один бит из триллиона триллионов.

Как такое возможно? Ответ: через избыточность.

Сейчас подобное решение может показаться элементарным, но в то время оно было далеко не очевидным. Рассмотрим простой пример. Если я передам каждый бит три раза и применю «принцип большинства», то я значительно повышу надежность результата. Если этого будет недостаточно, я могу увеличить избыточность, пока не получу необходимую надежность. Повторение информации – самый простой способ достичь высокой точности в каналах низкой точности. Однако данный подход не самый эффективный. В своей статье Шеннон не только заложил основы теории информации, но и предложил оптимальные методы обнаружения и исправления ошибок. Эти методы позволяли добиться любой желаемой точности через любой неслучайный канал.

Читатели более старшего возраста наверняка помнят телефонные модемы, в которых постоянно что-то шипело и щелкало, так как они передавали информацию по аналоговым линиям с высоким уровнем помех. Однако те же модемы могли передавать цифровые данные с очень высокой точностью – благодаря теореме Шеннона для канала с шумами.

Аналогичная проблема и аналогичное решение существуют и для цифровой памяти. Вы когда-нибудь задумывались, почему CD, DVD и программные диски продолжают работать даже после того, как упали на пол или были поцарапаны? Этим мы тоже обязаны Шеннону. Процесс вычислений состоит из трех элементов: связи (которая, как я уже говорил, имеет место как внутри, так и между машинами), памяти и логических вентилей (которые выполняют арифметические и логические функции). Точность логических вентилей можно сделать произвольно высокой с помощью особых кодов для обнаружения и исправления ошибок. Именно благодаря теореме Шеннона мы можем обрабатывать большие и сложные цифровые данные, используя для этого достаточно длинные алгоритмы.

Вторая важная идея, на которую опирается наш информационный век, – универсальность машинных вычислений. В 1936 году Алан Тьюринг описал «машину Тьюринга» – абстрактную вычислительную машину, которая состоит из бесконечно длинной ленты, разделенной на клетки с цифрами 1 или 0. Машина считывает одну клетку за другой и содержит набор правил в виде пронумерованных состояний, фактически представляющих собой хранимую в памяти программу. Каждое правило предписывает машине совершить одно действие, если в считываемой клетке стоит 0, и другое действие, если в считываемой клетке стоит 1. Возможные действия включают запись 0 или 1, перемещение ленты на одну клетку вправо или влево, остановку ленты. Каждое состояние содержит номер следующего состояния, в которое должна перейти машина. Завершив алгоритм, машина останавливается; выход процесса остается на ленте. Хотя лента теоретически бесконечна, любая программа (которая не подразумевает бесконечный цикл) использует конечную часть ленты; следовательно, если мы ограничимся конечной памятью, машина по-прежнему сможет решать широкий круг задач.

В машине Тьюринга нет ничего сложного, верно? На самом деле именно этого и добивался ученый. Он хотел, чтобы его машина была максимально простой (но не проще, перефразируя Эйнштейна). Позже Тьюринг и его бывший учитель, Алонзо Черч сформулировали тезис Черча – Тьюринга, согласно которому задача, которая не может быть решена машиной Тьюринга, не может быть решена никакой другой машиной. Хотя собственно машина Тьюринга способна выполнять крайне ограниченное количество команд и одновременно обрабатывает всего один бит, она может вычислить все, что может вычислить любая вычислительная машина.

Строгие интерпретации тезиса Черча – Тьюринга предполагают принципиальную эквивалентность того, что человек может думать или знать, и того, что может быть вычислено машиной. Основная идея заключается в том, что человеческий мозг подчиняется естественным законам; следовательно, его способность обрабатывать информацию не может превосходить таковую у машины (и соответственно у машины Тьюринга).

В своей статье Тьюринг заложил теоретические основы машинных вычислений. Хотя это целиком и полностью его заслуга, важно отметить, что большое влияние на него оказала лекция, прочитанная Джоном фон Нейманом в 1935 году в Кембридже (Англия). Лекция была посвящена идее программы, которую можно хранить в памяти – концепция, позднее воплощенная в машине Тьюринга. На фон Неймана в свою очередь произвела глубочайшее впечатление статья Тьюринга 1936 года, где были изложены принципы машинных вычислений и которую в конце 1930-х – начале 1940-х годов он включил в список обязательной литературы, составленный для своих коллег.

В той же работе Тьюринг сообщает о другом неожиданном открытии, а именно – о проблеме неразрешимых задач. Неразрешимые задачи – это хорошо описанные задачи с однозначным ответом, который, однако, не может быть вычислен на машине Тьюринга (т. е. на любой машине). Это противоречит постулату XIX века, гласящему, что все задачи, которые могут быть описаны, в конечном счете будут решены. Тьюринг показал, что неразрешимых задач столько же, сколько и разрешимых. В своей «Теореме о неполноте» 1931 года Курт Гедель приходит к аналогичному выводу. Таким образом мы оказываемся в странной ситуации: с одной стороны, мы можем описать задачу и доказать, что однозначный ответ существует, а с другой – знаем, что ответ никогда не будет найден.

Гораздо больше можно сказать о философском значении работ Тьюринга, Черча и Геделя, однако в рамках данного предисловия достаточно отметить следующее. Тьюринг показал, что в основе всех машинных вычислений лежит очень простой механизм. Поскольку машина Тьюринга (и, следовательно, любая вычислительная машина) способна определять дальнейший образ действий, исходя из результатов предыдущих операций, она способна принимать решения и моделировать произвольно сложные иерархии данных.

К декабрю 1943 года Тьюринг спроектировал и построил «Колосс», который часто называют первым компьютером в истории электронных вычислительных машин. «Колосс» предназначался для выполнения одной-единственной задачи – декодирования радиосообщений, зашифрованных нацистской машиной Enigma – и не мог быть перепрограммирован для выполнения другой задачи. Зато с дешифровкой он справлялся блестяще: считается, что именно благодаря ему союзники смогли взять верх над немецкими «люфтваффе» и выиграть решающую битву за Британию.

Все вышеизложенное послужило своеобразным фундаментом, на котором Джон фон Нейман создал архитектуру современного компьютера – машину фон Неймана, составляющую основу практически каждого автомата, изобретенного за последние шестьдесят шесть лет: от микроконтроллера стиральных машин до самых больших суперкомпьютеров. Это третья ключевая идея информационной эры. В статье «Первый проект отчета о EDVAC»,[1] датированной 30 июня 1945 года, фон Нейман изложил революционные принципы в области машинных вычислений. Модель фон Неймана состоит из центрального процессора, в котором выполняются арифметические и логические операции, блока памяти, в котором хранятся программа и данные, устройства массовой памяти, счетчика команд и каналов ввода-вывода. Данная концепция описана в первой части этой книги. Хотя статья фон Неймана, по сути, представляла собой внутренний проектный документ, она не только стала библией для конструкторов вычислительных машин 1940-х и 1950-х годов, но и значимо повлияла на архитектуру всех компьютеров, построенных с тех пор.

Машина Тьюринга не была рассчитана на практическое применение. Теоремы Тьюринга не имели никакого отношения к эффективности решения задач; они лишь позволяли определить круг тех задач, которые могли быть решены посредством машинных вычислений. Фон Нейман, наоборот, ставил своей целью формулирование практических принципов вычислительной машины. Так, в машине фон Неймана однобитовые вычисления Тьюринга заменены многобитовыми словами (как правило, количество битов кратно восьми). Если машина Тьюринга тратит огромное количество времени на перемещение ленты вперед и назад, чтобы сохранять и извлекать промежуточные результаты, то машина фон Неймана, напротив, снабжена памятью с произвольным доступом, поэтому любой элемент данных может быть извлечен немедленно.

Одним из важнейших принципов, предложенных фон Нейманом, является принцип хранимой программы, который он сформулировал десятью годами ранее: программа хранится в той же памяти, что и данные. Это позволяет перепрограммировать вычислительную машину для выполнения различного рода задач, а также использовать самомодифицирующийся код, допускающий применение некоторых форм рекурсии. До того времени практически все вычислительные машины, включая «Колосс» Тьюринга, могли решать только те задачи, для решения которых были предназначены изначально. Хранимая программа придала вычислительной машине поистине универсальный характер. Так, идея Тьюринга об универсальной машине получила реальное воплощение.

Другой ключевой принцип фон Неймана заключается в том, что каждая инструкция должна содержать код арифметической или логической операции, которую необходимо выполнить, а также адрес операнда в памяти. Данная формула впервые была предложена фон Нейманом в рамках его публикации, посвященной совместному с Дж. Преспером Эккертом и Джоном Мокли проекту EDVAC. Сам EDVAC был запущен только в 1951 году; к тому времени уже существовали другие вычислительные машины с хранимыми программами, в частности Манчестерская малая экспериментальная машина, ENIAC,[2] EDVAC[3] и BINAC.[4] Все они были созданы под влиянием работ фон Неймана теми же конструкторами: Эккертом и Мокли. Фон Нейман принял непосредственное участие в проектировании ряда этих машин, включая более позднюю версию ENIAC, которая поддерживала хранимую программу.

Можно назвать несколько предшественников архитектуры фон Неймана, однако ни один из них не являлся истинной машиной фон Неймана, за одним неожиданным исключением. «Марк I» Говарда Эйкена, построенный в 1944 году, имел элемент программируемости, но не использовал хранимую программу. Эта вычислительная машина считывала инструкции с перфорированной бумажной ленты, а затем выполняла каждую команду отдельно. Поскольку ветвления в программе отсутствовали, ее нельзя рассматривать как пример архитектуры фон Неймана.

Еще до «Марка I», в 1941 году, Конрадом Цузе была создана вычислительная машина Z3. Она тоже считывала программу с ленты (точнее, с перфорированной кинопленки) и не могла совершать условные переходы. Интересно, что Цузе получил поддержку от немецкого Научно-исследовательского института авиации, который использовал Z3 для своих расчетов, однако его просьба о государственном финансировании замены реле на электронные трубки была отклонена. Нацисты считали, что машинные вычисления «не помогут выиграть войну».

Единственный истинный предшественник концепции фон Неймана появился на целых 100 лет раньше. В аналитической машине Чарльза Бэббиджа, описанной им впервые в 1837 году, идея хранимой программы реализована с помощью перфорированных карт, заимствованных из ткацкого станка Жаккара. Память с произвольным доступом была рассчитана на одну тысячу слов по 50 десятичных цифр каждое (около 21 килобайта). Инструкции не только содержали код операции и номер операнда, как и все современные языки программирования, но и включали ветвление и циклы. Это значит, что описанное Бэббиджем представляло собой настоящую машину фон Неймана. Впрочем, он явно не мог вообразить себе всех технических и организационных сложностей, связанных с проектированием такого рода автоматов, а потому его аналитическая машина так и осталась недостроенной. Неясно, знали ли пионеры информатики ХХ века, в том числе фон Нейман, о наработках Бэббиджа.

Хотя машина Бэббиджа так и не была опробована на практике, она тем не менее привела к возникновению такой области, как разработка программного обеспечения. Ада Байрон, графиня Лавлейс и единственный законнорожденный ребенок поэта лорда Байрона, написала программы для аналитической машины Бэббиджа (которые, между прочим, ей приходилось отлаживать в уме), а также перевела статью итальянского математика Луиджи Менабреа, снабдив ее собственными пространными комментариями. Она писала, что «аналитическая машина плетет алгебраические узоры, как жаккардовый ткацкий станок – цветы и листья». Вероятно, Ада Байрон первой предположила возможность создания искусственного интеллекта, но пришла к выводу, что аналитическая машина «не может породить нечто новое».

Концепция Бэббиджа поистине удивительна, учитывая эпоху, в которой он жил и трудился. Однако к середине XX века его работа затерялась в тумане десятилетий. Именно фон Нейман сформулировал ключевые принципы компьютера, каким мы знаем его сегодня, а его машина была и остается основной моделью машинных вычислений.

Впрочем, мы не должны забывать, что элементы машины фон Неймана постоянно обмениваются данными; если бы не теоремы Шеннона и методы, которые он разработал для передачи и хранения цифровой информации, ее бы не существовало.

Это подводит нас к четвертой важной идее – поискам способов наделить компьютеры интеллектом и опровергнуть заключение Ады Байрон о неспособности машины мыслить творчески. Алан Тьюринг первым сформулировал такую цель в своей статье 1950 года «Вычислительные машины и разум», которая включает ныне знаменитый тест Тьюринга. Последний сводится к следующему вопросу: достиг ли искусственный интеллект уровня человеческого интеллекта? В настоящей книге, после обсуждения предлагаемой им архитектуры, фон Нейман рассматривает человеческий мозг. В конце концов, этот орган – наилучший пример интеллектуальной системы, которым располагает человечество. Если мы сможем изучить его методы, мы сможем использовать биологические парадигмы для создания более умных машин. Эта книга представляет собой самое первое серьезное исследование человеческого мозга с точки зрения математика и пионера информационной эры. До фон Неймана информатика и нейронаука были подобны двум островам без моста между ними.

По иронии судьбы, последней работой одного из самых блестящих математиков XX века и одного из пионеров компьютерной эры стало исследование человеческого интеллекта в рамках серии лекций для Йельского университета. К сожалению, из-за болезни фон Нейман так и не прочел эти лекции и даже не закончил рукопись. Тем не менее они остаются блестящим и пророческим предвестием самого, на мой взгляд, дерзкого и важного проекта человечества.

Фон Нейман начинает с описания сходств и различий между вычислительной машиной и человеческим мозгом. Учитывая, что писал он в 1955 и 1956 годах, рукопись удивительно точна, особенно в тех аспектах, которые предлагаются для сравнения. Фон Нейман отмечает, что выход нейронов носит цифровой характер: аксон либо порождает нервный импульс, либо нет. В то время это было далеко не очевидно: выходной сигнал вполне мог оказаться аналоговым. Так, дендриты, например, работают по аналоговому принципу. Фон Нейман описывает вычисления, которые производит нейрон, как взвешенную сумму входных сигналов с неким порогом. Данная модель работы нервной клетки легла в основу такого направления, как коннекционизм – построение искусственных систем (как с точки зрения технического, так и программного обеспечения) по принципу организации и функционирования живого нейрона. Первая такая коннекционистская система была создана в 1957 году Фрэнком Розенблаттом и представляла собой программное обеспечение для IBM-704 Авиационной лаборатории Корнелла.

Сегодня мы гораздо больше знаем о том, как именно нейроны сочетают входные сигналы, хотя основополагающая идея об аналоговом принципе работы дендритов сохраняется. С нашей стороны было бы неразумно ожидать, что фон Нейману, писавшему в 1957 году, будут известны точные механизмы обработки информации в нервной системе, однако ключевые моменты, на которых он строит свои выводы, остаются в силе.

На основании представления об универсальности вычислений фон Нейман приходит к заключению, что, несмотря на разницу в архитектуре и строительных блоках мозга и вычислительной машины, его машина тем не менее может имитировать работу мозга. Обратное, впрочем, неверно, поскольку мозг не является машиной фон Неймана и не имеет хранимой программы как таковой. Его алгоритм заложен в самой его структуре.

Фон Нейман справедливо утверждает, что нейроны способны выявлять закономерности во входных данных, которые, как мы теперь знаем, закодированы в соответствующих концентрациях нейротрансмиттеров. Во времена фон Неймана другие способы – создание и разрушение связей между нервными клетками – еще не были известны.

Фон Нейман отмечает, что скорость обработки информации нейроном чрезвычайно низкая, порядка 100 вычислений в секунду, однако мозг компенсирует это массовым параллелизмом. Все его 10^10 нейронов обрабатывают информацию одновременно (это число является достаточно точным; современные оценки колеблются между 10^10 и 10^11). На самом деле правильнее говорить даже не об отдельных нервных клетках, а об их связях, количество которых в среднем составляет около 10^3 на 1 нейрон.

Описания механизмов функционирования нейронов, предложенные фон Нейманом, на удивление точны, учитывая «первобытное» состояние нейронауки в то время. Единственное, с чем я не могу согласиться, – это оценка емкости памяти мозга. Фон Нейман полагает, что мозг хранит поступающую в него информацию на протяжении всей жизни человека. Шестьдесят лет – это примерно 2 × 10^9 секунд. Если допустить, что каждый нейрон из 10^10 принимает 14 единиц информации в секунду (на самом деле эта цифра в три раза меньше), то емкость памяти мозга будет составлять около 10^20 бит. Однако реальность такова, что мы помним лишь очень небольшую часть наших мыслей и опыта. Кроме того, эти воспоминания сохраняются не в виде конфигураций битов низшего уровня (такого, как видеоизображение), а скорее как последовательности более высокоуровневых шаблонов. Кора головного мозга представляет собой иерархию распознавателей шаблонов. Некоторые из них распознают определенные топологические формы, например перекладину в заглавной букве «А». На следующем уровне распознаются конкретные буквы, например буква «A». На еще более высоком уровне распознаются слова, например «арбуз». В другой части коры может происходить распознавание предметов (арбуз); в третьей части – услышанного слова («арбуз»). На гораздо более высоком концептуальном уровне распознаватель может заключить: «Это было забавно». Наши воспоминания о событиях и мыслях кодируются в рамках этих высокоуровневых распознаваний. Допустим, мы хотим вспомнить некий опыт. Происходящее в нашей голове не будет иметь ни малейшего сходства с воспроизведением видеосигналов. Скорее, мы вспоминаем последовательность высокоуровневых шаблонов. Фактически мы вынуждены заново, шаг за шагом, воссоздавать прошлый опыт, ибо наша память не сохраняет подробности в явной форме.

Вы можете с легкостью убедиться в этом сами. Например, попытайтесь припомнить свою последнюю прогулку. Что вы помните? Как выглядел пятый человек, которого вы встретили? Вы видели детскую коляску? А почтовый ящик? Что вы увидели, когда свернули за угол первого дома? Если вы проходили мимо нескольких магазинов, что было во второй витрине? Возможно, вам удастся восстановить ответы на эти вопросы, руководствуясь теми единичными подсказками, которые сохранила ваша память, однако большинство из нас не могут в подробностях вспомнить прошлые события. Машины, напротив, вспоминают легко. В этом и заключается одно из преимуществ искусственного интеллекта.

В настоящей книге очень мало сведений, которые в значительной степени расходятся с тем, что известно сейчас. На сегодняшний день мы не в состоянии дать исчерпывающе полное описание мозга, а потому не можем ждать этого и от работы 1956 года по обратной инженерии мозга. С учетом данной оговорки формулировки фон Неймана поразительно точны, а сведения, на которых он основывает свои умозаключения, до сих пор сохраняют актуальность. Описывая механизмы работы мозга, фон Нейман показывает, каким образом современный компьютер, несмотря на очевидные различия, может выполнять те же самые операции. Так, аналоговые механизмы мозга можно реализовать через цифровые механизмы, поскольку цифровые вычисления способны эмулировать аналоговые величины с любой желаемой степенью точности (а точность аналоговой информации в мозге довольно-таки низкая).

Массовый параллелизм мозга также поддается имитации, учитывая высокую скорость последовательных вычислений, на которую способны вычислительные машины (причем с момента написания книги эта скорость увеличилась в разы). Кроме того, мы можем добиться параллелизма посредством подключения сразу нескольких машин фон Неймана, работающих независимо друг от друга. Именно так устроены современные суперкомпьютеры.

Отметив, как быстро мы принимаем решения и как медленно обрабатывают информацию нейроны, фон Нейман приходит к выводу, что работа мозга не может быть построена на длинных последовательных алгоритмах. Когда бейсболист на третьей базе решает бросить мяч на первую, а не на вторую базу, он принимает данное решение за долю секунды. За это время каждый нейрон успевает пройти всего несколько циклов возбуждения (период, по окончании которого нейронные цепи могут воспринимать новые данные). Фон Нейман справедливо заключает, что своими потрясающими возможностями мозг обязан десяти миллиардам нейронов, способным обрабатывать информацию одновременно. Он абсолютно прав. Недавние достижения в области обратного проектирования зрительной коры подтверждают: чтобы обработать зрительные образы и на их основе вынести сложные суждения, человеку требуется всего три или четыре таких цикла возбуждения.

Мозгу присуща изрядная пластичность, что позволяет нам учиться. Но пластичность машины гораздо выше. Она способна полностью перестроить свои методы работы – для этого достаточно изменить одну или несколько программ. Таким образом, компьютер может эмулировать мозг, но не наоборот.

Когда фон Нейман сравнил производительность параллельной организации мозга с (немногими) вычислительными машинами своего времени, стало ясно, что в этом отношении мозг во много раз превосходит машины 1950-х годов. Лишь недавно появились первые суперкомпьютеры, быстродействие которых более или менее сопоставимо с некоторыми консервативными оценками скорости, необходимой для функциональной имитации работы человеческого мозга (около 10^16 операций в секунду). Полагаю, в начале 2020-х годов оборудование для такого уровня вычислений будет стоить 1000 долларов США. Хотя лекции написаны фон Нейманом на заре компьютерной эры, он не сомневался: рано или поздно мы создадим как техническое, так и программное обеспечение, которое позволит имитировать человеческий интеллект. Именно поэтому он и подготовил эту рукопись.

Фон Нейман в полной мере осознавал темпы прогресса и его значение для будущего человечества, что подводит нас к пятой ключевой идее информационной эры. Спустя год после смерти фон Неймана в 1957 году его коллега, математик Стэн Улам, напомнил нам следующие его слова: «Непрерывно ускоряющийся технический прогресс и перемены в образе жизни людей создают впечатление приближения к некой важной сингулярности в истории человечества, за которой все человеческие дела в том виде, в каком мы их знаем, не смогут продолжаться». Это первый известный случай употребления слова «сингулярность» в контексте человеческой истории.

Рэй Курцвейл

Предисловие ко второму изданию

Эта тоненькая книжка на первый взгляд выглядит весьма невинно, но на самом деле она находится в самом центре громадного урагана – на небольшом островке ясности и спокойствия, вокруг которого бушуют вихри конкурирующих теорий и исследовательских программ. Она тем более примечательна, что была написана в 1956 году, в самом начале бурного развития компьютерных технологий, определившего вторую половину XX века. В своей последней серии лекций, опубликованных в данной книге, Джон фон Нейман пытался дать объективную оценку механизмам работы мозга, рассматриваемым, с одной стороны, сквозь призму современной теории машинных вычислений, а с другой – в свете компьютерных технологий и эмпирической нейронауки в том виде, в каком они существовали в тот период.

Можно было бы ожидать, что любая оценка, сделанная в то время, теперь должна безнадежно устареть. Однако в действительности все наоборот. Что касается чистой вычислительной теории (теории генерации элементов любой вычислимой функции), основы, заложенные Уильямом Черчем, Аланом Тьюрингом и, в известной степени, самим фон Нейманом, оказались не только в высшей степени прочными, но и весьма полезными в решении широкого круга проблем.

Что касается компьютерных технологий, то все современные машины, которые теперь стоят в каждом офисе и в каждом втором доме в Америке, построены на так называемой архитектуре фон Неймана. Все они – примеры функциональной организации, предложенной и исследованной фон Нейманом. В основе этой организации лежит последовательная «программа», которая хранится в модифицируемой «памяти» машины и определяет природу и порядок основных шагов, выполняемых «центральным процессором» в ходе вычислений. В настоящей работе фон Нейман предлагает краткое, но четкое обоснование такой организации, хотя он говорит о «коде», тогда как сейчас мы говорим о «программах»; он говорит о «полных кодах» и «сокращенных кодах», а мы – о «программах на машинном языке» и «языках программирования высокого уровня». Но изменились только слова и частота тактовых импульсов. Джон фон Нейман узнал бы свою архитектуру в любой машине, существующей сегодня, – от органайзеров Palm Pilot,[5] играющих в покер, до суперкомпьютеров, моделирующих процессы образования галактик.

Ситуация, сложившаяся вокруг эмпирической нейронауки, сложнее, но вместе с тем гораздо интереснее. Прежде всего необходимо сказать, что в некоторых нейронауках (нейроанатомии, нейрофизиологии, возрастной нейробиологии и когнитивной нейробиологии) достигнут значительный прогресс. И здесь кропотливые исследования длиной в полвека породили совершенно новую науку. Благодаря новейшим экспериментальным методам (таким, как электронная и конфокальная микроскопия, фиксация потенциала, электро– и магнитоэнцефалография, компьютерная томография, позитронно-эмиссионная томография и магнитно-резонансная томография) сегодня мы имеем гораздо лучшее представление о волокнистой микроструктуре мозга, электрохимическом поведении его микроскопических частей и общих механизмах его функционирования при различных видах познавательной деятельности. Несмотря на то что мозг по-прежнему хранит много тайн, он уже не является «черным ящиком», каковым представлялся когда-то.

Как ни странно, начиная с 1950-х годов и вплоть до настоящего времени эти две родственные науки, одна из которых посвящена изучению искусственных, а другая – естественных когнитивных процессов, развивались в отрыве друг от друга. Люди, получавшие ученые степени в области информатики, как правило, мало знали о биологическом мозге (а многие – вообще ничего). Поскольку подавляющее большинство исследований в области информатики были ориентированы на написание программ, разработку новых языков или усовершенствование микросхем, глубоких познаний в сфере эмпирических нейронаук не требовалось. Аналогичным образом специалисты по нейронаукам практически ничего не знали о теории машинных вычислений, теории автоматов, формальной логике, двоичной арифметике или электронике транзисторов. Бо́льшую часть своего рабочего времени эти ученые тратили на окрашивание образцов мозговой ткани для последующего микроскопического исследования или на вживление в мозг микроэлектродов для анализа электрического поведения нейронов во время выполнения различного рода познавательных задач. Если они и прибегали к помощи машин, то использовали их в качестве инструмента для упорядочивания результатов экспериментов – то есть так, как используют вольтметр, калькулятор или картотечный шкаф.

Хотя в каждой из этих наук еще предстоит открыть много нового, ни одна не внесла сколь-нибудь существенного вклада в изучение предмета другой. Несмотря на кажущееся совпадение – исследование когнитивных и вычислительных процессов, – они развивались параллельно; каждая добилась потрясающих успехов самостоятельно, без всякой помощи со стороны «сестры». Но почему?

Пожалуй, самый частый ответ, который можно услышать, заключается в том, что по своей физической организации и вычислительной стратегии биологический мозг очень отличается от архитектуры фон Неймана, используемой в стандартных вычислительных машинах. В течение почти пятидесяти лет две сестринские науки фактически занимались изучением принципиально разных предметов. А потому и неудивительно, что они развивались в значительной независимости друг от друга.

Вышеупомянутый ответ по-прежнему остается спорным и в дальнейшем вполне может оказаться ошибочным. Однако он лежит в основе текущих дискуссий о том, каким именно образом биологический мозг творит свои многочисленные познавательные чудеса и как лучше всего подходить к конструированию различных форм искусственного интеллекта. Должны ли мы проигнорировать очевидные ограничения биологических систем (ограничения, в основном касающиеся скорости и надежности) и сосредоточиться на ослепительном потенциале электронных систем – систем, которые даже с архитектурой фон Неймана могут выполнять или симулировать любые вычислительные операции? Или вместо этого лучше имитировать организацию, свойственную мозгу насекомых, рыб, птиц и млекопитающих? Если да, то что это за организация? Чем она отличается от того, что происходит в наших искусственных машинах?

На эти вопросы Джон фон Нейман предлагает прозорливый, аргументированный и явно нетрадиционный ответ. Первую половину своей книги он посвящает классическим концепциям (которые сам же и сформулировал), а обращаясь к мозгу, заключает, что «его функционирование является на первый взгляд цифровым». Этот вывод в свою очередь представляет собой на первый взгляд прокрустово ложе – и фон Нейман признает сей факт немедленно.

Первая проблема, которую он отмечает, состоит в том, что характер связей между нейронами отличается от привычной конфигурации «две линии внутрь, одна наружу», присущей как классическим вентилям И, так и вентилям ИЛИ. Хотя каждая клетка, как правило, имеет только один выходной аксон, как того требует классическая схема, она получает более ста (точнее, более нескольких тысяч) входных сигналов от множества других нейронов. Несмотря на то что данный факт не является решающим – существуют, например, системы многозначной логики, – он заставляет задуматься.

Интрига закручивается, когда фон Нейман проводит поэтапное сравнение фундаментальных размеров «основных активных органов» мозга (предположительно нейронов) и «основных активных органов» вычислительной машины (различных логических вентилей). В пространственном отношении, утверждает он, нейроны имеют преимущество, так как в 10^2 раз меньше своих электронных аналогов. (Оценка в то время была совершенно точной, однако с появлением такой технологии изготовления микросхем, как фотолитография, это преимущество исчезло – по крайней мере в случаях, когда речь идет о двумерных слоях.)

С другой стороны, у нервных клеток есть один существенный недостаток – скорость выполнения операций. Нейроны, пишет фон Нейман, в 10^5 раз медленнее электронных трубок или транзисторов, т. е. для совершения основной логической операции им требуется в сто тысяч раз больше времени. И здесь фон Нейман пугающе точен. Более того, он переоценивает возможности нейрона. Если предположить, что «тактовая частота» у нейрона не превышает 10^2 Гц, и сравнить его с обычной настольной машиной последнего поколения с тактовой частотой 1000 МГц (т. е. 10^9 основных операций в секунду), получаем, что разница в быстродействии составляет не 10^5, а 10^7 раз. Вывод неизбежен. Если мозг – это цифровая вычислительная машина с архитектурой фон Неймана, то он – настоящая черепаха по сравнению с современными компьютерами.

Кроме того, точность, с которой биологический мозг может представлять любую переменную, также на много порядков ниже точности, доступной цифровой машине. Вычислительные машины, отмечает фон Нейман, легко манипулируют восемью, десятью или двенадцатью десятичными знаками, в то время как точность представления числа в нервной клетке – т. е. частота импульсов, которые она отправляет вниз по аксону, – ограничена двумя десятичными знаками (а именно, плюс или минус 1 процент от максимальной частоты около 100 Гц). Это настораживает, поскольку в ходе любых вычислений, включающих большое количество шагов, маленькие ошибки на ранних этапах накапливаются и превращаются в большие ошибки на завершающих этапах. Хуже того, добавляет фон Нейман, во многих типах вычислений даже незначительные ошибки на ранних этапах экспоненциально усиливаются на последующих этапах, что неизбежно ведет к высшей степени неточным конечным результатам. Таким образом, если мозг – цифровая вычислительная машина, представляющая любое число с точностью до двух десятичных знаков, то он – вычислительный болван.

В совокупности два этих важных ограничения – скорость и точность – приводят фон Неймана к выводу: каким бы методом ни пользовался мозг, он должен включать минимальную «логическую глубину». Иными словами, что бы мозг ни делал, он не может выполнять тысячи последовательно организованных вычислений, как это делает высокочастотный центральный процессор цифровой машины. Учитывая низкую скорость, с которой работают нейроны, у мозга просто нет времени на то, чтобы выполнить любые вычисления, кроме самых простых. Впрочем, даже будь у него достаточно времени, в силу низкой точности представления переменных результаты таких вычислений все равно бы никуда не годились.

Весьма странный вывод: очевидно, что, несмотря на вышеописанные ограничения, мозг каким-то образом справляется с громадным разнообразием сложных вычислений, причем делает это в мгновение ока. Однако в аргументах фон Неймана нет ничего неправильного. Ограничения, на которые он указывает, действительно имеют место. Что же тогда происходит в нашем мозге?

Как правильно понимает фон Нейман, вычислительный режим мозга, похоже, компенсирует неизбежную нехватку логической глубины за счет необычайной логической широты. По его словам, «большие и эффективные естественные автоматы, по всей вероятности, будут производить действия параллельно, в то время как большие и эффективные искусственные автоматы – последовательно» [курсив фон Неймана]. Первые «будут одновременно обрабатывать максимально возможное количество логических (или информационных) единиц» [курсив переводчика]. Это означает, пишет фон Нейман, что при подсчете общего количества «основных активных органов» мозга мы должны учитывать не отдельные нейроны, а все их многочисленные синапсы.

Все это – важные наблюдения. Сегодня мы знаем, что мозг содержит примерно 10^14 синаптических связей, каждая из которых модулирует поступающий по аксону сигнал, прежде чем передать его на принимающий нейрон. Задача нейрона, таким образом, состоит в том, чтобы суммировать или иным образом интегрировать входы от этих синаптических связей (до 10 000 на одну клетку), после чего генерировать свой собственный импульс. Самое главное, что все эти незначительные трансформации происходят одновременно. Данный факт означает, что, если каждый синапс активен примерно 100 раз в секунду (напомним, что типичная частота следования импульсов лежит в диапазоне 100 Гц), общее количество основных операций по обработке информации, выполняемых мозгом, должно составлять примерно 10^2 × 10^14, или 10^16 операций в секунду! Поразительное достижение для любой системы. Более того, данный показатель существенно превышает таковой для новейшего настольного компьютера (10^9 основных операций в секунду). Выходит, мозг – и не черепаха, и не болван. Почему? Хотя бы потому, что он никогда не был последовательной цифровой машиной: мозг представляет собой аналоговую машину с массивным параллелизмом.

Именно к такому заключению и приходит фон Нейман. Современная нейронаука, а также компьютерное моделирование параллельных сетей подтверждают его выводы. Согласно современным представлениям, альтернативная вычислительная стратегия, над которой размышлял фон Нейман, сводится к одновременному умножению каждой из многих тысяч или миллионов частот импульсов (которые составляют очень большой входной вектор) на коэффициенты еще большей матрицы (а именно, конфигурации многих миллионов синаптических соединений, связывающих одну популяцию нейронов с другой), что дает выходной вектор (новый, совершенно иной паттерн частот импульсов в принимающей популяции нейронов). Именно эта новая общая конфигурация многих миллионов, точнее триллионов, синаптических связей и воплощает в себе любые знания и навыки, которые приобретает мозг. Именно эти синаптические связи молниеносно преобразовывают информацию, поступающую по аксонам (например, от органов чувств). Это одновременно дает скорость и позволяет избежать рекурсивной амплификации ошибок, на которую обращал внимание фон Нейман.

Сразу скажем, что эти данные не только не нарушают целостности предложенных им цифровых и последовательных технологий, но и не лишают нас надежды на создание искусственного интеллекта. Даже наоборот. Мы можем сделать электронные версии синаптических связей и, отказавшись от классической архитектуры фон Неймана, построить обширные параллельные сети искусственных нейронов – т. е. спроектировать электронный аналог вычислительной системы малой глубины, но экстраординарной широты, которой, по всей вероятности, и пользуется наш мозг. Такие системы окажутся примерно в 10^6 раз быстрее, чем их биологические тезки – хотя бы потому, что будут собраны из электронных, а не биохимических компонентов. Отсюда можно сделать несколько важных выводов. Например, электронный дубликат биологического мозга мог бы всего за тридцать секунд выстроить цепочку рассуждений, на которую у вас ушел бы целый год, а за полчаса – «прожить» семьдесят лет напряженной интеллектуальной деятельности. Искусственный интеллект, безусловно, ждет интересное будущее.

Впрочем, мы бы хотели предостеречь читателя от ложных надежд. В основе небольших искусственных нейронных сетей, построенных на сегодняшний день, лежат следующие допущения: синапсы представляют собой крошечные множители, нейроны служат сумматорами с сигмовидной выходной функцией, а информация кодируется частотой нервных импульсов. Многие из этих сетей демонстрируют замечательные «познавательные» способности – во всяком случае, после длительного обучения. Однако те же самые модели не отличаются чуткостью и разнообразием, свойственным поведению настоящих синапсов и нейронов. Нейрофизиологические исследования учат нас, как когда-то учили фон Неймана, что первые модели мозговой деятельности – это, в лучшем случае, грубые аппроксимации нейровычислительной реальности. Эти аппроксимации могут оказаться столь же ошибочными, как и предыдущая догадка о цифровом характере операций мозга. Существует много способов кодирования информации в поведении аксона; есть также много способов модулировать ее на синапсе; и известно много способов интегрировать ее в нейрон. Наши модели функционируют достаточно хорошо, чтобы захватить наше воображение, но мозг до сих пор содержит множество загадок. Несомненно, нас ждет еще много сюрпризов. Ученым предстоит громадная работа, а потому мы должны смиренно принимать любые эмпирические данные, как это, безусловно, делал фон Нейман.

Фон Нейман предложил архитектуру вычислительных систем, которая лежит в основе компьютерной революции XX века – революции, по своему влиянию на долгосрочное будущее человечества отнюдь не уступающей механике Исаака Ньютона или электромагнетизму Джеймса Максвелла. Более того, говоря о биологическом мозге, фон Нейман сумел не только заглянуть за рамки предложенной им архитектуры, но и наметить контуры новой, гораздо более мощной объяснительной парадигмы.

В конце всякой продолжительной дискуссии о природе интеллекта кто-нибудь обязательно выразит надежду, что однажды и в этой области появится свой Ньютон. Мы же хотим закончить наше предисловие на другой ноте. Как показывает следующая книга, есть веские основания полагать, что долгожданный Ньютон появился, но, увы, уже покинул нас. Его зовут Джон фон Нейман.

Пол и Патрисия Черчленд

Вступительное слово

Выступить с Силлимановскими лекциями, одним из наиболее старых и почитаемых циклов академических лекций в Соединенных Штатах, считается привилегией и высокой честью среди ученых всего мира. По традиции лектора приглашают прочесть двухнедельный курс лекций, а затем представить их в виде рукописи для издания отдельной книгой под эгидой Йельского университета.

В начале 1955 года Йельский университет пригласил моего мужа, Джона Неймана, прочесть цикл Силлимановских лекций в весенний семестр 1956 года – в конце марта или в начале апреля. Джонни был крайне польщен и обрадован приглашением, и все же ему пришлось сразу оговорить одно условие, а именно – он попросил ограничить курс лекций одной неделей, пообещав, однако, что в рукописи избранная им тема – «Вычислительная машина и мозг» – будет изложена более подробно. Просьба сократить продолжительность лекций была вынужденной мерой: президент Эйзенхауэр только что назначил Джонни членом Комиссии по атомной энергии (КАЭ). Хотя работа в Комиссии предполагала полную занятость – даже ученые не имели возможности надолго отлучаться от своих письменных столов в Вашингтоне, – мой муж не сомневался, что найдет время написать лекции, поскольку он всегда писал свои работы дома, по ночам или на рассвете. Когда его что-нибудь интересовало, работоспособность Джонни становилась практически безграничной, а многочисленные неизученные возможности автоматов занимали его давно. Джонни был уверен, что сумеет подготовить всю рукопись, даже несмотря на то, что сам курс лекций пришлось сократить. Тогда – как, впрочем, и позднее, когда не осталось ничего, кроме горечи и печали, – Йельский университет с готовностью пошел ему навстречу и принял его условия. Джонни приступил к новым обязанностям, надеясь, что в скором времени сможет продолжить работу над теорией автоматов.

Весной 1955 года мы переехали из Принстона в Вашингтон и Джонни взял отпуск в Математической школе Института перспективных исследований, в которой состоял профессором с 1933 года.

Джонни родился в Будапеште в 1903 году. Уже в раннем возрасте он демонстрировал удивительную способность и интерес к научным вопросам; в детстве его почти фотографическая память проявлялась самыми разными и необычными способами. В юности он изучал сперва химию, а затем математику в Берлинском университете, в Высшей технической школе в Цюрихе и Будапештском университете. В 1927 году он был назначен на должность приват-доцента в Берлинском университете, тем самым став одним из самых молодых преподавателей, получивших это звание в университетах Германии за последние двадцать-тридцать лет. Позже Джонни преподавал в Гамбургском университете, а в 1930 году впервые пересек Атлантический океан, приняв приглашение Принстонского университета, где ему предложили преподавательскую должность сроком на один год. В 1931 году Джонни стал постоянным сотрудником Принстонского университета и окончательно переехал в Соединенные Штаты.

В течение 1920-х и 1930-х годов круг научных интересов Джонни оставался весьма широк, однако включал преимущественно теоретические вопросы. Его публикации были посвящены квантовой теории, математической логике, эргодической теории, непрерывной геометрии, проблемам колец операторов, а также многим другим областям чистой математики. В конце тридцатых годов он увлекся вопросами теоретической гидродинамики, а именно – решением дифференциальных уравнений в частных производных с помощью известных аналитических методов. Данная тема занимала его вплоть до сороковых годов. Когда же над миром сгустились тучи войны, Джонни обратился к оборонной науке; особый интерес вызывали у него прикладные области математики и физики. Взаимодействие ударных волн – очень сложная проблема гидродинамики – стало одним из важнейших направлений военно-научных исследований. Огромное количество вычислений побудило Джонни воспользоваться быстродействующей вычислительной машиной. Работая с электронным числовым интегратором и вычислителем ENIAC, построенным в Филадельфии для Лаборатории баллистических исследований Армии США, Джонни впервые осознал широчайшие возможности, которые открывало перед человечеством применение автоматики. Мой муж помог усовершенствовать ряд математических и логических схем ENIAC; с тех пор и до последних часов своей жизни он проявлял глубочайший интерес к еще не исследованным аспектам и перспективам использования вычислительных машин.

В 1943 году, вскоре после запуска Манхэттенского проекта, Джонни стал одним из ученых, «исчезнувших на Западе». Большую часть времени он курсировал между Вашингтоном, Лос-Аламосом и другими городами. В этот период он окончательно убедился в том, что расчеты, выполненные с помощью быстродействующих электронных устройств, могут существенно облегчить решение сложнейших научных задач.

После окончания войны Джонни построил в Институте перспективных исследований экспериментальный электронный калькулятор, JONIAC, который в итоге стал прототипом всех аналогичных машин в США. Некоторые из основных принципов, воплощенных в JONIAC, используются и по сей день в самых быстрых современных калькуляторах. Проектируя машину, Джонни и его коллеги – небольшая группа избранных инженеров и математиков – ставили своей задачей копировать некоторые из известных операций живого мозга. Джонни вплотную занялся изучением неврологии, посещал конференции и собрания, читал лекции о возможности создания искусственных машин на основе чрезвычайно упрощенной модели живого мозга. В Силлимановских лекциях он планировал изложить эти мысли более подробно и широко.

В послевоенные годы Джонни работал над самыми разными научными проблемами. В частности, он заинтересовался метеорологией – наукой, в которой численные расчеты открывали совершенно новые горизонты; часть времени уходила на расчеты в области ядерной физики. Он продолжал тесно сотрудничать с лабораториями КАЭ, а в 1952 году стал членом Консультативного комитета при КАЭ.

В 1955 году Джонни был назначен членом КАЭ и 15 марта приведен к присяге. В начале мая мы перебрались в Вашингтон. Через три месяца привычный уклад нашей деятельной и интересной жизни, в центре которой всегда находился удивительный, неутомимый ум моего мужа, был нарушен. У Джонни появились сильные боли в левом плече; после операции был диагностирован рак кости. В последующие месяцы надежда сменялась отчаянием, отчаяние – надеждой. Иногда мы верили, что больное плечо – единственное проявление ужасной болезни, что она отступила, но трудно локализуемые боли, от которых Джонни страдал время от времени, лишали нас всяких надежд на будущее. На протяжении всего этого периода Джонни лихорадочно работал. День он проводил в служебном кабинете или в разъездах, связанных с его новой работой, а ночи коротал, склонившись над рукописями научных статей. Тогда же он приступил к систематической работе над рукописью для Силлимановских лекций. Значительная часть книги была написана именно в те дни неопределенности и ожидания. В конце ноября последовал новый удар: раковые клетки были обнаружены в спинном мозге. Джонни с трудом мог ходить. С тех пор его состояние только ухудшалось. Впрочем, оставалась небольшая надежда на то, что хорошее лечение и уход позволят остановить смертельную болезнь хотя бы на время.

К январю 1956 года Джонни оказался прикованным к инвалидному креслу, но продолжал посещать собрания. Каждый день его привозили в служебный кабинет и он работал над рукописью лекций. Силы его убывали с каждым днем. Все поездки и выступления постепенно пришлось отменить, за одним исключением – Силлимановских лекций. Мы верили, что рентгенотерапия позволит хотя бы на время укрепить спину, чтобы к концу марта он смог отправиться в Нью-Хейвен и выполнить это обязательство, которое так много для него значило. В любом случае Джонни пришлось обратиться к Комитету по проведению Силлимановских лекций с просьбой сократить число лекций до одной-двух, ибо напряжение, связанное с необходимостью читать лекции на протяжении целой недели, было бы опасным в его состоянии. К марту, однако, все ложные надежды пришлось оставить. О том, чтобы Джонни мог куда-нибудь поехать, больше не могло быть и речи. И снова Йельский университет с пониманием отнесся к моему мужу: он не отменил его лекций, а предложил предоставить рукопись, с тем чтобы кто-нибудь мог прочитать их вместо него. Несмотря на все усилия, Джонни не удалось завершить работу над лекциями в намеченное время; судьба распорядилась так, что он вообще не смог их закончить.

В начале апреля Джонни положили в медицинский центр имени Уолтера Рида, из которого он так и не вышел до самой смерти 8 февраля 1957 года. Незаконченная рукопись Силлимановских лекций отправилась в больницу вместе с ним. Он предпринял еще несколько попыток поработать над ней, однако к тому времени болезнь окончательно взяла верх и даже исключительный разум Джонни оказался не в силах побороть слабость измученного тела.

Хочу выразить глубочайшую признательность членам Комитета по проведению Силлимановских лекций, а также всем сотрудникам Йельского университета и издательства Йельского университета, которые не только проявили искреннее участие и доброту в последние, грустные годы жизни Джонни, но и согласились почтить его память, приняв эту незавершенную и фрагментарную рукопись к публикации.

Клара фон Нейман Вашингтон, округ Колумбия, сентябрь 1957 г.

Часть I

Вычислительная машина

Введение

Поскольку я не невролог и не психиатр, а математик, соображения, изложенные ниже, нуждаются в некотором объяснении и обосновании. Это – подход к пониманию нервной системы с точки зрения математика. Однако обе части данного утверждения требуют уточнения.

Во-первых, было бы преувеличением сказать, что настоящая работа есть «подход к пониманию»; она – просто своего рода систематизированный набор предположений о том, как должен осуществляться такой подход. Иными словами, я пытаюсь угадать, какие из возможных математически намеченных направлений кажутся – в той туманной дали, в которой нам видится большинство из них, – многообещающими, а какие заведомо ложными. Этим догадкам я предложу рациональное обоснование.

Во-вторых, выражение «точка зрения математика» употреблено в данном контексте в несколько ином, непривычном для читателя смысле: помимо общих математических методов, я ставлю на первый план также логический и статистический аспекты. Кроме того, логика и статистика рассматриваются здесь преимущественно (хотя и не исключительно) в качестве основных инструментов «теории информации». В основу этой «теории информации» будут положены практические наработки, накопившиеся в ходе проектирования, оценки и кодирования сложных логических и математических автоматов. Наиболее типичным (хотя и не единственным) примером таких автоматов являются, конечно же, большие электронные вычислительные машины.

Попутно отмечу, что было бы очень хорошо, если бы мы могли говорить о теории таких автоматов. К сожалению, то, что существует в настоящее время – и к чему я вынужден обращаться, – пока представляет собой лишь плохо сформулированную и недостаточно формализованную совокупность практических наработок.

Наконец, главная моя цель состоит в попытке взглянуть на человеческий мозг с совершенно иного ракурса. Полагаю, что более глубокое математическое исследование нервной системы – «математическое» в указанном выше смысле – окажет существенное влияние на наше понимание тех аспектов самой математики, которые будут затронуты таким исследованием. Фактически оно может изменить наш подход к собственно математике и логике. Ниже я попытаюсь обосновать это убеждение.

Я начну с обсуждения некоторых принципов, лежащих в основе классификации и работы вычислительных машин.

Существующие вычислительные машины подразделяются на два класса: аналоговые и цифровые. Разница между первыми и вторыми заключается в способе представления числовых данных, которыми оперирует машина.

Аналоговый метод

В аналоговой машине любое число представлено некой подходящей физической величиной, значение которой, измеряемое в тех или иных заранее заданных единицах, равно этому числу. Такой величиной может быть угол поворота диска, сила тока, величина (относительного) напряжения и т. д. Чтобы машина могла вычислять, т. е. оперировать числами согласно намеченному плану, ее необходимо снабдить органами (компонентами), которые могли бы выполнять с этими величинами основные математические операции.

Стандартные основные операции

Под основными операциями обычно понимают четыре арифметических действия: сложение (x + y), вычитание (x – y), умножение (xy) и деление (x / y).

Очевидно, сложение и вычитание двух токов (путем их соединения в одинаковых или противоположных направлениях) не представляет сложностей. Умножение (токов) выполнить труднее, однако на сегодняшний день существуют различные типы электрических устройств, которые могут произвести эту операцию. То же относится и к делению (одного тока на другой). (Для умножения и деления – но не для сложения и вычитания – важное значение, конечно, имеют единицы, в которых измеряется ток.)

Нестандартные основные операции

Примечательная особенность некоторых аналоговых машин, о которой я еще буду говорить позже, заключается в следующем. Иногда машина строится на других основных операциях, отличных от четырех арифметических действий, упомянутых выше. Так, классический дифференциальный анализатор, в котором числа выражаются при помощи углов поворота определенных дисков, работает следующим образом. Вместо сложения x + y и вычитания x – y выполняются операции (x + y) / 2, поскольку они осуществляются весьма доступным и простым устройством – дифференциалом (подобным тому, что устанавливают на задней оси автомобиля). Вместо умножения xy используется совершенно иная операция: в дифференциальном анализаторе все величины представлены как функции времени; для двух таких величин x (t), y (t) так называемый интегратор образует интеграл (Стильтьеса) z (t) = ∫t x (t) dy (t).

Таким образом, можно выделить три ключевые характеристики данной схемы.

Во-первых, три вышеперечисленные операции (в соответствующих комбинациях) воспроизводят три из четырех стандартных основных операций: сложение, вычитание и умножение.

Во-вторых, в сочетании с принципом обратной связи они порождают четвертую операцию – деление. Я не буду рассматривать здесь принцип обратной связи; скажу только, что, хотя он и выглядит как средство для решения уравнений в неявном виде, на самом деле это исключительно изящная короткозамкнутая схема итеративного приближения.

В-третьих (в этом, в частности, и заключается подлинное обоснование дифференциального анализатора), для широкого круга задач основные операции дифференциального интегратора – (x + y) / 2 и интегрирование – представляются более экономичными, нежели арифметические (x + y, x – y, xy, x / y). Так, любая вычислительная машина, предназначенная для решения сложной математической задачи, должна быть запрограммирована на решение такой задачи. Это означает, что сложную операцию решения задачи необходимо заменить комбинацией основных операций. Часто это подразумевает нечто более тонкое: точную аппроксимацию результата данной операции. Вместе с тем для определенного класса задач один набор основных операций может оказаться эффективнее, чем другой, т. е. допускать использование более простых комбинаций. Например, для систем уравнений в полных дифференциалах вышеупомянутые основные операции этой машины более эффективны, нежели основные арифметические операции (х + y, x – y, xy, x / y).

Далее переходим к цифровым машинам.

Цифровой метод

В десятичной цифровой машине каждое число представлено так же, как в обычном (рукописном или печатном) тексте, т. е. в виде последовательности десятичных цифр. Каждая десятичная цифра в свою очередь представлена системой так называемых маркеров.[6]

Маркеры, их комбинации и представление

Маркер, который способен принимать десять разных форм, сам по себе может представлять десятичную цифру. Если же маркер имеет только две разные формы, каждой десятичной цифре должна соответствовать целая группа таких маркеров. (Группа из трех двузначных маркеров допускает 8 комбинаций; этого недостаточно. Группа из четырех таких маркеров допускает 16 комбинаций; и этого более чем достаточно. Следовательно, для каждой десятичной цифры необходимо использовать группы по меньшей мере из четырех маркеров. Иногда могут потребоваться и бо́льшие группы; ср. ниже.) Примером десятизначного маркера является электрический импульс, возникающий на одной из десяти заданных линий. Двузначный маркер представляет собой электрический импульс, присутствие или отсутствие которого на определенной линии передает некую информацию (значение маркера). Другим примером двузначного маркера служит электрический импульс, имеющий либо положительную, либо отрицательную полярность. Конечно, существует много других равно допустимых схем маркеров.

Говоря о маркерах, необходимо отметить следующее: вышеупомянутый десятизначный маркер – это группа из десяти двузначных маркеров, а значит, он отличается высокой избыточностью (в смысле, рассмотренном выше). В рамках данной схемы можно ввести минимальную группу, состоящую из четырех двузначных маркеров. Рассмотрим систему, на четырех линиях которой появляются (одновременно) электрические импульсы. Всего возможно 16 комбинаций; при этом любые 10 могут соответствовать десятичным цифрам.

Обратите внимание, что эти маркеры (обычно электрические импульсы; реже – электрические напряжения или токи, длящиеся столько времени, сколько нужно для их надежного распознавания) должны управляться электрическими вентилями.

Типы цифровых вычислительных машин и их основные компоненты

До сих пор в цифровых вычислительных машинах последовательно применялись электромеханические реле, электронные лампы, кристаллические диоды, ферромагнитные сердечники и транзисторы. Одни использовались в сочетании друг с другом; другие – преимущественно в запоминающих устройствах (ср. ниже); третьи – главным образом вне памяти (в «активных» органах). В зависимости от этого выделяют соответствующие типы цифровых машин.

Параллельные и последовательные схемы

Итак, в цифровых вычислительных машинах все числа представлены последовательностями десятизначных маркеров (или групп маркеров), которые могут появляться либо одновременно в разных органах машины – т. е. параллельно, либо один за другим в одном органе – т. е. последовательно. Если машина предназначена для оперирования, скажем, двенадцатиразрядными десятичными числами (например, с шестью разрядами слева и шестью разрядами справа от десятичной запятой), тогда в каждом информационном канале машины, который служит для передачи числовых данных, должны присутствовать двенадцать таких маркеров (или групп маркеров). (Существуют различные способы придать этой схеме ту или иную гибкость; во многих машинах так и делается. Так, почти во всех машинах положение десятичной запятой можно регулировать. Однако здесь я не буду вдаваться в эти подробности.)

Обычные основные операции

До сих пор операции цифровой вычислительной машины всегда основывались на четырех арифметических действиях. О реализации этих основных операций следует сказать следующее.

Во-первых, о сложении: в отличие от физических процессов, которые опосредуют сложение в аналоговых машинах (ср. выше), в цифровых машинах данная операция подчиняется строгим правилам логического характера. Эти правила диктуют, как получать цифровые суммы, когда осуществлять перенос, как повторять и комбинировать эти операции. Наиболее очевидной логическая природа цифровой суммы становится при использовании двоичной (а не десятичной) системы счисления. В самом деле, таблицу двоичного сложения (0 + 0 = 00, 0 + 1 = 1 + 0 = 01, 1 + 1 = 10) можно сформулировать следующим образом: если две складываемые цифры различны, цифра суммы – 1, в противном случае – 0; если обе складываемые цифры – единицы, цифра переноса – 1, в противном случае – 0. На самом деле из-за возможности переноса нам нужна таблица двоичного сложения для трех членов (0 + 0 + 0 = 00, 0 + 0 + 1 = 0 + 1 + 0 = 1 + 0 + 0 = 01, 0 + 1 + 1 = 1+ 0 + 1 = 1 + 1 + 0 = 10, 1 + 1+ 1 = 11), которую можно сформулировать так: если число единиц в слагаемых (включая перенос) нечетно (1 или 3), цифра суммы – 1, в противном случае – 0; если количество единиц в слагаемых (включая перенос) больше, чем нулей (2 или 3), цифра переноса – 1, в противном случае – 0.

Во-вторых, о вычитании: логическая структура вычитания очень похожа на логическую структуру сложения. Более того, вычитание можно свести к сложению (обычно так и поступают) с помощью простого приема дополнения вычитаемого.

В-третьих, об умножении: логическая природа умножения очевиднее, а структура сложнее, чем у сложения. В процессе умножения образуются произведения множимого на каждую цифру множителя (обычно выполняется для всех возможных десятичных цифр с помощью различных схем сложения), которые затем складываются (с соответствующими сдвигами). В двоичной системе логический характер данной операции еще более прозрачен и очевиден. Поскольку единственными возможными цифрами являются 0 и 1, произведение множимого на каждую цифру множителя опускается, если эта цифра – 0, и равно множимому, если эта цифра – 1.

Вышесказанное относится к умножению положительных чисел. Если оба множителя могут быть как положительными, так и отрицательными, возможны четыре варианта, которые регулируются дополнительными логическими правилами.

В-четвертых, о делении: логическая структура деления сравнима с логической структурой умножения, за исключением того, что при делении применяются различные итеративные процедуры вычитания, основанные на принципе проб и ошибок. Определение цифр частного подчиняется особым логическим правилам в зависимости от результатов повторяющихся действий решающей схемы.

Подводя итоги, можно сказать, что все подобные операции в корне отличаются от физических процессов, используемых в аналоговых машинах. Все они представляют собой модели альтернативных действий, организованные в многократно повторяющиеся последовательности и подчиняющиеся строгим логическим правилам.

В случае умножения и деления указанные правила носят довольно сложный логический характер. (Мы можем не замечать данное обстоятельство, поскольку учимся делить и умножать с самого детства, но если попробовать сформулировать эти операции полностью, степень их сложности станет очевидна.)

Логическое управление

Помимо выполнения основных операций по отдельности, вычислительная машина должна уметь выполнять совокупность таких операций в соответствии с заданной последовательностью, точнее, логической схемой, что и является конечной целью вычислений. В традиционных аналоговых машинах, типичным примером которых служит дифференциальный анализатор, последовательность операций достигается следующим образом. В машине должно быть столько органов, сколько требуется для выполнения основных операций в рамках желаемых вычислений, т. е. достаточно дифференциалов и интеграторов (для двух основных операций (x + y) / 2 и ∫t x (t) dy (t) соответственно; ср. выше). Эти органы, т. е. их входные и выходные диски (точнее валы), следует соединить друг с другом (с помощью зубчатых колес в ранних моделях и электрических устройств слежения – сельсинов – в современных машинах) таким образом, чтобы получилась как бы копия требуемого вычисления. Отметим, что данная машина должна позволять использующему ее человеку инициализировать ее схемой вычислений, т. е. сообщить ей задачу. Если в первых машинах (с зубчатым колесом; ср. выше) инициализация осуществлялась при помощи механических средств, то в новейших машинах (с электрической связью; ср. выше) она реализуется с помощью коммутации. Тем не менее в обоих типах машин такая инициализация фиксируется на весь период решения задачи.

Коммутационное управление

В некоторых новейших аналоговых машинах введено еще одно усовершенствование – электрические коммутационные связи. Эти связи управляются электромеханическими реле; следовательно, их можно изменять посредством подачи управляющего напряжения на электромагниты, замыкающие и размыкающие эти реле. Управление электрическим напряжением осуществляется с помощью перфорированных бумажных лент, которые запускаются и останавливаются (перезапускаются и вновь останавливаются и т. д.) электрическими сигналами, зависящими от хода выполнения вычислений.

Логическое управление с помощью перфоленты

Последнее утверждение означает, что определенные вычислительные органы машины способны фиксировать некие заранее заданные условия (например, знак числа поменялся на отрицательный, одно число стало меньше другого и т. д.). Заметим: если числа представлены электрическим напряжением или током, то их знаки могут быть распознаны с помощью выпрямителей; если используется вращающийся диск, знак показывает, как именно диск прошел нулевое положение (вращаясь вправо или влево); одно число становится меньше другого, когда знак их разности становится отрицательным и т. д. Таким образом, логическое управление с помощью ленты, а точнее – управление на основе состояния вычислительного процесса в сочетании с лентой – накладывается на управление на основе фиксированных связей.

В цифровых машинах с самого начала применялись другие системы управления. Однако, прежде чем перейти к их обсуждению, я хотел бы сделать несколько общих замечаний касательно цифровых машин и их взаимосвязи с аналоговыми машинами.

Принцип только одного органа для каждой основной операции

Необходимо подчеркнуть, что в цифровых машинах обычно предусмотрен только один орган для каждой основной операции, в отличие от аналоговых машин, в которых должно быть достаточно органов для каждой основной операции в зависимости от требований решаемой задачи (ср. выше). Тем не менее следует отметить, что это, скорее, исторический факт, нежели объективная необходимость: аналоговые машины (с электрическими связями; ср. выше) тоже могут иметь всего один орган для каждой основной операции. Логическое управление таких машин будет рассмотрено ниже. (Читатель может с легкостью убедиться сам, что новейший тип управления аналоговых машин, описанный выше, представляет собой переход к данному режиму работы.)

Также следует отметить, что некоторые цифровые машины в той или иной степени отклоняются от принципа «одна основная операция – один орган», однако работу таких машин можно свести к традиционной схеме путем несложных реинтерпретаций. (В некоторых случаях достаточно объединить две машины с необходимыми устройствами двусторонней связи.) Впрочем, здесь я не буду углубляться в данный вопрос.

Потребность в специальном органе памяти

Принцип только одного органа для каждой основной операции требует, однако, большого количества органов, предназначенных для пассивного хранения чисел – результатов различных частичных, промежуточных вычислений. Иными словами, каждый такой орган должен быть способен сохранить число, полученное от другого органа (предварительно стерев число, которое было сохранено ранее), и воспроизвести его по запросу, а именно – передать его некоему третьему органу. Такой орган называется регистром памяти, совокупность подобных органов – памятью, а количество регистров в памяти – емкостью этой памяти.

Теперь перейдем к описанию основных способов управления, применяющихся в цифровых машинах. Наилучший способ это сделать – описать два основных типа и рассмотреть некоторые очевидные принципы их сочетания.

Управление с помощью управляющих точек

Первый широко распространенный метод управления можно описать (с некоторыми упрощениями и допущениями) следующим образом.

Машина содержит некоторое количество органов логического контроля, называемых управляющими точками. (Количество таких управляющих точек может быть весьма велико. В некоторых новейших машинах оно достигает нескольких сотен.)

При самом простом способе использования данной системы каждая управляющая точка связана с одним из органов основных операций, который она приводит в действие, а также с регистрами памяти, одни из которых поставляют числовые входные данные для этой операции, другие – принимают ее результат. После определенной задержки (достаточной для выполнения операции) или получения сигнала «выполнено» (при вариабельной длительности операции, если максимальная продолжительность не определена или слишком велика, требуется дополнительная связь с органом, выполняющим данную основную операцию) управляющая точка задействует следующую управляющую точку, своего «преемника». Эта точка действует аналогичным образом согласно собственным связям, и т. д. В отсутствие дальнейших действий данная система обеспечивает схему безусловного, бесповторного вычисления.

Более сложные схемы применяются в случаях, когда некоторые управляющие точки, так называемые точки разветвления, связаны с двумя преемниками и могут находиться в двух состояниях, скажем А и Б, причем А направляет процесс к первому преемнику, а Б – ко второму. Обычно управляющая точка находится в состоянии А. Тем не менее она связана с двумя регистрами памяти; определенные события в этих регистрах могут заставить ее перейти из состояния А в состояние Б или, наоборот, из состояния Б в состояние А. Так, например, появление отрицательного знака в первом регистре заставит ее перейти из состояния А в состояние Б, а появление отрицательного знака во втором – из Б в А. (Обратите внимание, что, помимо хранения цифрового обозначения числа [ср. выше], регистр памяти обычно хранит и его знак [+ или – ]; для этого достаточно двузначного маркера). В этом случае открываются самые разнообразные возможности. Два преемника могут представлять две совершенно разобщенные ветви вычисления, зависящие от заданного числового критерия (управляющего переходом из А в Б, тогда как переход из Б в А используется для восстановления первоначального условия для нового вычисления). Возможно две альтернативные ветви объединятся позже, в общем преемнике. Другая возможность возникает тогда, когда одна из двух ветвей, скажем, ветвь, которая управляется состоянием А, в действительности ведет назад, к первой из упомянутых управляющих точек (точек разветвления). В этом случае мы имеем дело с итеративной процедурой, повторяющейся до тех пор, пока не будет удовлетворен некий числовой критерий (тот, который вызывает переход из А в Б; ср. выше). Таков, разумеется, базовый итеративный процесс. Все эти приемы могут сочетаться, накладываться друг на друга и т. д.

Необходимо отметить, что в данном случае, как и в случае коммутационного управления в аналоговых машинах, упомянутого ранее, совокупность задействованных (электрических) связей осуществляет первичную инициализацию – описание задачи, которую необходимо решить, т. е. намерения человека, использующего машину. Следовательно, это одна из разновидностей коммутационного управления. Схема коммутации может меняться от одной задачи к другой, но (по крайней мере, в простейших устройствах) в рамках решения отдельно взятой задачи всегда остается неизменной.

Данный метод поддается усовершенствованию различными способами. Каждая управляющая точка может быть связана с несколькими органами, задействуя две и более операции. Коммутационное соединение может (как в примере с аналоговыми машинами, приведенном выше) фактически управляться электромеханическими реле; эти электромеханические реле могут регулироваться лентами, а ленты в свою очередь могут двигаться под контролем электрических сигналов, возникающих в ходе вычислений. Однако здесь я не буду рассматривать все возможные варианты.

Управление при помощи команд, хранимых в памяти

Второй основной метод управления, который постепенно вытесняет первый, можно описать (опять-таки с некоторыми упрощениями) следующим образом.

Формально эта схема имеет некоторое сходство со схемой коммутационного управления, упомянутой выше. Однако вместо управляющих точек здесь используются команды. В большинстве вариантов данной схемы команда физически представляет собой то же самое, что и любое число (того типа, которым оперирует машина; ср. выше). Таким образом, в десятичной машине это последовательность десятичных цифр (12 десятичных цифр, как в примере выше, со знаком или без него, и т. д. Иногда в стандартном числовом пространстве содержится несколько команд, но здесь мы не будем рассматривать этот случай).

Команда указывает, какая основная операция должна быть выполнена, из каких регистров памяти должны быть получены ее входные данные и в какой регистр памяти должен быть отправлен выход. Это предполагает, что все регистры памяти пронумерованы последовательно. Номер регистра памяти называется адресом. Целесообразно пронумеровать также и основные операции. В таком случае команда просто содержит номер операции и адреса регистров памяти в виде последовательности десятичных цифр (в фиксированном порядке).

Существует несколько вариантов этой схемы, однако для данного контекста они не особенно важны. Команда может, как описано выше, управлять более чем одной операцией; она может требовать изменения содержащихся в ней адресов определенным образом перед ее выполнением (обычное – и практически самое важное такое изменение заключается в том, что ко всем соответствующим адресам добавляется содержимое определенного регистра памяти). В других случаях эти функции могут управляться особыми командами или же команда может влиять лишь на некоторые из составляющих действий, перечисленных выше.

Важнейшим свойством каждой команды является следующее. Как и управляющая точка в предыдущем примере, каждая команда должна определять своего преемника (с разветвлением или без него; ср. выше). Как я уже отмечал ранее, любая команда «физически» есть то же самое, что и число. Поэтому в ходе решения задачи абсолютно естественно хранить ее в регистре памяти. Другими словами, каждая команда хранится в памяти в определенном регистре, т. е. по определенному адресу. Отсюда вытекает несколько возможных подходов к преемнику команды. Так, можно обозначить, что преемником команды с адресом Х – если не указано противоположное – является команда с адресом Х + 1. Противоположностью является команда перехода – особая команда, указывающая, что преемник находится по адресу Y. Возможен и другой вариант: каждая команда включает переход, т. е. явно указывает адрес своего преемника. Разветвление удобнее всего реализовать с помощью команды условного перехода. Данная команда указывает, что адресом преемника является Х или Y в зависимости от определенных числовых условий – например, отрицательное или положительное число с адресом Z. Такая команда, следовательно, должна содержать число, характеризующее данный конкретный тип команды (тем самым оно играет ту же роль и занимает то же место, что и номер основной операции, о котором мы говорили выше), а также адреса X, Y, Z в виде последовательности десятичных цифр (ср. выше).

Необходимо отметить важное различие между этим способом управления и коммутационным управлением, описанным ранее. При коммутационном управлении управляющие точки представляют собой реальные физические объекты. Их взаимное расположение относительно друг друга выражает решаемую задачу. В способе, рассмотренном выше, команды являются абстрактными объектами, записанными в память машины. Таким образом, задачу описывает содержание данного конкретного сегмента памяти. Соответственно этот способ управления можно назвать управлением, хранимым в памяти.

Принцип работы командного управления

Поскольку команды, осуществляющие все управление, хранятся в памяти, данный способ управления отличается бо́льшей гибкостью. В самом деле, машина под управлением команд может извлекать числа (или команды) из памяти, обрабатывать их (как числа!) и возвращать в память (в то же или другое место); т. е. изменять содержание памяти – фактически это ее нормальный режим работы. Следовательно, она может менять команды, которые определяют ее действия. Это позволяет использовать разнообразные сложные системы команд, которые последовательно изменяют себя и, соответственно, вычислительные процессы, которыми они управляют. Благодаря этому становятся возможны более сложные процессы, нежели простые итерации. Хотя такое может показаться нереальным и сложным, подобные методы широко используются и играют важнейшую роль в современной практике машинных вычислений (вернее, в планировании таких вычислений).

Разумеется, система команд – а именно задача, подлежащая решению, намерение пользователя – сообщается машине посредством ее загрузки в память. Обычно это делается с помощью заранее подготовленной ленты или другого аналогичного посредника.

Смешанные формы управления

Два описанных выше способа управления – коммутационное и командное – допускают различные комбинации, о которых я хотел бы сказать несколько слов.

Рассмотрим машину с коммутационным управлением. Предположим, что она имеет память того же типа, что и машина с командным управлением. Полное состояние ее коммутации можно описать последовательностью цифр (подходящей длины). Эта последовательность может храниться в памяти; скорее всего, она будет занимать место нескольких чисел, т. е. нескольких, скажем, соседних, регистров – иначе говоря, она будет храниться под несколькими последовательными адресами, первый из которых для краткости и будет считаться ее адресом. В память можно загрузить несколько таких последовательностей, представляющих собой несколько разных коммутационных схем.

Кроме того, машина может управляться с помощью системы команд, хранимых в памяти. Помимо обязательных команд (ср. выше), такая система должна включать команды следующих типов: 1) команду сброса схемы коммутации в зависимости от содержимого памяти по определенному адресу (ср. выше); 2) систему команд, которые могут изменять отдельные элементы коммутации (обратите внимание, что для выполнения обеих команд необходимо, чтобы коммутация осуществлялась с помощью электрически управляемых устройств, т. е. электромагнитными реле, электронными лампами, ферромагнитными сердечниками и т. п.); 3) команду, которая переводит управление машиной из командного режима в коммутационный.

Также необходимо, чтобы схема коммутации предусматривала возможность указания командного управления (возможно, под определенным адресом) в качестве преемника (или, в случае разветвления, одного из преемников) управляющей точки.

Комбинированный метод

Нижеследующие замечания позволяют получить общее представление о гибкости, присущей рассмотренным режимам управления и их комбинациям.

Еще один класс типов машин смешанного типа, заслуживающий упоминания, – машины, в которых совмещены аналоговые и цифровые принципы. Такие машины фактически состоят из двух частей: аналоговой и цифровой. Части обмениваются числовыми данными и подчиняются общему управлению. Другой возможный вариант – обе части имеют собственные элементы управления, которые взаимодействуют друг с другом (обмениваются логическими данными). Разумеется, для этого необходимы органы, способные преобразовывать число из цифровой формы в аналоговую, и наоборот. Первая операция подразумевает построение непрерывной величины из ее цифрового выражения; вторая операция заключается в измерении непрерывной величины и выражении результата в цифровой форме. Различные устройства (в том числе быстродействующие электрические), выполняющие эти две задачи, общеизвестны.

Смешанное представление чисел. Машины, построенные на этой основе

Другой важный класс машин смешанного типа включает машины, в которых аналоговые и цифровые принципы сочетаются на каждом этапе вычислительной (но, разумеется, не логической) процедуры. Самым простым примером является представление каждого числа частично в цифровой и частично в аналоговой форме. Я опишу одну такую схему, которая иногда встречается при конструировании машин и их элементов, а также применяется в некоторых типах связи, хотя до сих пор на ее основе не была построена ни одна большая машина.

В этой системе, которую я назову частотно-импульсной, каждое число выражено в виде последовательности электрических импульсов, следующих один за другим (на одной линии). Длина последовательности при этом не имеет значения; число выражается средней частотой (плотностью) последовательности импульсов (во времени). Разумеется, необходимо задать два временны́х интервала t_1 и t_2 (t_2 должен быть значительно больше, чем t_1); усреднение производится для промежутков времени между t_1 и t_2. Также должна быть определена единица числа, приравниваемого к этой плотности. Иногда целесообразно считать плотность равной не самому числу, а некоторой (фиксированной) монотонной функции от него, например логарифму. (В данном случае цель заключается в обеспечении более высокого разрешения там, где это необходимо, например когда числа малы, и более низкого разрешения там, где это допустимо, т. е. когда числа велики, включая все последовательные градации.)

Можно создать органы, которые будут производить над этими числами четыре арифметических действия. Так, когда плотности представляют сами числа, сложение выполняется путем сочетания двух последовательностей. Другие операции сложнее, однако и для них разработаны эффективные, более или менее изящные процедуры. Здесь я не буду рассматривать представление отрицательных чисел – для этого тоже существуют определенные приемы.

Чтобы обеспечить надлежащую точность, каждая последовательность должна содержать большое количество импульсов в каждом временно́м интервале t_1, упомянутом выше. Если в ходе вычисления число требуется изменить, можно соответствующим образом изменить плотность представляющей его последовательности, при условии, что этот процесс протекает достаточно медленно по сравнению с временны́м интервалом t_2.

В машинах данного типа считывание условий в виде числовых значений (например, для целей логического управления; ср. выше) может представлять некоторые сложности. Однако существуют устройства, которые способны преобразовывать такое число, т. е. плотность импульсов во времени, в аналоговую величину. (Например, плотность импульсов, каждый из которых доставляет стандартный заряд к медленно разряжающемуся конденсатору [через заданное сопротивление], будет поддерживать достаточно постоянный уровень напряжения и ток утечки; оба эти параметра представляют собой широко используемые аналоговые величины.) Эти аналоговые величины затем могут применяться для логического управления, как описано выше.

После обсуждения основ функционирования и управления вычислительных машин я хотел бы остановиться на их практическом применении и его основных принципах.

Точность

Сравним сначала применение аналоговых и цифровых вычислительных машин.

Основное ограничение аналоговых машин связано с точностью. Так, точность электрических аналоговых машин редко превышает 1:10^3; даже механические машины (типа дифференциального анализатора) в лучшем случае позволяют добиться точности 1:10^4–10^5. Цифровые машины, напротив, могут обеспечить любую желаемую степень точности. Например, точность двенадцатиразрядной десятичной машины, упомянутой ранее, составляет 1:10^12 (по причинам, которые мы рассмотрим ниже, такая точность типична для современных цифровых машин). Также следует отметить, что повысить точность гораздо легче в цифровом, нежели в аналоговом режиме. Так, перейти от 1:10^3 к 1:10^4 в дифференциальном анализаторе относительно просто; перейти от 1:10^4 к 1:10^5 – можно, но это самое большее, на что способны современные технологии; перейти от 1:10^5 к 1:10^6, используя существующие средства, невозможно. С другой стороны, перейти от 1:10^12 к 1:10^13 в цифровой машине – значит просто добавить один разряд к двенадцати; обычно это предполагает всего лишь относительное увеличение оборудования (не везде!) на 1 / 12 = 8,3 % и соответствующее уменьшение скорости (не везде!). Ни то ни другое не является значимым. Частотно-импульсная система сравнима с аналоговой системой. На самом деле она еще хуже: крайне низкая точность обусловлена самим ее устройством. Так, точность 1:10^2 требует 10^2 импульсов на временно́й интервал t_1 (ср. выше); т. е. один этот фактор снижает скорость машины в 100 раз. Смириться с такой потерей в скорости, как правило, нелегко; бо́льшие потери обычно считаются недопустимыми.

Причины высоких (цифровых) требований к скорости

На этом этапе возникает другой вопрос: почему вообще необходима такая высокая точность (например, 1:10^12, как в цифровых машинах)? Почему недостаточно точности аналоговых машин (скажем, 1:10^4) или точности частотно-импульсных систем (скажем, 1:10^2)? В большинстве задач прикладной математики и конструирования точность данных составляет не больше 1:10^3 или 1:10^4, а иногда не достигает и 1:10^2. Для ответов тоже не требуется высокой точности. В химии, биологии или экономике, а также в других практических задачах требования к точности обычно еще ниже. Тем не менее опыт современных вычислений показывает, что для большинства важных задач недостаточно даже точности 1:10^5 и что на практике полностью оправданно использование цифровых машин с точностью порядка 1:10^10 и 1:10^12. Причины такого удивительного явления крайне интересны и связаны с внутренней структурой наших современных математических и численных процедур.

Характерная особенность этих процедур заключается в том, что, если их разложить на составные элементы, они окажутся очень длинными. Это справедливо для всех задач, оправдывающих применение быстродействующих вычислительных машин, т. е. для всех задач по меньшей мере средней степени сложности. Основная причина заключается в том, что современные вычислительные методы требуют разложения всех математических функций на комбинации основных операций – обычно четырех арифметических действий или их аналогов. Фактически большинство функций можно лишь аппроксимировать таким образом; обычно это приводит к довольно длинным (возможно, определяемым итеративно) последовательностям основных операций (ср. выше). Иными словами, арифметическая глубина необходимых операций, как правило, весьма велика. Следует отметить, что логическая глубина во много раз больше. Если, к примеру, четыре арифметических действия разложить на составляющие их логические шаги (ср. выше), то каждое из них само по себе будет представлять длинную логическую цепочку. Однако здесь я буду говорить только об арифметической глубине.

При большом количестве арифметических операций ошибки, совершаемые в каждой из них, накладываются друг на друга. Поскольку они носят преимущественно (хотя и не всегда) случайный характер, при N операций ошибка возрастет не в N раз, а в √N раз. Само по себе это не требует точности пошаговых вычислений 1:10^12 для точности конечного результата 1:10^3 (ср. выше). Для этого нужно 1 /10^12 √N ≈ 1 / 10^3, т. е. N ≈ 10^16, тогда как даже в самых быстрых современных машинах N едва ли превышает 10^10. (Машина, выполняющая арифметические операции каждые 20 микросекунд и работающая над одной задачей 48 часов, представляет собой крайний случай. Но даже здесь N ≈ 10^10.) Впрочем, важную роль тут играет следующее обстоятельство. Операции, выполняемые в ходе вычисления, могут усиливать ошибки, возникшие при выполнении предыдущих операций. Это способно очень быстро покрыть любой численный разрыв. Выше мы использовали соотношение 1:10^3 к 1:10^12, т. е. 10^9; разница обусловлена 425 последовательными операциями, каждая из которых увеличивает ошибку всего на 5 процентов! Я не буду давать здесь подробную и реалистичную оценку этой амплификации, в частности потому, что искусство машинных вычислений в значительной степени состоит из способов ее удержания на минимально возможном уровне. В любом случае обширный опыт позволяет сделать вывод, что высокие уровни точности, упомянутые выше, абсолютно оправданны при решении достаточно сложных задач.

Прежде чем закончить непосредственное обсуждение вычислительных машин, я хочу сказать несколько слов о скорости их работы, размерах и тому подобных параметрах.

Характеристики современных аналоговых машин

Количество органов основных операций в крупнейших из существующих аналоговых машин составляет одну-две сотни. Устройство этих органов зависит, конечно, от типа используемого аналогового процесса. В недавнем прошлом они были преимущественно электрическими или электромеханическими (механическая ступень служила для повышения точности; ср. выше). Сложное логическое управление (как и любое логическое управление этого типа; ср. выше) требует наличия определенных органов типично цифрового действия, таких как электромеханические реле или электронные лампы (последние в этом случае работают не на предельных скоростях). Количество таких органов может достигать нескольких тысяч, а общая стоимость такой машины – порядка 1 000 000 долларов США.

Характеристики современных цифровых машин

Большие цифровые машины отличаются более сложной организацией. Они состоят из активных органов и органов, выполняющих функции памяти, – к последним я отношу органы ввода и вывода, хотя обычно так не делают.

Активными органами являются следующие. Во-первых, это органы, которые выполняют основные логические действия: обнаруживают совпадения, комбинируют управляющие импульсы и, возможно, распознают антисовпадения (хотя иногда используются органы и для более сложных логических операций). Во-вторых, это органы, которые регенерируют импульсы: восстанавливают их постепенно падающую энергию или переводят их с энергетического уровня, преобладающего в одной части машины, на другой (более высокий) энергетический уровень, преобладающий в другой ее части (эти две функции называются амплификацией) – т. е. органы, которые восстанавливают желаемую (в пределах определенных допусков, стандартизованную) форму импульса и синхронизацию. Следует отметить, что первые упомянутые логические операции – это элементы, на которых строятся арифметические действия (ср. выше).

Активные компоненты; вопросы скорости

В хронологической последовательности вышеупомянутые функции выполнялись электромеханическими реле, электронными лампами, кристаллическими диодами, ферромагнитными сердечниками и транзисторами (ср. выше) или различными небольшими схемами, включающими эти устройства. Реле позволяли достичь скорости около 10–2 секунды на элементарное логическое действие; электронные лампы – порядка 10–5–10–6 секунды (а в некоторых случаях в два или в четыре раза меньше). Последняя группа под общим названием твердотельных устройств работает со скоростью 10–6 секунды; вероятно, в будущем эта скорость увеличится до 10–7 секунды на элементарное логическое действие. Другие устройства, которые я не буду рассматривать здесь, скорее всего, позволят добиться еще лучших результатов – полагаю, в ближайшие десять лет мы достигнем уровня 10–8–10–9 секунды.

Количество требуемых активных компонентов

Количество активных органов в большой современной машине варьирует в зависимости от ее типа и составляет примерно от 3000 до 30 000. Основные (арифметические) операции обычно выполняются одним блоком (или, вернее, одной более или менее связанной группой блоков) – арифметическим органом. В большой современной машине это устройство включает, в зависимости от типа, приблизительно от 300 до 2000 активных органов.

Как будет показано ниже, некоторые группы активных органов выполняют функции памяти. Как правило, они содержат от 200 до 2000 активных органов.

Наконец, собственно запоминающие устройства (ср. ниже) требуют наличия вспомогательных активных органов, выполняющих функции обслуживания и управления. Самые быстрые запоминающие устройства, которые состоят не из активных органов (ср. ниже; согласно принятой здесь терминологии, это второй уровень иерархии памяти), могут включать от 300 до 2000 активных органов. Количество вспомогательных активных органов во всех участках памяти может составлять до 50 % всех органов машины.

Органы памяти. Время доступа и емкость памяти

Органы памяти делятся на несколько классов. В основе классификации лежит время доступа. Оно определяется следующим образом. Во-первых, это время, необходимое для сохранения числа, которое уже представлено в какой-либо другой части машины (обычно в регистре активных органов; ср. ниже), с предварительным стиранием числа, которое могло быть записано ранее. Во-вторых, это время, необходимое для выдачи сохраненного числа по запросу в другую часть машины (обычно в регистр активных органов; ср. ниже). Иногда удобно различать эти два времени (чтения и записи), а иногда целесообразно использовать одно, большее из них или, возможно, их среднее значение. Кроме того, время доступа может изменяться от случая к случаю; если оно не зависит от адреса памяти, то называется временем произвольного доступа. Даже если время доступа непостоянно, можно использовать одно значение – максимальное или, возможно, среднее. (Последнее, конечно, зависит от статистических свойств решаемых задач.) Ради простоты я буду использовать единое время доступа.

Регистры памяти, построенные из активных органов

Регистры памяти могут быть построены из активных органов (ср. выше). Они отличаются самым коротким временем доступа и являются самыми дорогими. Такой регистр представляет собой схему по меньшей мере из четырех электронных ламп (или чуть меньшего количества твердотельных элементов) на каждый двоичный разряд (или знак); следовательно, на каждый десятичный разряд их потребуется минимум в четыре раза больше (ср. выше). Таким образом, система двенадцатиразрядных десятичных чисел (и знака), рассмотренная выше, потребует 196-лампового регистра. С другой стороны, время доступа таких регистров часто в два раза превышает время элементарного ответа, что очень быстро по сравнению с другими устройствами (ср. ниже). Кроме того, несколько регистров такого типа могут быть объединены, что даст некоторую экономию в оборудовании; так или иначе они используются в качестве органов ввода и вывода для других типов памяти. Один или два (в некоторых схемах даже три) таких регистра образуют конструкцию арифметического органа. Подведем итог: в небольшом количестве они более экономичны, чем может показаться на первый взгляд, а потому применяются и в других органах машины. Тем не менее они, очевидно, не годятся для создания запоминающих устройств большой емкости, в которых нуждаются почти все большие вычислительные машины. (Последнее замечание относится только к современным машинам, т. е. к машинам, работающим на электронных лампах, а также к более поздним их типам. До этого времени в машинах с электромеханическими реле последние использовались в качестве активных органов, а релейные регистры – в качестве основной формы памяти.)

Иерархический принцип организации органов памяти

Для запоминающих устройств большой емкости должны использоваться другие типы памяти. Суть иерархического принципа организации памяти заключается в следующем.

Чтобы машина функционировала надлежащим образом – т. е. чтобы она выполняла поставленные задачи, – ей необходима память емкостью, скажем, N слов с временем доступа t. Обеспечить время доступа t для N слов может оказаться технически трудно или – обычно именно так и проявляются подобные сложности – слишком дорого. Вполне возможно, однако, что время доступа t требуется не для всех N слов, а для существенно меньшего их количества, скажем N′. Поскольку для части слов (N′) обеспечено время доступа t, вполне вероятно, что для всех слов (N) достаточно более длительного времени доступа t″. Далее, может статься, что экономичнее всего обеспечить, в дополнение к упомянутым выше, промежуточные запоминающие устройства, емкость которых окажется меньше N, но больше N′ слов, а время доступа – больше t, но меньше t″. Общая схема в таком случае будет состоять из последовательности запоминающих устройств емкостью N_1, N_2… Nk-1, Nk с временем доступа t_1, t_2… tk–1, tk, в рамках которой каждое последующее устройство станет характеризоваться большей емкостью, но меньшей скоростью (т. е. N_1 < N_2 <… < Nk–1 < Nk, t_1 < t_2 <… < tk–1 < tk ). Таким образом, для каждого i (1, 2… k–1, k) Ni слов имеют время доступа ti. (Чтобы связать это с тем, что было сказано ранее, следует принять, что N_1 = N′, t_1 = t и Nk = N, tk = t″.) В данной схеме каждое значение i представляет собой один уровень в иерархии памяти; всего в этой иерархии k таких уровней.

Компоненты памяти; вопросы доступа

В большой современной быстродействующей вычислительной машине общее количество всех уровней иерархии памяти составляет не меньше трех (возможно, четыре или пять).

Первый уровень всегда соответствует регистрам, описанным выше. Их количество, N_1, практически во всех типах машин составляет минимум три, а иногда и больше (предлагалось даже до двадцати). Время доступа t_1 – основное время переключения машины (или, возможно, в два раза превышает его).

Следующий (второй) уровень иерархии включает специальные органы памяти. Они отличаются от переключательных органов, используемых в остальной части машины (и на первом уровне иерархии; ср. выше). Емкость N_2 органов памяти, в настоящее время применяемых на этом уровне, варьирует от нескольких тысяч до нескольких десятков тысяч слов (последний тип пока находится на стадии проектирования). Время доступа t_2 обычно в пять-десять раз больше, чем время доступа на предыдущем уровне, t_1. На каждом последующем уровне емкость памяти Ni, как правило, возрастает примерно в 10 раз. Время доступа ti растет еще быстрее, но здесь действуют другие правила, ограничивающие и определяющие время доступа (ср. ниже). Подробное рассмотрение этого вопроса в текущем контексте едва ли оправданно.

Самые быстродействующие элементы, т. е. органы памяти (другими словами, неактивные органы; ср. выше) – это некоторые электростатические устройства и магнитные сердечники. В последнее время чаще всего используются последние, хотя могут применяться и другие методы (электростатические, ферроэлектрические и т. д.). На более высоких уровнях иерархии памяти в настоящее время преимущественно используются магнитные барабаны и магнитные ленты; в некоторых машинах применяются магнитные диски.

Сложности понятия времени доступа

Устройства трех последних типов подчиняются особым правилам и ограничениям. Так, доступ ко всем участкам магнитного барабана предоставляется последовательно и циклично. Емкость памяти на магнитной ленте практически не ограничена; все ее участки просматриваются в фиксированной линейной последовательности, однако ленту можно остановить или пустить в обратном направлении. Все эти схемы могут сочетаться с различными устройствами, обеспечивающими синхронизацию состояний функционирования машины и состояний ее памяти.

Последний этап любой иерархии памяти представляет собой внешний мир (внешний с точки зрения машины), т. е. ту ее часть, которая выполняет коммуникативные функции, – иначе говоря, органы ввода и вывода. Как правило, ими являются перфорированные бумажные ленты или карты, а на выходе, конечно, и печатные данные. Иногда основной системой ввода-вывода выступает магнитная лента; в этом случае перевод в форму, которую может непосредственно использовать человек (т. е. бумагу с перфорацией или отпечатанными данными), выполняется вне машины.

Ниже приведены некоторые показатели времени доступа в абсолютном выражении. Так, для запоминающих устройств на ферромагнитных сердечниках время доступа составляет от 5 до 15 микросекунд; для электростатических запоминающих устройств – от 8 до 20 микросекунд; для магнитных барабанов – от 2500 до 20 000 об/мин, т. е. от 24 до 3 миллисекунд на один оборот (за это время можно ввести от 1 до 2000 слов); для магнитных лент – до 70 000 линий в секунду, т. е. 1 линия в 14 микросекунд (слово может занимать 5–15 линий).

Принцип прямой адресации

Во всех существующих машинах и запоминающих устройствах используется прямая адресация. Иначе говоря, каждое слово в памяти имеет свой собственный числовой адрес, который однозначно характеризует это слово и его положение в памяти (как общей совокупности всех иерархических уровней). Этот числовой адрес всегда указывается явно, когда слово нужно сохранить в памяти или считать из нее. Иногда не все части памяти доступны одновременно (ср. выше; бывает, что в машине имеется несколько запоминающих устройств, не все из которых доступны одновременно, в зависимости от заданных приоритетов доступа). В этом случае доступ к памяти зависит от общего состояния машины в момент запроса. Тем не менее в адресе, а также в участке памяти, который он обозначает, никогда не бывает неопределенности.

Часть II

Мозг

Материал, изложенный в первой части, служит базой для сравнения, которое и является конечной целью данной работы. Я описал, более или менее подробно, природу современных вычислительных машин и общие принципы, лежащие в основе их организации. Теперь мы можем перейти к другой стороне сравнения – нервной системе человека – и рассмотреть сходства и различия этих двух типов «автоматов». Что касается сходств, то они хорошо известны. Однако существуют и различия, причем не только в размере и скорости, что достаточно очевидно, но и в некоторых областях, лежащих гораздо глубже. К последним относятся принципы функционирования и управления, общей организации и т. д. Описать их – моя основная задача. Чтобы дать им правильную оценку, мы сопоставим их со сходствами, а также с более поверхностными различиями (размеры, скорость; ср. выше). Поэтому далее им также будет уделено пристальное внимание.

Упрощенное описание функции нейрона

Как показывают наблюдения, функционирование нервной системы носит на первый взгляд цифровой характер. Данный факт, а также лежащие в его основе структуры и функции требуют подробного рассмотрения.

Основным компонентом нервной системы является нервная клетка – нейрон. Нормальная функция нейрона заключается в порождении и передаче нервных импульсов. Нервный импульс представляет собой довольно сложный процесс, включающий электрический, химический и механический аспекты. Тем не менее импульс – это процесс, который определяется однозначно, т. е. он почти одинаков при любых условиях; по существу он представляет собой воспроизводимый, единый ответ на довольно широкий спектр стимулов.

Рассмотрим характеристики нервного импульса, которые представляют интерес в данном контексте, более подробно.

Природа нервного импульса

Нервная клетка состоит из тела и одного или нескольких отростков – аксонов. Нервный импульс представляет собой непрерывное изменение, распространяющееся, как правило, с постоянной скоростью (скорость, однако, может зависеть от функции нервной клетки) вдоль аксона (точнее, вдоль каждого аксона). Как упоминалось выше, данное явление – нервный импульс – можно рассматривать с разных точек зрения. Одной из основных его характеристик, безусловно, является то, что нервный импульс – это в первую очередь электрическое возмущение; на самом деле чаще всего данным описанием и ограничиваются. Это электрическое возмущение обычно представляет собой электрический потенциал примерно в 50 милливольт продолжительностью около одной миллисекунды. Одновременно с этим электрическим возмущением вдоль аксона происходят определенные химические изменения. Так, в тех участках аксона, по которым проходит импульсный потенциал, изменяются ионный состав внутриклеточной жидкости, а также электрохимические свойства (проводимость, проницаемость) оболочки аксона – мембраны. На концах аксона химический характер изменений особенно очевиден; при приходе импульса там появляются специфические характерные вещества. Наконец, возможно, имеют место и механические изменения. Весьма вероятно, что изменение ионной проницаемости клеточной мембраны (ср. выше) может возникнуть только вследствие переориентации ее молекул, т. е. механического изменения их относительного положения.

Следует добавить, что все эти изменения обратимы. Другими словами, после прохождения импульса аксон и все его составные части возвращаются в первоначальное состояние.

Поскольку все эти явления происходят в молекулярном масштабе – толщина мембраны нервной клетки составляет несколько десятых микрон (т. е. порядка 10–5 см), что сравнимо с размером больших органических молекул, о которых идет речь, – вышеупомянутые различия между электрическими, химическими и механическими изменениями не столь выражены, как это может показаться на первый взгляд. Так, на молекулярном уровне между всеми этими изменениями не существует четких различий: любое химическое изменение вызывается изменением внутримолекулярных сил, которые определяют относительное положение молекул, т. е. оно обусловлено механическими причинами. Более того, каждое такое внутримолекулярное механическое изменение меняет электрические свойства молекулы и, следовательно, влечет за собой изменение электрических свойств и уровней относительного потенциала. Подведем итог: в обычных (макроскопических) масштабах между электрическими, химическими и механическими процессами сохраняются четкие различия. Однако на молекулярном уровне, в мембране нервной клетки, эти явления, как правило, неразделимы. Таким образом, неудивительно, что нервный импульс можно рассматривать с любой из этих точек зрения.

Процесс порождения нервного импульса

Как уже было указано выше, развитые нервные импульсы схожи друг с другом, независимо от их первоисточника. Поскольку характер нервного импульса не может быть определен однозначно (его можно рассматривать как электрический, так и химический; ср. выше), его возникновение также может быть объяснено электрическими или химическими причинами. Однако в нервной системе нервный импульс вызывается преимущественно одним или несколькими другими нервными импульсами. В таких условиях процесс его возникновения – процесс порождения нервного импульса – может оказаться успешным или безуспешным. Если он оказывается безуспешным, возникшее возмущение через несколько миллисекунд затухает. В этом случае по аксону не распространяется никакого возбуждения. Если же данный процесс оказывается успешным, возмущение очень быстро принимает (почти) стандартную форму и в этой форме распространяется вдоль аксона. То есть, как упоминалось выше, по аксону движется стандартный нервный импульс, форма которого не зависит от особенностей породившего его процесса.

Порождение нервного импульса обычно происходит в теле нервной клетки или вблизи нее. Его распространение, как указано выше, осуществляется вдоль аксона.

Механизм порождения нервного импульса другими импульсами; его цифровая природа

Теперь вернемся к цифровому характеру этого механизма. Нервные импульсы можно рассматривать как (двузначные) маркеры (в смысле, оговоренном ранее): отсутствие импульса представляет одно значение (например, двоичную цифру 0), а его наличие – другое значение (скажем, двоичную цифру 1). Наличие или отсутствие импульса, разумеется, следует рассматривать относительно некоего аксона (или, точнее, всех аксонов данного нейрона) и, возможно, в определенной временно́й связи с другими событиями. Таким образом, нервный импульс следует рассматривать как маркер (двоичную цифру 0 или 1) в особой, логической роли.

Как уже упоминалось выше, импульсы (которые возникают на аксонах данного нейрона) обычно порождаются другими импульсами, воздействующими на тело этого нейрона. Данное явление, как правило, условно, т. е. только определенные комбинации таких первичных импульсов порождают вторичный импульс; все остальные не приводят к его возникновению. Таким образом, нейрон – это орган, который принимает и испускает определенные физические объекты, импульсы. Импульсы, поступающие в определенных комбинациях и временны́х соотношениях, заставляют его испустить собственный импульс, который в противном случае не возникает. Правила, определяющие группы импульсов, на которые нейрон реагирует таким образом, – это правила, которые управляют им как неким активным органом.

Вышеизложенное, безусловно, есть не что иное, как описание функционирования некоего органа в цифровой машине; именно так характеризуются роль и функции цифрового органа. Таким образом, оно оправдывает исходное утверждение о том, что нервная система имеет на первый взгляд, цифровой характер.

Позвольте мне сказать несколько слов относительно оговорки «на первый взгляд». В приведенном выше описании содержатся некоторые идеализации и упрощения, которые будут рассмотрены позже. Если принять их во внимание, цифровой характер нервной системы более не представляется столь явным и однозначным. Тем не менее черты, отмеченные выше, являются наиболее заметными. Поэтому целесообразно начать обсуждение так, как я это сделал здесь – подчеркнув цифровой характер нервной системы.

Временны́е характеристики реакции, утомления и восстановления нервной клетки

Прежде чем приступить к рассмотрению данного вопроса, необходимо высказать несколько общих замечаний о размерах, энергетических потребностях и скорости реакции нервной клетки. Наиболее наглядный способ это сделать – провести сравнение с ее основными искусственными конкурентами: активными органами современных логических и вычислительных машин. Таковы, конечно, электронная лампа и (в последнее время) транзистор.

Мы уже говорили, что волна возбуждения обычно зарождается на теле нервной клетки или вблизи него. Фактически ее появление возможно и на аксоне. То есть под действием соответствующего электрического потенциала или подходящего химического раздражителя нужной концентрации, появившихся в некоторой точке аксона, возникает возмущение, которое вскоре превращается в стандартный импульс, перемещающийся в обе стороны аксона от точки возбуждения («вверх» и «вниз»). На самом деле «обычное» возбуждение, описанное выше, в основном возникает на коротких отростках, отходящих от тела нейрона (эти отростки, если не принимать во внимание их меньшие размеры, по существу являются аксонами), и распространяется на тело нервной клетки (а затем и на обычные аксоны). Эти короткие рецепторы называются дендритами. Обычно возбуждение, порожденное другим импульсом (или импульсами), исходит из особого окончания аксона (или аксонов), по которому распространяется данный импульс. Это окончание называется синапсом. (Вопрос о том, может ли один импульс порождать другой импульс только через синапс, или же, путешествуя по аксону, он может непосредственно возбуждать другие, близлежащие аксоны, мы рассматривать не будем. Судя по некоторым данным, можно предполагать, что такие короткие замыкания возможны.) Время синаптической передачи возбуждения составляет несколько десятитысячных долей (10–4) секунды. Это период между приходом первичного импульса к синапсу и появлением вторичного импульса в ближайшей точке аксона возбуждаемого нейрона. Впрочем, это не самый лучший способ определить время реакции нейрона, если рассматривать его как активный орган в логической машине. Дело в том, что после появления вторичного импульса возбужденный нейрон не сразу возвращается в свое первоначальное состояние. Он утомлен, т. е. не может сразу воспринять возбуждение от другого импульса и ответить на него стандартным образом. С точки зрения машинной экономики более значимой мерой скорости является время между двумя стандартными ответами на раздражитель. Оно составляет примерно 1,5 × 10—2 секунды. Из этих цифр видно, что сама по себе синаптическая передача возбуждения занимает всего лишь один или два процента общего времени; остальное время представляет собой период восстановления, в течение которого утомленный нейрон возвращается в свое нормальное, предшествовавшее возбуждению состояние.

Следует отметить, что процесс восстановления протекает постепенно. Так, еще до полного восстановления (примерно через 0,5 × 10–2 секунды) нейрон способен реагировать, хотя и необычным образом, а именно: он может генерировать стандартный импульс, но только в ответ на раздражение, которое значительно сильнее, чем то, которое необходимо в обычных условиях. Это обстоятельство имеет достаточно важное значение, и я еще вернусь к нему позже.

Итак, время реакции нейрона колеблется (в зависимости от того, как мы его определяем) где-то между 10–4 и 10–2 секунды, при этом более важной является вторая цифра. Время срабатывания современных электронных ламп и транзисторов, которые используются в больших логических машинах, составляет от 10–6 до 10–7 секунды. (Разумеется, я включаю сюда и период полного восстановления; по прошествии этого времени данный орган возвращается к своему первоначальному состоянию.) Таким образом, в этом отношении наши приборы превосходят соответствующие естественные органы примерно в 10^4–10^5 раз.

Что касается размера, то здесь наблюдается несколько иная ситуация. Существуют различные способы оценки размеров; лучше всего рассмотреть их один за другим.

Размер нейрона. Сравнение с искусственными компонентами

Линейные размеры нейронов сильно варьируют. Так, некоторые нейроны объединены в большие, тесно связанные совокупности клеток, а потому имеют очень короткие аксоны. Другие проводят импульсы между достаточно удаленными друг от друга частями тела и могут, таким образом, иметь аксоны, длина которых сопоставима с длиной всего человеческого тела. Один из способов однозначного и достоверного сравнения заключается в том, чтобы сравнить логически активную часть нервной клетки с логически активной частью электронной лампы или транзистора. В первом случае логически активная часть представлена клеточной мембраной, толщина которой, как уже упоминалось выше, составляет несколько десятков микрон (10–5 см). В случае электронной лампы речь идет о расстоянии от сетки до катода, которое колеблется от нескольких десятых до одного миллиметра (от 10–1 до 10–2 см); в случае транзистора – о расстоянии между неомическими электродами – эмиттером и управляющим электродом. Утроив это расстояние с тем, чтобы принять в расчет непосредственную активную среду этих элементов, мы получаем чуть меньше одной десятой миллиметра (10–2 см). Таким образом, в отношении линейных размеров естественные органы, по-видимому, превосходят искусственные – первые меньше вторых примерно в 10^3.

Далее, можно сравнить объемы. Центральная нервная система (мозг) занимает пространство порядка одного литра, т. е. 10^3 см 3. Количество нейронов, входящих в эту систему, обычно оценивается в 10^10 или несколько выше, т. е. приблизительно 10—7 см 3 на один нейрон.

Также можно оценить (хотя и не с абсолютной точностью) плотность, с которой могут быть скомпонованы электронные лампы или транзисторы. Очевидно, что эта плотность (для обоих элементов сравнения) является лучшим показателем размера, чем фактический объем отдельного компонента. Устройства, состоящие из нескольких тысяч электронных ламп, несомненно, будут занимать несколько десятков кубических футов; то же количество транзисторов займет объем порядка одного или нескольких кубических футов. Используя последнюю цифру как меру лучшего на сегодняшний день достижения, получаем около 10^5 см 3 на несколько тысяч активных органов, т. е. от 10 до 10^2 см 3 на один активный орган. Таким образом, в отношении объема естественные органы превосходят искусственные примерно в 10^8–10^9 раз. При сравнении этих показателей с показателями линейного размера целесообразно считать, что показатель линейного размера сопоставим с кубическим корнем из показателя объема. Кубический корень из числа в диапазоне 10^8–10^9 находится где-то в пределах 0,5–1 × 10^3. Это хорошо согласуется с показателем 10^2, полученным прямым методом.

Рассеяние энергии. Сравнение с искусственными компонентами

Наконец, можно сравнить потребление энергии. Поскольку активный логический орган по своей природе не выполняет никакой работы, энергия вызванного в нем импульса не должна превышать соответствующей доли энергии возбуждающих его импульсов. В любом случае между этими энергиями нет никакой внутренней и необходимой взаимосвязи. Следовательно, вся полученная энергия почти полностью рассеивается, т. е. переходит в тепло, не производя никакой механической работы. Таким образом, потребляемая энергия на самом деле есть энергия рассеиваемая, поэтому можно говорить о рассеянии энергии такими органами.

Рассеяние энергии в центральной нервной системе человека (в головном мозге) составляет порядка 10 Вт. Поскольку, как указано выше, в головном мозге содержится порядка 10^10 нейронов, это означает рассеяние энергии в 10–9 ватта на нейрон. В электронной лампе рассеяние энергии достигает порядка 5–10 ватт, а в транзисторе – всего 10–1 ватта. Таким образом, с точки зрения рассеяния энергии естественные органы превосходят искусственные в 10^8–10^9 раз (аналогичные цифры получены при сравнении объемов).

Итоги сравнения

Суммируя вышеизложенное, можно сказать следующее. В отношении размера искусственные органы уступают естественным в 10^8–10^9 раз. Эти цифры получены из результатов сравнения линейных размеров (возведенных в куб), а также сравнения объемов и рассеяния энергии. С другой стороны, искусственные органы превосходят естественные в скорости примерно в 10^4–10^5 раз.

Из этих количественных оценок следуют определенные выводы. Разумеется, необходимо помнить, что наши рассуждения все еще носят весьма поверхностный характер, поэтому все заключения, сделанные на данном этапе, вполне могут быть пересмотрены в дальнейшем. Тем не менее уже сейчас имеет смысл сформулировать некоторые выводы.

Первый вывод: по количеству действий, которые могут выполняться активными органами одинакового размера (определяемого по объему или рассеянию энергии) за один и тот же промежуток времени, естественные органы опережают искусственные в 10^4 раз. Эта цифра представляет собой частное от деления двух полученных выше показателей: 10^8–10^9 на 10^4–10^5.

Второй вывод: те же показатели свидетельствуют о том, что естественные автоматы имеют больше органов, но их скорость ниже, тогда как искусственные имеют меньше органов, но их скорость выше. Следовательно, можно ожидать, что эффективно организованный большой естественный автомат (например, нервная система человека) будет одновременно обрабатывать максимально возможное количество логических (или информационных) единиц, а эффективно организованный большой искусственный автомат (например, большая современная вычислительная машина) скорее будет выполнять операции одну за другой. То есть большие и эффективные естественные автоматы, по всей вероятности, станут производить действия параллельно, в то время как большие и эффективные искусственные автоматы – последовательно. (Ср. некоторые предыдущие замечания о параллельных и последовательных схемах).

Третий вывод: следует отметить, однако – параллельные и последовательные схемы не являются абсолютно взаимозаменяемыми, что является необходимым условием достоверности первого вывода с его простой схемой: разделить показатель преимущества в размерах на показатель отставания в скорости, чтобы получить единый показатель качества. Точнее, не все последовательные действия могут быть параллельными – некоторые операции выполняются только после некоторых других операций, а не одновременно с ними (т. е. они должны использовать результаты предыдущих операций). В таком случае переход от последовательной схемы к параллельной невозможен или же возможен, но только при изменении логического подхода и внутренней структуры процедуры. И наоборот, при преобразовании параллельной процедуры в последовательную могут возникнуть новые требования к автомату – в частности, требования к памяти, так как результаты предшествующих операций должны храниться до тех пор, пока не будут выполнены последующие операции. Следовательно, можно ожидать, что логический подход и структура в естественных автоматах будут сильно отличаться от таковых в искусственных автоматах. Кроме того, вполне вероятно, что в последних требования к памяти окажутся более жесткими, чем в первых.

Ко всем этим выводам мы еще вернемся в ходе дальнейшего обсуждения.

Критерии возникновения нервного импульса

Самые простые – элементарно-логические

Рассмотрим идеализации и упрощения, содержащиеся в описании функционирования нервной клетки, приведенном выше. Оценить их значение далеко не так легко.

Как я уже говорил, нормальным результатом работы нейрона является стандартный нервный импульс. Он может быть вызван различного рода причинами, в том числе приходом одного или нескольких импульсов от других нейронов. В качестве раздражителей также могут выступать явления внешнего мира, к которым данный конкретный нейрон особенно чувствителен (свет, звук, давление, температура), а также физические и химические изменения внутри организма в том месте, где расположен этот нейрон. Я начну с рассмотрения первого из упомянутых типов возбуждения нейрона, а именно порождения нервного импульса другими нервными импульсами.

Выше я уже отмечал, что данный механизм – порождение нервных импульсов определенными комбинациями других нервных импульсов – лежит в основе сходства нейрона с типичным основным цифровым активным органом. Рассмотрим более подробно. Если нейрон контактирует (через синапсы) с аксонами двух других нейронов и если для появления ответного импульса требуется два одновременных импульса, то этот нейрон фактически представляет собой орган «и»: он выполняет логическую операцию конъюнкции (словесно выражаемую союзом «и»), так как дает ответ только в тех случаях, когда оба раздражителя (одновременно) активны. Если, с другой стороны, для возникновения ответного импульса необходимо прибытие (по крайней мере) одного импульса, то нейрон представляет собой орган «или», т. е. он выполняет логическую операцию дисъюнкции (словесно выражаемую союзом «или»), так как дает ответ, когда активен хотя бы один из двух раздражителей.

«И» и «или» являются основными операциями логики. Вместе с «не» (логической операцией отрицания) они образуют полный набор основных логических операций; все другие операции, независимо от сложности, могут быть получены соответствующим комбинированием основных операций. Здесь мы не будем обсуждать, как нейроны могут выполнять операцию «не» или каким образом можно вообще обойтись без этой операции. Вышесказанного должно быть достаточно, чтобы наглядно продемонстрировать то, что я уже подчеркивал ранее – с этой точки зрения нейроны очень похожи на основные логические органы и, следовательно, на основные цифровые органы.

Более сложные критерии

Данное утверждение, однако, предполагает некоторое упрощение и идеализацию действительности. На самом деле нейроны, как правило, не так просто организованы с точки зрения их положения в нервной системе.

Некоторые нейроны действительно имеют на своем теле всего один или два синапса других нейронов. Однако чаще всего тело нейрона образует синапсы с аксонами многих других нейронов. Иногда бывает даже так, что несколько аксонов одного нейрона образуют синапсы на другом. Поскольку потенциальных раздражителей много, эффективные модели порождения ответного нервного импульса определить гораздо сложнее, чем вышеописанные схемы «и» и «или». Если на одной нервной клетке расположено много синапсов, простейшее правило ее поведения сводится к следующему: нервная клетка будет давать ответ только при получении определенного минимального количества (одновременных) нервных импульсов (или больше). Однако не исключено, что в действительности дела обстоят еще сложнее. Вполне возможно, что определенные комбинации нервных импульсов будут возбуждать данный нейрон не только в силу их количества, но и в силу относительного пространственного расположения принимающих синапсов. Иными словами, возможны ситуации, когда, например, сотни синапсов, расположенных на одной нервной клетке, и эффективные комбинации раздражений (т. е. такие комбинации, которые порождают ответный импульс в упомянутом нейроне) будут характеризоваться не только количеством импульсов, но и покрытием особых участков на этом нейроне (на его теле или на системе дендритов; ср. выше), пространственным расположением таких участков относительно друг друга, а также более сложными количественными и геометрическими взаимосвязями.

Порог возбуждения

Если критерием эффективности возбуждения нервной клетки является (одновременное) наличие минимального количества возбуждающих импульсов, то такая минимальная сила раздражителя называется порогом возбуждения данного нейрона. Обычно о минимальной силе раздражителя, необходимой для порождения ответного импульса, принято говорить с точки зрения именно этого критерия, т. е. порога возбуждения нейрона. Следует помнить, однако, что характер минимальной силы раздражителя вполне может оказаться не настолько прост; не исключено, что его определяют гораздо более сложные взаимосвязи, нежели простое достижение определенного порога (т. е. минимального количества одновременных импульсов), как было описано выше.

Время суммации

Помимо этого свойства нейроны могут обнаруживать и другие сложности, которые не могут быть описаны простыми взаимосвязями типа «раздражение-ответ» в том, что касается стандартных нервных импульсов.

Так, везде, где упоминалась одновременность, она не могла означать и не означала точной одновременности. В каждом случае имеется определенный период отсрочки, так называемое время суммации, в течение которого два импульса действуют так, как если бы они были одновременными. На самом деле все может быть еще сложнее – время суммации может не являться четко определенным понятием. Даже после более длительного периода предшествующий импульс может частично суммироваться с последующим в постепенно уменьшающейся степени. Последовательности импульсов, отделенные промежутками, превышающими (в определенных пределах) время суммации, могут, в силу своей продолжительности, оказывать более чем индивидуальное воздействие. Различные суперпозиции явлений утомления и восстановления могут приводить нейрон в анормальные состояния, в которых его ответ будет отличаться от ответа в обычных условиях. По всем этим моментам существуют (более или менее неполные) наблюдения; все они свидетельствуют о том, что отдельный нейрон может – по крайней мере в некоторых особых ситуациях – оказаться гораздо более сложным механизмом, чем это предполагает догматическое описание в категориях раздражения и ответа, следующее простой модели элементарных логических операций.

Критерии возбуждения рецепторов

В данном контексте следует сказать всего несколько слов о возбуждении нейронов другими факторами, помимо выходных сигналов (нервных импульсов) других нейронов. Как мы уже говорили ранее, такими факторами являются события во внешнем мире (т. е. на поверхности организма), к которым данный нейрон особенно чувствителен (свет, звук, давление, температура), а также физические и химические изменения внутри организма в том месте, где расположен этот нейрон. Нейроны, реагирующие на раздражители первого класса, обычно называют рецепторами. Впрочем, лучше, быть может, называть рецепторами все нейроны, которые реагируют на другие раздражители помимо нервных импульсов. При этом целесообразно различать внешние и внутренние рецепторы (первый и второй тип соответственно).

В свете вышесказанного вновь возникает вопрос о критерии, определяющем условия, при которых возникает ответный нервный импульс. Как и в рассмотренном выше случае возбуждения нейрона нервными импульсами других нейронов, самый простой такой критерий может быть выражен через понятие порога. В этом случае критерием эффективности возбуждения будет являться минимальная сила раздражителя. Для внешнего рецептора это минимальная интенсивность освещения, звуковой энергии, содержащейся в определенном интервале частот, избыточного давления или повышения температуры; для внутреннего – минимальное изменение концентрации критического химического агента или минимальное изменение значения соответствующего физического параметра.

Необходимо отметить, однако, что порог не является единственно возможным критерием возбуждения нервной клетки. Так, если мы говорим о зрении, многие нейроны, по-видимому, реагируют не на определенный уровень освещенности, а, скорее, на его изменение (в одних случаях с высокого на низкий, в других – с низкого на высокий). Возможно, это реакции не отдельного нейрона, а более сложной системы нейронов. Здесь мы не будем подробно рассматривать данный вопрос. Достаточно заметить, что имеющиеся сведения указывают на то, что и в случае рецепторов порог не является единственным критерием возбуждения, используемым в нервной системе.

Вернемся к приведенному выше типичному примеру. Хорошо известно, что в зрительном нерве волокна реагируют не на любой определенный (минимальный) уровень освещенности, а только на изменение этого уровня. Например, одни волокна реагируют на переход от темноты к свету, другие – на переход от света к темноте. Иными словами, критерием здесь служит повышение или уменьшение уровня освещенности, т. е. не его собственное значение, а значение его производной.

На данном этапе необходимо сказать несколько слов о роли этих сложностей в функциональной структуре и функционировании нервной системы. Прежде всего, вполне возможно, что эти сложности не играют никакой функциональной роли вообще. Однако не исключено, что они все же могут играть такую роль. Рассмотрим эту возможность более подробно.

Допустим, что в нервной системе с ее преимущественно цифровой организацией упомянутые сложности играют аналоговую или, по крайней мере, смешанную роль. Было высказано предположение, что при помощи таких механизмов на функционирование нервной системы могут влиять малоизвестные (скрытые) совокупные электрические эффекты. Возможно, что в этом отношении определенные общие электрические потенциалы играют важную роль и система реагирует на решения задач теории потенциала (в целом), задач, не столь непосредственных и элементарных, чем те, которые обычно описываются цифровыми критериями, критериями возбуждения и т. д. Поскольку нервная система носит преимущественно цифровой характер, такие эффекты (если они существуют), вероятно, взаимодействуют с цифровыми эффектами. В таком случае речь идет не о чисто аналоговой системе, а о системе смешанного типа. Соображения по этому поводу высказывали несколько авторов; их можно найти в работах общего характера. Здесь я не буду на них останавливаться.

Следует сказать, однако, что с точки зрения подсчета основных активных органов все сложности данного типа означают, что нервная клетка есть нечто бо́льшее, нежели отдельный основной активный орган, и что любая серьезная попытка подсчета должна учитывать этот факт. Очевидно, такой эффект дают даже самые сложные критерии возбуждения. Если нервная клетка возбуждается при раздражении только определенных комбинаций синапсов на ее теле, то при подсчете основных активных органов, по-видимому, следует считать синапсы, а не сами нервные клетки. Если говорить о смешанных явлениях, упомянутых выше, то такой подсчет становится еще труднее. Сама по себе необходимость заменить подсчет нервных клеток подсчетом синапсов может привести к тому, что количество основных активных органов увеличится во много раз (от 10 до 100). Это и другие аналогичные обстоятельства следует учитывать при подсчетах количества основных активных органов, о которых шла речь выше.

Таким образом, все сложности, упомянутые ранее, могут не иметь особого значения, но они могут наделять систему (частичным) аналоговым или смешанным характером. Во всяком случае они влекут за собой увеличение количества основных активных органов, подсчитываемых на основании тех или иных значимых критериев, в 10–100 раз.

Проблема памяти в нервной системе

До сих пор мы не принимали во внимание компонент, присутствие которого в нервной системе весьма вероятно, если не бесспорно – хотя бы потому, что он играет ключевую роль во всех искусственных вычислительных машинах, созданных на сегодняшний день, из чего следует, что он не только не случаен, но и принципиально важен. Я имею в виду память. Рассмотрим этот компонент или, точнее, блок нервной системы.

Как было указано выше, наличие в нервной системе некоего запоминающего устройства (или, весьма вероятно, нескольких запоминающих устройств) – вопрос предположений и допущений, которые, однако, подтверждаются всем нашим опытом создания и использования искусственных вычислительных автоматов. С самого начала также следует признать, что все утверждения о природе, физическом воплощении и местонахождении такого устройства (или устройств) одинаково гипотетичны. Мы не знаем, где физически находится память в нервной системе; мы не знаем, является ли память отдельным органом или совокупностью особых частей других уже известных органов и т. д. Память вполне может находиться в системе особых нервов, которая в таком случае должна быть довольно обширной. Она может быть как-то связана с генетическим механизмом. Мы знаем о ее природе и местонахождении не больше древних греков, которые полагали, что разум помещается в диафрагме. Единственное, что нам известно, – такая память должна иметь большую емкость, ибо трудно представить, как мог бы обойтись без нее столь сложный автомат, как нервная система человека.

Принципы оценки емкости памяти в нервной системе

Позвольте мне сказать несколько слов о предположительной емкости этой памяти.

В искусственных автоматах, таких как вычислительные машины, существуют общепринятые стандартные способы определения емкости памяти. Естественно полагать, что они распространяются и на нервную систему. Память может хранить определенный максимальный объем информации; любая информация всегда может быть преобразована в совокупность двоичных цифр – битов. Так, память, которая может хранить тысячу восьмиразрядных десятичных чисел, должна иметь емкость 1 000 × 8 × × 3,32 бита, поскольку одна десятичная цифра эквивалентна приблизительно log_2 10 ≈ 3,32 бита (основы этого метода подсчета ресурсов изложены в классических работах по теории информации К. Э. Шеннона и др.). Совершенно очевидно, что три десятичных цифры должны быть эквивалентны примерно 10 битам, так как 2^10 = 1024, что приблизительно равно 10^3 = 1000. (Следовательно, десятичная цифра соответствует примерно 10/3 ≈ 3,33 бита.) Таким образом, в примере выше мы получаем память емкостью 2,66 × 10^4 битов. Аналогичным образом можно вычислить информационную емкость, представленную буквой печатного алфавита. Каждая такая буква представляет собой одну из 88 альтернативных возможностей (2 × 26 × 35, где 2 – варианты написания заглавной и строчной буквы, 26 – число букв в алфавите, а 35 – обычное количество знаков препинания, цифровых символов и интервалов, которые, конечно, также важны в данном контексте). Следовательно, информационная емкость буквы оценивается примерно в log_2 88 ≈ 6,45 бита. Таким образом, память, которая может хранить, например, тысячу таких букв, имеет емкость в 6450 = 6,45 × 10^3 битов. Точно так же в стандартных единицах, т. е. в битах, может быть выражена емкость памяти, предназначенной для хранения более сложных видов информации, таких как геометрические фигуры (разумеется, с определенной степенью точности и разрешающей силой), цветовые оттенки (с той же оговоркой) и т. д. Суммарная емкость памяти, которая содержит комбинации всех этих видов информации, может быть подсчитана путем простого сложения отдельных показателей, вычисленных согласно изложенным выше принципам.

Оценка емкости памяти с учетом оговоренных условий

Емкость памяти в современной вычислительной машине обычно составляет порядка 10^5–10^6 битов. Можно предположить, что емкость памяти, необходимая для функционирования нервной системы, должна быть гораздо больше, так как нервная система, как мы установили выше, представляет собой автомат значительно бо́льшего размера, чем известные нам искусственные автоматы (например, вычислительные машины). Во сколько именно раз предполагаемая емкость памяти нервной системы должна превышать приведенный выше показатель 10^5–10^6, сказать трудно. Мы можем дать лишь приблизительную, ориентировочную оценку.

Так, стандартный рецептор, по-видимому, способен принимать около 14 различных цифровых выражений в секунду, что, вероятно, может быть приравнено к такому же количеству битов. Приняв общее количество нервных клеток за 10^10 и допустив, что каждая из них в подходящих условиях является по существу (внутренним или внешним) рецептором, получаем суммарный вход, равный 14 × 10^10 битов в секунду. Если предположить далее (а этому есть некоторые свидетельства), что в нервной системе ничего не забывается (хотя полученные однажды впечатления могут быть удалены из важной области нервной деятельности, т. е. из центра внимания, они никогда не стираются полностью), можно получить оценку для средней продолжительности жизни человека. Принимая ее, скажем, за 60 лет ≈ 2 × 10^9 секунд, получаем необходимую емкость памяти примерно в 14 × 10^10 × 2 × × 10^9 = 2,8 × 10^20 битов. Это больше, чем 10^5–10^6 битов, типичных для современной вычислительной машины, однако данное превосходство не кажется неоправданно большим по сравнению с соответствующим превосходством в количестве основных активных органов.

Различные предположения о физическом воплощении памяти

Остается вопрос о физическом воплощении этой памяти. Авторами выдвинуто множество разных предположений. В частности, было предложено считать, что пороги – или, более широко, критерии возбуждения – различных нервных клеток изменяются со временем в зависимости от предшествующей истории этих клеток. Так, частое использование нервной клетки может снизить ее порог, т. е. облегчить ее возбуждение и т. п. Если бы это было так, память заключалась бы в изменчивости критериев возбуждения. Такое, безусловно, возможно, но мы не будем останавливаться на этом здесь.

Более радикальный вариант той же идеи – предположение, что сами связи между нервными клетками, т. е. распределение проводящих аксонов, изменяются со временем. Это означает, что постоянное неиспользование аксона может сделать его непригодным для работы в дальнейшем. И наоборот, очень частое (чаще нормального) использование аксона может привести к понижению порога, т. е. облегчению возбуждения по данному конкретному пути. В этом случае, опять же, некоторые части нервной системы будут меняться во времени в зависимости от предшествующей истории и, следовательно, воплощать в себе память.

Другим типом памяти, который, безусловно, существует, является генетический материал организма. Хромосомы и составляющие их гены, несомненно, представляют элементы памяти, состояние которых в определенной степени определяет функционирование всей системы. Таким образом, возможна и генетическая память.

Есть и другие типы памяти, некоторые из которых достаточно правдоподобны. Так, конкретные особенности химического состава определенных участков организма могут быть способны к самосохранению и, следовательно, служить возможными элементами памяти. Поэтому, если допускать существование генетической памяти, также следует допустить существование и подобных типов памяти, поскольку устойчивые свойства, характерные для генов, могут, по-видимому, быть присущи и другим частям клетки.

Я не буду подробно рассматривать эти, а также многие другие, не менее (а иногда и более) правдоподобные возможности. Хочу только подчеркнуть, что помимо особых групп нервных клеток могут быть – и были – выдвинуты самые разнообразные предположения касательно физического воплощения памяти.

Аналогии с искусственными вычислительными машинами

Наконец, я хотел бы обратить внимание, что системы нервных клеток, которые возбуждают друг друга циклическим образом, также образуют блоки памяти. Эти блоки состоят из активных элементов (нервных клеток). В современных вычислительных машинах такие устройства часто используются и играют важную роль; фактически это были первые искусственные запоминающие устройства, созданные человеком. В машинах с электронными лампами данный тип памяти представлен триггерами – парами электронных ламп, которые отпирают и контролируют друг друга. Машина на транзисторах, а также практически любой другой вид быстродействующей электронной техники допускает и даже требует применения блоков триггерного типа; эти блоки могут использоваться в качестве элементов памяти так же, как и триггеры в первых вычислительных машинах с электронными лампами.

Различное строение памяти и основных активных органов

Однако кажется маловероятным, чтобы подобные устройства служили основными средствами хранения информации в нервной системе. Такие устройства, обычно обозначаемые как устройства из основных активных органов, крайне дороги (во всех смыслах этого слова). Они действительно использовались в первых современных вычислительных машинах. Так, в первой большой вычислительной машине на электронных лампах ENIAC основная (т. е. самая быстрая и непосредственно доступная) память обеспечивалась только триггерами. Однако ENIAC обладала очень большими размерами (22 000 электронных ламп) и очень маленькой (по современным меркам) основной памятью, рассчитанной всего на несколько десятков десятиразрядных десятичных чисел. Обратите внимание, что это составляет несколько сотен битов – явно меньше 10^3. В современных вычислительных машинах оптимальным соотношением размеров машины и емкости памяти (ср. выше) считается 10^5–10^6 битов на 10^4 основных активных органов. Такое соотношение достигается путем использования запоминающих устройств, технологически отличающихся от основных активных органов машины. Так, в машине, построенной на электронных лампах или транзисторах, память может быть реализована через электростатическую систему (электронно-лучевые трубки), особо организованные совокупности ферромагнитных сердечников и т. д. Я не буду давать здесь полную классификацию, поскольку другие важные типы памяти, например ферроэлектрический тип, акустические и магнитострикционные линии задержки (этот список, разумеется, можно продолжить), не так легко отнести к той или иной категории. Я только хочу подчеркнуть, что компоненты памяти могут кардинально отличаться от компонентов, из которых строятся основные активные органы.

Эти вопросы, по-видимому, очень важны для понимания структуры нервной системы, но большинство из них пока остаются без ответа. Мы знаем основные активные органы нервной системы (нервные клетки). Есть все основания полагать, что с этой системой связана память очень большой емкости. Но мы определенно не знаем, к какому типу физических объектов принадлежат основные компоненты этой памяти.

Цифровые и аналоговые части нервной системы

Отметив вышеописанные фундаментальные и пока не решенные вопросы, связанные с проблемой памяти, можно перейти к другим, не связанным с памятью свойствам нервной системы. Однако прежде позвольте мне сказать несколько слов об одной, менее важной особенности памяти. Речь идет о взаимосвязи между аналоговыми и цифровыми (или смешанными) частями нервной системы.

Я хочу сказать следующее: процессы, которые происходят в нервной системе, могут, как я уже отмечал ранее, неоднократно менять свой характер с цифрового на аналоговый и обратно на цифровой. Нервные импульсы, т. е. цифровая часть, могут управлять определенной стадией такого процесса, например сокращением некой мышцы или выделением некоего химического вещества. Данное явление относится к аналоговому типу, но может служить источником последовательности нервных импульсов, возникновение которых обусловлено его восприятием соответствующими внутренними рецепторами. Когда возникают такие нервные импульсы, мы снова возвращаемся к цифровому типу. Как уже упоминалось выше, такие переходы от цифрового процесса к аналоговому и обратно к цифровому могут происходить несколько раз. Таким образом, цифровая часть системы, связанная с нервными импульсами, и аналоговая часть, связанная с химическими изменениями или мышечными сокращениями, способны, чередуясь друг с другом, придавать любому процессу смешанный характер.

Роль генетического механизма

В данном контексте генетические явления играют особенно типичную роль. Сами гены, несомненно, являются элементами цифровой системы компонентов. Однако их функции состоят в стимулировании образования специфических химических веществ, а именно – определенных ферментов, характерных для данного гена. Следовательно, они относятся к аналоговой сфере. Таким образом, и здесь наблюдается чередование аналоговых и цифровых процессов, о котором я упоминал выше.

Коды и их роль в управлении машиной

Перейдем к вопросам, касающимся других аспектов нервной системы. В частности, я имею в виду некоторые принципы организации логических команд, которые играют важную роль в функционировании любого сложного автомата.

Прежде всего позвольте мне ввести термин, необходимый в данном контексте. Система логических инструкций, которую может выполнять автомат и которая заставляет автомат решать некую определенную задачу, называется кодом. Под логическими командами я понимаю нервные импульсы, появляющиеся на соответствующих аксонах, а также любые другие явления, которые заставляют цифровую логическую систему (такую, как нервная система) функционировать воспроизводимым, целенаправленным образом.

Понятие полного кода

Говоря о кодах, нельзя не отметить следующее различие. Код может быть полным, т. е. (применительно к нервной системе) содержать последовательность, в которой нервные импульсы появляются на определенных аксонах. Это, разумеется, будет полностью определять поведение нервной системы или (продолжая сравнение) соответствующего искусственного автомата. В вычислительных машинах такие полные коды представляют собой наборы команд, заданные со всеми необходимыми подробностями. Если машине предстоит решить некую задачу посредством вычисления, то она должна управляться такими полными кодами. В основе применения современных вычислительных машин лежит способность человека разрабатывать и формулировать полные коды для любой задачи, которую должна решить машина.

Понятие сокращенного кода

Помимо полных кодов существуют коды другого типа, которые лучше всего называть сокращенными кодами. Они основаны на следующей идее.

В 1937 году английский логик А. М. Тьюринг показал (и с тех пор специалисты в области вычислительной техники применяют это на практике самыми разными способами), что можно разработать такие системы кодовых инструкций для вычислительной машины, которые заставят ее вести себя так, как если бы это была некая другая вычислительная машина. Системы инструкций, которые заставляют одну машину имитировать поведение другой, известны как сокращенные коды. Позвольте мне более подробно остановиться на типичных вопросах применения и разработки таких коротких кодов.

Вычислительная машина управляется, как я уже отмечал выше, кодами, последовательностями символов (обычно двоичных символов), т. е. цепочками битов. В любом наборе инструкций, которые управляют работой конкретной вычислительной машины, должно быть ясно указано, какие цепочки битов представляют собой команды и что они должны заставить машину делать.

Для двух разных машин значимыми могут оказаться разные цепочки битов; в любом случае их воздействие на их работу может оказаться совершенно различным. Так, если ввести в машину набор команд, предназначенных для другой машины, то некоторые из них могут оказаться для нее бессмысленными, а именно – цепочки битов, которые не принадлежат к семейству значимых для данной машины команд или которые заставят ее производить действия, не являющиеся частью заранее заданного плана по решению поставленной задачи или, вообще говоря, не имеющие к нему никакого отношения.

Функция сокращенного кода

Код, который, согласно схеме Тьюринга, заставляет одну машину вести себя так, как если бы это была другая машина (т. е. заставляет первую машину имитировать вторую), должен содержать понятные для этой машины инструкции (детализированные части кода), чтобы она изучила каждую получаемую команду и определила, соответствует ли ее структура структуре команд второй машины. Следовательно, такой код должен содержать команды (представленные в значимой для первой машины форме), которые подвигнут первую машину производить действия, которые обычно выполняет вторая машина.

Важный результат, полученный Тьюрингом, заключается в том, что таким образом можно заставить первую машину имитировать поведение любой другой машины. Структура команд, которые она при этом будет выполнять, может в корне отличаться от структуры команд, которые она выполняет обычно. Так, структура команд второй машины может носить гораздо более сложный характер, чем структура команд, характерных для первой машины. Например, команда второй машины может включать несколько операций, сложные итеративные процессы, многократные действия любого рода и т. д. Говоря в целом, все, что первая машина может выполнить за любой промежуток времени и под управлением всех возможных систем команд любой степени сложности, теперь может выполняться так, как если бы речь шла только об элементарных действиях – базовых, неразложимых, примитивных командах.

Между прочим, своим названием сокращенные коды обязаны истории своего возникновения. Они были разработаны как вспомогательное средство, позволяющее создавать более короткие коды, чем допускает естественная система команд машины. Достигалось это следующим образом: определенная машина рассматривалась как другая, обладающая более удобной, более полной системой команд и требующая менее сложного, менее обстоятельного и менее подробного кодирования.

Логическая структура нервной системы

На данном этапе следует перейти к рассмотрению другого комплекса вопросов. Выше я уже указывал на логическую структуру нервной системы; вопросы, которые мы будем обсуждать ниже, не связаны ни с проблемами памяти, ни с полными и сокращенными кодами. Они касаются роли логики и арифметики в функционировании любого сложного автомата, в частности нервной системы.

Важность численных процедур

Любой искусственный автомат, сконструированный для его использования человеком, и в особенности для управления сложными процессами, обычно имеет чисто логическую часть и часть арифметическую, т. е. такую, в которой арифметические процессы не играют никакой роли, а также часть, в которой они имеют большое значение. Это связано с тем, что присущие нам способы мышления и выражения мыслей делают крайне трудным описание поистине сложных задач без помощи формул и цифр.

Представим, что некий автомат должен решать такие задачи, как, например, поддержание постоянной температуры, определенного давления или химического равновесия в организме человека. Если задачу для него будет формулировать человек, то она будет определена сквозь призму численных равенств или неравенств.

Взаимосвязь численных процедур и логики

С другой стороны, отдельные части этой задачи могут быть сформулированы не на основе количественных зависимостей, а в чисто логических терминах. Так, некоторые качественные принципы, касающиеся физиологических реакций (или отсутствия таковых), могут быть сформулированы без использования чисел: достаточно качественно определить, при каких сочетаниях обстоятельств должны иметь место определенные события, а при каких комбинациях они нежелательны.

Причины высоких требований к точности

Данные замечания показывают, что нервная система, рассматриваемая как автомат, обязательно должна иметь и арифметическую, и логическую части и что требования арифметики в ней столь же важны, как и требования логики. Это означает, что мы снова имеем дело с вычислительной машиной в полном смысле слова; следовательно, вполне уместно вести обсуждение в терминах, характерных для теории вычислительных машин.

В связи со сказанным сразу возникает вопрос: если рассматривать нервную систему как вычислительную машину, с какой точностью должна функционировать ее арифметическая часть?

Этот вопрос является ключевым по следующей причине: весь опыт использования вычислительных машин свидетельствует о том, что если мы хотим, чтобы вычислительная машина решала такие же сложные арифметические задачи, с какими определенно справляется нервная система, то уровень точности должен быть достаточно высок. Дело в том, что подобные задачи, вероятно, требуют длинных вычислений, а в ходе длинных вычислений ошибки не только накладываются друг на друга, но и усиливаются; как следствие, для таких вычислений требуется значительно более высокая точность, чем та, которой предположительно требует физическая природа самой задачи.

Таким образом, допустимо ожидать, что арифметическая часть нервной системы существует и работает с высокой точностью. Без всякого преувеличения можно сказать, что в искусственных вычислительных машинах данный уровень сложности потребует точности, равной 10–10 или 10–12.

К этому выводу стоило прийти именно в силу, а не вопреки его абсолютной неправдоподобности.

Не цифровая, а статическая природа применяемой системы обозначений

Как указывалось выше, мы знаем кое-что о том, как нервная система передает числовые данные. Обычно они передаются с помощью периодических или почти периодических последовательностей импульсов. При воздействии интенсивного раздражителя рецептор отвечает вскоре после окончания периода абсолютной рефрактерности. Более слабый раздражитель тоже заставит рецептор отвечать периодически или почти периодически, но с несколько меньшей частотой: теперь каждый последующий ответ возможен после окончания не только периода абсолютной, но и периода относительной рефрактерности. Следовательно, интенсивность количественных раздражителей выражается периодическими или почти периодическими последовательностями импульсов, причем частота этих последовательностей всегда является монотонной функцией интенсивности раздражителя. Это своего рода система передачи сигналов с помощью частотной модуляции; интенсивность переводится в частоту. Данное явление непосредственно наблюдалось в некоторых волокнах зрительного нерва, а также в нервах, передающих информацию о давлении.

Следует подчеркнуть, что частота не равна интенсивности раздражителя, а является монотонной функцией последней. Это позволяет использовать различные масштабные эффекты и выражать точность в соответствующих выбранному масштабу терминах, что весьма удобно.

Необходимо отметить, что рассматриваемые частоты обычно лежат в диапазоне от 50 до 200 импульсов в секунду.

Очевидно, что при таких условиях о точности порядка 10–10–10–12 не может быть и речи. Нервная система – вычислительная машина, которая справляется с чрезвычайно сложной работой при довольно низком уровне точности: согласно вышеизложенному, ее точность не способна превышать 10–2–10–3. Этот факт необходимо подчеркнуть особо, поскольку ни одна из существующих вычислительных машин не может надежно работать при столь низком уровне точности.

Следует отметить и еще одну особенность системы, описанной выше. Эта система характеризуется не только низким уровнем точности, но и весьма высоким уровнем надежности. В самом деле, отсутствие в цифровой системе представления одного-единственного импульса может привести к полному искажению смысла, т. е. бессмыслице. С другой стороны, если в схеме вышеописанного типа потеряется или, наоборот, добавится один или даже несколько импульсов, то соответствующая частота, т. е. смысл сообщения, подвергнется лишь незначительным искажениям.

Как следствие, возникает вопрос: какие существенные выводы об арифметической и логической структуре вычислительной машины, которую представляет собой нервная система, можно сделать на основании этих, по-видимому, несколько противоречивых наблюдений?

Снижение точности в ходе арифметических вычислений. Роль арифметической и логической глубины

Ответ ясен каждому, кто изучал снижение точности в ходе длительных вычислений. Как отмечалось ранее, это явление связано с аккумуляцией ошибок в результате суперпозиции и в еще большей степени с амплификацией ошибок, допущенных на предыдущих этапах вычислений, в ходе дальнейших расчетов; т. е. оно обусловлено наличием большого числа арифметических операций, которые должны выполняться последовательно, или, другими словами, большой арифметической глубиной схемы.

Тот факт, что множество операций должны выполняться последовательно, разумеется, характеризует не только арифметическую, но и в равной степени логическую структуру схемы. Поэтому правильно будет сказать, что снижение точности объясняется большой логической глубиной рассматриваемых здесь схем.

Арифметическая точность или логическая надежность

Следует также отметить, что описанная выше система сообщений, используемая в нервной системе, носит преимущественно статистический характер. Другими словами, важны не точные положения определенных маркеров, цифр, а статистические характеристики их появления, т. е. частоты периодических или почти периодических последовательностей импульсов и т. д.

Таким образом, в нервной системе, по-видимому, используется система представления, которая в корне отличается от систем представления, с которыми мы имеем дело в обычной арифметике и математике. Вместо точных систем маркеров, в которых на смысл сообщения сильнейшее влияние оказывает положение, а также наличие или отсутствие каждого маркера, мы имеем здесь систему представления, в которой смысл передается статистическими свойствами сообщения. Как мы уже видели, это приводит к снижению арифметической точности и одновременному повышению логической надежности. Иными словами, арифметика приносится в жертву логике.

Другие статистические свойства системы сообщений

В данном контексте возникает еще один вопрос. В описанной выше системе сообщение, т. е. информацию, несут частоты некоторых периодических или почти периодических последовательностей импульсов. Их, безусловно, можно отнести к статистическим свойствам сообщения. Существуют ли какие-либо другие статистические свойства, которые могли бы также способствовать передаче информации?

До сих пор единственным свойством сообщения, используемым для передачи информации, представлялась его частота, выражаемая в единицах импульсов в секунду. При этом мы исходили из того, что сообщение представляет собой периодическую или почти периодическую последовательность импульсов.

Несомненно, можно использовать и другие свойства (статистического) сообщения. В самом деле, упомянутая частота является свойством отдельной последовательности импульсов, тогда как нерв состоит из большого числа волокон, каждое из которых передает многочисленные последовательности импульсов. Поэтому вполне вероятно, что определенные (статистические) взаимосвязи между такими последовательностями импульсов также могут передавать информацию. В данной связи естественно думать о различных коэффициентах корреляции и т. п.

Язык мозга и язык математики

Дальнейшее изучение этого предмета неизбежно приводит нас к вопросам языка. Как указывалось выше, нервная система основана на передаче двух типов сообщений: не связанных с арифметическими формализмами и связанных с ними, т. е. на передаче команд (логические) и передаче чисел (арифметические). Первый тип можно назвать языком, второй – математикой.

Необходимо отметить, что язык в значительной степени является результатом исторической случайности. Основные человеческие языки передаются нам в различных формах, однако сама их множественность доказывает, что в них нет ничего абсолютного и необходимого. Поскольку такие языки, как греческий или санскрит, представляют собой исторический факт, а не абсолютную логическую необходимость, разумно предположить, что логика и математика также являются историческими, случайными формами выражения. Вероятно, они могут варьировать, т. е. существовать в других формах, помимо тех, к которым мы привыкли. В самом деле, природа центральной нервной системы и передаваемых ей систем сообщений определенно свидетельствует о том, что данное предположение верно. В настоящее время у нас имеется достаточно свидетельств в пользу того, что, каким бы ни был язык, используемый центральной нервной системой, он характеризуется меньшей логической и арифметической глубиной, чем та, к которой мы привыкли. Наглядным примером этого является значительное преобразование воспринимаемого зрительного образа в сетчатке человеческого глаза, а именно в месте вхождения зрительного нерва. Данное преобразование осуществляется с помощью всего лишь трех последовательных синапсов, т. е. в три последовательных логических шага. Статистический характер системы сообщений, используемой в арифметике центральной нервной системы, и ее низкая точность также указывают на то, что описанное выше снижение точности не может быть весьма существенным. Следовательно, мы имеем здесь различные логические структуры, отличные от тех, с которыми мы, как правило, сталкиваемся в логике и математике. Они, как указывалось ранее, характеризуются меньшей логической и арифметической глубиной, чем та, которую мы обычно встречаем при схожих обстоятельствах. Таким образом, логика и математика в центральной нервной системе, если рассматривать их как языки, должны структурно отличаться от тех языков, к которым мы привыкли.

Также следует отметить, что язык нервной системы вполне может соответствовать скорее сокращенному коду в указанном выше смысле, нежели полному коду. Возможно, когда мы говорим о математике, мы говорим о вторичном языке, построенном на первичном языке, который используется в центральной нервной системе. Таким образом, внешняя форма нашей математики не является абсолютно релевантной с точки зрения оценки того, что представляет собой математический или логический язык, в действительности используемый центральной нервной системой. Однако вышеприведенные замечания о надежности, а также логической и арифметической глубине доказывают, что какова бы ни была эта система, она не может не отличаться от того, что мы сознательно и непосредственно рассматриваем как математику.

Примечания

1

EDVAC (Electronic Discrete Variable Automatic Computer) – одна из первых электронных вычислительных машин на двоичной основе. – Здесь и далее примеч. ред.

2

ENIAC (русск. ЭНИАК) – электронный числовой интегратор и вычислитель, сокр. от Electronic Numerical Integrator and Computer, первый электронный цифровой вычислитель общего назначения, который можно было перепрограммировать для решения широкого спектра задач.

3

EDVAC (русск. ЭДВАК) – сокр. от Electronic Discrete Variable Automatic Computer, одна из первых электронных вычислительных машин. В отличие от своего предшественника ЭНИАКа, это был компьютер на двоичной, а не десятичной основе.

4

BINAC (русск. БИНАК) – сокр. от англ. Binary Automatic Computer, двоичный автоматический компьютер, электронный компьютер первого поколения, построенный в США компанией Eckert-Mauchly Computer Corporation и запущенный в апреле или августе 1949 года. Формально считается первым коммерческим электронным компьютером.

5

Palm – семейство карманных компьютеров и коммуникаторов (смартфонов), работающих под управлением операционной системы Palm OS, а также webOS. Производились компанией Palm Computing (подразделение U. S. Robotics, затем 3Com и после этого – Palm, Inc.), а также другими фирмами. В 2010 году, после покупки Palm компанией Hewlett Packard, смартфоны выпускались уже под маркой этого производителя.

6

Здесь под системой маркеров автор понимает некоторый набор состояний, отвечающих заданному числу. Например, в двоичной системе счисления такими маркерами являются биты. (Прим. перев.)

Content

Джон фон Нейман
Вычислительная машина и мозг

Силлимановские лекции

Предисловие к третьему изданию

Предисловие ко второму изданию

Вступительное слово

Часть I Вычислительная машина

Введение

Аналоговый метод

Стандартные основные операции

Нестандартные основные операции

Цифровой метод

Маркеры, их комбинации и представление

Типы цифровых вычислительных машин и их основные компоненты

Параллельные и последовательные схемы

Обычные основные операции

Логическое управление

Коммутационное управление

Логическое управление с помощью перфоленты

Принцип только одного органа для каждой основной операции

Потребность в специальном органе памяти

Управление с помощью управляющих точек

Управление при помощи команд, хранимых в памяти

Принцип работы командного управления

Смешанные формы управления

Комбинированный метод

Смешанное представление чисел. Машины, построенные на этой основе

Точность

Причины высоких (цифровых) требований к скорости

Характеристики современных аналоговых машин

Характеристики современных цифровых машин

Активные компоненты; вопросы скорости

Количество требуемых активных компонентов

Органы памяти. Время доступа и емкость памяти

Регистры памяти, построенные из активных органов

Иерархический принцип организации органов памяти

Компоненты памяти; вопросы доступа

Сложности понятия времени доступа

Принцип прямой адресации

Часть II Мозг

Упрощенное описание функции нейрона

Природа нервного импульса

Процесс порождения нервного импульса

Механизм порождения нервного импульса другими импульсами; его цифровая природа

Временны́е характеристики реакции, утомления и восстановления нервной клетки

Размер нейрона. Сравнение с искусственными компонентами

Рассеяние энергии. Сравнение с искусственными компонентами

Итоги сравнения

Критерии возникновения нервного импульса

Самые простые – элементарно-логические

Более сложные критерии

Порог возбуждения

Время суммации

Критерии возбуждения рецепторов

Проблема памяти в нервной системе

Принципы оценки емкости памяти в нервной системе

Оценка емкости памяти с учетом оговоренных условий

Различные предположения о физическом воплощении памяти

Аналогии с искусственными вычислительными машинами

Различное строение памяти и основных активных органов

Цифровые и аналоговые части нервной системы

Роль генетического механизма

Коды и их роль в управлении машиной

Понятие полного кода

Понятие сокращенного кода

Функция сокращенного кода

Логическая структура нервной системы

Важность численных процедур

Взаимосвязь численных процедур и логики

Причины высоких требований к точности

Не цифровая, а статическая природа применяемой системы обозначений

Снижение точности в ходе арифметических вычислений. Роль арифметической и логической глубины

Арифметическая точность или логическая надежность

Другие статистические свойства системы сообщений

Язык мозга и язык математики

Примечания