課題5: 逐次版n女王プログラムの高速化


課題4で完成させたプログラムの高速化を試みる。 元の関数等は消さずに残しておき、速度比較ができるようにする。 速度比較は盤面のサイズ n の変化に対し,全解探索に要する時間がど う変化するか調べること。

以下にはさまざまな高速化手法を示すが、 部分解の内容のコピーを避ける形で高速化を行うことを必須とする。 すべての高速化手法を試す必要はない。余力がある場合、他の実験履修者の 速度を上回りたい場合などに参考にすること。


部分解のデータ構造の工夫・拡張可能判定の高速化

拡張(の試み)の列を, と考える.

部分解の内容のコピーを避ける


枝刈り


再帰呼出しの代わりに明示的なスタックを利用


並列プログラミング, 先頭ページへ
Masahiro Yasugi: yasugi@kuis.kyoto-u.ac.jp