量子画像マッピング
量子ビットを使用した単色画像のエンコードは以下の通り。
$ |h\rangle = \frac{ \sum_{(x,y)} \sqrt{h(x,y)} |s(x,y)\rangle }{ \sqrt{\sum_{(x,y)} h(x,y)} }
$ h:画像そのもの
$ (x,y):ピクセル座標
$ h(x,y):画像のピクセル(x,y)の値
$ s(x,y):画像のピクセル(x,y)のアドレス
/icons/hr.icon
各ピクセルの値h(x,y)は、0 ≤ h(x, y) ≤ 1の値で定義される。(x,y)はピクセル座標。1つの値なので、単色画像になる。(RGBやHSVなどのパラメータについて、「Hのみ」など1つだけパラメータ選定したもの)
例えば、w=2, h=3とすると
https://scrapbox.io/files/669a0c31858f510022155331.png
(値はランダム)
この画像を量子状態にエンコードするために、各ピクセル座標 (x, y) にビット列 s(x, y) が割り当てられる。これらのビット列は隣接する座標が1ビットだけ異なるように選ばれる(=ハミング距離が1)。すなわち、グレイコードである。ビット列の長さは、各座標に一意のビット列を割り当てるために必要な最小限の長さ。具体的には、画像のサイズがW × Hの場合、必要なビット数(および量子ビット数)は $ n = \lceil log_2 W \rceil + \lceil log_2 H \rceil 。 W=2, H=3の例なら、$ n = \lceil log_2{2} \rceil + \lceil log_2{3} \rceil = 3となる
https://scrapbox.io/files/669a27f745ed84001c2b048b.png
ここで、これを量子ビットにエンコードすると、
$ |h\rangle = \frac{ \sum_{(x,y)} \sqrt{h(x,y)} |s(x,y)\rangle }{ \sqrt{\sum_{(x,y)} h(x,y)} }
$ = \frac{1}{\sqrt{{\sum_{(x,y)} h(x,y)}}} \left( \begin{matrix} \sqrt{h(0,0)}\\ \sqrt{h(0,1)}\\ 0\\ \sqrt{h(0,2)}\\ \sqrt{h(1,0)}\\ \sqrt{h(1,1)}\\ 0\\ \sqrt{h(1,2)}\\ \end{matrix} \right)
ここで、
$ \sqrt{\sum_{(x,y)} h(x,y)} = \sqrt{0.2 + 0.1 + 0.5 + 0.6 + 0.8 + 1.0} = \sqrt{3.2}
$ \sqrt{h(0,0)}=\sqrt{0.2}
$ \sqrt{h(0,1)}=\sqrt{0.5}
$ \sqrt{h(0,2)}=\sqrt{0.8}
$ \sqrt{h(1,0)}=\sqrt{0.1}
$ \sqrt{h(1,1)}=\sqrt{0.6}
$ \sqrt{h(1,2)}=\sqrt{1}
よって、
$ |h\rangle = \frac{1}{\sqrt{3.2}} \left( \begin{matrix} \sqrt{0.2}\\ \sqrt{0.5}\\ 0\\ \sqrt{0.8}\\ \sqrt{0.1}\\ \sqrt{0.6}\\ 0\\ \sqrt{1}\\ \end{matrix} \right)
画像は重ね合わせの各項に任意の位相を持つ別のバージョンでも同様にエンコードできます。 画像のデコードは、すべての確率$ p(s(x,y)) を決定することによって行われます。これは、量子プロセスのエミュレーションを通じて、または量子ハードウェア上で実行して(確率をサンプリングするために何度も繰り返す)、行うことができます。得られた確率は、最大値が1になるように再スケールされた後、 $ h(x,y) として取り扱われます。
$ h(x,y)= \frac{p(s(x,y))}{\max_{s'} p(s')}
$ \max_{s'}p(s'):$ p(s(x,y))の中で最大値
なお、同じ出力画像は、各ビット列に対する確率が同じであれば、量子重ね合わせからでも古典的な確率分布からでも同様に得られます。 //〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
・$ n = \lceil log_2WH\rceilじゃなくて?
最低限必要なビット数としては、合っている。
x軸/y軸の対応する量子ビットを独立して計算することで、各次元において個別のビット列を用いることができる。これにより、効率的なエンコードが可能になる。
https://scrapbox.io/files/66b0aecadd0463001c7599c1.png
https://scrapbox.io/files/66b0aed3982cbb001d916e50.png
//〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
/icons/hr.icon
関連