用python实现基于马尔可夫链的随机游走的小例子
以下是一个基于马尔可夫链的随机游走的小例子,该例子使用Python编写:
import random
# 马尔可夫链转移矩阵
transition_matrix = [
[0, 1/3, 1/3, 1/3],
[1/2, 0, 1/2, 0],
[1/2, 1/2, 0, 0],
[1/2, 0, 0, 1/2]
]
# 初始状态
current_state = 0
# 进行10次随机游走
for i in range(10):
# 根据当前状态和转移矩阵确定下一个状态
next_state = random.choices([0, 1, 2, 3], transition_matrix[current_state])[0]
print(f"当前状态:{current_state},下一个状态:{next_state}")
current_state = next_state
以上代码中,我们定义了一个马尔可夫链的转移矩阵,其中第i行第j列的元素表示从状态i转移到状态j的概率。然后我们从初始状态开始,进行10次随机游走。每次游走时,根据当前状态和转移矩阵,随机选择下一个状态。最终输出每一步的状态变化
原文地址: https://www.cveoy.top/t/topic/cp7Z 著作权归作者所有。请勿转载和采集!