선택 균일 (의해 간격에서 균일 실수 ). 되도록 계수를 정렬 하십시오 . 세트 n − 1 [ 0 , 1 ] 0 ≤ x 1 ≤ ⋯ ≤ x n - 1x∈[0,1]n−1n−1[0,1]0≤x1≤⋯≤xn−1
w=(x1,x2−x1,x3−x2,…,xn−1−xn−2,1−xn−1).
정렬 된 를 의 부분 합계를 사용하여 복구 할 수 있으므로 매핑 은~ 1; 특히 이미지는 의 심플 렉스입니다 . (a) 정렬의 각 스왑은 선형 변환이므로 (b) 위의 공식은 선형이며 (c) 선형 변환은 분포의 균일 성을 유지하므로 의 균일 성은 의 균일 성을 의미합니다 상의 심플. 특히, 의 한계는 반드시 독립적 인 것은 아닙니다.w i x → w ( n - 1 ) ! N - 1 개 R N X w N - 1 wxiwix→w(n−1)!n−1Rnxw n−1w
이 3D 포인트 플롯은 대한이 알고리즘의 2000 회 반복 결과를 보여줍니다 . 점은 심플 렉스에 국한되며 대략 균일하게 분포됩니다.n=3
이 알고리즘의 실행 시간은 이므로 큰 에는 비효율적입니다 . 그러나 이것은 질문에 대답합니다! simplex 에서 균일하게 분포 된 값 을 생성 하는 더 좋은 방법은 일반적으로 구간 에서 균일 한 실수 를 그리는 것입니다., N , N - 1 N ( X 1 , ... , X N ) [ 0 , 1 ]O(nlog(n))≫O(n)nn−1n(x1,…,xn)[0,1]
yi=−log(xi)
(각 가 확률이 인 양수로 , 합계가 거의 0이 아닌 경우) 1yi1
w=(y1,y2,…,yn)/(y1+y2+⋯+yn).
이것은 각 에 분포 가 있기 때문에 는 Dirichlet 분포를 가지며 이는 균일 함을 의미합니다. Γ ( 1 ) w ( 1 , 1 , 1 )yiΓ(1)w(1,1,1)