Как я могу установить хромосому с неповторяющимися аллелями, используя JGAP?
Я использую JGAP для своего кода, и я хочу оценить хромосомы как это:
Evaluation 0:
1 2 3 4 5 6 7 8 9
Evaluation 1:
3 5 2 1 4 6 7 8 9
До сих пор я получаю хромосомы с повторяющимися аллелями, вот так:
Evaluation 1:
3 3 5 6 7 8 9 9 1
Есть ли какая-либо конфигурация, которую я могу использовать, чтобы получить хромосомы с неповторяющимися аллелями?
1 ответ
Я предполагаю, что вы говорите о создании начальной популяции ГА, и что вам нужно сделать, это создать много случайных порядков определенного списка значений.
Есть много способов сделать это, вот две возможности:
- Создайте массив всех возможных значений, перемешайте его, скопируйте в новую хромосому, повторите... (вы можете назначить случайное действительное значение каждому возможному значению, а затем упорядочить значения по случайному значению).
- Поместите все значения в список, выберите случайный элемент из списка, удалите его и добавьте его в хромосому, пока в списке больше не останется значений, повторите...