読者です 読者をやめる 読者になる 読者になる

マラソンマッチ Asteroid Tracker 惨敗反省メモ

マラソンマッチ TopCoder

問題

地上にあるレーダーを使って、宇宙からくるアステロイドの情報を効率よく集める。どのレーダーでどのアステロイドを捕捉するかを考える問題。

NASA's Asteroid Tracker - YouTube

結果

仮順位 21位/43位ですが、得点は、ほとんど最下位と変わらない得点で、大敗です…。

反省点1 やる気がでない

今回は時間はふつうにあったはず。締切り1.5日前になってから、やっとやる気がでたけど、手遅れでした。

原因1 問題文がすごく長い

問題文・数式・変数、いずれも多かったです。たぶん過去最長の問題文だったかも…。
f:id:shindannin:20140816150237j:plain

対策
  • 数式が複雑なのは、色分けしたら分かりやすくなったので、今後はそれで。問題文はプリントアウトすれば書き込みしやすいので、そうしたほうが良かったかも。

原因2 誘惑にまける

参加登録してから、50時間ぐらいはゲームをしてた気がします。やりかけのゲームがあったのが不味かった…。

対策
  • 誘惑には勝てないので、ハマってるゲームを狂ったようにやって、早めに終わらせて、そしてから登録する。
  • 問題の面白い部分までたどり着けばマラソンマッチのほうが面白くなるので、最初だけでもとにかくがんばる。

原因3 最低限の解答を出す前にはまる

時間0のときのコマンドがうまくいかず、そこからずるずると誤解する方向にいって、4,5時間ハマってしまいました…。

対策
  • ハマってしまうリスクは予想しずらいので、やっぱり早めにはじめることで、リスクを減らすしかない…。

反省点2 方針ミス

ギリギリではじめても、多くの場合はそれなりのスコアまではいけるのに、今回は、それすらできませんでした

原因1 スコア関数(数式)の理解ができてなかった

スコア関数が複雑で、スコアがレーダーグループ内のレーダー数の2乗になるになるのを見逃してしまいました。

対策

スコア関数にある全ての変数について、

  • この変数の値が大きくなったら、スコアがどうなるか?
  • この変数の値が小さくなったら、スコアがどうなるか?

もれなく検討すること。表を書くとよいかも。

原因2 考察がおかしい

1→2→3→4のように、かなり低い得点の方針を詰めていってしまいました…。数式の理解ができてなくても、間違いに気づくチャンスはいくらでもあったはず。
f:id:shindannin:20140816150258p:plain

問題点
  • 1→2で得点が増えたのをみて、ちゃんと考察するべきでした。得点が増えた可能性として以下の2つがありえるのに、Bの検討をしませんでした。
    • A.「照射をバラして、複数の隕石から点が入るようになったから」
    • B.「重要な隕石も照射されるようになったから」
  • 2の解答でもかなり低い得点なので、詰める前に、他の方針はないか疑うべき。
  • 特に3の時点で、点が明らかに伸びてないのをみて、おかしいというのに気付き、1つ戻って考えるべき。

対策
  • 考察を丁寧に。得点が増える・増えない理由を、丁寧に考える
  • 思考過程をまとめれば、変なのに気付くの自明なので、メモを必ずとる
  • 点が平均以下のときは、絶対に簡単な解法を見逃している