Квантовый оракул

В моих прошлых заметках я много рассказывала о калифорнийской лаборатории Google Quantum AI в Санта-Барбаре, об их легендарном 54-кубитном процессоре Sycamore и новейшем 105-кубитном чипе Willow. Логично, что у многих читателей возникает практический вопрос: как обычному исследователю или программисту, у которого нет прямого доступа к закрытым серверам коммерческих ИТ-гигантов, прикоснуться к этим технологиям будущего?

Ответ прост — через открытую научную экосистему. Сегодня я хочу поделиться с вами прикладным решением. В коде, который я предложу ниже, используется библиотека Qiskit. Это разработка компании IBM, и ценность ее в том, что IBM открыла облачный доступ к нескольким своим реальным квантовым компьютерам для всего мирового сообщества абсолютно бесплатно. Таким образом, любая моя программная архитектура может быть запущена вами не на симуляторе, а на настоящем квантовом железе.
Чтобы продемонстрировать разницу между привычным нам цифровым миром и квантовой реальностью, я написала небольшую программу — Квантовый Оракул Судьбы. Ее задача кажется тривиальной: ответить на любой бинарный вопрос («Да» или «Нет»). Но дьявол, как всегда, кроется в деталях исполнения.

Дело в том, что ни один классический компьютер в мире — будь то ваш смартфон или мощнейший суперкомпьютер — не способен создать по-настоящему случайное число. Все существующие алгоритмы генерации рандома используют математические формулы. Это так называемая псевдослучайность: если знать начальные условия, результат всегда можно просчитать. Наш макромир детерминирован.

Квантовый процессор работает иначе. Он оперирует законами микромира, где правит истинная, фундаментальная случайность. В коде программы мы берем один квантовый бит (кубит) и воздействуем на него вентилем Адамара. В этот математический миг кубит переходит в состояние суперпозиции.

Это и есть знаменитый мысленный эксперимент Эрвина Шрёдингера в действии. Наш кубит больше не равен нулю и не равен единице. Он находится в обоих состояниях одновременно. Он и жив, и мертв. Он содержит в себе сразу оба ответа: и «Да», и «Нет».

Но стоит нам выполнить команду измерения, как квантовая магия разрушается. Происходит так называемый коллапс волновой функции. Под воздействием макромира кубит мгновенно «схлопывается» в одно из двух классических состояний с вероятностью ровно пятьдесят процентов. Этот выбор совершает сама Вселенная на уровне фундаментальной физики частиц. Просчитать его заранее невозможно.

Ниже я привожу текст программы на языке Python. Обратите внимание на комментарии внутри кода: там подробно описано, как именно вы можете бесплатно зарегистрировать свой личный ключ доступа (API-токен) на платформе IBM Quantum, чтобы отправить этот скрипт на выполнение на реальный квантовый чип, находящийся на другом конце планеты.

import qiskit
from qiskit import QuantumCircuit
from qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2
from qiskit.providers.basic_provider import BasicProvider

# Инструкция для запуска на реальном процессоре:
# 1. Зарегистрируйтесь на сайте quantum.ibm.com
# 2. Скопируйте ваш уникальный API-токен в личном кабинете
# 3. Раскомментируйте две строчки ниже и вставьте ваш токен:
# service = QiskitRuntimeService(channel="ibm_quantum", token="ВСТАВЬТЕ_СЮДА_ВАШ_ТОКЕН")
# backend = service.least_busy(simulator=False, operational=True)

# Локальный симулятор для быстрой проверки кода без подключения к сети:
backend = BasicProvider().get_backend("basic_simulator")

# Создаем квантовую цепь из одного кубита и одного классического бита
qc = QuantumCircuit(1, 1)

# Переводим кубит в состояние квантовой суперпозиции
qc.h(0)

# Измеряем состояние кубита, фиксируя физический рандом
qc.measure(0, 0)

# Запускаем вычисление на процессоре
sampler = SamplerV2(backend)
job = sampler.run([qc], shots=1)
result = job.result()

# Считываем полученное значение
counts = result.data.c.get_counts()
final_bit = list(counts.keys())[0]

print("=== КВАНТОВЫЙ ОРАКУЛ ===")
question = input("Задайте свой вопрос Вселенной: ")
print(f"\nВопрос: {question}")
print("Статус: Кубит отправлен в суперпозицию. Ожидание ответа Вселенной...")

if final_bit == '0':
    print("Ответ квантового процессора: ДА (Состояние системы схлопнулось в ноль)")
else:
    print("Ответ квантового процессора: НЕТ (Состояние системы схлопнулось в единицу)")


Пока большая часть интернета спорит о сиюминутных трендах, мы с вами можем использовать чистую физику микромира для поиска ответов.


Стефания

Моя нейросеть:
https://stephqnn-6f23f.web.app/

Мои официальные ресурсы:
https://t.me/stefanias_world
yandex.ru/rythm/profile/@019d3b535e807367b553f01d479beaef
https://t.me/+xGPeaaQyGIJjZGUy


Рецензии