|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.02.2019, 02:28 | #1 |
Регистрация: 20.03.2018
Сообщений: 7
|
srand (нубский вопрос)
Итак, приветствую всех.
Возможно, вопрос действительно нубский, но всё же. Имеем код вида: Код:
Погуглил, обычно все решают противоположную задачу: искореняют повторяемость всеми силами. Мне же надо добиться, с одной стороны, более-менее нормального распределения, а с другой - чтобы программа вела себя абсолютно одинаково при каждом запуске, желательно и на разных машинах.
— Доктор, меня не понимают...
— вРН БШ ЯЙЮГЮКХ? |
26.02.2019, 09:32 | #2 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,515
|
Цитата:
в таких пределах разумно ПОЛУЧИТЬ оное количество заранее (и ОДИН раз) и "запомнить" их в каком либо программном константном массиве.(файле\ресурсе\и т.д.) Цитата:
программа — запись алгоритма на языке понятном транслятору
|
||
26.02.2019, 10:22 | #3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Цитата:
потом брать её из сохранённого ресурса. есть ещё один вариант. есть формулы для получения ПСЧ. Можно написать реализацию одной из формул в свою функцию mysrand(). Теоретически, вычисляемый ряд будет одинаков на любой платформе. |
|
26.02.2019, 10:56 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,695
|
Главное, чтобы в это формуле не подмешивался таймер или иной внешний шум для большей "случайности".
А вообще стоит огласить решаемую задачу. Например, для связи широко используют синхронизацию и подстройку ГСПЧ. |
26.02.2019, 15:57 | #5 |
Регистрация: 20.03.2018
Сообщений: 7
|
А вот кто б знал... Во всяком случае, последовательность нужна достаточно длинная, чтобы считать её по формуле, а не записать константой раз и навсегда.
Я пишу (почти дописал альфу) симулятор живых клеток, вдохновлённый "КиберБиологией". Каждый цикл из сотен в секунду у каждого из десятков тысяч ботов может произойти случайный выбор; мутации, опять же, случайны. Последовательность ПСЧ должна быть длинной и равномерной, чтобы боты не смогли к ней адаптироваться. Контролируемость же нужна, чтобы можно было подробно рассмотреть какие-то отдельные интересные события или даже проследить всю цепочку мутаций, приведшую к той или иной форме.
— Доктор, меня не понимают...
— вРН БШ ЯЙЮГЮКХ? Последний раз редактировалось Ghaydn; 26.02.2019 в 15:59. Причина: Какая-то ерунда с кодировкой из-за перелогина случилась. |
26.02.2019, 17:20 | #6 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
(сам же я, не мудорствуя лукаво, стырил её у Кнута) Код:
|
|
26.02.2019, 17:21 | #7 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
В вашем случае у вас должно быть какое то фиксированное число. |
|
26.02.2019, 23:59 | #8 | |
Регистрация: 20.03.2018
Сообщений: 7
|
Цитата:
Мне почему-то кажется, что оно будет давать какие-то закономерности. Но, в общем, направление ясно. Писать свою функцию рандома и юзать её. Дальше мне гугл подскажет что-нибудь подходящее, спасибо.
— Доктор, меня не понимают...
— вРН БШ ЯЙЮГЮКХ? |
|
27.02.2019, 08:06 | #9 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,493
|
|
27.02.2019, 09:16 | #10 | |||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,515
|
Цитата:
случайность задается ОДИН раз в начале(в момент запуска). НО ведь нам и надо не случайную, а ... Цитата:
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|||
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Очередной нубский вопрос по SQL | nanoflooder | SQL, базы данных | 2 | 01.04.2016 22:38 |
почти нубский вопрос | Sater | Свободное общение | 1 | 20.11.2012 20:57 |
Нубский вопрос по строкам в c# | Fray120892 | C# (си шарп) | 1 | 21.10.2012 16:38 |
Нубский вопрос | Lucius42 | Visual C++ | 8 | 14.05.2012 12:52 |
Очень нубский вопрос | zlo_999 | Помощь студентам | 2 | 19.12.2011 19:06 |