バックトラックを用いてスネークキューブを解いてみよう

バックトラックを用いてスネークキューブを解いてみよう:

未完成


目的

JavaScriptの文法の勉強


スネークキューブって何?

スネークキューブ(以下SC)とは、木でできたパズルです



snake-cube.jpg


右のようなバラバラになっている状態から、左のような立方体に直したら勝ちみたいです

やってみたけど普通に難しくて解けない!

※ちなみに画像は筆者の筆箱にいつも付いているものです!


アルゴリズムを考えよう

結論から書くと、SCは少々条件が付いた、一筆書き問題です

※その理由

一筆書き→グラフの全探索

と言えます

言い換えると、

よって、SCは、グラフの全探索問題に置き換えることができます


よろしい、ならば探索だ

SCが一筆書きの問題だとわかれば後は簡単です

一筆書きの問題は、グラフ理論に置き換えることが可能です(解説ページ

あとは機械の力に任せましょう

以下が全ソースです

index.js
let a = 0; 
今回は深さ優先探索を用いました

理由は、

  • 解の最適性は重要ではない
  • 実装が簡単
の2点です


まとめ

まとめ!

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)