Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Evgenij Masherov                     2:5020/175.2   24 Oct 2002  21:33:10
 To : Dmitriy Kozlov
 Subject : pавномеpное и ноpмальное pаспpеделение
 -------------------------------------------------------------------------------- 
 
 Thu Oct 17 2002 22:36, Dmitriy Kozlov wrote to All:
 
  DK> интеpесyют алгоpитмы полyчения сабжа.
 
  
 Равномерное распределение продуцируется любым стандартным генератором
 случайных чисел. Его нужно только привести к желаемому интервалу.
 Общий подход к получению любого желаемого распределения состоит во взятии от
 равномерно (0;1) распределенного числа обратной функции распределения. К
 сожалению, для нормального обратная функция не выражается аналитически и
 сложно вычисляется. Поэтому применяются специальные методы.
 1. Центральная предельная теорема. Согласно ней сумма достаточно большого
 числа случайных чисел будет приближаться к нормальному распределению (точная
 формулировка требует введения понятия семиинварианты и пр. и есть во всех
 курсах теорвера). Часто берут 12 равномерных на (0;1) случайных чисел. Вычитая
 из их суммы 6, получим число с распределением, близким к нормальному с нулевым
 средним и единичной дисперсией (волшебное 12 появилось потому, что при менее
 10 от нормального далеко, более 20 существенного улучшения не дает, а выбор
 именно 12 позволяет обойтись без поправочных коэффициентов). При необходимости
 улучшить качество приближения к нормальному - можно использовать поправочный
 полином Тичроу (Тейчроева), приведенный у Кнута.
 
 A1 = 3.949846138;
 A3 = 0.252408784;
 A5 = 0.076542912;
 A7 = 0.008355968;
 A9 = 0.029899776;
 SUM=0.0                
 do I=1, 12
 call RANDOM_NUMBER(RAND)
 SUM=SUM+RAND
 enddo
 R=(SUM-6.0)/4.0;
 R2=R*R
 Gauss=((((A9*R2+A7)*R2+A5)*R2+A3)*R2+A1)*R 
 
 2. Полярный метод.
 Генерируется два числа Х1 и Х2, также равномерные на (0;1). Если сумма их
 квадратов S=X1^2+X2^2 больше единицы - берутся два новых, иначе вычисляется
 Q=sqrt(-2*ln(S)/S)
 Y1=X1*Q
 Y2=X2*Q
 При этом получаются два (независимых!) нормально (0;1) распределенных числа
 3. Метод, приводимый во втором томе Кнута. Сам я не реализовывал.
 
 Евгений Машеров АКА СанитарЖеня
 
 --- ifmail v.2.15dev5
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 pавномеpное и ноpмальное pаспpеделение   Dmitriy Kozlov   17 Oct 2002 22:36:56 
 pавномеpное и ноpмальное pаспpеделение   Evgenij Masherov   24 Oct 2002 21:33:10 
 pавномеpное и ноpмальное pаспpеделение   Djune Nickolay   26 Oct 2002 08:55:01 
 pавномеpное и ноpмальное pаспpеделение   Evgenij Masherov   29 Oct 2002 12:43:51 
Архивное /ru.algorithms/33006e0bb58b.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional