Вы все привыкли к нашим компьютерам: утром читаем новости со смартфона, днем работаем с ноутбуком, а вечером смотрим фильмы на планшете. Все эти девайсы объединяет одно — кремниевый процессор, состоящий из миллиардов транзисторов. Принцип работы таких транзисторов достаточно прост — в зависимости от подведенного напряжения мы получаем на выходе другое напряжение, которое интерпретируется или как логический 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 кубита — маловато для вычислений. Так что ждать квантовых ПК еще очень и очень долго.