Генетическое программирование (ГП) - метод синтеза программ, основанный на генетических алгоритмах. Автор ГП J.R Koza определил генетическое программирование как прикладные программы, использующие принципы эволюционной адаптации к конструкции процедурного кода.
Отличие ГП от генетических алгоритмов (ГА) состоит в том, что в хромосоме кодируются не управляемые параметры, а фрагменты программы, с помощью которой можно рассчитать искомые управляемые параметры. Декодирование хромосомы дает алгоритм (программу), в результате исполнения которой получают значение целевой функции.
Примером задачи, решаемой методом генетического программирования, может служить синтез программы вычисления значений некоторой многопараметрической функции. Известны тестовые данные - значения функции на некотором наборе значений аргументов. . Кодируется дерево функции, узлам которого соответствуют арифметические операции или более сложные операторы, а ребрам -переменные. С помощью кроссовера и мутации дерево видоизменяется, меняются и значения целевой функции, которая отражает степень совпадения результатов расчета с тестовыми данными. Повышая степень совпадения, генетический поиск приближает закодированный в хромосоме алгоритм к искомой функции, представленной тестовой выборкой.
Список литературы
1. R.Koza. Genetic Programming II. Automatic Discovery of Reusable Programs. – London: The MIT Press, 1994.