I BOB. GENETIK ALGORITMLAR HAQIDA UMUMIY
MA’LUMOTLAR
1.1.
Genetik algoritmlarning ta’riflari va tushunchalari
Hozirgi kunda algoritmik murakkab muammolarni hal qilishda genetik
algoritm ko'pincha ishlatiladi [ 3].
Genetik algoritm "yumshoq hisoblash" deb nomlanuvchi sohaga tegishli. Shuni
esda tutingki, bu sohada neyron tarmoqlardan foydalanishga asoslangan usullar
mavjud. Genetika algoritmi tabiiy seleksiyaning zamonaviy
biologik nazariyasi
bilan bog'liq g'oyalarga asoslanadi. Ushbu nazariyada, tanlov jarayonida ma'lum bir
gen majmuasiga ega bo'lgan eng qulay genlar keyingi avlodlarga o'tadigan omon
qolishlari taxmin qilinmoqdi. Ushbu algoritm 1975 yilda D. Holland tomonidan
taklif qilingan.
Genetik algoritm NP muammolarining keng doirasini yechish uchun stokastik
usullarni ifodalaydi:
- soni optimallashtirish muammolari;
- eng qisqa yo'l muammolar;
- vazifalarning yaqinlashishi;
- ma'lumotlarni tanlash (filtrlash);
- sun'iy neyron tarmoqni;
- o'yin strategiyasi.
Bu bitiruv malakaviy ishda genetika algoritmining asosiy g'oyalari
tasvirlangan. Ushbu algoritm funktsiyalarni taxmin qilish uchun qanday foydalanish
mumkinligi ko'rsatilgan. Funktsiyaning yaqinlashishi muammosi optimallash
muammosi bo'lib, ma'lum funktsiyalar va unga yaqinlashadigan funksiya o'rtasidagi
masofani tasvirlaydigan eng kam funktsiyani topishga qisqartiradi. Barcha
optimallash usullarini ikki turga bo'lish mumkin: gradient
usullari va stoxastik
usullarni (misol uchun, neyron tarmoqlarini qurish bilan bog'liq usullar va
boshqalar) qo'llash usullari. Shu bilan birga, ushbu usullarni qo'llagan ekstremum
lokal belgilarga ega bo'lishi mumkin. Ushbu muammo, odatda, genetik algoritmni
to'g'ri ishlatish bilan hal etiladi [3].
1.
Asosiy tushunchalar va genetik algoritmda atamalar.
2.
Genetik algoritmdan foydalanishning namunasi funktsiyaning eng kam
miqdorini topish.
Genetik algoritm amaliy masalalarni echishda bir qancha imkoniyatlarni
beradi. Ulardan biri-bu o‘zgaruvchan tashqi olamga adaptatsiya. Real hayotda bu
muammo katta o‘zgarishlarni olib kelishi mumkin. An’anaviy usullani ishlatishda
hammasini boshidan boshlashga to‘g‘ri keladi.
Evolyusion yondashuvda
populyasiyani tahlil qilish, to‘ldirish va ko‘rinishini o‘zgartirish mumkin. Buning
uchun to‘liq o‘zgartirish shart emas. Masalalarni yechishda genetik algoritmning
boshqa imkoniyati etarlicha yaxshi yechimlarni tezkor generatsiyalashdan iborat [7].
Genetik algoritmni qo‘llagan holda amaliy masalalarni echishda odatda to‘rtta
boshlang‘ich bosqich bajariladi:
yechimni tasvirlash usulini tanlash;
tasodifiy o‘zgarishlar operatorini ishlab chiqish;
yechimlarning “omon qolish” usulini aniqlash;
alternativ yechimlarning boshlang‘ich populyasiyasini yaratish.
Bu bosqichlarni ko‘rib chiqamiz.
Yechimni formal ko‘rinishda tasvirlash uchun birinchi bosqichda ixtiyoriy
mumkin bo‘lgan yechimni kodlashtirishga va uning bahosini olishga ruxsat
beradigan struktura talab etiladi. Tasvirlashning ideal strukturasi
mavjud emasligi
matematik isbotlangan, yaxshi struktura yaratish uchun tahlil, ortiqchalik va evristik
yondashuv kerak bo‘ladi. Tasvirlashning mumkin bo‘lgan varianti alternativ
yechimlarning o‘rinlarini turlicha almashtirishga ruxsat beradi. Yechimlarni
baholash uchun maqsadli funksiyani baholash usulini aniqlash kerak.
Ikkinchi bosqichda avlodlarni generatsiya qilish uchun tasodifiy operatorni
(operatorlarni) tanlash qiyin hisoblanadi. Bunday operatorlarning ko‘plab soni
mavjud. Ko‘payishning ikkita asosiy turi mavjud: jinsiy va urchitib ko‘paytirish.
Jinsiy ko‘payishda ikkita ota-ona genetik material bilan almashinadi va natijada
avlod yaratiladi. Urchitib ko‘paytirish–bu klonlashtirish bo‘lib, unda otadan avlodga
axborotni uzatishda turli mutatsiyalar sodir bo‘ladi. Ko‘payishning
bu turlarining
modellari genetik algoritmlarda katta rol o‘ynaydi. Umuman olganda, tabiatda
mavjud bo‘lmagan ko‘payish modellarini qo‘llash mumkin. Turli modellarni
qo‘llashda cheklovlar mavjud emas, shuning uchun
faqat tabiat qonunlaridan
foydalanish kerak emas.
Genetik algoritmlarning muvaffaqiyati quyidagilarga bog‘liq: tasvirlash
sxemasi, tasodifiy o‘zgarishlar metodi va maqsadli funksiyani aniqlash usuli.
Shuning uchun masalalarning aniq sinfi uchun yo‘naltiruvchi usullarni ishlatish
maqsadga muvofiq keladi [5].
1.2.
Genetik algoritmlar uchun funksiyaning minimularini aniqlash.
Funksiyaning global minimal darajasini aniqlash uchun quyidagi masalar
orqali ko‘rsatib o‘tamiz.
𝑦(𝑥) = 5 − 24𝑥 + 17𝑥
2
−
11
3
𝑥
3
+
1
4
𝑥
4
, 𝑥 ∈ [0,7]
.
Muayyan segmentda funktsiya x = 1 nuqtasida global minimumga ega, x = 6
nuqtasida lokal nuqtaga ega.
Genetika algoritmini qo'llashni namoyish qilishni soddalashtirish uchun x ning
faqat taxminiy qiymatlari, ya'ni x
∈
(0,1,2,3,4,5,6,7) qiymatlari bo‘yicha qarab
chiqamiz.
Buning uchun avvolo genetik algoritmlarni operatorlaridan foydalanamiz.
Populyasiyani yaratish. Belgilangan vaqt oralig'ida tasodifiy bir necha raqamni
tanlaymiz. Buni {2,3,5,4} bo'lsin (1.2-rasm). Bu raqamlar
dastlabki populyasiya
vakillarini ifodalaydi.
Do'stlaringiz bilan baham: