단위 n 차원 하이퍼 큐브에서 두 점의 평균 거리


13

단위 n 차원 하이퍼 큐브를 이해하는 쉬운 방법은 모든 좌표 성분이 [0, 1]에있을 때 얻을 수있는 n 차원의 공간 영역을 고려하는 것입니다. 따라서 한 차원의 경우 0에서 1까지의 선분이며, 두 개의 차원에서는 모서리 (0, 0) 및 (1, 1) 등이있는 정사각형입니다.

주어진 n 이 단위 n 차원 하이퍼 큐브에서 균일하게 선택된 두 점의 평균 유클리드 거리를 반환 하는 프로그램 또는 함수를 작성하십시오 . 답 실제 값의 10-6 이내 여야합니다 . 대답이 big 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

그냥 명확합니다 : 거리가 네, 유클리드 거리를 의미?
Dennis

3
@carusocomputing 내가 당신을 위해 그것을 해결하기 위해 도전의 요점은 무엇입니까?
orlp

4
@orlp 누군가가 수학을 알아낼 때까지 수학 퍼즐이라는 도전에 내 이의를 등록하면 모든 사람이 다른 언어로 수식을 복사 할 때 프로그래밍 퍼즐이됩니다. 이것에 대한 메타 질문을해야합니다.
Sparr

1
5 자리의 정확도라고 말하면 1e-5 이내를 의미합니까, 아니면 출력이 1.499999999999999 여야하는 경우 1.500000000000001의 추정값이 잘못 되었습니까?
xnor

답변:


5

Mathematica, 68 바이트

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

NIntegrate값을 근사하기 위해 공식을 구현 합니다.

영상


58 초 저를 이길 :(
JungHwan Min

공식은 어디에서 찾았습니까?
feersum

@feersum Hypercube Line Picking 의 공식 (8)입니다 . (10)은 오타이며 이중 적분 또는 du를 가져서는 안됩니다.
마일

실제로 이것을 텍스트로 입력하면 u√π하나의 토큰으로 구문 분석 되므로 u및 사이에 공백이 필요합니다 .
feersum
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.