正しくTogetter / min.tにログインできない不具合が発生中です。X側の修正をお待ちください(詳細はこちら)

SPFA談義

SPFAはShortest Path Faster Algorithmの略称で、 https://en.wikipedia.org/wiki/Shortest_Path_Faster_Algorithm
0
tubo28 @tubo28

SPFAやっぱりよくわからない

2015-11-21 02:46:37
みさわ @Mi_Sawa

SPFA は, bellman 方程式に従って更新する順番を, 「更新しなきゃいけなくなったら queue に突っ込む. 既に queue にあるなら無視」にしただけと思うと, (負閉路が無いときは)理解できる.

2015-11-21 02:49:41
みさわ @Mi_Sawa

(bellman-ford も SPFA も dijkstra も bellman 方程式に従って更新する順番を変えただけ)

2015-11-21 02:51:18
tubo28 @tubo28

@Mi_Sawa なるほど… 確かに inf + e.weight = inf みたいな更新は無くなりますね…

2015-11-21 02:53:31
みさわ @Mi_Sawa

@tubo28 あと, queue から出てくるものは距離ラベルが更新された後にまだ伝播していないものだけなので, 既に確定した頂点を何度も見ないで済むというのも, bellman-ford に比べてよいところですかね.

2015-11-21 03:01:35
tubo28 @tubo28

@Mi_Sawa なるほどなるほど。ありがとうございます。

2015-11-21 03:09:11
tubo28 @tubo28

やっぱり負辺あると手戻りが発生する(既に確定した頂点を何度も見る必要があるかもしれない)のでかなり辛いという感じですかね

2015-11-21 03:10:17
みさわ @Mi_Sawa

SPFA, ごく稀に牛で便利.

2015-11-21 03:27:51
コルン @colun

シラナイ>SPFA SPFAで検索したら、次のようなのが出てきた。 hogloid.hatenablog.com/entry/20120409… #Code_Festival

2015-12-05 16:14:12
コルン @colun

優先度付き待ち行列をキューで代用したことで、不安定に何度も安定しない更新をかけちゃって、計算量が増える、、、みたいなのはありますが、それ自体は正しい答えを捻じ曲げるものではなかったりします。 #Code_Festival

2015-12-05 16:20:04