Geração de números aleatórios uniformemente distribuídos (0,1) - página 5

 
Mathemat >>:

gumgum, тогда попробуй вот так. Принцип тот же, но вместо генерации целых чисел от 0 до 32767 ты получишь примерно от 0 до 2^30. Каждое число - это MathRand() + MathRand()*32768. Я не исследовал, как будут распределены, но надеюсь, что для не слишком требовательных задач все будет тип-топ.

Это числа вида AB в 32768-ичной системе счисления.

А еще лучше все-таки использовать dll. Есть такая, она сразу генерит такие большие числа.

Alexey, para gerar seqüências pseudo-aleatórias, por exemplo, se você usar um registro de deslocamento linear ou Fibo, eu me lembro, os atrasos do gerador são extremamente importantes, ou seja, aquelas posições de registro das quais o feedback é tirado. Parece-me que se você usar seu esquema, o atraso pode ser perturbado e correlações não planejadas podem ocorrer entre os elementos da seqüência

 
Mathemat писал(а) >>

gumgum, aqui está outro link: https://forum.mql4.com/ru/19996/page4. Mas ele tem dll, mas o gerador é meio criptográfico, ou seja, mais avançado do que o padrão da crt. E gera muito mais números, de -2^31 a 2^31. Tudo o que você precisa pode ser encontrado no mesmo ramo.

Não é preciso gerar números. Você precisa gerar lotes e muitos outros muito aleatórios, e definir cada vez um novo ponto de compensação a partir de algo também muito aleatório e pouco claro)))). Quase todos os osciladores trabalham desta maneira.

 
Figar0 >>:

Буквально на днях читал описание этого эксперимента. Понял что не потяну) Может это как раз описание Вашего опыта?

Ну такое мне наверно все же не надо, я видел что-то типа где последовательность инициализировалась системным временем или чем-то подобным... Ну как обычно, когда надо - не найдешь)

З.Ы. Кажется это было на форуме каких-то лотерейщиков, никто не встречал?

Não, eu não faço isso há algum tempo...

Até onde eu sei, os DSPs de software moderno usam o contador do relógio do processador como fonte de entropia.

 
Mathemat >>:

gumgum, вот еще ссылочка: https://forum.mql4.com/ru/19996/page4. Но там с dll, зато генератор типа криптографический, т.е. более совершенный, чем стандартный из crt. И чисел намного больше генерит, примерно от -2^31 до 2^31. Все нужное найдете в той же ветке.


Obrigado. Mas eu preciso de números reais na faixa (0, 1).
 
alsu >>:

Алексей, для генерации псевдослучайных последовательностей, например, если используется линейный регистр со сдвигом или Фибо, помнится, крайне важны лаги генератора, т.е. те позиции регистра, с которых берутся отводы обратной связи. Мне кажется, если использовать указанную тобой схему, то лаговость может нарушиться и между элементами последовательности возникнут незапланированные корреляции

Obrigado, alsu. Eu não estou insistindo, apenas sugerindo uma opção. Eu não sabia de tais sutilezas.

Mas eu preciso de números reais no intervalo (0, 1).

Então eu mesmo terei que escrevê-la, não vi receitas tão prontas. Gerar os dígitos separadamente e depois colá-los em um número.

 
Mathemat >>:

Спасибо, alsu. Я и не настаиваю, а только предложил вариант. О таких тонкостях я и не знал.

Тогда придется писать его самостоятельно, тут подобных готовых рецептов не видел. Генерить цифры отдельно, а потом склеивать их в число.


Foi o que eu fiz.
 

realmente bons geradores reais e inteiros. http://www.agner.org/random/ com um período de 10^8100 em algum lugar.

 
gumgum >>: Дык я так и делал.

Sim, eu tenho notado. Mas será lento. Provavelmente, é melhor fazer primeiro um número binário e depois convertê-lo para decimal. Há aqui uma biblioteca de conversão.

 

aqui está um dos geradores de números aleatórios (não pseudo) mais rápidos disponíveis atualmente.

Ou há um mais simples, mas também é rápido e tem boas características

 
alsu писал(а) >>

aqui está um dos geradores de números aleatórios (não pseudo) mais rápidos disponíveis hoje em dia.

Ou há um mais fácil, mas também é rápido e tem boas características.

Como assim, não pseudo? Não existe tal coisa na natureza.