Skip to content
松阪牛 edited this page May 22, 2015 · 1 revision

05/21/2015 10:00-12:00

戦略,アルゴリズム,データ構造などについて打ち合わせを行い, 各メンバに作業を割り当てた.

各メンバが行う作業

  • 予選資料作成
  • 石のおすすめの組合せを生成するアルゴリズムの実装
  • ある石からその石に石操作してできる石を生成するアルゴリズムの実装

萬代くん

  • ある石とその石に石操作してできる石の対応関係を持つDBの設計
  • 石のおすすめの組合せを持つDBの設計

森田くん

  • パーサ作成
  • 全探索アルゴリズムの実装

ある石とその石に石操作してできる石の対応関係

与えられた石は石操作して敷地に置くことができるため,石操作済みの石を列挙し, これらを事前にDBに格納する. この情報は,石の置き方の探索を高速化するために用いる.

石のおすすめの組合せ

ある石に他の石が隣接する場合,隣接する石の置き方によって隙間の有無などが変化する. そこで,石を効率的に置くために,ある石に対して他の石の隣接する組合せと, 各々のパターンにおけるおすすめ度を事前に計算してDBに格納する. この情報は,押しの置き方を探索するとき,おすすめ度の低い置き方を枝刈りするために用いる. また,石に類似する障害物に対して用いることで,石が配置できない隙間の低減を期待する.

おすすめ度として,2つの石が接する辺の数(結合強度)や,2つの石の組み合わせの矩形に対する近さ(矩形度)などを考えた.

石の正規化

石は正規化して用いる. 正規化とは,石の平行移動成分を除去し,左上に詰めることをいう.

敷地に対する石の位置

敷地に対して,石を配置する位置の範囲は,x, y = -7, -6, ..., 0, ..., 31 である.