random 模塊中的常用函數(shù)
利用 itertools 得到排列、組合
combinations(sequence, k))
從序列 sequence 中得到包含 k 個元素的所有組合。
羊車門問題
有一個抽獎節(jié)目,臺上有三扇關閉的門,一扇門后面停著汽車,其余門后都是山羊,只有主持人知道每扇門后面是什么。參賽者可以選擇一扇門,在開啟它之前,主持人會開啟另外一扇門,露出門后的山羊,然后允許參賽者更換自己的選擇。問題是:參賽者更換選擇后能否增加贏得汽車的機會?
有很多時候,我們并不知道自己的理論分析正確與否,但如果知道概率論中的 大數(shù)定律,又碰巧懂一點編程,無疑可以利用計算機重復模擬事件以求解問題。該問題的 Python 3.x 解答程序如下:
def once(doors = 3): # 一次事件的模擬
car = randrange(doors) # 一扇門后面停著汽車
man = randrange(doors) # 參賽者預先選擇一扇門
return car == man # 參賽者是否最初就選擇到車
h = 0 # 堅持選擇贏得汽車的次數(shù)
c = 0 # 改變選擇贏得汽車的次數(shù)
times = int(1e6) # 重復實驗的次數(shù)
for i in range(times):
if once(): h += 1
else: c += 1
print("維持選擇:",h/times*100,"%/n改變選擇:",c/times*100,"%")
運行結(jié)果:
維持選擇: 33.268 %
改變選擇: 66.732 %
撲克牌問題
概率論給我們帶來了很多匪夷所思的反常結(jié)果,條件概率尤其如此。譬如:
四個人打撲克,其中一個人說,我手上有一個 A。請問他手上有不止一個 A 的概率是多少?
四個人打撲克,其中一個人說,我手上有一個黑桃 A。請問他手上有不止一個 A 的概率又是多少?
cards = [i for i in range(52)]
counter = [0, 0, 0, 0]
def once(): # 0 表示黑桃 A
global cards
ace = set(sample(cards, 13)) & {0,1,2,3}
return len(ace), 0 in ace
for i in range(int(1e6)):
a, s = once() # a 表示 A 的個數(shù), s 表示是否有黑桃 A
if a:
counter[1] += 1
if s: counter[3] += 1
if a > 1:
counter[0] += 1
if s: counter[2] += 1
print('情況一:', counter[0]/counter[1], '/n情況二:', counter[2]/counter[3])
運行結(jié)果:
情況一: 0.3694922900321386
情況二: 0.5613778028656186
有趣的事情出來了:如果這個人宣布了手中 A 的花色,他手中持有多個 A 的概率竟然會大大增加。可這又該如何理解呢?
一個家庭中有兩個小孩,已知其中一個是女孩,求另一個小孩也是女孩的概率
網(wǎng)絡上每一次有人發(fā)帖提出與條件概率有關的悖論時,總會引來無數(shù)人的圍觀和爭論,哪怕這些問題的實質(zhì)都是相同的。本題目無疑是爭論的最多的問題之一。
說起來網(wǎng)上的分析都像模像樣,一些原本都迷糊的人被人講的暈頭轉(zhuǎn)向,一會覺得這個對,一會又覺得那個對。現(xiàn)在我不給你分析那些道理,就用計算機來模擬問題,讓你直接得到結(jié)論,而毋須明白個中緣由。
family = (lambda n :[{randrange(2),randrange(2)} for i in range(n)])(int(1e6))
both = family.count({0}) # 都是女孩的家庭數(shù)
exist = len(family) - family.count({1}) # 有女孩的家庭數(shù)
print(both/exist)
生日悖論
每個人都有生日,偶爾會遇到與自己同一天過生日的人,但在生活中這種緣分似乎并不常有。我們猜猜看:在 50 個人當中出現(xiàn)這種緣分的概率有多大,是 10%、20% 還是 50%?
counter, times = 0, int(1e6)
for i in range(times):
if len({randrange(365) for i in range(50)}) != 50: # 存在同一天生日的人
counter += 1
print('在 50 個人中有相同生日的概率為:',counter/times)
新聞熱點
疑難解答
圖片精選