Генератор случайных чисел.

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

ваш "генератор" судя даже по вашему примеру, генерирует последовательность монотонно возрастающих чисел, что есть закономерность, т.е. от случайности очень далеко. скажем, вот пример случайной последовательности: 950, 7, 2, 16, 35, 7, 2005, 11, 7, 3, 88, 1, 460...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
bagira
Потрогал лапой паяльник
Сообщения: 362
Зарегистрирован: Чт фев 07, 2008 23:00:46
Откуда: Penza

Сообщение bagira »

Нет необходимости забивать память случайными числами (сей труд неблагодарен). "Хоровиц/Хилл" второй том, глава 9,35 очень просто и понятно всё описывает. Строится рекурентный сдвиговый регистр (регистр с обратными связями), на вход которого подаётся результат сложения_по_модулю_2 (исключающее ИЛИ) от некоторых разрядов этого-же регистра. Приведу табличку из этой книги. Формат: ДР/ТП/ДП (ДлиннаРегистра/ТочкаПодключения/ДлиннаПоследовательности)
3/2/7
4/3/15
5/3/31
6/5/63
7/6/127
9/5/511
10/7/1023
15/14/32767
17/14/131071
18/11/262143
20/17/1048575
22/21/4194303
23/18/8388607
25/22/33554431
28/25/268435455
31/28/2147483647
Если выбирить длинну регистра кратной байту то для получения последовательности максимальной длинны требуется более 2 точек подключения.
Формат: ДР/ТП,ТП,ТП/ДП
8/4,5,6/255
16/4,13,15/65535
24/17,22,23/16777215
Используйте кольцевой сдвиг трёх(четырёх)байтной переменной и сложение по искл/ИЛИ соответствующих бит. 16 миллионов комбинаций от трёхбайтной переменной - помоему этого больше чем достаточно для имитиции настоящей случайности.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

bagira писал(а):Нет необходимости забивать память случайными числами
разумеется :) я об этом (о программно-математическом-формульно-вычислительном способе генерации случайных чисел) писал ранее :)
а теперь на своем сайте разместил конкретный пример реализации этого подхода... на Си :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

Если в PROTEUS запустить проектик - можно шум послушать на ПК.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

tych писал(а):Если в PROTEUS запустить проектик - можно шум послушать на ПК.
слушали? я только спектр смотрел на графике... :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

ARV писал(а):
tych писал(а):Если в PROTEUS запустить проектик - можно шум послушать на ПК.
слушали? я только спектр смотрел на графике... :)

Нет. Я в других проектах слушал музычку - динамик нужно на схему "кинуть" и подключить к сигналу.

А еслиб послушал то конечно проектик бы прицепл к посту.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Как-то, с год-два тому, тоже была необходимость построить ГПСЧ, так тогда нагуглилась такая простая штука - Linear Feedback Shift Registers. Это элементарный перевод старых генераторов, построенных на сдвиговых, в софт. Там есть ссылки на таблицы, позволяющие построить софтовый ГПСЧ на весьма длинные последовательности. Программа, что понятно из названия метода, элементарная, вся построена на сдвигах/сложениях - реализуется просто, работает на ура. Да там и пример есть.
Времени на написание уйдет меньше, чем на генерацию в экселе и перенос затем в память, да и памяти, кстати сказать, займет, ну, ооочень немного. ;)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

Yellow Tiger писал(а):Как-то, с год-два тому, тоже была необходимость построить ГПСЧ, так тогда нагуглилась такая простая штука - Linear Feedback Shift Registers. Это элементарный перевод старых генераторов, построенных на сдвиговых, в софт. Там есть ссылки на таблицы, позволяющие построить софтовый ГПСЧ на весьма длинные последовательности. Программа, что понятно из названия метода, элементарная, вся построена на сдвигах/сложениях - реализуется просто, работает на ура. Да там и пример есть.
Времени на написание уйдет меньше, чем на генерацию в экселе и перенос затем в память, да и памяти, кстати сказать, займет, ну, ооочень немного. ;)
вы пропустили - я уже давал ссылку на реализацию этого метода в своем проекте...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

ARV писал(а):вы пропустили - я уже давал ссылку на реализацию этого метода в своем проекте...
Вы знаете, всё даже ещё хуже - прочтя вашу предыдущую реплику, я несколько раз просмотрел обе страницы этой темы и не смог найти эту ссылку... :shock: Уж не знаю, как это у меня получается, но, может, вы мне её покажете, раз такое дело?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

Yellow Tiger, для вас:
ARV писал(а):а теперь на своем сайте разместил конкретный пример реализации этого подхода... на Си :)
ну а сама ссылочка "под кнопкой www" (©tych) :)))

это было сделано для конспирации... но для вас делаю персонально - ВОТ
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Ключевые слова - "на своем сайте". :))) то есть, в репликах этой ветки не было ни ссылки на проект, ни ссылки на сайт - так? Ну, слава богу, а-то, я уже стал думать, что очевидных ссылок не замечаю. Ф-фуух! Отлегло... :lol:

За персонально предоставленную ссылку спасибо, вот только ГПСЧ мне уже "не к обеду", собственно, по этой причине я по ссылкам Изображение или Изображение и не следовал. :)

Если же вернуться к вопросу программной реализации, то пожалуй наши две ссылки не только не рождают коллизии, но еще и прекрасно дополняют друг-друга - в вашей дана одна, конкретная реализация, а материал, на который дал ссылку я, содержит как иллюстрированное пояснение к принципу работы этого алгоритма, так и большое количество готовых данных для построения ГПСЧ с максимальными периодами, удобно собранных в таблицы. :)
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

Yellow Tiger писал(а):Ключевые слова - "на своем сайте". :)))

Просто когда делаешь статьюдля сайта, то пишешь не торопясь, продумываешь, проверяешь - информация наверняка правильная получается.

А когда с ходу отвечаешь по сути в конфе то не трудно ошибиться и если даже ошибку исправят спустя некоторое время, то спрашивающий уже мог прочитать не верное, а вот прочитает ли исправленое не известно.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
БАЙКАЛ+
Родился
Сообщения: 7
Зарегистрирован: Ср окт 29, 2008 22:08:38
Откуда: Сибирь

Сообщение БАЙКАЛ+ »

Чё вы паритесь??? Генератор случайных чисел вшит в Excel :))
tataff
Опытный кот
Сообщения: 796
Зарегистрирован: Вс ноя 09, 2008 12:10:59
Откуда: Москва

Сообщение tataff »

Тот, который вшит в Ёксел - сущая дрянь, ради интереса - сгенерите на нем несколько тысяч реализаций и постройке гистограмму, потом корреляцией первого порядка определите период осцилляции: получите 1024, 2048 или 4096 в зависимости от версии софтинки. В топку.
Была высказана разумная мысль использовать сдвиговые регистры с обратной связь по модулю 2 ("исключающее ИЛИ") - это дело, особенно (что чрезвычайно просто) строить такой ген на базисе чисел Мёрсена, берете последнее известное число (оно опубликовано на сайте "Американского Математического Общества) - при любой практически реализуемой тактовой частоте сдвига (скажем 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000ГГц) (можете смело дописать еще несколько сотен нулей)
период "случайности" такого гена будет на много порядков превышать оставшийся срок жизни Вселенной (скажем 1000 миллиардов лет). Таким образом - вопрос исчерпывается.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

последний пост просто рассмешил :) еще Остап Бендер говорил "а мне не нужна вечная игла для примуса. я не собираюсь жить вечно"...

есть слово - достаточно. и на этом надо ограничиться. :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
aen
Модератор
Сообщения: 11940
Зарегистрирован: Пт апр 28, 2006 15:26:07
Откуда: Россия.
Контактная информация:

Сообщение aen »

ARV писал(а):есть слово - достаточно. и на этом надо ограничиться. :)
К слову "достаточно" надо бы приписать, достаточно для чего?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

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

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

Мой уютный бложик... заходите!
Аватара пользователя
aen
Модератор
Сообщения: 11940
Зарегистрирован: Пт апр 28, 2006 15:26:07
Откуда: Россия.
Контактная информация:

Сообщение aen »

Просто в детстве ещё читал книжку про Enigma - шифр, который использовали немцы в войну и про проблему получения случайных чисел, точнее псевдослучайных, т.к. понял, что случайные это предел которого никогда не достигнуть.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

Enigma - это не шифр, а шифровальная машинка :) но сути это не меняет. случайное число - это, имхо, математическая абстракция - в практической деятельности практически ничего случайного нет, а то, что действительно случайно в природе - не может быть никак использовано практически. например, место удара молнии случайно - и какая от этого польза? а любой генератор так или иначе использует некие закономерности, т.е. изначально предсказуем. и бесконечное стремление к идеалу - бессмыслица...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
aen
Модератор
Сообщения: 11940
Зарегистрирован: Пт апр 28, 2006 15:26:07
Откуда: Россия.
Контактная информация:

Сообщение aen »

ARV писал(а):Enigma - это не шифр, а шифровальная машинка :)

Точнее сказать целое семейство машинок. Я просто имел в виду принцип шифрования. Остальное согласен, кроме удара молнии. :)))
Вероятность её удара в более возвышенные места наиболее вероятно, а не равновероятно.
Тогда уж скажите, что вероятность попадание молнии в молниеотвод равна вероятности попадания в точку в метре от него. :)))

Заканчиваем, всё равно мы с Вами одинаково думаем насчёт всего этого. :)))
Ответить

Вернуться в «Теория»