Московский государственный университет путей сообщения
Опубликован: 10.10.2014 | Доступ: свободный | Студентов: 866 / 193 | Длительность: 22:10:00
Лекция 6:

Генетическое программирование

6.7. Интроны

Программы, построенные с помощью методов ГП, имеют тенденцию к накоплению интронов – ненужных и непригодных участков кода

Например:

(NOT(NOT x)) ,
(AND (ORXX)),
(+… (-XX)),
(+X0),
(*X1),
(*(DIV XX)),
(MOVE_LEFT MOVE_RIGHT),
(IF (2=1) . . . ),
A:=A.

Таких фрагментов в программе возникает достаточно много (их количество может достигать 60%), и обнаружение и удаление интронов представляет серьезную проблему в ГП. Разработаны специальные методы для их устранения. Интересно отметить, что в живой природе интронов также достаточно много (в частности, на генном уровне существуют "лишние" участки ДНК).

6.8. Общий алгоритм генетического программирования

Таким образом, для решения задачи с помощью ГП необходимо выполнить описанные выше предварительные этапы:

  1. Определить терминальное множество;
  2. Определить функциональное множество;
  3. Определить фитнесс-функцию;
  4. Определить значения параметров, такие как мощность популяции, максимальный размер особи, вероятности кроссинговера и мутации, способ отбора родителей, критерий окончания эволюции (например, максимальное число поколений) и т.п

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

Например, решение задачи на основе ГП можно представить следующей последовательностью действий:

  1. установка параметров эволюции;
  2. инициализация начальной популяции;
  3. t:=0
  4. оценка особей, входящих в популяцию;
  5. t:=t+1
  6. отбор родителей;
  7. создание потомков выбранных пар родителей – выполнение оператора кроссинговера;
  8. мутация новых особей;
  9. расширение популяции новыми порожденными особями;
  10. сокращение расширенной популяции до исходного размера;
  11. если критерий останова алгоритма выполнен, то выбор лучшей особи в конечной популяции – результат работы алгоритма. Иначе переход на шаг 4.

Следует отметить, что в ГП достаточно часто применяется асинхронный ГА, рассмотренный в разделе 4.6.