两道概率题求解(半原创)

来源:互联网 发布:爱国者淘宝店没了? 编辑:程序博客网 时间:2024/05/22 11:25

问题:任意投n个点在圆周上,问它们同时落在一个半圆上的概率是多少?

 

解: O表圆心,从投下的n个点中,任取一个点作起点,顺时针方向进行编号为P1P2. . .  P n ,过P1P2 . . . P nn条半径,用X1X2. . . X n表相应的圆心角的值。易知有X1X2. . . X n > 0 且:  X1 + X2 + . . . + X n = 1   #)  式中的1表示360 o 。从(#)易知:P1P2. . . Pn 同在一个半圆上, 当且仅当(#)式中 有一个Xi> 1/2i = 1 2. . .n )。先考虑X1 > 1/2 的概率,为此过P1作直径P1OP,易知此时P2P3. . . Pn都落在顺时针方向的半圆弧PP1上,显然,此事件的概率是1/2n-1;再考虑X2 > 1/2的概率, P2作直径P2OP,易知,此时P3P4. . . Pn P1都落在顺时针方向的半圆弧POP2上,同样,此事件的概率也是1/2n-1 . . . ;最后,考虑n > 1/2的概率,过Pn作直径PnOP,易知,此时P1P2. . .Pn-1都落在顺时针方向的半圆弧POPn上,此事件的概率也是1/2n-1。注意到以上n个事件互不相容,(因不同的Xi Xj > 1/2,导致Xi = Xj = 1/2 ,且其它Xk = 0 ,这是0概率事件,可不考虑)。又注意到以上论证所得结论,与最先取哪一个点为P1无关。所以,n个点落在同一半圆上的总概率是n/2n-1 。(利用概率的可加性)


附R的概率模拟程序:(考虑四点的情况)

result<-rep(0,10000)for(q in 1:10000){i<-0for(p in 1:1000){a<-runif(4,max=2)r<-range(a)[2]-range(a)[1]if(r<1)i<-i+1}print(i/1000)result[q]<-i/1000}mean(result)


问题:求球面上n个均匀随机分布的点落在同一半球的概率。

解:因为是均匀分布,所以取到每个点的概率密度与取到其对径点的概率密度是一样的。每个点都有一个对径点,这样便有n对点。在每对点中各取一点,共有2^n中取法,每种取法的概率密度是相同的。现在只要计算这2^n 种取法中,有多少种取法[记为F(n)]是落在同一半球上的,则所求概率为F(n)/2^n 。

上面有个假设,即认为F(n)的值只与n有关,而跟n个点的具体位置无关。这个是可以证明的(忽略两点重合,三点共大圆的零概率情况)。而且,还可以证明,F(n)等于球面上n个大圆(任意两个大圆不重合,任意三个大圆不共点)把球面分割成小片的片数。这个数目等于
n^2 - n + 2。于是所求概率等于 (n^2-n+2) /2^n 。

原创粉丝点击