自己回避ランダムウォークをどのようにシミュレートする必要がありますか?


8

確率的隣接行列をべき乗することにより、グラフ全体のランダムウォークをシミュレートする簡単な方法がありますが、ランダムウォークが自己回避であると尋ねると、問題はより困難になります。つまり、プロセスは、感染症などのパスを使用してグラフをトラバースする必要があります。

エッジ確率が大きい場合は、単純なモンテカルロアルゴリズムがあります。各試行で、確率1 p eで各エッジを削除し、新しいグラフの接続されたコンポーネントを計算し、それぞれについて1の行列でカウント行列をインクリメントします。接触したコンポーネント。最後に試行回数で割ります。e1pe

確率が非常に小さいときに、この計算を行うためのアルゴリズムを知っている人はいますか?

グラフの関連性が高すぎない場合は、いくつかの最小カットセットを見つけて、それらに包含/除外カウントを行うことができますが、そのようなアプローチは、カットセットのサイズが倍に指数関数的です。明白な計算を介してすべてのクリークサブグラフを個別に処理するなど、接続性の高い特定のケースにもさまざまな最適化があります。より一般的なアイデアはありますか?


2
探しているものとは
異なり

回答:


7

あなたの質問を正しく解釈しているかどうかはわかりませんが、自己回避ランダムウォークのシミュレーションではなく、自己回避ランダムウォークの列挙について質問しているようです。これは、隣接行列の指数関数化について話しているため、ランダムウォークの(重み付けされた)列挙が得られるためです。

一般的なグラフでの自己回避歩行の列挙に関する多くの文献があるかどうかはわかりません。私は、ユークリッド空間の格子での自己回避歩行に最も注目が集まっていると思います。それが、以下の私のコメントに基づいています。アイデアの多くが一般的なグラフに引き継がれるのではないかと思います。

自己回避歩行を正確に列挙することに伴う労力を削減するための古典的なツールは、レースの拡張です。そのキーワードで関連文献を簡単に見つけることができるはずです。ただし、高度に接続されたグラフの場合、私の推測では、レース展開のアイデアはあまり役に立ちません(ただし、その場合、おそらく何もあまり役に立たないでしょう)。

おおよその列挙に満足している場合は、いくつかのオプションがあります。調査については、EJJファンレンスブルクの2009年の「自己回避歩行の概算」に関する論文を参照してください。RandallおよびSinclair(2000)による「自己回避歩行の自己テストアルゴリズム」も参照してください。


興味深い、ありがとう!列挙ではなく、確率について話している。私は明らかに言及されたエッジ確率が同一であることを暗示しました。それを確率的隣接行列に修正します。
Jeff Burdges、

いいえ、エッジ確率があることは明らかでした。そのため、私は "重み付け"という単語をかっこで囲みます。確率の計算は加重列挙と同等であり、単純な列挙のほとんどのアイデアは、加重列挙に直接引き継がれます。
Timothy Chow
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.