ПРОТОТИП 50-КУБИТНОГО КВАНТОВОГО КОМПЬЮТЕРА КОМПАНИИ IBM. ФОТО: IBM
Ближе к человеку
Еще одна большая задача — программное обеспечение квантовых вычислений, которое выстраивает связь от квантового процессора к конечному потребителю. Для этого требуется несколько уровней сложнейшей математики. Первый уровень, который очень близок к физике, решает задачи, как на конкретной физической платформе реализовать операции: проанализировать, какие состояния наилучшим образом подходят для реализации, и, выбрав достаточное количество простых операций, построить из них универсальный набор квантовых логических элементов. Кроме того, необходимы методы оптимального управления состояниями квантового процессора, то есть нужно правильно построить систему и защитить ее от внешнего окружения. На этом этапе теоретики очень плотно общаются с экспериментаторами и интересуются, как работают кубиты, какие операции можно делать параллельно, а какие — обязательно последовательно, какие кубиты можно измерять, а какие — нет.
Дальше идут методы подавления и исправления ошибок. Из-за воздействия декогеренции — потери квантовой информации — возникают ошибки в ходе вычислений, и математически можно либо подавить их влияние на вычисления, либо вовсе их устранить. Это уже квантовые аналоги кодов коррекции ошибок в классических вычислениях. «В квантовом мире суперэффективных кодов коррекции ошибок пока нет, — утверждает профессор МФТИ, руководитель научной группы "Квантовые информационные технологии" Алексей Федоров, который и занимается теоретическим сопровождением проекта квантовых вычислений. — Это одна из больших задач».
На следующем уровне абстракции есть квантовый компьютер как ресурс, работающий с ошибками или без. И нужно понять, как построить квантовый алгоритм для решения конкретных задач. Как заставить эту квантовую магию работать? «Строить квантовые алгоритмы — настоящее искусство, — говорит Алексей,. — Их придумано не так много за последнее время — десятки. Это почти магия — заставить квантовую физику работать над решением конкретных задач».
На все это наслаивается более прикладная, но не менее интересная задача — как встроить все это в традиционные инструменты для разработки программного обеспечения? Потому что конечные пользователи систем вовсе не специалисты по квантовым вычислениям. Требуется создать набор библиотек или алгоритмов для традиционных средств разработки, чтобы специализированные задачи отправлялись на квантовые процессоры — QPU, как сейчас графика обрабатывается на специализированных графических процессорах — GPU. Имея такой инструмент, очень абстрагированный от реального «железа», можно максимально приблизиться к конечному пользователю.
Однако это еще не все. «Часть пользователей квантовых компьютеров — ученые, — говорит Алексей Федоров. — Для них нужно создать графическую и максимально приближенную к квантовому компьютеру среду разработки. Чтобы люди обучались и понимали, как работает квантовый компьютер. Чтобы они выбирали кубиты и делали с ними реальные логические операции».
И все это — за четыре года.
#разноевсякоеинтересное
Нет комментариев