马尔可夫矩阵的Python程序
给定 amxn 二维矩阵,检查它是否是马尔可夫矩阵。
马尔可夫矩阵:每行之和等于 1 的矩阵。
例子:
Input :
1 0 0
0.5 0 0.5
0 0 1
Output : yes
Explanation :
Sum of each row results to 1,
therefore it is a Markov Matrix.
Input :
1 0 0
0 0 2
1 0 0
Output :
no
方法:初始化一个二维数组,然后取另一个一维数组来存储矩阵每一行的和,检查这个一维数组中存储的和是否都等于1,如果是则为马尔可夫矩阵,否则不是。
Python3
# Python 3 code to check Markov Matrix
def checkMarkov(m) :
# Outer loop to access rows
# and inner to access columns
for i in range(0, len(m)) :
# Find sum of current row
sm = 0
for j in range(0, len(m[i])) :
sm = sm + m[i][j]
if (sm != 1) :
return False
return True
# Matrix to check
m = [ [ 0, 0, 1 ],
[ 0.5, 0, 0.5 ],
[ 1, 0, 0 ] ]
# Calls the function check()
if (checkMarkov(m)) :
print(" yes ")
else :
print(" no ")
# This code is contributed by Nikita Tiwari.
输出 :
yes
有关详细信息,请参阅有关马尔可夫矩阵程序的完整文章!