Фундаментальные физические пределы вычислений

Чарльз Х. Беннетт, Рольф Ландауэр


Какие ограничения управляют физическим процессом вычислений? Требуется ли минимальное количество энергии, например, на логический шаг? Минимума вроде нет, но некоторые другие вопросы открыты


Вычисления, независимо от того, выполняются ли они электронными машинами, на счетах или в биологической системе, такой как мозг, — это физический процесс. Это связано с теми же вопросами, которые относятся к другим физическим процессам: сколько энергии должно быть затрачено для выполнения конкретного вычисления? Сколько времени это должно занять? Насколько большим должно быть вычислительное устройство? Другими словами, каковы физические ограничения процесса вычислений?

До сих пор было легче задать эти вопросы, чем ответить на них. В той мере, в какой мы нашли пределы, они ужасно далеки от реальных пределов современной технологии. Поэтому мы не можем претендовать на то, чтобы руководить технологом или инженером. То, что мы делаем, действительно более фундаментально. Мы ищем общие законы, которые должны регулировать всю обработку информации, независимо от того, как она осуществляется. Любые ограничения, которые мы находим, должны основываться исключительно на фундаментальных физических принципах, а не на технологии, которую мы используем в настоящее время.

Есть прецеденты такого рода фундаментальной экспертизы. В 1940-х годах Клод Э. Шеннон из Bell Telephone Laboratories обнаружил, что существуют ограничения на количество информации, которая может передаваться по зашумленному каналу; эти ограничения применяются независимо от того, как сообщение кодируется в сигнал. Работа Шеннона представляет собой рождение современной информатики. Ранее, в середине и конце 19 века, физики, пытавшиеся определить фундаментальные пределы эффективности паровых машин, создали науку термодинамику. Примерно в 1960 году один из нас (Ландауэр) и Джон Суонсон из IBM начали попытки применить тот же тип анализа к процессу вычислений. С середины 1970-х годов все большее число других работников других учреждений стали работать в этой области.

В нашем анализе физических пределов вычислений мы используем термин «информация» в техническом смысле теории информации. В этом смысле информация уничтожается всякий раз, когда две ранее различные ситуации становятся неразличимыми. В физических системах без трения информация никогда не может быть уничтожена; всякий раз, когда информация уничтожается, некоторое количество энергии должно рассеиваться (преобразовываться в тепло). В качестве примера представьте две легко различимые физические ситуации, такие как резиновый мяч, удерживаемый на расстоянии одного или двух метров от земли. Если мяч уронить, он отскочит. Если трения нет и мяч абсолютно упругий, наблюдатель всегда сможет сказать, в каком состоянии мяч находился в начале (т.

Однако при наличии трения мяч будет рассеивать небольшое количество энергии при каждом отскоке, пока в конце концов не перестанет отскакивать и не остановится на земле. Тогда будет невозможно определить, каким было начальное состояние мяча; мяч, брошенный с двух метров, будет идентичен мячу, брошенному с одного метра. Информация будет потеряна в результате рассеивания энергии.

Вот еще один пример разрушения информации: выражение 2 + 2 содержит больше информации, чем выражение = 4. Если все, что мы знаем, это то, что мы сложили два числа, чтобы получить 4, то мы не знаем, сложили ли мы 1 + 3, 2+2, 0+4 или какая-то другая пара чисел. Поскольку вывод неявно содержится во входных данных, никакие вычисления никогда не генерируют информацию.

На самом деле вычисления в том виде, в каком они выполняются в настоящее время, зависят от множества операций, разрушающих информацию. Так называемый ивентиль представляет собой устройство с двумя входными линиями, каждая из которых может быть установлена ​​на 1 или 0, и одним выходом, значение которого зависит от значения входов. Если на обоих входах 1, на выходе будет 1. Если на одном из входов 0 или на обоих 0, на выходе также будет 0. Каждый раз, когда на выходе логического элемента равен 0, мы теряем информацию, потому что не знаем, какой именно. из трех возможных состояний, в которых находились входные линии (0 и 1, 1 и 0 или 0 и 0). На самом деле, любой логический вентиль, у которого входных линий больше, чем выходных, неизбежно отбрасывает информацию, потому что мы не можем вывести входные данные из выходных. Всякий раз, когда мы используем такие «логически необратимые» ворота, мы рассеиваем энергию в окружающую среду. Стирание части памяти, еще одна операция, часто используемая в вычислительной технике, также принципиально диссипативна; когда мы стираем бит, мы теряем всю информацию об этом бите.

Являются ли необратимые логические вентили и стирания необходимыми для вычислений? Если это так, то любое выполняемое нами вычисление должно рассеивать некоторое минимальное количество энергии.

Однако, как показал один из нас (Беннетт) в 1973 г., они не являются существенными. Этот вывод с тех пор был продемонстрирован в нескольких моделях; самые простые из них основаны на так называемых обратимых логических элементах, таких как ворота Фредкина, названные в честь Эдварда Фредкина из Массачусетского технологического института. Ворота Фредкина имеют три входных линии и три выхода. Вход на одной линии, которая называется каналом управления, подается без изменений через вентиль. Если канал управления установлен на 0, вход на двух других линиях также проходит без изменений. Однако, если линия управления равна 1, выходы двух других линий переключаются: вход одной линии становится выходом другой и наоборот. Ворота Фредкина не отбрасывают никакой информации; ввод всегда можно вывести из вывода.

Фредкин показал, что любое логическое устройство, необходимое для компьютера, может быть реализовано с помощью соответствующего расположения вентилей Фредкина. Чтобы вычисления работали, некоторые входные линии некоторых вентилей Фредкина должны быть предварительно установлены на определенные значения.

У вентилей Фредкина больше выходных линий, чем у вентилей, для имитации которых они предназначены. Таким образом, в процессе вычислений генерируются то, что кажется «мусорными битами», битами информации, которые не имеют очевидной пользы. Эти биты должны быть каким-то образом удалены из компьютера, если мы собираемся использовать его снова, но если мы их сотрем, это будет стоить нам всего рассеяния энергии, которого мы пытались избежать.

На самом деле эти биты имеют самое важное применение. Как только мы скопировали результат наших вычислений, который будет находиться в обычных выходных битах, мы просто запускаем компьютер в обратном порядке. То есть мы вводим «мусорные биты» и выходные биты, которые были созданы при нормальной работе компьютера, в качестве «ввода» в «серверную часть» компьютера. Это возможно, потому что каждый из логических вентилей в компьютере сам по себе является обратимым. Запуск компьютера в обратном направлении не отбрасывает никакой информации, поэтому ему не нужно рассеивать энергию. В конце концов компьютер останется точно таким, каким он был до начала вычислений. Следовательно, можно завершить «вычислительный цикл», чтобы запустить компьютер, а затем вернуть его в исходное состояние, не рассеивая никакой энергии.

До сих пор мы обсуждали набор логических операций, а не физическое устройство. Однако нетрудно представить себе физическое устройство, работающее как вентиль Фредкина. В этом устройстве информационные каналы представлены трубами. Немного информации представлено наличием или отсутствием шарика в определенном отрезке трубы; наличие шара означает 1, а отсутствие шара означает 0.

Линия управления представлена ​​узким отрезком трубы, разделенным вдоль посередине. Когда шарик входит в разрезной сегмент трубы, он раздвигает две половины трубы, приводя в действие переключающее устройство. Коммутационное устройство направляет любые входные шарики, которые могут находиться в двух других трубах: когда шарик присутствует в линии управления, любой шарик, попадающий во входную трубу, автоматически перенаправляется в другую трубу. Чтобы гарантировать замыкание переключателя при отсутствии контрольного шарика, предусмотрены пружины, удерживающие две половины разъемной трубы вместе. Шарик, попадающий в разъемную трубу, должен расходовать энергию при сжатии пружин, но эта энергия не теряется; его можно восстановить, когда контрольный шарик покинет разъемную трубу и пружины растянутся.

Все шары соединены вместе и толкаются вперед одним механизмом, так что они двигаются синхронно; в противном случае мы не могли бы гарантировать, что различные входные и управляющие шары вместе прибудут к логическим элементам. В некотором смысле поступательное продвижение вычислений действительно является движением по одной степени свободы, подобно движению двух колес, жестко прикрепленных к одной оси. Как только вычисление завершено, мы отталкиваем все шары назад, отменяя все операции и возвращая компьютер в исходное состояние.

Если весь узел погрузить в идеальную вязкую жидкость, то силы трения, действующие на шарики, будут пропорциональны их скорости; статического трения не будет. Следовательно, сила трения будет очень слабой, если мы будем довольствоваться медленным перемещением шаров. В любой механической системе энергия, которая должна быть затрачена на преодоление трения, равна произведению силы трения на расстояние, которое проходит система. (Следовательно, чем быстрее пловец перемещается между двумя точками, тем больше энергии он затрачивает, хотя пройденное расстояние одинаково независимо от того, быстрый пловец или медленный.) Если мы будем перемещать шары через ворота Фредкина с малой скоростью, тогда затрачиваемая энергия (произведение силы на расстояние) будет очень мала, потому что сила трения напрямую зависит от скорости шариков. Фактически, мы можем затратить столько энергии, сколько пожелаем, просто затрачивая много времени на выполнение операции. Таким образом, не существует минимального количества энергии, которое необходимо затратить для выполнения любого заданного вычисления.

Потери энергии на трение в этой модели будут очень малы, если машина будет работать очень медленно. Можно ли сконструировать более идеализированную машину, которая могла бы выполнять вычисления без какого-либо трения? Или трение необходимо для вычислительного процесса? Фредкин вместе с Томмазо Тоффоли и другими сотрудниками Массачусетского технологического института показали, что это не так.

Они продемонстрировали, что можно выполнять вычисления, стреляя друг в друга идеальными бильярдными шарами без трения. В модели бильярдного шара идеально отражающие «зеркала», поверхности, которые перенаправляют движение шаров, устроены таким образом, что движение шаров по столу имитирует движение битов информации через логические вентили. Как и прежде, присутствие шарика в определенной части компьютера означает 1, тогда как отсутствие шарика означает 0. Если два шарика одновременно прибудут к логическим элементам, они столкнутся, и их траектории изменятся; их новые пути представляют собой выход ворот. Фредкин, Тоффоли и другие описали расположение зеркал, соответствующее различным типам логических вентилей.

Чтобы начать вычисление, мы запускаем бильярдный шар в компьютер везде, где хотим ввести 1. Шары должны войти в машину одновременно. Поскольку они совершенно эластичны, они не теряют энергию при столкновении; они выйдут из компьютера с тем же количеством кинетической энергии, которое мы дали им в начале.

В процессе работы бильярдный компьютер производит «мусорные биты», точно так же, как это делает компьютер, построенный на элементах Фредкина. После того, как компьютер получил ответ, мы отражаем бильярдные шары обратно в него, отменяя вычисления. Они будут выходить из машины именно туда, куда мы их отправили, и с той же скоростью. Затем механизм, запустивший их в компьютер, можно использовать для поглощения их кинетической энергии. Мы снова проведем вычисление и вернем компьютер в исходное состояние, не рассеивая энергию.

У бильярдного компьютера есть один существенный недостаток: он чрезвычайно чувствителен к незначительным ошибкам. Если мяч направлен немного неправильно или если зеркало наклонено под немного неправильным углом, траектории мячей собьются. Один или несколько мячей отклонятся от намеченных путей, и со временем ошибки объединятся, чтобы сделать все вычисления недействительными. Даже если бы можно было изготовить абсолютно эластичные бильярдные шары без трения, небольшого количества случайного теплового движения в молекулах, из которых они сделаны, было бы достаточно, чтобы вызвать ошибки после нескольких десятков столкновений.

Конечно, мы могли бы установить какое-нибудь корректирующее устройство, которое вернуло бы любой сбившийся с пути бильярдный шар на его желаемую траекторию, но тогда мы стирали бы информацию о более ранней истории шара. Например, мы можем отбросить информацию о том, насколько неправильно наклонено зеркало. Отбрасывать информацию даже для исправления ошибки можно только в системе, в которой есть трение и потеря энергии. Следовательно, любое коррекционное устройство должно рассеивать некоторую энергию.

Многие из трудностей, присущих бильярдному компьютеру, можно уменьшить, если вместо бильярдных шаров использовать микроскопические или субмикроскопические частицы, такие как электроны. Как указал Войцех Х. Зурек, который сейчас работает в Лос-Аламосской национальной лаборатории, квантовые законы, которые могут ограничивать частицы несколькими состояниями движения, могут устранить возможность того, что частица может сбиться с пути на небольшую величину.

Хотя обсуждение до сих пор было основано в основном на классической динамике, некоторые исследователи предложили другие обратимые компьютеры, основанные на квантово-механических принципах. Такие компьютеры, впервые предложенные Полом Бениоффом из Аргоннской национальной лаборатории и усовершенствованные другими, в частности Ричардом П. Фейнманом из Калифорнийского технологического института, до сих пор описывались лишь в самых абстрактных терминах. По сути, частицы в этих компьютерах будут устроены так, что квантово-механические правила, управляющие их взаимодействием, будут в точности аналогичны правилам, описывающим предсказанные выходы различных обратимых логических элементов. Например, предположим, что спин частицы может иметь только два возможных значения: вверх (соответствует двоичной 1) и вниз (соответствует 0). Взаимодействия между спинами частиц могут быть заданы таким образом, что значение спина одной частицы изменяется в зависимости от спина соседних частиц; спин частицы будет соответствовать одному из выходов логического элемента.

До сих пор это обсуждение было сосредоточено на обработке информации. Компьютер должен хранить информацию, а также обрабатывать ее. Взаимодействие между хранением и обработкой лучше всего описывается с помощью устройства, называемого машиной Тьюринга, по имени Алана М. Тьюринга, который впервые предложил такую ​​машину в 1936 году. Машина Тьюринга может выполнять любые вычисления, которые может выполнить современный компьютер. Один из нас (Беннетт) показал, что можно построить обратимую машину Тьюринга: машину Тьюринга, которая не отбрасывает информацию и поэтому может работать с минимальными затратами энергии, как пожелает пользователь.

Машина Тьюринга состоит из нескольких компонентов. Есть лента, разделенная на дискретные кадры или сегменты, каждый из которых помечен 0 или 1; эти биты представляют вход. По ленте перемещается «головка чтения/записи». Голова выполняет несколько функций. Он может читать по одному биту ленты за раз, он может печатать на ленте один бит и может сдвигать свою позицию на один сегмент влево или вправо. Чтобы от одного цикла к другому помнить, что он делает, головной механизм имеет ряд различных «состояний»; каждое государство составляет

В каждом цикле головка считывает бит сегмента, который она в данный момент занимает; затем он печатает новый бит на ленту, меняет свое внутреннее состояние и перемещается на один сегмент влево или вправо. Бит, который он печатает, состояние, в которое он переходит, и направление, в котором он движется, определяются фиксированным набором правил перехода. Каждое правило определяет определенный набор действий. Какому правилу следует машина, определяется состоянием головки и значением бита, который она считывает с ленты. Например, одним из правил может быть: «Если головка находится в состоянии A и находится на сегменте ленты, на котором напечатан 0, она должна изменить этот бит на 1, изменить свое состояние на состояние B.и переместиться на один сегмент вправо». Может случиться так, что правило перехода предписывает машине не изменять свое внутреннее состояние, не печатать новый бит на ленте или останавливать свою работу. Не все машины Тьюринга обратимы, но Обратимая машина Тьюринга может быть построена для выполнения любых возможных вычислений.

Модели обратимых машин Тьюринга имеют преимущество перед такими машинами, как бильярдный компьютер без трения. В бильярдном компьютере случайное тепловое движение приводит к неизбежным ошибкам. Модели обратимых машин Тьюринга на самом деле используют случайное тепловое движение: они устроены таким образом, что само тепловое движение с помощью очень слабой движущей силы переводит машину из одного состояния в другое. Ход вычислений напоминает движение иона (заряженной частицы), взвешенного в растворе, находящемся в слабом электрическом поле. Движение иона в течение короткого периода времени кажется случайным; почти так же вероятно, что он будет двигаться в одном направлении, как и в другом. Однако приложенная сила электрического поля придает чистому движению предпочтительное направление:

На первый взгляд может показаться невероятным, что целенаправленная последовательность операций, таких как вычисления, может быть достигнута в устройстве, направление движения которого в любой момент времени почти случайно. Однако такой стиль работы довольно распространен в микроскопическом мире химических реакций. Там действия проб и ошибок броуновского движения или случайного теплового движения достаточно, чтобы привести молекулы реагентов в контакт, сориентировать и согнуть их в определенную конформацию, необходимую для их реакции, и разделить молекулы продукта после реакции. Все химические реакции в принципе обратимы: то же самое броуновское движение, которое завершает прямую реакцию, иногда сближает молекулы продукта и толкает их назад через переход.

Чтобы поддерживать движение реакции в прямом направлении, мы должны поставлять молекулы реагентов и удалять молекулы продукта; по сути, мы должны обеспечить небольшую движущую силу. Когда движущая сила очень мала, реакция будет делать почти столько же шагов назад, сколько и вперед, но в среднем она будет двигаться вперед. Чтобы обеспечить движущую силу, мы должны затратить энергию, но, как и в нашей шаровой реализации ворот Фредкина, общее количество энергии может быть сколь угодно малым; если мы готовы выделить длительное время для операции, не существует минимального количества энергии, которое должно быть затрачено. Причина в том, что общая рассеиваемая энергия зависит от количества шагов вперед, деленного на количество шагов назад. (На самом деле оно пропорционально логарифму этого отношения, но по мере того, как отношение увеличивается или уменьшается, растет и его логарифм.) Чем медленнее протекает реакция, тем меньше будет отношение. (Аналогия с более быстрыми и более медленными пловцами снова верна: требуется меньше общей энергии, чтобы пройти то же самое чистое количество шагов вперед, если реакция протекает медленно.)

Мы можем увидеть, как может работать броуновская машина Тьюринга, исследуя броуновскую копировальную машину, которая уже существует в природе: РНК-полимераза, фермент, который помогает создавать РНК-копии ДНК, составляющей ген. Одна нить ДНК очень похожа на ленту машины Тьюринга. В каждом положении на цепи находится одно из четырех «оснований»: аденин, гуанин, цитозин или тимин (сокращенно A, G, C и I) . РНК представляет собой подобную цепочку молекулу, четыре основания которой, аденин, гуанин, цитозин и урацил (AG C и U) , связываются с «комплементарными» основаниями ДНК.

РНК-полимераза катализирует эту реакцию спаривания. Спираль ДНК обычно окружена раствором, содержащим большое количество молекул нуклеозидтрифосфатов, каждая из которых состоит из основания РНК, связанного с сахаром, и хвоста из трех фосфатных групп. Фермент РНК-полимераза выбирает из раствора единственное основание РНК, комплементарное основанию, которое должно быть скопировано в цепи ДНК. Затем он присоединяет новое основание к концу растущей цепи РНК и высвобождает два фосфата в окружающий раствор в виде свободного иона пирофосфата. Затем фермент смещается вперед на одну метку вдоль цепи ДНК, готовясь к присоединению следующего основания РНК. В результате получается цепь РНК, комплементарная матричной цепи ДНК. Без РНК-полимеразы этот набор реакций протекал бы очень медленно.

Реакции обратимы: иногда фермент поглощает свободный ион пирофосфата, соединяет его с последним основанием на цепи РНК и высвобождает образовавшуюся молекулу нуклеозидтрифосфата в окружающий раствор, при этом дублируя одну метку вдоль цепи ДНК. В состоянии равновесия шаги вперед и назад будут происходить с одинаковой частотой; обычно другие метаболические процессы ускоряют реакцию, удаляя пирофосфат и поставляя четыре вида нуклеозидтрифосфатов.

В лаборатории скорость действия РНК-полимеразы можно варьировать, регулируя концентрации реагентов (как показали Джудит Левин и Майкл Дж. Чемберлин из Калифорнийского университета в Беркли). По мере приближения концентраций к равновесию фермент работает медленнее и тратит меньше энергии на копирование данного участка ДНК, потому что отношение шагов вперед и назад меньше.

Хотя РНК-полимераза просто копирует информацию, не обрабатывая ее, относительно легко представить, как могла бы работать гипотетическая химическая машина Тьюринга. Лента представляет собой единую длинную основную молекулу, к которой в периодических местах присоединяются два типа оснований, представляющих бинарные 0 и 1. Небольшая дополнительная молекула присоединена к группе 0 или 1 в одном месте цепи. Положение этой дополнительной молекулы представляет положение головы машины Тьюринга. Существует несколько различных типов «головных молекул», каждый из которых представляет свое состояние машины.

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

Предположим, что головная молекула имеет тип А (что указывает на то, что машина находится в состоянии А ) и присоединена к 0-основанию. Также предположим, что применяется следующее правило перехода: «Когда головка находится в состоянии A и считывает 0, измените 0 на 1, измените состояние на B и переместитесь «вправо». Молекула фермента, представляющая это правило, имеет участок, соответствующий головной молекуле типа А , присоединенной к основанию 1. У него также есть один сайт, который соответствует основанию 0, и один сайт, который соответствует заголовку B (см. иллюстрацию на противоположной странице).

Чтобы осуществить переход, молекула фермента сначала приближается к ленточной молекуле в месте «прямо справа от основания, на котором находится головка А ». Затем он отрывает от ленты и головную молекулу, и 0-основание, к которому была прикреплена головка, ставя на их место 1-основание. Затем он прикрепляет головку B к основанию, которое находится справа от основания 1, которое он только что добавил к ленте. На этом переход завершен. Исходное положение головы изменено с 0 на 1, молекула головы теперь относится к типу B и прикреплена к основанию, которое находится на одну метку правее предыдущего положения головы.

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

Ферментативная машина Тьюринга не может быть безошибочной. Иногда может происходить реакция, не катализируемая каким-либо ферментом; например, 0-основание может спонтанно отсоединиться от основной молекулы, а на его место может присоединиться 1-основание. Подобные ошибки действительно происходят при синтезе РНК.

В принципе можно было бы устранить ошибки, построив броуновскую машину Тьюринга из жесткого часового механизма без трения. Заводная машина Тьюринга требует меньше идеализации, чем бильярдный компьютер, но больше, чем ферментативная машина Тьюринга. С одной стороны, его детали не должны изготавливаться с идеальными допусками, как должны были бы быть бильярдные шары; детали неплотно прилегают друг к другу, и машина может работать даже при наличии большого количества тепловых шумов. Тем не менее, его части должны быть совершенно жесткими и свободными от статического трения, свойств, которых нет ни у одного макроскопического тела.

Поскольку детали машины неплотно прилегают друг к другу, они удерживаются на месте не трением, а канавками или выемками в соседних частях. Хотя каждая часть машины может немного покачиваться, как кусочки изношенного деревянного пазла, машина в целом может следовать только одному «вычислительному пути». То есть части машины сцеплены таким образом, что в каждый момент времени машина может совершать только два вида крупномасштабных движений: движение, соответствующее шагу вперед, и движение, соответствующее шагу назад.

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

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

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

Таким образом, принцип неопределенности, по-видимому, не накладывает фундаментальных ограничений на процесс вычислений; то же самое относится и к классической термодинамике. Означает ли это, что для вычислений нет физических ограничений? Отнюдь не. Настоящие ограничения связаны с вопросами, на которые гораздо сложнее ответить, чем те, которые мы задали в этой статье.

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

С другой стороны, насколько большой мы можем сделать память компьютера? Сколько частиц во Вселенной мы можем собрать и сохранить вместе для этой цели? Максимально возможный размер памяти компьютера ограничивает точность, с которой мы можем производить вычисления. Это ограничит, например, количество знаков после запятой, до которых мы можем вычислить число пи. Неизбежные процессы износа, которые происходят в реальных компьютерах, ставят другой, возможно, связанный с этим вопрос: можно ли износ, по крайней мере в принципе, уменьшить до любой желаемой степени, или он накладывает ограничение на максимальную продолжительность времени, которое мы можем посвятить компьютеру? к какому-то расчету? То есть есть ли определенные расчеты, которые нельзя завершить до того, как аппаратная часть компьютера придет в негодность?

Такие вопросы действительно касаются ограничений физического выполнения математических операций. Физические законы, на которых в конечном итоге должны основываться ответы, сами выражаются в терминах таких математических операций. Таким образом, мы спрашиваем об окончательной форме, в которой могут применяться законы физики, учитывая ограничения, налагаемые вселенной, которые описывают сами законы.

Комментариев нет: