Линн Фостер - Нанотехнологии. Наука, инновации и возможности
Конечно, вы можете отметить, что предложенный процесс не является полностью обратимым, так как при нем на входе имеется два «кусочка» информации (то есть, например, два атома), а на выходе – три. Создается впечатление, что откуда-то появился третий атом, который необходимо как-то учесть. ( Фейнман дорисовывает еще одну линию на входе, обозначая ее через С.) А теперь давайте подумаем, что собственно это означает с точки зрения физики.
Если сигналы в каналах А и В различаются, то общая картина прохождения сигналов по цепочке А, В, С вообще не изменяется. Если же оба сигнала соответствуют 1, то они проходят А и В, но в С (независимо от вида) сигнал меняется на обратный и переходит в NOT C, так что я могу назвать это устройство вентилем типа «контроль, контроль, NOT».
Полученная схема является полностью обратимой (как в электротехническом, так и в общем смысле), так что даже если поменять входы и выходы местами, то вся схема (или состояния изображающего ее атома!) будут выглядеть и вести себя обратимо. При этом, как показал Тоффоли, такая схема вполне способна осуществлять логические операции.
Каким образом нам следует теперь определить некую вычислительную операцию? Мы можем утверждать, что изобретен метод, позволяющий вводить между каждой тройкой атомов (из полного набора, содержащего N атомов) некое взаимодействие. Это взаимодействие дает нам возможность изменять состояние атомов (то есть сочетание чисел 0 и 1) и переводить их в другое состояние (с другим сочетанием чисел 0 и 1). С математической точки зрения, это эквивалентно использованию некоторого типа матриц. Обозначим такую матрицу буквой M и попробуем определить ее общие свойства. Матрица M обладает свойством переводить любую комбинацию восьми цифр (соответствующую определенному набору состояний трех атомов) в другую комбинацию (соответствующую другому набору состояний). Кроме того, квадрат этой матрицы равен единице, то есть она относится к классу так называемых унитарных матриц. Теперь мы можем определить вычисление в рассматриваемых системах более точно, так как любую вычислительную операцию можно записать в виде цепочки матриц типа M. Каждая цепочка вычислений может содержать миллионы таких матриц, но действия каждой из них в данный момент будут относиться лишь к заданной тройке атомов.
Я должен подчеркнуть, что в приведенном выше примере со схемой совпадения AND и связанных с ней рассуждениях неявно подразумевалось, что после каждой операции выходные каналы (или, вообще говоря, атомы) должны как-то обновляться, то есть заменяться новыми. В случае с матрицами все выглядит гораздо проще, так как после воздействия матрицы в том же регистре остаются все те же атомы, но теперь их состояние соответствует результату вычислительного процесса! Имея систему из N атомов, я могу производить с ней вычисления, то есть множество раз менять и перетасовывать их состояния (но только по три в каждой операции!), получая в конце результат в виде изменения состояний системы этих N атомов.
20.11. Электрон как вычислительная машина
Матрицу взаимодействия между атомами можно выписать без особых сложностей. Другими словами, вы действительно можете придумать некий сложный вид физического взаимодействия между атомами, приводящий к выполнению какой-то вычислительной операции. Сложность состоит скорее в том, каким образом можно выразить ответ в приемлемой форме, то есть перевести последовательность преобразования состояний троек атомов в некий разумный ряд чисел. У меня есть очень простая идея на этот счет, и я сейчас ее изложу. ( Фейнман рисует на доске цепочку, ряд маленьких кружков, а затем, в ходе рассказа, часто указывает на некоторые из них.)
Поговорим о возможностях использования электронов. Представьте, что нарисованная мною связная последовательность кружков означает набор узлов или мест возможного расположения электронов, например, просто цепочку атомов. Если в одном из этих узлов находится электрон, то по законам классической механики он имеет возможность перескочить в какой-либо другой узел. В квантовой механике ситуация иная. Вы можете говорить лишь об определенном значении амплитуды волновой функции и т. п. Эти рассуждения заставляют вас обратиться к решениям в виде комплексных чисел и других весьма занятных приемов квантовой механики, но суть дела от этого не меняется, так как все расчеты относятся к тому же процессу возможного движения электрона вдоль цепочки. В квантовой механике вы просто пользуетесь другими терминами и говорите о «расплывании» функции Шрёдингера, при котором заданные значения амплитуды в определенной точке могут меняться во времени. Это означает, что электрон может смещаться вдоль цепочки, перескакивая из точки в точки, возвращаясь, доходя до ее концов и т. д. В принципе, вы можете вычислить вероятности, соответствующие любым маршрутам движения.
Я думаю, всем понятно, что цепочка атомов изображает проводник, и реальный электрический ток соответствует именно таким «прыжкам» электронов вдоль узлов. Именно это позволяет мне предложить следующую схему вычислительного процесса, в которой описанная выше атомарная схема вычислений легко переносится на электроны. Действительно, ничто не мешает нам на практике ввести энергетический барьер (соответствующий нулевому значению амплитуды вероятности), не позволяющий электрону просто переходить из одного узла в соседний, а требующий для перехода некоторого заданного механизма взаимодействия с атомами (например, с тройкой атомов, означающей некоторый разряд записи). Таким образом, мы можем связать процесс движения электрона вдоль цепочки атомов с их состоянием, которое, как я говорил выше, может быть просто увязано с осуществлением вычислительного процесса. ( Отвечая на вопрос одного из слушателей, Фейнман выписывает на доске типичный член гамильтониана, используя матрицу атомного преобразования Mмежду операторами возникновения и исчезновения электронов в соседних узлах решетки.)
Таким образом, моя идея сводится к тому, чтобы электрон мог осуществлять перескок из одного узла в другой только тогда, когда это будет разрешено состоянием атомной цепочки, определяемой произведением матриц M. Иными словами, если электрон проходит от одного конца цепочки до другого, то мы можем быть уверены, что в атомарной системе произошли все изменения, определяемые матрицами M1, M2, M3, M4, M5 и т. д.
Разумеется, вы возразите, что все сказанное неверно, так как электроны ведут себя совсем по-другому! В каждый момент для них существует вероятность двигаться в определенном направлении, возвращаться на прежнее место и т. д. Например, переход из одного узла в другой означает операцию M2, а возращение – повторение операции M2. Вам кажется, что это нарушает логику рассуждений? Совсем не так! Напомню, что операция M2 является обратимой, поэтому, осуществляя ее дважды, вы фактически просто возвращаетесь в предыдущее состояние. Я бы сравнил последовательные действия операторов с движением обычной молнии-застежки, которую можно двигать взад-вперед, и если вам кажется, что она сработала неверно, вы можете просто вернуть застежку в какое-то положение, а затем застегнуть ее правильно. В любом случае исправная молния-застежка должна точно соединять два заданных конца цепочки, а если она не доведена до конца, то это ничего не означает, так как всегда можно завершить операцию.
Таким образом, если электрон дошел до конца цепочки атомов, можно быть уверенным, что все перестановки атомов (вычислительные действия, следуя логике рассуждений) завершены правильно. Вы просто должны дождаться конца вычислительных процедур, выписать полученный результат и забыть о всех технических подробностях. Это легко сделать в описываемых системах, приложив незначительные электрические напряжения на концах цепочки.
Идея является не только вполне здравой, но и позволяет по-новому взглянуть на проблему ограниченности вычислительных способностей компьютеров. Конечно, описанный выше компьютер трудно создать на практике, но зато нам удалось определить практически все принципы его действия. Мы даже можем вполне серьезно проанализировать его некоторые параметры и особенности работы, включая скорость, количество требуемых элементов и особенно проблему тепловыделения, о чем пойдет речь дальше.
20.12. Тепловыделение в квантовых компьютерах
Все знают, что работающий компьютер выделяет много энергии, о чем постоянно беспокоятся проектировщики и пользователи. Уменьшение размеров вычислительных устройств лишь усугубляет проблемы, так как выделение тепла происходит в более малых и замкнутых объемах пространства, охлаждение которых представляет собой сложную техническую задачу. Можно просто сказать, что все современные ЭВМ плохо спроектированы. Беннет показал (как я уже упоминал выше), что вычислительный процесс может быть сделан полностью обратимым, то есть при использовании обратимых вентилей и схем совпадения мы могли бы снизить тепловые потери до ничтожного уровня. Строго говоря, это потребовало бы очень медленной работы и даже снижения скорости движения электронов по используемым схемам. Стоит отметить, что создание идеальных обратимых логических схем несколько напоминает ситуацию с обратимым циклом Карно, идеальным (но исключительно медленным) термодинамическим циклом со 100 %-ным коэффициентом полезного действия! Конечно, идею замедления скорости работы ЭВМ не стоит даже рассматривать всерьез, но можно придумать правильно сконструированную вычислительную машину, в которой движение электронов не связано с потерей энергии, за исключением столкновений с дефектами кристаллической решетки, о чем я сейчас расскажу.