Это сложный вопрос; Я постараюсь объяснить немного, не уходя слишком далеко в сорняки.
Во-первых, мы должны спросить «что такое настоящая случайность»? Такие дискуссии быстро вырождаются в философские воды, но суть в том, что «вселенная действительно случайна»? Другими словами, если вы квантоваете время и материю, можете ли вы вычислить следующее состояние вселенной из текущего? Если да, то вселенная детерминирована и в ней нет случайности (понимаете, что я имею в виду под «философским»?)
Поскольку «истинную случайность» трудно определить, мы часто соглашаемся на «псевдослучайность». Это обычно требуется при генерации «случайных» чисел на компьютере, конечно.
Простейшим генератором псевдослучайных чисел было бы что-то вроде знаменитого алгоритма Дилберта «9 .. 9 .. 9 ..». Но интуитивно это не кажется очень хорошим (что, конечно, шутка). Статистики разработали целый ряд тестов, чтобы сказать, является ли последовательность предположительно случайных выходных данных «хорошей». Начните со страницы Википедии для «теста хи-квадрат», и вы можете провести день, просто читая об этих тестах.
Простой компьютерный алгоритм, такой как «линейный конгруэнтный генератор», выдает числа, достаточно хорошие для теста хи-квадрат (однако, вам все равно нужно «отобрать» этот алгоритм из чего-то).
Следующим шагом в «доброте» является «криптографически сильная случайность», что означает, что при заданной последовательности a1, a2, ... вы не можете предсказать следующее число в последовательности с «разумной вероятностью», если не будете использовать много вычислений. Эти числа иногда называют «вычислительно псевдослучайными». Один из распространенных способов получения такой последовательности - через «хэш-цепочку», подобную этой: a1 = SHA512 (a2), a2 = SHA512 (a3), ... Поскольку мы считаем (основываясь на опыте, а не математическим доказательством), что SHA512 вычислительно трудно инвертировать, мы считаем, что a2 «невозможно» предсказать, учитывая только a1.
Итак, теперь возникает вопрос: что лучше всего делать людям по правилам, изложенным в вашем вопросе? Люди, как известно, плохо генерируют случайность; раньше был веб-сайт, на котором вы пытались бы генерировать броски монет, «случайным образом» печатая H, T, T, H, H, T, T и т. д., как если бы вы подбрасывали монету (но вы делаете это в твоя голова). Через некоторое время веб-сайт начнет предсказывать ваши сальто лучше, чем в 50% случаев (используя скрытую марковскую модель). Мы просто плохи в этом.
Существуют способы улучшить ситуацию, используя различные методы смешивания, которые, вероятно, выполнимы в вашей голове. И есть даже приложения, которые я мог бы придумать, зачем вам это нужно (политзаключенный хочет зашифровать сообщение сторонним союзникам). Но я думаю, что этот пост достаточно длинный. :)