> Я про компьютерный рандом ничего не знаю и знать не хочу.
Но пользуешься им. То есть ты пользуешься чем-то, про устройство чего ничего не желаешь знать, просто внушая себе его надёжность? Это плохо.
> Меня "сферические кони в вакууме" как-то мало интересуют.
А это не сферический, это тот, который используется в программе.
> Где вероятность того, что рандом будет постоянно возвращать одно и то же число (если только он не вырожден как Random(1)) ? Чему она равна?
Это я задал вопрос. Где гарантия того, что так не будет?
> Никогда за почти 2 десятка лет Random не вел себя иначе чем так, как он него требовалось.
Да? Рандом имеет свойство зацикливаться. Какой цикл у паскалевского рандома?
> это проверялось мной лично неоднократно на выборках любого размера - от минимального до огромного
С этого и надо начинать. Что "мой опыт говорит о том, что данный закон выполняется, гарантировать ничего не могу, но количество наблюдений говорит о том, что вероятность неприятностей минимальна".
> Это твои личные фантазии.P.S. Ну, а ты можешь с чистой совестью прекратить заниматься программированием...
Остынь.
Добавлено через 19 мин. http://ru.wikipedia.org/wiki/Линейный_конгруэнтный_методЦитата
При этом длина периода равна m тогда и только тогда, когда:
НОД (c, m) = 1 (то есть c и m взаимно просты);
a - 1 кратно p для всех простых делителей p числа m;
a - 1 кратно 4, если m кратно 4.
Borland Delphi, Virtual Pascal m=232 a=134775813 c=1
Условие на НОД выполнено
условия 2 и 3 тоже
Да, RandSeed действительно пробегает все значения от 0 до 2^32-1.
В данном случае это гарантирует отсутствие бесконечного ожидания.
Хорошо, приношу свои извинения. Но без анализа что-то утверждать - голословно.
Добавлено через 1 мин. m=2^32, а не 232, разметка не скопировалась.