物理を簡単にする 第 2 回 / 第 I 部「簡単」を測る
電子の g−2 で、精度と計算量の為替レートを測る
計算は、
いちばん安い通貨
計算コスト 1 ビットにつき、精度が 2.03 ビット買える。
パラメータは 5.37 ビット払って、1 個しか買えない。
「計算量」は測れます。しかも、精度と交換できる通貨として測れます。電子の \(g-2\) を使うと、「ファインマン図を何枚描くと、精度が何桁上がるか」がきれいな直線に乗りました。そしてその為替レートを、パラメータの値段と比べると ── 計算はいちばん安い通貨でした。
01電子の \(g-2\) は、計算の値段が分かる唯一の題材
電子の磁気能率は、ディラック方程式が \(g=2\) ちょうどを要求します。実際には少しずれていて、そのずれ \(a_e = (g-2)/2\) が量子電磁力学の計算で出ます。
この計算が特別なのは、次数ごとに「何枚の図を描いたか」が数えられていることです。1 ループなら 1 枚、2 ループなら 7 枚、…と、はっきりした整数がついている。計算の量が数字になる、めずらしい例です。
次数ごとの図の数と、到達した精度
| ループ | 図の数 | 累積の図 | 相対誤差 | 精度ビット |
|---|---|---|---|---|
| 1 | 1 | 1 | \(1.5\times10^{-3}\) | 9.4 |
| 2 | 7 | 8 | \(1.3\times10^{-5}\) | 16.3 |
| 3 | 72 | 80 | \(4.8\times10^{-8}\) | 24.3 |
| 4 | 891 | 971 | \(3.9\times10^{-10}\) | 31.3 |
| 5 | 12672 | 13643 | \(8.1\times10^{-12}\) | 36.8 |
「精度ビット」は、相対誤差の \(-\log_2\) です。誤差が半分になると 1 ビット増える、という数え方。第 III 部までずっとこの単位を使います。
02まず驚くのは、一枚目です
\(a_e \simeq \dfrac{\alpha}{2\pi} = 0.001161410\) 実測 \(0.001159652\)
3 桁合います。 図 1 枚、掛け算 1 回、それで 9.4 ビット。
残りの 12,671 枚が買うのは、そこから先の 27 ビットです。最初の一枚がいちばん儲かる ── これは後で効いてきます。
03直線に乗る
「累積の図の数」の \(\log_2\) を横軸、精度ビットを縦軸に取ると、五つの点がきれいに並びます。最小二乗で直線を引くと:
$$b \;=\; 10.24 \;+\; \mathbf{2.03}\,\log_2 D$$
\(b\)=精度ビット、\(D\)=図の数
計算コスト 1 ビットにつき、精度が 2.03 ビット買える。
つまり計算は儲かります。1 払って 2 返ってくる。図の枚数を倍にすると、精度は 4 倍良くなる計算です。
04パラメータの値段と比べる
比べる相手が要ります。「パラメータを 1 個増やす」ことの値段は、記述長側の標準的な数え方(BIC)で決まります ── データ点が \(N\) 個あるとき \(\tfrac12\log_2 N\) ビット。素粒子物理の標準的なデータ数(\(N \simeq 1700\))なら:
パラメータ 1 個の値段 \(= \tfrac12\log_2 1701 = \mathbf{5.37}\) ビット
これで二つの通貨が並びました。
| 買い方 | 払い | 買えるもの | ほかの量は |
|---|---|---|---|
| パラメータで買う | 5.37 ビット | 合わせた 1 個の量だけ | 何も当たらない |
| 計算で買う | 1 ビット | 2.03 ビットの精度 | 全部同時に当たる |
右端の欄が決定的です。パラメータを増やして合わせても、合わせた量が当たるだけで、他は何も良くならない。計算を進めると、同じ理論から出てくる全部の量が同時に良くなる。
0510 桁が欲しいときの見積もり
電子の \(g-2\) は 10 桁(約 44 ビット)合っています。それを買うのに要る計算量は、さっきの直線から逆算できます。
\((44.0 - 10.24) / 2.03 = \mathbf{16.7}\) ビットの計算コスト
\(= 2^{16.7} \simeq\) 10 万枚の図に相当
フィットで買うなら 5.37 ビット(安い)。ただし予言はゼロ。
フィットの方が圧倒的に安いのです。それでも計算する理由は、④の右端の欄しかありません ── 計算だけが、払った以上のものを返す。
「わけのわからない計算」は、パラメータを増やさずに精度を買う唯一の方法です。
計算を簡単にすると、その分は必ずパラメータで払うことになります。
06実際に、そうやって払っている
この交換は、比喩ではありません。強い力の計算では、はっきりそうなっています。
| 方法 | 追加パラメータ | 計算量 | 精度 |
|---|---|---|---|
| 格子 QCD | 0 個 | \(10^{19}\) flops | 1 % |
| カイラル摂動論 NLO | 10 個 | 手計算 | 数 % |
| クォーク模型 | 4 個 | 暗算 | 10 % |
| 次元解析 | 1 個 | 暗算 | 桁が合う |
上から下へ行くほど計算は楽になり、そのぶんパラメータが増えていきます。カイラル摂動論の 10 個(\(10\times5.37 = 54\) ビット)を払って、格子の \(10^{19}\) flops を回避している ── これが交換の実体です。
02〜03節の回帰は5 点で、しかも量子電磁力学といういちばん行儀のいい例です。QCD の摂動級数は係数の増え方が速く、同じレートは出ません。また「図の数 = 計算量」は乱暴で、実際は 1 枚あたりの積分が次数とともに重くなるので、2.03 は上限寄りの見積もりです。
計算量は、記法を変えるだけで劇的に下がることがあります。グルーオン 10 本の散乱は、ファインマン図で 1052 万枚。それが 1 項になります。しかもやったことは変数の取り替えだけで、物理は一つも変わっていません。
この文書は「物理を簡単にする」シリーズ第2回です。ファインマン図の枚数(1, 7, 72, 891, 12672)と \(a_e\) の摂動係数は公表値、回帰と為替レート 2.03 は本シリーズの計算です(kensho/calc01.py)。「計算量 = 図の数」は粗い代用で、実際の計算コストはこれより急に増えます。パラメータ 1 個 \(=5.37\) ビットは \(N=1701\) を仮定した BIC の値で、データ数の取り方に依存します。「計算は儲かる」という結論は量子電磁力学という最良の例での話で、強結合領域では成り立ちません(第4回で測ります)。