物理を簡単にする 第 2 回 / 第 I 部「簡単」を測る

電子の g−2 で、精度と計算量の為替レートを測る

計算は、
いちばん安い通貨 計算コスト 1 ビットにつき、精度が 2.03 ビット買える。
パラメータは 5.37 ビット払って、1 個しか買えない。

必要な予備知識:\(\log_2\) が「桁」の数え方であること検証:kensho/calc01.py

「計算量」は測れます。しかも、精度と交換できる通貨として測れます。電子の \(g-2\) を使うと、「ファインマン図を何枚描くと、精度が何桁上がるか」がきれいな直線に乗りました。そしてその為替レートを、パラメータの値段と比べると ── 計算はいちばん安い通貨でした。

01電子の \(g-2\) は、計算の値段が分かる唯一の題材

電子の磁気能率は、ディラック方程式が \(g=2\) ちょうどを要求します。実際には少しずれていて、そのずれ \(a_e = (g-2)/2\) が量子電磁力学の計算で出ます。

この計算が特別なのは、次数ごとに「何枚の図を描いたか」が数えられていることです。1 ループなら 1 枚、2 ループなら 7 枚、…と、はっきりした整数がついている。計算の量が数字になる、めずらしい例です。

計算(kensho/calc01.py ②)

次数ごとの図の数と、到達した精度

ループ図の数累積の図相対誤差精度ビット
111\(1.5\times10^{-3}\)9.4
278\(1.3\times10^{-5}\)16.3
37280\(4.8\times10^{-8}\)24.3
4891971\(3.9\times10^{-10}\)31.3
51267213643\(8.1\times10^{-12}\)36.8

「精度ビット」は、相対誤差の \(-\log_2\) です。誤差が半分になると 1 ビット増える、という数え方。第 III 部までずっとこの単位を使います。

02まず驚くのは、一枚目です

1 ループ = 図 1 枚 = 紙 1 行

\(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\))なら:

計算(kensho/calc01.py ③)

パラメータ 1 個の値段 \(= \tfrac12\log_2 1701 = \mathbf{5.37}\) ビット

これで二つの通貨が並びました。

買い方払い買えるものほかの量は
パラメータで買う5.37 ビット合わせた 1 個の量だけ何も当たらない
計算で買う1 ビット2.03 ビットの精度全部同時に当たる

右端の欄が決定的です。パラメータを増やして合わせても、合わせた量が当たるだけで、他は何も良くならない。計算を進めると、同じ理論から出てくる全部の量が同時に良くなる

0510 桁が欲しいときの見積もり

電子の \(g-2\) は 10 桁(約 44 ビット)合っています。それを買うのに要る計算量は、さっきの直線から逆算できます。

計算(kensho/calc01.py ③)

\((44.0 - 10.24) / 2.03 = \mathbf{16.7}\) ビットの計算コスト
\(= 2^{16.7} \simeq\) 10 万枚の図に相当

フィットで買うなら 5.37 ビット(安い)。ただし予言はゼロ

フィットの方が圧倒的に安いのです。それでも計算する理由は、④の右端の欄しかありません ── 計算だけが、払った以上のものを返す

この回の要点

「わけのわからない計算」は、パラメータを増やさずに精度を買う唯一の方法です。
計算を簡単にすると、その分は必ずパラメータで払うことになります。

06実際に、そうやって払っている

この交換は、比喩ではありません。強い力の計算では、はっきりそうなっています。

方法追加パラメータ計算量精度
格子 QCD0 個\(10^{19}\) flops1 %
カイラル摂動論 NLO10 個手計算数 %
クォーク模型4 個暗算10 %
次元解析1 個暗算桁が合う

上から下へ行くほど計算は楽になり、そのぶんパラメータが増えていきます。カイラル摂動論の 10 個(\(10\times5.37 = 54\) ビット)を払って、格子の \(10^{19}\) flops を回避している ── これが交換の実体です。

正直な線

02〜03節の回帰は5 点で、しかも量子電磁力学といういちばん行儀のいい例です。QCD の摂動級数は係数の増え方が速く、同じレートは出ません。また「図の数 = 計算量」は乱暴で、実際は 1 枚あたりの積分が次数とともに重くなるので、2.03 は上限寄りの見積もりです。

この文書は「物理を簡単にする」シリーズ第2回です。ファインマン図の枚数(1, 7, 72, 891, 12672)と \(a_e\) の摂動係数は公表値、回帰と為替レート 2.03 は本シリーズの計算です(kensho/calc01.py)。「計算量 = 図の数」は粗い代用で、実際の計算コストはこれより急に増えます。パラメータ 1 個 \(=5.37\) ビットは \(N=1701\) を仮定した BIC の値で、データ数の取り方に依存します。「計算は儲かる」という結論は量子電磁力学という最良の例での話で、強結合領域では成り立ちません(第4回で測ります)。

印刷 / PDF 化:⌘+P(Windows は Ctrl+P)。「答えを見る」で解答が開きます。