Это основано на этом вопросе . Был предложен ряд ответов, которые генерируют неравномерное распределение, и я начал задаваться вопросом, как количественно оценить неравномерность выходных данных. Я не ищу проблемы с шаблонами, а просто аспекты с одним значением.
Какие процедуры принимаются?
В настоящее время я думаю о том, чтобы вычислить среднюю энтропию Шеннона за вызов, вычислив энтропию каждого значения и взяв средневзвешенное значение. Затем это может быть сопоставлено с ожидаемым значением.
Мои опасения
- Это правильно?
- Как вычислить эти значения без потери точности?
Для # 1 мне интересно, правильно ли я понял.
Для # 2 проблема в том, что я буду обрабатывать числа с величинами, такими как 1/7 +/- 1e-18, и я беспокоюсь, что ошибки с плавающей запятой убьют меня для любых, кроме самых маленьких проблем. Точная форма вычислений может привести к некоторым существенным различиям здесь, и я, кажется, напоминаю, что есть некоторые опции ASM для некоторых особых случаев регистрации, но я не могу найти документы по этому поводу.
В этом случае используется «хороший» PRNG для диапазона [1,n]
и генерация SRNG для диапазона [1,m]
. Вопрос в том, насколько результаты хуже, чем ввод?
То, что у меня есть, - это ожидаемые частоты появления для каждого выходного значения.