CEDEC2013AIChallengeプロジェクト
の編集
http://www.teres.club.uec.ac.jp/wiki/?CEDEC2013AIChallenge%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
//プロジェクトの説明 //例:このページは、~をするプロジェクトのページです。 *目次 [#laf54afd] #contents *目的と期間と達成目標 [#b29c3af8] //目的と期間を記入すること ''目的'':CEDEC2013 AI CHALLENGEに参加して賢いAIをつくろう~ ''期間'':CEDEC2013 が終わるまで~ ''達成目標'':決勝ラウンド進出~ |''達成度''|''内容''| |ミニマムサクセス|予選ラウンド参加| |フルサクセス|決勝ラウンド進出| |アドバンスドサクセス|上位入賞| *CEDEC2013 AI CHALLENGE [#v24c4107] CEDEC(http://cedec.cesa.or.jp/2013/)の一企画として開催されるAIコンペション。~ 陣取りゲームを題材に優秀なAIを競う。 ルールなど詳細は http://www.ai-comp.net/cedec2013/index.html 参照で。 決勝進出すると''タダ''でCEDECチケットがもらえる! * 予選提出ページ [#y8a8cb48] http://ai-comp.ddo.jp/ *スケジュール/活動実績 [#ybdd723e] |月日|CEDECスケジュール|活動実績と予定| |7/20||プロジェクト発足/試作AIによる実行と検討| |7/21|AIプログラム提出開始|| |~|本体がvar1.0.4に版上げ。|バグ取りと攻撃塔の修正が入る| |7/27||[[2013年調布祭AI対戦]]プロジェクト内で第2回作戦会議。課題がいっぱい| |8/03|var1.0.6に版上げ。|[[2013年調布祭AI対戦]]プロジェクト内で第3回作戦会議。締め切り延びたよ!| |8/04|var1.0.7が来てました。|| |8/08|var1.0.8にあがってました。|| |8/09|%%予選用プログラム締切%%|16日になりました| |8/10|%%予選結果発表%%|20日になりました| |8/16|予選用プログラム締切|| |~|予選結果発表|くずみさんもへんてこくんも決勝にいけた!| |8/22|決勝用プログラム締切|予選より賢いプログラムつくりたい| |8/23|決勝|CEDEC行ってきた| *結果 [#h0da4858] |name|予選|決勝| |久住|7/11位|準決勝敗退(4/6位?)| |henteko|8/11位|準決勝敗退(6/6位?)| *メンバー [#j10b97db] //メンバーを記入すること //プロジェクトリーダーは名前の頭に○をつけて下さいな //HNのとこがペンネームになってたけどこれってHNだよな |''学科''|''本名''|''HN''| |M1I|○大泉 良介|[[久住 涼]]| |4K|今井 健太|[[henteko]]| *AIのアルゴリズム、特徴など [#pecdb098] **久住(fireflower) [#i7d23e5a] 花火をイメージに円形に陣を広げる策戦 7/20->27で名前を「fool Fireflower」から「fireflower」に変更~ まだまだ賢くないので、foolはつけとくべきだったかもしれない。 ***課題 [#f19e697a] -建築をもっと積極的に -同じ場所(基地)をロボットが行ったりきたりしている **henteko(henteko) [#db68dc0d] ***課題(と思われる場所) [#o7ba1322] -積極的に戦いに挑むので、ロボットを消費しがち -右上など、占領のアルゴリズムに偏りがありそう **共通の課題 [#s6a56c92] -内陸(周囲が自陣に囲まれている占領地)にいるロボットが多い - - *作戦会議室(仮) [#fda87c01] - 参謀本部とかのほうがよかった?&br;最初の名前入力に5000msもの時間が与えられてるので、有効活用すべき。 -- [[久住 涼]] &new{2013-07-21 (日) 15:10:48}; - ぶっちゃけ5sもかける処理書けるかって問題もありそう -- [[henteko]] &new{2013-07-22 (月) 16:16:13}; - http://tech-tokyo.com/?p=4147 -- [[henteko]] &new{2013-07-22 (月) 16:19:37}; - ルールとか違うけど、マップとか似てるしこのゲームの解説サイトとかなんか参考になるところあるかも -- [[henteko]] &new{2013-07-22 (月) 16:20:26}; - 5000ms全部使う必要はないけど、初期配置から考えることはあるかもしれない -- [[久住 涼]] &new{2013-07-27 (土) 22:42:36}; #comment *実験 [#d40fdd1f] **20130803 [#s6af8b2a] Player 1 (henteko) Score: 96~ Player 2 (RK) Score: 73~ Player 3 (SampleInternalManipu) Score: 14~ ~ Player 1 (henteko) Score: 101~ Player 2 (RK) Score: 67~ Player 3 (SampleInternalManipu) Score: 14~ ~ Player 1 (henteko) Score: 70~ Player 2 (RK) Score: 68~ Player 3 (SampleInternalManipu) Score: 43~ ~ Player 1 (henteko) Score: 37~ Player 2 (RK) Score: 100~ Player 3 (SampleInternalManipu) Score: 12~ ~ Player 1 (henteko) Score: 100~ Player 2 (RK) Score: 68~ Player 3 (SampleInternalManipu) Score: 30~ ~ Player 1 (henteko) Score: 88~ Player 2 (RK) Score: 57~ Player 3 (SampleInternalManipu) Score: 38~ ~ Player 1 (henteko) Score: 51~ Player 2 (RK) Score: 51~ Player 3 (SampleInternalManipu) Score: 38~ ~ Player 1 (henteko) Score: 93~ Player 2 (RK) Score: 82~ Player 3 (SampleInternalManipu) Score: 29~ ~ Player 1 (henteko) Score: 90~ Player 2 (RK) Score: 68~ Player 3 (SampleInternalManipu) Score: 28~ ~ Player 1 (henteko) Score: 111~ Player 2 (RK) Score: 47~ Player 3 (SampleInternalManipu) Score: 36~ **20130726 [#ud072a8f] ***1回目 [#k5c3ca6b] Player 1 (henteko) Score: 100~ Player 2 (Fool Fireflower) Score: 10~ Player 3 (SampleInternalManipu) Score: 36~ ***2回目 [#z25347fb] Player 1 (henteko) Score: 101~ Player 2 (Fool Fireflower) Score: 13~ Player 3 (SampleInternalManipu) Score: 45~ ***3回目 [#e8b38c43] Player 1 (henteko) Score: 100~ Player 2 (Fool Fireflower) Score: 4~ Player 3 (SampleInternalManipu) Score: 21~ ***4回目 [#l4e79fe3] Player 1 (henteko) Score: 100~ Player 2 (Fool Fireflower) Score: 27~ Player 3 (SampleInternalManipu) Score: 40~ ***5回目 [#n9ff0311] Player 1 (henteko) Score: 60~ Player 2 (Fool Fireflower) Score: 50~ Player 3 (SampleInternalManipu) Score: 19~ ***6回目 [#y04f74ce] Player 1 (henteko) Score: 100~ Player 2 (Fool Fireflower) Score: 4~ Player 3 (SampleInternalManipu) Score: 18~ ***7回目 [#se58cf53] Player 1 (henteko) Score: 102~ Player 2 (Fool Fireflower) Score: 8~ Player 3 (SampleInternalManipu) Score: 32~ ***8回目 [#v8b57f55] Player 1 (henteko) Score: 46~ Player 2 (Fool Fireflower) Score: 45~ Player 3 (SampleInternalManipu) Score: 41~ ***9回目 [#vb8c0309] Player 1 (henteko) Score: 101~ Player 2 (Fool Fireflower) Score: 14~ Player 3 (SampleInternalManipu) Score: 26~ ***10回目 [#c915ecf2] Player 1 (henteko) Score: 101~ Player 2 (Fool Fireflower) Score: 27~ Player 3 (SampleInternalManipu) Score: 14~ *Tips [#j7505277] **その座標が存在するかどうか(Author:久住) [#d309926b] Terraformingでは、「-6<=x,y<=6」の中の座標を使うが、存在しない座標もある。[(6,6)など]~ 実は、x+yの絶対値が6以内の座標のみが使われている。そこで、以下のような座標判定関数を用いると、余計なコードや出力をしないで済むようになる。 // language : C++ #include <stdlib.h> bool isPoint(const int x, const int y) { if(abs(x+y) > 6 || abs(x) > 6 || abs(y) > 6) return false; return true; } 応用として、ある座標(x,y)から、別の座標(x1,y1)までの最短距離は、~ abs(dx=x-x1)とabs(dy=y-y1)、abs(dx+dy)のmaxで求められる。 **周囲○マスの調べ方(Author:久住) [#k3851f46] マス目が六角形なので、あるマスの周囲を調べるのが難しい。~ 周囲1マスなら何とかなるが、2マス以上を調べるのは骨が折れる。~ しかし以下の法則を使うと、この調査がぐっと楽になる。 6方位に対し、ある方向にN回進んだ場所(a)と、(a)から120度回転した方向にn回進んだ場所(1<=n<=N)をそれぞれ調べると、中心からN歩で到達する範囲を調べられる 例として、2歩の場所を調べるとする。~ [ul-ul]と、[ul-ul-r]の2箇所を調べる。(ulの120度回転した方向はr)~ これを6方向それぞれについてやると、2歩でいける12マスを調べることができる~ サンプルソースは汚いので略。
タイムスタンプを変更しない
//プロジェクトの説明 //例:このページは、~をするプロジェクトのページです。 *目次 [#laf54afd] #contents *目的と期間と達成目標 [#b29c3af8] //目的と期間を記入すること ''目的'':CEDEC2013 AI CHALLENGEに参加して賢いAIをつくろう~ ''期間'':CEDEC2013 が終わるまで~ ''達成目標'':決勝ラウンド進出~ |''達成度''|''内容''| |ミニマムサクセス|予選ラウンド参加| |フルサクセス|決勝ラウンド進出| |アドバンスドサクセス|上位入賞| *CEDEC2013 AI CHALLENGE [#v24c4107] CEDEC(http://cedec.cesa.or.jp/2013/)の一企画として開催されるAIコンペション。~ 陣取りゲームを題材に優秀なAIを競う。 ルールなど詳細は http://www.ai-comp.net/cedec2013/index.html 参照で。 決勝進出すると''タダ''でCEDECチケットがもらえる! * 予選提出ページ [#y8a8cb48] http://ai-comp.ddo.jp/ *スケジュール/活動実績 [#ybdd723e] |月日|CEDECスケジュール|活動実績と予定| |7/20||プロジェクト発足/試作AIによる実行と検討| |7/21|AIプログラム提出開始|| |~|本体がvar1.0.4に版上げ。|バグ取りと攻撃塔の修正が入る| |7/27||[[2013年調布祭AI対戦]]プロジェクト内で第2回作戦会議。課題がいっぱい| |8/03|var1.0.6に版上げ。|[[2013年調布祭AI対戦]]プロジェクト内で第3回作戦会議。締め切り延びたよ!| |8/04|var1.0.7が来てました。|| |8/08|var1.0.8にあがってました。|| |8/09|%%予選用プログラム締切%%|16日になりました| |8/10|%%予選結果発表%%|20日になりました| |8/16|予選用プログラム締切|| |~|予選結果発表|くずみさんもへんてこくんも決勝にいけた!| |8/22|決勝用プログラム締切|予選より賢いプログラムつくりたい| |8/23|決勝|CEDEC行ってきた| *結果 [#h0da4858] |name|予選|決勝| |久住|7/11位|準決勝敗退(4/6位?)| |henteko|8/11位|準決勝敗退(6/6位?)| *メンバー [#j10b97db] //メンバーを記入すること //プロジェクトリーダーは名前の頭に○をつけて下さいな //HNのとこがペンネームになってたけどこれってHNだよな |''学科''|''本名''|''HN''| |M1I|○大泉 良介|[[久住 涼]]| |4K|今井 健太|[[henteko]]| *AIのアルゴリズム、特徴など [#pecdb098] **久住(fireflower) [#i7d23e5a] 花火をイメージに円形に陣を広げる策戦 7/20->27で名前を「fool Fireflower」から「fireflower」に変更~ まだまだ賢くないので、foolはつけとくべきだったかもしれない。 ***課題 [#f19e697a] -建築をもっと積極的に -同じ場所(基地)をロボットが行ったりきたりしている **henteko(henteko) [#db68dc0d] ***課題(と思われる場所) [#o7ba1322] -積極的に戦いに挑むので、ロボットを消費しがち -右上など、占領のアルゴリズムに偏りがありそう **共通の課題 [#s6a56c92] -内陸(周囲が自陣に囲まれている占領地)にいるロボットが多い - - *作戦会議室(仮) [#fda87c01] - 参謀本部とかのほうがよかった?&br;最初の名前入力に5000msもの時間が与えられてるので、有効活用すべき。 -- [[久住 涼]] &new{2013-07-21 (日) 15:10:48}; - ぶっちゃけ5sもかける処理書けるかって問題もありそう -- [[henteko]] &new{2013-07-22 (月) 16:16:13}; - http://tech-tokyo.com/?p=4147 -- [[henteko]] &new{2013-07-22 (月) 16:19:37}; - ルールとか違うけど、マップとか似てるしこのゲームの解説サイトとかなんか参考になるところあるかも -- [[henteko]] &new{2013-07-22 (月) 16:20:26}; - 5000ms全部使う必要はないけど、初期配置から考えることはあるかもしれない -- [[久住 涼]] &new{2013-07-27 (土) 22:42:36}; #comment *実験 [#d40fdd1f] **20130803 [#s6af8b2a] Player 1 (henteko) Score: 96~ Player 2 (RK) Score: 73~ Player 3 (SampleInternalManipu) Score: 14~ ~ Player 1 (henteko) Score: 101~ Player 2 (RK) Score: 67~ Player 3 (SampleInternalManipu) Score: 14~ ~ Player 1 (henteko) Score: 70~ Player 2 (RK) Score: 68~ Player 3 (SampleInternalManipu) Score: 43~ ~ Player 1 (henteko) Score: 37~ Player 2 (RK) Score: 100~ Player 3 (SampleInternalManipu) Score: 12~ ~ Player 1 (henteko) Score: 100~ Player 2 (RK) Score: 68~ Player 3 (SampleInternalManipu) Score: 30~ ~ Player 1 (henteko) Score: 88~ Player 2 (RK) Score: 57~ Player 3 (SampleInternalManipu) Score: 38~ ~ Player 1 (henteko) Score: 51~ Player 2 (RK) Score: 51~ Player 3 (SampleInternalManipu) Score: 38~ ~ Player 1 (henteko) Score: 93~ Player 2 (RK) Score: 82~ Player 3 (SampleInternalManipu) Score: 29~ ~ Player 1 (henteko) Score: 90~ Player 2 (RK) Score: 68~ Player 3 (SampleInternalManipu) Score: 28~ ~ Player 1 (henteko) Score: 111~ Player 2 (RK) Score: 47~ Player 3 (SampleInternalManipu) Score: 36~ **20130726 [#ud072a8f] ***1回目 [#k5c3ca6b] Player 1 (henteko) Score: 100~ Player 2 (Fool Fireflower) Score: 10~ Player 3 (SampleInternalManipu) Score: 36~ ***2回目 [#z25347fb] Player 1 (henteko) Score: 101~ Player 2 (Fool Fireflower) Score: 13~ Player 3 (SampleInternalManipu) Score: 45~ ***3回目 [#e8b38c43] Player 1 (henteko) Score: 100~ Player 2 (Fool Fireflower) Score: 4~ Player 3 (SampleInternalManipu) Score: 21~ ***4回目 [#l4e79fe3] Player 1 (henteko) Score: 100~ Player 2 (Fool Fireflower) Score: 27~ Player 3 (SampleInternalManipu) Score: 40~ ***5回目 [#n9ff0311] Player 1 (henteko) Score: 60~ Player 2 (Fool Fireflower) Score: 50~ Player 3 (SampleInternalManipu) Score: 19~ ***6回目 [#y04f74ce] Player 1 (henteko) Score: 100~ Player 2 (Fool Fireflower) Score: 4~ Player 3 (SampleInternalManipu) Score: 18~ ***7回目 [#se58cf53] Player 1 (henteko) Score: 102~ Player 2 (Fool Fireflower) Score: 8~ Player 3 (SampleInternalManipu) Score: 32~ ***8回目 [#v8b57f55] Player 1 (henteko) Score: 46~ Player 2 (Fool Fireflower) Score: 45~ Player 3 (SampleInternalManipu) Score: 41~ ***9回目 [#vb8c0309] Player 1 (henteko) Score: 101~ Player 2 (Fool Fireflower) Score: 14~ Player 3 (SampleInternalManipu) Score: 26~ ***10回目 [#c915ecf2] Player 1 (henteko) Score: 101~ Player 2 (Fool Fireflower) Score: 27~ Player 3 (SampleInternalManipu) Score: 14~ *Tips [#j7505277] **その座標が存在するかどうか(Author:久住) [#d309926b] Terraformingでは、「-6<=x,y<=6」の中の座標を使うが、存在しない座標もある。[(6,6)など]~ 実は、x+yの絶対値が6以内の座標のみが使われている。そこで、以下のような座標判定関数を用いると、余計なコードや出力をしないで済むようになる。 // language : C++ #include <stdlib.h> bool isPoint(const int x, const int y) { if(abs(x+y) > 6 || abs(x) > 6 || abs(y) > 6) return false; return true; } 応用として、ある座標(x,y)から、別の座標(x1,y1)までの最短距離は、~ abs(dx=x-x1)とabs(dy=y-y1)、abs(dx+dy)のmaxで求められる。 **周囲○マスの調べ方(Author:久住) [#k3851f46] マス目が六角形なので、あるマスの周囲を調べるのが難しい。~ 周囲1マスなら何とかなるが、2マス以上を調べるのは骨が折れる。~ しかし以下の法則を使うと、この調査がぐっと楽になる。 6方位に対し、ある方向にN回進んだ場所(a)と、(a)から120度回転した方向にn回進んだ場所(1<=n<=N)をそれぞれ調べると、中心からN歩で到達する範囲を調べられる 例として、2歩の場所を調べるとする。~ [ul-ul]と、[ul-ul-r]の2箇所を調べる。(ulの120度回転した方向はr)~ これを6方向それぞれについてやると、2歩でいける12マスを調べることができる~ サンプルソースは汚いので略。
テキスト整形のルールを表示する