В ответе с 44 голосами диапазон был нормализован от 0 до 1, что легче понять, но требует дополнительных шагов для вычислений.
Вы можете реализовать упомянутый подход. Таким образом, при вычислении суммы каждая отдельная хромосома добавляет свой собственный value
, поэтому, когда случайное число генерируется между 0 и S, мы предполагаем, что если r находится между двумя числами, диапазон которых равен вышеупомянутому value
, он выбирается с помощью вероятность пропорциональна его значению пригодности. Чем больше значение, тем больше вероятность того, что r попадет в свой диапазон.
Например, предположим, что хромосома, имеющая пригодность 23 (предположение), является 5-й хромосомой при повторении и общая сумма S равна 130. Сумма первых 4 хромосом, скажем, равна 54. Итак, если random r
находится между 55 и 77 (обе включительно) выбирается эта хромосома.
После нормализации 55/130 ~ = 0,423 и 77/130 ~ = 0,5923 - это диапазон, в который должно попадать случайное число r2
(от 0 до 1) для выбора этой хромосомы.
person
guroosh
schedule
13.02.2019