Выбрать главу

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

Компьютер, как и пианино, может выполнять бесчисленные последовательности простых базовых шагов. Таким образом, он способен осуществлять бесконечное количество сложных и значимых процессов — своего рода музыки — и при этом использует всего 2 бита, а не 88 клавиш. Именно слово «бесконечное» отражает Гибкость — качество, столь важное для компьютеров, что я буду писать его с заглавной буквы. Человеческий разум переполнен множеством процессов, которые способен реализовать компьютер. Всегда есть возможность создать еще одну значимую последовательность из бессмысленных простых шагов для чего-то нужного: приложения, игры, фильма… И все это делает один инструмент — компьютер.

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

Усиление

Еще один, совсем иной вид превосходства машин над человеком — это Усиление. Очевидно, что компьютер способен повторить действие — любую последовательность примитивных шагов. Тут все просто. Важно, что он может повторить это невероятное количество раз со скоростью, которую мы не в состоянии осознать. О бесконечности речь не идет. Мы можем посчитать количество повторений — или, по крайней мере, наши компьютеры справятся с такой задачей. Но осознать столь большие числа нашим человеческим разумом не получится. Нас захлестнет масштабность компьютерных процессов. Одиннадцатьдесят одиннадцать дизиллионов — смешное выдуманное число, словно Скрудж Макдак встретился с Бильбо Бэггинсом, — но оно показывает, насколько бессмысленны для нас числа, описывающие процессы в компьютерах, даже если они реальны. Мы не сумеем их представить. Как говорит Валентайн в эпиграфе к этой главе, «нужно быть чокнутым», чтобы иметь дело с ними. И даже этого, вероятно, не хватило бы[13].

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

В электротехнике усилить означает увеличить во много раз, а точнее, экспоненциально — не просто удвоить или утроить, а например, возвести в квадрат или в куб. Если входной сигнал был, скажем, 10 вольт, то усиленный выходной сигнал будет не 20 или 30 вольт, а 100 или 1000 вольт. Усиление — это сверхспособность технологии. Первые компьютеры появились именно потому, что они могли превзойти человека, усилить человеческие возможности.

Самый первый компьютер увеличил человеческие возможности в 10 000 раз. К 1965 году этот показатель вырос по меньшей мере до 1 000 000 — благодаря созданию все более крупных машин и переходу с вакуумных ламп на транзисторы. Назовем это ускорением Эпохи 1.

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

вернуться

13

Одиннадцатьдесят (110) — придуманное писателем Джоном Толкином составное числительное, созданное по аналогии с числами, кратными десяти. Дизиллион — вымышленное числительное из мультсериала «Утиные истории», которое используется в одной из серий, чтобы подчеркнуть размер баснословного состояния богатого селезня Скруджа Макдака. — Прим. пер.