莫斯卡罗模拟阿米巴人口增长

2024-10-02 00:22:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了一个脑筋急转弯的问题。我试着去模拟,但是很难得到答案。问题是这样的:有一个变形虫。每一分钟,变形虫要么死亡,要么保持原样,要么以相同的概率分裂成2或3。它的所有后代都会有相同的行为,独立于其他变形虫。变形虫种群死亡的概率是多少?你知道吗

我的python实现:

import numpy as np


def simulate(n):
    prob = np.array([0.25]*4)
    ans = np.random.choice(np.arange(4),1,p=prob)

    if ans == 0:
        n = n - 1
    if ans == 1:
        pass
    if ans == 2:
        n = n * 2
    if ans == 3:
        n = n*3
    return n


count = 0
for i in range(10000):
    nold = 1
    while True:
        nnew = simulate(nold)
        if nnew == 0: #amoeba has died
            count += 1
            break;
        nold = nnew

我得到一个无限循环。有人能帮忙吗?谢谢。答案是41%


Tags: 答案importnumpyifcountnp概率种群

热门问题