Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   рэндом- работа по алгоритму или поиск случайного? (https://forum.antichat.xyz/showthread.php?t=57694)

procedure 07.01.2008 14:52

рэндом- работа по алгоритму или поиск случайного?
 
В книге "php" (Крис Ньюмен) нашел одну интересную вещь. Здесь указывается что не бывает рэндомных значений. Все делается по алгоритму программы и если посчитать все с полным соответствием то можно предугадать резутльтат рэндомного значения.
Прямым текстом написано что не бывает воще в программировании случайных выражений все состоит строго по циклу.
1. Правду ли я прочитал?
2. (если правду) то можно ли как нибудь сделать вобще программу которая действительно будет высчитывать случайное число т.е. которое невозможно посчитать. ( я подразумеваю под тем что не человек будет например зниматся высчитыванием зарание значения рэндомного результата, а программа написанная для вычисления зарание предвиденного результата)
3. И все же, по какому алгоритму работает оператор random?
4. Хотелось бы ещё получить сведеня в целом о работе этого механизма и все что с ним связано, где его например можно применять? гже он полезен, а где можно обойтись и другим?

xGOR 07.01.2008 14:54

Обычно это число берется с времени... т.е. скажем считывается время (милесекунды) и это число и будет случайным.

procedure 07.01.2008 14:56

а мне казалось что все делается намного проще, с помощью массивов...
хотя кто какой алгоритм придумает...

Sharingan 07.01.2008 14:59

Абсолютно случайного числа сделать нельзя, все рандомы это псевдослучайные числа, предугадать ? ну в зависимости имееться ли ограничения в рандоме, если от 1 до 100 то можно, а вот больше, имхо практически невозможно. Даже граматно организованый рандом, можно сделать так что за большое время перебора нисовпадет ниодно значение...
Незнаю как в Пхп, но в Си алгоритм зависит от того как ты будешь этот рандом организовывать, тип данных, можно в зваисимости от времени и прочего.

procedure 07.01.2008 15:04

Sharingan->ну в принципе, я почему то уверен что можно....даже допустим по этому же времени....мы пишем программу в которую тупо забиваем время, с которого будет выведено случайное число...и по этому же алгоритму мы вычисляем результат....
Так же допустим если мы запускаем простую функцию нахожденияслучайного числа в каком либо промежутке чисел, то это число можно предугадать заглянув уже в сам код C. понимаешь меня?

ZaCo 07.01.2008 15:08

Цитата:

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

>>3. И все же, по какому алгоритму работает оператор random?
математическому - в общем случае задается рекурентная последовательность с заданным первым элементом и большим периодом, то есть если выпало число x, то в следующий раз оно выпадет только через сравнительно большое число итераций. почитай кнута :)

Цитата:

(если правду) то можно ли как нибудь сделать вобще программу которая действительно будет высчитывать случайное число т.е. которое невозможно посчитать.
да можно, программно, но не алгоритмически.

Sharingan 07.01.2008 15:09

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

procedure 07.01.2008 15:12

а именно на php можно? Как ты себе представляешь эту программу?

procedure 07.01.2008 15:13

Цитата:

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

_Great_ 07.01.2008 15:16

>>4. Хотелось бы ещё получить сведеня в целом о работе этого механизма и все что с ним связано, где его например можно применять? гже он полезен, а где можно обойтись и другим?
Псевдослучайных чисел обычно хватает за глаза. В шифровании для генерации ключа обычно используются более сильные коды, например, Win PGP просит подвигать мышкой для генерации ключа и считывает ее перемещения


Время: 02:29