如何在多台机器上计算像PI这样的数字?

Seb*_*itz 0 pi distributed-computing

您会以何种方式尝试使用多台计算机来计算PI等数字,即?

现有的算法或解决方案是否容易实现?你如何拆分工作并让其他机器的结果生效?

小智 5

这是一个简单的方法:

  1. 生成大量随机(x,y)点,其中x和y在0和1之间.
  2. 对于每个点,计算其与原点的笛卡尔距离是否<= 1(即,它是否位于圆上或圆内)
  3. 计算圆内的点数与圆外的数量

那么,Pi可以从内部点到外部点的比率来计算.这需要非常多的点来接近pi,但是如果你有很多机器,你可以让每台计算机生成任意数量的计算机,然后只需将计数返回到某个领导机器,这将收集所有结果和计算最终比率.

此方法可用于计算任意精度的pi ...点数越多,精度越高.它被称为"蒙特卡罗"方法,因为它使用随机性.有关更多信息,请参见http://math.fullerton.edu/mathews/n2003/montecarlopimod.html.

  • 为了真正起作用(例如为了获得良好的pi精度),你还需要有高精度的随机数,而不仅仅是很多. (3认同)