|
倉庫番の目的は、総ての荷物をゴールに運ぶことですが、この最終目的を直接探すのではなく、今目指すべき目標を解析し、そのサブゴールに荷物を運ぶ探索を行い、それが達成されれば、次のサブゴールを解析し、その繰り返しによってやがて最終目的に到達するという探索を行います。
サブゴールの解析は逆解き法を使い、完成状態から荷物を広い範囲に引きずり回せる荷物を取り払っていき、最後に取り払えた位置がサブゴールとなります。
場合によっては小さい範囲にしか引きずれないことがあります。その時は荷物を取り払わずに一旦移動させ、他の荷物を取り払ってから一旦移動させておいた荷物を最後に取り払う場合もあります。
本プログラムは探索中にサブゴール位置をオレンジ色で表示します。(ただ、最近のPCは速すぎて見えないね〜笑 ページ下参照)
|
最初に目指すサブゴール
サブゴールがゴール位置とは限らない
|