- •1) Взлом криптографии.
- •2) Моделирование квантовых физических и химических процессов
- •3) Квантовый поиск по базе данных.
- •1) Кубит.
- •2) Состояния кубита:
- •3) Операции над кубитами
- •1) Cnot (Controlled not Gate)
- •2) Вентиль Тоффоли
- •3) Относительный сдвиг фазы
- •4) Вентиль Фредкина (cswap)
- •2) Квантовые цепочки
- •Описание алгоритмов:
- •1) Алгоритм Шора (1994) — по заданному целому числу n, найти его простые множители.
Квантовые компьютеры. Андрей Сурков.
Содержание:
1) зачем нужны квантовые компьютеры (запутанность, NP-полные задачи)
2) теория вычислений: станд машина тьюринга, кк.
3) применение, требования, проблемы
4) экскурс в квантовую механику: волновая функция, уравнение Шрёдингера, измерение, запутанность
5) устройство: кубит, операции (измерение, вентили), к. цепи
6) варианты кк: массив вентилей, однонаправленный, адиабатический, топологический
7) физ. реализация: ионные ловушки, оптические решётки, к. точки, ЛОКК
8) алгоритмы — Гровера, Шора
Зачем нужны квантовые компьютеры
Квантовый компьютер (кк) — устройство, использующее квантовые эффекты для решения вычислительных задач. Используя свойства суперпозиции состояний и «запутанности», кк в теории могут решать некоторый класс задач, имеющий практическое значение (NP-полные задачи), намного быстрее, чем любые классические компьютеры.
Квантовая система — физическая система, обладающая квантовыми свойствами, и могущая пребывать в 1 из 2х состояний (самая простая - электрон со спином вверх и вниз). Отличительная особенность: к. система может пребывать в состоянии 0, 1, и суперпозиции этих двух состояний — т. е. в обоих одновременно, до измерения. Благодаря этому и достигается ускорение — вычисление идёт одновременно по всем возможным путям.
Теория вычислений
Классический детерминистический компьютер (Turing 1936; McCullogh and Pitts 1943):
Данные представлены битами (0,1).
Машина Тьюринга: лента с записанными символами, и вдоль неё ездит по определённым правилам считывающе\записывающая головка. Главные операции - линейная последовательность, ветвление, условный переход вперёд-назад (покрывает ветвление, и цикл, и рекурсию).
Например, для 2-битного регистра, состояние компьютера в любой момент времени будет одной из 22=4 2-битных строк: 00, 01, 10, 11.
Квантовый компьютер (David Deutsch 1985):
Может находиться в один момент времени во всех состояниях, и каждое получится при измерении с некоторой вероятностью. Состояние описывается 4-мерным вектором (a,b,c,d) – кетом: a|00> + b|01>+ c|10>+ d|11>. Коэффициенты — комплексные числа, и сумма квадратов их величин должна быть равна 1: |a2|+|b2|+|c2|+|d2|=1.
Бра-кет: Запись <y1,...ym| - это бра; |x1,..., xn> - это кет; <y1,...ym|x1,..., xn> — это бра-кет - обобщение произведения векторов в комплексном векторном пространстве, или Гильбертовом пространстве.
Применение, требования, проблемы
Применение:
1) Взлом криптографии.
Алгоритмы шифрования RSA, и на эллиптических кривых - основаны на задаче разложить большое число на простые множители. Классические алгоритмы делают это за время O((1+ε)n) . Квантовый алгоритм Шора — за O((log N)2(log log N)(log log log N)).
Но есть и криптосистемы, основанные на других сложных задачах, для которых не известно ни классического ни квантового эффективного алгоритма (например, McEliece cryptosystem, Lattice-based cryptosystems).
2) Моделирование квантовых физических и химических процессов
Вычислительная сложность задачи моделирования системы из нескольких микрочастиц растёт экспоненциально с увеличением числа частиц. Современные классические алгоритмы становятся малопригодны уже для системы из 10 частиц.
Не доказано строго математически, что достаточно быстрый классический алгоритм для этой задачи невозможен — но это маловероятно.
Алгоритм Залки—Визнера моделирует поведение системы n квантовых частиц за почти линейное время: применяя оператор гамильтониана (суммы кинетической и потенциальной энергии системы) к уравнению Шрёдингера, мы получаем результирующее состояние системы.
3) Квантовый поиск по базе данных.
Алгоритм Гровера даёт квадратичное ускорение по сравнению с любым классическим алгоритмом: O(N1/2) против O(N) для классического алгоритма — и быстрее доказанно невозможно.
Также алгоритм Гровера даёт квадратичное ускорение для решения прямым перебором любой NP-полной задачи (Nondeterministic Polynomial – задачи, решение которых проверяемо за полиномиальное время. Например, задача коммивояжёра).
4) Квантовое сверхплотное кодирование — метод, позволяющий передать два бита классической информации с помощью лишь одного кубита, используя явление квантовой сцепленности.
Пусть Алиса хочет отправить классическую информацию Бобу, используя кубиты вместо битов. Алиса кодирует классическую информацию состоянием кубита, и отправляет Бобу. Боб извлекает информацию, производя измерение состояния кубита. Какой объем классической информации можно передать, используя один кубит? Согласно теореме Холево, неортогональные состояния невозможно различить с достоверностью, так что Алиса сможет передать 1 бит. Т.е. тут кубиты не дают выигрыша. Но если Алиса и Боб имеют в своем распоряжении запутанное состояние пары кубитов (один у Алисы, другой у Боба), то можно передать не 1, а 2 бита классической информации, используя 1 кубит (через одно из преобразований в состояние Белла). Подобное удвоение «эффективности» передачи информации и носит название квантового сверхплотного кодирования.
5) Квантовая криптография (Беннет и Брассар, 1989) — использует факт, что измерение квантового состояния меняет его. Таким образом, если Ева перехватила и прослушала (измерила) сообщение от Алисы к Бобу — то когда Алиса и Боб сравнят свои результаты, то по уровню их различия смогут определить, с какой вероятностью было промежуточное измерение.
Таким образом, с вероятностью 1 — 2-k (где k — число сравненных битов) канал не прослушивался.
Проблема та же — декогеренция. Что ограничивает расстояние передачи. Рекорд расстояния - 87 км, со скоростью 1б/с и уровнем ошибок 1,4 %. В другом опыте, с регулярной автоматической подстройкой — добились уровня ошибки 0,5 % при скорости 5 кбит/с для 1км-канала.
Есть уже схемы как Еве обмануть детекторы Боба. Но есть и контрмеры к этим схемам.
Требования к практически применимому кк:
физически расширяемый, чтобы увеличивать число кубитов
инициализировать кубиты на произвольные значения
вентили, работающие быстрее времени декогеренции
универсальный набор вентилей
кубиты, с которых легко считать информацию
Проблемы:
1) Любой квантовый компьютер можно смоделировать на классическом компьютере, при достаточном времени и ресурсах (т. е. кк не нарушают Тезис Чёрча-Тьюринга). Чтобы описать состояние n кубитов, на классическом компьютере понадобится 2n комплексных чисел.
2) Пока ещё на практике не сделали кк, который бы решил задачу быстрее, чем классический компьютер. И возможность получения квантового ускорения для произвольного классического алгоритма является большой редкостью. Более того, пока даже нет кк, который вообще решал бы сколь-нибудь значимую практически задачу. Те что есть — невероятно дороги, сложны в использовании, хрупки, и делаются вручную каждый раз, под конкретную задачу (по сути, годятся только для демонстрации принципиальной возможности квантовых вычислений).
(Замечание: в 2011 году появился D-Wave One — первый коммерческий кк. Он основан на адиабатическом кк. Но до сих пор ведутся споры, является ли он действительно квантовым, и даёт ли он ускорение, по сравнению с классическим)
3) Квантовая декогеренция: работа квантового компьютера целиком опирается на его пребывание в запутанном состоянии кубитов. Проблема же — запутанность очень быстро декогерирует (исчезает) при взаимодействиях с внешней средой. Изоляция кк от всех внешних воздействий (механических, тепла, света) — сложнейшая инженерная задача. Пока что, в существующих системах время декогеренции составляет от наносекунд до секунд при сверхнизких температурах (вплоть до 20 mK).
Если величина ошибок достаточно мала, предлагается использовать к. коррекцию ошибок, вносящую поправки на декогеренцию — это позволит время вычисления больше, чем время декогеренции. На данный момент, величина ошибки для каждого вентиля принимается 10−4 (вентиль должен выполнить работу за 1/10000 времени декогеренции системы).
Однако, механизм коррекции ошибок требует значительного увеличения количества кубитов. Например, для алгоритма Шора увеличение не слишком большое (N2 возрастает до N3). Так, для 1000-битного числа потребуется 104 кубитов без коррекции ошибок, и 107 с нею (время работы также составит 107 шагов).
Принципиально иной подход к проблеме стабильности-декогеренции предлагает топологический кк.
История развития:
1981 — Ричард Фейнман предложил первую идею КК. Томмасо Тоффоли предложил универсальный вентиль Тоффоли.
1984 — Чарльз Беннетт и Жиль Брассар предложили модель квантовой криптографии на открытых ключах.
1985 — Девид Дойч описал универсальный КК, и к. машину Тьюринга.
1994 — Питер Шор описал алгоритм Шора разложения больших чисел на множители.
1996 — Лов Гровер описал к. алгоритм поиска по базе данных.
1997 — Алексей Китаев описал принципы топологического КК, чтобы решить проблемы декогеренции.
1998 — первая экспериментальная демонстрация к. алгоритма: 2-кубитный КК решает задачу Дойча.
2001 — продемонстрировали работу алгоритма Шора, чтобы разложить 15=3x5. Эммануэль Книлл описал принципы оптического КК на линейных элементах.
2006 — в университете Арканзаса создали первый КК на к. точках.
2009 — создали первую ионную ловушку на полупроводнике.
Экскурс в квантовую механику
Волновая функция Ψ — это центральное понятие в к. механике, описывает к. состояние изолированной системы из одной или нескольких частиц. Т.е. одна волновая функция описывает состояние всей системы, а не отдельные функции на каждую частицу.
Волновая функция — это комплекснозначимая функция степеней свободы системы, непрерывная или дискретная.
Множество волновых функций системы образуют функциональное Гильбертово пространство (пространство называется Гильбертовым, если оно полное, и на нём определено внутреннее произведение [произведение двух векторов, дающее скаляр]). А внутреннее произведение — это мера наложения между физическими состояниями (соответствие между вероятностями перехода между физическими состояниями и внутренним произведением задаётся правилом Борна).
Развитие волновой функции по времени задаётся уравнением Шрёдингера (аналог 2го закона Ньютона, F = ma, в классической механике):
где i – мнимая единица, ħ — постоянная Планка, делённая на 2π, ∂/∂t - частная производная по времени, Ψ - волновая функция системы, Ĥ - Гамильтониан (оператор, характеризующий полную энергию волновой функции).
Математически, уравнение Шрёдингера — разновидность волнового уравнения. Отсюда корпускулярно-волновой дуализм — т. е. система, описываемая таким образом, ведёт себя как волна. (однако, волна эта — не как физическая волна, например жидкости, а волна в абстрактном математическом пространстве).
Значения волновой функции (комплексные числа) сами-по-себе ничего не говорят о величинах и направлениях наблюдаемых. Нужно применить к волновой функции квантовый оператор, чьи собственные значения соответствуют множеству возможных результатов
измерения, и вычислить статистическое распределение измеряемой величины.
Собственные вектора и значения:
Если Ax=λx, то x — собственный вектор, а λ — соответствующее ему собственное значение матрицы A (или соответствующего линейного преобразования A). Геометрически, это означает что при преобразовании A вектор x не меняет своего направления, только растягивается на величину λ.
Измерение:
Проблема квантового измерения в том, что квантовое состояние, в котором измеряется наблюдаемая величина — неопределённо. Оно мыслится как суперпозиция собственных состояний наблюдаемой — состояний, в которых наблюдаемая уникально определена. (например, спин электрона — вверх, или вниз).
Т.е. нам недоступны все λi – мы можем только измерить состояние — и с вероятностью |λi|2 получим некоторое базовое состояние |i>.
Когда осуществляется измерение состояния квантовой системы – система (по Копенгагенской интерпретации) перепрыгивает в одно из собственных состояний системы (это называется коллапс волновой функции), возвращая собственное значение, соответствующее этому состоянию. Суперпозиция состояний даёт им неодинаковые веса — чем больше вес данного состояния, тем выше вероятность, что именно оно будет измерено.
По Многомировой интерпретации, состояние системы не коллапсирует при измерении — а мы попадаем в ту или иную возможную Вселенную, где реализуется этот вариант состояния.
По Теории де Бройля — Бома состояние системы строго определённо в каждый момент времени. Эволюция конфигурации во времени задаётся с помощью «задающего уравнения» (даже при отсутствии наблюдателя) - при измерении одной частицы оно моментально задаёт положения всем остальным. Это, очевидно, нелокальная теория.
По Теории декогеренции, при взаимодействии со средой, квантовая система неизбежно теряет информацию необратимым образом (информация «утекает» в среду) — вследствие того что компоненты квантовой системы расцепляются, и сцепляются с элементами среды. Это не вызывает «действительный» коллапс волновой функции — мы только наблюдаем это как коллапс, вследствие утечки информации в среду. В то время как «глобальная» волновая функция (нашей квантовой системы + среды) сохраняется.
По Закону Борна, результат измерения наблюдаемой, соответствующей оператору A, в системе с волновой функцией ψ, будет одним из собственных значений A. И вероятность, что будет измерено данное λi- равна |<λi|ψ>|2.
Запутанность — это нелокальное свойство, позволяющее множеству кубитов испытывать большую степень соотношения, чем это возможно в классических системах. Иными словами, запутанность не зависит от расстояния между частицами, в отличие от классических феноменов — таких как ядерные, гравитационные или электромагнитные поля.
Например, два запутанных кубита в состоянии Бэлла (равная суперпозиция):
1/√2(|00>+|11>)
имеют равную вероятность, что измерение даст |00> или |11>.
Теперь разделим эти два кубита, и один дадим Алисе, а другой Бобу. Алиса измеряет свой кубит, и получает с равной вероятностью |0> или |1>. Теперь, если Боб измерит состояние своего кубита — измерение тоже будет выглядеть случайным — но когда Алиса и Боб сообщат друг другу о результатах, они окажутся одинаковыми. Это так, потому что состояние всей системы может быть только |00> или|11>.
Запутанность также позволяет действовать одновременно нескольким состояниям - в отличие от классических битов, которые могут иметь только одно значение в каждый момент времени. Запутанность — необходимый ингредиент любого квантового вычисления, которое не может быть эффективно осуществлено классическим компьютером.
Состояние Бэлла — центральный элемент знаменитого ЭПР-парадокса: как одна частица моментально «знает» о том, что сделали со второй? Это возможно только если частицы как-то заранее договорились, какой результат измерения дать (теории скрытой переменной, Эйнштейн, ОТО), или если одна моментально, т. е. быстрее скорости света, передала информацию другой (нелокальные теории, Бор, КМ). В 1964 Бэлл показал, что предсказания квантовой теории кардинально отличаются от результатов любой теории скрытой переменной. В 1981 Аспект поставил эксперимент, который подтвердил, что скорее права КМ.
Устройство
