random()

diphenyloxalate

Участник
Автор темы
19
10
Насколько случайна последовательность чисел, генерируемая функцией random()?
Я так понимаю, числа могут повторяться с определенным периодом, как в луа?
 

_Benya_

Участник
82
37
Последнее редактирование:

diphenyloxalate

Участник
Автор темы
19
10
Это все я уже читал
Вот смотрите, если на пустом сервере 1 игрок играет в казино, и каждый раз вызывается random(0,36) - можно ли имея последовательность уже выпавших значений, предугадать что выпадет? Именно основываясь на несовершенстве алгоритма, используемого в random()
 

repugnantbytheway

Известный
140
38
🥴 Поисковые системы просто залпом набиты требуемой тебе информацией, а ты создаёшь тему на форуме.

есть так называемый random seed - некое число, от которого отталкивается алгоритм при подсчёте псевдослучайного числа. обычно используют текущий timestamp, т.е. системную величину, которая отражает количество секунд от 1970 года, что позволяет каждый раз при генерации случайных чисел иметь различное стартовое число. так что если известен алгоритм нахождения конкретного случайного числа, а так же известен seed, то можно повторить любую последовательность этих псевдослучайных чисел.

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

и думаю что алгоритм рандома используется из си, ибо язык павн си-подобный. https://learnc.info/c/random.html
 
  • Злость
Реакции: diphenyloxalate и CHmoki

repugnantbytheway

Известный
140
38
С каких пор в pawn появились новые функции, которые никак не связаны с языком Си?
Скажешь может, что функция random в этих языках отличается друг от друга?
Это не копипаст из википедии, это ответ тебе от знающего человека.
 

Pakulichev

Software Developer & System Administrator
Друг
1,789
2,135
Функция random работает по принципу генератора псевдослучайных чисел и конечное число не является реально случайным, а лишь результатом определенных математических операций, прочитать про которые можно в одной из вышеуказанных статей на Википедии, либо на других ресурсах.