今回、考えたアルゴリズム1の実装は以下の通りです。
1)多数スレッドによるメタヒューリスティクス
2)多数スレッドによるSAT
3)DPS
究極的な目標は、
A)ICU 70人で2分を切る
B)INSCⅡでの記録更新
C)Scheduling Benchmark での記録更新
です。2)3)が当初の目標だったのですが、どうせなら、実用的な成果も得たいという壮大な計画の基にアルゴリズム1の改善に取り組むことにしました。Aが出来るとB)C)でも組み込むことが出来、有利に働きます。
条件は、高機能CPUで64GB/32threadsで実現するものとします。
メタヒューリスティクスは、従来使っていませんでしたが、探索初期段階では有効なことが分かっています。問題は、局所解からの脱出ですが、単純な解決策は、多数スレッドで解く、というものです。イメージ的には、徒競走です。どの子が速いからは分かりません。が、多数を走らせれば、中には速い子もいるでしょう。
2)は、障害物競争です。1)の子のバトンを受けて、障害物に挑みますが、障害の大きさは、不明なため、必ずしも1)のトップが2)のトップになるとは限りません。
3)は、玉入れ競争のイメージです。2)のトップのバトンを受けて皆でスタートします。1)2)は、個人競技ですが、3)は団体で挑みます。皆の総合力で解を得ます。
解を決定的にしつつ、高速かつ安定に動作させます。上記の枠組みを作成し、作業を進めていきます。
0 件のコメント:
コメントを投稿