Предисловие к третьему изданию
Информационные технологии кардинально изменили жизнь человека, затронув каждую ее сторону – от бизнеса до политики и искусства. Сегодня, в силу стремительного роста мощности компьютеров, с одной стороны, и одновременного улучшения соотношения «производительность – цена» – с другой, информационная эра неумолимо продолжает расширять сферу своего влияния. Учитывая данное обстоятельство, можно утверждать, что важнейшим информационным процессом, требующим всестороннего изучения, является сам человеческий интеллект. Вероятно, эта книга представляет собой первое серьезное исследование взаимосвязи между мышлением человека и машиной – исследование с точки зрения математика, сформулировавшего фундаментальную архитектуру компьютерной эры.
В рамках грандиозного проекта по изучению механизмов работы мозга достигнуты значительные успехи: мы достаточно далеко продвинулись в обратном проектировании парадигм человеческого мышления и сегодня применяем их для создания более умных машин. Разумно ожидать, что искусственный интеллект (ИИ), построенный на базе данных принципов, в итоге воспарит над человеческим разумом. Однако, я полагаю, цель этого дерзкого предприятия состоит не в том, чтобы потеснить нас, а в том, чтобы расширить границы того, что уже сейчас можно смело назвать человеко-машинной цивилизацией. Именно это делает человеческий род поистине уникальным.
Итак, каковы же ключевые идеи, лежащие в основе информационной эры? По моему мнению, их пять. Джон фон Нейман выдвинул три из них, а также внес весомый вклад в четвертую. Клод Шеннон решил фундаментальную проблему надежности информации. Алан Тьюринг сформулировал идею универсальности машинных вычислений. Опираясь на Тьюринга и Шеннона, фон Нейман создал машину фон Неймана, которая была и остается фундаментальной архитектурой всех вычислительных машин, существующих на сегодняшний день.
В обманчиво скромном томике, который вы держите в руках, фон Нейман описывает предложенную им модель машинных вычислений и постулирует принципиальную эквивалентность живого мозга и искусственной машины. Он признает глубокие структурные различия, однако затем обращается к принципу эквивалентности всех вычислений, предложенному Тьюрингом, и предлагает рассматривать методы работы мозга как совокупность вычислений. Книга в высшей степени провидческая, особенно если учесть, что она была написана более полувека назад, когда нейронаука располагала лишь самыми примитивными инструментами. Фон Нейман предчувствовал быстрое развитие технологий и видел его неизбежные последствия в грядущей сингулярной трансформации человеческого существования.
Рассмотрим эти пять основных идей более подробно.
В 1940 году, услышав слово «computer», люди понимали, что речь идет об аналоговой вычислительной машине. В аналоговых машинах числа выражались разными уровнями напряжения, а специализированные компоненты могли выполнять такие арифметические функции, как сложение и умножение. Главный недостаток подобных машин заключался в весьма низкой степени точности. Числа могли быть представлены с точностью до одной сотой, а так как уровни напряжения, представляющие эти числа, обрабатывались большим количеством арифметических операторов, ошибки имели тенденцию накапливаться. При выполнении достаточно длинных вычислений результаты оказывались в высшей степени неточными, а то и вообще бессмысленными.
Это явление знакомо всякому, кто хоть раз записывал музыку на магнитную ленту. Первая копия была немного шумнее оригинала (шум представляет собой случайные неточности). На второй копии (т. е. копии копии) шумов было еще больше, а десятая содержала один только шум.
Это наводит на мысль, что с той же проблемой столкнется и мир цифровых вычислительных машин. Рассмотрим передачу цифровой информации по некоему каналу. Поскольку идеальных каналов не существует, любому из них изначально будет присущ определенный уровень ошибок. Допустим, мы выбрали канал с вероятностью правильной передачи каждого бита 0,9. Если я отправлю сообщение длиной в один бит, вероятность точной передачи его через этот канал будет равна 0,9. Допустим, я отправил 2 бита. Теперь точность составит 0,9>2 = 0,81. А если я отправлю 1 байт (8 битов)? В таком случае вероятность, что я получу его правильно, окажется менее 0,5 (0,43, если быть точным). Вероятность точной отправки пяти байтов составит около 1 процента.
На первый взгляд наилучший способ обойти эту проблему – сделать канал более точным. Предположим, канал совершает всего одну ошибку на миллион битов. Если я отправлю файл размером в полмиллиона байт (примерно столько «весит» скромная программка или база данных), вероятность правильной его передачи составит менее 2 процентов, хотя изначально точность канала была весьма высока. Учитывая, что ошибка в один бит может испортить всю компьютерную программу, это не лучший выход. Вне зависимости от исходной точности канала вероятность ошибки стремительно возрастает с увеличением размера сообщения. Выходит, эта проблема неразрешима?
Аналоговые вычислительные машины тоже аккумулируют неточности, но если ограничиться небольшим набором вычислений, они оказываются весьма полезными. Цифровые машины, с другой стороны, требуют наличия постоянной связи не только между двумя разными машинами, но и между собственными составными частями. Так, память связана с центральным процессором, внутри которого происходит постоянный обмен данными между регистрами, а также между регистрами и арифметическим устройством. Внутри арифметического устройства информация передается от одного битового регистра к другому. Если считать, что частота ошибок стремительно возрастает с увеличением количества таких связей и что ошибка в один бит может нарушить весь процесс, то необходимо признать: цифровые машины обречены.