Квантовый компьютер. Квантовый компьютер - правда или вымысел

На прошлой неделе появилась новость о том, что Google совершили прорыв в разработке квантового компьютера -
в компании поняли, как такой компьютер будет справляться
с собственными ошибками. О квантовых компьютерах говорят уже несколько лет: его, например, на обложку журнала Time. Если такие компьютеры появятся, это будет прорыв сродни появлению классических компьютеров - а то и серьёзнее. Look At Me объясняет, чем хороши квантовые компьютеры и что именно сделали в Google.

Что такое квантовый компьютер?


Квантовый компьютер - это механизм на стыке компьютерных наук и квантовой физики, самого сложного раздела теоретической физики. Ричард Фейнман, один из крупнейших физиков XX века, как-то сказал: «Если вы думаете, что понимаете квантовую физику, значит, вы её не понимаете». Поэтому учтите, что последующие объяснения - невероятно упрощённые. На то, чтобы разобраться в квантовой физике, люди тратят долгие годы.

Квантовая физика занимается элементарными частицами меньше атома. То, как эти частицы устроены и как они себя ведут, противоречит многим нашим представлениям о Вселенной. Квантовая частица может находиться в нескольких местах одновременно - и в нескольких состояниях одновременно. Представьте, что вы подкинули монету: пока она находится в воздухе, вы не можете сказать, выпадет орёл или решка; эта монета - как бы орёл и решка одновременно. Примерно так ведут себя квантовые частицы. Это называется принципом суперпозиции.

Квантовый компьютер - это пока ещё гипотетическое устройство, которое будет использовать принцип суперпозиции (и другие квантовые свойства)
для вычислений. Обычный компьютер работает с помощью транзисторов,
которые воспринимают любую информацию как нули и единицы. Бинарным кодом можно описать весь мир - и решать любые задачи внутри него. Квантовый аналог классического бита называется кьюбит (qubit, qu - от слова quantum, квантовый) . Используя принцип суперпозиции, кьюбит может одновременно находиться
в состоянии 0 и 1 - и это не только значительно увеличит мощность по сравнению с традиционными компьютерами, но и позволит решать неожиданные задачи,
на которые обычные компьютеры не способны.

Принцип суперпозиции - единственное,
на чём будут основаны квантовые компьютеры?


Нет. Из-за того, что квантовые компьютеры существуют только в теории, учёные пока только предполагают, как именно они будут работать. Например, считается, что в квантовых компьютерах также будут применять квантовую запутанность.
Это феномен, который Альберт Эйнштейн называл «жутким» (он вообще был против квантовой теории, потому что она не сочетается с его теорией относительности) . Смысл феномена в том, что две частицы во Вселенной могут оказаться взаимосвязанными, причём обратно: скажем, если спиральность
(есть такая характеристика состояния элементарных частиц, не будем вдаваться в подробности) первой частицы положительная, то спиральность второй всегда будет отрицательной, и наоборот. «Жутким» этот феномен называют по двум причинам. Во-первых, эта связь работает моментально, быстрее скорости света. Во-вторых, запутанные частицы могут находиться на любом расстоянии друг
от друга: например, на разных концах Млечного Пути.

Как можно использовать квантовый компьютер?


Учёные ищут квантовым компьютерам применение и одновременно разбираются, как их построить. Главное - то, что квантовый компьютер сможет очень быстро оптимизировать информацию и вообще работать с большими данными, которые мы накапливаем, но пока не понимаем, как использовать.

Давайте представим такой вариант (сильно упрощённый, конечно) : вы собираетесь стрелять из лука в мишень и вам нужно высчитать, насколько высоко целиться, чтобы попасть. Скажем, нужно просчитать высоту от 0 до 100 см. Обычный компьютер будет высчитывать каждую траекторию по очереди: сначала 0 см, потом 1 см, потом 2 см и так далее. Квантовый же компьютер просчитает все варианты одновременно - и моментально выдаст тот, который позволит вам попасть ровно в цель. Таким образом можно оптимизировать много процессов:
от медицины (скажем, раньше диагностировать рак) до авиации (например, делать более сложные автопилоты) .

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

Кто занимается разработкой квантовых компьютеров?


Все. Правительства, военные, технологические компании. Создать квантовый компьютер будет выгодно практически кому угодно. Скажем, среди документов, обнародованных Эдвардом Сноуденом, была информация о том, что у АНБ есть проект «Внедрение в сложные цели», куда входит создание квантового компьютера для шифрования информации. Microsoft всерьёз занимаются квантовыми компьютерами - первые исследования в этой области они начали ещё в 2007 году. IBM ведут разработки и несколько лет назад заявили , что создали чип с тремя кьюбитами. Наконец, Google и NASA сотрудничают
с компанией D-Wave, которая заявляет, что уже сейчас выпускает
«первый коммерческий квантовый процессор» (а точнее уже второй, сейчас их модель называется D-Wave Two) , но он пока не работает как квантовый -
их, напомним, не существует.

Насколько мы близки к созданию
квантового компьютера?


Никто не может сказать точно. Новости о прорывах в технологиях (как недавняя новость о Google) появляются постоянно, но мы можем быть как очень далеки
от полноценного квантового компьютера, так и очень близки к нему. Скажем, есть исследования , говорящие о том, что достаточно создать компьютер всего
c несколькими сотнями кьюбитов, чтобы он работал как полноценный квантовый компьютер. D-Wave заявляют, что создали процессор с 84 кьюбитами -
но критики, проанализировавшие их процессор, заявляют, что он работает,
как классический компьютер, а не как квантовый. Google, сотрудничающие
с D-Wave, считают , что их процессор просто находится на самых ранних стадиях развития и в конце концов будет работать, как квантовый. Так или иначе, сейчас
у квантовых компьютеров существует одна главная проблема - ошибки. Любые компьютеры совершают ошибки, но классические умеют с ними легко справляться - а вот квантовые ещё нет. Как только исследователи разберутся с ошибками, до появления квантового компьютера останется всего несколько лет.

Что затрудняет исправление ошибок
в квантовых компьютерах?


Если упрощать, ошибки в квантовых компьютерах можно разделить на два уровня. Первый - это ошибки, которые совершают любые компьютеры, в том числе классические. В памяти компьютера может появиться ошибка, когда 0 непроизвольно меняется на 1 из-за внешнего шума - например, космических лучей или радиации. Эти ошибки решить легко, все данные проверяют на предмет таких перемен. И с этой проблемой в квантовых компьютерах как раз недавно справились в Google: они стабилизировали цепочку из девяти кьюбитов
и избавили её от ошибок. В этом прорыве есть, впрочем, один нюанс: Google справились с классическими ошибками в классических вычислениях. Есть второй уровень ошибок в квантовых компьютерах, и его гораздо сложнее понять и объяснить.

Кьюбиты крайне нестабильны, они подвержены квантовой декогеренции - это нарушение связи внутри квантовой системы под воздействием окружающей среды. Квантовый процессор нужно максимально изолировать от окружающего воздействия (хотя декогеренция происходит иногда и в результате внутренних процессов) , чтобы свести ошибки к минимуму. При этом от квантовых ошибок невозможно избавиться полностью, - но если сделать их достаточно редкими, квантовый компьютер сможет работать. При этом некоторые исследователи считают , что 99% мощности такого компьютера как раз направят
на устранение ошибок, но и оставшегося 1% хватит для решения любых задач.
По мнению физика Скотта Ааронсона, достижение Google можно считать третьим
с половиной шагом из семи, необходимых для создания квантового компьютера, - иначе говоря, мы прошли половину пути.

Вы все привыкли к нашим компьютерам: утром читаем новости со смартфона, днем работаем с ноутбуком, а вечером смотрим фильмы на планшете. Все эти девайсы объединяет одно - кремниевый процессор, состоящий из миллиардов транзисторов. Принцип работы таких транзисторов достаточно прост - в зависимости от подведенного напряжения мы получаем на выходе другое напряжение, которое интерпретируется или как логический 0, или как логическая 1. Для того, чтобы проводить операции деления, есть битовый сдвиг - если у нас, к примеру, было число 1101, то после сдвига на 1 бит влево будет 01101, а если теперь сдвинуть его на 1 бит вправо - будет 01110. И основная проблема кроется в том, что для все того же деления может понадобиться несколько десятков таких операций. Да, с учетом того, что транзисторов миллиарды, такая операция занимает наносекунды, но вот если операций много - мы теряем на эти вычисления время.

Принцип работы квантовых компьютеров

Квантовый компьютер же предлагает совершенно другой способ вычислений. Начнем с определения:

Квантовый компьютер - вычислительное устройство , которое использует явления квантовой суперпозиции и квантовой запутанности для передачи и обработки данных.

Понятнее явно не стало. Квантовая суперпозиция говорит нам о том, что система с какой-то долей вероятности существует во всех возможных для нее состояниях (при этом сумма всех вероятностей, разумеется, равна 100% или 1). Разберем это на примере. Информация в квантовых компьютерах хранится в кубитах - если обычные биты могут иметь состояние 0 или 1, то кубит может иметь состояние 0, 1, и 0 и 1 одновременно. Поэтому если мы имеем 3 кубита, к примеру 110, то это выражение в битах равносильно 000, 001, 010, 011, 100, 101, 110, 111.

Что это нам дает? Да все! К примеру, у нас есть циферный пароль из 4 символов. Как будет его взламывать обычный процессор? Простым перебором от 0000 до 9999. 9999 в двоичной системе имеет вид 10011100001111, то есть для его записи нам нужно 14 бит. Поэтому если мы имеем квантовый ПК с 14 кубитами - мы уже знаем пароль: ведь одно из возможных состояний такой системы и есть пароль! В результате все задачи, которые сейчас сутками считают даже суперкомпьютеры, на квантовых системах будут решаться моментально: нужно найти вещество с определенными свойствами? Не проблема, сделайте систему с таким же количеством кубитов, сколько у вас требований к веществу - и ответ уже будет у вас в кармане. Нужно создать ИИ (искусственный интеллект? Проще некуда: пока обычный ПК будет перебирать все комбинации, квантовый компьютер сработает молниеносно, выбрав лучший ответ.


Казалось бы, все здорово, но есть одна важная проблема - как нам узнать результат вычислений? С обычным ПК все просто - мы можем взять и считать его, напрямую подключившись к процессору: логические 0 и 1 там совершенно определенно интерпретируются как отсутствие и наличие заряда. Но вот с кубитами такое не пройдет - ведь в каждый момент времени он находится в произвольном состоянии. И тут нам на помощь приходит квантовая запутанность. Ее суть заключается в том, что можно получить пару частиц, которые связаны друг с другом (говоря научным языком - если, к примеру, проекция спина одной запутанной частицы отрицательна, то другой обязательно будет положительной). Как это выглядит на пальцах? Допустим, у нас есть две коробки, в которых лежит по бумажке. Мы разносим коробки на любое расстояние, открываем одну из них и видим, что бумажка в ней в горизонтальную полоску. Это автоматически означает, что другая бумажка будет в вертикальную полоску. Но вот проблема в том, что как только мы узнали состояние одной бумажки (или частицы), квантовая система рушится - неопределенность исчезает, кубиты превращаются в обычный биты.

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

Возникает вопрос - раз квантовый компьютер может моментально подбирать любые пароли - как защитить информацию? Неужели с приходом таких устройств исчезнет конфиденциальность? Конечно же нет. На помощь приходит так называемое квантовое шифрование: оно основано на том, что при попытке «прочесть» квантовое состояние оно разрушается, что делает любой взлом невозможным.

Домашний квантовый компьютер

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

Однако, есть квантовые компьютеры от D-Wave, которые имеют 1000 кубитов, но, вообще говоря, настоящими квантовыми компьютерами они не являются, ибо не используют принципы квантовой запутанности, поэтому они не могут работать по классическим квантовым алгоритмам:


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

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

До квантовой в ходу была классическая теория электромагнитного излучения. В 1900 году немецкий ученый Макс Планк, который сам в кванты не верил, считал их вымышленной и чисто теоретической конструкцией, был вынужден признать, что энергия нагретого тела излучается порциями - квантами; таким образом, предположения теории совпали с экспериментальными наблюдениями. А пять лет спустя великий Альберт Эйнштейн прибегнул к этому же подходу при объяснении фотоэффекта: при облучении светом в металлах возникал электрический ток! Вряд ли Планк с Эйнштейном могли предположить, что своими работами закладывают основы новой науки - квантовой механики, которой будет суждено до неузнаваемости преобразить наш мир, и что в XXI веке ученые вплотную приблизятся к созданию квантового компьютера.

Вначале квантовая механика позволила объяснить структуру атома и помогла понять происходящие внутри него процессы. По большому счету сбылась давняя мечта алхимиков о превращении атомов одних элементов в атомы других (да, даже в золото). А знаменитая формула Эйнштейна E=mc2 привела к появлению атомной энергетики и, как следствие, атомной бомбы.

Квантовый процессор на пяти кубитах от IBM

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

Быстро и эффективно решать многие задачи позволило развитие электронных вычислительных машин - компьютеров. А постепенное уменьшение их размеров и стоимости (в связи с массовым производством) проложило компьютерам дорогу в каждый дом. С появлением интернета наша зависимость от компьютерных систем, в том числе и для коммуникации, стала еще сильнее.

Ричард Фейнман

Зависимость растет, постоянно растут вычислительные мощности, но настала пора признать, что, несмотря на свои впечатляющие возможности, компьютеры оказались не в состоянии решить все задачи, которые мы готовы перед ними ставить. Одним из первых об этом начал говорить знаменитый физик Ричард Фейнман: еще в 1981 году на конференции он заявил, что на обычных компьютерах принципиально невозможно точно рассчитать реальную физическую систему. Все дело в ее квантовой природе! Эффекты микромасштаба легко объясняются квантовой механикой и из рук вон плохо - привычной нам классической механикой: она описывает поведение больших объектов. Тогда-то в качестве альтернативы Фейнман предложил использовать для расчетов физических систем квантовые компьютеры.

Что же такое квантовый компьютер и в чем его отличие от компьютеров, к которым мы привыкли? Все дело в том, как мы представляем себе информацию.

Если в обычных компьютерах за эту функцию отвечают биты - нули и единички, - то в квантовых компьютерах им на смену приходят квантовые биты (сокращенно - кубиты). Сам кубит - вещь довольно простая. У него по-прежнему два основных значения (или состояния, как любят говорить в квантовой механике), которые он может принимать: 0 и 1. Однако благодаря свойству квантовых объектов под названием «суперпозиция» кубит может принимать все значения, которые являются комбинацией основных. При этом его квантовая природа позволяет ему находиться во всех этих состояниях одновременно.

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

Кроме того, для описания точного состояния системы теперь не нужны огромные вычислительные мощности и объемы оперативной памяти, ведь для расчета системы из 100 частиц достаточно 100 кубитов, а не триллионов триллионов бит. Более того, с ростом числа частиц (как в реальных сложных системах) эта разница становится еще существеннее.

Одна из переборных задач выделялась своей кажущейся бесполезностью - разложение больших чисел на простые множители (то есть делящиеся нацело только на самих себя и единицу). Это называется «факторизация». Дело в том, что обычные компьютеры умеют довольно быстро перемножать числа, пусть даже и весьма большие. Однако с обратной задачей разложения большого числа, получившегося в результате перемножения двух простых чисел, на исходные множители обычные компьютеры справляются очень плохо. Например, чтобы разложить на два сомножителя число из 256 цифр, даже самому мощному компьютеру понадобится не один десяток лет. А вот квантовый алгоритм, который может решить эту задачу за несколько минут, придумал в 1997 году английский математик Питер Шор.

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

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

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

Сотрудники лаборатории искусственных квантовых систем

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

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

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

Не пропустите лекцию:

Кандидат физико-математических наук Л. ФЕДИЧКИН (Физико-технологический институт Российской академии наук.

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

Американский математик и физик венгерского происхождения Иоганн фон Нейман (1903- 1957).

Американский физик-теоретик Ричард Филлипс Фейнман (1918-1988).

Американский математик Питер Шор, специалист в области квантовых вычислений. Предложил квантовый алгоритм быстрой факторизации больших чисел.

Квантовый бит, или кубит. Состояниям и отвечают, например, направления спина атомного ядра вверх или вниз.

Квантовый регистр - цепочка квантовых битов. Одно- или двухкубитовые квантовые вентили осуществляют логические операции над кубитами.

ВВЕДЕНИЕ, ИЛИ НЕМНОГО О ЗАЩИТЕ ИНФОРМАЦИИ

Как вы думаете, на какую программу в мире продано наибольшее количество лицензий? Не рискну настаивать, что знаю правильный ответ, но мне точно известен один неверный: это не какая-либо из версий Microsoft Windows. Самую распространенную операционную систему опережает скромный продукт фирмы RSA Data Security, Inc. - программа, реализующая алгоритм шифрования с открытым ключом RSA, названный так в честь его авторов - американских математиков Ривеста, Шамира и Адельмана.

Дело в том, что алгоритм RSA встроен в большинство продаваемых операционных систем, а также во множество других приложений, используемых в различных устройствах - от смарткарт до сотовых телефонов. В частности, имеется он и в Microsoft Windows, а значит, распространен заведомо шире этой популярной операционной системы. Чтобы обнаружить следы RSA, к примеру, в браузере Internet Explorer (программе для просмотра www-страниц в сети Интернет), достаточно открыть меню "Справка" (Help), войти в подменю "О программе" (About Internet Explorer) и просмотреть список используемых продуктов других фирм. Еще один распространенный браузер Netscape Navigator тоже использует алгоритм RSA. Вообще, трудно найти известную фирму, работающую в области высоких технологий, которая не купила бы лицензию на эту программу. На сегодняшний день фирма RSA Data Security, Inc. продала уже более 450 миллионов(!) лицензий.

Почему же алгоритм RSA оказался так важен?

Представьте, что вам необходимо быстро обменяться сообщением с человеком, находящимся далеко. Благодаря развитию Интернета такой обмен стал доступен сегодня большинству людей - надо только иметь компьютер с модемом или сетевой картой. Естественно, что, обмениваясь информацией по сети, вы бы хотели сохранить свои сообщения в тайне от посторонних. Однако полностью защитить протяженную линию связи от прослушивания невозможно. Значит, при посылке сообщений их необходимо зашифровать, а при получении - расшифровать. Но как вам и вашему собеседнику договориться о том, каким ключом вы будете пользоваться? Если послать ключ к шифру по той же линии, то подслушивающий злоумышленник легко его перехватит. Можно, конечно, передать ключ по какой-нибудь другой линии связи, например отправить его телеграммой. Но такой метод обычно неудобен и к тому же не всегда надежен: другую линию тоже могут прослушивать. Хорошо, если вы и ваш адресат заранее знали, что будете обмениваться шифровками, и потому заблаго-временно передали друг другу ключи. А как быть, например, если вы хотите послать конфиденциальное коммерческое предложение возможному деловому партнеру или купить по кредитной карточке понравившийся товар в новом Интернет-магазине?

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

Как раз такая криптографическая схема и применяется в алгоритме RSA - самом распространенном методе шифрования с открытым ключом. Причем для создания пары открытого и закрытого ключей используется следующая важная гипотеза. Если имеется два больших (требующих более сотни десятичных цифр для своей записи) простых числа M и K, то найти их произведение N=MK не составит большого труда (для этого даже не обязательно иметь компьютер: достаточно аккуратный и терпеливый человек сможет перемножить такие числа с помощью ручки и бумаги). А вот решить обратную задачу, то есть, зная большое число N, разложить его на простые множители M и K (так называемая задача факторизации ) - практически невозможно! Именно с этой проблемой столкнется злоумышленник, решивший "взломать" алгоритм RSA и прочитать зашифрованную с его помощью информацию: чтобы узнать закрытый ключ, зная открытый, придется вычислить M или K.

Для проверки справедливости гипотезы о практической сложности разложения на множители больших чисел проводились и до сих пор еще проводятся специальные конкурсы. Рекордом считается разложение всего лишь 155-значного (512-битного) числа. Вычисления велись параллельно на многих компьютерах в течение семи месяцев 1999 года. Если бы эта задача выполнялась на одном современном персональном компьютере, потребовалось бы примерно 35 лет машинного времени! Расчеты показывают, что с использованием даже тысячи современных рабочих станций и лучшего из известных на сегодня вычислительных алгоритмов одно 250-значное число может быть разложено на множители примерно за 800 тысяч лет, а 1000-значное - за 10 25 (!) лет. (Для сравнения возраст Вселенной равен ~10 10 лет.)

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

Оказывается, используя законы квантовой механики, можно построить такие компьютеры, для которых задача факторизации (и многие другие!) не составит большого труда. Согласно оценкам, квантовый компьютер с памятью объемом всего лишь около 10 тысяч квантовых битов способен разложить 1000-значное число на простые множители в течение всего нескольких часов!

КАК ВСЕ НАЧИНАЛОСЬ?

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

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

По мере распространения компьютеров ученые, занимавшиеся квантовыми объектами, пришли к выводу о практической невозможности напрямую рассчитать состояние эволюционирующей системы, состоящей всего лишь из нескольких десятков взаимодействующих частиц, например молекулы метана (СН 4). Объясняется это тем, что для полного описания сложной системы необходимо держать в памяти компьютера экспоненциально большое (по числу частиц) количество переменных, так называемых квантовых амплитуд. Возникла парадоксальная ситуация: зная уравнение эволюции, зная с достаточной точностью все потенциалы взаимодействия частиц друг с другом и начальное состояние системы, практически невозможно вычислить ее будущее, даже если система состоит лишь из 30 электронов в потенциальной яме, а в распоряжении имеется суперкомпьютер с оперативной памятью, число битов которой равно числу атомов в видимой области Вселенной(!). И в то же время для исследования динамики такой системы можно просто поставить эксперимент с 30 электронами, поместив их в заданные потенциал и начальное состояние. На это, в частности, обратил внимание русский математик Ю. И. Манин, указавший в 1980 году на необходимость разработки теории квантовых вычислительных устройств. В 1980-е годы эту же проблему изучали американский физик П. Бенев, явно показавший, что квантовая система может производить вычисления, а также английский ученый Д. Дойч, теоретически разработавший универсальный квантовый компьютер, превосходящий классический аналог.

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

И все же долгое время оставалось неясным, можно ли использовать гипотетическую вычислительную мощь квантового компьютера для ускорения решения практических задач. Но вот в 1994 году американский математик, сотрудник фирмы Lucent Technologies (США) П. Шор ошеломил научный мир, предложив квантовый алгоритм, позволяющий проводить быструю факторизацию больших чисел (о важности этой задачи уже шла речь во введении). По сравнению с лучшим из известных на сегодня классических методов квантовый алгоритм Шора дает многократное ускорение вычислений, причем, чем длиннее факторизуемое число, тем значительней выигрыш в скорости. Алгоритм быстрой факторизации представляет огромный практический интерес для различных спецслужб, накопивших банки нерасшифрованных сообщений.

В 1996 году коллега Шора по работе в Lucent Technologies Л. Гровер предложил квантовый алгоритм быстрого поиска в неупорядоченной базе данных. (Пример такой базы данных - телефонная книга, в которой фамилии абонентов расположены не по алфавиту, а произвольным образом.) Задача поиска, выбора оптимального элемента среди многочисленных вариантов очень часто встречается в экономических, военных, инженерных задачах, в компьютерных играх. Алгоритм Гровера позволяет не только ускорить процесс поиска, но и увеличить примерно в два раза число параметров, учитываемых при выборе оптимума.

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

УСТРОЙСТВО КВАНТОВОГО КОМПЬЮТЕРА

Прежде чем рассказать, как же устроен квантовый компьютер, вспомним основные особенности квантовых систем (см. также "Наука и жизнь" № 8, 1998 г.; № 12, 2000 г.).

Для понимания законов квантового мира не следует прямо опираться на повседневный опыт. Обычным образом (в житейском понимании) квантовые частицы ведут себя лишь в том случае, если мы постоянно "подглядываем" за ними, или, говоря более строго, постоянно измеряем, в каком состоянии они находятся. Но стоит нам "отвернуться" (прекратить наблюдение), как квантовые частицы тут же переходят из вполне определенного состояния сразу в несколько различных ипостасей. То есть электрон (или любой другой квантовый объект) частично будет находиться в одной точке, частично в другой, частично в третьей и т. д. Это не означает, что он делится на дольки, как апельсин. Тогда можно было бы надежно изолировать какую-нибудь часть электрона и измерить ее заряд или массу. Но опыт показывает, что после измерения электрон всегда оказывается "целым и невредимым" в одной единственной точке, несмотря на то, что до этого он успел побывать одновременно почти везде. Такое состояние электрона, когда он находится сразу в нескольких точках пространства, называют суперпозицией квантовых состояний и описывают обычно волновой функцией, введенной в 1926 году немецким физиком Э. Шредингером. Модуль значения волновой функции в любой точке, возведенный в квадрат, определяет вероятность найти частицу в этой точке в данный момент. После измерения положения частицы ее волновая функция как бы стягивается (коллапсирует) в ту точку, где частица была обнаружена, а затем опять начинает расплываться. Свойство квантовых частиц быть одновременно во многих состояниях, называемое квантовым параллелизмом , успешно используется в квантовых вычислениях.

Квантовый бит

Основная ячейка квантового компьютера - квантовый бит, или, сокращенно, кубит (q-бит). Это квантовая частица, имеющая два базовых состояния, которые обозначаются 0 и 1 или, как принято в квантовой механике, и. Двум значениям кубита могут соответствовать, например, основное и возбужденное состояния атома, направления вверх и вниз спина атомного ядра, направление тока в сверхпроводящем кольце, два возможных положения электрона в полупроводнике и т.п.

Квантовый регистр

Квантовый регистр устроен почти так же, как и классический. Это цепочка квантовых битов, над которыми можно проводить одно- и двухбитовые логические операции (подобно применению операций НЕ, 2И-НЕ и т.п. в классическом регистре).

К базовым состояниям квантового регистра, образованного L кубитами, относятся, так же как и в классическом, все возможные последовательности нулей и единиц длиной L. Всего может быть 2 L различных комбинаций. Их можно считать записью чисел в двоичной форме от 0 до 2 L -1 и обозначать. Однако эти базовые состояния не исчерпывают всех возможных значений квантового регистра (в отличие от классического), поскольку существуют еще и состояния суперпозиции, задаваемые комплексными амплитудами, связанными условием нормировки. Классического аналога у большинства возможных значений квантового регистра (за исключением базовых) просто не существует. Состояния классического регистра - лишь жалкая тень всего богатства состояний квантового компьютера.

Представьте, что на регистр осуществляется внешнее воздействие, например, в часть пространства поданы электрические импульсы или направлены лазерные лучи. Если это классический регистр, импульс, который можно рассматривать как вычислительную операцию, изменит L переменных. Если же это квантовый регистр, то тот же импульс может одновременно преобразовать до переменных. Таким образом, квантовый регистр, в принципе, способен обрабатывать информацию в раз быстрее по сравнению со своим классическим аналогом. Отсюда сразу видно, что маленькие квантовые регистры (L<20) могут служить лишь для демонстрации отдельных узлов и принципов работы квантового компьютера, но не принесут большой практической пользы, так как не сумеют обогнать современные ЭВМ, а стоить будут заведомо дороже. В действительности квантовое ускорение обычно значительно меньше, чем приведенная грубая оценка сверху (это связано со сложностью получения большого количества амплитуд и считывания результата), поэтому практически полезный квантовый компьютер должен содержать тысячи кубитов. Но, с другой стороны, понятно, что для достижения действительного ускорения вычислений нет необходимости собирать миллионы квантовых битов. Компьютер с памятью, измеряемой всего лишь в килокубитах, будет в некоторых задачах несоизмеримо быстрее, чем классический суперкомпьютер с терабайтами памяти.

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

И тем не менее нет сомнения, что компьютеры, работающие по законам квантовой механики, - новый и решающий этап в эволюции вычислительных систем. Осталось только их построить.

КВАНТОВЫЕ КОМПЬЮТЕРЫ СЕГОДНЯ

Прототипы квантовых компьютеров существуют уже сегодня. Правда, пока что экспериментально удается собирать лишь небольшие регистры, состоящие всего из нескольких квантовых битов. Так, недавно группа, возглавляемая американским физиком И. Чангом (IBM), объявила о сборке 5-битового квантового компьютера. Несомненно, это большой успех. К сожалению, существующие квантовые системы еще не способны обеспечить надежные вычисления, так как они либо недостаточно управляемы, либо очень подвержены влиянию шумов. Однако физических запретов на построение эффективного квантового компьютера нет, необходимо лишь преодолеть технологические трудности.

Существует несколько идей и предложений, как сделать надежные и легко управляемые квантовые биты.

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

Российский исследователь М. В. Фейгельман, работающий в Институте теоретической физики им. Л. Д. Ландау РАН, предлагает собирать квантовые регистры из миниатюрных сверхпроводни ковых колец. Каждое кольцо выполняет роль кубита, а состояниям 0 и 1 соответствуют направления электрического тока в кольце - по часовой стрелке и против нее. Переключать такие кубиты можно магнитным полем.

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

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

ВЗГЛЯД В БУДУЩЕЕ

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

А что же станет с классическими компью-терами? Отомрут ли они? Вряд ли. И для классических, и для квантовых компьютеров найдутся свои сферы применения. Хотя, по всей видимости, соотношение на рынке будет все же постепенно смещаться в сторону последних.

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

Для более глубокого освоения этой темы можно прочитать обзорную статью Э. Риффеля, В. Полака "Основы квантовых вычислений", опубликованную в издаваемом в России журнале "Квантовые компьютеры и квантовые вычисления" (№ 1, 2000 г.). (Кстати, это первый и пока единственный в мире журнал, посвященный квантовым вычислениям. Дополнительную информацию о нем можно узнать в Интернете по адресу http://rcd.ru/qc .). Освоив эту работу, вы сможете читать научные статьи по квантовым вычислениям.

Несколько большая предварительная математическая подготовка потребуется при чтении книги А. Китаева, А. Шеня, М. Вялого "Классические и квантовые вычисления" (М.: МЦНМО-ЧеРо, 1999).

Ряд принципиальных аспектов квантовой механики, существенных для проведения квантовых вычислений, разобран в книге В. В. Белокурова, О. Д. Тимофеевской, О. А. Хрусталева "Квантовая телепортация - обыкновенное чудо" (Ижевск: РХД, 2000).

В издательстве РХД готовится к выходу в виде отдельной книги перевод обзора А. Стина, посвященный квантовым компьютерам.

Следующая литература будет полезна не только в познавательном, но и в историческом плане:

1) Ю. И. Манин. Вычислимое и невычислимое.

М.: Сов. радио, 1980.

2) И. фон Нейман. Математические основы квантовой механики.

М.: Наука, 1964.

3) Р. Фейнман. Моделирование физики на компьютерах // Квантовый компьютер и квантовые вычисления:

Сб. в 2-х т. - Ижевск: РХД, 1999. Т. 2, с. 96-123.

4) Р. Фейнман. Квантово-механические компьютеры

// Там же, с. 123.-156.

См. в номере на ту же тему