Генерація випадкових чисел

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Генератор випадкових чисел (англ. Random number generator; часто скорочується як RNG, ГВЧ) — обчислювальний або фізичний пристрій, спроектований для генерації послідовності номерів чи символів, які не відповідають будь-якому шаблону, тобто є випадковими. Широко використовуються комп'ютерні системи для генерації випадкових чисел, але часто вони малоефективні. Ці функції, можливо, забезпечують достатньо випадковості для певних завдань (наприклад, для відеоігор), але є непридатними в тих випадках, коли потрібна «високоякісна випадковість», як, наприклад, у криптографічних програмах, статистиці або чисельному аналізі. Методи добування випадкових результатів існували здавна, зокрема, використання гральних костей, підкидання монети, тасування ігрових карт та ін.

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

До появи обчислювальних генераторів випадкових чисел, для отримання великої кількості достатньо випадкових номерів (важливо в статистиці) треба було багато роботи. Результати іноді узагальнювали й розповсюджували як таблиці випадкових чисел.

Таблиці випадкових чисел

[ред. | ред. код]

Такі таблиці заповнюються реалізаціями випадкової величини з заданим розподілом. Представлені у таких таблицях вибірки дуже[джерело?] якісні, та вони мають обмежений розмір. Кількість таких вибірок невелика, що суттєво обмежує їх використання.

Генерація на основі фізичних процесів

[ред. | ред. код]

Генератором є певний електронний пристрій, на виході якого у тій чи іншій формі присутній випадковий сигнал. Такі генератори дозволяють отримувати вибірку довільного обсягу. Кожна отримана вибірка унікальна, і її неможливо повторити.[джерело?]

Програмна генерація псевдовипадкових чисел

[ред. | ред. код]

Псевдовипадкова послідовність генерується комп'ютерною програмою. Зазвичай такі програми базуються на деякій рекурентній формулі.[джерело?] Задаючи однакові початкові члени послідовності можна щоразу отримувати однакові послідовності. Числа які вони генерують називають «псевдовипадковими» бо вони отримуються за чітким детермінованим алгоритмом.

Посилання

[ред. | ред. код]