迷路にハマった!

最近、迷路にハマっている。特に迷路のアルゴリズムが面白い。何か、アルゴリズムを活用できる分野があると思うのだが。。。

道のばし法と壁のばし法の比較考察

迷路を自動生成しているサイトの多くは、道のばし法を通貨っていると思う。

 

なぜ、壁のばし法ではだめなのだろうか。

 

たとえば、クラスタリング手法は、道のばし法と同じような方法であるが、クラスタリング手法の迷路を提案しているサイトには、絵が浮き出る迷路に応用できると書かれていた。

 

迷路にハマったばかりの頃は、素直に、クラスタリング手法は絵が出る迷路も作れるんだ。。。スゲーな。と思っていた。

 

でも、迷路の自動生成プログラムを複数つくってみた今考えてみると、絵が出る迷路はクラスタリング手法でなくてもできる気がする。つまり、道のばし法でなくてもできる気がする。

 

確かに、頭の中で考えるときは道のばし法で考えたほうが理解しやすい。

 

正解の道を最初に作り、その道を分岐させるように、道を作り出していく。

 

だが、棒倒し法だって、壁のばし法だって、最初に道として設定して、壁を作り始めることは可能ではないのだろうか。

 

まだ、実験していないので何とも言えないが、壁のばし法の方が、実は迷路作成に向いている気がする。

 

道のばし法で迷路をいくつか作成してわかったのは、左上からスタートして右に直進、その後、右上で向きをかえ、一番下まで直進といった、単純な迷路がたまに生成されてしまうこと。

 

もし、壁のばし法ならが、かならず、外周の4辺から壁を延ばすようにせっていするだけで、このような単純な迷路を回避できるはずだ。

 

もちろん、道のばし法の場合も、例えば、最初にスタートからゴールの道を書くようにして、その時、うまく、単純な経路ができないようにすればいいのだが、コードで書くとなると意外に面倒くさそう。

 

それなら壁のばし法の方がいいのではないか。

 

実は、自動生成迷路をいくつか作ってみたが、壁のばし法だけは作ったことが無かった。

 

たぶん、ネット上でも、わざわざマイナーな手法である壁のばし法で迷路を作っている人はあまりいないんじゃないだろうか。

 

とりあえず、試してみたほうが良さそうである。