Комментарии 27
Любопытно, разве Монте-Карло не даёт идеального распределения при больших N?
С нулевой вероятностью. Каковы шансы, случайно выбирая точки на отрезке [0, 1], заполнить его строго равномерно (все расстояния между соседними парами точек равны)? Шансов нет.
строго равномерно
Не заметил. Вероятность, согласно центральной предельной теореме, стремиться к 1. Ну а c вычислительной точки зрения, она равняется 1. Впрочем, я сгенерировал случайные точки, можете сами проверить.
Какое нафиг стремление к 1?
Посмотрите внимательнее чего именно пытаются добиться в этой статье. А пытаются добиться чтобы точки на сфере шли как можно более ровной сеткой.
Случайные же точки выглядит как-то так (взял первую попавшуюся картинку, можете попробовать нарисовать ваши точки — должно получиться что-то похожее):
Случайные же точки выглядит как-то так
Ну давайте проверим: берём отрезок от 0 до 1 и рассыпаем на него точки.
Количество точек / Среднее / Дисперсия / Отношение дисперсии к среднему
N=10^1 Mx=0.1057107049613101 Dx=0.014991353458562295 DMRx=0.14181490383636264
N=10^2 Mx=0.009925959274512302 Dx=0.00010322180977963227 DMRx=0.010399177240700892
N=10^3 Mx=0.0009988373664351917 Dx=1.0482468240416785e-06 DMRx=0.0010494669695656532
N=10^4 Mx=9.999876742558959e-05 Dx=9.68829614329053e-09 DMRx=9.6884155602215e-05
N=10^5 Mx=1.000006934144877e-05 Dx=9.968157388129179e-11 DMRx=9.968088267960981e-06
N=10^6 Mx=1.0000006018870852e-06 Dx=9.99976735903523e-13 DMRx=9.999761340308023e-07
N=10^7 Mx=9.999998466395956e-08 Dx=9.998199637750894e-15 DMRx=9.998201171079068e-08
Кокой вывод можно сделать? Генератор случайных чисел на компьютере не идеальный + точность == порядку N + отношение Dx/Mx уменьшается с ростом количества точек и стремиться к нулю. Следовательно, при большом количестве точек погрешность занимает больше 32 бит и обнуляется. Получаем абсолютно равномерное распределение.
Вот только если уж говорить про и правда большие N — то разрядность тоже должна стремиться к бесконечности (в том числе разрядность ГСЧ!). Иначе вся случайность вырождается в равномерную сетку из 232 ячеек, а этот вариант никому не интересен.
2. В статье говорится о равномерном (но не статистическом; однородном, если хотите) распределении точек (см. заголовок и вступление).
3. В качестве меры равномерности предлагаются 4 критерия, 2 из которых рассматриваются на примерах.
4. Я показываю теоретически и проверяю практически, что методом Монте-Карло возможно равномерно распределить точки при большом их количестве.
Теперь, пожалуйста, объясните мне ещё раз, что вы пытались сказать, и почему этот ваш разброс расстояний между соседними точками в 9.9e-08 нельзя назвать удовлетворительным?
Почитайте введение внимательнее, там довольно ясно описано к какому распределению стремятся.
N=10^1 Min=0.016212136413931155 Max=0.37461837137749365 Mean=0.09401552286663975
N=10^2 Min=1.9124122053626458e-05 Max=0.04580802524341976 Mean=0.01002876616106881
N=10^3 Min=5.292099047871091e-07 Max=0.00662962744940665 Mean=0.0010004000030152745
N=10^4 Min=3.842715812218955e-09 Max=0.0008187438221771703 Mean=0.00010000210209493355
N=10^5 Min=1.6746826148050786e-11 Max=0.00011494501323361384 Mean=9.999970245561979e-06
N=10^6 Min=6.814548925149211e-13 Max=1.3744202724041976e-05 Mean=9.999999409152049e-07
N=10^7 Min=3.4083846855992306e-14 Max=1.929901522923494e-06 Mean=1.0000000462518477e-07
Какой из этого мне надо сделать вывод?
Хорошо, получается ~ 100%.Наверное, что для решения поставленной в посте задачи метод Монте Карло на ~100% не подходит :)
Какой из этого мне надо сделать вывод?
Почему вы так уверены, что количество разрядов погрешности растёт быстрее?
Вы считали численно? А у использованного ГСЧ было сколько разрядов?
Вы постулировали что 32 разряда вам хватит — максимум, и получили в результате что 32 разряда вам хватит.
Ах да, вот еще момент. Отношение дисперсии к матожиданию ничего не означает, это величины разных порядков. Надо смотреть на отношение стандартного отклонения к матожиданию.
Там немного другая задача. Там пытаются равномерно распределить N точек на сфере. Есть разные критерии равномерности — например, минимальное расстояние между двумя точками. Таким образом, максимизируя минимальное расстояние между точками, мы располагаем точки по узлам сетки, с равным расстоянием между соседними узлами. Это оптимальное решение.
Предлагаемый в статье подход даёт приемлемое решение для любых N, в числе малых в районе 10.
Положим Монте-Карло может для больших N разместить точки близко к узлам равномерной сетки. Но Монте-Карло работает только для (очень) больших N. Его бессмысленно использовать даже для N в районе 1000.
Равномерное распределение точек на сфере