迷路にハマった!

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

クラスタリング手法は一見すごそうだが・・・

迷路にハマったばかりの頃、迷路のアルゴリズムをネットでひたすら調べまくった。

 

まだ、プログラミングの初心者だったので、わかりやすいサイトを見つけるのに苦労した。

 

コードだけ提示されても、当時は理解できなかったからだ。

 

基本的に、迷路作成のアルゴリズムといえば、棒倒し法、道のばし法(穴あけ法)、壁のばし法の3つである。

 

それについては、詳しく書かれた本があったので、理解を深めることができた。

 

だが、ネット上では、クラスタリング手法なる迷路の作成方法が公開されていた。

 

正確には覚えていないが、どこかの知識人(たぶん大学の人)が書いた真面目なサイトだったと思う。

 

クラスタリングなんて、普段聞きなれない言葉が使われているだけで、なんだか、高度な迷路をつくれそうな気がした。

 

でも、少しプログラミングに慣れてきたときに、そのサイトを再びチェックしたら、なんのことはない、道のばし法と同じ内容だった。(私はそう感じた)

 

私の場合、道のばし法の説明方法のほうが、素直でわかりやすい気がした。

 

ただ、話はここで終わらない。

 

私が購入した本では、棒倒し法と道のばし法と壁のばし法が解説されていたのだが、その本の著者も結局は、道のばし法を推奨しているようだった。少なくとも、乗っていたコードは道のばし法だけだった。

 

そうなると、クラスタリング手法、壁のばし法が迷路作成のもっともすぐれた手法のように感じてしまう。

 

私自身、つい最近まで、道のばし法こそが迷路作成のもっともすぐれた手法だと考えていた。

 

確かに、棒倒し法より道のばし法の方が優れているのは確かだと思う。

 

棒倒し法の欠点については他のページで述べた大利である。

 

しかし、道のばし法は本当に、壁のばし法よりも優れているのだろうか。

 

話が長くなったので、続きは次回の記事に書くことにしよう。