第28回全国高専プログラミングコンテスト競技部門の話

2017.10.7~9で開催された第28回全国高専プログラミングコンテストに行ってきました.
結果はプロコン競技部門、都立品川は優勝しました。
山口本戦に参加したメンバーはめうめう(‪@w_yasu_w0809)、hatanoの2人で、応援学生として法華経(@_hokekyo1210)と私(@Mahito6)が居ました。

私の簡単な自己紹介として、過去25~27回の競技部門の都立品川での本戦出場メンバーとして参加をしていました.
準優勝をした26回大会(#procon26)の参加記及び技術的な話は過去に法華経と書いています.
hokekyo1210.hatenablog.jp

今年は自分が5年なので卒業研究で忙しかったことや、後輩を舞台に上げたい気持ち、去年のダメージが大きくてモチベーションが上がらないという点から応援学生として参加して居ました(完全にプロコン老害)。

今年の大会の内容ですが,昨年の27回大会(#procon27)とほぼ同様な内容でした.昨年は木製(MDF製)のパズルが存在し,枠内に置いたピースの個数を競う問題がそのまま得点に反映されるため,どのような置き方をした場合でも得点になるという点がありました.

しかし、今回はルールとして完全解を出さない場合には得点にならないという制約が付け加えられ、与えられる問題のデータも2.5mmの格子状のグリッドに乗るといった項目が追加されました。これによって、去年とは劇的に状況が変わったと思います。画像処理は法華経と一緒に、去年半年かけて完成させたものがあったのでそれを今年用に改良しました。

去年めげずに本番でもプログラムのみで頑張った結果が、今回の優勝に結びついたと私は思っています。

4月(問題公開)
ほぼ完全に去年と同じ内容だったため驚愕。普通にモチベが上がらなかった。でもグリッドとかに乗ってる話とか、いろいろメンバーとは考察を重ねてた。

5-6月
専攻科の入試(推薦)。

7-8月下旬
卒業研究に苦しんだ。でも内容は完成させた。

9月上旬
メンバーに連絡を取ったら全体的な完成度があまりにも低かった。この辺から去年のUIとか画像処理を引っ張り出して頑張った。

9月中旬
サンプルの焦げがめっちゃ少ないからものすごい精度で2値化及びエッジ検出が行えるようになった。運営側のものすごい努力を垣間見た。
あとソルバーを後輩にビームサーチで誤差考慮して解けるようにするよう指示。

9月下旬
滅茶苦茶エッジ検出が上手くいった。研究内容を少し使ってさらに精度を上げたら、サンプルからQRコードと同程度のデータが得られるようになった。また、ピースを並べる時の補助プログラムを後輩に組んでもらうよう指示。

10月
dpiを600から900にして鈍角も精度が良くなった。あとは評価値を考察して最適解が出せるように調整。

本番前日
卒業研究の中間発表があった。競技部門のメンバーは即帰宅して明日に備え就寝。課題はかなり残ってたらしい。

本番(受付日)
早朝家を出てそのまま新幹線で山口へ。徳山についた後、ホテル近くの怪しいカレー屋で腹ごしらえしてからホテルにチェックイン、そのまま会場へ行き参加登録を行った。
その日の夜はクソほど評価値の考察、調整、ソルバの高速化を行った。パンフとか見てたらいろいろアイデアが浮かんだのでそれを実装したり。

本戦(初日)
予行演習は壇上のデータを収集したかったので、ひたすらスキャンする作戦だった。これが意外と虚をついた感じになったのかもしれない。その後初戦は突破。満点出せてたので安心したけど、スキャナとかでトラブってたりしたのでいろいろメモ書きを貼ってミスらないように練習。あと予選1問目が難しかったのでそれをジェネレータで再現して解かせたりして評価を鍛えてた。

本戦(最終日)
課題のリーダーが体調悪そうだったので少し看病してから会場入りした。準決勝観戦には間に合ったけど、ウチは表裏のピースの判別をミスったらしく、完全解が一発で出てなかった。テンパってる後輩を見てそれ以上に法華経と私はテンパりまくってた。

勝戦ではもうスキャンを使うチームはいないと踏んでいたので間違えないように確実にやるような作戦に変更した。これが功を奏したのか、ミスなく一発で完全解も出たらしいので満点解を提出。大阪府高専、広瀬が死ぬほど解答が早くてビビった。QRの作戦なら確実に負けてた気しかしない。


感想
後輩が去年の雪辱を晴らしてくれて心の底から嬉しかった。あと、去年のプログラムの方向性が間違っていなかったこともわかったのでそれも嬉しかった。去年不貞腐れてプログラム公開とかしてなかったのも結果的に良かったのかなあと法華経と話したりしてた。専攻科いってもプロコンしたいって気分になる大会の内容でした!

技術的な話はまた後日挙げるのでよろしくお願いします。

hokekyo1210.hatenablog.jp



P.S. パンフレットで高度な情報戦してすみませんでした...