1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【色変記事】AtCoder (Heuristic) で緑になりました

1
Posted at

はじめに

AtCoder の ALGO ARTIS プログラミングコンテスト 2026 長月 (AHC072) でレーティングが 890 となり, ヒューリスティック部門で緑色になりました.

image.png

Twitter でそのことをつぶやいたら, 思いのほか多くの方から「いいね」を頂いたので, 記念に色変記事を書くことにしました. ヒューリスティック部門を始めた方が「どのくらい頑張れば緑になれるのか?」の参考になればと思います.

ちなみに昨年, アルゴリズム部門の色変記事 (緑)も書いています.

Who am I?

技術系のサラリーマンです. プログラミングを本業とはしていません. 最近は, 日本語でアルゴリズムを書いて, 生成 AI で VBA に変換するようなことをしたりしています.

2024/09 よりアルゴリズム部門に参加を開始. ヒューリスティック部門まで手を出す余裕はありませんでしたが, 「AI を使えるなら少しはやれるかも」と思って 2026/05 からヒューリスティック部門に参加しはじめました (AI の使用には制約がありますので, コンテストごとに最新情報を確認して下さい).

ちなみに AI は ChatGPT の無料版で, そのときに使えるモデルをこだわりなく使っています.

やったこと

精進は全くと言っていいほどやっていません. 実戦で試行錯誤しています. これまでの 4 回のコンテストを振り返ります.

AHC065

事前に過去問 1 つに取り組み, 最低限「AC の解は作れる」ことを確認してからトライ.

AHC065 は短期のコンテスト. 印刷版問題を PDF 化して, ChatGPT に投げて, 解を作ってもらいました. このときは AI に頼れるだけ頼る方針で, AI の解がイマイチっぽく見えても, 深く考えずに AI とやり取りしました.

終了間際で ChatGPT に利用制限がかかり, Copilot に切り替えましたが, うまく使えずに時間切れ.

教訓としては, AI に頼り過ぎず, 怪しいところはきちんと指摘して, 自分が主導権を握らないといけないということでした.

こちらの 参戦記 ; AHC065 もどうぞ.

AHC066

初の長期コンテスト. 振り返ってみればたまたまだったのですが, 私としては非常にうまくいったコンテストで, 巡回セールスマン問題を解くときに使われる 2-opt や Or-opt, 順番の入れ替えなどヒューリスティックな解法を使っています (AI のおかげ).

このときは AI が出力したコードに目を通し, 何をやっているかをおおよそ理解することに努めました. また AI にコードを出力してもらうときも変更部分だけ出力してもらうなど, 利用制限にも注意を払いました.

結果として水パフォで「案外いけますね」と思ったのですが, その後のコンテストでそれがたまたまだったことを知ることになります.

RECRUIT 日本橋ハーフマラソン 2026 夏

今回の教訓を先に書くと, AI でも問題を読み間違えることがある, ということです.

入力の

i\ \  S_i\ \ T_i\ \  P_i\ \  V_i

の $T_i$ は退去時刻ですが, AI は 滞在時間 と勘違いしていました. ビジュアライザを見ると AC ではあるものの不自然な解になっていて, 最初は深く考えなかったのですが, 「やっぱり変だ」と気付き, AI を問い詰めたら間違いに気付きました.

解の方向性としてはヒューリスティックな手法は使わず (使えず), 貪欲解を提出するのみでした.

繰り返しになりますが AI でも問題を読み間違えることがある (言い方を返ると, その程度の理解しかしていない) ので, 人間がきちんとチェックする必要があります.

ALGO ARTIS プログラミングコンテスト 2026 長月

アイデアを伝えて, それを AI にコード化してもらいました. ただ AI に私のアイデアを正しく伝えるのに非常に時間がかかり, 苦労しました.

また最初の愚直解でも割と凝ったデータ構造やプログラムの書き方をしており, そのために新しいアイデアを試す際に修正点が多く, なかなか先に進めないイライラがありました.

結局のところヒューリスティックな手法を使うところまではたどり着けず, 時間切れとなりました.

レーティング変遷

4 回のコンテストでのレーティングの変化は以下の通りです.

コンテスト パフォーマンス 新レーティング
AHC065 1037 83
AHC066 1326 616
RECRUIT 日本橋ハーフマラソン 2026 夏 989 770
ALGO ARTIS プログラミングコンテスト 2026 長月 1078 890

今後

以上を総括すると, ヒューリスティックな手法を使わなくても緑パフォは出せそう というのが分かります. 逆に言うと, そこから上を狙うならヒューリスティックな手法を学ぶ必要がありそうです.

また AI に頼り切らず, 自分でアイデアを考えたり, AI のコードを理解し納得しながら進めることが大事ということも肝に銘じます.

ただ, 今の私はアルゴリズム部門の水色を目標に精進しているところで, ヒューリスティック部門の勉強に時間を割けません (涙). アルゴリズム部門での実力が上がったら (上がるのか?) ヒューリスティック部門の勉強をしようと思います (or アルゴリズム部門で限界を感じたら, ヒューリスティック部門に重心を移すかも).

ここまで読んでいただき, ありがとうございました. 今後も精進を頑張りましょう.

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?