Випадко́ві чи́сла — числа, кожне з яких обирається незалежно і непередбачувано в межах заданого діапазону чи розподілу ймовірностей. У широкому сенсі це або справжні випадкові числа, отримані з фізичних джерел ентропії (квантовий шум, радіоактивний розпад, тепловий шум), або псевдовипадкові числа, згенеровані детермінованими алгоритмами, що імітують властивості випадковості.

Випадкові числа є фундаментальним інструментом статистики, криптографії, комп’ютерного моделювання (зокрема методу Монте-Карло), машинного навчання, ігор, лотерей та багатьох інших галузей. Від якості генератора випадкових чисел часто залежить безпека систем (наприклад, генерація криптографічних ключів) або достовірність наукових симуляцій.

Історія випадкових чисел Людство використовує випадковість тисячоліттями — спочатку для ігор, ворожінь і прийняття рішень, а з XIX століття — як науковий інструмент.

Давні часи Найдавніші відомі гральні кістки та астрагали датуються III тисячоліттям до н. е. (Єгипет, Месопотамія, Китай). У Стародавньому Римі жереб (лат. sors) застосовували для розподілу посад і земель. У Біблії жереб неодноразово згадується як спосіб дізнатися волю Бога (Книга Йони, Дії апостолів — вибір Маттія).

XIX — перша половина XX століття Систематичне наукове використання випадковості почалося в епоху розвитку статистики та ймовірності.

1890 — англійський учений Френсіс Гальтон пропонує використовувати звичайні шестигранні гральні кістки для отримання випадкових чисел у статистичних дослідах. 1920-1930-ті — Рональд Фішер вводиться принцип рандомізації в плануванні експериментів, особливо сільськогосподарських. 1927 — Фішер публікує першу невелику таблицю випадкових цифр. 1939 — британський статистик Л. Г. К. Тіппетт видає таблицю з 41 600 цифр.

1955 — американська корпорація RAND Corporation випускає книгу «A Million Random Digits» — мільйон випадкових цифр, отриманих електронно-механічним способом. Ця таблиця на десятки років стала світовим стандартом.

1940-1950-ті: народження комп’ютерної випадковості Під час роботи над атомною бомбою фізики зіткнулися з задачами, які неможливо було розв’язати аналітично.

1946–1947 — Джон фон Нейман, Станіслав Улам і Ніколас Метрополіс на комп’ютері ENIAC вперше масово генерують псевдовипадкові числа за допомогою методу Монте-Карло для моделювання нейтронних реакцій. 1948 — Деррік Генрі Лемер пропонує лінійний конгруентний генератор — перший широко використовуваний алгоритмічний генератор псевдовипадкових чисел. 1951 — фон Нейман у статті «Various techniques used in connection with random digits» жартома застерігає: «Той, хто намагається арифметичними методами виробляти випадкові цифри, звичайно ж, перебуває в стані гріха».

1960-1990-ті: від науки до повсякденності З появою персональних комп’ютерів і відеоігор псевдовипадкові генератори стають частиною кожного комп’ютера.

1997 — японські математики Макото Мацумото і Такудзі Нішикура створюють Mersenne Twister — генератор з періодом 2¹⁹⁹³⁷−1, який і досі є стандартним у Python, PHP, Ruby, Microsoft Excel, MATLAB тощо.

XXI століття: повернення справжньої випадковості Зростання криптографії та поява квантових технологій знову підняли інтерес до справжніх (недетермінованих) випадкових чисел.

2001 — швейцарська компанія id Quantique випускає перший комерційний квантовий генератор випадкових чисел. 2010-ті — з’являються генератори на основі атмосферного шуму, теплового шуму, лавових ламп (використовує CloudFlare), квантових фотонів. 2020-ті — демонструються генератори на основі стохастичного синтезу ДНК та коливань у вакуумі.

Сьогодні випадкові числа непомітно керують більшістю цифрового світу: шифрують повідомлення, генерують рівні в іграх, обирають переможців лотерей, ініціалізують нейронні мережі та забезпечують безпеку інтернету.

Застосування випадкових чисел Випадкові числа є одним із фундаментальних інструментів сучасного світу. Вони забезпечують чесний і неупереджений розподіл завдяки рандомізації у клінічних дослідженнях, соціологічних опитуваннях і жеребкуваннях; дозволяють моделювати складні природні, фізичні та економічні процеси за допомогою методу Монте-Карло; створюють надійні криптографічні ключі та захищають практично всі інтернет-з’єднання за протоколами TLS і HTTPS; генерують різноманітні процедурно згенеровані ігрові світи, рівні, музику й генеративне мистецтво; перемішують дані під час навчання нейронних мереж, додають шум у генеративно-змагальних та дифузійних моделях, завдяки чому сучасний штучний інтелект здатен творити тексти, зображення й відео; випадковим чином обирають рекламу, формують стрічки соцмереж, розподіляють навантаження між серверами, захищають від ботів за допомогою CAPTCHA і навіть визначають порядок пісень у вашому плейлисті. Простіше кажучи, без якісних генераторів випадкових чисел не працювала б більшість того, що ми вважаємо сучасною цивілізацією — від смартфона в кишені до супутників на орбіті й великих мовних моделей.

Способи отримання Відомі три способи отримання випадкових чисел: з допомогою таблиць випадкових чисел; з допомогою спеціальних пристроїв — генераторів випадкових чисел; шляхом заміни випадкових чисел послідовністю так званих псевдовипадкових чисел.

Випадкові числа, які використовуються для моделювання деякої випадкової системи мають задовольняти двом основним вимогам: із достатньою точністю відтворювати поведінку модельованої випадкової величини із заданим розподілом; потребувати мінімальну кількість операцій машини, які необхідні для формування одного випадкового числа.

Будь-яка послідовність випадкових чисел лише приблизно відтворює поведінку модельованої випадкової величини. Точність такого наближення можна визначати проводячи статистичну оцінку послідовності випадкових чисел достатньо великого обсягу, використовуючи відомі статистичні критерії, наприклад критерій χ2.

Джерела інформації Енциклопедія кібернетики, Костіна Н. И., т. 2, ст. 377. Knuth Donald Ervin. The Art of Computer Programming. Том 2. Seminumerical Algorithms (англ.). — 3-тє вид. — Рідінг, Массачусетс : Addison-Wesley, 1997. — С. 1–177. — ISBN 978-0-201-89684-8. Barker E., Kelsey J. Recommendation for Random Number Generation Using Deterministic Random Bit Generators (англ.) // National Institute of Standards and Technology (NIST). Special Publication 800-90A Revision 1. L’Ecuyer Pierre. History of Uniform Random Number Generation // Proceedings of the 2017 Winter Simulation Conference (WSC). — 2017. — С. 1–15. — DOI:10.5555/3248984.3248985.

Див. також Випадкова величина Генерація випадкових чисел Генератор псевдовипадкових чисел