エンジニアのひとりごと

興味あること:機械学習,量子コンピュータ,たまに競馬

量子コンピュータ/イジングマシン周りの話

なんか最近,というか去年ごろからD-WAVEとかイジングモデルとかいう言葉が世間に出てきた

その辺のことは少し知っているので,ちょっと書いておこうかと思う

量子コンピュータは大きく分けて2種類に分けられる

最近話題になってるD-WAVEは量子アニーリング方式と呼ばれるものだ

量子アニーリング方式っていうのは量子アニーリング(QA:Quantum Annealing)というものを使って組合せ最適解を探すものである.
量子アニーリングっていうのは量子効果を使って局所最適解を脱してグローバルな最適解を見つける手法である.
ちなみにこの量子アニーリングを提案した人は東工大の西森先生らしい*1
実際にこれを使って量子コンピュータD-WAVEを作ったのはカナダの会社である.日本にも頑張ってほしいものだ.
量子コンピュータ界隈でいうと,東大の古澤先生もいるよね,彼は光を使った量子コンピュータの原理を研究しているのだっけか? 古澤先生もカナダでベンチャー起こして量子コンピュータ作ってるとか聞いたような聞かないような

-閑話休題-

古典の世界で似たような手法として,シミュレーテッドアニーリング(SA:Simulated Annealing)なる手法がある.
SAは日本語だと焼きなまし法とか言われる.SAは熱揺らぎを使って局所最適解を脱して最適解を見つける手法である.
とてもざっくりとした説明だが,アニーリングの説明をしたいわけではないのでこの辺で.

で,D-WAVEなどで最適解を見つけようとするわけだがコスト関数はイジングモデルで定式化される必要がある
イジングモデルっていうのは以下の式だと思ってくれればok

\mathcal{H}=-\sum_{\langle i,j\rangle}J_{ij}\sigma_i\sigma_j-\sum_{i}h_i\sigma_i
D-WAVEとかを使いたかったら,解きたい問題をこのイジングモデルで表現する必要があるわけですね.
それがまた問題で組合せ最適化問題はだいたいイジングモデルで表現できるそうなのだが,一般的な方法は知られていなく (というかおそらく一般的な方法はない?)ので,問題ごとにイジングモデルでの表現を考える必要がある.

巡回セールスマン問題やSATなど,すでにイジングモデルでの表現が与えられているものも存在するが,与えられていないものも数多く存在する.
その辺りが応用的にはやるべき仕事な訳です.
と言いつつも,現状ではD-WAVEも2000程度しかqubitないわけで,しかも,実際には2000qubit全て使えるわけではないし
実用的に使えるの?と聞かれるとまだまだかなぁという感想
まだまだ発展途上のものだからこれからに期待しつつ,それとは別にゲート方式の動向も気になるなぁ

*1:T. Kadowaki and H. Nishimori., “Quantum annealing in the transverse Ising model, ” Phys. Rev. E 58, 5355 (1998).