Как я могу установить хромосому с неповторяющимися аллелями, используя 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 ответ

Я предполагаю, что вы говорите о создании начальной популяции ГА, и что вам нужно сделать, это создать много случайных порядков определенного списка значений.

Есть много способов сделать это, вот две возможности:

  1. Создайте массив всех возможных значений, перемешайте его, скопируйте в новую хромосому, повторите... (вы можете назначить случайное действительное значение каждому возможному значению, а затем упорядочить значения по случайному значению).
  2. Поместите все значения в список, выберите случайный элемент из списка, удалите его и добавьте его в хромосому, пока в списке больше не останется значений, повторите...
Другие вопросы по тегам