ぱらつり記

No description

第28回高専プロコンに参加した

第28回全国高等専門学校プログラミングコンテストの競技部門に参加してきました。感想とか振り返っておきます。

1年前

忘れもしない前回の競技部門。 とりあえずソルバを書きましたがアナログな入力データの精度には到底対応できるわけないまま終わりました。

2ヶ月前

夏休みごろから本腰を入れて開発を開始。去年の資産を流用したおかげで結局ほぼそのままでした。

1週間前

学習しない人間なので今年も直前になって慌て始めます。 研修旅行と書類の提出期間が重なってわりと危なかったです。

前の週の日曜日になって探索方法をビームサーチにするべきだと思い至りました。今までまともに探索書いたこと無かったので発想が無かったんですね。 次の日から木曜日まで毎日終電帰りになりました。結局金曜日も終電1本前の電車で帰りました。

0日目

徳山駅着いた瞬間明らかに高専生だなという人たちだらけで面白かったです。

その日の夜はラーメンしました。

その後ホテルに戻ってからピースの反転の可能性があることに気づきました。 慌ててソルバに対応させて就寝。

1日目

1回戦

本番のパズルが作成したソルバで安定して解けるかが未知数だったので、配置情報をすべて読んでからピースを並べていきました。 回答時に若干ゃ事故を起こしたものの、結果的には5位で通過できたので良かったです。

夜は2日目に備えるためにコードと向き合うことになりましたが、結果5時位まで起きていてほぼ徹夜状態でした。

2日目

敗者復活戦

みんなピース並べるの早くない????

明らかに昨日と動きが違っていてびっくりしました。

そして自分は眠気と戦いつつ敗者復活戦を見ながら配置情報を読むコードを実装していました。

準決勝

形状情報のみで50秒前後で解が出ました。 が、徹夜効果で頭が回らずにピース並べに手間取って11分の6位でした。

決勝

焦ってピースを落とした

形状情報のみでソルバは4秒程度で解が出ましたが、思っていたよりも早くて動揺してしまった。 ここでも人力要素が足を引っ張ってしまったために9分で8位。 徹夜はしちゃダメですね。

最後のパズルスライド回答は今までで一番うまくいったので満足です。

終了後は

道中でゲーセン勢と合流して一駅先のゲームセンターに行きました。音ゲー充実しすぎていてすごかったです。

自分は無事NEW GAME!イベントをコウさんまで走りきって優勝

前日の徹夜が響いてホテルに戻ってからはぶっ倒れてました。

全体の構成とソルバについて

今回は4年生2人と3年生1人で参加しましたが、自分はソルバ、もう1人の4年生は結果のタブレット表示、3年生はQRコードの読み取りを担当していました。

メンバーの得意なところがいい感じに重なって良いチームだったと思います。

僕は今回C#でソルバを書きましたが、 今回は完全解を求めることが前提となっていたため、最終的(5日前)にビーム幅を徐々に広げるchokudaiサーチを採用しました。評価関数はこれまでのわくとピースの一致頂点数の積算値です。

これがわくと同じ90度のピースだらけとかだと歯が立たなかったと思います。

ちなみに徹夜して書いたコードは蓋を開けてみれば殆ど使っていませんでした。

使用したコードはGitHubで公開していますので興味があればどうぞ。

github.com

まとめ

今年も木片パズルで血の気が引きましたが、 いろいろ考えながらソルバを作っていい勉強になりました。 後半は形状情報で答え出せたので本当に良かったです。 ステージの上で答えが出た時は感動しました。 うちの学校は3年ぶりくらいに決勝まで進出できたので純粋に嬉しかったです。

本番で本当にネットワーク関係が不調(手順踏むの忘れてたりなぜか反映されなかったり)で、やっぱり本番はうまくいかないなあと感じました。

プロコン終了直後はいろいろ熱入ったままなんですけど毎年急速に冷めてしまうのがつらい。

試験が明けた

今日で全ての中間試験が帰ってきました。 とりあえず平穏な期間が続きそうです。

今後の予定

夏休みを待つだけ

だと味気ないので何か作りたいですね

最近の生活

毎週のレポートに追われて文化的な生活が送れていません。

平日は帰ってご飯食べてお風呂入ったらばたんきゅーな感じなので良くないですね。

土日は課題で潰れてまた月曜日……

時間を上手に使えるように頑張ります。

誕生日でした

19歳になりました

これ以上老いたくないと思いました

libpafeでSuica読もうとしたら共有ライブラリ素人だった話

普段使っているUbuntu入りのサブ機ですが、PaSoRiが搭載されていたことを一昨日になって思い出しました。

f:id:paralleltree:20170401203346j:plain

$ lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 054c:01bb Sony Corp. FeliCa S320 [PaSoRi]
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

lsusbしてみるとRC-S320(通称白PaSoRi)が入っているようだったので使いたくなりました。 なんか使いたくなりました。

続きを読む