На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
Страницы: (3) 1 [2] 3  все  ( Перейти к последнему сообщению )  
> Генерация случайных чисел
    Цитата kozza, 22.03.03, 11:36:31
    Господа, очень интересно было бы увидеть код Метода вычетов (он же метод Лемера) на языке Delphi. Кто-нибудь сможет помочь? Спасибо.


    Если я правильно помню, то алг. Леммера выглядит так:

    R(n)=(R(n-1)*a)\%m;
    m - фактически период генератора, желательно - простое число.
    а - тоже чего-то значит, не помню точно что.

    Я пробовала, получается довольно красивое равномерное распрделение
      дорогой лучше КНУТа тебе никто не скажет :)
      Не помню в котором томе - но тебе нужно хорошенько покопаться.
         Кстати, для проверки - хорош или нет генератор случайных чисел, можно использовать
        визуальный графический метод. Вывод каждой пары значений RND на экран в цикле. Лучше всего в диапазоне 0...100( т.е. от RND берется два знака).
         прим.: лично опробовал многие RNDшки, но равномерного распределения точек практически нигде небыло... Тут большое поле для экспериментов...
        Сообщение отредактировано: kardinal -
          Цитата Ruben, 24.03.03, 00:24:52
          дорогой лучше КНУТа тебе никто не скажет :)
          Не помню в котором томе - но тебе нужно хорошенько покопаться.


          1) во втором томе

          никто не скажет?

          из этого ничего не следует надо не сказать хорошо а обЪяснить понятно
          две разные вещи

          самым удачным и в то же время не доказанным считается использование цифр трансцендентных чисел

          например цифры числа пи - хорошая бесконечная случ послндовательность

          да вот еще не любое распределение можно сгеперировать из равномерного
          в частности те распределения у которых нет мат.ожидания

          с уважением
            Цитата esperanto, 25.03.03, 20:49:20


            в частности те распределения у которых нет мат.ожидания



            а что, УЖЕ И ТАКИЕ ПОЯВИЛИСЬ?????????????????????7
              All, кому надо - ловите исходник randoma

              переменная seed инициализируется до вызова функции. Таймером, к примеру.
              ExpandedWrap disabled
                <br>random proc<br> push bx<br> mov ax,seed<br> mov cx,8<br>newbit:<br> mov bx,ax<br> and bx,002Dh<br> xor bh,bl<br> clc<br> jpe shift<br> stc<br>shift:<br> rcr ax,1<br> loop newbit<br> mov seed,ax<br> xor ah,ah<br> pop bx<br> ret<br>seed dw ?<br>random endp<br>
                Цитата wormball, 28.03.03, 18:19:35


                а что, УЖЕ И ТАКИЕ ПОЯВИЛИСЬ?????????????????????7


                а  как же например распределение Коши
                  Цитата esperanto, 29.03.03, 19:19:59


                  а  как же например распределение Коши


                  к твоему сведению, у него бесконечна дисперсия, а математическое ожидание у него 0.

                  к тому же и его можно запросто сгенерировать, правда только в диапазоне extended (aka long double) ;D ;D ;D.
                    integral (x/(1+x^2),0,00)=integral(d(x^2+1)/(x^2+1),0,00)=ln(x^2+1),0,00)==00

                    tak 4to u4ite terber
                    i ne umni4ajte
                      я тут на досуге даже придумал, как из одного распределения получить другое. хотя никто вроде не высказывал желания его узнать, а я всё равно напишу.

                      пусть у нас есть случайная величина х, распределённая по закону g(x). надо найти такую функцию у=у(х), чтобы она была распределена по закону f(y). вероятность

                      dP = f(y)dy = g(x)dx

                      проинтегрируем

                      F(y)=G(x)+c

                      y=F^-1(G(x)+c), где с - произвольная постоянная.
                        я думаю проблема в нахождении обратных функций!??
                          Цитата esperanto, 01.04.03, 18:05:43
                          я думаю проблема в нахождении обратных функций!??


                          ну это смотря какова прямая функция. например нормальное распределение вообще нельзя проинтегрировать аналитически, а в случае с коши там будет нечто вроде тангенса.

                          с другой стороны как интегралы, так и обратные функции можно взять численно ;D

                          проблема в том, что там будут очень большие значения производных
                            Мне тут задали написать три разных генераторов случайных чисел. Не подскажете как? :wacko:
                              Народ...подскажите как всетки пользоваться этим генератором случайных чисел??
                              Позарез надо((((
                                http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/mt19937ar.c
                                Признанный во всём мире генератор с примером использования.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) 1 [2] 3  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1063 ]   [ 14 queries used ]   [ Generated: 24.10.26, 05:48 GMT ]