重み付けされていないグラフのすべてのノードのBetwennessCentralityを計算するプログラムを作成しています。そのためには、ASSSP(All Single Source Shortest Paths)を見つける必要があります。プログラムを作成しているうちに、最終的には結びつきがあることに気づきました(ソースから宛先までの距離は同じですが、パスは異なります)。これは私をこの質問に導きました。これらの関係をどのように解決する必要がありますか?ランダムなタイブレーカーを使用する場合、Betweenness Centralityの各出力は、同じ入力に対してわずかに異なる可能性があります。小さな模範的なグラフを作成しましょう。
A
/ \
B C
\ /
D
ここで、AノードがASSSPを検索するソースであるとしましょう。2つのパス(A->B->DとA->C->D)が存在し、それらのボットは同じ長さであり、両方とも最短のものであることがはっきりとわかります。今、私はどれを選ぶべきですか、そしてどのような条件で?
ランダムタイブレーカー(問題)
最初に見つかったようなランダムなタイブレーカーを使用すると、最短パスとしてマークされます(プログラムは配布されるため、このソリューションはランダムに機能します)。次に、ノードBとCで値が異なるため、BetweennessCentralityに問題が発生します。どのパスが最短としてマークされたかによって異なります。
誰かがこの問題を解決する方法を知っていますか、それとも私は何かが足りないだけですか?