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