1

私は、パスを見つけるために A* を使用した交差可能な正方形と交差不可能な正方形を備えたグリッドベースのシステムを使用しており、パスを見つけることができるかどうかを確認するために (2 つの領域が接続されているかどうかを確認するために) フラッド フィルを使用しています。

私の問題は、新しい交差不可能な領域が非常に頻繁に (1 秒間に最大 16 回) 導入される可能性があり、グリッドがかなり大きい (約 500 x 500) ため、O(mn) フラッド フィル ソリューションでさえかなり長い時間がかかることです。 . フラッドフィルのさまざまな実装を調べましたが、必要なものに似たものは見つかりませんでした。

だから私の質問は、以前のグリッドに基づいて、新しい交差不可能な領域 (常に長方形になる) のリストに基づいて、繰り返されるフラッド フィル コールを最適化する方法があるということです。

4

1 に答える 1

0

フラッド フィル アルゴリズムを使用して、交差可能な正方形を連結要素に分割することから始めます。

領域を交差不可能としてマークする場合、領域内の以前に交差可能だった正方形に隣接する領域の外側にあるすべての交差可能な正方形の集合 S を考慮してください。S に少なくとも 2 つのメンバーを持つコンポーネント C ごとに、フラッド フィルを使用して、C が切断されているかどうかを確認します。

領域を交差可能としてマークするときは、領域内の正方形に隣接する領域の外側にあるすべての交差可能な正方形の集合 S を考慮してください。S のメンバーを持つすべてのコンポーネントを結合します。

于 2012-07-31T22:43:33.510 に答える