Хорошо, квантовые вычисления — это не то, чем вы будете иметь дело в ближайшем будущем, если только вы не работаете в университете или компании, специализирующейся на данных технологиях, поскольку фактическое оборудование еще не готово для установки на ваш смартфон. Например, 128-кубитный сверхпроводящий процессор адиабатической квантовой оптимизации D-Wave Systems нуждается в вспомогательном оборудовании для поддержания рабочей температуры (рисунок ниже).
Если бы эти квантовые компьютеры работали как обычные процессоры, то можно было бы просто взять их программу на C и перенести ее на квантовый компьютер. К сожалению, это не так.
К счастью, разработчики могут использовать такие инструменты, как набор для разработки квантового программного обеспечения Cambridge Quantum (CQ) TKET (произносится как «билет» (ticket)), чтобы не только ориентироваться на оборудование для квантовых вычислений, но также программировать и запускать приложения, подходящие для квантовых вычислений в программном обеспечении. Получение практического опыта может быть очень полезным для понимания того, что выполнимо и как это будет программироваться в будущем.
Бесплатный TKET с открытым исходным кодом позволяет разработчикам переводить алгоритмы в квантовые схемы. Полученные приложения можно использовать с рядом квантовых аппаратных платформ и инструментов квантового программирования без необходимости переписывать код.
TKET существует с 2018 года, но совсем недавно перешел на открытый исходный код. Он не зависит от платформы и будет работать с большинством коммерчески доступных платформ квантового оборудования. Сюда входит оборудование таких компаний, как Google, Honeywell, IBM и IonQ. TKET также работает с инструментами квантового программирования с открытым исходным кодом, такими как Cirq, Qiskit и Pennylane.
Алгоритмы и кубиты (qubits)
Разработка алгоритмов, работающих с физическими макетами кубитов каждой отдельной платформы, может оказаться сложной задачей. TKET помогает переводить машинно-независимые алгоритмы в исполняемые схемы. Затем схемы оптимизируются для точной компоновки кубитов каждой платформы. Этот процесс сокращает количество шагов, необходимых для запуска алгоритма. Это гарантирует, что результаты и выходы будут максимально надежными, даже при использовании шумных квантовых устройств промежуточного масштаба (NISQ).
NISQ — это название игры в наши дни, поскольку кубиты внутри современного квантового оборудования нестабильны и быстро становятся «шумными». Они могут потерять согласованность и перестать давать четкие результаты при запуске алгоритма. Еще в мае исследователи из CQ разработали квантовый алгоритм, который помогает решать задачи, связанные со сложной интеграцией Монте-Карло. Монте-Карло — математический процесс, используемый для оценки вероятности усреднения выборок; он имеет решающее значение для анализа финансовых рисков, разработки лекарств, логистики цепочки поставок, а также для других деловых и научных приложений. Программное обеспечение TKET также было использовано для дальнейшего прорыва — CQ смогла продемонстрировать «новаторские доказательства» того, что квантовые компьютеры могут научиться применять «разум», когда сталкиваются с неполной информацией или неопределенностью.
«TKET сочетает высокоуровневую аппаратно-независимую оптимизацию квантовых схем с целевыми этапами компиляции для выбранного квантового устройства», — сказал доктор Росс Дункан, руководитель отдела программного обеспечения CQ. «Это помогает пользователям квантовых вычислений плавно перемещаться между квантовыми платформами, сохраняя при этом стабильно высокую производительность. Пользователям нужно только сосредоточиться на разработке своих квантовых приложений, а не на переписывании кода с учетом особенностей какого-либо конкретного оборудования. В то же время мы помогаем производителям оборудования для квантовых вычислений обеспечить максимальную производительность своих процессоров».
Квантовые вычисления — это пока новинка, но они предлагают множество возможностей, во многом схожих с тем, как машинное обучение превратилось из академической дисциплины в широкий спектр приложений.