NetLogoモデルのパッチ環境(色付き領域)でクラスタのサイズ(パッチ数)のリストを取得するのに時間的な問題があります。 50×50、100×100、または150×150の標準DFSのBFSの小さなグリッド値(NetLogoの世界サイズ)が効率的になりますが、注文が増えるにつれてこれらの手順は実行不可能になります。私の仕事は、同じ結果を計算することですが、少なくとも10000 x 10000パッチ以上のグリッドを対象としています。大きな正方形のグリッドでクラスターを測定する良い方法は何ですか?
私はHoshen-Kopelmanアルゴリズムで連合は、検索しようとしたが、私の実際のNetLogo実装がオーダーのpatcheグリッドの約5時間500×500
を費やしているいずれかの世界のためにあらゆる計算するアルゴリズムまたはラベリングクラスターを知っています少なくとも1000 x 1000個のパッチが必要ですか?
パッチとNetlogoを使用する代わりに、私はC/C++や他のプログラミング言語に切り替えることができますか?
提案がありますか?事前に
おかげで、私のコードは基本的にこのモデルClusters with Recursionある
は、我々はあなたのNetLogoコードを見ることができますか?私はあなたがどんなアルゴリズムを必要としているとは思わない、あなたはNetLogoプリミティブでこれを行うことができるはずですが、私はあなたがこの質問のクラスターによって何を意味しているかは不明です。 – JenB
あなたのコメントのために@JenBありがとう、私は最後の試みが[リンク](http://modelingcommons.org/browse/one_model/2328#model_tabs_browse_info)でモデルからモデルを作成することでした(これはまさに私です2つの色と大きなpatcheの世界の必要性)、それは基本的にその4近傍で再帰と幅広い検索を使用します。不幸にも、モデルが大きなクラスターを検出する必要があるので、巨大な世界(少なくとも1000000個のパッチ)で複雑な問題が残っています。再帰プロシージャーは、あなたの情報のおかげで再帰が深すぎると通知します。よろしく –