Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];

Вниз

Как проверить генератор случайных чисел   Найти похожие ветки 

 
Multy   (2004-09-07 10:30) [0]

Есть программа которая в процессе работы использует встроенный генератор случайных чисел как проверить, что он действительно случайный.
По институту помню были какие то методы...


 
Digitman ©   (2004-09-07 10:35) [1]


> как проверить, что он действительно случайный


"В этом мире случайностей нет.."(с) МВ


 
TUser ©   (2004-09-07 10:37) [2]

Он не случайный. Он псевдослучайный. Но ты можешь проверить получаемую послеждовтаельность чисел на соотвествие предъявляемым требованиям, например равномерность распределения и пр.


 
Боян Георгиев   (2004-09-07 10:41) [3]

Можно проверить так:
Выполни Random(1000) 1000 разов и считай числа в 10 интервалам (1..100, 101..200, ..., 901..1000) и если счет в десетях интервалов равной, то генератор действительно случайный.


 
Digitman ©   (2004-09-07 10:42) [4]


> Multy


если тебе необходимо виз.представление распределения, то организуй 2-мерный integer-массив, в котором № элемента - это "случайное" число в диапазоне, не превышающем границы массива, а значение этого эл-та массива ты будешь увеличивать на 1-цу всякий раз, когда генератор выдаст очер.число, совпадающее с номером этого элемента

в цикле "от забора и до обеда" получай "случйное" число, ищи соотв.элемент массива и инкрементируй найденный элемент

после завершения цикла любым удобным способом визуализируй массив в виде столбчатого графика, где по оси Х - "случайные" числа, а по оси Y - кол-ва "выпадений" каждого из этих чисел


 
Multy   (2004-09-07 10:45) [5]

Ну и что из того, что псевдослучайный?
А проверить точно можно, хотябы примитивныой статистикой,
но на сколько я помню, есть конкретные методы с критериями и т.д.


 
TUser ©   (2004-09-07 10:48) [6]

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


 
Jeer ©   (2004-09-07 10:57) [7]

Поищи описание тестов DIEHARD. Это стандарт на сегодня для проверки "случайности" генераторов.


 
Рамиль ©   (2004-09-07 11:25) [8]

А с чего это распределение должно быть равномерным? Оно у Random равномерно. А программа может генерировать для себя любое распределение. Равномерность не может быть критерием случайности.


 
lehich ©   (2004-09-07 11:30) [9]

initialization
randomize;

????????? может так????


 
Jeer ©   (2004-09-07 11:32) [10]

В основе методов генерации "случайных" последовательностей с заданным распределением лежат, как правило" генераторы с равномерным распределением.
Если не оттестирован равномерный, то тестировать производный сложнее, да и неверно.


 
Romkin ©   (2004-09-07 11:37) [11]

Критериев полно. Возьми второй том Кнута, посмотри. Там они описаны. Но проверять генератор надо не на все критерии, а на нужные. А для этого надо знать, для чего нужен программе этот генератор. Одно дело - колоду карт перемешать, другое - найти методом Монте-Карло значение кратного интеграла. Во втором случае, кстати, прове6рка проще :)
А код генератора есть?


 
Koala ©   (2004-09-07 11:48) [12]

Не знаю точное условие задачи применения случайных чисел, но в клиент-банках (точно не скажу как) используется генератор случайных чисел совместно с движением мыши по экрану, генератор задает интервал при котором считываются координаты экрана и это более вероятность получения массива случайных чисел.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.033 c
1-1094267367
Aono4ever
2004-09-04 07:09
2004.09.19
Переход к фиксированному значению через текущее


1-1094040165
bloodman
2004-09-01 16:02
2004.09.19
Как получить доступ ко всем пунктам меню?


1-1094220978
bloodman
2004-09-03 18:16
2004.09.19
Еще 1 Легкий вопрос теперь про приведение типов.


4-1091624090
А. Н. Оним
2004-08-04 16:54
2004.09.19
WMI & Network Adapter


14-1093833942
Vitalik
2004-08-30 06:45
2004.09.19
Книга по COM





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский