マイクロマウスの探査法でよく使われる方法です。
①ゴールを0として歩数マップを作成
②歩数が減っていく方向に進む
③もし壁があって進めなくなったら、①へ
の繰り返しです。
ゴール後に戻ってきて欲しければ、スタートを0として 歩数マップを作ればあとは同じです。
例えば、直進しても左右曲がっても同じ歩数の場所があったとします。
おそらく直進優先にすると思います。
しかしこのままでは一度最短経路がでてしまうと、何回探査させても
同じ経路しか進まず、曲がる方が楽な場合でもそっちに行ってくれません。
なのでさらに未探査区間優先にしてあげれば、他の経路も見てくれるようになると思います。