Genetik algoritm - tabiatda tabiiy tanlanishga o'xshash mexanizmlar yordamida kerakli parametrlarni tasodifiy tanlash, kombinatsiyalash va o'zgartirish yo'li bilan optimallashtirish va modellashtirish masalalarini hal qilish uchun ishlatiladigan evristik qidiruv algoritmidir.
Genetik algoritmlar meros, mutatsiya, tanlash va kesishish kabi tabiiy evolyutsiya usullaridan foydalangan holda optimallashtirish masalalarini hal qiladigan evolyutsion hisoblashning bir turidir. Genetik algoritmning o'ziga xos xususiyati, roli tabiatdagi kesishish roliga o'xshash nomzod yechimlarni rekombinatsiya qilish operatsiyasini amalga oshiradigan "o'tish" operatoridan foydalanishga urg'u berishdir.
Evolyutsiyani simulyatsiya qilish bo'yicha birinchi ish 1954 yilda Nils Baricelli tomonidan Prinston universitetining malaka oshirish institutida o'rnatilgan kompyuterda amalga oshirildi.
Siklning boshlanishi:
Ko'paytirish (kesish)
Mutatsiya
Barcha shaxslar uchun maqsad funktsiyasi qiymatini hisoblash
Yangi avlodni shakllantirish (seleksiya)
Agar to'xtash shartlari bajarilgan bo'lsa, u holda (siklning oxiri), aks holda (siklning boshlanishi).
Genetik algoritmlar asosan ko'p o'lchovli qidiruv maydonlarida yechimlarni izlash uchun xizmat qiladi.
Shunday qilib, genetik algoritmning quyidagi bosqichlarini ajratish mumkin:
Aholining alohida shaxslari uchun maqsadli funktsiyani (fitness) belgilash;
Dastlabki aholini yaratish
Genetik algoritmlarda ko'payish nasl berish uchun bir nechta ota-onalarni, odatda 2 tasini talab qiladi.
Bir nechta ota-ona tanlash operatorlari mavjud:
Panmiksiya - ikkala ota-ona ham tasodifiy tanlanadi, aholining har bir shaxsi tanlanish uchun teng imkoniyatga ega;
Qarindoshlik - birinchi ota-ona tasodifiy tanlanadi, ikkinchisi esa birinchi ota-onaga eng o'xshashi tanlanadi;
Outbreeding - birinchi ota-ona tasodifiy tanlanadi va ikkinchi ota-ona tanlanadi, bu birinchi ota-onaga eng kam o'xshashdir.
http://fayllar.org
|