![]() |
Ищу наиболее естественный seed random алгоритм.
Посоветуйте, пожалуйста, наиболее точный seed randomizer алгоритм.
Требования простые... :) Чтобы был наиболее естественным. Последний, который посмотрел, самый простой и быстрый, и наиболее естественно выглядящий генератор выглядит так: Код AS3:
|
Из текущих секунд доставать, например
|
Эй, каких секунд, надо же Seed random.
|
прощу прощения, прочитал как "мне нужен мега случайный рандомайзер" :)
|
Цитата:
|
Конечно...
Выше упомянотому генератору ставлю вероятность выпадения нужного числа 0.000026% что равно 1/3841314. Делаю цикл из 3841314 итерации, и смотрю сколько раз выпало число меньше 0.000026, и это число выпадает больше 1 раза, я бы даже сказал больше 30 раз. Как то многовато. В среднем от 20-40. Хотелось бы видеть значение максималбно приближенное к 1. |
Я не уверен откуда алгоритм, но есть предчувствие, что в оригинале использовался double а не float. Поэтому и результат такой.
А нужно это для криптографии, или для просчета каких-нибудь игровых вещей, где предсказуемость не играет роли? Я просто думал, а что если просто найти один сид, который удовлетворяет условию и его и использовать, если конечно, предсказуемость не важна. |
Да нет, как в оригинале.
Играет роль, сид генериться случайно, по другому алгоритму. Так что подобрать идеальный сид... нет. Добавлено через 1 час 23 минуты PS: Что-то я наврал, по поводу выпадения "В среднем от 20-40" при шансе 1/3841314. До этого считал на глаз, значений было больше 5 и я уже даже не сильно обращал внимание на точное кол-во. Сейчас посчитал точно, и все генераторы в среднем выдают от 90-110 выпадений, при шансе 1/3841314. Лучшие выдают от 90-100. И решение как бы очевидное, чтобы получить шанс 1/3841314, надо просто пороговое значение (0.000026%) разделить еще на 100, и получаю то что надо. Но вот только я задумался, а в жизни то как, может 100 раз выпадение это так и должно быть? Бред... |
|
Цитата:
Вы не учитываете, что 1 == 100%, отсюда и проблема. 1/3841314 == 0.000026 == 0.0026% |
| Часовой пояс GMT +4, время: 11:55. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.