多くの状態間の伝達行列を導き出したアルゴリズムの問題があります。次のステップはそれを累乗することですが、非常に大きいので、いくらか削減する必要があります。具体的には、多くの対称性が含まれています。以下は、単純な観察によっていくつのノードを排除できるかの例です。
私の質問は、以下で手動で行った方法と同様に、有向グラフの対称性を効率的に排除するアルゴリズムがあるかどうかです。
いずれの場合も、初期ベクトルはすべてのノードで同じ値になります。
最初の例では、b
、c
、d
およびe
すべてが および から値を受け取ることがわかりますa
。したがって、それらは常に同じ値を含み、それらをマージできます。
a
この例では、グラフが、b
、c
およびの観点から同一であることがすぐにわかりd
ます。また、それぞれのサイドノードについては、それがどの内部ノードに接続されているかは問題ではありません。したがって、グラフを 2 つの状態だけに減らすことができます。
更新:一部の人々は、「状態転送マトリックス」の意味がよくわからないほど合理的でした。n
ここでの考え方は、組み合わせ問題を、再帰ごとにいくつかの状態タイプに分割できるということです。n-1
行列は からへの行き方を教えてくれますn
。
通常は、状態の 1 つの値だけに関心がありますが、他の状態も計算する必要があるため、いつでも次のレベルに進むことができます。ただし、場合によっては、複数の状態が対称的です。つまり、常に同じ値になります。これらすべてを計算するのは明らかに無駄なので、すべてのノードが「一意」になるまでグラフを縮小します。
以下は、例 1 の縮小グラフの伝達行列の例です。
[S_a(n)] [1 1 1] [S_a(n-1)]
[S_f(n)] = [1 0 0]*[S_f(n-1)]
[S_B(n)] [4 0 1] [S_B(n-1)]
論文への提案や参照は大歓迎です。