私はこれを理解したと思っていました...しかし、私はまだ頭を包み込むことができません。私はOpenFstで遊んでいて、「対数」セミリングで「最短距離」がどのように計算されるかを理解しようとしています。次の小さなオートマトンでは、
「最短距離」コマンドの結果は、
$ fstshortestdistance log.fst
0 0
1 -0.510825634
2 -2.60798359
3 -0.9162907
ログの最短距離の説明は、次のように与えられます。
対数セミリングでは、q へのパスの重みの (対数) 合計が計算されます。
私はかなりばかげているように感じますが、最終的な -2.6 に到達するために実際に何が起こっているのか理解できません。対数合計と通常の合計の考えられるすべてのバリエーションを試してみましたが、適用すべきではないように思われるものも含めて、-2.6 は得られませんでした。今、私を夢中にさせ始めています。
この場合の私の直感は、2 つの異なる文字列 (bc、bd) のそれぞれの合計パス確率を合計してから、最良の確率を返す必要があるということです。(bc) には 2 つのパスがあり、それらの確率の合計は 2/3 (非対数) になります。(bd) パスの確率は 1/3 です。しかし、これは間違いなく起こっていることではないので、何が起こっているのでしょうか?