p5.js サンゴ礁を用いた経路探索(続き)

今回は、前回作成したプログラムからいろいろな経路を生成して、

どういう性質をもった経路が生成されるのか考察してみたいと思います。

ちなみに前回の記事は以下です。

techty.hatenablog.com

 

とりあえずいろいろと経路を生成してみました。

f:id:techty:20190511004404p:plain
f:id:techty:20190511004401p:plain
f:id:techty:20190511004357p:plain
f:id:techty:20190511004353p:plain
f:id:techty:20190511004350p:plain
f:id:techty:20190511004346p:plain
f:id:techty:20190511004342p:plain
f:id:techty:20190511004338p:plain
f:id:techty:20190511004334p:plain
f:id:techty:20190511004331p:plain
f:id:techty:20190511004328p:plain
f:id:techty:20190511004324p:plain
f:id:techty:20190511004321p:plain
f:id:techty:20190511004316p:plain
f:id:techty:20190511004313p:plain
f:id:techty:20190511004309p:plain
f:id:techty:20190511004305p:plain
f:id:techty:20190511004301p:plain
f:id:techty:20190511004258p:plain
f:id:techty:20190511004254p:plain

 

生成された経路を見て直感的に思ったことをとりあえず列挙してみます。

直感的に思ったこと

 ・意外と最短経路で進もうとしている

 ・障害物が多かったり道幅が狭い場合、その経路は避けて遠回りする

 ・ただし、極端な遠回りはしない

一言でいうと「まあまあいい感じの経路を生成する」って感じですかね。 

 

なぜこのような結果になるのかを考察してみました。

結論から言うと

 ・経路の距離

 ・経路の通りやすさ

この2つの違いが

 ・意外と最短経路で進もうとしている

 ・障害物が多かったり道幅が狭い場合、その経路は避けて遠回りする

 ・ただし、極端な遠回りはしない

 という経路が生成される理由ではないかと考えました。

 

まずは「意外と最短経路で進もうとしている」ということに関してですが、

これは「経路の距離」が関係しているような気がします。

白い点とサンゴ礁までの距離が近ければ近いほど、白い点がサンゴ礁にくっつく確率が高くなります。

そして最短経路を通る白い点は、他の経路を通る白い点よりもすばやくサンゴ礁に到達できます。

他の経路よりも最短経路のほうが生成されるスピードが速いため、結果として「意外と最短経路で進もうとしている」のではないでしょうか。

 

次に「障害物が多かったり道幅が狭い場合、その経路は避けて遠回りする」ということに関してですが、これは「経路の通りやすさ」に関係しているような気がします。

障害物が多かったり道幅が狭い場合は、その経路を白い点が通り抜けできない確率が高くなります。

遠回りした場合は距離は長くなりますが、逆に障害物が少なく道幅も広いため、その経路を通り抜けできる確率が高くなります。

このようなことから「障害物が多かったり道幅が狭い場合、その経路は避けて遠回りする」経路が生成されるのだ考えられます。

 

最後に「ただし、極端な遠回りはしない」ということに関してですが、

これは「経路の距離」に関係しているような気がします。

白い点が極端な遠回りをすると、なかなかサンゴ礁には到達できないので、

そのような経路は形成されにくいと考えられます。

このことから「ただし、極端な遠回りはしない」のだと考えられます。

 

という感じで、簡単にですが考察してみました。

結論としては

「距離と通りやすさのバランスをとった経路が生成される」

 という感じですかね。

 

できるだけ最短経路で進みつつ、通りやすさも重視する!

ランダムウォークってなかなか興味深いなぁ。

 

最後までお読みいただきありがとうございました!