疊式存儲算法(stack algorithm)又稱堆疊算法,疊式存儲算法的思想很簡單,它的序列解碼的基本概念明顯易懂。解碼器由一種編排好的表格或稱堆疊組成。在堆疊內,把已探尋過的路徑,按其對數似然值的降序排列好。堆疊頂端存儲著該堆疊全部存儲路徑中最大對數似然函式的路徑。由於該路徑與正確路徑最相似,所以,它是下一步被研究的對象(每深入一級,延伸出兩條支路)。隨著每次延伸之後,堆疊就重新排列一次。其結果是,哪一條路徑的對數似然函式增大,那它就是下一步被繼續研究的對象。如果該路徑的對數似然函式減小,那么,它就要從頂端位置落下,並儲存在堆疊適當的位置上,從而得到一個新的頂端節點。把每一條已探明的路徑用其最終的節點來表示,則堆疊便可等效地看成是一張節點目錄表,而節點則是按其對數似然函式值排列的。這樣,解碼器的目的就是尋求頂端節點,再延伸其後繼節點,然後對堆疊作適當重新排列。當把起始原節點裝入堆疊後,此節點的對數似然函式就取為零。解碼算法包括下列步驟:1.計算其頂端節點的全部後繼節點的對數似然函式,並在堆疊適當的位置上把新的路徑存進去。2.當節點的後繼節點一旦被存入堆疊後,該節點便在堆疊上被消除。3.如果新的頂端節點是最後節點,則運算停止或轉回到第1級上去。當運算從迴路系統中逸出時,頂端節點就是解碼所得路徑的端節點。於是,整個解碼路徑就很容易從堆疊所存儲的信息中求得。
基本介紹
- 中文名:疊式存儲算法
- 外文名:stack algorithm
- 別稱:堆疊算法,堆疊存儲解碼,ZJ算法
- 提出人:扎崗基洛夫,傑里涅克
- 相關概念:費諾算法