Encontrando os caminhos top-k viterbi no HMM

Eu preciso escrever um algoritmo que encontre os caminhos top-k viterbi em um HMM (usando o algoritmo viterbi regular para encontrar o melhor caminho).

Eu acho que provavelmente preciso salvar uma lista V_t, N de tamanho k para cada estado N que contém os caminhos top-K que terminam em estado N, mas não tenho certeza de como controlar essa lista .. alguma idéia? obrigado