目次

目的と期間と達成目標

目的:CEDEC2013 AI CHALLENGEに参加して賢いAIをつくろう
期間:CEDEC2013 が終わるまで
達成目標:決勝ラウンド進出

達成度内容
ミニマムサクセス予選ラウンド参加
フルサクセス決勝ラウンド進出
アドバンスドサクセス上位入賞

CEDEC2013 AI CHALLENGE

CEDEC(http://cedec.cesa.or.jp/2013/)の一企画として開催されるAIコンペション
陣取りゲームを題材に優秀なAIを競う。 ルールなど詳細は http://www.ai-comp.net/cedec2013/index.html 参照で。

決勝進出するとタダでCEDECチケットがもらえる!

予選提出ページ

http://ai-comp.ddo.jp/

スケジュール/活動実績

月日CEDECスケジュール活動実績と予定
7/20プロジェクト発足/試作AIによる実行と検討
7/21AIプログラム提出開始
本体がvar1.0.4に版上げ。バグ取りと攻撃塔の修正が入る
7/272013年調布祭AI対戦プロジェクト内で第2回作戦会議。課題がいっぱい
8/03var1.0.6に版上げ。2013年調布祭AI対戦プロジェクト内で第3回作戦会議。締め切り延びたよ!
8/04var1.0.7が来てました。
8/08var1.0.8にあがってました。
8/09予選用プログラム締切16日になりました
8/10予選結果発表17日になりました
8/16予選用プログラム締切
8/17予選結果発表決勝いきたい
8/20決勝用プログラム提出開始予選より賢いプログラムつくりたい
8/23決勝CEDECいきたい

内容は随時追加予定。

メンバー

学科本名HN
M1I○大泉 良介久住 涼
4K今井 健太henteko

AIのアルゴリズム、特徴など

久住(fireflower)

花火をイメージに円形に陣を広げる策戦 7/20->27で名前を「fool Fireflower」から「fireflower」に変更
まだまだ賢くないので、foolはつけとくべきだったかもしれない。

課題

henteko(henteko)

課題(と思われる場所)

共通の課題

作戦会議室(仮)


実験

20130803

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

1回目

Player 1 (henteko) Score: 100
Player 2 (Fool Fireflower) Score: 10
Player 3 (SampleInternalManipu) Score: 36

2回目

Player 1 (henteko) Score: 101
Player 2 (Fool Fireflower) Score: 13
Player 3 (SampleInternalManipu) Score: 45

3回目

Player 1 (henteko) Score: 100
Player 2 (Fool Fireflower) Score: 4
Player 3 (SampleInternalManipu) Score: 21

4回目

Player 1 (henteko) Score: 100
Player 2 (Fool Fireflower) Score: 27
Player 3 (SampleInternalManipu) Score: 40

5回目

Player 1 (henteko) Score: 60
Player 2 (Fool Fireflower) Score: 50
Player 3 (SampleInternalManipu) Score: 19

6回目

Player 1 (henteko) Score: 100
Player 2 (Fool Fireflower) Score: 4
Player 3 (SampleInternalManipu) Score: 18

7回目

Player 1 (henteko) Score: 102
Player 2 (Fool Fireflower) Score: 8
Player 3 (SampleInternalManipu) Score: 32

8回目

Player 1 (henteko) Score: 46
Player 2 (Fool Fireflower) Score: 45
Player 3 (SampleInternalManipu) Score: 41

9回目

Player 1 (henteko) Score: 101
Player 2 (Fool Fireflower) Score: 14
Player 3 (SampleInternalManipu) Score: 26

10回目

Player 1 (henteko) Score: 101
Player 2 (Fool Fireflower) Score: 27
Player 3 (SampleInternalManipu) Score: 14

Tips

その座標が存在するかどうか(Author:久住)

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:久住)

マス目が六角形なので、あるマスの周囲を調べるのが難しい。
周囲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マスを調べることができる
サンプルソースは汚いので略。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS