Вот например к чему приводил плохой ГСЧ в Google Chrome: https://medium.com/@betable/tifu-by-...m-f1c308c4fd9d
Кто-нибудь пробовал реализовывать xorshift128plus?
У xorshift128plus период 2128-1, и этого должно хватить с запасом.
К слову, xorshift128plus используется в большинстве браузеров (в Chrome, Safari, FireFox точно) для Math.random().
Собственно, код:
Код:/* The state must be seeded so that it is not everywhere zero. */ uint64_t s[2]; uint64_t xorshift128plus(void) { uint64_t x = s[0]; uint64_t const y = s[1]; s[0] = y; x ^= x << 23; // a s[1] = x ^ y ^ (x >> 17) ^ (y >> 26); // b, c return s[1] + y; }
в оскат есть рандомная функция, а тему подняли аж из 2007 года, к ней у кого то есть претензии?
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
В оскат практически наверняка палёная рандомная функция.
Использование неправильных рандомных функций запросто может приводить к неправильным вычислениям и т.п.
Вот одна: https://github.com/simsum/oscat/blob/master/RDM.EXP, вот вторая: https://github.com/simsum/oscat/blob/master/RDMDW.EXP
Ни там, ни там нет ссылок на алгоритм.
А факт того, что они используют "умножение на e и на pi" намекает на то, что это "наколеночная реализация" и, что вообще никто никогда не тестировал результат этих функций на случайность.
В этом плане, xorshift128plus выглядит гораздо лучше. Проверенный алгоритм, много где используется, без привлечения float математики.
Снимаю шляпу перед Вольдом - наступил тот момент, когда я с ним согласен - нужен рефери.
Знаете что в этой ситуации более всего огорчает? Столько времени и ресурсов грамотных и нужных людей потрачено не конструктивно. Это очень жаль.
К сути.
1. Сообщения удалил. По понятным причинам. Если они для кого то ценны - могу вынести их в отдельную тему - там можно будет продолжить соревнования.
2. В любом случае призываю общаться без перехода на личности. В ЛЮБОМ СЛУЧАЕ. Я понимаю, что все участвовавшие пытались доказать свою правоту, и заставить аппонента признать ее из лучших побуждений. Но не забывайте, что правды всегда две. А признавать свою неправоту не любит никто.
Правда 1. Есть прикладные задачи в АСУ ТП. С 99% вероятности для них хватит существующих генераторов в Oscat или приведенной Игорем Петровым (очень сильный и грамотный специалист с огромным опытом реальных внедрений). С этим невозможно спорить. С определенной вероятностью они не проходят специфические тесты. С определенной вероятностью повторяют значения. Но если этого достаточно - значит так тому и быть. Напоминаю первое правило автоматизации: работает - не лезь
Правда 2. Любые прикладные задачи все-равно строятся на математике. И хорошо, что у нас есть люди, которые готовы нам эту "математику" предоставлять. Хорошо, когда они указывают на слабые места наших алгоритмов. Плюс данное указание могут увидеть спецы, в чьих задачах это действительно критично.
Но при этом никто не говорит, что надо все бросить и переделать. Посчитал AI данные аргументы полезными для улучшения своего алгоритма - улучшил. Не посчитали так в OSCAT - не будут улучшать
Давайте попробуем синергитически использовать энергию и ресурсы друг друга.
И еще раз прошу перестать скатываться на личности. Мы все тут специалисты. Кто-то сильней в одном, кто-то в другом. Кто-то слабее. Но все достойны уважительного отношения.
Остались от темы рожки да ножки , а жаль, много там полезного по ГСЧ строительству можно было почерпнуть.
Последний раз редактировалось Вольд; 22.07.2016 в 14:08.
Если кто-то возьмется собрать из 24 страниц полезную информацию - я перенесу все удаленные сообщения в отдельную тему. Специально для этого удалил сообщения "не окончательно".
Перенесите пожалуйста
тема все равно была не в профильных разделах, а в курилке
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
вот с этим не поспоришь, зачем тему менять закрывать это же КУРИЛКАтема все равно была не в профильных разделах, а в курилке