Каков наилучший алгоритм, позволяющий взять длинную последовательность целых чисел (скажем, 100 000 из них) и вернуть измерение того, насколько случайной является последовательность?
Функция должна возвращать один результат, скажем, 0, если последовательность не является случайной, до, скажем, 1, если она абсолютно случайна. Это может дать что-то промежуточное, если последовательность несколько случайна, например, 0,95 может быть достаточно случайной последовательностью, тогда как 0,50 может иметь некоторые неслучайные части и некоторые случайные части.
Если бы я должен был передать первые 100 000 цифр числа Пи в функцию, это должно было бы дать число, очень близкое к 1. Если я передал ей последовательность 1, 2,... 100 000, она должна вернуть 0.
Таким образом, я могу легко взять 30 последовательностей чисел, определить, насколько случайным является каждое из них, и вернуть информацию об их относительной случайности.
Есть ли такое животное?
.....
Обновление 24 сентября 2019 г.: Возможно, Google только что вступил в эру квантового превосходства. говорит:
"Квантовый компьютер Googles, как сообщается, смог выполнить вычисление, доказав случайность чисел, генерируемых генератором случайных чисел, за 3 минуты и 20 секунд, что займет около 10 000 лет самому быстрому традиционному суперкомпьютеру в мире, Summit. Это фактически означает, что вычисления не могут быть выполнены традиционным компьютером, что делает Google первым, кто продемонстрирует квантовое превосходство. "
Очевидно, что существует алгоритм "доказать" случайность. Кто-нибудь знает, что это? Может ли этот алгоритм обеспечить меру случайности?