讀古今文學網 > 父與子的編程之旅:與小卡特一起學Python > 23.1 什麼是隨機性 >

23.1 什麼是隨機性

在討論如何建立有隨機行為的程序之前,首先應當瞭解「隨機」到底是什麼意思。

以扔硬幣為例。如果把一個硬幣拋向空中,讓它著地,可能正面朝上,也可能背面朝上。一般來說,正面朝上和背面朝上的機會是一樣的。有時你會得到正面,有時則是背面。每次拋的時候,你都無法知道會得到什麼。因為拋一次的結果不能預測,我們稱之為隨機。拋硬幣就是隨機事件的一個例子。

如果拋硬幣的次數很多,可能會發現正面朝上次數和背面朝上次數基本相同。不過這一點永遠也不能保證。如果拋 4 次,可能會得到 2 次正面 2 次背面;但是也可能得到 3 次正面 1 次背面,或者 1 次正面 3 次背面,或者甚至連續 4 次正面(或 4 次背面)。如果拋 100 次,可能得到 50 次正面。但是也可能得到 20、44、67 或者甚至 100 次全都是正面!全都是正面的可能性不大,但是確實有可能發生。

這裡的關鍵是每次事件都是隨機的。儘管大量拋硬幣可能會存在某種規律,但是每一次拋硬幣正面朝上或背面朝上的可能性都是一樣的。換種說法,也就是說硬幣沒有記憶。所以即使你剛剛連續拋出了 99 次正面,你可能認為不太可能連續得到 100 個正面,但下一次拋出仍有 50% 的可能會得到正面。這就是隨機的含義。

隨機事件就是可能有兩個或多個結果的事件,你無法預測會得到哪一個結果。這裡所說的結果可能是一副牌中的紙牌順序,或者是擲骰子時的點數,或者是一個硬幣哪一面朝上。