Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Random. Как, собственно, он работает в общих чертах? (http://www.flasher.ru/forum/showthread.php?t=145464)

Contemplator 08.10.2010 14:10

Random. Как, собственно, он работает в общих чертах?
 
Вчера в голову взбрело: а как собственно он работает в общих чертах? т.е. как проходит выборка случайного (ну да, да, - псевдо-случайного, - не в этом суть) из диапазона? =))
Мат. подоплёка какая? =))

Psycho Tiger 08.10.2010 14:25

Ну нужен какой-то seed чтобы начать генерировать случайные числа. Этот seed калькулируется из системного времени. А потом крутится вертится и вот.

drnet_ua 08.10.2010 14:25

самый простой вариант:
RandSeed = любое число в диапазоне (0..1)
NextRandom = RandSeed;

следующее "случайное число":
NextRandom = ДробнаяЧасть((RandSeed+random)*(RandSeed+random));
NextRandom = ДробнаяЧасть( (1+NextRandom) * (1+NextRandom) );

но это самый простейший вариант :)

люди придумали все намного сложнее, нам на числовых методах очень нахваливали этот

Aiswer 08.10.2010 21:57

Да можно сделать полную случайность, которая равна что-то типа 0.000000000001, но такое мне кажется глупо. Лучше привязывать событие к католичеству попыток/действий, типа 1 к 1000, и точно знать что 1 к 1000 будет. (:

drnet_ua 08.10.2010 22:06

мысль непонятна

генераторы имеют несколько способов использования, и для некоторых случаев "случайность" должна быть контролируема.
простейший пример - рандсид от пароля - и вот тебе ключ какой-хочешь длинны, тут случайность будет лишней

далее вся эта кухня подчиняется законам распределения, у разных генераторов она разная, попытка "логически" привести одно распределение к другому ни к чему не хорошему приведет :) я пробывал

сам по себе генератор, в большинстве своем достаточно надежный, проблемма именно в стартовых условиях. время/действия пользователя и тд, чем случайней там личче


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

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