Хромосома (генетический алгоритм) - Chromosome (genetic algorithm)

В генетические алгоритмы, а хромосома (также иногда называют генотип) представляет собой набор параметров, которые определяют предлагаемое решение проблемы, которую пытается решить генетический алгоритм. Набор всех решений известен как численность населения.[1] Хромосому часто представляют как двоичную нить, хотя множество других структуры данных также используются.

Хромосомный дизайн

Конструкция хромосомы и ее параметры по необходимости зависят от решаемой проблемы. Традиционно хромосомы представлены в двоичном формате как строки из нулей и единиц, однако возможны и другие кодировки;[2] можно использовать практически любое представление, которое позволяет представить решение в виде строки конечной длины.[3] Поиск подходящего представления проблемной области для хромосомы является важным соображением, поскольку хорошее представление облегчит поиск, ограничив пространство поиска; аналогично, более плохое представление позволит расширить пространство поиска.[4] В мутация оператор и кроссовер Оператор, используемый генетическим алгоритмом, также должен учитывать дизайн хромосомы.

Пример 1: двоичное представление

Предположим, проблема состоит в том, чтобы найти целое значение от 0 до 255, что обеспечивает максимальный результат для . Возможные решения этой проблемы - целые числа от 0 до 255, которые могут быть представлены в виде 8-значных двоичных строк. Таким образом, мы можем использовать 8-значную двоичную строку в качестве нашей хромосомы. Если данная хромосома в популяции представляет собой значение 155, ее хромосома будет 10011011.

Обратите внимание, что это не тот тип проблемы, который обычно решается генетическим алгоритмом, поскольку ее можно тривиально решить с помощью численных методов; он используется только в качестве простого примера.

Пример 2: строковое представление

Более реалистичная проблема, которую мы могли бы решить, - это задача коммивояжера. В этой задаче мы ищем упорядоченный список городов, который обеспечивает самый короткий путь для продавца. Предположим, есть шесть городов, которые мы назовем A, B, C, D, E и F. Хорошим дизайном для нашей хромосомы может быть упорядоченный список, который мы хотим попробовать. Пример хромосомы, с которой мы можем столкнуться в популяции, может быть: DFABEC.

Отбор, кроссовер и мутация

В каждом поколении генетического алгоритма две родительские хромосомы выбираются на основе их значений пригодности; эти хромосомы используются операторами мутации и кроссовера для создания двух хромосом потомства для новой популяции.[3]

Рекомендации

  1. ^ «Введение в генетические алгоритмы: IV. Генетический алгоритм». Получено 12 августа 2015.
  2. ^ Уитли, Даррелл (июнь 1994). «Учебник по генетическому алгоритму». Статистика и вычисления. 4 (2). CiteSeerX  10.1.1.184.3999. Дои:10.1007 / BF00175354. S2CID  3447126.
  3. ^ а б "Что такое генетические алгоритмы?". Получено 12 августа 2015.
  4. ^ "Генетические алгоритмы". Получено 12 августа 2015.