1. 程式人生 > >拋硬幣問題

拋硬幣問題

題目:一個有趣的拋硬幣問題

假設有一個硬幣,丟擲字(背面)和花(正面)的概率都是0.5,而且每次拋硬幣與前次結果無關。現在做一個遊戲,連續地拋這個硬幣,直到連續出現兩次字為止,問平均要拋多少次才能結束遊戲?注意,一旦連續丟擲兩個“字”向上遊戲就結束了,不用繼續拋。

 

解答:設平均要拋T次硬幣才能結束遊戲。

         首先簡述一下拋硬幣的過程。

         1. 丟擲第一枚硬幣,硬幣的狀態決定後續需要丟擲得次數(重要);

         2. 如果硬幣為花,重新開始,也就是需要再次丟擲T次才能結束,注意這裡運用遞迴的思想;

         3. 如果硬幣為字,則需要在投一次硬幣決定後續投出硬幣的次數;如果為字,則不用在投了;如果為                 花,重複第2步。

       以上過程推出等式如下:

       T = 1  +  0.5*T + 0.5(1 + 0.5 * 0 + 0.5*T),解得 T = 6

       下面具體講解:

       1 代表丟擲的第一次,根據它的狀態決定後續丟擲的次數;

       0.5*T 代表第一次丟擲的硬幣為花,為花得概率為0.5,重新開始,那麼後面還需要拋T次,期望次數就是0.5*T;

       0.5 *(1+0.5*0+0.5*T)代表第一次丟擲的硬幣為字,為字的概率也為0.5,此時需要在丟擲一枚硬幣,根據這枚硬幣的狀態決定後續操作的次數,於是就有了括號的部分(1+0.5*0+0.5*T),1 同樣代表丟擲一枚硬幣,如果為字,遊戲結束,不用在拋了,即為0次,概率為0.5,期望次數為0.5*0;如果為花,遊戲重新開始,需要在拋T次,概率為0.5,期望次數為0.5*T。

 

所以最後的等式就為: T = 1  +  0.5*T + 0.5(1 + 0.5 * 0 + 0.5*T)

 

擴充套件參考:http://www.matrix67.com/blog/archives/3638

 

                  http://www.cnblogs.com/atyuwen/archive/2010/09/12/coin.html