单位n维超立方体中两点的平均距离


13

理解单位n维超立方体的一种简单方法是考虑每个坐标分量都位于[0,1]中时可以得到的n维空间区域。因此,对于一维,它是从0到1的线段;对于二维,它是具有角(0,0)和(1,1)等的正方形。

编写一个程序或函数,给定n返回从单位n维超立方体中均匀随机选择的两点的平均欧几里得距离。您的答案必须在实际值的10 -6以内。如果答案对大n来说溢出了语言的本机浮点类型,那是可以的。

随机选择“大量”的点并计算平均值不能保证这种准确性。

例子:

1→0.3333333333 ...
2→0.5214054331 ...
3→0.6617071822 ...
4→0.7776656535 ...
5→0.8785309152 ...
6→0.9689420830 ...
7→1.0515838734 ...
8→1.1281653402 ...

MathWorld获得的数据。

这是,最低字节数获胜。


在编辑中重申了获胜标准。
Magic Octopus Urn'2

只是要清楚一点:距离是指欧几里得距离,是吗?
丹尼斯

3
@carusocomputing如果您想让我为您解决难题,挑战的重点是什么?
orlp

4
@orlp表示反对,这是一个数学难题,直到有人弄清楚数学,然后当每个人都用不同语言复制公式时,它就变成了编程难题。我需要问一个有关此的元问题。
Sparr

1
当您说5位数的精度时,是指在1e-5内,还是当输出应为1.499999999999999时估计1.500000000000001是错误的?
xnor

Answers:


5

Mathematica,68个字节

NIntegrate[(1-((E^-u^2+u*Erf@u√π-1)/u^2)^#)/u^2,{u,0,∞}]/√π&

执行公式使用NIntegrate近似值。

图片


用58秒击败我:(
郑焕敏

您在哪里找到公式?
feersum'2

@feersum这是Hypercube Line Picking中的公式(8)。(10)是一个错字,并且不应具有双整数或du。
英里

如果您实际上将其输入为文本,它将u√π作为一个令牌解析,因此您需要在u和之间留一个空格
feersum '02
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.