//维特比算法,维基百科例子的C++实现
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
//状态空间
string state_1("Healthy");
string state_2("Fever");
//观察空间
string observations_1("normal");
string observations_2("cold");
string observations_3("dizzy");
//start_probability = {'Healthy': 0.6, 'Fever': 0.4}
double start_probability[2]={0.6,0.4}; //初始概率
// transition_probability
// Healthy Fever
// Healthy 0.7 0.3
// Fever 0.4 0.6
double transition_probability[2][2]={0.7,0.3,0.4,0.6};//状态转移概率矩阵
// emission_probability
// normal cold dizzy
// Healthy 0.5 0.4 0.1
// Fever 0.1 0.3 0.6
double emission_probability[2][3]={0.5,0.4,0.1,0.1,0.3,0.6};//发射矩阵概率矩阵
double T1[2][3];
double T2[
维特比算法(维基百科例子C++实现)
最新推荐文章于 2021-05-23 13:32:37 发布
这段代码展示了如何使用C++实现维特比算法,通过初始概率、状态转移概率矩阵和发射矩阵概率矩阵来处理健康与发烧两种状态,并根据观察序列得出最可能的状态序列。
摘要由CSDN通过智能技术生成