Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как установить процент выпадения какого-либо числа? (http://www.flasher.ru/forum/showthread.php?t=213767)

strangedk 16.01.2017 19:02

И как всегда, самые горячие споры о чем-то примитивном.

faraday 15.02.2017 13:58

Цитата:

Сообщение от Nooob (Сообщение 1198591)
Zebestov Ты по шуму посмотри, выбранный тобой метод дает картинку из линий.
Как минимум варианты
Код AS3:

seed = (seed * 16807) % 0x7fffffff;

Код AS3:

seed = (seed * 214013 + 2531011) % 0x7fffffff;

дают лучший результат

чисел 9301, 49297, 233280 даже в таблице часто используемых параметров для Линейного конгруэнтного метода нету, стоило бы задуматься

а есть какой нибудь способ/алгоритм зная seed и номер генерации получать число, кроме как высчитывать каждый раз в цикле? например надо чтобы при seed 0.57567 узнать значеие 10-й генерации, чтобы было одно на клиенте и серве

Nooob 17.02.2017 06:25

я думаю проще проитерироваться и закешировать
так как у Number мантисса будет теряться в любом случае
Код AS3:

(seed * Math.pow(16807, n)) % 0x7fffffff

возможно стоит покопать в сторону комплексных чисел и разложение числа на простые множители, но непонятно как быть с seed в качестве простого числа
может поможет, то Math.pow(7, 5) == 16807

Psycho Tiger 17.02.2017 10:07

Уже, наверное, поздно, но Nooob всецело прав насчёт паттернов рандома.
Например, рандом из 3 чисел вот такой: 1,2,3,1,2,3,1,2,3,1,2,3 идеален с точки зрения распределённости ( (и результат одинаков, будто-бы-есть-зерно), но бесполезен с точки зрения прикладного понимания рандома.
Рандом должен быть непредсказуем с точки зрения обывателя, на то он и рандом. По шуму хорошо видно, можно ли "предсказать" следующее число (или близкое к нему).

Nooob 03.03.2017 02:10

Спасибо Tiger, прям аргументированно высказал о чем я думал)


Часовой пояс GMT +4, время: 20:16.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.