我正試圖計算200次硬幣翻轉中使用python的最長連續首長連線的預期值。我想出了一個代碼,我認爲這個代碼是正確的,但由於計算和數據存儲量的需要,效率並不高,我想知道是否有人能夠幫助我解決這個問題,使其更快,更高效(我在上一學期只學習了一門Python課程,而沒有任何關於此主題的知識)。200次翻轉的最長預期連線
我的代碼是
import numpy as np
from itertools import permutations
counter = 0
sett = 0
rle = []
matrix = np.zeros(200)
for i in range (0,200):
matrix[i] = 1
for j in permutations(matrix):
for k in j:
if k == 1:
counter += 1
else:
if counter > sett:
sett == counter
counter == 0
rle.append(sett)
發現RLE後,我迭代它得到其長度有多少條紋也有,他們的總和除以2^200分會給我的預期值I正在尋找。
在此先感謝您的幫助,非常感謝!
你有200! (幾乎8e374)排列每個矩陣,所以你的整個生活將不足以嘗試所有。你最好嘗試一種完全不同的方法! –
最長連勝的期望值是指最可能連續得到的頭數? – frederick99
我仍然沒有看到我的答案中出現了什麼問題,但我會閱讀它。現在我已經刪除了我的答案。 – frederick99