реклама на сайте
подробности

 
 
> Генератор псевдослучайных чисел
DS
сообщение Sep 8 2006, 14:28
Сообщение #1


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Нужен генератор 9 битных псевдослучайных чисел, с периодом повторения 2 в 24 или около того.
Я так понимаю, что нужен 24 битный сдвиговый регистр с обратными связями и можно просто брать 9 бит с его разрядов. Или все сложнее ?
Книжки у меня есть, но, честно говоря некогда разбираться, поскольку вопрос одноразовый.
С каких разрядов нужно брать обратную связь для получения правильного цикла ?


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bve
сообщение Sep 8 2006, 15:16
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 316
Регистрация: 20-02-05
Из: Ленинградская обл.
Пользователь №: 2 765



Цитата(DS_ @ Sep 8 2006, 18:28) *
Нужен генератор 9 битных псевдослучайных чисел, с периодом повторения 2 в 24 или около того.
Я так понимаю, что нужен 24 битный сдвиговый регистр с обратными связями и можно просто брать 9 бит с его разрядов. Или все сложнее ?
Книжки у меня есть, но, честно говоря некогда разбираться, поскольку вопрос одноразовый.
С каких разрядов нужно брать обратную связь для получения правильного цикла ?

Долго пользуюсь 32-разрядным генератором с полиномом 0x4004000f.
Алгоритм таков: Xn+1=Xn<<1
IF ( Xn+1<0 ) Xn+1=Xn+1 XOR 0x4004000F

Особенно приятно, что в этом генераторе цепочка бит любой длины - случайна.
Я брал и 2 раза по 16, и 3 раза по 10 для экономии вычислений.
Go to the top of the page
 
+Quote Post
DS
сообщение Sep 8 2006, 15:25
Сообщение #3


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Цитата(bve @ Sep 8 2006, 19:16) *
IF ( Xn+1<0 )


Я вот этого не понял - XOR делается, только если старший бит ==1 ? Это зачем ?


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
vladv
сообщение Sep 8 2006, 20:59
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 7-06-06
Пользователь №: 17 825



Цитата(DS_ @ Sep 8 2006, 19:25) *
Цитата(bve @ Sep 8 2006, 19:16) *


IF ( Xn+1<0 )


Я вот этого не понял - XOR делается, только если старший бит ==1 ? Это зачем ?

По определению сдвигового регистра с линейными обратными связями (в форме Галуа).
Для указанного полинома (X**32+X**30+X**26+X**3+X**2+X**1+1) старший бит
регистра "XOR-ится в разряды" 0,1,2,3,26 и 30:
X[0] <= X[31]
X[1] <= X[31]^X[0]
X[2] <= X[31]^X[1]
X[3] <= X[31]^X[2]
X[4] <= X[3]
X[5] <= X[4]
...
X[25] <= X[24]
X[26] <= X[31]^X[25]
X[27] <= X[26]
...
X[29] <= X[28]
X[30] <= X[31]^X[29]
X[31] <= X[30]


Если просто брать 9 бит с разных разрядов, то будут встречаться "не совсем случайные"
подпоследовательности. Например, для 9-ти старших бит 24-х разрядного регистра в
какой-то момент будет такая последовательность:
01: 000000000
02: 000000000
...
14: 000000000
15: 000000000
16: 000000001
17: 000000010
...
23: 010000000
24: 100000000
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- DS_   Генератор псевдослучайных чисел   Sep 8 2006, 14:28
- - DS_   Мне собственно полином был нужен под 32 разряда. Е...   Sep 8 2006, 21:09
|- - vladv   Цитата(DS_ @ Sep 9 2006, 01:09) Мне собст...   Sep 9 2006, 13:04
|- - vladv   Цитата(vladv @ Sep 9 2006, 17:04) Цитата(...   Sep 9 2006, 13:37
- - DS_   Спасибо за ссылку ! Таблица полиномов - то, ч...   Sep 9 2006, 14:52
- - gab   Ещё можете поискать по слову "tauswothe...   Sep 10 2006, 00:34
- - Oldring   Цитата(DS_ @ Sep 8 2006, 18:28) Нужен ген...   Sep 14 2006, 14:33
- - DS_   Кнута я как бы читал. Про линейно-конгруэнтные ген...   Sep 14 2006, 17:14
|- - Oldring   Цитата(DS_ @ Sep 14 2006, 21:14) Для желе...   Sep 14 2006, 17:54
- - DS_   Энергия в пике не превышает 10-20% энергии шума в...   Sep 14 2006, 18:02
- - Макс_Мат   ты был почти прав. Только тебе нужен 24+9=33 разря...   Mar 23 2007, 17:45
|- - bve   А кто-нибудь знает БЫСТРЫй генератор с нормальным ...   Mar 25 2007, 18:13
|- - Макс_Мат   Цитата(bve @ Mar 25 2007, 19:13) А кто-ни...   Mar 26 2007, 13:37
|- - bve   Цитата(Макс_Мат @ Mar 26 2007, 14:37) А к...   Mar 28 2007, 18:44
- - Pathfinder   Один из самых быстрых способов получить нормальное...   Mar 26 2007, 22:08
- - Макс_Мат   Молодой человек, скорости скоростями, но ко всему ...   Mar 27 2007, 11:58
- - Pathfinder   Макс_Мат Результат чего?!   Mar 27 2007, 13:41
|- - Макс_Мат   Цитата(Pathfinder @ Mar 27 2007, 14:41) М...   Mar 28 2007, 14:19
- - Pathfinder   Макс_Мат, а ну-ка просветите, что это вы там такое...   Mar 29 2007, 14:57
- - Макс_Мат   Мне интересно, кто сможет дать определение нормаль...   Apr 4 2007, 15:08
|- - Oldring   Цитата(Макс_Мат @ Apr 4 2007, 16:08) Мне ...   Apr 4 2007, 15:58
- - Макс_Мат   Такое ощущение, что я попал не в профессиональный ...   Apr 4 2007, 17:00
|- - Oldring   Цитата(Макс_Мат @ Apr 4 2007, 18:00) Тако...   Apr 4 2007, 17:51
- - Макс_Мат   Нигде выше не сказано о корреляционных свойствах п...   Apr 5 2007, 09:21
|- - Oldring   Цитата(Макс_Мат @ Apr 5 2007, 10:21) Нигд...   Apr 5 2007, 11:07
- - Макс_Мат   R=[]; s=0; delLine = zeros(32,1); for i=1:10000, ...   Apr 5 2007, 11:28
|- - Oldring   Цитата(Макс_Мат @ Apr 5 2007, 12:28) Я по...   Apr 5 2007, 12:13
- - Макс_Мат   Удивительно как вы неуклонно не хотите думать. Вед...   Apr 5 2007, 14:50
|- - Oldring   Цитата(Макс_Мат @ Apr 5 2007, 15:50) Удив...   Apr 5 2007, 15:10
- - Макс_Мат   Это не доморощенный алгоритм. Он подробно исследов...   Apr 5 2007, 15:16
|- - Oldring   Цитата(Макс_Мат @ Apr 5 2007, 16:16) Это ...   Apr 5 2007, 15:41
- - Макс_Мат   Согласен. Я сам столкнулся с необходимостью реализ...   Apr 5 2007, 15:57
|- - Oldring   Цитата(Макс_Мат @ Apr 5 2007, 16:57) ps К...   Apr 5 2007, 16:08
- - Макс_Мат   спасибо, посмотрим на досуге...   Apr 5 2007, 16:19
- - Pathfinder   Макс_Мат, вы так и не ответили, каким образом пред...   Apr 7 2007, 23:12
- - Макс_Мат   А нужно ли это лично Вам? Если Вы до сих пор не ви...   Apr 9 2007, 10:09
- - Pathfinder   Хмм, ничего другого и не ожидал - нечем ответить п...   Apr 9 2007, 12:12
- - Макс_Мат   я одно время работал с очень талантливым человеком...   Apr 9 2007, 12:59
- - makc   Уважаемые участники, для есть отдельный раздел. Н...   Apr 9 2007, 14:19
- - CD_Eater   Для автора, думаю, через полгода запоздалый ответ ...   May 1 2007, 22:50


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 07:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01419 секунд с 7
ELECTRONIX ©2004-2016