muzruno.com

Генетични алгоритми

Генетичните алгоритми са евристични, стохастични оптимизационни методи, които бяха предложени за първи път през 1975 г. от Холандия. Те се основават на идеята за еволюцията с естествен подбор, който беше предложен от Дарвин.

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

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

Генетичните алгоритми се състоят от следните компоненти:

- Хромозомата, която е решението на разглеждания проблем, се състои от гени. Тази популация хромозомите се считат за начални;

- набор от оператори (предназначени да генерират нови решения, базирани на нови популации);



- обективна функция (предназначени да оценят годността на решения).

За генетичните алгоритми има стандартен набор от оператори: селекция, мутация и пресичане. Можете да помислите за прилагането на генетични алгоритми, като изясните какво конкретно оператор. оператор селекцията прави избора на хромозоми в съответствие с това, какви са техните фитнес функции. Има поне два най-популярни оператора: турнир и рулетка. Методът на рулетката предполага избор на лица чрез n пускания. За всеки член от използваната популация рулетното колело съдържа един сектор с необходимия размер. Членовете на населението с подчертано по-висок фитнес показател за такъв избор ще бъдат по-склонни да бъдат избрани от представители с ниска годност. Чрез метода на турнира се изпълняват n турнири, които ви позволяват да изберете n индивиди. Основата на всеки турнир е извадка от k елементи от населението, с най-добрите индивидуални сред тях.

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

Последният оператор, мутациите, е стохастична промяна в част от хромозомите.

Конкретното разглеждане на прилагането на генетичните алгоритми е по-обемно, отколкото може да се побере в изделието, така че трябва да се разглежда отделно.

Споделяне в социалните мрежи:

сроден