генетично програмиране

Генетично програмиране - един вид генетичен алгоритъм, в който вместо представителствата на ниско ниво на предмети под формата на битови низове, използвани при синтактичния анализ дървета, състояние диаграма на прехода краен или клетъчна автомати и т.н. С помощта на генетично програмиране най-ефективно решен проблемът с автоматично изграждане на някои класове от проблеми, крайни автомати и клетъчни автомати.

Стагнацията на генетичен алгоритъм - състояние на алгоритъма, в която в продължение на голям брой поколения, не е имало промяна в стойността на фитнес функционира по-добре в една популация, но текущото решение е много различен от глобалния минимум.

Той призова слизането на състояние на населението, когато всички хромозомите на населението имат много сходни части, и са в някаква крайност. В тази ситуация, работата на преминаване почти нищо не може да промени населението. И излиза от зоната вследствие на физическите лица на мутации са склонни да умре, както е по-вероятно да имат стойност на целевата функция, което е по-лошо, отколкото в останалата част от населението. Ако този екстремум е глобален минимум, това означава, че сме намерили най-доброто или в близост до него решението.

Дегенерация на населението нарича този вид конвергенция, когато текущата стойност екстремни различава значително от глобалния минимум, тоест, почти цялото население се сгуши решения, които отговарят всеки локален минимум. Дегенерация на населението е основен проблем при използване на генетичен алгоритъм.

Стандартни операции кръстосване

Обща част за всяка от изброените алгоритми: междинен населението на физическите лица разделени произволно двойки. Всеки от тях с вероятност бр кръстоски, т. Е. Той се използва кръстосано оператор, чрез което се произвеждат две деца. Те са написани на ново поколение. Ако двойката не е спаднала до кръстосват в новото поколение на физическите лица се записва на тази двойка.

Пропускателен пункт: избрани двойки хромозоми от населението родител. Освен това, за всяка двойка по този начин избран родителски ген играе позиция (локус) върху хромозома, която определя т.нар пропускателен пункт - лк. Ако хромозомата от всеки ген майка се състои от L, очевидно е, че точката на пресичане LK представлява естествено число по-малко от L. Поради това, фиксирането на пропускателните точки се редуцира до произволен брой избор от интервала [1, L-1]. В резултат на кръстосването чифт родителските хромозоми получите следващата двойка потомци:

потомък чиито хромозома в позиции 1 до LK включва първите гени майки, и на позиции от LK + 1 до Л - гени от другия родител;

потомък чиито хромозома в позиции 1 до LK включва втори гени майки, и на позиции от LK + 1 чрез L - от първите гени майки.

Две точка кросоувър: различна от точката на пресичане, че родителските хромозоми обменят част от генетичния код, който се намира между две произволно избрани пропускателни пунктове.

Multi-точка кръстосване е обобщение на предишните операции и се характеризира със съответно множество пропускателни пунктове.