【问题标题】:Python simulation tree probabilityPython模拟树概率
【发布时间】:2020-12-12 02:16:05
【问题描述】:

我必须编写一个模拟函数来运行游戏 100,000 次,并使用之前扩展的 play_pig 函数。查看以绘制 5 美元钞票结束的模拟百分比。

在一年一度的集市上,有一个使用猪形状的存钱罐的游戏。在存钱罐#1 中有一张 5 美元的钞票和三张 1 美元的钞票。在储钱罐#2 中,有一张 5 美元的钞票和一张 1 美元的钞票。播放 游戏中,你必须从#1 的存钱罐中取出一张钞票,然后将其放入#2 的存钱罐中。将#2 存钱罐的内容混合后,你可以取出其中一张钞票。从 2 号存钱罐中获得 5 美元钞票的几率是多少?

class Expr:
  pass

class Times(Expr) :
  def __int__(self,l,r) :
    slf.l = l
    self.r= r
  def _str_(self) :
    return "(" + str(self.l) + "*" + str(self.r) + ")"
  def eval(self,env) :
    retunr slef.l.eval(env)*self.r.eval(env)

class Plus(Expr) :
  def __int__(self,l,r) :
    slf.l = l
    self.r= r
  def __str_(self) : 
    return "(" + str(self.l) + "*" + str(self.r) + ")"
  
  def eval(self,env) :
    retunr slef.l.eval(env)*self.r.eval(env)


Class Const(expr) :
def __int__(self,val) :
  self.val = val

  def __str__(self) :
    return_str(self, val)

def eval(self,env) :

Class var (expr) :
pass

print(e1)
(3*(x,y))

我只是想不出使用 python 的正确方法。

【问题讨论】:

  • 欢迎来到 SO!请收下tour 并阅读How do I ask and answer homework questions? 这个问题太宽泛了。
  • 我希望这是一个家庭作业,这是出于我个人的好奇心,我试图在使用 python 解决我的数学问题时,

标签: python simulation


【解决方案1】:

解析解

B1 = 从存钱罐 1 中取出的钞票
B2 = 从存钱罐 2 中取出的钞票
P(B2 = 5) 是从储钱罐 2 中取出 5 的概率

B1值的条件:

P(B2 = 5|B1 = 1) = 1/3
P(B2 = 5|B1 = 5) = 2/3

求解无条件概率:

P(B2 = 5) = P(B2 = 5|B1 = 1) * P(B1 = 1) + P(B2 = 5|B1 = 5) * P(B1 = 5)
P(B2 = 5) = (1/3) * (1/4) + (2/3) * (3/4) = 58.333%

从概念上讲,您可以将其视为概率树。当你分析地解决这个问题时,那真的很有帮助。但是,当您编写这样的代码时,除非您尝试编写分析性地解决问题的代码,否则它真的不是您想要做的。而不是编写代码来复制数学,您需要编写复制情况的代码。然后,您将这种情况运行 N 次并观察概率。

import random
import collections

piggy_bank_a = [5, 1, 1, 1]
piggy_bank_b = [5, 1]
outcomes = []
for experiment in range(100_000):
  bill_a = random.choice(piggy_bank_a)
  outcomes.append(random.choice(piggy_bank_b + [bill_a]))
totals = collections.Counter(outcomes)

对我来说总计看起来像这样:

Counter({1: 58273, 5: 41727})

【讨论】:

  • 您在解释数学观点和编码之间的差异,这真的帮助全面而清晰!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-10
  • 1970-01-01
  • 2012-11-11
  • 2021-11-18
  • 2013-11-10
  • 2021-11-20
相关资源
最近更新 更多