-
Notifications
You must be signed in to change notification settings - Fork 0
松阪牛 edited this page May 22, 2015
·
1 revision
戦略,アルゴリズム,データ構造などについて打ち合わせを行い, 各メンバに作業を割り当てた.
- 予選資料作成
- 石のおすすめの組合せを生成するアルゴリズムの実装
- ある石からその石に石操作してできる石を生成するアルゴリズムの実装
- ある石とその石に石操作してできる石の対応関係を持つDBの設計
- 石のおすすめの組合せを持つDBの設計
- パーサ作成
- 全探索アルゴリズムの実装
与えられた石は石操作して敷地に置くことができるため,石操作済みの石を列挙し, これらを事前にDBに格納する. この情報は,石の置き方の探索を高速化するために用いる.
ある石に他の石が隣接する場合,隣接する石の置き方によって隙間の有無などが変化する. そこで,石を効率的に置くために,ある石に対して他の石の隣接する組合せと, 各々のパターンにおけるおすすめ度を事前に計算してDBに格納する. この情報は,押しの置き方を探索するとき,おすすめ度の低い置き方を枝刈りするために用いる. また,石に類似する障害物に対して用いることで,石が配置できない隙間の低減を期待する.
おすすめ度として,2つの石が接する辺の数(結合強度)や,2つの石の組み合わせの矩形に対する近さ(矩形度)などを考えた.
石は正規化して用いる. 正規化とは,石の平行移動成分を除去し,左上に詰めることをいう.
敷地に対して,石を配置する位置の範囲は,x, y = -7, -6, ..., 0, ..., 31 である.