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