meets web browser quantum - ipa ·...
TRANSCRIPT
![Page 1: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/1.jpg)
Web BrowserMeetsQuantumProject YAMASHITA
![Page 2: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/2.jpg)
Our work
https://github.com/qramana/qramana
2
TypeScript製量子計算ライブラリ `qramana`
量子計算をWebアプリケーションで簡単に実行できる環境を作り上げることを目標に作成。
![Page 3: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/3.jpg)
目次 3
1
2
3
4
Web開発(特にWebフロント)における
量子計算実装の効率化を図る。
モチベーション
量子計算に習熟していなくても使え、
拡張性の高い設計を目指す。
ライブラリ設計
どのようにコードに導入し、
使っていくか。
成果物紹介
qramanaを使って開発した
ゲームのデモ。
サンプルデモhttps://github.com/qramana/qramana
![Page 4: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/4.jpg)
モチベーション
01
![Page 5: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/5.jpg)
量子コンピューターのゲームをつくろう! 5
量子コンピューターの民主化のためには、遊びとしてやってもらうのが一番!
![Page 6: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/6.jpg)
量子コンピューターのゲームをつくろう! 6
量子コンピューターの民主化のためには、遊びとしてやってもらうのが一番!
どんなゲームをつくる? 🤔ゲームのデザインは固定された正解がないため、
スクラップアンドビルドを大量に行うことが考えられる
![Page 7: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/7.jpg)
量子コンピューターのゲームをつくろう! 7
量子コンピューターの民主化のためには、遊びとしてやってもらうのが一番!
どんなゲームをつくる? 🤔ゲームのデザインは固定された正解がないため、
スクラップアンドビルドを大量に行うことが考えられる
ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい
![Page 8: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/8.jpg)
どこにゲームをつくるか? 8
1 できる限りいろんな属性の人に
プレイしてもらいフィードバックがほしい
多くの人に届けられる媒体
2 特殊な装置の購入や設置で
プレイする人を限定しないようにしたい
簡単にプレイし始められる
![Page 9: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/9.jpg)
どこにゲームをつくるか? 9
1 できる限りいろんな属性の人に
プレイしてもらいフィードバックがほしい
多くの人に届けられる媒体
2 特殊な装置の購入や設置で
プレイする人を限定しないようにしたい
簡単にプレイし始められる
![Page 10: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/10.jpg)
どこにゲームをつくるか? 10
ブラウザ上でゲームを動かすことで、
インターネットに繋がる多くの人を対象にできる!
![Page 11: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/11.jpg)
ブラウザゲームをつくるには? 11
JavaScriptやTypeScriptを用いて
ブラウザ上でゲームのロジックを動かす
![Page 12: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/12.jpg)
”量子計算”ブラウザゲームをつくるには? 12
量子計算のロジックを一から書くのはしんどい
![Page 13: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/13.jpg)
”量子計算”ブラウザゲームをつくるには? 13
科学計算ライブラリを使うのはヘビー
- ブラウザで動かすのが手間
- 科学計算指向なので使うハードルが高い
![Page 14: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/14.jpg)
Web開発へ向けての量子計算ライブラリ 14
JavaScriptまたはTypeScript製の量子計算ライブラリがあれば
ブラウザゲームで動かせる
教育目的のアプリなど幅広い用途で使える可能性大
ゲームのみならず多くのブラウザアプリで量子計算が行える
![Page 15: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/15.jpg)
JavaScript or TypeScript 15
TypeScript:
- JavaScriptの大量にある資産を使える
- Webアプリケーション開発などをしやすい機能を多く備える
今後の開発を睨みTypeScriptでの量子計算ライブラリを実装
![Page 16: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/16.jpg)
ライブラリ設計
02
![Page 17: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/17.jpg)
設計コンセプト 17
ソフトウェア上の役割の記述と量子ビットの記述がうまく馴染むように
二つ以上の量子状態が不可分な状態として存在する場合
それらの量子ビットをどう記述するかを解決する必要がある
量子計算の基本単位「量子ビット」をどう記述するか?
![Page 18: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/18.jpg)
具体的な問題例 18
・name・location
・name・location
レースゲーム中での車を定義する
![Page 19: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/19.jpg)
具体的な問題例 19
・name・location・qState
・name・location・qState
レースゲーム中での車を定義する
ここで車に対して量子状態を定義し、
それを元にしたギミックをいれてみる
![Page 20: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/20.jpg)
具体的な問題例 20
・name・location・qState
・name・location・qState
レースゲーム中での車を定義する
このqStateは具体的になにを使うのか?
![Page 21: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/21.jpg)
問題点〜量子もつれ〜 21
・name・location・qState
・name・location・qState
レースゲーム中での車を定義する
量子もつれの関係を記述する必要がある
![Page 22: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/22.jpg)
問題点〜量子もつれ〜 22
最初は別々に記述していた量子状態がある時から不可分な状態となってしまう
![Page 23: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/23.jpg)
問題点〜量子もつれ〜 23
どれとどれが量子もつれの関係?
![Page 24: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/24.jpg)
・name・location・qState
qStateの定義 24
・name・location・qState
Car1 Car2実際の量子状態はソフトウェアが管理
![Page 25: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/25.jpg)
・name・location・qState
qStateの定義 25
・name・location・qState
Car1 Car2実際の量子状態はソフトウェアが管理
ユーザーは量子状態同士の複雑な関係を管理しなくていい
![Page 26: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/26.jpg)
設計まとめ 26
量子状態の管理や計算を隠蔽できる
ソフトウェアをつくる
![Page 27: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/27.jpg)
成果物紹介
03
![Page 29: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/29.jpg)
ライブラリ紹介 29
1
すべてのコードは公開済み。
JavaScript, TypeScriptのエコシステムから利用可能。
OSSであり、npmからの利用が可能2
量子もつれや複素ベクトル演算などは隠蔽。
現在利用している jsqubits量子計算ライブラリからの切り替えも可能な設計
量子計算の複雑な処理は隠蔽
![Page 31: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/31.jpg)
サンプルデモ
04
![Page 32: Meets Web Browser Quantum - IPA · スクラップアンドビルドを大量に行うことが考えられる ゲームの開発とユーザーからのフィードバックのサイクルを早く回せる状態が望ましい](https://reader034.vdocuments.mx/reader034/viewer/2022052011/6027336998870d643c48dd06/html5/thumbnails/32.jpg)
量子タワーオブディフェンス
https://github.com/dasoran/phaser-towerdefense/tree/feature/prototype