GPSルート探索スクリプト「電猫」―順調に壁に突き当たり中です

書く程の進捗は無いと言っていたばかりですが、暑さで頭がバグったお陰か(?)、変にプログラムを進めてしまいました。まずは1枚の地図のみからの点群道路地図と近接点インデックスの生成を簡易的に済ませ、あとは経路探索を行うだけ、という土俵にもってきました(強引)。


しかし、ここからが一筋縄では行きません。目的地に近づく方向に向かわせようにも、ほぼ確実に局所解にはまりこんで辿り付けないのです。当たり前ですが、経路探索はそれ程甘くないようです。でも、甘くないからこそ学問として成り立っている訳で、偉大な先人の方々に考えてもらったアルゴリズムを、ありがたく頂戴することにします(^^


電猫内で道路地図データとして保持させている形式は、アルゴリズムの世界では「グラフ」と呼ばれる物のようですね。目標地点の方角を考えなくても、近接点同士のデータを検索して、最短距離を導き出せば大丈夫のようです(A*アルゴリズムと言うらしいです)。こちらに解説が載っていますね。ありがたや。他にも探しつつ実装していきます。


課題は、点群道路地図と近接点インデックスの生成(つまり前準備)に時間が掛かり過ぎることでしょうか。大きいマップになると、処理が多すぎるのと、メモリを食いすぎるのとでザウルスでの動作は難しいかもしれません(する人もいないと思いますが^^;;)。特にインデックス生成に時間が掛かっているようで、作り方もかなりまずいので改善したい所です。あと、探索スクリプト本体だけはどうしてもザウルス側で動かす必要があるので、速度面、メモリ面の両面でなんとか使用可能なレベルに持って行かないといけませんね。