0.99乗でも足りないはずだった
歩かかる計算をまねるには、に近い量の記憶が要る。マスでも足りない。理論計算機科学では、数十年のあいだ広く信じられてきたらしい。その見方を2025年に崩したライアン・ウィリアムズが、論文の序論でそう振り返っている。
記憶がマスほどあれば足りることは、すぐに分かる。1歩でヘッドが書きかえるマスは、テープごとに1つしかないからだ。難しいのは、それよりずっと少ない記憶で同じ答えを出せるかどうかである。
2025年2月に出た答えは、ほぼ平方根だった。
マサチューセッツ工科大学(MIT)のウィリアムズ教授は、多テープチューリング機械で歩かかる計算なら、どれもおよその記憶でシミュレートできることを示した。シミュレートするとは、同じ入力に同じ答えを出す別の手順でまねることだ。論文は2月24日に計算量理論のプレプリントサーバーECCCで、翌日にはarXivでも公開された。定数倍を無視して比べると、100万歩の計算では、1975年から続いた上界は約5万マス、新しい上界は約4,500マスになる。
ウィリアムズは論文に「定理1.1は、とても意外だと思う」と書いた。前段に置いた少し弱いの結果にも、「(著者にとって)すでに極めて意外だ」と書き添えている。
では、なぜ50年も手が届かなかったのだろうか。
鍵は、まったく別の問題のために磨かれてきた手順にあった。2023年にジェームズ・クックとイアン・マーツが示した、木の評価問題を少ない記憶で解く方法である。ウィリアムズは論文の最後の節で、この手順が先に見つかっていたことを「幸運だった」と書いている。計算を木の評価に置き換える自分の帰着が先だったら、研究者たちは著者も含めて、それを木の評価の研究を阻む「壁」とみなしただろう。この方向の研究を思いとどまらせたかもしれない、という。
同じ帰着が、見つかる順番しだいで壁にもなりえた。
2025年3月、ウィリアムズはプリンストン高等研究所でこの結果を話した。6月にはプラハで開かれた理論計算機科学の国際会議STOC 2025で、最優秀論文賞の4本に選ばれている。同じ4本には、最短経路の「並べ替えの壁」を破った段然らの論文も入った。

1975年の小石と、2023年の木
読み書きできるテープが1本だけの機械なら、平方根の答えは早くからあった。1968年、ジョン・ホップクロフトとジェフリー・ウルマンは、そうした機械で歩かかる計算を、ほどの記憶でシミュレートできることを示している。ところがテープが何本もある機械では、平方根の上界は2025年まで知られていなかった。
多テープの機械については、1975年10月の国際会議FOCSで、ホップクロフト、ヴォルフガング・パウル、レスリー・ヴァリアントの3人が、記憶をまで減らせることを示し、1977年に学術誌にも論文を載せた。
3人は、計算を同じ長さの区切りに分け、どの区切りがどの区切りの結果を使うかをグラフに描いた。そのうえで、グラフの点に小石を置いたり外したりする一人遊び(ペブルゲーム)として、記憶を数えた。小石を置いた点の結果だけを覚え、外した点は要るときに計算し直す。点が個で、各点に入る辺が本以下のグラフなら、小石は個で足りる。
この数は、グラフによってはそれ以上減らせない。1976年には、パウルとロバート・タージャン、J・R・セロニが、小石がの定数倍ほど要るグラフがあることを示している。ウィリアムズによると、こうした小石の下限は、1975年の結果を改良するうえで大きな障害だった。
ホップクロフトは1967年にコーネル大学へ移り、いまも名誉教授として籍を置く。2025年10月9日、そのコーネル大学のゲイツ・ホールで、卒業生のウィリアムズが講演している。要旨によると、「1970年代にコーネルでなされた仕事」と、ここ2年の新しい考えを使って、時間と記憶の新しい関係を示す講演だった。

では、ここ2年の新しい考えとは何だったのか。
出発点は、別の大問題のために作られた問題だ。2009年、スティーブン・クックらは木の評価問題を考えた。高さの二分木があり、葉にはビットの値が書かれている。内側の点には、2つの子の値を受け取って自分の値を返す関数が、表の形で与えられる。根の値を求めればよい。
素直に解くなら、片方の子の値を覚えたまま、もう片方の部分木を計算する。段ごとにビットずつ覚えるので、記憶はほどになる。クックらは、これより大幅には減らせないと予想した。予想が正しければ、対数の記憶で解ける問題のクラスLと、多項式時間で解ける問題のクラスPが違うことになる。
この直観に疑いを向けたのが、2014年にハリー・ブールマンらが考えた触媒計算である。中身の分からないデータで埋まった記憶を借りてよいが、計算が終わったら1ビットも違わず元に戻さなければならない。そんな窮屈な約束の下でも、借りた記憶が計算の役に立つことがあると、ブールマンらは示した。木の中で古い値を覚えた記憶は新しい値の計算に使えない、という前提を疑うための計算モデルだった、とクックとマーツは書いている。
ジェームズ・クックとイアン・マーツは、2020年からこの考えを木の評価に持ち込んだ。2023年11月の論文では、記憶をまで減らしている。は入力の長さで、対数の記憶との差は倍しか残っていない。論文は翌年6月、バンクーバーで開かれたSTOC 2024で発表された。ウィリアムズはこの手順を、木ではなく、時間のかかる計算そのものに当てはめた。
借りた記憶でたどる区切りの木
多テープチューリング機械が、長さの入力に歩で答えを出すとする()。テープの本数はで決まる定数である。以下は論文の第3章の筋で、計算グラフの推測と「失敗」の伝え方などの細部は省く。
-
1歩でヘッドが書きかえるマスはテープごとに1つなので、使う記憶はを超えない。
-
時間を歩ずつの区切りに、テープをマスずつの区画に分ける。1975年の3人の補題によると、はテープを1本足し、時間を定数倍にするだけで、どの区切りのあいだも各ヘッドが1つの区画にとどまる機械に作り直せる。作り直した機械のテープを本とする。区切りの数は次のとおり。
時間をb歩ずつに区切ると、区切り5の計算に要るのは、直前の区切り4と、同じ区画を最後に触った区切り2の結果だけになる。 -
区切りの終わりの様子(状態、ヘッドの位置、触った区画の中身)をと書く。長さはビットで、直前の区切りと、各ヘッドがいまの区画を最後に触った区切りの結果から、歩動かせば求まる。使う区切りは個以下である。
-
最後の区切りを根にし、各点の子にその点が使う区切りを置くと、グラフは木に開ける。根の値から受理か拒否かが分かり、葉は入力か空白の区画になる。木の点は指数関数的に多いが、ヘッドが区画を左右どちらへ移ったかの印(, , )を区切りごとに覚えておけば、どの点の子も少ない記憶で求まる。印は前もって分からないので、ビットの候補を順に試し、合わない候補では根が「失敗」になるように関数を作る。
-
この木を深さ優先で素直にたどると、段ごとに子の値を覚えるので、記憶は減らない。
-
クックとマーツの手順は、高さ、子の数が以下、値がビットの木の根を、次の記憶で求める。
-
この手順は、子の値を新しい場所に覚えない。中身の分からない共有の場所に子の値を足して使い、使い終えたら同じをもう一度足して消す。標数2の有限体では、同じものを2回足すと0になるからだ。値の取り出しには、次数がより小さい多項式と、1の原始乗根について成り立つ等式を使う。は体の元の数より1小さい数である。
-
段ごとに残すのは、いまどの子を扱っているかと、和の何項目まで来たかを表すビットだけになる。は定数でなので、印の候補のビットも足すと、記憶は次の大きさになる。
-
とおくと、2つの項はどちらもほどにそろう(次の章で確かめる)。
このシミュレーションは、記憶を削る代わりに時間を惜しまない。論文によると、歩の区切りを多項式に置き換えて1点の値を求めるだけで、の時間がかかる。速いプログラムを作る定理ではなく、記憶だけで測ったときの限界を示す定理である。
手順3と手順4は、ヘッドが隣の区画へしか移れないことを使っている。好きな番地を一度に読めるランダムアクセスの機械では、の記憶でまねられるかどうかさえ、まだ分かっていない。番地が自由に飛ぶと、計算グラフの点に入る辺が多くなりすぎ、グラフを少ない記憶にしまえないからだ、とウィリアムズは説明する。一方、論文の系3.6によると、木の評価が対数の記憶で解ければの因子も消え、まで下がる。
3つの点の平均と、65,536歩
手順7の等式を、1の3乗根で確かめる。共有の場所に入っていた中身を、取り出したい値をとし、多項式はとする。
-
虚数の1の3乗根をとおく
-
を因数分解する
-
なので、和は0になる
-
3点の値を展開して足す
-
も, , と回る
-
残った項を3で割る
にどんな値が入っていても、3点で平均をとると消える。多項式をにすると、はどれも1なのでが残り、平均はになる。次数がより小さいという条件は、ここで効いている。ウィリアムズが付録で紹介する形では、この和を標数2の有限体でとる。体の元の数は2の累乗なのでは奇数で、個の和は割らなくてもそのままになる。
区切りの長さは、証明の手順8にある2つの項の釣り合いで決まる。定数を1とおき、を2を底にした目安で確かめる。
-
記憶の目安を書く
-
なので
-
相加平均と相乗平均の関係を使う
-
等号が成り立つを選ぶ
-
手順8に代入する
-
を入れる
-
2つの項を数えて足す
手順9は手順8の右辺の最小値で、そのものの最小ではない。当サイトでを数値で最小にすると、でになり、手順13の1,664との差は5%ほどだった。同じで、1975年の上界は4,096、何も工夫しない上界は65,536である。
覚える代わりに計算し直す
定理からは、記憶と時間の差が1つ言える。どんなを選んでも、記憶で解けての時間では解けない問題がある(論文の系1.2)。たとえば「機械は入力に対し、記憶マスの範囲で止まるか」を問う問題は、多テープチューリング機械ではの時間で解けない。線形の記憶で解ける問題に、ほぼ2乗の時間の下限が付いたのである。ウィリアムズは論文の抄録で、PとPSPACEの問題を「少し前に進めた」と表現している。
覚える量と計算し直す手間を釣り合わせる考え方は、計算機の現場でもなじみがある。深層学習の学習では、順伝播で出た途中の値を逆伝播で使うまで覚えておくので、層があれば覚える値も組になる。
層を層ずつに区切り、境目の値だけを覚えるとどうなるか。逆伝播で区切りに入るたびに、その区切りの中を順伝播し直して組を作る。覚えるのは境目の組と区切りの中の組で、合計はのとき最小のになる。100層なら20組で済み、全部覚える100組の5分の1になる代わりに、計算し直す手間が順伝播1回分ほど増える。
2016年、ティエンチー・チェンらは、層のネットワークをの記憶で学習させる方法を発表した。1,000層の残差ネットワークでは、記憶を48GBから7GBに減らし、実行時間の増加は30%だったと報告している。ただし、チェンらの方法は区切りを1回ずつ計算し直す素直な工夫で、ウィリアムズの定理を使ったものではない。似ているのは、とという釣り合いの形である。
区切りの長さを手で選ぶ
記法と多テープチューリング機械は、大学の情報科学で、計算理論や計算量理論の講義に出てくる。例題3と例題4は、複素数の計算だけで解ける。
例題 1基本上界を3つ並べる
のとき、何も工夫しない上界、1975年の上界、2025年の上界を求めよ。定数倍は1とおく。また、1975年の上界は2025年の上界のおよそ何倍か。
解説を見る
である。
比は次のとおり。
およそ1,214倍である。
例題 2基本区切りの長さで記憶を比べる
記憶の目安をとし、とする。, , のそれぞれについてを求め、いちばん小さいものを答えよ。
解説を見る
はそれぞれ, , である。
いちばん小さいのはの2,304である。が小さすぎるとメモの項が、大きすぎると作業領域の項がふくらむ。途中の計算で手順13に出たは1,664で、さらに小さい。
例題 3入試虚数単位の累乗で平均をとる
を虚数単位とし、, を複素数とする。
(1), , を求めよ。
(2)を示せ。
解説を見る
(1)は, , , と回る。
は, , , 、は, , , と回るので、どちらの和も0である。
(2)二項定理で展開する。
から4まで足すと、(1)より最初の3つの項は消える。
4で割るとで、によらない。次数3はより小さい。
例題 4難関次数が足りないと
とし、, を複素数とする。
(1)をとで表せ。
(2)3点での平均がに等しくなるのは、がどんなときか。
解説を見る
(1)展開すると次のとおり。
なので最初の和は3で、残りの2つの和は途中の計算で確かめたとおり0である。
(2)平均はなので、に等しいのは、つまりのときだけである。共有の場所が空でないと、3次の多項式は3点では取り出せない。を4以上にする必要がある。
例題 5大学線形の記憶と2乗の時間
空間階層定理「が領域構成可能でなら、」と本文の定理を使って、を示せ。
解説を見る
と仮定する。に定理を当てはめる。
右辺の中身を整理する。
で割るとで、で0に近づく。よってはである。仮定と合わせるととなり、とした空間階層定理に反する。したがってである。1.9をに替えても同じ議論が通る。
傾きが半分になった上界
両対数のグラフでは、の形の上界は傾きの直線になる。1975年のは、のすぐ下をほぼ同じ傾きで進み、歩でもの約40分の1までしか下がらない。2025年のは傾きがほぼ半分になり、歩ではの約16万分の1である。
木に開くと、同じ区切りが何度も現れ、現れるたびに計算し直すので時間は大きく増える。その代わり、覚えるのは、いまいる点から根までの道に置く小さなメモと、使い回す作業領域だけになる。
作業領域とメモの釣り合い
区切りの長さを、の何乗かで動かす。「足して戻す」では、区切り1つ分の作業領域と、段ごとの小さなメモの和が記憶になり、グラフの谷が最も少ないを示す。「そのまま覚える」に切り替えると、段ごとに区切り1つ分を覚えるので、をどう選んでも記憶はのまま動かない。値は定数を1とおき、計算グラフの印の分を省いた目安で、100万歩では谷の底が約6,840と、の約1.5倍になる。
回路、多項式、学習の記憶
- 情報科学 同じ問題の難しさを、時間で測るか記憶で測るかで比べるときに使う。どんなでもまで縮められればPとPSPACEが異なることになる、とウィリアムズは指摘している。大きさの回路の出力を、どの入力でもおよその記憶で求められることも導かれる。
- 数学 多項式の値や係数を、1の乗根について和をとって取り出すときに使う。はがの倍数なら、それ以外は0になるので、次数がより小さい多項式では、平均をとると定数の項だけが残る。オイラーの公式でと書けば、離散フーリエ変換も同じ性質の上に立っている。
- 工学 深層学習の学習や自動微分で、途中の値を覚える量と計算し直す手間を釣り合わせるときに使う。1992年、アンドレアス・グリーヴァンクは、逆向きの自動微分で、時間と記憶の増え方をどちらも対数の倍率に抑えられることを示した。層を層ずつに区切る学習の方法も、同じ計算し直しの考え方に立つ。
木の評価はどこまで縮むか
- 2024年 オデッド・ゴールドライヒ(ワイツマン科学研究所): 値のビット数を、木の高さをとすると、クックとマーツの手順の記憶はで、を超えない。ゴールドライヒはこれをの因子だけ下回る、の記憶で解いた。分木に広げた手順を改良し、二分木を分木に組み直して高さを分の1にする。主な結果はダートマス大学の学生が半年前に得ていた、とゴールドライヒは断っている。木の評価が対数の記憶に届けば、証明の手順8のが消え、になる。出典はECCC TR24-124。
- 2025年 ヤコフ・シャルノフ(シカゴ大学): チューリング機械を経ずに、回路の値を求める問題を木の評価に直接帰着させた。大きさの回路の出力を、どの入力についてもの記憶で求められる。ウィリアムズの定理から出るを改良し、逆に歩の計算をの記憶でシミュレートする、少し弱い形の定理も導ける。出典は2025年4月に公開された原稿arXiv:2504.20950。
- 2024〜2025年 クック、マーツら4人: 対数の記憶に、元へ戻す約束で借りた記憶を足して解ける問題のクラスをCLと呼ぶ。4人は、ここに乱数を加えても解ける問題が増えないこと、つまりCBPL = CLを、仮定なしに示した。証明の手順7でとして借りた場所を元へ戻したように、使い終えた記憶を元どおりにするのが触媒計算の約束である。論文は2024年6月にECCCで公開され、STOC 2025に載った。出典はECCC TR24-106。
- 2022年NVIDIAの研究者7人: 大規模なTransformerの学習で、途中の値を層ごとに全部計算し直す代わりに、注意機構のうち、記憶を多く使うわりに計算の軽い部分だけを選んで計算し直す方法を提案した。系列並列と組み合わせて、途中の値を覚える記憶を5分の1にし、計算し直しにかかる余分な時間を90%以上減らしている。5,300億パラメーターのモデルを2,240基のA100で学習させた例では、全部を計算し直す方法より29%速かった。覚える量と計算し直す量の釣り合いを、部分ごとに選び直す形である。出典はarXiv:2205.05198。
参考文献
- R. Williams, "Simulating Time with Square-Root Space", STOC 2025, 13-23(ECCC TR25-017, 2025年2月24日; arXiv:2502.17779); J. ACM 73(3) (2026), 1-25.
- J. Hopcroft, W. Paul, L. Valiant, "On time versus space and related problems", FOCS 1975, 57-64; "On Time Versus Space", J. ACM 24(2) (1977), 332-337; J. E. Hopcroft, J. D. Ullman, "Relations Between Time and Tape Complexities", J. ACM 15(3) (1968), 414-427; W. J. Paul, R. E. Tarjan, J. R. Celoni, "Space bounds for a game on graphs", Mathematical Systems Theory 10 (1976), 239-251.
- J. Cook, I. Mertz, "Tree Evaluation Is in Space O(log n · log log n)", STOC 2024, 1268-1278(ECCC TR23-174); SIAM J. Comput. (2025); S. Cook, P. McKenzie, D. Wehr, M. Braverman, R. Santhanam, "Pebbles and Branching Programs for Tree Evaluation", ACM Trans. Comput. Theory 3(2) (2012); H. Buhrman, R. Cleve, M. Koucký, B. Loff, F. Speelman, "Computing with a full memory", STOC 2014, 857-866.
- O. Goldreich, "Solving Tree Evaluation in o(log n · log log n) space", ECCC TR24-124 (2024); Y. Shalunov, "Improved Bounds on the Space Complexity of Circuit Evaluation", arXiv:2504.20950 (2025); J. Cook, J. Li, I. Mertz, E. Pyne, "The Structure of Catalytic Space: Capturing Randomness and Time via Compression", STOC 2025, 554-564(ECCC TR24-106).
- T. Chen, B. Xu, C. Zhang, C. Guestrin, "Training Deep Nets with Sublinear Memory Cost", arXiv:1604.06174 (2016); A. Griewank, "Achieving logarithmic growth of temporal and spatial complexity in reverse automatic differentiation", Optimization Methods and Software 1(1) (1992), 35-54; V. Korthikanti et al., "Reducing Activation Recomputation in Large Transformer Models", arXiv:2205.05198 (2022).
- ACM SIGACT, "STOC Best Paper Award"(STOC 2025の受賞論文); Cornell Bowers CIS, "Time, Space, and the Mysteries of Efficient Computation"(Computer Science Colloquium、2025年10月9日); R. Williams, Curriculum Vitae (MIT CSAIL).