Contenu connexe
Plus de Fixstars Corporation
Plus de Fixstars Corporation (20)
Marathon mi sawa
- 4. きそくてき(横ベース)
● 規則的つってもどう入れればよいのか.
– まず, 横をなるべく規則的に並べてみよう.
– 縦と3x3は無視して, 適当にDPっぽく, なるべくいい感
じの規則で入れる.
●
117,544 点 → 122,873 点.
– 横だけ考えても, 自由度結構高いので, 縦でもいい感
じのを選ぼう. それを, 何度もやる.
● 122,873 点 → 123,779 点.
– 縦は殆ど効いてなかった.
- 6. 最適パターン
● 固定されている 1/6 って結構少ないんじゃね?
– パターンから”ずらす”代償は大きそう.
– パターンそのままが, 本当の最適解にかなり近いので
は!? (まちがい)
● 最適パターンは, 置換やずらしを含めると何通りもある.
– この中の最適解を, 適当に頑張って効率的に探索す
る.
– 151,864 点 → 153,568 点
- 9. 大まかな手法
● 改善するマス p をヒューリスティックで選ぶ
●
p を中心に, DxD を変更し, 最適解を探す MIP モデルを生
成する.
● ソルバにぶち込む.
- 10. マスの選択
● そのマスを含む 1x9, 9x1, 3x3 のうち, 得点になっている矩
形が少ないやつが選ばれやすい.
● 何回も選ばれたマスは選ばれにくい.
● 変更したマスの周囲は選ばれやすい.
- 11. モデル(初期)
●
D=3, つまり 3x3 を更新して最適解を探索させる.
● 得点にヒューリスティックは入れず, DxD の周りの8周の情
報も全て突っ込んだ.
● 一箇所の更新に 1 秒とかくらいだったと思う.
- 12. モデル(後半)
● ソルバは, 「最適性の証明」にかなり時間をかけていて, 良
い解は割と早く見つかっているっぽい.
– なるべく「良い解を探すの優先」なオプションに.
– 優先度に応じて 3〜5秒程度で探索を打ち切る.
● 何度か最適解保証までソルバを動かして, 最適解自体
がどれくらいで出ているかを見た.
– 15x15 を更新して解を探索させる.
– 姑息な対称性の除去.
– 解が動きやすいようにする.
- 13. 並列化
● 点数はどんどん上がっていたので, 並列化する事に.
– ソルバもマルチスレッドになってるけれど, 数秒程度で
探索を打ち切っている為か, CPUを100%使ってい
る様子は無かった.
– 更新するマスを, 他のスレッドが全く参照していない所
から選ぶとかする.
– 8スレッドで動かして, 放置.
– 153,568 点 → 224,804 点 (最終提出)
- 26. 8/17 以降の得点
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
215000
216000
217000
218000
219000
220000
221000
222000
223000
224000
225000
日付
点数
並列化