1.04k likes | 1.15k Views
アルゴリズムとデータ構造 補足資料 10-1 「騎士巡回」. 横浜国立大学 理工 学部 数物・電子情報系学科 富井尚志. バックトラックアルゴリズム. とりあえずやってみる ダメ なら戻って別の道を探る あの とき別の道を選んでいたら 、、、 試行錯誤( trial and error ) 結局全部のケースをやってみる(完全解). 騎士巡回( knight tour ). チェスの「ナイト」. 騎士巡回( knight tour ). チェスの「ナイト」 、盤面のすべてのマスを 一度だけ訪問する.
E N D
アルゴリズムとデータ構造補足資料10-1「騎士巡回」アルゴリズムとデータ構造補足資料10-1「騎士巡回」 横浜国立大学 理工学部 数物・電子情報系学科 富井尚志
バックトラックアルゴリズム • とりあえずやってみる • ダメなら戻って別の道を探る • あのとき別の道を選んでいたら、、、 • 試行錯誤(trial and error) • 結局全部のケースをやってみる(完全解)
騎士巡回(knight tour) • チェスの「ナイト」
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する スタート!
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する ゴール!
騎士巡回(knight tour) • チェスの「ナイト」、盤面のすべてのマスを 一度だけ訪問する • 考え方: • とりあえず、行けるところまで行ってみる。 • 行き詰ったら、前に戻って(バックトラック)、別の選択肢でやってみる。
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 スタート!
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 ここで人生の 分かれ道: A~Bのどれを 選ぶ?
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 ここで人生の 分かれ道: A~Bのどれを 選ぶ? とりあえずA
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 ここで人生の 分かれ道: A~Eのどれを 選ぶ?
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 ここで人生の 分かれ道: A~Eのどれを 選ぶ? とりあえずA
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 ここで人生の 分かれ道: A~Cのどれを 選ぶ?
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 ここで人生の 分かれ道: A~Cのどれを 選ぶ? とりあえずA
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 ここで人生の 分かれ道: A~Bのどれを 選ぶ?
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 ここで人生の 分かれ道: A~Bのどれを 選ぶ? とりあえずA
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 A~Bのどれを 選ぶ?
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 A~Bのどれを 選ぶ? とりあえずA
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 A~Bのどれを 選ぶ?
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 A~Bのどれを 選ぶ? とりあえずA
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。
騎士巡回(knight tour) • 分かれ道は、とりあえず進んでみる。 ダメな時は 戻ってやりなおす。 A~Fのどれを 選ぶ?