第2回記事:AIの弱点 — なぜ「Ad-Hoc」問題で失敗するのか
「ハルシネーション」の罠:AIが解けないAtCoderの問題パターンとTLEの壁
【抄録】
第1回でAIの強さを認めた上で、第2回ではその限界を冷静に分析します。AIは万能ではなく、特定のタイプの問題(構成的アルゴリズム、インタラクティブ問題)や、計算量制約(TLE)の判断において致命的なミスを犯す傾向があります。この「弱点」を知ることこそが、人間がAIを超えるための第一歩であることを説明します。

1. 構成的アルゴリズムの壁
LLMの根本的な原理は、学習データに基づいたパターンの確率的予測です。そのため、ダイクストラ法やセグメント木といった「定石」が存在する問題には極めて強いです。しかし、AtCoderで頻出する「構成的アルゴリズム」—特定の条件を満たす数列や盤面を構築するような、定石が存在せずその場でのひらめき(Ad-Hocな思考)が求められる問題—においては、パフォーマンスが著しく低下します。
近年の研究によれば、LLMは問題文の表面的な類似性に引きずられ、適切なアルゴリズムを選択できないケースが多いです。例えば、一見すると動的計画法に見えるが、実際には貪欲法で解くべき問題に対し、LLMは複雑なDPテーブルを構築しようとして失敗します。これは、AIが「意味」を理解しているのではなく、過去のコードとの「類似性」を検索しているに過ぎないことを示唆しています。
2. 計算量感覚の欠如とTLE(Time Limit Exceeded)
競技プログラミングにおいて最も重要な要素の一つが、制約(N≤105など)に基づいた計算量の見積もりです。しかし、AIはこの「数感覚」が希薄です。
具体例として、制約が N=105 の場合、通常は O(N) または O(N log(N)) の解法が求められますが、AIは平然と O(N2) の二重ループを用いた解法を提案することがあります。(109を超える繰り返しはTLEとなるケースが多いです。)
コード自体は構文的に正しく、サンプルの小規模なテストケース(N=3など)は通過するため、学習者は「正解した」と錯覚します。しかし、提出すると大規模データでTLE(時間切れ)となります。この「構文的には正しいが、アルゴリズム的に不適」なコードを見抜く力は、依然として人間に依存しています。
3. データの「鮮度」と汚染
GPT-o4が2021年以前の過去問を完璧に解けるのは、それらが学習データに含まれているからです。一方、2024年や2025年に出題された最新の問題に対しては、正答率が急激に低下するという報告があります。これは、AIが「解いている」のではなく「思い出している」側面が強いことを示唆しており、未知の問題に対する真の対応力には疑問符がつきます。
まとめ
大量のデータを学習したAIは、論理的思考やアルゴリズム的な数学の知識を必要とした競技プログラミングの問題を解くことができます。しかし、それは過去に出題された問題を「定石」や「公式」として記録しているだけに過ぎないと言えるでしょう。
そこで、未知の問題に対しては、その問題に類似した答えしか出力することができません。そのため、一見して正解のようなAIの出力と真の答えには、大きな壁が存在します。
現時点で、この差をAIのみで埋めることは困難であり、次世代のプログラマーは、ただ単に複雑なコードを書くだけでなく、水平思考をもつ優れた評価者になる必要があります。
次回は、生成AIをうまく利用する上で守らなければならないルールと倫理について紹介します。

No responses yet