- Процедурная генерация с помощью квантовых вычислений
- Что надо знать о квантовых вычислениях
- Что такое квантовые вычисления?
- Чем квантовый компьютер отличается от обычного?
- Какие платформы обсуждаются в связке с квантовыми компьютерами?
- Что такое облачная платформа для квантовых вычислений?
- В каких областях квантовый компьютер будет особенно актуален?
- Финансы
- Медицина и фармацевтика
- Логистика
- Информационная безопасность
- Химическая промышленность
- Какие квантовые компьютеры уже есть в мире и в России?
Процедурная генерация с помощью квантовых вычислений
Сегодня разберем выступление Джеймса Вуттона из IBM Quantum на конференции FDG 2020. Речь пойдет о квантовых вычислениях — потенциально многообещающей технологии, для которой, однако, на современном этапе развития находится мало применения. И все же одно из них нашлось в процедурной генерации.
Поговорим подробнее, как реализовать ее на кубитах, а также приведем коды программы.
Начнем с того, что такое квантовые компьютеры и насколько потенциально полезными они могут оказаться. Не станем сильно углубляться в технические подробности. Просто упомянем, что квантовые компьютеры представляют собой совершенно иную модель вычислений, нежели цифровые и аналоговые. Они не просто ускоряют обычное программное обеспечение с помощью квантов. Вместо этого они требуют совершенно другого подхода к реализации программ, а также другого оборудования для их запуска.
Однажды квантовые вычисления смогут выполнять определенные задачи намного эффективнее, чем цифровые или аналоговые. Это позволит нам разобраться с проблемами, которые в настоящее время решить невозможно. Спустя десятилетия исследований было выявлено множество квантовых алгоритмов, наиболее эффективно показывающих эти преимущества по отношению к ряду возможных приложений — в том числе в области процедурной генерации. К ним относятся задачи оптимизации, удовлетворения ограничений, анализа графов и другие.
Создание компьютеров, способных выполнять квантовые вычисления, — задача сама по себе непростая и находящаяся в процессе решения уже долгие годы. Одним из важных параметров описания квантового устройства является количество кубитов. По факту, это те же биты, но реализованные квантовым способом — а потому имеющие больше состояний, нежели привычные 0 и 1. В разрезе квантовой физики мы можем записать значения битов при помощи пары ортогональных векторов: |0⟩ и |1⟩. В случае кубитов к описанию состояний добавятся еще комплексные амплитуды c0 и c1, удовлетворяющие условию: |c0| 2 + |c1| 2 = 1, благодаря чему и достигается большее число состояний кубита c0|0⟩ + c1|1⟩.
Для запуска флагманских алгоритмов нам необходимы многие тысячи кубитов, чего у нас не будет еще в ближайшие несколько лет.
В настоящее время у нас в распоряжении нет многих тысяч кубитов или даже одной тысячи. Если честно, у нас нет даже ста кубитов. Самое большое устройство, которое нам доступно на данный момент, имеет 65 кубитов. Хотя этого недостаточно для запуска наиболее интересных и эффективных алгоритмов, которые нам известны, даже такое число кубитов может обеспечить результаты, которых не стоит ожидать от обычных компьютеров. Об этом свидетельствует сложность эмуляции таких устройств, для которой вам потребуется взять напрокат самый большой в мире суперкомпьютер.
Итак, квантовое аппаратное обеспечение может предложить нам уникальные ответы, но за прошедшие десятилетия мы так и не научились задавать правильные вопросы. Поэтому основная цель наших текущих исследований — попытаться как можно скорее выяснить, как сделать что-нибудь полезное с этими машинами.
Есть и более скромные по мощностях устройства, состоящие из порядка 20 кубитов. А квантовые программы, задействующие до 15 кубитов, IBM даже выложили в бесплатный общий доступ. Кроме того, они создали программное обеспечение для эмуляции, которое поможет при проектировании и тестировании квантовых программ. И хотя эмуляция более 50 кубитов представляет собой сложную вычислительную задачу, даже ваш ноутбук без проблем справится с эмуляцией примерно 20 кубитов.
Все факторы вместе делают 20 кубитов важной вехой. Независимо от того, используем ли мы реальное квантовое оборудование или его эмуляцию, запустить квантовое ПО подобного уровня не составляет особых проблем.
Итак, что же все это значит для процедурной генерации? Зависит от того, на какую из трех эпох вы ориентируетесь: сегодняшнюю, готовую предоставить лишь десятки кубитов; на ближайшее будущее, когда устройства будут иметь сотни кубитов; или на далекое будущее, когда нам будут доступны более тысячи кубитов.
Если говорить о сегодняшнем дне, квантовое программное обеспечение, ориентированное на мощность лишь 20 кубитов, еще не может делать ничего уникального. Сам факт, что мы можем запустить его на эмуляторе, означает, что вам даже не понадобится квантовое оборудование. Но могут ли квантовые программы все-таки сделать что-нибудь полезное? Можем ли мы написать квантовую программу на 20 кубитов, которая будет давать результаты, полезные для реального конечного пользователя?
Если мы сможем достичь действительно полезных результатов с помощью 20 кубитов, со временем и увеличением вычислительной мощности этот эффект будет только умножаться. Средняя эра станет эпохой исследования все более сложных способов квантовых вычислений, действенных в том числе для процедурной генерации. Мы перейдем к созданию инструментов, о которых, вероятно, и не подумали бы, если бы не мыслили категориями квантов.
Но не будем забегать вперед. Первый шаг к эре расширения полезности — доказать, что даже квантовое программное обеспечение, рассчитанное на 20 кубитов, может оказаться полезным. Этим мы и займемся.
А теперь пришло время уточнить некоторые детали.
Процедурная генерация означает, что нам нужно что-то сгенерировать. Но что?
Генерация ландшафта — самое очевидное, так что давайте начнем с нее.
Шум Перлина — повсеместный инструмент для процедурной генерации ландшафта. Но существует и еще один, гораздо менее сложный метод его создания — с помощью набора случайных точек с последующим их размытием. Реализация чего-то подобного показалась нам более достижимой целью для первого шага, поэтому ее мы и возьмем за основу.
Начнем с разработки способа кодирования карт высот в виде квантовых схем, которые являются фундаментальными элементами квантового программного обеспечения. Они имеют некоторое сходство с моделями булевых схем для цифровых вычислений. Кубиты — по сути те же самые биты, претерпевающие различные изменения по мере выполнения вычислений.
Будем работать с черно-белыми изображениями, где яркость пикселя может иметь значение от 0 до 1. Точно так же их можно принять за карты высот. Как только мы научимся кодировать эти карты высот в виде схем, мы сможем ими управлять. Используемая кодировка направлена на то, чтобы сжать как можно больше точек в как можно меньшее количество кубитов. Этот способ не оставляет большой гибкости для обеспечения удобного и гибкого управления. При этом практически любое изменение схемы вызовет интерференционные эффекты.
В основном мы используем операции, которые можно рассматривать как частичные формы логического элемента НЕ. Применительно к обычным битам НЕ меняет значение с 0 на 1 и наоборот. С помощью квантовых вентилей мы можем параметризовать этот элемент для выполнения операции, которая может выполнять половину НЕ, или четверть, или любую другую дробную часть, которую можно представить набором из 2 n амплитуд n кубитов.
Приведенная ниже функция преобразует исходное изображение в квантовую схему:
Затем нам необходимо произвести обратный процесс — преобразовать квантовую схему в изображение:
Если мы применим эту операцию ко всем кубитам, сможем увидеть, как изменяется карта высот по мере увеличения дроби. Получится что-то вроде эффекта размытия. Затем возникнут интерференционные эффекты, создающие паттерн, который невозможно получить путем простого размытия.
В примере выше в (a) мы начинаем с пары, казалось бы, произвольных точек. Постепенно они претерпевают размытие, после чего на них накладываются интерференционные эффекты. Это приводит к появлению паттерна — в нашем случае по типу шахматной доски на (f). Этот конкретный результат имеет явную связь с двумя пикселями, с которых мы начинали. Если взять за отправную точку другие данные, результат тоже окажется совсем другой.
Метод квантового размытия был создан и протестирован на нескольких гейм-джемах. В основном его используют для генерации текстур и карт уровней.
После генерации этих карт задействуем их для квантового аналога высокочастотного шума Перлина.
Итак, теперь мы создаем основной профиль — например, острова — каким-то другим способом — как в © в нашем примере. Затем нам понадобится начальный набор пикселей, как в (a). Квантово его размываем, чтобы сгенерировать паттерн, подобный (b). После этого наносим его на основной профиль для создания окончательного ландшафта.
Здесь вы можете увидеть 2D-пример, а также 3D-рендеринг, который использовался в обучающей игре IBM QiskitBlocks. Такие детали, как информация о типе травы и размещении деревьев в 3D-рендеринге, также были разработаны с использованием квантовых операций.
Поскольку RGB-изображения, как правило, представляют собой три совмещенные вместе карты высот, мы также можем управлять этими изображениями. Таким образом просто создавать какие-то странные картинки с использованием наложения. Сложнее, но эффективнее — кодирование пары изображений и создание между ними эффекта телепортации.
Квантовая телепортация передает информацию между кубитами. Таким образом, мы берем два кубитовых регистра одинакового размера и просто меняем их состояния. Используем эту операцию для создания анимации перехода.
Подобная идея кодирования также может быть использована для других форм данных. Вуттон пробовал использовать ее на музыке:
Приведем еще два важных для нас примера. Один из них — игровая студия, использующая этот метод для процедурной генерации в будущей игре. Проект имеет научно-фантастический сеттинг, и квантовый метод привносит в него подлинный привкус науки.
Также художница Либби Хини использовала некоторые из этих идей в качестве отправной точки для своих работ.
Animation of my body with a 22 qubit quantum computer. Each frame after the 1st is generated by the QC. My body exists throughout but the quantum computer alters the perspective we see it from, folding & unfolding the image into alternative dimensions away from the picture plane. pic.twitter.com/byhUY1eqUa
Квантовая природа вычислений подчеркивается в обоих этих случаях: для пользователя важно, чтобы результаты исходили из квантовой области пространства алгоритмов, а не были просто блестящей линейной алгеброй.
Описанный здесь метод больше подходит для эмуляции, нежели реального квантового оборудования, но скоро это изменится. На самом деле, одно из самых больших квантовых устройств в IBM тоже уже использовали для процедурной генерации, правда, совершенно другим способом.
А пока вы можете сами опробовать эффект квантового размытия. Он написан на Python, но есть плагин и для Unity. Быть может, они окажутся для вас полезными.
Источник
Что надо знать о квантовых вычислениях
Об эксперте: Руслан Юнусов, глава Национальной квантовой лаборатории.
Квантовые вычисления — самое загадочное и пока еще не изученное направление из всех квантовых технологий. Новые материалы для автомобилей и самолетов, лекарства от ранее неизлечимых болезней, мгновенная оптимизация сотен различных параметров — все это ожидают от квантового компьютера уже в ближайшее десятилетие.
Что такое квантовые вычисления?
Квантовые вычисления — решение задач с помощью манипуляции квантовыми объектами: атомами, молекулами, фотонами, электронами и специально созданными макроструктурами. Их использование позволяет ученым достичь двух квантовых явлений — суперпозиции и запутанности. Благодаря этому исследователи могут синтезировать новые материалы, лекарства, а также моделировать сложные молекулы и решать оптимизационные задачи, недоступные сейчас для самых мощных компьютеров.
Если вы посмотрите на английский термин (англ. quantum computing), то обнаружите, что квантовый компьютер по сути и есть будущий продукт тех самых загадочных квантовых вычислений. В целом квантовые вычислительные системы разделяются на два основных класса — квантовые компьютеры и квантовые симуляторы.
Технологии квантового направления физики — коммуникации и сенсоры — активно применяются в современной мировой практике, в отличие от квантовых вычислений, которые пока лишь начали выходить на специализированный рынок. Так, в 2017 году Китайская академия наук запустила квантовую линию связи, которая соединила Пекин и Шанхай, а также первый спутник квантовой связи. Сенсоры сегодня используются в астрономии, географии, метеорологии и медицине.
Настоящее развитие физики принято считать эпохой второй квантовой революции. Точкой отсчета первой считается открытие квантовой теории в 1900 году. Благодаря развитию этого направления физики появились лазеры и компьютеры, а с ними — интернет, сотовая связь, бытовая электроника, светодиодные лампы, сложные микроскопы, цифровые камеры и магнитно-резонансные томографы.
Чем квантовый компьютер отличается от обычного?
Поскольку ученые строят квантовые компьютеры на нескольких разных платформах (их мы обсудим чуть ниже), внешний вид таких машин также отличается друг от друга.
Современные квантовые компьютеры на сверхпроводниках внешне больше напоминают люстры в стиле стимпанк и функционируют при определенной температуре: для каждого уровня машины нужен собственный микроклимат. Если в помещении становится теплее или холоднее, вычислительная машина становится бесполезной. Для работы квантовых компьютеров применяют систему охлаждения на основе жидкого гелия. Сам компьютер заключен в цилиндрический корпус с насосами системы охлаждения. К этой конструкции подключен ряд традиционных компьютеров для решения задач. Внутри квантовый компьютер состоит из соединений и труб, которые передают сигналы в квантовый «мозг» машины.
Для решения любых алгоритмических задач квантовые компьютеры используют кубиты, которые при обмене информацией принимают значение 0 или 1. Однако в отличие от битов, кубиты могут одновременно находиться в состоянии 0 и 1, благодаря свойству квантовых объектов — суперпозиции. Именно это способствует ускорению решения задач на десятки порядков быстрее классических вычислительных машин.
Если классический компьютер разложит число с 500 десятичными знаками на простые множители за 5 млрд лет, то квантовый аналог в теории управится за 18 секунд.
Кубиты не перебирают последовательно все возможные варианты состояний системы, комбинации, как обычный компьютер, а делают вычисления моментально. Это свойство может применяться при поиске информации по базам данных, составлениях маршрута, моделировании поведения сложных молекул и синтезе материалов. Решение задач, для которых нужно перебрать сотни и тысячи вариантов, ускоряется во множество раз.
Сейчас многокубитные квантовые компьютеры стоят миллионы долларов, а их изготовление — сложный процесс. Квантовый компьютер сегодня — это установка, которая не предполагает персональное использование на дому. Чтобы работать с этим классом устройств, необходимо обладать специальными компетенциями и уметь раскладывать задачи на понятный машине язык.
Какие платформы обсуждаются в связке с квантовыми компьютерами?
Квантовые компьютеры строятся на четырех основных платформах: сверхпроводящих цепочках, ионах, нейтральных атомах и фотонах. На самом деле платформ существует намного больше: еще есть интегральная оптика, квазичастицы (экситоны, поляритоны, магноны и др.), примесные атомы, молекулы, полупроводниковые квантовые точки и центры окраски. Один компьютер может быть создан на базе нескольких платформ. Все они могут работать отдельно друг от друга.
Квантовая платформа — это физический объект, похожий на чип, на котором размещается и сохраняется квантовое состояние кубитов.
Еще несколько лет назад все коммерческие вычислительные устройства работали исключительно на сверхпроводящих цепочках. В отличие от других типов кубитов они хорошо масштабируются, стабильны в работе, позволяют контролировать параметры и легче управляются. Однако сейчас мы видим, что международное квантовое сообщество стало все больше интересоваться ионами.
Первый коммерчески доступный квантовый компьютер на ионах представил в декабре 2018 года технологический стартап IonQ. Как заявили сами разработчики, построенная ими система способна выполнять более сложные вычисления, чем все существующие на рынке аналоги. А в конце 2020 года американская корпорация Honeywell заявила, что ей удалось создать наиболее точный квантовый компьютер на ионах. Вместе с тем, у этой технологии есть и недостатки: ионные компьютеры сложно масштабировать из-за аномального нагрева.
Также в тройку наиболее перспективных платформ для реализации универсального квантового вычислителя входят ультрахолодные атомы. Разработкой таких систем чаще всего занимаются академические институты и университеты — например, Институт прикладной физики Российской академии наук в Нижнем Новгороде.
Что такое облачная платформа для квантовых вычислений?
На сегодняшний день квантовые компьютеры и симуляторы функционируют только в лабораториях, и облачный доступ — единственный способ работы с ними для внешних заказчиков. Однако в перспективе использование облачной платформы также экономически более оправдано, чем приобретение дорогостоящего оборудования самостоятельно.
Microsoft запустила открытое тестирование собственного сервиса Azure Quantum, который предоставляет облачный доступ к квантовым вычислениям. Час работы с ним стоит от $10 до $900. При этом своего квантового компьютера у Microsoft нет. Система работает на решениях партнеров корпорации, например, компании Honeywell Quantum Solutions и IonQ.
Согласно дорожной карте по квантовым вычислениям, разработанной Госкорпорацией «Росатом» и экспертами из Российского квантового центра, российская облачная платформа будет создана в виде пилотного проекта до декабря 2022 года. В 2024 году платформа позволит совершать вычисления на российских квантовых компьютерах.
В каких областях квантовый компьютер будет особенно актуален?
Финансы
- оптимизация инвестиционных портфелей;
- предсказание финансовых кризисов;
- предсказание кредитоспособности клиентов;
- построение моделей кредитных рисков;
- защита от мошенничества с помощью анализа истории транзакций;
- распознавание мошеннических действий.
Все эти процессы существенно трансформируются благодаря вычислительной мощности квантовых компьютеров. Задачи будут решаться моментально, а не в течение часов и дней.
Медицина и фармацевтика
Квантовые компьютеры помогут оптимизировать поиск белковых структур. Это приведет к ускорению производства новых лекарств и персонализации медицины, а также ускорению сборки геномов. Последний процесс может быть использован при диагностике онкологических заболеваний, так как слияние генов и их перегруппировка — это распространенные причины злокачественных опухолей. D-Wave уже применила свой квантовый отжигатель (вычислитель, пригодный для решения лишь некоторых задач по оптимизации), чтобы выявить у пациентов с немелкоклеточным раком легкого аденокарциному или плоскоклеточный рак — две разновидности смертельного заболевания.
Логистика
Оптимизация логистических цепей сократит длину маршрутов и даст возможность бизнесу уменьшить затраты на топливо. Квантовые алгоритмы в несколько раз быстрее просчитывают все возможные варианты передвижения и выбирают самые оптимальные.
Первый проект такого рода был осуществлен в 2019 году, когда технологическая компания Groovenauts вместе с компанией Mitsubishi Estate смогли оптимизировать сеть маршрутов забора мусора и размеры транспортных контейнеров для 26 крупных офисных центров в центральной части Токио.
Информационная безопасность
Сегодня разработаны алгоритмы, которые позволяют квантовому компьютеру сократить время подбора пароля и дешифровки информации до нескольких часов или минут.
Даже высокозащищенные методы, основанные на криптографии с открытым ключом, могут запросто быть взломаны квантовым компьютером. Именно поэтому квантовые вычисления — это технология национальной безопасности, и государства, которые первыми построят высококубитный квантовый компьютер, получат практически совершенное технологическое оружие. Отсюда и квантовая гонка, и сотни миллиардов инвестиций в технологию.
Химическая промышленность
- «Кванты» помогут создать новые композитные материалы для таких отраслей экономики, как авиастроение и химическая промышленность. Полученные составы улучшат функциональные свойства авиалайнеров, снизят их вес на 20–40% и повысят износостойкость;
- применение квантовых сенсоров в производстве материалов позволит отследить критические деформации конструкций, снижая затраты на диагностику, технический осмотр и ремонтные работы.
Какие квантовые компьютеры уже есть в мире и в России?
Собственные квантовые компьютеры строят корпорации Google, IBM, Intel, а также компании поменьше — D-Wave и стартап Rigetti. Компания D-Wave создала машину для квантового отжига на 5 тыс. кубитах, которая превосходит прошлое поколение устройств по размеру, количеству связей между кубитами и скорости работы. Устройство является важным инженерным достижением, в будущем используемым для универсальных квантовых компьютеров. Национальные программы по разработке квантовых компьютеров также созданы и на уровне стран — в Евросоюзе, США, Китае и России.
«Квантового превосходства» в лабораторных условиях первой в мире достигла Google: компьютер Sycamore смог выполнить вычисление за 200 секунд, в то время как традиционный суперкомпьютер справился бы с этой операцией за 10 тыс. лет, описывал журнал Nature итоги эксперимента компании.
В России ученые работают над созданием квантового компьютера сразу на четырех платформах: сверхпроводниках, ионах, нейтральных атомах и фотонах. Согласно утвержденной правительством нашей страны дорожной карте по квантовым вычислениям, первые отечественные квантовые вычислительные устройства появятся уже в 2024 году. Квантовый процессор на основе сверхпроводников будет состоять из 30 кубитов, на основе нейтральных атомов и ионов — из 100, фотонов — из 50.
Сегодня в России работают прототипы квантовых компьютеров с 2-10 кубитами и квантовые симуляторы с 10-20 кубитами. Отечественные компьютеры способны демонстрировать простейшие алгоритмы, решать задачи моделирования простейших молекул. Эти мощности соответствуют уровню развития квантовых вычислений QTRL-4 (метрика зрелости технологий квантовых вычислений, наивысшим уровнем в ней считается QTRL-9).
Источник