ふるつき

記事と内容がないです

第27回全国高等専門学校プログラミングコンテストに参加した

第27回全国高等専門学校プログラミングコンテストに参加した

Summary

#procon27

書くこと

  1. 我々のチーム「パズル、それは競技道にとって大切なことかな」の動き
  2. 私の伊勢旅行
  3. 競技部門について
  4. 感想

パズル、それは競技道にとって大切なことかな

 我々のチームは私ふるつきと、mi_24vくんと、後輩でかわいいT君(仮名)で構成されていました。それから、オブザーバーとしてmatsusaka_gyu先輩をお迎えしていました。

本番では

 我々のチームは、複合機とスゴイバッテリーを用意して、ピースとわくをスキャン、Solverにかけて適当な解を得た後、配置をプリントしてそれに従ってピースを並べる作戦を建てていました。

 予行演習ではSolverを走らせたところで時間切れ、一回戦では電源の安定した供給が出来ずに人力(多分シガーソケットのはまりが甘かったのだと思います)と用意した作戦がうまく使えず、準決勝でやっと作戦を実行することができました。しかしSolverが良い結果を出せず、配置は人力で行いました。ユニークな作戦で特別賞を狙っていたことを考えると、準決勝ははじめから人力で堅実に勝ちにいき、決勝でプリンタを使うべきであったなと思っていますが、決勝で複合機が動作する保証がなかったので仕方がなく、「負けてもいいから絶対に印刷を成功させる」という作戦で臨みました。

それまで

 Viewerと印刷部分をmi_24vに丸投げしました。Input部分は頂点の検出ができるところまでを私が書き、あとはT君におまかせしました。ここでは、matsusaka_gyu先輩の力もお借りしました。

 Solverは私が書きました。最初は角度を見て、ある角を「構成可能」なピースの組み合わせを部分和問題を解いて列挙し、完全解答を狙うプログラムを書いていましたが、実装力の低さから断念し、ピースをランダムに配置する焼きなまし法を書きました。

 焼きなまし法では全然だめだったのでもうすこしヒューリスティックに解を求めようと書いたのが実際に使用したSolverでMieFillingという名前になりました。各ピースはぶつかるとその分だけ逆方向に平行移動します。これだとそこそこの解がでやすいです。

私の伊勢旅行

金曜日は4限まで授業に出て、午後からの授業は公欠をとりました。そして、近鉄の急行を利用して宇治山田駅へ向かいました。これは私の考えですが、十分に時間の余裕を持ちたいので一日の公欠を取らせてください。

その日はなんか受付をして宿に行きました。山田館というところでしたが、高専生で埋まっていたようです。たくさんご迷惑をかけました。めっちゃいい人ばかりでしたありがとう。

 とりあえず夕飯を食べに出ました。梅ジュースには目がないので頼みましたが普通の梅ジュースでした。先生から食費が出ました。ごちそうさまです。

f:id:Furutsuki:20161007181912j:plain

 宿では開発を続けました。指導教員には「三時間はかならず寝てください」と言われました。ぎりぎり三時間眠りました。ユンケルとレッドブルを合わせた、ユンブルを飲んだりしました(良さがわからなかった)。

 翌日はそこそこに起きて汚い部屋を放置して観光文化会館に向かいました。お昼は「まんぷく堂」という店で唐揚げ丼を食べました。唐揚げがとても美味しかったです。あと、バイト(ぽい)兄ちゃんがイケメンでした。

f:id:Furutsuki:20161008115713j:plain

 その日の夕飯は「昨日と同じところ」組と「新規店舗開拓」組にわかれましたが、最終的に合流しました。高専生がドバドバ入っていてお店が可愛そうでした。事前情報があれば話が違ったと思いますが。

f:id:Furutsuki:20161008193207j:plain

 その日の晩もぎりぎりまで開発をしていました。指導教員の先生(先程登場された方とは別)とお話しながら開発をしたりしました。めっちゃ眠かった。

 起きたらすこぶる体調がわるいみたいな感じでした。朝ごはんも残してしまった。さらに生憎の天気でゴミ袋を裂いて複合機を覆ったり部屋を片付けたりしていそいそと出発しました。

 午前中に敗退したのでその場を去り、伊勢うどんと手こね寿司を食べました。応援に来られた先生におごってもらいました。ごちそうさまでした。

f:id:Furutsuki:20161009124501j:plain

 それから、外宮を観光しました。人で賑わっていて嫌でしたが良い場所でした。貸し切りで観光したい。

 ゆっくり歩いても閉会式に十分に間に合いました。

 帰りはmatsusaka_gyu先輩と一緒に特急に乗りましたが、体調が悪すぎたので寝ました。近鉄特急格好良い。

競技部門が燃えた

 筋肉最強説がながれて実際最強だったので燃えてました。多分n-1Solverを書いて迅速Submitがツヨイかなと思ったのですが、入力の手間も考えるとそれでも「筋肉に余裕で勝てる」レベルには到達してないと思います。多分「めっちゃ練習をしていて筋肉より辛うじてツヨイ」程度になりそうです。そこまでしてプロコンで勝ちたいかというと私は違って、もしそんな考えで今回の問題を設定していたらそれはプロコン思い上がりすぎだろみたいな感じになります。こっちは長い時間を消費してるんだ。

 なぜこんな形になったかと言って、多分去年奈良が「まったく解を提出できず最下位」とかやったり「見た目がクソ地味」とか言われたりしたので今回のような競技形式になったのだと思いますが、前者に関しては「完全に奈良が悪い」のでもっとプログラミングさせてください。見た目がクソ地味はなんかしゃーないですよねでもアクロバティック将棋なんて見たくないですよねみたいな意見しか出せません。

 あと個人的な不満を出すと、解の設計図をピースと比べていたときに運営に「やめてください」と言われたのがすごい嫌でした。カメラで取っているからなどの理由もあったのでしょうが、こちらはシステム詳細のようなものまで提出していて、レギュレーションにも違反してないのにみたいな感じでした。

 今回はサイコロ数え問題と並んで残念みたいな感じでしたが、良い問題をだしている年もあるときくのでがんばってください。

 それから、明らかに「この問題ダメだな」と思ったときの動きを変えても良いと思います。確かにクソはクソだけど高専生も変な形でリソース消費したくないので助かるかもしれないです。

感想と反省

 競技はあんまり楽しくなかったけど「奈良すごい」と言ってもらえて満足です。でも来年はあんまり出たいと思えない。伊勢はとっても楽しかった。あの町並みとか海鮮とか、とっても良い街だった。

 練習不足が響いたりしました。A3スキャナではピース全部をスキャンできなかった……。

 書き忘れていたので脱線してここに書きますが「学生交流会」が一切交流してなかったのは残念でした。次回主管校の大島商船の学生会はちゃんとオタクが交流できるようにしてあげてください。

 ソースコードはproconist.orgにあげたいなーと思ってます。

f:id:Furutsuki:20161010222543g:plain