Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.03.2012, 22:08
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 1  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
По умолчанию Ищу наиболее естественный seed random алгоритм.

Посоветуйте, пожалуйста, наиболее точный seed randomizer алгоритм.
Требования простые...
Чтобы был наиболее естественным.

Последний, который посмотрел, самый простой и быстрый, и наиболее естественно выглядящий генератор выглядит так:

Код AS3:
curSeed = (curSeed * 16807) % 2147483647;
return curSeed / 0x7FFFFFFF + 0.000000000233;

Старый 27.03.2012, 22:33
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 2  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Из текущих секунд доставать, например
__________________
adobe AS3 manual

Старый 27.03.2012, 22:48
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 3  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
Эй, каких секунд, надо же Seed random.

Старый 27.03.2012, 23:15
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 4  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
прощу прощения, прочитал как "мне нужен мега случайный рандомайзер"
__________________
adobe AS3 manual

Старый 27.03.2012, 23:50
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 5  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
естественно выглядящий
А можно более формализированные критерии?
__________________
Отряд Котовскага

Старый 27.03.2012, 23:58
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 6  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
Конечно...
Выше упомянотому генератору ставлю вероятность выпадения нужного числа 0.000026% что равно 1/3841314.
Делаю цикл из 3841314 итерации, и смотрю сколько раз выпало число меньше 0.000026, и это число выпадает больше 1 раза, я бы даже сказал больше 30 раз. Как то многовато. В среднем от 20-40. Хотелось бы видеть значение максималбно приближенное к 1.

Старый 28.03.2012, 02:45
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Я не уверен откуда алгоритм, но есть предчувствие, что в оригинале использовался double а не float. Поэтому и результат такой.
А нужно это для криптографии, или для просчета каких-нибудь игровых вещей, где предсказуемость не играет роли? Я просто думал, а что если просто найти один сид, который удовлетворяет условию и его и использовать, если конечно, предсказуемость не важна.
__________________
Hell is the possibility of sanity

Старый 28.03.2012, 09:45
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 8  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
Да нет, как в оригинале.
Играет роль, сид генериться случайно, по другому алгоритму. Так что подобрать идеальный сид... нет.

Добавлено через 1 час 23 минуты
PS: Что-то я наврал, по поводу выпадения "В среднем от 20-40" при шансе 1/3841314. До этого считал на глаз, значений было больше 5 и я уже даже не сильно обращал внимание на точное кол-во. Сейчас посчитал точно, и все генераторы в среднем выдают от 90-110 выпадений, при шансе 1/3841314. Лучшие выдают от 90-100.

И решение как бы очевидное, чтобы получить шанс 1/3841314, надо просто пороговое значение (0.000026%) разделить еще на 100, и получаю то что надо. Но вот только я задумался, а в жизни то как, может 100 раз выпадение это так и должно быть? Бред...


Последний раз редактировалось Tr1te; 28.03.2012 в 11:12.
Старый 28.03.2012, 11:13
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 9  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
http://en.wikipedia.org/wiki/Xorshift

Старый 28.03.2012, 11:22
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 10  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Цитата:
Лучшие выдают от 90-110.
Они правы!

Вы не учитываете, что 1 == 100%, отсюда и проблема. 1/3841314 == 0.000026 == 0.0026%

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:20.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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