1.FSM 有限狀態機表示有限個狀態(State)集合以及這些狀態之間轉移和動作的數學模型。
2.其中一個狀態被標記為開始狀態,0個或更多的狀態被標記為final狀態。
3. 一個FSM同一時間只處于1個狀態,我們以吃飯睡覺打豆豆來說明這個模型FSA FSA是一個FSM(有限狀態機)的一種,特性如下:確定:意味著指定任何一個狀態,只可能最多有一個轉移可以訪問到。
4.無環: 不可能重復遍歷同一個狀態接收機:有限狀態機只“接受”特定的輸入序列,并終止于final狀態我們可以看看其抽象的數學模型的示例,我們有幾組特定的輸入:abs、cos、cut,從初始狀態node 0 到終止狀態node 5,我們僅接受這三種有效的輸入序列FST基于對FSM和FSA的理解,我們來看看FST的定義: FST是也一個有限狀態機(FSM),具有這樣的特性:確定:意味著指定任何一個狀態,只可能最多有一個轉移可以遍歷到。

5.無環: 不可能重復遍歷同一個狀態transducer:接收特定的序列,終止于final狀態,同時會輸出一個值可以看到在FSA的基礎上加上outputValue就是FST了。
6. FST有6個元素:有限的狀態集有限的輸入符號集有限的輸出符號集初始狀態終止狀態集轉換函數如果我們將上面FSA的三個輸入序列abs、cos、cut,增加上輸出值,那么FST就可以表示KV數據了,這下和我們的詞典索引就開始有點像了。
7.例如:abs/1、cos/8、cut/15,如果按照FST的6個元素來解釋就是:有限狀態集{node 0,node 1,node 2,node 3,node 4,node 5}有限輸入集{"abs","cos","cut"}有限輸出集{1,8,15}初始狀態 node 0終止狀態集{node 5}如果我們遍歷cut這個序列,并獲的其輸出值,沿著node 0 -> node 3 -> node 4 -> node 5遍歷,匹配其輸入序列cut,并獲得其輸出值8+7=15FST的查詢會比較容易理解,我們沿著初始狀態按照輸入的序列進行遍歷,當遍歷到終止狀態時即可以獲得其輸出值。
8.例如:我們輸入solr序列,遍歷的輸出值是:45+0+0+0=45
評論前必須登錄!
立即登錄 注冊