nickita startcev (nicka_startcev) wrote,
nickita startcev
nicka_startcev

псевдослучайные числа

1. возьмём несколько небольших взаимно-простых констант, например 11,13,15,17
2. создадим битовые регистры, длиной соответственно по 11,13,15,17 бит
3. к каждому регистру - по индексу, еще 4+4+4+5=17 "нечестных бит"
4. "честных бит" там будет log(11+13+15+17)/log(2)
5. заполним регистры Seed'ом, индексы - псевдосидом (псевдосид - как сид, только число битов выходит нецелым)

а теперь делаем такой алгоритм:
6. из каждого регистра по соответствующему индексу выбираем по 1 биту
7. ксорим все биты из п6, выводим в вывод
8. инкрементируем все индексы, если индекс вышел за пределы массива - нормализуем


любопытно, а вот для получения хорошей случайной последовательности - достаточно ли чтоб числа из п1 были взаимно-простыми?
верно ли, что длина сгенерированной последовательности будет или 1 или Наименьшее Общее Кратное (НОК) чисел из п1?
какие ограничения на рандом сид при этом - достаточно ли ему быть 'достаточно случайным'?

кажется, такой велосипед уже есть? как называется?
Subscribe

  • любопытно

    ГОСТ 12.2.032-78 Система стандартов безопасности труда (ССБТ). Рабочее место при выполнении работ сидя. Общие эргономические требования. 2.4.…

  • про управление

    Весь бардак в нашем государстве из-за тех тихих умельцев, стараниями коих безумства указаний превращается во что-то работоспособное. Работал я…

  • любопытная картинка

    я правильно понимаю, что когда пунктир выше сплошной линии - это "итого антиковидные меры спасли людей", а когда ниже - "это страшный вирус…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments