Введение в эволюционное моделирование. Каширина И.Л. - 33 стр.

UptoLike

Составители: 

Рубрика: 

33
Рис. 44. Древовидное представление функции
2+x*4/7
Для того чтобы применить ГП к какой-либо проблеме, необходимо оп-
ределить:
a) множество терминальных элементов;
b) множество функциональных элементов;
c) меру приспособленности;
d) параметры, контролирующие эволюцию;
e) критерий останова эволюции.
Генетические программы не пишутся программистом, а создаются в резуль-
тате следующего итерационного пошагового процесса.
1. Генерируется начальная популяция программ,
представляющих собой
случайные композиции функций (арифметических, логических и др.
операций) и терминалов (переменных и констант), взятых из множеств
функциональных и терминальных элементов, относящихся к решаемой
проблеме. Если мы собираемся вывести программу, которая управляет
стрельбой из по движущейся цели, то в набор терминалов войдут сле-
дующие переменные - расстояние до цели, ее размер
и скорость, сила и
направление ветра, тип орудия и т.д. Набор функций в этом случае будет
включать различные математические операции, как простые (умноже-
ние, деление, вычитание, сложение), так и более сложные.
2. Каждая программа выполняется и ей присваивается значение приспособ-
ленности, соответствующее тому, насколько хорошо она решает задачу.
3.
Создается новая популяция компьютерных программ за счет:
1) копирования в нее наилучших программ старой популяции;
2) создания новых программ с помощью мутаций (случайного изменения
функций и терминаторов или даже целых поддеревьев);
3) создания новых программ с помощью скрещивания существующих.
Операция скрещивания реализуется за счет обмена поддеревьев двух
хромосом, выбранных случайно (в
соответствии с их приспособленно-
стью).
                                     33




              Рис. 44. Древовидное представление функции 2+x*4/7
     Для того чтобы применить ГП к какой-либо проблеме, необходимо оп-
ределить:
   a) множество терминальных элементов;
   b) множество функциональных элементов;
   c) меру приспособленности;
   d) параметры, контролирующие эволюцию;
   e) критерий останова эволюции.
Генетические программы не пишутся программистом, а создаются в резуль-
тате следующего итерационного пошагового процесса.
1. Генерируется начальная популяция программ, представляющих собой
   случайные композиции функций (арифметических, логических и др.
   операций) и терминалов (переменных и констант), взятых из множеств
   функциональных и терминальных элементов, относящихся к решаемой
   проблеме. Если мы собираемся вывести программу, которая управляет
   стрельбой из по движущейся цели, то в набор терминалов войдут сле-
   дующие переменные - расстояние до цели, ее размер и скорость, сила и
   направление ветра, тип орудия и т.д. Набор функций в этом случае будет
   включать различные математические операции, как простые (умноже-
   ние, деление, вычитание, сложение), так и более сложные.
2. Каждая программа выполняется и ей присваивается значение приспособ-
   ленности, соответствующее тому, насколько хорошо она решает задачу.
3. Создается новая популяция компьютерных программ за счет:
   1) копирования в нее наилучших программ старой популяции;
   2) создания новых программ с помощью мутаций (случайного изменения
      функций и терминаторов или даже целых поддеревьев);
   3) создания новых программ с помощью скрещивания существующих.
   Операция скрещивания реализуется за счет обмена поддеревьев двух
    хромосом, выбранных случайно (в соответствии с их приспособленно-
    стью).