由布丰投针问题拓展

2024-05-06 11:01

1. 由布丰投针问题拓展

请看以下:
在同一平面内不相交的两条直线叫做平行线,也可以说这两条直线互相平行。如果两条直线相交成直角(90°),就说这两条直线互相垂直,其中的一条直线叫做另一条直线的垂线,这两条直线的交点叫做垂足。

由布丰投针问题拓展

2. 关于布丰投针实验

圆圈和直线的长度同为πd,理论上机会是均等,没什么原因(实验中推得的)
第二个好解释,线越长越有可能相交。

补:但直线是没有面积的,应该是一次函数。

3. 布丰投针问题中的全概率

这个问题不错,呵呵,算是经过思考的?

每次针落下的时候的位置的是一个样本点,可以用一个角度和一个长度来描述,可以看做一个二维平面的极坐标系。样本空间就是所有样本店可能取值的集合的并集,就是你说的那个a/2 * [0,Pi] 的二维空间的一个子集。

布丰在做试验时的目的是为了计算Pi值, 所以他设计了这个试验,这个是最早的蒙特卡洛模拟方法,很了不起的思想。用概率计算Pi值,当无限重复时候可以无限逼近Pi的真值,不是很了不起的方法么?

布丰投针问题中的全概率

4. 布丰投针实验

布丰(Comte de Buffon)设计出他的著名的投针问题(needle problem)。依靠它,可以用概率方法得到π的近似值。假定在水平面上画上许多距离为a的平行线,并且,假定把一根长为l<a的同质均匀的针随意地掷在此平面上。布丰证明:该针与此平面上的平行线之一相交的概率为:p=2l/(api) 把这一试验重复进行多次,并记下成功的次数,从而得到P的一个经验值,然后用上述公式计算出π的近似值,用这种方法得到的最好结果是意大利人拉泽里尼(Lazzerini)于1901年给出的。他只掷了3408次针,就得到了准确到6位小数的π的值。他的试验结果比其他试验者得到的结果准确多了,甚至准确到使人们对它有点怀疑。还有别的计算π的概率方法。例如,1904年,查尔特勒斯(R·Chartres)就写出了应用下列实例的报告:如果写下任意两个整数测它们互素的概率为6/π2。 

下面就是一个简单而巧妙的证明。找一根铁丝弯成一个圆圈,使其直径恰恰等于平行线间的距离d。可以想象得到,对于这样的圆圈来说,不管怎么扔下,都将和平行线有两个交点。因此,如果圆圈扔下的次数为n次,那么相交的交点总数必为2n。 现在设想把圆圈拉直,变成一条长为πd的铁丝。显然,这样的铁丝扔下时与平行线相交的情形要比圆圈复杂些,可能有4个交点,3个交点,2个交点,1个交点,甚至于都不相交。 由于圆圈和直线的长度同为πd,根据机会均等的原理,当它们投掷次数较多,且相等时,两者与平行线组交点的总数可望也是一样的。这就是说,当长为πd的铁丝扔下n次时,与平行线相交的交点总数应大致为2n。现在转而讨论铁丝长为l的情形。当投掷次数n增大的时候,这种铁丝跟平行线相交的交点总数m应当与长度l成正比,因而有:m=kl,式中k是比例系数。为了求出k来,只需注意到,对于l=πk的特殊情形,有m=2n。于是求得k=(2n)/(πd)。代入前式就有:m≈(2ln)/(πd)从而π≈(2ln)/(dm)

5. 布丰投针问题中的概率怎么表示

P=m/n 这是概率计算公式,m是这个随机事件发生的次数,也就是铁丝与平行线所相交的交点总数,n是试验的总次数。

布丰投针问题中的概率怎么表示

6. 蒲丰投针问题的投针问题

1777年法国科学家布丰提出的一种计算圆周率的方法——随机投针法,即著名的布丰投针问题。 这一方法的步骤是:1) 取一张白纸,在上面画上许多条间距为a的平行线。2) 取一根长度为l(l=a/2) 的针,随机地向画有平行直线的纸上掷n次,观察针与直线相交的次数,记为m3)计算针与直线相交的概率.18世纪,法国数学家布丰和勒可莱尔提出的“投针问题”,记载于布丰1777年出版的著作中:“在平面上画有一组间距为a的平行线,将一根长度为l(l=a/2)的针任意掷在这个平面上,求此针与平行线中任一条相交的概率。”布丰本人证明了,这个概率是:p=2l/(πa)π为圆周率利用这个公式可以用概率的方法得到圆周率的近似值。下面是一些资料  试验者  时间  投掷次数  相交次数  圆周率估计值  Wolf  1850年  5000  2532  3.1596  Smith  1855年  3204  1218.5  3.1554  C.De Morgan  1860年600  382.5  3.137  Fox  1884年  1030  489  3.1595  Lazzerini  1901年  3408  1808  3.1415929  Reina  1925年  2520  859  3.1795  布丰投针实验是第一个用几何形式表达概率问题的例子,他首次使用随机实验处理确定性数学问题,为概率论的发展起到一定的推动作用。像投针实验一样,用通过概率实验所求的概率来估计我们感兴趣的一个量,这样的方法称为蒙特卡罗方法(Monte Carlo method)。蒙特卡罗方法是在第二次世界大战期间随着计算机的诞生而兴起和发展起来的。这种方法在应用物理、原子能、固体物理、化学、生态学、社会学以及经济行为等领域中得到广泛利用。法国数学家布丰(1707-1788)最早设计了投针试验。并于1777年给出了针与平行线相交的概率的计算公式P=2L/πa(其中L是针的长度,a是平行线间的距离,π是圆周率)。由于它与π有关,于是人们想到利用投针试验来估计圆周率的值。 此外,随便说出3个正数,以这3个正数为边长可以围成一个钝角三角形的概率P也与π有关,这个概率为 (π-2)/4,证明如下:设这三个正数为x,y,z,不妨设x≤y≤z,对于每一个确定的z,则必须满足x+y>z,x²+y²;﹤z²;,容易证明这两个式子即为以这3个正数为边长可以围成一个钝角三角形的充要条件,用线性规划可知满足题设的可行域为直线x+y=z与圆x²+y²=z²;围成的弓形,总的可行域为一个边长为z的正方形,则可以围成一个钝角三角形的概率P=S弓形/S正方形=(πz²/4-z²/2)/z²=(π-2)/4.因为对于每一个z,这个概率都为(π-2)/4,因此对于任意的正数x,y,z,有P=(π-2)/4,命题得证。为了估算π的值,我们需要通过实验来估计它的概率,这一过程可交由计算机编程来实现,事实上x+y>z,x²+y²;﹤z²;等价于(x+y-z)(x²+y²-z²;)﹤0,因此只需检验这一个式子是否成立即可。若进行了m次随机试验,有n次满足该式,当m足够大时,n/m趋近于(π-2)/4,令n/m=(π-2)/4,解得π=4n/m+2,即可估计出π值。值得注意的是这里采用的方法:设计一个适当的试验,它的概率与我们感兴趣的一个量(如π)有关,然后利用试验结果来估计这个量,随着计算机等现代技术的发展,这一方法已经发展为具有广泛应用性的蒙特卡罗方法。 计算π的最为稀奇的方法之一,要数18世纪法国的博物学家C·布丰和他的投针实验:在一个平面上,用尺画一组相距为d的平行线;一根长度小于d的针,扔到画了线的平面上;如果针与线相交,则该次扔出被认为是有利的,否则则是不利的.布丰惊奇地发现:有利的扔出与不利的扔出两者次数的比,是一个包含π的表示式.如果针的长度等于d,那么有利扔出的概率为2/π.扔的次数越多,由此能求出越为精确的π的值.公元1901年,意大利数学家拉兹瑞尼作了3408次投针,给出π的值为3.1415929——准确到小数后6位.不过,不管拉兹瑞尼是否实际上投过针,他的实验还是受到了美国犹他州奥格登的国立韦伯大学的L·巴杰的质疑.通过几何、微积分、概率等广泛的范围和渠道发现π,这是着实令人惊讶的!

7. 布丰投针算法如何用C++实现

给,已经编译运行确认:
#include
#include   
#include   
#include
using namespace std;
 int   main()   
  {   
  long   i,in,N=1000000;   
  double   x,y,pi;   
  srand(time(NULL));   
    
  for(i=0,in=0;i<N;i++)   
  {   
        x=2.0*rand()/RAND_MAX-1;   
        y=2.0*rand()/RAND_MAX-1;   
        if((x*x+y*y)<=1)   
              in++;   
  }   
  pi=4.0*in/N;   
  cout<<pi<<endl; 
  
  getch();
  return 1;
  }

运行结果为:3.14

在给你一个我收藏的链接吧,讲的挺好的:)
http://www.gxtvu.com.cn/eduwest/web_courseware/maths/0092/8/8-2.htm

布丰投针算法如何用C++实现

8. 蒲丰投针问题的蒙特卡洛方法

在用传统方法难以解决的问题中,有很大一部分可以用概率模型进行描述.由于这类模型含有不确定的随机因素,分析起来通常比确定性的模型困难.有的模型难以作定量分析,得不到解析的结果,或者是虽有解析结果,但计算代价太大以至不能使用.在这种情况下,可以考虑采用 Monte Carlo 方法。下面通过例子简单介绍 Monte Carlo 方法的基本思想.Monte Carlo方法是计算机模拟的基础,它的名字来源于世界著名的赌城——摩纳哥的蒙特卡洛, 其历史起源于 1777 年法国科学家蒲丰提出的一种计算圆周π 的方法——随机投针法,即著名的蒲丰投针问题。Monte Carlo方法的基本思想是首先建立一个概率模型,使所求问题的解正好是该模型的参数或其他有关的特征量. 然后通过模拟一统计试验, 即多次随机抽样试验 (确定 m和 n) ,统计出某事件发生的百分比.只要试验次数很大,该百分比便近似于事件发生的概率.这实际上就是概率的统计定义.利用建立的概率模型,求出要估计的参数.蒙特卡洛方法属于试验数学的一个分支.MATLAB语言编程实现:l=1;n=1000;d=2;m=0;for k=l:nx=unifrnd(0,d/2);p=unifrnd(0,pi);if x#include  #include  #include  using namespace std;  int main()  {  longi,in,N=1000000;  doublex,y,pi;  srand(time(NULL));  for(i=0,in=0;i<N;i++)  {  x=2.0*rand()/RAND_MAX-1;  y=2.0*rand()/RAND_MAX-1;  if((x*x+y*y)<=1)  in++;  }  pi=4.0*in/N;  cout<<pi<<endl;  getch();  return 1;  }蒙特卡洛方法适用范围很广泛,它既能求解确定性的问题,也能求解随机性的问题以及 科学研究中的理论问题.例如利用蒙特卡洛方法可以近似地计算定积分,即产生数值积分问 题.任意曲边梯形面积的近似计水塘的面积.应该怎样做呢?测量方法如下:假定水塘位于一块面积已知的矩形农田之中.如图 8.2 所示.随机地向这块农田扔石头使得 它们都落在农田内.被扔到农田中的石头可能溅上了水,也可能没有溅上水,估计被“溅上水的”石头量占总的石头量的百分比.试想如何利用这估计的百分比去近似计算该水塘面积?