富士通はDAの開発にあたって、すべてのスピンの間に直接の結合があるという構造を採用した。富士通のDAは8192スピンを扱えるので、結合の数は8192×(8192-1)ということになる。そして、それぞれの結合に対してWijを記憶する必要があるので、大きな全結合のチップにはたくさんのメモリが必要であり、Aiを全ノードについて並列に計算するにはそれだけの計算回路も必要となる。

しかし、全結合でないマシンでは、直接の結合がないノード間で影響を伝えるためには中継のスピンが必要であり、有効に使えるスピン数が減ってしまう。なお、ここまでは強磁性体の状態を表すIsing Modelのスピンという用語を使ってきたが、スピンはupとdownで、それを1/0で表せばビットで記憶できる。したがって、ここからはスピンに替えてビットを用いることにする。

  • 富士通研究所

    富士通のDAは汎用性を高くするため、全結合を採用した。そして、確率的計算の並列性を最大限利用する設計となっている

従来の方法では、次に評価するノードをランダムに選択して採用確率を計算していたが、富士通は、次の状態変化のすべての候補の採用確率を並列に計算し、それぞれの候補の採用確率に比例した確率で1つの候補を選択することをハードウェアで行うという設計を採用した。つまり、採用確率の高い選択肢は高い確率で選ばれるが、採用確率の低い選択肢でも確率がゼロでなければ、まれには選択されることになる。なお、この採用確率を正確に計算するのは大変であるので、近似的な計算を行っているという。

  • 富士通研究所

    Xの状態がx(1)~x(N)に変化できるとき、それぞれの変化の採用確率Aiを並列に計算する。そして、どれが次の状態となるかは採用確率に比例したサンプリングで、どれが選ばれるかできまる

従来の方法では次に評価するノードをランダムに選択して、そのノードのビットを反転するかどうかを評価していた。これは調べる対象を懐中電灯で照らして採用/不採用を1ビットずつ評価するようなもので、時間が掛かる。

  • 富士通研究所

    従来の方法は、変化候補を1ビットずつ順に調べ、その変化の採否を決めており、時間が掛っていた

これに対して、富士通の方法は評価対象を全部並列に評価し、それぞれの候補状態の採用確率AjをAiの総計で正規化した採用確率Pjを求め、その確率でサンプリングしてどの状態変化を採用するかを決めるという方法であり、従来の方法のように、評価してみたら、その状態変化は採用できないという空振りがほとんど無い。

なお、Aiの総計を正確に計算するのは大変なので、近似的な計算を行っているという。

  • 富士通研究所

    富士通のDAは、個々の変化の採用確率AjをAi全体の合計で正規化してPjを求める。そして、Pjの確率でサンプリングしてどの状態変化を起こすのか決める。このため、評価した変化が採用されないという空振りがほとんどない