Квантовые цепи и вентили — вводный курс |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2018-04-09 10:49 Мы продолжаем цикл квантовых статей. Сегодня углубимся в формулы и поймем, как можно манипулировать кубитами — элементарными вычислительными единицами. Кроме того, рассмотрим принципы цепей и алгоритмов. Подробнее под катом!
Введение Задача этой статьи — помочь вам быстро познакомиться с основными принципами работы квантовых вентилей и понять, как эти вентили объединяются в цепи, наглядно представляющие квантовые алгоритмы (некоторые из них мы обсудим в последующих публикациях). Основы: квантовые состояния Начнем с основ — с обозначений некоторых распространенных квантовых состояний, которыми мы будем впоследствии манипулировать: Состояния Белла и состояния ГХЦ очень важны, потому что их поведение кардинально отличается от предсказаний классической теории из-за уровня запутанности в таких системах (этот принцип «максимальной запутанности» будет рассмотрен в одной из последующих публикаций). Основы: радианы Углы поворота в теории квантовых вычислений измеряются в радианах. Полная окружность (360°) соответствует 2? радиан. Углы измеряются против часовой стрелки. Ниже показаны величины важнейших углов в градусах и в радианах. Основы: диаграммы квантовых цепей Перед тем как углубляться в изучение квантовых вентилей, следует изучить основы построения диаграмм квантовых цепей (это не займет много времени):
Вот обозначения важнейших элементов: Более подробная информация приводится в документации здесь и в книге М. Нильсена и И. Чанг «Квантовая информация и квантовые вычисления». Однокубитные вентили Однокубитные вентили закономерно являются самыми простыми, поэтому мы начнем с них. Операцию, выполняемую любым однокубитным вентилем, можно представить как поворот вектора, характеризующего состояние кубита, в другую точку сферы Блоха (см. ниже).
Вентиль Y ожидаемо соответствует повороту вектора вокруг оси y на ? радиан. В результате такой операции вектор |0? превращается в i|1?, а |1? — в -i|0?. Вентиль Z представляет собой особый случай вентиля фазового сдвига (см. ниже) при фи = ? = 180°. Он соответствует повороту вектора вокруг оси z на ? радиан. Вектор |0? он оставляет без изменений, а |1? преобразует в -|1?. Ниже работа этих преобразований проиллюстрирована с помощью сферы Блоха (ось вращения в каждом случае выделена красным; на картинку можно нажать, чтобы увеличить ее): Важно отметить, что после двукратного применения одного и того же вентиля Паули к кубиту он перейдет в исходное состояние (потому что после поворота вектора на 2? радиан или 360° вокруг любой оси он перейдет в начальное положение). Как следствие, Поскольку и т. д., Здесь II — обозначение единичной матрицы: . Единичной называется матрица, результат умножения которой на произвольную матрицу M (II) равен матрице M: MII = IIM = M. Единичная матрица соответствует квантовой операции, которая не меняет квантовое состояние. На сфере Блоха это выглядит так: Ввиду этого отношения говорят, что матрица Паули в квадрате равна единичной матрице. Ниже приводится описание еще нескольких важных однокубитных вентилей.
Вентиль фазового перехода представляет достаточно общую операцию, у которой есть множество полезных применений. Самые распространенные его вариации — вентили сдвига фазы на ?/4, ?/8 и Паули-вентиль Z, для которых параметр фи равен ?/2, ?/4 и ? соответственно. Пример фазового сдвига на сфере Блоха: Многокубитные вентили Многокубитные вентили выполняют операции над двумя или более кубитами. Один из простейших примеров — вентиль SWAP:
Еще один класс многокубитных вентилей — так называемые управляемые вентили. На вход любого управляемого вентиля подается по меньшей мере один управляющий и один управляемый кубит, причем вентиль выполнит операцию над управляемым кубитом только в том случае, если управляющий кубит находится в определенном состоянии. Вентили, которые выполняют операцию при управляющем кубите |1?, обозначаются заполненным кругом на проводе управляющего кубита. Вентили, которые выполняют операцию при управляющем кубите, равном |0?, обозначаются пустой окружностью, как показано ниже. Для того чтобы составить матрицу любого управляющего вентиля, нужно дописать единичную матрицу в левом верхнем углу матрицы нужного вентиля, а все остальные ячейки заполнить нулями. Вот пример: Обычные вентили в Q# можно преобразовать в управляющие с помощью ключевого слова Controlled, как описано здесь (в разделе «Controlled» в самом низу страницы). Например, вентиль CNOT (напомним, что вентиль NOT эквивалентен X-вентилю Паули) можно получить командой
где [control] — массив входных управляющих кубитов. Ниже описаны другие распространенные управляемые вентили (мы выделили единичную матрицу красным, а матрицу исходного вентиля — синим, как выше):
Универсальные наборы Как мы уже упоминали в предыдущей публикации, вне зависимости от того, с помощью какой физической системы мы имитируем квантовый компьютер, должна иметься возможность реализовать «универсальный набор» вентилей. Это значит, что любая допустимая вычислительная операция в нашей системе должна быть преобразуема к конечной последовательности известных вентилей. Вот пример такого универсального набора: вентиль Адамара, вентиль фазового сдвига, вентиль CNOT и вентиль ??8. Свойство универсальности гораздо интереснее, чем может показаться на первый взгляд. Если в квантовом компьютере существует универсальный набор вентилей, то любое преобразование, которое допускают законы квантовой физики, можно реализовать с его помощью. Это значит, что с помощью универсального набора можно не просто выполнить любую квантовую программу, а имитировать любое физическое явление. Поэтому свойство универсальности позволяет использовать квантовые компьютеры для моделирования молекул, сверхпроводников и любых странных и прекрасных квантовых систем. Эта особенность квантовых компьютеров позволяет имитировать физические явления, что в перспективе позволит квантовым системам превзойти потенциал самых мощных суперкомпьютеров. Уже не скучно, правда? Нас ждет еще много интересного! С помощью этих (и некоторых других) важнейших вентилей уже можно создавать полнофункциональные квантовые цепи! В следующей публикации я расскажу, как с помощью этих новоприобретенных знаний можно реализовать квантовое преобразование Фурье — очень важную операцию, у которой есть огромное множество практических применений. Источник: habrahabr.ru Комментарии: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||