Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
рэндом- работа по алгоритму или поиск случайного? |

07.01.2008, 14:52
|
|
Banned
Регистрация: 22.12.2007
Сообщений: 660
Провел на форуме: 3885269
Репутация:
1158
|
|
рэндом- работа по алгоритму или поиск случайного?
В книге "php" (Крис Ньюмен) нашел одну интересную вещь. Здесь указывается что не бывает рэндомных значений. Все делается по алгоритму программы и если посчитать все с полным соответствием то можно предугадать резутльтат рэндомного значения.
Прямым текстом написано что не бывает воще в программировании случайных выражений все состоит строго по циклу.
1. Правду ли я прочитал?
2. (если правду) то можно ли как нибудь сделать вобще программу которая действительно будет высчитывать случайное число т.е. которое невозможно посчитать. ( я подразумеваю под тем что не человек будет например зниматся высчитыванием зарание значения рэндомного результата, а программа написанная для вычисления зарание предвиденного результата)
3. И все же, по какому алгоритму работает оператор random?
4. Хотелось бы ещё получить сведеня в целом о работе этого механизма и все что с ним связано, где его например можно применять? гже он полезен, а где можно обойтись и другим?
Последний раз редактировалось procedure; 07.01.2008 в 15:00..
|
|
|

07.01.2008, 14:54
|
|
Участник форума
Регистрация: 25.11.2007
Сообщений: 119
Провел на форуме: 565921
Репутация:
88
|
|
Обычно это число берется с времени... т.е. скажем считывается время (милесекунды) и это число и будет случайным.
|
|
|

07.01.2008, 14:56
|
|
Banned
Регистрация: 22.12.2007
Сообщений: 660
Провел на форуме: 3885269
Репутация:
1158
|
|
а мне казалось что все делается намного проще, с помощью массивов...
хотя кто какой алгоритм придумает...
|
|
|

07.01.2008, 14:59
|
|
Участник форума
Регистрация: 05.05.2007
Сообщений: 171
Провел на форуме: 1050662
Репутация:
435
|
|
Абсолютно случайного числа сделать нельзя, все рандомы это псевдослучайные числа, предугадать ? ну в зависимости имееться ли ограничения в рандоме, если от 1 до 100 то можно, а вот больше, имхо практически невозможно. Даже граматно организованый рандом, можно сделать так что за большое время перебора нисовпадет ниодно значение...
Незнаю как в Пхп, но в Си алгоритм зависит от того как ты будешь этот рандом организовывать, тип данных, можно в зваисимости от времени и прочего.
Последний раз редактировалось Sharingan; 07.01.2008 в 15:02..
|
|
|

07.01.2008, 15:04
|
|
Banned
Регистрация: 22.12.2007
Сообщений: 660
Провел на форуме: 3885269
Репутация:
1158
|
|
Sharingan->ну в принципе, я почему то уверен что можно....даже допустим по этому же времени....мы пишем программу в которую тупо забиваем время, с которого будет выведено случайное число...и по этому же алгоритму мы вычисляем результат....
Так же допустим если мы запускаем простую функцию нахожденияслучайного числа в каком либо промежутке чисел, то это число можно предугадать заглянув уже в сам код C. понимаешь меня?
|
|
|

07.01.2008, 15:08
|
|
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме: 4610226
Репутация:
1332
|
|
Здесь указывается что не бывает рэндомных значений. Все делается по алгоритму программы и если посчитать все с полным соответствием то можно предугадать резутльтат рэндомного значения.
ну вообще если только алгоритм работает в контексте одного процесса и не зависит от "жизненных" характеристик - время, температура и т.п.
>>3. И все же, по какому алгоритму работает оператор random?
математическому - в общем случае задается рекурентная последовательность с заданным первым элементом и большим периодом, то есть если выпало число x, то в следующий раз оно выпадет только через сравнительно большое число итераций. почитай кнута
(если правду) то можно ли как нибудь сделать вобще программу которая действительно будет высчитывать случайное число т.е. которое невозможно посчитать.
да можно, программно, но не алгоритмически.
|
|
|

07.01.2008, 15:09
|
|
Участник форума
Регистрация: 05.05.2007
Сообщений: 171
Провел на форуме: 1050662
Репутация:
435
|
|
Ну так, смотри несмотря на время, рандом может выдать тысячи значений, ну поставишь ты такой же алгоритм, и все равно оно выдаст не то значение что срандомизировало, ну если сомниваешься, попробуй написать программу...
|
|
|

07.01.2008, 15:12
|
|
Banned
Регистрация: 22.12.2007
Сообщений: 660
Провел на форуме: 3885269
Репутация:
1158
|
|
а именно на php можно? Как ты себе представляешь эту программу?
|
|
|

07.01.2008, 15:13
|
|
Banned
Регистрация: 22.12.2007
Сообщений: 660
Провел на форуме: 3885269
Репутация:
1158
|
|
Ну так, смотри несмотря на время, рандом может выдать тысячи значений, ну поставишь ты такой же алгоритм, и все равно оно выдаст не то значение что срандомизировало, ну если сомниваешься, попробуй написать программу...
очень большой процесс геморойа...лучше представить это все в теории и убедится..
|
|
|

07.01.2008, 15:16
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
>>4. Хотелось бы ещё получить сведеня в целом о работе этого механизма и все что с ним связано, где его например можно применять? гже он полезен, а где можно обойтись и другим?
Псевдослучайных чисел обычно хватает за глаза. В шифровании для генерации ключа обычно используются более сильные коды, например, Win PGP просит подвигать мышкой для генерации ключа и считывает ее перемещения
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|