编写传统马尔科夫链的Python代码
时间: 2023-02-21 10:05:27 浏览: 214
好的,以下是一个简单的马尔可夫链的 Python 代码示例:
```
import random
# 预先定义状态转移概率矩阵
transition_prob = {
'A': {'A': 0.9, 'B': 0.075, 'C': 0.025},
'B': {'A': 0.15, 'B': 0.8, 'C': 0.05},
'C': {'A': 0.25, 'B': 0.25, 'C': 0.5}
}
# 初始状态
current_state = 'A'
# 随机生成 100 次状态变更
for i in range(100):
print(current_state)
possible_transitions = transition_prob[current_state]
next_state = random.choices(list(possible_transitions.keys()), weights=list(possible_transitions.values()))
current_state = next_state[0]
```
代码中,我们首先定义了一个字典 `transition_prob`,其中包含了状态间的转移概率;接下来,我们选定了初始状态为 `A`,并通过循环生成 100 次状态变更,使用了 Python 标准库中的 `random.choices` 函数来实现状态的随机选择,最后输出当前状态。
阅读全文