维特比算法(维基百科例子C++实现)

这段代码展示了如何使用C++实现维特比算法,通过初始概率、状态转移概率矩阵和发射矩阵概率矩阵来处理健康与发烧两种状态,并根据观察序列得出最可能的状态序列。
摘要由CSDN通过智能技术生成
//维特比算法,维基百科例子的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[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值