数学中国

标题: 在圆周上任取三点 A,B,C ,求 A,B,C 三点落在同一半圆周内的概率 [打印本页]

作者: luyuanhong    时间: 2014-10-21 21:16
标题: 在圆周上任取三点 A,B,C ,求 A,B,C 三点落在同一半圆周内的概率
这是台湾网友 YAG 发表在“陆老师的《数学中国》园地”的一个帖子,

欢迎大家一起来想想如何解答:

在半徑為1的圓周上任取三點ABC, 求 ABC三點可落在同一半圓周內的機率?


作者: luyuanhong    时间: 2014-10-21 23:36
[attach]32224[/attach]

[attach]32225[/attach]
作者: 水无月    时间: 2016-6-6 19:39
P=【(2π-x)在(0,π)积分】/π=0.75
作者: 水无月    时间: 2016-6-6 19:40
水无月 发表于 2016-6-6 19:39
P=【(2π-x)在(0,π)积分】/π=0.75

“π”是pai
作者: dodonaomiki    时间: 2016-6-6 22:47
本帖最后由 dodonaomiki 于 2016-6-6 15:40 编辑

从上面两位老师的解答来看,
我的思路和方向,肯定出错啦!因为,我的计算结果,不是3/4


但,我检查了好几遍,
始终发现不辽自己的错误!
一直觉得,
是7/16,
哪位大侠,可以指出一下我的错误?谢谢~~~
作者: luyuanhong    时间: 2016-6-7 06:57
dodonaomiki 发表于 2016-6-6 22:47
从上面两位老师的解答来看,
我的思路和方向,肯定出错啦!因为,我的计算结果,不是3/4

举个简单的例子:

设 A 在区域 1 中 11 点钟的位置,B 在区域 2 中 1 点钟的位置,C 在区域 4 中 4 点钟的位置。

这时,A,B,C 显然在同一半圆周内,但是按照楼上的做法,却没有把这种情况计算进去。

作者: dodonaomiki    时间: 2016-6-7 11:58
:Dlaoshi
老师,我知道我错在哪里啦~~~实际上就是,我没有细化
进一步的说,我的思路和方法,是行不通的!



另外,原来老师的方法,是极其简单的、;P简洁的,很好的,现在,也看懂啦!
作者: 王守恩    时间: 2016-10-10 08:38
标题: q
本帖最后由 王守恩 于 2016-10-15 14:28 编辑

在半径为R的圆周上任取两点,则两点落在同一半圆周内的概率是1/2;
在半径为R的圆周上任取三点,则三点落在同一半圆周内的概率是3/4=1/2+1/4;
在半径为R的圆周上任取四点,则四点落在同一半圆周内的概率是7/8=1/2+1/4+1/8;
在半径为R的圆周上任取五点,则五点落在同一半圆周内的概率是15/16=1/2+1/4+1/8+1/16;
。。。。。。
各位网友,我的想法不太成熟,希望大家批评。



求概率的题目,答案不可能是1。
作者: 王守恩    时间: 2016-10-15 06:27
王守恩 发表于 2016-10-10 08:38
在半径为R的圆周上任取两点,则两点落在同一半圆周内的概率是1/2;
在半径为R的圆周上任取三点,则三点落 ...

我用的是加法原理。
一件工作,
第1个人完成全部的1/2,
第2个人完成剩下的1/2,
第3个人完成再剩下的1/2,
第4个人完成再再剩下的1/2,
作者: 天山草    时间: 2016-10-17 09:13
本帖最后由 天山草 于 2016-10-17 10:06 编辑

我用 VB 语言编写了一个小程序,用产生随机数的方法模拟每次的试验,试验次数累计到 1 亿次,求得概率为 0.74999832(理论概率是0.75)。
程序如下:   
         
     Private Sub form_Click()         
     Randomize     '启动随机数发生器
     n = 0
     For i = 1 To 1000000   ' 试验次数
      b1 = 360 * Rnd  '产生三个 1 至 360 之间的随机数
      b2 = 360 * Rnd
      b3 = 360 * Rnd     
     If b1 <= b2 And b1 <= b3 And b2 <= b3 Then a1 = b2 - b1: a2 = b2 - b3
     If b1 <= b3 And b1 <= b2 And b3 <= b2 Then a1 = b3 - b1: a2 = b3 - b2
     If b2 <= b1 And b2 <= b3 And b1 <= b3 Then a1 = b1 - b2: a2 = b1 - b3
     If b2 <= b3 And b2 <= b1 And b3 <= b1 Then a1 = b3 - b2: a2 = b3 - b1
     If b3 <= b1 And b3 <= b2 And b1 <= b2 Then a1 = b1 - b3: a2 = b1 - b2
     If b3 <= b2 And b3 <= b1 And b2 <= b1 Then a1 = b2 - b3: a2 = b2 - b1
     
     If a1 <= 180 And -a2 <= 180 And a1 + (-a2) <= 180 Then n = n + 1  '三个点同在半圆内的情况一      
     If a1 >= 180 And -a2 >= 180 And (360 - a1) + (360 + a2) <= 180 Then n = n + 1 '三个点同在半圆内的情况二      
     If a1 >= 180 And -a2 <= 180 Then n = n + 1    '三个点同在半圆内的情况三      
     If a1 <= 180 And -a2 >= 180 Then n = n + 1    '三个点同在半圆内的情况四     
    Next i
    Print "s="; n / (i - 1)      
End Sub

    说明一下编程思路——
    假定这圆周内部是一个圆盘,游戏者每次往盘上投掷三枚飞镖。
    从圆盘中心向这三枚飞镖引三条射线,与圆周交于三点。这三点位于同一半圆圆周上的概率即为所求。
    每试验一次,程序就产生三个 1 至 360 的随机数 b1,b2,b3,代表三枚飞镖的角度,将这三个角度同步旋转,使中间值角度到达 0 度位置,此时最大角度算是正角度,最小角度算是负角度。程序中将正角度记为 a1,负角度记为 a2,那个中间值角度 a0=0 不必要在程序中出现。   
    每试验一次,就把三枚飞镖是否落在同一半圆内的次数进行统计,最后算算总账,即得概率。
    编程难点是,如何考虑 a0,a1,a2 是位于同一半圆内? 如果对各种情况漏掉或多算,就出错了。我考虑的四种情况是:
    (1)如果 a1,a2 都在第一、第二象限中,则 a0,a1,a2 位于同一半圆内;
    (2)如果 a1,a2 都在第三、第四象限中,则 a0,a1,a2 位于同一半圆内;
    (3)如果 a1 在一、二象限中,而 a2 在三、四象限中,就要计算 a1a0a2 圆弧是否小于半圆,是,则 a0,a1,a2 位于同一半圆内;
    (4)如果 a2 在一、二象限中,而 a1 在三、四象限中,就要计算 a1a0a2 圆弧是否小于半圆,是,则 a0,a1,a2 位于同一半圆内。

作者: luyuanhong    时间: 2016-10-17 11:08
谢谢楼上 天山草 的编程解答。我已将此帖转贴到“陆老师的《数学中国》园地”。

作者: 王江    时间: 2018-7-31 14:15
luyuanhong 发表于 2014-10-21 23:36


作者: 王江    时间: 2018-7-31 14:16
天山草 发表于 2016-10-17 09:13
我用 VB 语言编写了一个小程序,用产生随机数的方法模拟每次的试验,试验次数累计到 1 亿次,求得概率为 0. ...


作者: 王江    时间: 2018-7-31 14:18

作者: EMROF    时间: 2018-8-12 20:52
bilibili av17275211
3b1b的中国官方账号。这个视频讲了一个球面任取四点,球心落于其形成的四面体的概率,弱化形式为一个圆任取三点,圆心落于其中的概率。而不包含圆心与本题落在同一半圆等价。
作者: markfang2050    时间: 2019-3-1 18:13
在半径为1cm的圆周上任取24点,则24个点落在同一3/7圆周内的概率是多少?
作者: markfang2050    时间: 2019-3-1 18:18
本帖最后由 markfang2050 于 2019-5-3 13:31 编辑

python3.6求随机5点共半圆的概率.10000次实验随机5点共半圆的概率是:5/16=0.310700


#编程难点:如何考虑 a1,a2,a3 ,a4,a5是位于同一半圆内?考虑的5种情况:
    #(1)如果 a1a2 弧长与a2a3 ,a3a4,a4a5弧长之和小于半圆弧长,则a1,a2,a3 ,a4,a5 位于同一半圆内;
    #(2)如果 a1a2 弧长与a2a3 ,a3a4,a4a5弧长之和大于半圆弧长且a1a2 弧长大于半圆弧长,则a1,a2,a3 ,a4,a5 位于同一半圆内;
    #(3)如果 a1a2 弧长与a2a3 ,a3a4,a4a5弧长之和大于半圆弧长且a1a2 弧长小于半圆弧长,a2a3大于半圆弧长,则a1,a2,a3 ,a4,a5 位于同一半圆内;
    #(4)如果 a1a2 弧长与a2a3 ,a3a4,a4a5弧长之和大于半圆弧长且a1a2 ,a2a3弧长小于半圆弧长,a3a4大于半圆弧长,则a1,a2,a3 ,a4,a5 位于同一半圆内;
    #(5)如果 a1a2 弧长与a2a3 ,a3a4,a4a5弧长之和大于半圆弧长且a1a2 ,a2a3,a3a4弧长小于半圆弧长,a4a5大于半圆弧长,则a1,a2,a3 ,a4,a5 位于同一半圆内;


作者: markfang2050    时间: 2019-3-1 18:19
10000次实验随机4点共半圆的概率是:0.499400
作者: markfang2050    时间: 2019-3-1 18:19
#10000次实验随机3点共半圆的概率是:0.754900
作者: markfang2050    时间: 2019-3-1 18:24
王守恩 发表于 2016-10-10 08:38
在半径为R的圆周上任取两点,则两点落在同一半圆周内的概率是1/2;
在半径为R的圆周上任取三点,则三点落 ...

#10000次实验随机5点共半圆的概率是:5/16=0.310700
作者: markfang2050    时间: 2019-3-1 19:03
王守恩 发表于 2016-10-10 08:38
在半径为R的圆周上任取两点,则两点落在同一半圆周内的概率是1/2;
在半径为R的圆周上任取三点,则三点落 ...

n*(1/2)^(n-1);n为随机点数。n大于等于3.
作者: markfang2050    时间: 2019-3-1 19:11
王守恩 发表于 2016-10-10 08:38
在半径为R的圆周上任取两点,则两点落在同一半圆周内的概率是1/2;
在半径为R的圆周上任取三点,则三点落 ...

1在半径为R的圆周上任取两点,则两点落在同一半圆周内的概率是1;
2在半径为R的圆周上任取三点,则三点落在同一半圆周内的概率是3/4=1/2+1/4;  
3在半径为R的圆周上任取四点,则四点落在同一半圆周内的概率是:0.499400=1/2
4在半径为R的圆周上任取五点,则五点落在同一半圆周内的概率是:5/16
5在半径为R的圆周上任取6点,则五点落在同一半圆周内的概率是:6*(1/2)^(6-1)=3/16



在半径为R的圆周上任取n点,则五点落在同一半圆周内的概率是n*(1/2)^(n-1);n为随机点数,1/2为圆周比例


作者: bieopi    时间: 2020-12-15 17:05
人类的思维缺失让我心痛香菇。如果有人说连个点在同半圆概率是1/2,其思维无法真正弥补,智者说1属于有点天赋的鉴赏专家,估计也只是标准答案。但别忘了后者只是将通过圆心的直径旋转相应的角度,其取直径的范围已经受到DNA的限制。而寡人意识到只有全面的旋转才能算出极好的结果,看起来不至于如此糟糕。

如果您有一个疑问,那将是什么?
作者: 陳全億    时间: 2021-2-28 19:58
本帖最后由 陳全億 于 2021-2-28 22:15 编辑

我對於本題目的理解為:再圓周上任取三點,可以找出一條過圓心的直線,使得三個點在直線同一側的機率為何?
若是如此,則計算很簡單:
先任意點一點A,之後再任意找一點B點,令兩者距離(此距離為在圓周上移動的最小距離)為N,若第三點C位於A,B正對面距離為N的範圍,則無法找出一條過圓心的直線,使得三個點在直線同一側,而C點出現於圓周上的任一點機率相同,故可以找出一條過圓心的直線,使得三個點在直線同一側的機率為1-N/(2*pi),而A,B距離從0到pi(不包含0和pi)每個數字的出線機率相等,而A,B距離為0和pi的機率則為其他的一半,而A,B距離為N和A,B距離為pi-N兩者機率相加為2/3,平均為3/4,又每一個N又有相對應之pi-N,總機率為3/4。
作者: 玉树临风    时间: 2021-10-27 20:54
本帖最后由 玉树临风 于 2021-10-28 13:37 编辑

可以用一个圆请一百个人在上面取点,将数据汇总检验。

概率不受圆弧影响,可以看做直线,概率的变化率不变的情况下可以取平均值。

(π-x)/(π+x),在区间(0,π)的平均值怎么求?
作者: 玉树临风    时间: 2021-10-27 21:11
编程验证概率是不够准确的,计算机摸拟的概率受硬件影响大
作者: 玉树临风    时间: 2021-10-27 22:36
天山草 发表于 2016-10-17 09:13
我用 VB 语言编写了一个小程序,用产生随机数的方法模拟每次的试验,试验次数累计到 1 亿次,求得概率为 0. ...

计算机的随机事件模拟受硬件的影响,会有微小的趋势,而且这一趋势会随着取样的增加而更加明显,所以编程计算随机概率不宜使用过大的样本,取样越大,误差越大
作者: sandii    时间: 2022-4-21 18:25
水无月 发表于 2016-6-6 19:39
**** 作者被禁止或删除 内容自动屏蔽 ****

错了吧




欢迎光临 数学中国 (http://www.mathchina.com/bbs/) Powered by Discuz! X3.4