Генерация случайного взвешенного значения
Редактировать: Я переписал вопрос в надежде, что цель немного яснее.
Это расширенный вопрос к этому вопросуВоти мне очень нравится функция, представленная вэтот ответ.
В ответе выше можно установить вероятность достижения экстремума, причем более высокие числа дают более высокую вероятность получения меньших чисел, и наоборот. Проблема в том, что я должен установить вероятности для 3 групп. Такими группами являются наименьшее значение (LV), наивысшее значение (HV) и среднее значение (MV). Однако, чтобы упростить запрос, мы можем рассмотретьEVP=HVP=LVP
.
Данолюбой В диапазоне, HV / LV должны отображаться на основе указанного EVP, и по мере того, как вы продвигаетесь / понижаетесь через диапазон от каждого экстремума, вероятность следующего значения в диапазоне будет увеличиваться или уменьшаться в зависимости от расстояния между EVP и MVP. ,
Используя примерный диапазон 1-6, где 1 и 6 взвешены на 5% (EVP), разброс вероятности будет 1/6 - 5%, 2/4 - 15%, а 3/4 - 30% (MVP ), на общую сумму 100%. Обратное также должно быть возможным, обмен EVP и MVP должен произвести инверсию графика ниже.
Вот изображение, которое, я надеюсь, передаст результаты, ожидаемые от данного примера.
Средневзвешенный:
Бонус: Было бы замечательно, если бы я мог устанавливать HVP и LVP отдельно, получая результат, подобный графику ниже (Примечание: график не соответствует спецификации выше).
Средневзвешенный (бонус):
Спасибо!