2013-06-13 3 views
0

Я чрезвычайно новичок в концепции генерации случайных чисел, и мне нужно создать собственный алгоритм работы, написанный на C (встроенный генератор случайных чисел не будет работать для меня) ,Хорошее введение в (псевдо) генерирование случайных чисел

Может ли кто-нибудь указать мне хорошее введение в тему, чтобы я мог понять концепцию? Все, что я нашел до сих пор, похоже, объясняет себя с точки зрения самого себя, и это не очень полезно.

Я ищу объяснение непрофессионала по этой теме.

+0

https://en.wikipedia.org/wiki/Pseudorandom_number_generator? – karthikr

+0

уже есть – audiFanatic

+0

Возможно, вам будет полезно объяснить, почему генератор C не будет работать для вас. В противном случае ответчики могут неосознанно предлагать алгоритмы, которые имеют одинаковую проблему «не сработают для вас». – Kevin

ответ

0

хорошее место, чтобы начать обучение, статьи Википедии довольно хорошо, и гораздо более уточненный, чем, скажем, Кнута. Также проверьте this paper Дэвид Джонс.

Если C не подходит для вас, рассмотрите также внешнюю библиотеку, например, мое собственное общедоступное доменное имя ojrandlib, которое дает вам выбор таких алгоритмов, как MWC Marsaglia, Mersenne Twister и другие.

+0

мой руководитель предложил мне посмотреть на Tiny Mersenne Twister (http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html). Вероятно, это то, с чем я закончу, но опять же, я ненавижу использовать код, о котором я не понимаю. Как стажер, этот материал сейчас намного выше моей головы. – audiFanatic

+0

Лично я считаю, что MT немного переоценивается, но я включил его в качестве опции в свою библиотеку, потому что он популярен. Я лично предпочитаю JKSIS Jones, когда мне нужны лучшие статистические свойства, или MWC для скорости. –

+0

Спасибо за подсказку, я обязательно посмотрю на это. – audiFanatic

0

Первая половина тома 2 Кнута («Семинумерные алгоритмы») посвящена генерации случайных чисел. Он рассказывает о нескольких генераторах псевдослучайных чисел, затем он много времени рассказывает о том, какие свойства делают «хороший» PRNG для большинства целей. Это, вероятно, стоит прочитать, если ваша работа заключается в создании PRNG, который не сосать.

Возможно, вы также захотите посмотреть на работу Джорджа Марсалья.

+1

Pierre L'Ecuyer также стоит посмотреть. http://www.iro.umontreal.ca/~lecuyer/papers.html – rossum

Смежные вопросы