Questions tagged [viterbi]

The Viterbi algorithm is a dynamic programming algorithm for finding the most likely sequence of hidden states—called the Viterbi path—that results in a sequence of observed events, especially in the context of Markov information sources and hidden Markov models. Use this tag for questions about this algorithm.

The Viterbi algorithm is a dynamic programming algorithm for finding the most likely sequence of hidden states—called the Viterbi path—that results in a sequence of observed events, especially in the context of Markov information sources and hidden Markov models.

The algorithm has found universal application in decoding the convolutional codes used in both CDMA and GSM digital cellular, dial-up modems, satellite, deep-space communications, and 802.11 wireless LANs. It is now also commonly used in speech recognition, speech synthesis, diarization,1 keyword spotting, computational linguistics, and bioinformatics. For example, in speech-to-text (speech recognition), the acoustic signal is treated as the observed sequence of events, and a string of text is considered to be the "hidden cause" of the acoustic signal. The Viterbi algorithm finds the most likely string of text given the acoustic signal. (src: Wikipedia)

84 questions
0
votes
1 answer

Viterbi algorithm with OpenMP

I am trying to implement the Viterbi algorithm with the help of OpenMP. So far, my test shows that the execution time of the parallel program is approximately 4 times the execution time of the sequential program. Here is my code: #include…
0
votes
1 answer

viterbi decoding of matrices

Aim : global decoding of hidden sequence using matrix. The step-by-step code is below: # equilibrium probs equil=function(P){ e=eigen(t(P))$vectors[,1] e/sum(e) } # simulate hidden sequence hssim=function(n,lambda) { …
0
votes
1 answer

Fast DP in Matlab (Viterbi for profile HMMs)

I've got efficiency problems with viterbi logodds computation in Matlab. Basically my problem is that it is mandatory to have nested loops which slows the code down a lot. This is the expensive part: for i=1:input_len for j=1:num_states …
John Smith
  • 704
  • 7
  • 19
0
votes
1 answer

Implementing the Viterbi algorithm in a HMM with changing emission matrices across genomics markers

I would like to ask for help in implementing a hidden markov approach to assigning ancestry based on SNP genotype data. Given that I have a transition matrix generated as such: states <- c("A1","A2","A3","A4","A5","A6","A7","A8") # Define the names…
user2895292
  • 63
  • 1
  • 6
0
votes
0 answers

Viterbi Block Decoding

I don't know if this fits here but here goes: I have some noisy data encoded using a Hamming Block Code and I'd like to decode them using a Viterbi Decoder. I made my homework thus I know how the Viterbi Block Decoder works but I'd like to avoid…
Leo
  • 1,129
  • 4
  • 23
  • 38
0
votes
1 answer

using HMM with Viterbi Algorithm to correct typographical errors

I want to use HMM with Viterbi Algorithm to correct typographical errors, I calculated the required probability but when I apply Viterbi algorithm I got very bad results, I checked the code line by line and I couldn't find the error public…
0
votes
1 answer

Viterbi Search - Hypothetical Probabilities

I'm constructing an Hidden Markov Model to identify whether someone is saying either "Yes" or "No". I have developed the Hidden Markov Model and I have come across a tutorial from this…
Phorce
  • 2,632
  • 13
  • 43
  • 76
-2
votes
1 answer

K longest paths in a DAG

I want to find K longest paths in a Directed Acyclic Graph (DAG). I have read few articles about it but I couldn't find any actual code that has implemented it. Can somebody help me with a python or pseudo code? Here is one interesting algorithm…
-2
votes
2 answers

Can anyone line out where I can get a step by step algorithm for viterbi decoder?

I have this Viterbi Decoder function code, which is quite lengthy and there are no comments labeling to help, and I want to try to understand it. So anyone can point me to an easy to understand algorithm? Anyway, here is the code: int viterbiDecode(…
1 2 3 4 5
6