游戏动态

随机天气如何从转移规则推算下一时段:六个时段的天气概率传播(实例12)

2026-11-05

天气系统可以根据当前状态决定下个状态的概率,而不是每个时段都从同一个固定比例抽取。这样得到的长期变化依赖转移规则,当前晴天也不代表下一时段仍必然晴天。

先确定规则与输入

状态按晴、云、雨排列,每行给出从该状态转到三个状态的概率,行和为一。初始状态确定,随后六步都使用同一张表;本文计算各时段状态分布,不把某一次抽样当成概率结果。

初始状态编号2,零晴、一云、二雨 三行转移概率[['7/10', '1/5', '1/10'], ['1/10', '7/10', '1/5'], ['1/10', '4/5', '1/10']]

逐项算出过程

时段1:三个目标状态分别从晴、云、雨收到的概率贡献[['0', '0', '1/10'], ['0', '0', '4/5'], ['0', '0', '1/10']];合计得到['1/10', '4/5', '1/10'],总和1。

时段2:三个目标状态分别从晴、云、雨收到的概率贡献[['7/100', '2/25', '1/100'], ['1/50', '14/25', '2/25'], ['1/100', '4/25', '1/100']];合计得到['4/25', '33/50', '9/50'],总和1。

时段3:三个目标状态分别从晴、云、雨收到的概率贡献[['14/125', '33/500', '9/500'], ['4/125', '231/500', '18/125'], ['2/125', '33/250', '9/500']];合计得到['49/250', '319/500', '83/500'],总和1。

时段4:三个目标状态分别从晴、云、雨收到的概率贡献[['343/2500', '319/5000', '83/5000'], ['49/1250', '2233/5000', '83/625'], ['49/2500', '319/2500', '83/5000']];合计得到['136/625', '3093/5000', '819/5000'],总和1。

时段5:三个目标状态分别从晴、云、雨收到的概率贡献[['476/3125', '3093/50000', '819/50000'], ['136/3125', '21651/50000', '819/6250'], ['68/3125', '3093/25000', '819/50000']];合计得到['1441/6250', '30379/50000', '8093/50000'],总和1。

时段6:三个目标状态分别从晴、云、雨收到的概率贡献[['10087/62500', '30379/500000', '8093/500000'], ['1441/31250', '212653/500000', '8093/62500'], ['1441/62500', '30379/250000', '8093/500000']];合计得到['3724/15625', '300453/500000', '80379/500000'],总和1。

每一步都同时使用上一时段的完整分布,不能刚算完晴天新概率就把它拿去计算同一时段的云天,否则实际改变了模型。

复核时看什么

对一个目标状态,把所有来源状态的当前概率乘相应转移概率再相加。三种新概率必须相加为一且全不为负;还可以枚举全部可能路径,把抵达同一状态的路径概率合并来复核。

练习时可以先遮住结果,沿用相同输入独立记录中间状态,再逐项比较。发现不同后先定位最早分歧,确认边界包含方式、编号起点、更新顺序以及是否提前取整。最后结果一致也不表示每个中间步骤都正确,因此保留过程记录有助于看清原因。

适用范围

这是一个完全自定的小模型,不是现实天气预测,也不代表具体游戏。它假设下一步只依赖当前状态;季节、位置或冷却限制若也有影响,就需要把这些信息纳入状态或规则。