Я думал, что понял это... но я до сих пор не могу понять это. Я играю с OpenFst и пытаюсь понять, как вычисляется «кратчайшее расстояние» в полукольце «журнал». Для следующего маленького автомата
Результат команды «кратчайшее расстояние»:
$ fstshortestdistance log.fst
0 0
1 -0.510825634
2 -2.60798359
3 -0.9162907
и описание кратчайшего расстояния в журнале дается как
С логарифмическим полукольцом вычисляется (логарифмическая) сумма весов путей к q.
Я чувствую себя довольно глупо, но я не могу понять, что на самом деле происходит, чтобы прийти к финалу -2.6. Я перепробовал все возможные варианты логарифмической и обычной суммы, даже те, которые кажутся неприменимыми, но ничего не дает -2,6. Это начинает сводить меня с ума.
Моя интуиция в этом случае состоит в том, что общие вероятности пути для каждой из двух различных строк (bc, bd) должны суммироваться, а затем должна быть возвращена наилучшая вероятность. Есть два пути для (bc), и их суммы вероятностей равны 2/3 (нелогарифмические). Путь (bd) имеет вероятность 1/3. Однако это определенно не то, что происходит, так что происходит?