Содержание[Скрывать][Показывать]
Быстрее, чем когда-либо прежде, мир меняется благодаря цифровым изменениям.
С надвигающимся появлением еще одной совершенно новой волны технологий, способных радикально изменить современные парадигмы с поразительной скоростью и силой: квантовых вычислений, понимание фундаментальных идей цифровой эпохи станет еще более важным.
Прорывная техника, называемая квантовыми вычислениями, использует квантовую физику для решения проблем, которые выходят за рамки возможностей обычных компьютеров.
Принципы квантовой теории показывают, как материя и энергия ведут себя в атомном и субатомном масштабе, а Qiskit от IBM — это набор для разработки квантового программного обеспечения с открытым исходным кодом, который помогает создавать системы квантовых вычислений.
В этой статье мы попытаемся объяснить это и предоставить вам обзор квантовых вычислений.
Мы объясним нашим читателям с помощью квантовых вычислений с открытым исходным кодом. SDK, т.е. Qiskit и позвольте им исследовать, используя Ноутбуки Jupyter размещен в IBM Quantum Lab.
Что такое квантовые вычисления?
Квантовые вычисления — это отрасль компьютерных наук, которая фокусируется на разработке компьютерных технологий с использованием идей квантовой теории.
Он использует исключительную способность субатомных частиц одновременно существовать во многих состояниях, таких как 0 и 1.
Они способны обрабатывать намного больше данных, чем обычные компьютеры.
В процессах квантовых вычислений кубит создается с использованием квантового состояния объекта. Важнейшими частями информации в квантовых вычислениях являются кубиты.
Они выполняют ту же функцию, что и биты в обычных вычислениях в квантовых вычислениях, но действуют совсем по-другому. Квантовые вычисления — это область, возникшая в 1980-х годах.
Затем было обнаружено, что квантовые алгоритмы более эффективны при выполнении некоторых компьютерных задач, чем их классические аналоги.
Суперпозиция и запутанность, два понятия из квантовой физики, являются основой, на которой основаны эти суперкомпьютеры.
По сравнению с обычными компьютерами квантовые компьютеры в настоящее время могут выполнять работу на несколько порядков быстрее, потребляя гораздо меньше энергии.
Мы должны приступить к работе квантовых компьютеров, чтобы полностью понять ее. Давайте начнем сейчас.
Как на самом деле работает квантовый компьютер?
По сравнению с традиционными компьютерами, к которым мы привыкли, квантовые компьютеры по-другому подходят к решению задач. Для некоторых задач квантовые компьютеры предпочтительнее традиционных по ряду причин.
Причиной считается их способность существовать во многих состояниях одновременно. С другой стороны, обычные компьютеры могут одновременно находиться только в одном состоянии.
Чтобы понять, как работают квантовые компьютеры, вы должны усвоить три ключевых понятия:
- Суперпозиция.
- Запутанность.
- Вмешательство.
суперпозиция
Биты являются фундаментальными компонентами традиционных компьютеров. Квантовые биты, или кубиты, являются основными единицами квантовых компьютеров.
По сути, квантовые биты работают по-другому. Двоичный бит, иногда называемый традиционным битом, представляет собой переключатель, который может принимать значение 0 или 1.
Мы получаем текущее состояние бита, когда измеряем его. Кубиты являются исключением. Кубиты можно сравнить со стрелками, указывающими в трех измерениях.
Они находятся в состоянии 0, если они направлены вверх. Они находятся в состоянии 1, если они направлены вниз. То же самое и с классическими битами.
Однако они также могут выбрать состояние суперпозиции.
Стрелка находится в состоянии, когда она указывает в любом другом направлении. Суперпозиция 0 и 1 приводит к этому состоянию. Кубит по-прежнему будет выдавать либо 1, либо 0 в результате измерения.
Однако ориентация стрелки определяет релевантную вероятность.
Вы, скорее всего, получите 1, если стрелка в основном указывает вниз, и 0, если она в основном указывает вверх.
У вас будет 50% шанс на победу для каждого, если стрелка находится в центре. Короче говоря, это суперпозиция.
запутывание
Биты в традиционном компьютере не зависят друг от друга. Состояние одного бита не влияет на состояние другого бита.
Кубиты в квантовых компьютерах могут запутаться друг с другом. Это означает, что они сливаются в одно большое квантовое состояние.
Для иллюстрации рассмотрим два кубита, которые находятся в различных состояниях суперпозиции, но еще не запутались. В настоящее время их вероятность не зависит друг от друга.
Когда мы их запутываем, мы должны отбросить эти независимые вероятности и определить вероятности всех альтернативных состояний, которых мы можем избежать, а именно 00, 01, 10 и 11.
Распределение вероятностей всей системы изменится, если направление стрелки на одном кубите изменится из-за того, что кубиты запутаны.
Независимость кубитов друг от друга утрачена. Каждый из них является составной частью одного и того же значительного государства. Независимо от того, сколько у вас кубитов, это все равно так.
Существует возможная комбинация 2n состояний для квантового компьютера с n кубитами.
У вас есть распределение вероятностей по двум состояниям, например, для одного кубита. У вас есть распределение вероятностей по четырем состояниям для двух кубитов и т. д. Основное различие между классическими и квантовыми компьютерами заключается в следующем.
Вы можете привести классические компьютеры в любое состояние, которое вы выберете, но только по одному за раз. Все эти состояния могут одновременно существовать на квантовых компьютерах как суперпозиция.
Какая польза компьютеру от одновременного пребывания во всех этих состояниях? В этот момент вступает последний элемент вмешательства.
Вмешательство
Квантовая волновая функция может использоваться для описания состояния кубита.
Фундаментальное математическое описание всего в квантовой физике обеспечивается волновыми функциями.
Когда множество кубитов запутано, их отдельные волновые функции объединяются вместе, образуя единую волновую функцию, которая описывает общее состояние квантового компьютера.
Интерференция является результатом сложения этих волновых функций. Когда волны складываются вместе, они могут конструктивно взаимодействовать и объединяться, чтобы создать большую волну, как это происходит с водной рябью.
Они также могут взаимодействовать деструктивно, противодействуя друг другу. Различная вероятность различных состояний определяется общей волновой функцией квантового компьютера.
Мы можем изменить вероятность возникновения определенных состояний при измерении квантового компьютера, изменив состояния различных кубитов.
Хотя квантовый компьютер может существовать одновременно в нескольких суперпозициях состояний, измерения выявляют только одно из этих состояний.
Следовательно, при использовании квантового компьютера для выполнения вычислительной работы необходимо конструктивное вмешательство, чтобы повысить вероятность получения правильного ответа, и деструктивное вмешательство, чтобы снизить вероятность получения неправильного ответа.
Теперь давайте начнем с Qiskit.
Что такое Кискит?
Qiskit — это программная платформа, финансируемая IBM, призванная облегчить каждому вход в область квантовых вычислений.
Поскольку квантовые компьютеры трудно достать, вы можете получить их через облачного провайдера, такого как IBM, используя их набор инструментов Qiskit.
Он доступен бесплатно, и весь его код с открытым исходным кодом.
Есть онлайн учебник который учит вас всем основам квантовой физики, что очень полезно для тех, кто не знаком с предметом. Python используется для разработки инструментария Qiskit.
Итак, если вы знакомы с языком программирования Python, вы узнаете много кода.
Программный фреймворк подходит для тех, кто хочет узнать о квантовых вычислениях а также получить практический опыт.
Наиболее фундаментальным аспектом Qiskit является то, что он работает в два этапа. Одним из шагов является этап построения, на котором мы создаем несколько квантовых схем и используем эти схемы для решения задачи.
Затем, после завершения этапа сборки или достижения решения, мы переходим к следующему этапу, известному как этап выполнения, на котором мы пытаемся запустить нашу сборку или решение в различных бэкэндах (бэкэнд с вектором состояния, унитарный бэкэнд, открытый Серверная часть ASM), и после завершения запуска мы обрабатываем данные в сборке для получения желаемого результата.
Начало работы с Qiskit
На своем персональном компьютере или Jupyter Notebook, размещенном в IBM, вы можете установить его локально. Напишите следующий код для локальной установки на компьютер с Windows:
Нам нужно зарегистрироваться здесь, чтобы получить доступ к токену API, который позволяет нам использовать квантовые устройства IBM, а затем мы сможем начать работу с веб-сайтом компании. Вы можете представить себе это, используя Jupyter Notebook, установленный Qiskit, работающий онлайн.
Вы можете получить к нему доступ, выбрав свой профиль в меню в правом верхнем углу страницы, а затем выбрав информацию об учетной записи. Вы можете найти свой токен API в разделе о токенах API в форме ***. Он копируется, а затем вводится в следующий код:
После выполнения этого кода ваш токен API будет сохранен на вашем компьютере, что позволит вам использовать квантовые устройства IBM. Введите следующее, чтобы определить, есть ли у вас доступ к такому устройству:
Если вышеупомянутый код работает, вы сможете запускать код не только на своем компьютере, но и путем отправки встроенных квантовых схем на квантовые устройства IBM и получения результатов.
Итак, используя библиотеку схем, мы можем приступить к разработке нашего первого квантового алгоритма. Начнем с импорта необходимых зависимостей из Qiskit в наш проект.
Затем мы создаем двухкубитный квантовый регистр и двухбитный обычный регистр.
Итак, теперь у нас есть и классический, и квантовый регистры. Используя эти два, мы можем построить схему, и если в любой момент модификации схемы вы захотите набросать, как выглядит квантовая схема, напишите следующий код:
Из рисунка видно, что схема состоит из двух квантовых битов и двух классических битов.
Как бы то ни было, в этой схеме отсутствуют вентили, что делает ее неинтересной. Теперь давайте построим схему с использованием квантовых вентилей. Как классический логические ворота (Вентили И, ИЛИ) предназначены для обычных цифровых схем, квантовые вентили являются фундаментальными компонентами квантовых схем.
Применение вентиля Адамара к первому кубиту — это первый шаг к созданию запутанности. Затем, используя следующий код, мы добавим операцию x, управляемую двумя кубитами:
Теперь, когда эти два оператора использовались для построения нашей квантовой схемы, пришло время измерить квантовые биты (кубиты), выполнить эти измерения и сохранить их в классических битах. Давайте создадим необходимый код для этого:
На приведенной ниже диаграмме показана схема нашей схемы:
Затем схема должна быть запущена на традиционном компьютерном симуляторе. Цепь завершена. И изучить результаты этого исполнения.
Информация, полученная при выполнении этой схемы, сохраняется в переменной результата. Давайте отобразим эти результаты, используя гистограмму графика.
Вот что происходит, когда мы запускаем нашу квантовую схему. Для чисел 00 и 11 мы получаем вероятности около 50%. Ваша первоначальная схема квантового компьютера была построена. Поздравляем!
Приложения квантовых вычислений Qiskit
Кискит Финанс
Qiskit Finance предлагает набор демонстрационных инструментов и приложений. К ним относятся трансляторы Ising для оптимизации портфеля, поставщики данных для фактических или случайных данных и реализации для оценки различных финансовых вариантов или оценки кредитного риска.
Кискит Природа
Приложения, такие как сворачивание белков и электронная/вибронная структура вычисления как для возбужденных, так и для основных состояний поддерживаются Qiskit Nature.
Он предлагает все части, необходимые для соединения классических кодов и автоматического преобразования в различные представления, необходимые для квантовых компьютеров.
Машинное обучение Qiskit
Квантовый обучение с помощью машины методы, которые используют их для решения различных проблем, таких как регрессия и классификация, предоставляются Qiskit Machine Learning, а также фундаментальные квантовые ядра и квантовые нейронные сети (QNN) в качестве строительных блоков.
Он также позволяет подключать QNN к PyTorch для включения квантовых элементов в классические операции.
Qiskit Оптимизация
Qiskit Optimization предлагает весь спектр услуг по оптимизации, включая высокоуровневое моделирование проблем оптимизации, автоматический перевод проблем в различные необходимые представления и набор простых методов квантовой оптимизации.
Заключение
В заключение, в то время как самому быстрому суперкомпьютеру, доступному сейчас, требуются годы, квантовые компьютеры могут быстро взломать существующие методы шифрования.
Несмотря на то, что квантовые компьютеры смогут взломать многие используемые сегодня методы шифрования, ожидается, что они создадут защищенные от взлома заменители.
Оптимизация задач — сильная сторона квантовых компьютеров. Для получения дополнительной информации, пожалуйста, посетите Qiskit GitHub.
Оставьте комментарий