Случайная мутация
Предположим, что Индивидууму 2
второго поколения выпадают те же родители; кроссовер происходит только после
первого и третьего битов. То есть он наследует бит 0 от Индивидуума 1
первого поколения, биты 11 в качестве второго и третьего битов от третьего
индивидуума первого поколения и два последних бита от первого индивидуума
первого поколения. В результате этого генетический код второго индивидуума
второго поколения оказывается равным 01110.
Предположим далее, что в оба
родителя третьего индивидуума второго поколения попадает Индивидуум 1. То
есть третий индивидуум во втором поколении получает точно такой же генетический
материал, как у первого индивидуума первого поколения, а именно 01010.
____________ Второе
Поколение_______
Индивидуум
№_____ X________ Двоичный X
1
11 01011
2
14 01110
3
10 01010
Пусть далее путем случайной мутации
изменился третий бит первого индивидуума. В результате для задания целевой функции
имеем следующие данные:
Второе Поколение
Индив. №
|
X
|
Двоичн. X
|
Y
|
Коэфф. Приспос.
|
1
|
15
|
01110
|
1500
|
0,5102
|
2
|
14
|
01110
|
1499
|
0,4898
|
3
|
10
|
01010
|
1475
|
0
|
Обратите внимание, насколько во
втором поколении поднялось, или эволюционировало, среднее значение Y.
затель неулучшившихся популяций, то есть если вы
используете все больший порог количества неулучшившихся популяций. Вместе с
тем, прирост по каждому из этих показателей приводит к увеличению затрат
машинного времени.
Данный алгоритм может становиться
времяемким. По мере роста числа сценарных множеств и количества входящих в них
сценариев время обработки увеличивается в геометрической профессии. В
зависимости от ваших временных ограничений вам было бы желательно придерживать
количество сценарных наборов и сценариев на управляемом уровне. Весьма
благоприятным фактором здесь является скорость компьютера (то есть
использование самого быстрого из доступных вам компьютеров).
Как только вы нашли оптимальный
портфель, то есть нашли значения для f, разделите эти значения на
наибольший проигрыш по соответствующим сценарным спектрам и определите /$ для
этого конкретного сценарного спектра. Это именно то, что мы делали в первой
главе для того, чтобы определить, сколькими контрактами торговать в оптимальном
портфеле.
Важные замечания
Нередко бывает полезно целиком
перенести в следующее поколение генетический код самого сильного индивидуума.
Выполнение этого условия наверняка сохранит хорошие множества решений и
благоприятно скажется на ускорении алгоритма. Кроме того, вы можете следовать
агрессивной тактике поддержания генетического разнообразия путем увеличения
параметров, используемых в качестве вероятностей кроссовера и мутации. Я
пришел к выводу, что, приняв за вероятность кроссовера 0,2, а за вероятность
мутации — 0,05, можно ускорить получение решения, при условии, что код
наиболее приспособленного индивидуума сохраняется при переходе от одного
поколения к другому — это удерживает алгоритм от вырождения в случайный
поиск.
По мере стремления размера
популяции к бесконечности, то есть, когда вы используете все большие величины
для размера популяции, повышается точность получаемого решения. То же
происходит и тогда, когда к бесконечности устремляется пока-
Статья размещена в рубрике: Новый подход к управлению капиталом
|