Вычисление в обычном компьютере, как правило, требует выполнения большого количества операций, и критический вопрос – как это количество операций растет по мере того, как увеличивается объем входных данных. В целом ряде задач оно растет так быстро, что скоро даже суперкомпьютеру требуются годы вычислений. Актуальным примером является задача разложения чисел на множители – актуальным потому, что на ее сложности для обычных компьютеров основаны распространенные схемы шифрования. Число 15 мы разлагаем на множители (3 и 5) в уме, разложение числа 323 потребует от вас небольших усилий, а машина сделает это шутя, но перед
Причина, по которой квантовый компьютер исполняет некоторые избранные алгоритмы несравненно быстрее, чем обычный компьютер решает ту же задачу с помощью доступных ему методов, – как раз в том, что волновая функция всех кубитов вместе взятых, подчиняясь уравнению Шрёдингера, эволюционирует во времени как единое целое.
Дело даже не в том, что, как часто можно услышать, «каждый кубит является нулем и единицей одновременно» (эта фраза означает попросту, что состояние кубита может быть какой-то комбинацией «
Конечно, эволюционируя в ходе выполнения алгоритма, волновая функция может представлять собой комбинацию
Все это неплохо в принципе, но на практике деликатные физические системы легко выходят из-под контроля. Теоретическая схема работы квантового компьютера исключает обмен информацией с окружающей средой в процессе исполнения алгоритма, но на практике полностью исключить взаимодействие с ней нельзя, и в результате среда так и норовит внести неконтролируемые изменения в состояния кубитов. Кроме того, какие-то из преобразований, составляющих схему квантовых вычислений (упомянутый выше CNOT и его друзья), могут выполняться неточно. У каждого физического устройства есть показатель надежности, и это никогда не сто процентов. Финальное измерение также может произойти с ошибкой. Наконец, кубит может втянуться в «разговор» (взаимодействие) с соседним кубитом, в результате чего возникнут непредусмотренные изменения в их состоянии.
При этом ошибки, случающиеся в квантовых компьютерах, более разнообразны, чем в обычных. Там сбой может состоять только в неконтролируемой замене 0 на 1 или наоборот. Средства борьбы с этим развиты чрезвычайно хорошо (в том числе, конечно, из-за необходимости постоянного использования в интернете) и сводятся тем или иным образом к передаче избыточной информации. Иллюстрацией может служить самая незамысловатая схема