Loading [MathJax]/jax/output/CommonHTML/jax.js

randomline.nb
0.01MB

한 변의 길이가 1인 정사각형 내부의 임의의 두 점을 뽑았을 때 길이를 측정할 때 평균적으로 얼마나 될 것으로 예측할 수 있을까? 문제를 해결하기 위해서는 우선 주어진 길이가 특정한 값을 가질 확률밀도함수를 구해야 한다. x 좌표와 y 좌표가 독립적이므로 우선 1차원인 경우를 구한 후 해결하면 된다. 그리고 거리가 연속적이므로 주어진 거리 (a) 이하일 확률 P1(a)을 구한 후 그것의 미분을 구하면 (p1(a)da=dP1) 주어진 거리에 대한 확률밀도함수를 얻을 수 있다. 두 위치 x1,x2가 선택될 때 거리는 |x1x2|이고, |x1x2|a일 확률은 x1,x2을 좌표축으로 하는 평면의 정사각형 영역에서 회색 부분의 면적에 비례한다:

P1(|x1x2|a)=1(1a)2,0a1 

이므로 두 지점의 거리가 a일 확률밀도함수는

p1(a)=dP1da=2(1a)(1dim)

으로 주어진다. 따라서 단위길이의 직선 위에서 선택된 두 점 사이의 평균 거리는

a=102(1a)ada=13

물론 단순하게 생각하면 두 좌표가 독립적이므로 

|x1x2|=1010|x1x2|dx1dx2=13

임을 확인할 수 있다.

거리의 분산을 구하면 

σ2(a)=a2(a)2=102(1a)a2dx19=118

이다.

 

평면의 경우는 두 독립적인 1차원 분포의 곱으로 주어지므로 x좌표의 차이가 a1이고 y좌표의 차이가 a2일 확률밀도함수는

p2(a1,a2)=p1(a1)p1(a2)=4(1a1)(1a2)(2dim)

으로 주어진다. 그리고 평균 거리는

a21+a22=10104(1a1)(1a2)a21+a22da1da2

=115(2+2+5sinh1(1))=0.521405

직선과 마찬가지로 평면에서 2점의 4 좌표가 독립적이므로 평균 거리는

(x1x2)2+(y1y2)2

=10101010(x1x2)2+(y1y2)2dx1dx2dy1dy2

을 계산해서 얻을 수도 있다.

double MeanRandomDist_Square() {
    const int nTrial = 10000000;
    srand(unsigned(time(0)));
    double sum_dist = 0;
    for (int i = nTrial; i-->0;) {
        const double dx = double(rand()) / RAND_MAX - double(rand()) / RAND_MAX;
        const double dy = double(rand()) / RAND_MAX - double(rand()) / RAND_MAX;
        sum_dist += hypot(dx, dy);
    }
    double mean_dist = sum_dist / nTrial;
    TRACE("mean dist in a square =%f\n", mean_dist);
    return mean_dist;
}

일반적인 n차원인 경우는? 구체적인 계산이 없이도 평균거리는 늘어날 것으로 쉽게 예측할 수 있다. 

728x90

'Mathematics' 카테고리의 다른 글

Catenary: Variational Approach  (0) 2022.01.29
Generate uniformly random points within a circle  (0) 2022.01.29
Catenary  (0) 2022.01.14
Integration along a branch cut-014  (0) 2022.01.03
Integration along a branch cut-013  (0) 2021.12.22
,