Здесь я знаю только выход и не могу восстановить вход. Нельзя ждать, что устройство двинется рывком вперед, а затем вернется назад и вычислит что-нибудь правильно. Например, если мы знаем, что выход сейчас равен 1, мы не можем восстановить, произошло ли это от А = 0, В = 1, или А= 1, В = 0, или от А = 0, В = 0 — причем нельзя вернуться назад. Такое устройство представляет необратимую схему. Грандиозное открытие Беннета и независимо Фредкина состоит в том, что можно выполнять вычисления с различного рода фундаментальными схемами, например с обратимыми схемами. Проиллюстрирую их идею с помощью устройства, которое можно назвать обратимой схемой NAND. Оно имеет три входа и три выхода (Рис. 7). На выходе два значения А' и В' те же, что и на входе, а третий работает следующим образом. С' имеет то же значение, что и С, если только оба А и В не равны 1, в противном случае оно меняется, каким бы ни было С. Например, если С равно 1, С меняется на 0; если же С равно 0, то С меняется на 1 — но эти изменения происходят, если только оба входа А и В равны 1. Если вы поставите две эти схемы последовательно, вы увидите, что А и В проходят через схему, и если С не меняется, то С' равно С. Если же С меняется, оно меняется дважды, так что оно тоже остается постоянным. Следовательно, эта схема является обратимой, и информация не теряется.
Устройство, построенное целиком на таких схемах, выполняет вычисления при движении вперед. Но если в какой-то период времени происходит движение и вперед, и назад, в итоге оно продвигается вперед и все-таки работает правильно. Если в дальнейшем происходят рывки назад, а затем вперед, работа тем не менее остается скорректированной. Это похоже на то, как частица газа бомбардируется окружающими атомами. Такая частица обычно никуда не уходит, но при малейшем толчке, малейшей флуктуации возникает немного более вероятное движение по одному пути, а не по другому, и частица с медленным дрейфом смещается вперед и проходит от одного до другого конца, несмотря на существование броуновского движения. Так и наш компьютер будет вычислять при условии, что мы приложим дрейфовую силу, чтобы организовать вычисления. Хотя он и не выполняет вычисления плавно, он, во всяком случае, вычисляет и вперед, и назад и в конечном счете закончит работу. Как с частицей в газе, если мы ее слегка подтолкнем, она потеряет очень мало энергии, но зато ее путь от одного конца до другого займет достаточное время. Если мы спешим и подтолкнем частицу сильно — потеряем массу энергии. То же будет с компьютером. Если мы терпеливы и двигаемся медленно, мы можем заставить компьютер работать почти без потери энергии, с потерей, даже меньшей, чем кТ на один шаг — со сколь угодно малыми желаемыми потерями, — если располагаем достаточным временем. Но если вы спешите, вам приходится «транжирить» энергию, ясно, что энергия теряется на полное завершение вычислений компьютера в прямом порядке; потери энергии, умноженные на время, затраченное на выполнение вычислений, — величина постоянная.
Имея в виду эти возможности, давайте посмотрим, насколько малым можно сделать компьютер. Насколько велики будут размеры? Нам всем известно, что можно записать числа в двоичном базисе, как цепочки «битов», каждая цифра — единица или ноль. Каждый атом тоже можно занумеровать нулем или единицей, поэтому маленькой цепочки атомов будет достаточно для создания некоторого числа — один атом на каждый бит. (В действительности, так как атом может находиться более чем в двух состояниях, можно было бы использовать даже меньше атомов, но один на бит — вполне достаточно!) Итак, ради интеллектуального развлечения рассмотрим, можно ли построить компьютер, в котором записываются биты атомного размера, а бит, например, означает следующее: если спин атома направлен вверх, то это соответствует единице, а вниз — нулю. И тогда наш «транзистор», в котором в различных местах меняются биты, будет соответствовать некоторому взаимодействию между атомами, которые меняют свои состояния. Простейший пример — если что-то вроде 3-атомного взаимодействия будет фундаментальным элементом или схемой в таком компьютере. Очевидно, прибор не будет работать правильно, если мы сконструируем его в соответствии с законами, свойственными большим объектам. Мы должны использовать новые законы физики, квантово-механические законы, законы, присущие атомному движению (Рис. 8).
Поэтому нам следует задать вопрос, позволяют ли принципы квантовой механики расположить атомы в таком малом количестве, которое соответствует нескольким схемам в компьютере и которые будут работать в качестве компьютера? В принципе эти вопросы изучались, и такое расположение было найдено. Так как законы квантовой механики обратимы, нам нужно воспользоваться изобретением Беннета и Фредкина об обратимых логических схемах. При изучении квантово-механической ситуации было обнаружено, что квантовая механика не накладывает дополнительных ограничений на те условия, которые мистер Беннет получил из термодинамических соображений. Безусловно, существует ограничение, практическое ограничение — биты должны соответствовать размеру атома, а транзистор — 3–4 атомам. Используемая мной квантово-механическая схема содержит 3 атома. (Я не пытался записать биты на ядрах. Прежде чем говорить о чем-то другом, я подожду, пока технологические разработки доберутся до атомов!) Мы накладываем следующие ограничивающие условия: (а) ограничения размеров размерами атома; (b) условия на энергию, зависящие от времени, как получено Беннетом; и (с) особенности, которые я не упоминал, связанные со скоростью света, — нельзя посылать сигналы со скоростью, превышающей скорость света. Вот, собственно, и все физические ограничения на компьютеры, о которых мне известно.
Если мы каким-либо образом ухитримся построить компьютер атомного размера, это будет означать (Рис. 9), что его размер, линейный размер, в тысячу — десять тысяч раз меньше самого тонкого чипа, которым мы сейчас располагаем! Это соответствует тому, что объем компьютера составит одну стомиллиардную (10-11) от объема нынешних компьютеров, поскольку объем «транзистора» будет меньше в 10-11 раз транзисторов сегодняшнего дня. Энергия, необходимая для одного включения, тоже будет приблизительно на одиннадцать порядков меньше энергии, требуемой для включения транзистора сегодня, а время, затрачиваемое на переходы, будет по крайней мере в десять тысяч раз меньше на каждый шаг вычислений. Таким образом, существует масса возможностей для усовершенствования компьютера, и я полагаюсь здесь на вас, практикующих специалистов, работа которых непосредственно связана с компьютерами.
Я, видимо, недооценил, насколько много времени занял у мистера Езава перевод моего доклада. На сегодняшний день я рассказал все, что заранее подготовил. Большое спасибо! Если у вас есть вопросы, я готов ответить на них.
Вопрос: Вы упомянули, что один бит информации можно сохранить в атоме. Интересно, можно ли сохранить тот же объем информации в одном кварке?
Ответ: Да. Но мы не можем контролировать кварки, и потому иметь с ними дело совершенно нереально. Вы могли бы подумать, что я рассказывал о вещах, не имеющих практического значения, но я так не думаю. Когда я говорю об атомах, я верю, что когда-нибудь мы будем способны контролировать их индивидуально. Но во взаимодействие кварков вовлечена слишком большая энергия — ими очень опасно манипулировать из-за радиоактивности и прочих вещей. А атомные энергии, о которых я говорил, вполне привычны для нас с точки зрения и химических, и электрических энергий, и их неисчислимое множество в реальной сфере; полагаю, что абсурдным это кажется только в данный момент.
Вопрос: Вы сказали, что чем меньше элементы компьютера, тем лучше. Но я думаю, оборудование должно быть крупнее, потому что…
Ответ: Вы полагаете, что ваш палец слишком велик, чтобы нажать на кнопку?
Вопрос: Да, именно так.
Ответ: Конечно, вы правы. Я говорю о внутренних компьютерах, возможно, для роботов или других приборов. Вход и выход — это то, что я не обсуждал: является ли вход результатом взгляда на картинки, голосовым восприятием или нажатием на кнопки. Я обсуждаю, как вычисления выполняются в принципе, а не какую следует иметь форму выхода. В самом деле верно, что вход и выход нельзя в большинстве случаев эффективно уменьшать до размеров, лежащих за пределами человеческого восприятия. Уже сейчас слишком трудно нажимать на кнопки некоторых компьютеров нашими слишком большими пальцами. Но с детально разработанными проблемами счета, отнимающего часы и часы, счет надо выполнять быстро и на очень маленьких машинах, с низкоэнергетическими затратами. Как раз над машинами такого рода я и размышляю. Это не просто применение дополнительных двух чисел, а принципиальная тщательная разработка вычислений.