Page 2 of 4

Re: Посоветуйте кошерный Random

PostPosted: 27 Nov 2012, 10:08
by lvd
Бугага, Кнут даже пример привёл, как отбалдёжный "генератор рнд" скатывается в унылое говно с малым периодом.

Re: Посоветуйте кошерный Random

PostPosted: 27 Nov 2012, 10:13
by CHRV
lvd wrote:upd: хренератор на ксор-сдвиге сам по себе может применяться только для случайных битов, число от него -- последовательные его биты с сильной корреляцией и юзать такое низя. Лучше делать A*X+B mod M.

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

Re: Посоветуйте кошерный Random

PostPosted: 27 Nov 2012, 10:34
by lvd
CHRV wrote:Дык я про последоватлеьность битов от него, т.е. чтобы получить 8битное число нуно восемь проходов.

Огоспаде. Может хоть скриншот поможет...
lfsr_suxx.jpg

Re: Посоветуйте кошерный Random

PostPosted: 27 Nov 2012, 10:35
by lvd
Кстати, очевидно, что если период LFSRа 2^n-1, то что по 8/16/32 бита из него высирать за раз в виде байта/слова, что по одному, накапливая в слове -- один хрен, только чуть переставленная последовательность будет.

Re: Посоветуйте кошерный Random

PostPosted: 27 Nov 2012, 10:39
by нолька
я вот такой часто юзал (из zx-review):
RND LD HL,0
LD A,H
ADD A,#77
LD H,A
RLС L
ADD A,L
LD L,A
LD (RND+1),HL

Re: Посоветуйте кошерный Random

PostPosted: 27 Nov 2012, 10:40
by lvd
RLE L ?????????

Re: Посоветуйте кошерный Random

PostPosted: 27 Nov 2012, 10:43
by нолька

Re: Посоветуйте кошерный Random

PostPosted: 27 Nov 2012, 10:45
by нолька
lvd wrote:RLE L ?????????
фиксед

Re: Посоветуйте кошерный Random

PostPosted: 27 Nov 2012, 11:13
by lvd
нолька wrote:фиксед

Доо, ниибацо рнг, к старшей части прибавить #77, а что получилось -- к провёрнутой младшей.

Re: Посоветуйте кошерный Random

PostPosted: 27 Nov 2012, 13:32
by CHRV
lvd wrote:Кстати, очевидно, что если период LFSRа 2^n-1, то что по 8/16/32 бита из него высирать за раз в виде байта/слова, что по одному, накапливая в слове -- один хрен, только чуть переставленная последовательность будет.

Дык потому и спрашивал "для чего". Городить огуенный период иногда смысла нет.
ПО упрощенке Галуа LFSR тройка операций усе (XOR один раз).
И про кореляции чето не понял, обычно случайное значение в качестве начального ставицо (ну например рефреш регистер)