chokudaiのブログ

chokudai(高橋直大)のブログです

AI vs 人間まとめ【AtCoder World Tour Finals 2025 Heuristic エキシビジョン】

結果が出たので、運営側から見た感想を纏めます。

本記事は長文を読みたくない方向けにポイントをまとめています。1問で観測できることなんてたかが知れてるので、chokudaiの予想を多分に含みます。

  • OpenAIの用意したエージェントは2位相当。素直に凄い。12人参加者9位相当になるのでは?というのが事前のchokudai予想
  • SakanaAI開発のALE-Agent(ID: fishylene)も4位相当(6桁円ほどのコスト)。これは事前の分析より
    遥かに良い結果であり、AIが得意な問題であったと思われる。実装量の多い問題であったため、人間が10時間では足りない、というのが最大の理由。
  • OpenAIのロジックはALE-Agentから1段階実装量がとても多いのが増えている。増えたロジックはAIが苦手とされていたビームサーチ。モデルがめっちゃ良いorどんだけお金かけたの?
  • 前回記事予想の「現ルールで抜かれるのは5年後」はかなり外しそう。だが、来年戦えないかと言われるとまだ差があるように見える。
  • 10時間は人間にはかなり足りない。AIは運営準備スコアの6割程度。参加者の復習では3日でAIの倍のスコアが出ており、上位参加者が時間をかけたスコアには遠く及ばない。ルール設定によって、人間が勝ったりAIが勝ったりする。
  • 4時間コンテストではAIが半分くらい勝つのでは?(chokudaiの勝手な予想)
  • 普段は4時間or10日間のコンテスト。10日間のものは現状大差。これでAIが勝つようであれば、いよいよ人間がヒューリスティック最適化を行うことがなくなるかも。

 

結果報告

OpenAIのエージェントは、10時間の最終結果で2位相当の結果になりました。Aはリアルタイム採点の結果(50ケースの相対評価)、A-Finalがケース数を増やした最終結果です(2000ケースの相対評価)

AI vs 人間 最終結

思ったよりめちゃめちゃ強かったです。AIが今回勝ってしまうと、今後のAI vs 人間の企画が終わりになってしまう可能性が高かったと思うので、何とか人間が勝ってくれてよかったと思っています。

ニュースとかではここまでで終わると思うんですが、この後の動きに面白いものがたくさんあったので、まずはそちらを紹介したいと思います。

 

延長戦

OpenAIによるPsyho解の改良

Psyhoコードを初期解として改良したOpenAI

優勝者のPsyhoさんのコードを、OpenAIのエージェントに初期解として与え、改良した結果がこちらです。Psyhoさんに差をつけ、大差をつけて堂々の1位になっています。

この結果は、「良いアイデアをベースにして最適化を行うと、AIが自らアイデアを考えるよりも良い結果が得られる」ということが分かります。AIと人間の協力、みたいな可能性が見える結果です。

Rafbillさんによる独自の改良

Rafbillさんの延長戦1

この数時間後、本番8位の参加者のRafbillさんが、ホテルで延長戦を行い、提出した後の順位表です。
OpenAIがPsyhoさんのコードを改良したものをさらに上回っており、人間が長時間考えたアルゴリズムが、AIのパフォーマンスを大幅に上回っているのが分かります。

 

運営想定解とRafbillさんのスコアの伸び

 

運営想定とRafbillさん2回目

今回の問題作成者のwata_adminによる想定解法と、Rafbillさんのさらなる発展です。運営想定が本番1位の1.5倍程度のスコアであること、Rafbillさんがそれをさらに上回り、本番1位の2倍程度のスコアを獲得しています。

 

延長戦まとめ

現状、AIは10時間コンテストで、人間に勝ちそうなレベルまで迫りました。これは驚異的です。一方、時間をかけた人間は、まだAIに大差で勝てるようです。また、人間のアイデアをもとにAIが最適化を行うと、スコアが伸ばせることもわかりました。

巷では「世界2位を取った、もうAIに人間は勝てない」という話が出回っているようですが、これはルール次第でしょう。10時間のコンテストでこの結果なので、これ以下の時間設定のコンテストではAIが最強である可能性が高いです。

AtCoderでは、Heuristic部門では、4時間コンテストと10日間コンテストの2種類のコンテストが開催されています。4時間コンテストでは、AIが参加したら、半分くらいは優勝するんじゃないか?というのが自分の見解です。この見解に至った理由をこれから書いていきます。

 

最上位競技プログラマーとしての感想

正直にいって、今回AIが書いたプログラムの方針はかなり筋が悪いです。人間視点で言うと、限界が見えやすく、あまり詰めようと思わない解法を極限まで詰めている、といった印象です。ですが、その詰める部分が驚異的、と言った印象です。

性能説明のために問題と提出の内容に触れますが、ざっくり、以下のような問題です。

  • ロボットが複数いて、ある地点からある地点に移動させたい。
  • 事前にロボットをグループ分けすることと、壁を増やすことが行える
  • ロボット達に対して、以下の命令が行える
    • グループ移動:グループに対して上下左右の移動命令が出来る
    • 個別移動:1つのロボットに対して上下左右の移動命令が出来る

 

2位だったterryさんの回答が、以下のようなものになります。(seed=0, 571手)

terryさんのseed0実行結果(571手)

 

OpenAIのコードを実行すると、以下のようになります。

OpenAIの提出コード(seed0, 489手)

見た通り、「壁の設置」についてあまりうまく使えていません。ですが、「グループごとの移動」の最適化にビームサーチを使い、そこを詰め切ることにより、terryさんのコードよりも手数を大幅に減らすことに成功しています。

これがAIの「詰める能力」です。今回のAIはこの「詰める能力」がめちゃめちゃ高いように思っています。

 

SakanaAIと共同開発したALE-Agentも、ほぼ同じ挙動を示しています。ですが、「詰める力」に差があり、手数が少し多くなっています。

ALE-Agentによる解(seed0: 553手)

 

この「詰め」部分ですが、TerryさんやALE-Agentは、「焼きなまし法」と呼ばれるアルゴリズムを使用しています。こちらはAIが比較的扱いやすいアルゴリズムであるとSakanaAIとの分析によって解析されています。

一方、OpenAIのエージェントは、「ビームサーチ」と呼ばれるアルゴリズムを使用しています。このロジックは、焼きなまし法と比べて実装量が非常に多くなりがちで、変更差分が多い分、AIに扱えないのではないか?と思われていました。(AIが扱えない本当の理由は不明ですが)

今回、この「詰め」の部分に「ビームサーチ」を使う、というのが、AIの異常な点でした。人間であればそれをする前にそもそもこの方針を見捨てる、AIはそこまで詰める実力がない、と思われていたのに、そこを詰め切った。そこが今回の最も凄かった点です。モデルが凄いのか、使った金額が凄いのか。そこはOpenAIからの開示がない以上、わからないですが……。

 

さて、それでは1位のPsyhoさんはどのように勝ったのでしょうか?

Psyhoさんの1位解答(484手)

そもそもグループ分けがされていない、全てをくるくると回すとなぜかほぼ正しい配置になっている、というような、不思議な解法です。実はこの「1グループで処理する」というのが運営想定解であり、グループを分けて処理するのは限界があるので真っ先に捨てるべき解答でした。このように、「グループを分けずに全てまとめて処理する」というのを突き詰めると、どこまでも改善することが出来ます。

運営想定解は以下のようなものです。

wataによる運営想定解(263手)

壁をうまく配置することにより、まとめて移動+途中で細かい個別移動で壁に引っ掛ける、というロジックを使い、半分近くの手数に改善することが出来ています。ここまで出来ていれば、OpenAIに全ケースで圧勝出来る感じです。参加者がここまで行くとは思っていませんでしたが、これに近いレベルの回答が出てくる想定ではありました。

 

Rafbillさんが延長戦で詰めたアルゴリズムによると、どうもPsyhoさんの方針に近いロジックの方が、さらに良い解答が出るようです。

Rafbillさんによる延長戦(192手)

Rafbillさんは焼きなまし法を詰める能力が世界1位だと僕は思っているので、全参加者がこのレベルまで1週間でたどり着ける、とまでは言いませんが、1週間あれば、今回の参加者がOpenAIの提出コードを下回ることはないんじゃないのかな、というのが、僕の今のところの感想です。

 

なんでAIが2位になれたの?

まず、AIが2位相当のコードを作り上げたのは、本当に凄いと思っています。人間のコードから改良することが出来ることも分かり、評価が明確な問題についてのAIエージェントによる最適化の未来は明るいと感じています。

ですが、今回のコードを見る限り、2位は上振れかな、と感じています。期待値だと4位くらい、でも優勝確率も1/4くらい、大体は6位とか7位とかそれくらい、みたいな感じが、自分の今の見立てです。(1問しか見てないのであってるか分かりませんが……)

優勝者のPsyhoさんのコンテスト開始前のツイートを引用しますが、AI vs 人間の結果は、以下の要素に影響します。

  • 問題
  • 計算リソース
  • テストリソース
  • 人間の体調(時差など)
  • AIをAHC用にどれだけ調整したか

今回は、問題がAI寄りであったと思っています。ALE-Agent(id: fishylene)が4位相当であったことから、結果もそれを示しています。

では、問題の何がAIに有利に働いたのか。それは、はっきり言ってしまえば、AtCoderの問題のバランス調整ミスです。「10時間あればここまで行けるだろう」をちょっと高めに見積もりすぎ、要素を直前で追加した影響で(初期壁が最初はありませんでした)、参加者は安全な解法にしか挑戦できず、Psyhoさんのような革新的な回答が出てこなかったのだと思われます。

初期壁(例で見せた真ん中の大きな壁)がない設定であれば、もう少し人間がAIよりも上位に入ったのではないか?と思われます。

 

ただ、忘れてはいけないのは、今回のコンテストは、人間vs人間がメインであり、vsAIはあくまでもエキシビジョンである、という点です。我々は人間のためにコンテストを提供しているし、人間にとって面白いコンテストであろうとしています。

今回、「バランス調整ミス」と書いたのは、人間が多様な回答を提出できない時間設定になっていたからです。決して「AIに人間に勝てる問題設定をしよう」としているわけではないのはご理解いただけると嬉しいです。

 

ルールへの影響は?

前回のSakanaAIとの共同研究による結果を受けて、「自動採点を用いてAIに大量にコード生成させる」というのを禁止しているので、ルールには影響ありません。今回の結果で、競技環境が大きく変わることもおそらくないでしょう。

(そもそも賞金の数十倍とかの資金がかかりそうな参加のしかたをする人はいないと思いますが……)

 

実課題におけるヒューリスティック最適化

実際の社会課題に対して、AIがヒューリスティック最適化を改善出来るのか、というのは、社会的には重要な点です。

これについては、見方が2通りあります。

  • 社会にある問題は、AtCoderの問題のように、「人間が工夫可能な面白い問題」ばかりではない。素直な実装を詰める能力はAIが示した通りであり、そうした問題においては既に世界最強格である可能性がある
  • AIは複雑な問題になればなるほどアルゴリズム改善が上手くない傾向にあり、実課題の複雑性はコンテストの問題よりもはるかに高い。よって、AIは実課題のヒューリスティック最適化をするのはまだまだむずかしい

こんな感じで、どっちも言えるんですよね。なので、「やってみないと分からないし問題によるかも」というのが僕の今のところの感想です。個人的には後者寄りかな、と思ってます。1から組むのは難しいのですが、シミュレーションなどが実装された状態で、評価値も出せる、という環境を整えてあげた後、方針を示してあげれば、前者に近い形に持ち込めそうな気がしていて、部分的な利用についてはかなり良さそうかな?と感じています。

また、コンテストでは、実行時間が2秒であるが、実際の最適化は一晩程度かけて良いことが多く、片っ端から実装/テスト、みたいなPDCAがAIに爆速で回せなくなる、というのも、人間優位に働くポイントです。まだまだ実務においては人間が活躍する領域が多そうかな?というのが個人的な見解です。……が、1問の実装を見ただけでわかることなんてたかが知れてるので、あくまで現状の僕の予測でしかないと思ってください。

AIは人間を超えるのかと今後の展望

今回のAWTFルールであれば、「何度かやればAIが1回は勝つ」という状態だと思います。12人いたから1人勝っただけで、AIとの勝率が5割を超えているプレイヤーが現状存在するのかはちょっとわからないです。毎年このルールでAWTFを開きたいと思っていますし、来年くらいならまだ人間の勝率が高いのかな?と思ってますが、AIが1位を取るのは時間の問題でしょう。前回記事だと5年とか予想してましたが、ここまでのリソースを投入されると2年とかなのかな……?と思ってます。(個人のユーザが数万円程度の出費に抑えてまともに使えるレベルだと、やっぱり5年なのかな、と思ってます)

一方、人間がじっくり最適化や実験に取り組める10日間ルールだと、AIはまだまだ人間には及ばないであろう、というのが実態です。ゴールずらしみたいな感じで申し訳ないですが、こちらでAIが勝てるようになると、完全に「AIが人間を上回った」となると思いますし、おそらく多くのAI開発企業が目指しているのはここだと思いますし、5年後か20年後か分かりませんが、いずれ超えるのだろうと思います。

この「10日間のオンラインコンテスト」にも、AI vs 人間がきちんと観測できる場を作りたいと考えています。まだAIに勝ち目がないと思うので、多くのAI企業がなかなか乗ってきてはくれないと思うのですが、交渉を続けていきたいと思っています!

 

おまけ:OpenAIのAIに個人的に親近感があります。

実は、このPsyho, wata, Rafbillの3人にボコられてるの、めっちゃ僕と同じで親近感があります。

 

Topcoder Open 2017で、僕はPsyhoさんに負けて個人での世界一を逃しました。

TCO2017

運営想定解を作ったwataさんには、TCO2010で負けてこちらも世界一を逃しました。

TCO2010

延長戦でめちゃくちゃ強いRafbillさんは、ICFPC2023でチーム「Unagi」で出場した際、Rafbillさんのチーム「All your sound are belong to us」に負けました。

ICFPC2023

今回OpenAIより上の提出を出しているメンバーが、僕の優勝を阻んだメンバー過ぎて、ちょっと親近感を覚えています。そうだよなあ!そいつら強いよなあ!!

って感じで、OpenAIのAIに親近感を覚えたので、来年は僕も事前に10時間しっかり測ってAIとバトって、AIに勝った/負けたをちゃんと言えるようにしようと思います。なあ、OpenAI、あいつら一緒に倒そうぜ!!!