AIが半世紀ぶりに「並べ替え」を速くした|あなたの端末でもう動いている
コンピュータが最も基本とする処理「並べ替え(ソート)」。人類が磨き上げた定番アルゴリズムを、AIが10年以上ぶりに塗り替えました。しかもその成果は、世界中のプログラムが使う標準ライブラリに採用済み。DeepMindのAlphaDev(Nature 2023)をやさしく解説します。
「データを小さい順に並べ替える」——ソートと呼ばれるこの処理は、コンピュータが一日に数えきれないほど実行する、最も基本的な仕事のひとつです。検索も、表計算も、地図アプリも、その土台でソートが走っています。
だからこそ、ソートのアルゴリズムは何十年も世界中の天才たちに磨かれ、「もう改善の余地はほぼない」と思われていました。ところが 2023 年、Google DeepMind の AlphaDev が、その常識をひっくり返します。しかもこの成果、いまあなたが使っている端末の中で、すでに動いているかもしれません。
何をした研究なのか
AlphaDev は、囲碁で世界王者を破った AlphaGo の流れをくむ AI です。研究チームは、ソートの問題を 「パズルゲーム」 に変えて AI に解かせました。
- AI が並べるのは、人間が読むプログラムではなく、CPU が直接実行する アセンブリ命令(最も低レベルの“機械の言葉”)
- ルールは「正しく並べ替えられて、かつ、できるだけ手数(命令数)が少ないほど高得点」
- AI は無数の命令の組み合わせを試し、強化学習で より短く・速い手順 を探し続ける
何を見つけたのか
AlphaDev は、人間が長年使ってきた定番手順より 短い命令列 を発見しました。特に、3〜5 個といった 少数の要素を並べ替える処理 で効果が大きく、
- 短い列のソートで 約 70% の高速化
- 25 万要素を超える大きな列でも 約 1.7% の改善
を達成。中でも見事だったのは、ある場面で人間なら「念のため」と入れる命令を AlphaDev が大胆に省略 し、それでも正しく動く、という“手筋”を見つけたことです。まるで熟練棋士の妙手のようでした。
いちばんすごいのはここ
研究で終わらなかったのが AlphaDev の真骨頂です。発見されたアルゴリズムは独立した検証を経て、C++ の標準ライブラリ(LLVM libc++)に正式採用 されました。
これは、
- 10 年以上ぶり の、標準ソートアルゴリズムの変更であり、
- AI が発見したアルゴリズムが標準ライブラリに入った、史上初の出来事
でした。C++ は世界で最も広く使われる言語のひとつ。その土台が更新されたということは、世界中の無数のソフトウェアが、知らないうちに少しだけ速くなったことを意味します。スマホのアプリも、サーバーも、その恩恵を受けているかもしれません。
ひとつ注意
AlphaDev が塗り替えたのは、主に 少数要素を並べ替える小さな部品 です。「あらゆるアルゴリズムを AI が人間超えで設計する」という段階ではまだありません。とはいえ、人類が極限まで最適化したと信じていた領域に、AI が新しい一手を持ち込めた事実は、十分に画期的です。
持ち帰り
「もう改善できない」と思われた場所に、AI が違う角度から最適な一手を見つけ、しかもそれが現実の世界で動き出す——。これは、AI が研究のおもちゃではなく、実装され、世の中の役に立つ道具になりつつあることの象徴的な一例です。私たちも「面白い技術」を「現場で動く成果」に変えることを信条にしています。
アルゴリズムや最適化を含む開発のご相談は、お問い合わせからどうぞ。きっと、誰かに話したくなる一本です。