![](https://cdn.arstechnica.net/wp-content/uploads/2019/01/waveTOP-800x538.jpg)
«Большая волна в Канагаве» — гравюра на дереве японского художника XIX века Кацусики Хокусая
В начале марта D-Wave Systems объявила о выходе их нового компьютера, работающего на принципе квантового отжига. В новой машине сделано несколько технических усовершенствований, а также значительно изменено физическое расположение компонентов. Что это означает? Вместе с онлайн-ресурсами компании D-Wave, устройство, приближающееся к состоянию полезного, начинает обретать форму.
Делаем гладкий компьютер
Перед тем, как добраться до вкусной начинки, сначала надо погрызть краешек печеньки – то есть, узнать, а что же такое квантовый отжиг? Большая часть компьютеров работает прямолинейно: чтобы сложить два числа, создаём набор логических вентилей, которые осуществят сложение. Каждый из вентилей выполняет набор своих, чётко определённых операций на входных данных.
Но это не единственный способ проводить вычисления. Большую часть задач можно записать так, чтобы они были эквивалентны задаче минимизации энергии. В таком варианте задача представляет собой энергетический ландшафт, а решение – минимально возможную энергию на нём. Суть в том, чтобы найти комбинацию битовых значений, обозначающих эту энергию.
Для этого нужно начать с плоского энергетического ландшафта: все биты будут иметь минимальную энергию. Затем мы медленно и осторожно изменяем ландшафт вокруг битов, пока он не начинает представлять нашу задачу. Если всё сделать правильно, то биты останутся в состоянии с минимальной энергией. Решение мы получим, считав их значения.
Хотя всё это работает без квантовой физики, D-Wave занимается этим при помощи квантовых битов (кубитов). Это значит, что кубиты коррелируют друг с другом – это называется квантовой запутанностью. В итоге они меняют свои значения вместе, а не по отдельности.
Туннелирование
В результате становится возможным эффект, известный, как квантовое туннелирование. Представьте, что кубит застрял в состоянии с высокой энергией. Неподалёку есть состояние с меньшей энергией, в которое хотел бы перейти кубит. Но чтобы добраться туда, ему сначала нужно перейти в состояние с большей энергией. В классической системе это превращается в барьер на пути к достижению состояния с меньшей энергией. Но в квантовой кубит может туннелировать сквозь энергетический барьер, придя в состояние с меньшей энергией.
Два этих свойства могут позволить такому компьютеру, каким управляет D-Wave, находить решения некоторых задач быстрее, чем классическому.
Но дьявол скрывается в мелочах. В компьютере энергетический ландшафт строится связыванием (физическим объединением) кубитов. Связывание управляет тем, насколько сильно значение одного кубита влияет на значение остальных.
Этот момент всегда был проблемным для машины от D-Wave. В идеальных условиях у каждого кубита будут связи с каждым другим кубитом. Но организовывать такое большое количество связей непрактично.
Кубит сам по себе
Последствия отсутствия связей весьма серьёзные. Некоторые задачи просто нельзя переделать для решения на машинах D-Wave. А иногда, в случаях, когда задачу переделать можно, вычисления будут неэффективными. Представьте, что для решения задачи требуется соединение кубитов за номерами один и три, однако они не соединены напрямую. В этом случае придётся искать кубиты, общие для них обоих. Допустим, кубит один соединён с кубитом пять, а кубит два соединён с кубитами пять и три. Тогда логическим кубитом один будет комбинация первого и пятого. Логическим кубитом три – комбинация второго и третьего. D-Wave называет эту последовательность длиной цепочки. В данном случае длина равна двум.
Из-за соединения в цепочки физических кубитов для получения логических кубитов, меньшее количество кубитов остаётся доступным для вычислений.
В D-Wave планировали скомпоновать ещё более сложные схемы кубитов для увеличения связности. Чем больше связность, тем меньше длина цепочек, тем больше свободных логических кубитов. И если кубиты плотно связаны вместе, и связность получается большой, то с помощью такой машины можно решать больше задач.
Эффективность структурирования некоторых задач будет крайне низкой, то есть архитектура D-Wave просто не приспособлена для их решения. Но с увеличением связности количество неподходящих задач будет уменьшаться.
У предыдущей версии машины кубиты были распределены блоками по восемь штук, чтобы улучшить связность диагональных блоков по сравнению с предшествующей версией машины. В результате ситуация с длиной цепочек несколько улучшилась.
![](https://cdn.arstechnica.net/wp-content/uploads/2017/01/qubit_connectivity.gif)
Архитектура D-Wave 2000Q
Теперь D-Wave перешли на схему связности, известную как «граф Пегас». Не знаю, как описать её точно, поэтому опишу её не очень корректно с точки зрения строгой теории графов, но более понятно. Вместо одинаковых блоков по восемь кубитов в машине теперь есть два вида блоков: по восемь штук и по две штуки.
В блоках по восемь кубиты расположены, как и раньше, по внутренней и внешней петлям. Но, как показано на видео, теперь у внутренней и внешней петель есть дополнительные связи. Это значит, что у каждого кубита в небольшом блоке есть по пять связей.
Сами блоки уже не выстроены в правильную решётку, а связей между кубитами из разных блоков стало больше. В предыдущем поколении кубиты на внешних петлях связывались с другими кубитами на внешних петлях, а теперь каждый кубит связан и с внутренними, и с внешними петлями соседних блоков.
Кроме этого, появилась новая сеть дальних связей между разными блоками. У каждого кубита есть относительно дальнее соединение с другим кубитом в удалённом блоке. Плотность дальних соединений увеличивается благодаря второму основному строительному блоку, состоящему из объединённой пары кубитов. Пары располагаются вокруг основных блоков и дополняют дальнюю связность.
Идея в том, чтобы у объединённых в группы по восемь кубитов, расположенных на краю чипа, плотность связей была почти такая же, как у внутренних групп, в отличие от графов класса «химера».
Укорачивание цепочек
Что всё это значит? Во-первых, схожесть графов «химера» и «пегас» означает, что код, разработанный для «химеры», должен работать и на «пегасе». Увеличение связности означает сокращение длины цепочек и увеличение надёжности вычислений.
Чтобы вы могли представить, как сильно новый граф улучшает ситуацию, скажу, что квадратная решётка с диагональными связями требует цепочек длиной в шесть единиц в графах типа «химера», и длиной в две единицы в графах типа «пегас». В целом, длина цепочек уменьшается в два или более раз. В результате время работы уменьшается на 30-75%.
Кроме нового графа, D-Wave улучшила работу компьютера и на техническом уровне: уровень шума кубитов меньше, а их количество значительно увеличилось. Компания планирует при помощи новой архитектуры довести количество кубитов до 5000 (с 2000). Все эти изменения архитектуры означают, что гораздо больше физических кубитов можно будет использовать в качестве независимых логических, благодаря чему апгрейд будет гораздо более значимым.