TOPハル研究所プログラミングコンテスト

ハル研究所プログラミングコンテスト

年に一度のプログラマーの祭典

1995年にプログラマー数人によるごく内輪の遊びとして始まったハル研プロコンは、熱い戦いを重ね、ついには会社の公式イベントとなりました。普段はそれぞれの仕事に取り組むプログラマー達が、この時ばかりは同じ問題に取り組み、プログラミングの技を競い合うことで、楽しみながらスキルアップを図っています。
また、2003年からはプログラマーを目指す学生の皆さんにも参加を求め、みんなで真剣勝負を楽しんでいます。

VOICE

参加者の声

プロコンの魅力は、みんなで同じ問題に取り組み、なおかつ1つの問題をとことん突きつめて競い合えること。仕事では規模の大きいプログラムをみんなで分担して作るため、分かりやすくきれいにコーディングしていく必要があるのですが、プロコンではこれが全くの逆。たとえコードの見栄えがぐちゃぐちゃでもスコアをとことん追求し、仕事ではとても試せない新しい思いつきや常識破りもどんどん試しています。

HISTORY

これまでのプロコン

2016
2016年11月7日~2016年11月25日
小惑星群から地球を守れ!
宇宙船を操縦して、地球に迫り来る小惑星群を全て破壊するという問題。小惑星を破壊するにはレーザーを撃つか、体当たりをするかの二通りというシンプルなルールながら、宇宙船の移動のさせ方やレーザーを発射するタイミングなど、考える要素が多い問題でした。探索の効率化と、より多くの探索を行うための最適化をどれだけ巧みに行えるかがキーポイントになりました。
特設サイト
 
2015
2015年12月10日~2016年1月7日
宅配便
宅配ドライバーとなって、燃費を抑えつつ街を効率よく走り回り、荷物を配達するという問題。荷物を届ける順番と届ける時間帯の組合わせ爆発をどう解決するかが重要なポイントでしたが、早々に最適解に到達した参加者達により、後半は処理時間短縮の熾烈な競争となりました。また評価環境を一新し、C++11や標準ライブラリも使用可能にしたことで、投稿されるソースもバラエティに富んだものになりました。
特設サイト
 
2014
2014年10月23日~2014年11月10日
見習い忍者の水蜘蛛レース
水上の見習い忍者を操作し、一定の順序で蓮を踏みながらより早くゴールを目指す問題。「加速」と「何もしない」という2つの操作から選ぶだけのシンプルな問題ながらも、動きにランダム性を持つ先輩忍者や、移動方向を変化させる水流という要素が絡み、ゲーム性の高い問題になりました。また、昨年好評だったビューアを今年も付属しました。
特設サイト
2013
2013年12月2日~2014年1月8日
宇宙ゴミを除去せよ!
クリーナーロボットを操り、宇宙ステーションの外壁に付着した宇宙ゴミをどれだけ早く除去しきるかを競う問題。クリーナーロボットの回転が遅いという特徴を考慮しつつ、いかに効率的なルートを選択していくかというアルゴリズム勝負になりました。また、問題パッケージにビューアが付属されるという初めての試みもありました。
2012
2012年12月7日~2013年1月9日
遺跡からの脱出
古代遺跡のお宝を手に、部屋に仕掛けられたトラップをかいくぐりつつ、いかに素早く脱出できるかを競う問題。トラップを一時的に止められるお宝を利用し、最短の経路探索を行うアルゴリズム勝負、そして最適解に達してからはタイムアタックとなる、二本立て勝負となりました。
2011
2011年12月5日~2012年1月13日
算数散歩
「足し算」や「かけ算」の数値が描かれたマスが配置されたフィールドを、自由に移動しながら計算を続けて高いスコアを目指す、様々な試行錯誤が必要となる問題。高得点を取るためには、問題の特性をうまくとらえて、いかに効率的にルートを探索できるかどうかが勝負の鍵となりました。
2010
2010年11月25日~2011年1月7日
アリと砂糖
ステージ上のアリを操作し、次々に降ってくる砂糖をできるだけたくさん食べて高得点を目指す、遊びとゲーム性の詰まった問題。個々のアリの行動を最適化するだけでなく、限られたアリの記憶領域をうまく使ってアリ同士の連携をとり、集団としてどのように動かすかの様々なアイディアと、参加者のパラメータ調整への情熱が勝負を決しました。
2009
2009年11月26日~2010年1月8日
玉ころがし
板を傾けて上に載っている玉を動かし、板のところどころに開いている穴や端から玉を落とさないようにゴールに導いて高得点を目指す、ゲーム性の高い問題。ランダムで決定する板の形状や穴の数を考慮し、華麗なコーナリングやジャンプを決めつつ、いかにして玉を落とさず最短経路を導き出せるかのアルゴリズム勝負となりました。
2008
2008年11月26日~2009年1月7日
ブドウ狩り
ブドウ園を舞台に様々な性質の複数のAIと競い合い、AIに先駆けてよりたくさん、より質の良いブドウを狩って、そのブドウの総合得点を競うという問題。効率よくブドウを狩るために、AIの種類や数、ブドウ園の状態によって作戦を変えるなど、様々なアイディアを駆使したアルゴリズムが勝負を決しました。
2007
2007年12月4日~2008年1月10日
クロスワード
完成したクロスワードパズルから単語を全部抜き取り、文字の無い白と黒のマスだけになったボードに、抜き出した単語を戻すという速度を競う問題。入る場所が限られている単語や、他との繋がりが多い単語を先に処理するなど、いかに効率よく探索できるかが勝負の鍵となりました。
2006
2006年11月30日~2007年1月15日
ブースの席替え
ハル研社内で行われるブースの席替えにおいて、全員の移動がなるべく早く終わるように、移動の順番を決める問題。非常に難しい問題で、解き方もいろいろありましたが、空きブースをいかに効率良く利用するかが勝負の鍵となりました。
2005
2005年11月30日~12月19日
橋を渡る
8個の島にランダムにかかっている橋を、全部1回ずつ渡れるかどうか判定し、渡れる場合はその経路を求めるという、速度を競う問題。解き方は一般的な一筆書きの問題に似ていますが、一方通行の橋もあるので、それをどう処理するかが鍵でした。
2004
2004年12月1日~2005年1月13日
焼肉
限られた大きさの鉄板上に効率よく肉を並べて、設定ターン内に、できるだけ多くの肉の面積を焼くという問題。より深く先読みした方がスコアが良くなるので、制限時間をギリギリまで使って効率よく枝刈りしたり、鉄板の評価を工夫したりするという、高速化の勝負となりました。
2003
2003年10月27日~11月27日
五角形の凹凸判定
与えられた五角形が凸多角形かどうかを判定する速度を競う問題。シンプルな問題だったため、上位者が皆同じ解き方になってしまい、ガチンコのチューニング勝負となりました。
第12回にあたる2003年開催より、コンテストの名称を変更。
1995
第1回プロコン 1995年11月、プログラマー数人によって開催される。