IBMの量子コンピュータがビデオゲームのデザインに挑戦

IBMの量子コンピュータがビデオゲームのデザインに挑戦

画像にはパターンチェスゲームとテクスチャが含まれている可能性があります

ゲッティイメージズ

「量子プログラミングというと、みんな『うわ、変な魔法使いがやってる、何か変な魔法みたいなもの』って思うじゃないですか。でも私は『実は量子コンピューターで戦艦を作ったんですよ』って言うんです。」

ジェームズ・ウートンは興奮している。量子コンピューティングやゲームデザインの話になるといつもワクワクするが、特に両方を体験できるとなるとなおさらだ。来週、彼はまさにその両方を体験する。しかも、ヘルシンキ中心部にある観覧車に乗りながら。2月中旬の氷点下の気温の中だ。観覧車ツアーの後は、ノートパソコンを放り投げ、フィンランド式サウナの濃い蒸気に飛び込むのだ。

IBMの量子コンピューティング物理学者兼プログラマーであるウートン氏は、今年のQuantum Game Jamの参加者の一人となる。2月16日と17日の週末に開催されるこの独特なイベントでは、5量子ビットと16量子ビットのIBM量子コンピューターでビデオゲームを制作するというただ一つの目標のもと、大勢のゲーム開発者と量子物理学者が集まる。

プログラミングを行う会場は2つあります。ヘルシンキで最も人気のある屋外プール付きサウナ「シー・アラス・プール」、またはヘルシンキ・スカイホイールのポッドに座る場所です。「ゲームを作りながらリラックスするのもこのイベントの醍醐味です。そうすることで、作りたいアイデアを最大限に引き出すことができます」と、主催者の一人、アンナカイサ・クルティマは言います。「スカイホイールは、当日の気温が-25℃にならない限り、インスピレーションを得るために使います。」スカイホイールの底にある小屋では、量子物理学者が量子力学の不思議な世界について、一般の人々の質問に答えます。

量子コンピュータは将来私たちの生活を劇的に変えると期待されていますが、現時点では従来のコンピュータよりも優れた性能を発揮するのに苦労しています。もし量子コンピュータが従来のコンピュータよりも優れた性能を発揮し、いわゆる「量子優位性」を達成すれば、その応用範囲は、新薬や特殊材料の発見から、金融データの新しいモデリング手法の発見、機械学習の強化、そして全く新しい暗号化方式の実現まで、多岐にわたる可能性があります。

この異例の開催地選定は初めてではありません。これまでの量子ゲームジャムは、天文台、全天球プロジェクターを備えた科学展示会場、そして量子研究所で開催されてきました。ヘルシンキ量子ゲームジャムは2014年から開催されていますが、今年は初めて、開発者たちが実際の量子コンピューターのプロトタイプを用いてゲームを制作します。開発者たちは、ニューヨークにあるIBMの量子研究所にあるIBM Quantum Experience(略称Q Experience)にクラウド経由でアクセスします。Q Experienceは、IBMの量子コンピューターをクラウド上に展開し、開発者や科学者に量子の世界を探求する機会を提供するプログラムです。

主催者によると、このジャムの総費用は約2万ユーロだ。5年前にジャムが始まった当初の目標は、ゲーム開発者と量子物理学者を近づけ、「ゲームと量子が生み出す遊び心の可能性を探求する場を提供すること」だったとクルティマ氏は語る。ヘルシンキでの対面式と、デンマーク、ブラジル、その他の参加者とのリモートゲーム開発の両方で実現する。しかし今年は、すべてがヘルシンキで開催される。

Epic Games Helsinki、Housemarque、Supercellなどの著名なゲーム開発者やジャム参加者が多数参加すると予想されています。フィンランドのVR企業Varjoの開発者であるSamuli Jääskeläinen氏は、これまでに60以上のゲームジャムで優勝を飾っています。

ゲーマーは、2017年に開始され、誰もがクラウドで量子コンピューティングにアクセスできるようにしたIBMの量子コンピューティングプログラムに基づくオープンソースフレームワークであるQiskit(Quantum Information Science Kitの略)を使用します。

ウートン氏によると、重要なのは、ゲームを作るのに量子力学の知識は必要ないということだ。彼は数年前から量子コンピューターを使ったゲームの設計を始めました。そして、ジャム参加者は、量子に関する専門知識がなくても、彼や他の物理学者のプロジェクトを数行のコードで再現できるとウートン氏は言います。「しかし、さらに重要なのは、彼らがそれらを使って自分自身の新しいプロジェクトを作ることができるということです」とウートン氏は言います。

では、量子コンピュータでゲームを作るにはどうすればいいのでしょうか?ゲームデザインに興味のある方なら、おそらくPythonなどのプログラミング言語を使っているでしょう。これらの言語は、標準的なコンピュータのメモリに格納されているビット(1と0)を扱います。例えば、量子コンピュータでバトルシップゲームを作るには、まず量子ビットのグリッドが必要です。量子ビットとは、0と1の状態を重ね合わせることができる脆弱な量子ビットです。こうすることで、「0」の状態を「沈没」に、「1」の状態を「無傷」に関連付けることができます。次に、デザイナーは特定の量子演算を用いて量子ビットを0から1に反転させ、他のプレイヤーの攻撃を表します。

古典コンピュータでは、宇宙船は攻撃を受けるか受けないかのどちらかであり、中間はありません。しかし量子コンピュータでは、状態の重ね合わせにより、宇宙船が破壊される前に数回の攻撃を受ける可能性があります。「重ね合わせ状態を数段階にわたって通過するからです」とウートン氏は言います。

IBM、Google、Intel、Microsoft、そして多くの学術研究室やスタートアップ企業など、現在開発中のすべての量子コンピューターが直面している問題の一つがノイズです。これは、熱、振動、音など、環境とのわずかな相互作用によって量子ビットが破損してしまうことです。「つまり、量子ビットを読み出すと、たとえ完全に0であっても、1と表示されることがあるのです」とウートン氏は言います。

量子コンピュータを古典コンピュータの性能より優れたものにしようとすると、ノイズは大きな問題となる。研究者たちはノイズレベルを低減し、量子ビットのエラー訂正に懸命に取り組んでいるが、これは非常に面倒な作業だ。しかし、ゲームデザイナーにとっては、ノイズは役に立つことがある。ウートン氏によると、ノイズはちょっとした奇妙さを表現するのに使えるという。例えば、津波などの異常気象によって、船が本来よりも少しダメージを受けるような状況だ。「たとえ敵プレイヤーの攻撃が十分でなくても、ノイズによって追い詰められる可能性があります」と彼は説明する。「例えば、魚雷を数発受けても沈没には至らないのに、ノイズによって落雷されれば、いずれ沈没してしまう、といった状況です。」

結局のところ、ビデオゲームが完成しても、プレイヤーはそれが量子コンピュータで作られたものだと必ずしも知ることはないでしょう。そして、量子コンピューティングがますます高度化するにつれ、量子ゲームは量子コンピュータが量子優位性を獲得する最初の分野となるかもしれません。

この記事はWIRED UKで最初に公開されました。