# viterbi: Computes the most probable path of states In HMM: HMM - Hidden Markov Models

## Description

The Viterbi-algorithm computes the most probable path of states for a sequence of observations for a given Hidden Markov Model.

## Usage

 `1` ```viterbi(hmm, observation) ```

## Arguments

 `hmm ` A Hidden Markov Model. `observation ` A sequence of observations.

## Format

Dimension and Format of the Arguments.

hmm

A valid Hidden Markov Model, for example instantiated by `initHMM`.

observation

A vector of observations.

## Value

Return Value:

 `viterbiPath ` A vector of strings, containing the most probable path of states.

## Author(s)

Lin Himmelmann <[email protected]>, Scientific Software Development

## References

Lawrence R. Rabiner: A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition. Proceedings of the IEEE 77(2) p.257-286, 1989.

## Examples

 ```1 2 3 4 5 6 7 8 9``` ```# Initialise HMM hmm = initHMM(c("A","B"), c("L","R"), transProbs=matrix(c(.6,.4,.4,.6),2), emissionProbs=matrix(c(.6,.4,.4,.6),2)) print(hmm) # Sequence of observations observations = c("L","L","R","R") # Calculate Viterbi path viterbi = viterbi(hmm,observations) print(viterbi) ```

### Example output

```\$States
[1] "A" "B"

\$Symbols
[1] "L" "R"

\$startProbs
A   B
0.5 0.5

\$transProbs
to
from   A   B
A 0.6 0.4
B 0.4 0.6

\$emissionProbs
symbols
states   L   R
A 0.6 0.4
B 0.4 0.6

[1] "A" "A" "B" "B"
```

HMM documentation built on May 29, 2017, 11:45 a.m.