Квантовый сапёр и квантовый тетрис: изучение квантовых феноменов через компьютерные игры

от автора

Игра — один из наиболее универсальных и интересных способов знакомства со сложными концепциями и взаимосвязями. Тема обучающих игр для программистов на Хабре популярна и хорошо разобрана в отдельных статьях (особенно в корпоративных блогах). Я бы отметил работы уважаемой Дарьи @t3chnowolf в блоге компании «МТС», затрагивающие эту тему, в частности, «5 обучающих игр для разработчиков» (почти 29 500 просмотров) и «Обучающие игры для разработчиков: кодим, играя» (более 24 000 просмотров). Какое-то время назад я также хотел попробовать свои силы в этой теме, однако нашёл значительно более увлёкший меня боковой сюжет: игры, помогающие осмыслить квантовые феномены и смоделировать работу квантового компьютера. Наиболее узнаваемые из них — пожалуй, «квантовый сапёр» и «квантовый тетрис». Впрочем, давайте обо всём по порядку.

Непостижимость квантовых эффектов на обыденном уровне сейчас общеизвестна. В начале XX века иррациональность этих явлений при абсолютной точности и просчитываемости квантовых процессов привела к появлению «копенгагенской интерпретации» квантовой механики, которая требует абстрагироваться от осмысления этих явлений и действовать по принципу «заткнись и считай». На квантовой физике основаны многие современные технологии — в частности, квантовая криптография, квантовые вычисления и квантовое зондирование. Среди важнейших квантовых феноменов, изучаемых в лаборатории и практически вышедших в продакшен — суперпозиция, запутанность, интерференция, динамическая эволюция квантовых систем и схлопывание (коллапс) квантовой волновой функции при измерении. Важнейшим шагом на пути от квантовой физики к квантовой информатике стало создание кубитов — элементарных частиц, кодирующих информацию на квантовом уровне. Кубиты из фотонов и электронов известны с середины 1990-х, но буквально в течение начала 2020-х также получены кубиты из искусственных атомов, работать с которыми значительно удобнее. Я недавно затрагивал эту тему на Хабре в статье «Из чего удобно делать кубиты. Искусственные атомы для квантовых вычислений». Тем не менее, для работы с современными квантовыми компьютерами требуется глубоко понимать физику и вероятностные процессы, а также архитектуру каждого конкретного квантового чипа. Иными словами, квантовые программы не портируются. Поскольку длительность нахождения кубитов в суперпозиции остаётся очень краткой, требуется в образовательных и исследовательских целях наглядно показывать квантовые феномены. В динамике это удобно делать при помощи компьютерного моделирования или при помощи компьютерных игр, наглядно демонстрирующих квантовые эффекты. Тем интереснее разрабатывать квантовые интерпретации простых игр, такие, которые в оригинале действуют по обычной «классической» логике.

Квантовые эффекты тем интереснее моделировать в компьютерных играх, поскольку такие эффекты алогичны с точки зрения обыденного опыта, и иллюстрировать их в максимально упрощённом игровом мире гораздо удобнее, чем в реалистичном эксперименте. Квантовые эффекты не укладываются в обыденную картину мира во многом по причине двух эффектов, повсеместно распространённых на микроуровне, но отсутствующих на макроуровне (в физике Ньютона). Это суперпозиция и (де)когерентность.

Суперпозиция квантовых частиц — это возможность находиться одновременно в двух или более взаимоисключающих состояниях до того момента, как квантовая система будет измерена и выйдет из когерентного (самосогласованного) состояния. Суперпозиция часто иллюстрируется при помощи мысленного эксперимента «Кот Шрёдингера», предложенного знаменитым австрийским физиком Эрвином Шрёдингером в 1935 году. Эксперимент многократно разбирали на Хабре, но интересующимся я порекомендую две интересные трактовки — о жизни и смерти кота от уважаемого @SLY_G и о суперпозиции как таковой от уважаемого @MirAleAnu В контексте моей статьи важно, что «игровой» потенциал квантовых эффектов заключается именно в этой множественности состояний, которые сходятся к конкретному варианту в результате измерения или, в более широком смысле, в результате действий игрока. Основные составляющие «геймплея» в квантовых играх — это случайность и вероятность.

Квантовые игры развиваются и усложняются с увеличением количества кубитов и с постепенным развитием квантовых алгоритмов. Так, в 2017 году появилось первое общедоступное квантовое вычислительное устройство IBM Quantum, под которое также выпустили инструментарий для разработки программ Project Q. Первая игра, написанная для этой платформы, называлась «Кот-Коробка-Ножницы» и представляла собой квантовую адаптацию игры «Камень-Ножницы-Бумага». Ход игрока определяется случайным образом, а источником случайности является квантовый процесс. Выигрышная стратегия в ней заключается в том, чтобы нивелировать элемент случайности (шум) в ходах соперника. Вскоре последовала вторая игра для этой платформы — «Квантовый морской бой» (Quantum Battleship). Она задумывалась как многопользовательская и исследовательская, была призвана изучить, как происходит декогеренция между двумя и более кубитами, и как на это влияет зашумленность. Обе эти игры управлялись через командную строку и были не слишком интересны, так как долго обсчитывался каждый ход.

Вот пример скриншота из игры «Квантовый морской бой»

В 2017 году при помощи движка Unity также был написан «Квантовый пасьянс» (Quantum Solitaire) — первая квантовая игра с графическим интерфейсом и полноценным игровым полем.

Квантовый компьютер заранее рассчитывает и генерирует данные для партии в эту игру, благодаря чему она работает быстрее вышеупомянутых игр-прототипов и обладает настоящей игровой отзывчивостью.  Квантовый пасьянс можно считать гибридной игрой, так как случайные карты в нём выбрасывает классический алгоритм, но значения вероятности для него рассчитаны на квантовом компьютере. Соответственно, геймплей квантового пасьянса регулируется квантовыми законами. Задача игрока — разложить карты на две колоды, чёрную и красную, воспользовавшись как можно меньшим количеством ходов. Этот пример затрагивает огромную смежную область — ускорение искусственного интеллекта при помощи квантовых вычислений.

Уже в 2018 году компания IBM и Базельский университет разработали игру «Hello Quantum», в которой квантовые операции иллюстрируются путём сборки паззла. Вот как выглядит игровое поле этой игры, иллюстрирующее работу квантовых гейтов:

Все эти игры являются образовательными и иллюстративными. Строго говоря — это научные проекты, не предназначенные для коммерческого использования, во многом потому, что средний геймер не понимает квантовую механику и не станет изучать её для того, чтобы скачать необычную игру или просто погонять её в браузере. Поэтому наиболее интересно и доходчиво будут выглядеть квантовые вариации тех игр, логика которых отпечаталась на подкорке и известна всем, чьё детство и взросление совпало с ранним периодом развития видеоигр. Рассмотрим два примера такого рода. 

Квантовый сапёр

История игры «Сапёр» восходит к 1983 году, когда Иэн Эндрю, ранее увлекавшийся программированием игр наподобие пинбола, изобрёл игру «Mines Out», логика которой напоминает прото-сапёр.

Напомню, что в исходном положении «Сапёра» получаем однородное прямоугольное игровое поле в клеточку, где некоторые из клеток заминированы. Цель — определить положение мин на поле, щелкая по клеткам мышью, и не подорваться при этом ни на одной из мин. Квантовый сапёр, например, описанный в этой научной статье — это суперпозиция нескольких игровых полей одинакового размера, на каждом из которых заложено одинаковое количество мин, но расположены они на разных полях по-разному. Цель игры — выяснить положение мин на всех полях, то есть, определить квантовое состояние всей системы, не подрываясь при этом на минах. Для этого игрок может:

  1. Измерить состояние клетки классическим образом

  2. Измерить состояние клетки, не взаимодействуя с ней

  3. Измерить, насколько одна клетка запутана с другой

Запутанность клеток роднит квантовый сапёр с классическим в таком отношении: как только удаётся точно выяснить, есть ли мина в конкретной клетке, сразу же становится известно, заминированы ли те клетки, которые с ней запутаны. Игрок подрывается на мине, измерив заминированную клетку первым или вторым способом.

В другом варианте квантового сапёра, например, здесь, в суперпозиции находится одно игровое поле, и наличие мины в конкретной клетке определяется путём вероятностного измерения. Перед началом партии вы указываете размер поля, количество полей и количество мин на поле. Компьютер рассеивает по полям заданное количество мин и вводит все поля в состояние суперпозиции. Например, если в суперпозиции находятся четыре игровых поля, и на трёх из них данная клетка заминирована, то вероятность подорваться на ней составляет 0,75. В такой игре пользователь может выполнить измерение одного из трёх видов: схлопывающее (коллапсирующее волновую функцию), измерение без взаимодействия и энтропийное измерение. 

Схлопывающее измерение напоминает ход в классическом сапёре. При таком измерении вычисляется, с какой вероятностью в данной клетке окажется мина, и именно с такой вероятностью мина подрывается. Если подрыва не происходит, то вся совокупность полей схлопывается до подмножества полей, где в данной клетке мина отсутствует, все остальные поля исчезают. Затем выводится среднее количество мин, заложенных рядом со вскрытой клеткой на всех оставшихся полях.

Измерение без взаимодействия: этот ход безопаснее, чем схлопывающее измерение, но, в то же время, менее информативный. Вычисляется вероятность присутствия мины в клетке, это значение делится на количество запутанных полей, а результат характеризует вероятность подрыва.

Энтропийное измерение характеризует неопределённость того состояния, в котором находится игровое поле. При таком измерении вычисляется два значения: с какой вероятностью поле будет заминировано, и с какой — не будет. 1 – точно есть мина, 0 – точно нет мины. Далее оба значения возводятся в квадрат, суммируются, и эта сумма вычитается из единицы. Таким образом, чем ниже энтропия, тем больше полей в суперпозиции окажутся в одинаковом состоянии, хотя неизвестно, в каком именно. При нулевой энтропии все поля находятся в одном расстоянии. При энтропии 0,5 все поля делятся на две группы, и в каждой группе состояние всех полей одинаково — и так далее.

Соответственно, квантовый сапёр оказался удивительно простой моделью, которой можно проиллюстрировать многие квантовомеханические феномены в связке с классическими. Он позволяет сравнить классические и квантовые трактовки вероятности, случайности, измерений, а также демонстрирует, как различные виды измерений влияют на всю модель. Игра в квантовый сапёр по определению вероятностная, но она помогает интуитивно усвоить суть суперпозиции и запутанности, а значит и понять устройство квантового компьютера.

Квантовый тетрис

В 2021 году в Дармутском колледже был спроектирован квантовый вариант игры «Тетрис», код и документация которой выложены в этом гитхабе. Игровой процесс выглядит так:

Квантовый тетрис позволяет исследовать важнейший фактор, тормозящий развитие квантовых компьютеров и не учитываемый в рассмотренном выше квантовом сапёре — шум. В данном случае «шум» противопоставляется «сигналу», то есть, полезной работе квантового компьютера. В современных архитектурах квантовых компьютеров большинство кубитов занято подавлением шума и исправлением возникающих из-за него ошибок, а меньшинство — полезной работой. Ранее на Хабре феномен квантового шума исследовал уважаемый Сергей Фролов @mrserfr в статье «Квантовые компьютеры для чайников». Шум при работе квантового компьютера возникает из-за того, что квантовые флуктуации отличаются высокой степенью случайности (randomness). Квантовая реализация «Тетриса» позволяет исследовать истинную случайность и природу квантового шума.  

Тетрис позволяет не только визуализировать квантовую случайность, но и продемонстрировать, чем она отличается от «классической случайности» — генерации псевдослучайных чисел. Играя в классический тетрис и зная, в соответствии с какой функцией был посеян набор фигур для партии, можно предсказать, какая фигура появится следующей. В квантовом тетрисе это невозможно, поскольку квантовый компьютер обеспечивает подлинную случайность.

Такая квантовая случайность приводит к тому, что при вычислениях квантовый компьютер даёт множество ложных результатов. Кубиты могут оставаться в суперпозиции в течение считанных наносекунд, поэтому и важно при вычислениях минимизировать количество шума и операций на его устранение. Чем длиннее квантовая схема, тем вероятнее, что она даст неверный результат из-за того, что в вычисления вмешается шум.

Исследователи из Дармутского колледжа Тревор Глазго, Оливер Леви, Генри Хилтон и Рафаэль Брентли догадались, что именно на основе шума можно написать квантовый аналог тетриса.

Квантовый компьютер программируется так, чтобы выводить на экран 7 традиционных фигур тетриса.

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

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

Квантовые блоки тетриса

В квантовом тетрисе кроме строительных блоков существует ещё две разновидности фигур, на которых я остановлюсь подробнее.

Фигура суперпозиции

Пока квантовый компьютер вычисляет, его кубиты находятся в суперпозиции. Суперпозиция — одна из дополнительных фигур квантового тетриса. Такая фигура одновременно существует в двух состояниях: 0 и 1. Они летят через игровое поле в таком состоянии, пока игрок не попытается их «пронаблюдать» (измерить). В результате измерения каждая Суперпозиция может превратиться в одну из двух строительных фигур тетриса, которые в неё заложил квантовый компьютер. Авторы сравнивают Суперпозицию в подброшенную монетку, которая переворачивается, падая, и мы не можем уверенно предсказать, на решку или на орла она упадёт. Но в случае с квантовым тетрисом результирующая форма Суперпозиции определяется не по классической вероятности 50/50, а в соответствии с истинной квантовой случайностью, то есть, совершенно непредсказуемо.

Фигура запутанности

Запутанность — это явление квантовой связи между двумя квантовыми частицами (в нашем случае — кубитами), при сохранении которой по свойствам одного кубита можно безошибочно определить некоторые свойства другого. Запутанные частицы всегда противоположны по свойствам друг другу. Так, если у одной запутанной частицы измерен нижний спин, можно быть на 100% уверенным, что запутанная с ней частица имеет верхний спин.

В описываемой игре две фигуры Суперпозиции, сблизившись друг с другом, могут превратиться в фигуру Запутанности. Падая, фигуры Запутанности зеркально повторяют форму и движения друг друга по разным краям экрана. При измерении одной из фигур Запутанности вторая запутанная с ней фигура мгновенно превращается в противоположность измеренной фигуры (по цвету и форме).

Квантовые гейты

Квантовые гейты соответствуют логическим вентилям, используемым в классических вычислениях – в частности, И, ИЛИ, НЕ. В классических вычислениях вентили сочленяют битовые операции, выстраивая из них логику.

Классические логические вентили оперируют только значениями 0 или 1. Квантовые вентили (чаще именуемые «гейтами»), в свою очередь, изменяют вероятность, с которой кубит может результировать в 0 или 1. В квантовом тетрисе реализованы два гейта: X и гейт Адамара (H). Эти и другие квантовые гейты доступно разобраны на Хабре в статье уважаемого @java_prog в статье «Квантовые компьютеры. С точки зрения традиционного программиста-математика. Часть 2». В квантовом тетрисе, достроив некоторое количество рядов, вы получаете в качестве очередной фигуры гейт X или H. Гейт X меняет две вероятности на обратные — соотношение 90 на 10 превращается в 10 на 90. Гейт H действует ещё более экстремально: меняет вероятность с 51/49 на 99/1.

Заключение

Разумеется, в этой статье я смог лишь слегка коснуться темы моделирования квантовых феноменов через разработку исследовательских компьютерных игр. Надеюсь, вы смогли составить о них впечатление и даже попробуете в них поиграть. Более подробная подборка квантовых игр рассматривается в статье «Quantum Games and Interactive Tools for Quantum Technologies Outreach and Education», среди авторов которой — легендарный доктор Джеймс Вуттон, ведущий увлекательный блог о квантовых вычислениях на Medium. В частности, в этом блоге он разбирает ещё одну игру, предназначенную для оценки устойчивости квантовых схем, а ещё рассказывает об использовании квантовых вероятностей для процедурной генерации игровых миров. Приятного вам погружения в тему. Заходите в комментарии.

ссылка на оригинал статьи https://habr.com/ru/articles/1027898/