たぶん夜中の4時にはじまっているみたいです。昼頃起きだしてきたので既に8時間は経過しています。
ICFP programming contest 2008のページ
課題のページ
FAQのページ
テスト用サーバーのダウンロードページ
ささっと眺めてみました。英語読解力があやしいので色々勘違いしているかもしれません。
今年の課題は、火星の無人探査車を遠隔制御して基地に帰り着くための制御プログラムを書くことです。速く帰りつけたプログラムが優勝です。
遠隔制御なので通信に遅れがあります。センサーからの情報が定期的に送られてきて、状況を判断して無人探査車にコマンドを送信します(ここでも遅れがある?)。基地は原点にあって、自分のx, y座標がセンサー情報から分かります。まっすぐ向かえばいいわけではなくて、色々な障害物を避けながら進まなければいけません。障害物は岩、クレーター、火星人(!)があります。フィールドは長方形ですが、端を越えようとするとバウンドして向きが変わるみたいです。岩もバウンドするみたいです。クレーターは落ちると爆発、火星人もつかまると死亡です。岩とクレーターは動きませんが火星人は動き回っています。無人探査車も含めて全ての物体は円形です。岩は視界をさえぎるので、岩の向こうに何があるか分からないみたいです(まわりこめば分かる?)。
課題のページに載っていたフィールドの様子です。
![](https://blogimg.goo.ne.jp/user_image/6f/0c/a7f790c412fd0c357ced0c6ea9844870.png)
左上に無人探査車がいて、茶色(c)がクレーター、灰色(b)が岩、赤が火星人です。中央の緑がゴールです。
フィールドの大きさやセンサーの性能や初期位置は、一番最初に送られてきて、1秒後にスタートです。こちらから送れるコマンドはアクセル、ブレーキ、ハンドル左右等です。
プロトコルの詳細は課題のページに載っています。
センサーで見える範囲は楕円です。無人探査車は楕円の焦点にいます。
![](https://blogimg.goo.ne.jp/user_image/36/be/c5524dd4254fa2d235d81585c6d10c85.png)
プログラムはlinuxで動くようにします(windows不可)。通信はTCP/IPです。受信や送信はsocketプログラミングをする必要があります。プログラムの動作環境がLIVE CDという形式で配布されています。KNOPPIXというlinuxのCDで、CDブートできるようになっています。この環境で動作するプログラムでなければいけません。テスト用のサーバーの配布も行われています。
コンテストへの応募はプログラムを含む実行環境のディレクトリをtgzに固めて送ると開催者側で何回か実行して実行時間を測定するみたいです。
私はというと、linuxって何?ネットワークプログラミングって何?みたいな状況なので、まだ何もしてません(笑)。とりあえずLIVE CDはダウンロードしてみました。マイクロマウスや知ロボをやっている方が得意そうな課題だと思いました。
ICFP programming contest 2008のページ
課題のページ
FAQのページ
テスト用サーバーのダウンロードページ
ささっと眺めてみました。英語読解力があやしいので色々勘違いしているかもしれません。
今年の課題は、火星の無人探査車を遠隔制御して基地に帰り着くための制御プログラムを書くことです。速く帰りつけたプログラムが優勝です。
遠隔制御なので通信に遅れがあります。センサーからの情報が定期的に送られてきて、状況を判断して無人探査車にコマンドを送信します(ここでも遅れがある?)。基地は原点にあって、自分のx, y座標がセンサー情報から分かります。まっすぐ向かえばいいわけではなくて、色々な障害物を避けながら進まなければいけません。障害物は岩、クレーター、火星人(!)があります。フィールドは長方形ですが、端を越えようとするとバウンドして向きが変わるみたいです。岩もバウンドするみたいです。クレーターは落ちると爆発、火星人もつかまると死亡です。岩とクレーターは動きませんが火星人は動き回っています。無人探査車も含めて全ての物体は円形です。岩は視界をさえぎるので、岩の向こうに何があるか分からないみたいです(まわりこめば分かる?)。
課題のページに載っていたフィールドの様子です。
![](https://blogimg.goo.ne.jp/user_image/6f/0c/a7f790c412fd0c357ced0c6ea9844870.png)
左上に無人探査車がいて、茶色(c)がクレーター、灰色(b)が岩、赤が火星人です。中央の緑がゴールです。
フィールドの大きさやセンサーの性能や初期位置は、一番最初に送られてきて、1秒後にスタートです。こちらから送れるコマンドはアクセル、ブレーキ、ハンドル左右等です。
プロトコルの詳細は課題のページに載っています。
センサーで見える範囲は楕円です。無人探査車は楕円の焦点にいます。
![](https://blogimg.goo.ne.jp/user_image/36/be/c5524dd4254fa2d235d81585c6d10c85.png)
プログラムはlinuxで動くようにします(windows不可)。通信はTCP/IPです。受信や送信はsocketプログラミングをする必要があります。プログラムの動作環境がLIVE CDという形式で配布されています。KNOPPIXというlinuxのCDで、CDブートできるようになっています。この環境で動作するプログラムでなければいけません。テスト用のサーバーの配布も行われています。
コンテストへの応募はプログラムを含む実行環境のディレクトリをtgzに固めて送ると開催者側で何回か実行して実行時間を測定するみたいです。
私はというと、linuxって何?ネットワークプログラミングって何?みたいな状況なので、まだ何もしてません(笑)。とりあえずLIVE CDはダウンロードしてみました。マイクロマウスや知ロボをやっている方が得意そうな課題だと思いました。