Скажем, у меня есть несколько неравных значений a, b, c, d, e. Можно ли превратить эти неравные значения в равные значения, просто используя генерацию случайных чисел?
Пример: а=100, b=140, c=200, d=2, e=1000. Я хочу, чтобы алгоритм случайным образом нацеливался на эти наборы, чтобы наибольшее значение использовалось чаще всего, а наименьшее значение оставалось в покое для большинства частей.
Области, в которых я столкнулся с проблемами: если я просто использую генерацию неуникальных случайных чисел, то значение e в конечном итоге окажется под другими значениями. Если я использую генерацию уникальных чисел, то соотношение между значениями не меняется, даже если меняются их абсолютные значения. Я пытался использовать наборы, в которых определенный диапазон чисел должен быть набран определенное количество раз, прежде чем значение изменится. Я еще не пробовал использовать сочетание уникальных/неуникальных случайных чисел.
Я хочу, чтобы соотношение между значениями постепенно приближалось к 1 по мере выполнения алгоритма.
Другой способ решить проблему: скажем, эти значения a, b, c, d, e равны. Если мы случайно выберем один, каждый из них будет выбран с такой же вероятностью, как и любой другой. После того, как мы выберем один, мы добавляем 1 к этому значению. Затем снова запускаем этот процесс. На этот раз значение, которое было выбрано в прошлый раз, на 1 больше, чем любое другое значение, поэтому вероятность выбора его выше, чем любого другого значения. Это создает эффект снежного кома, когда значение, выбранное первым, скорее всего, будет продолжать выбираться и достигать стремительного роста. Я ищу противоположность этому алгоритму, когда мы начинаем после того, как эти изначально равные значения расходятся, и возвращаем их в исходно-равное состояние.
Я думаю, что этот процесс невозможен из-за энтропии и врожденной односторонней природы существования.