Genetik algoritmlarni sun'iy neyron tarmoqlarning og'irlik koeffitsientlarini sozlashning eng maqbul usuli deb hisoblash mumkin


Rasm. 1. Og'irlik matritsasi W ni Vw og'irliklar vektoriga aylantirish


Download 133.28 Kb.
bet2/5
Sana19.12.2022
Hajmi133.28 Kb.
#1033208
1   2   3   4   5
Rasm. 1. Og'irlik matritsasi W ni Vw og'irliklar vektoriga aylantirish.
Klassik genetik algoritm bir qator eng muhim bosqichlardan iborat. Aslida, bu bosqichlarni xronologik tartibda joylashtirish mumkin.

  1. INITIALIZA - boshlang'ich populyatsiyaning shakllanishi.

  2. FITNESS BAHOLASH - har bir shaxs (bizning holimizda xromosomalar) uchun fitnes funksiyasini hisoblash.

  3. TANLASH - eng mos xromosomalarning yaroqliligini baholashga asoslangan tanlov, unga krossing-over operatsiyalarida ishtirok etish huquqi beriladi.

  4. KROSSINGOVER - ikki individning kesishishi.

  5. MUTATION - individ xromosomalaridagi ma'lum genlarning ataylab sun'iy o'zgarishi.

  6. YANGI AHOLINI SHAKLLANTIRISH - jismoniy tayyorgarligini baholash asosida "eng yaxshi" shaxsni tanlash bilan birga shaxslar sonini kamaytirish.

  7. ALGORITMNING TO'XTIRISH MEZONINI TEKSHIRISH - agar kerakli qidirish shartiga erishilgan bo'lsa - chiqish, aks holda - 3-bosqichga o'ting.

  8. ENG YAXSHI ECHIMNI EKSTRAKSIYA - fitnes funksiyasining maksimal qiymatiga ega bo'lgan shaxs eng yaxshi yechim hisoblanadi.

Ta'riflangan barcha bosqichlar hal qilinayotgan muammo doirasida mutlaqo adolatli [1-3]. Har qanday genetik algoritmning birinchi bosqichini amaliy amalga oshirish ko'p hollarda tasodifiy ishga tushirishdan boshqa narsa emas. Har qanday xromosomaning har bir geniga haqiqiy qiymatlar oralig'idan tasodifiy qiymat beriladi. Shunga ko'ra, vazn matritsasini sozlashda W, har bir gen genetik ma'lumotni tasodifiy qiymat shaklida [0; biri]. Ushbu ishga tushirish usulining dasturiy ta'minotini amalga oshirish eng sodda va o'zining afzalliklari va kamchiliklariga ega. Afzalliklar quyidagilardan iborat.

  • Hech qanday qo'shimcha algoritm talab qilinmaydi.

  • Ishga tushirish tez va kompyuterni yuklamaydi.

  • Mahalliy optimalga erishish ehtimoli kamayadi.

Kamchilik sifatida ishlab chiqilgan algoritmda sozlanishi koeffitsientlar haqida to'plangan bilimlarning etishmasligini qayd etishimiz mumkin. Shunday qilib, ishga tushirish bosqichi natijasida yechimlarning tayyor populyatsiyasi mavjud. Bema'nilikka qaramay, biz birinchi bosqichda yechimning mavjudligi haqida gapirishimiz mumkin. Dastlabki populyatsiyani olgandan so'ng, ikkinchi bosqichga o'tish amalga oshiriladi - fitnesni baholash.
Populyatsiyadagi individlarning yaroqliligini baholash populyatsiyaning har bir a'zosi uchun yaroqlilik funksiyasining qiymatini hisoblashdan iborat. Va bu qiymat qanchalik baland bo'lsa, shaxs hal qilinayotgan muammoning talablariga qanchalik mos keladi. Muammoni hal qilish doirasida vazn matritsasi naqshni aniqlashni amalga oshiradigan neyron tarmoqning bir qismidir. Va shunga ko'ra, genetik algoritm neyron tarmoqni o'qitish bosqichida bajariladi. Boshqacha qilib aytganda, vazn matritsasini mos yozuvlar tasvirini tanib olish xatosi minimal bo'ladigan shaklga keltirish kerak. Shunday qilib, fitnes funktsiyasi har bir mos yozuvlar tasvirining tanib olish xatosini baholaydi va xato qanchalik kichik bo'lsa, fitnes funksiyasining qiymati shunchalik yuqori bo'ladi. Muammo tanib olish xatosini minimallashtirishdir. Buning uchun hosil bo'lgan Y' vektorini Y etalon namunasi bilan solishtirish kerak.
Tanlash bosqichi genetik materiali eritmalarning keyingi populyatsiyasini shakllantirishda ishtirok etadigan shaxslarni tanlashni o'z ichiga oladi, ya'ni. keyingi avlodni yaratishda. Ta'riflangan tanlov tabiiy tanlanish printsipiga muvofiq amalga oshiriladi, buning natijasida fitnes funktsiyasining eng yuqori qiymatlariga ega bo'lgan shaxslar maksimal imkoniyatlarga ega. Tanlash usullari juda ko'p. Eng mashhur va tez-tez ishlatiladiganlardan biri bu "ruletka" usuli. Bu nom intuitiv ravishda uning tamoyillarini tushunishga yordam beradi. Har bir shaxs "g'ildirakda" ma'lum bir sektorni oladi, uning o'lchami to'g'ridan-to'g'ri fitnes funktsiyasining qiymatiga bog'liq.
Bu shuni anglatadiki, fitnes funksiyasining qiymati qanchalik yuqori bo'lsa, "rulet g'ildiragi" dagi sektor hajmi shunchalik katta bo'ladi. Shubhasiz, sektor qanchalik katta bo'lsa, tegishli shaxsni "yutish" ehtimoli shunchalik yuqori bo'ladi. Va natijada ma'lum bir shaxsni tanlash ehtimoli uning fitnes funktsiyasi qiymatiga mutanosib bo'lib chiqadi. "Ruletka" usulini qo'llash ko'pincha algoritmning muddatidan oldin yaqinlashishiga olib keladi, ya'ni populyatsiyada eng yaxshi shaxslar ustunlik qila boshlaydi, lekin optimallar emas. Bir necha avloddan keyin aholi deyarli butunlay eng yaxshi shaxslarning nusxalaridan iborat bo'ladi. Biroq, erishilgan yechimning optimal bo'lishi dargumon, chunki boshlang'ich populyatsiya tasodifiy hosil bo'ladi va qidiruv maydonining faqat kichik qismini ifodalaydi. Genetik algoritmning muddatidan oldin konvergentsiyasini oldini olish uchun fitnes funktsiyasini masshtablash qo'llaniladi. Fitnes funktsiyasining miqyosi o'rtacha va eng yaxshi shaxslar keyingi avlodlarda bir xil miqdordagi o'xshash avlodlarni shakllantirishni boshlagan vaziyatni istisno qilishga imkon beradi, bu juda istalmagan hodisa. Shuni ta'kidlash kerakki, masshtablash populyatsiyaning sezilarli heterojenligiga qaramay, fitnes funktsiyasining o'rtacha qiymati maksimaldan ozgina farq qiladigan holatlarning oldini oladi. Demak, fitnes funksiyasining miqyosi uning shaklini o'zgartirishdan boshqa narsa emas. Uchta asosiy transformatsiya mavjud: chiziqli, quvvatli va sigma-kesilgan. Ishlab chiqilgan algoritm sigma-kesish transformatsiyasidan foydalanadi. Fitnes funktsiyasining miqyosi o'rtacha va eng yaxshi shaxslar keyingi avlodlarda bir xil miqdordagi o'xshash avlodlarni shakllantirishni boshlagan vaziyatni istisno qilishga imkon beradi, bu juda istalmagan hodisa. Shuni ta'kidlash kerakki, masshtablash populyatsiyaning sezilarli heterojenligiga qaramay, fitnes funktsiyasining o'rtacha qiymati maksimaldan ozgina farq qiladigan holatlarning oldini oladi. Demak, fitnes funksiyasining miqyosi uning shaklini o'zgartirishdan boshqa narsa emas. Uchta asosiy transformatsiya mavjud: chiziqli, quvvatli va sigma-kesilgan. Ishlab chiqilgan algoritm sigma-kesish transformatsiyasidan foydalanadi. Fitnes funktsiyasining miqyosi o'rtacha va eng yaxshi shaxslar keyingi avlodlarda bir xil miqdordagi o'xshash avlodlarni shakllantirishni boshlagan vaziyatni istisno qilishga imkon beradi, bu juda istalmagan hodisa. Shuni ta'kidlash kerakki, masshtablash populyatsiyaning sezilarli heterojenligiga qaramay, fitnes funktsiyasining o'rtacha qiymati maksimaldan ozgina farq qiladigan holatlarning oldini oladi. Demak, fitnes funksiyasining miqyosi uning shaklini o'zgartirishdan boshqa narsa emas. Uchta asosiy transformatsiya mavjud: chiziqli, quvvatli va sigma-kesilgan. Ishlab chiqilgan algoritm sigma-kesish transformatsiyasidan foydalanadi. bu juda istalmagan. Shuni ta'kidlash kerakki, masshtablash populyatsiyaning sezilarli heterojenligiga qaramay, fitnes funktsiyasining o'rtacha qiymati maksimaldan ozgina farq qiladigan holatlarning oldini oladi. Demak, fitnes funksiyasining miqyosi uning shaklini o'zgartirishdan boshqa narsa emas. Uchta asosiy transformatsiya mavjud: chiziqli, quvvatli va sigma-kesilgan. Ishlab chiqilgan algoritm sigma-kesish transformatsiyasidan foydalanadi. bu juda istalmagan. Shuni ta'kidlash kerakki, masshtablash populyatsiyaning sezilarli heterojenligiga qaramay, fitnes funktsiyasining o'rtacha qiymati maksimaldan ozgina farq qiladigan holatlarning oldini oladi. Demak, fitnes funksiyasining miqyosi uning shaklini o'zgartirishdan boshqa narsa emas. Uchta asosiy transformatsiya mavjud: chiziqli, quvvatli va sigma-kesilgan. Ishlab chiqilgan algoritm sigma-kesish transformatsiyasidan foydalanadi. quvvat va sigma uzilishi. Ishlab chiqilgan algoritm sigma-kesish transformatsiyasidan foydalanadi. quvvat va sigma uzilishi. Ishlab chiqilgan algoritm sigma-kesish transformatsiyasidan foydalanadi.
, (2)
bu yerda a kichik son, odatda 1 dan 5 gacha; - aholi uchun yaroqlilik funksiyasining o'rtacha qiymati; d - aholining standart og'ishi. O'zgartirilgan funktsiyaning olingan qiymatlari manfiy bo'lsa, ular 0 ga tenglashtiriladi.
Bundan tashqari, ushbu tanlash usulini ma'lum darajada o'zgartirish yoki bir vaqtning o'zida bir nechta usullarni sintez qilish asosida tanlov qurish mumkin.
Genetik algoritmning keyingi bosqichi rekombinatsiya yoki kesishishdir. Inson xromosomasining har bir bo'limi ma'lum bir ma'lumot yukini o'z ichiga oladi. Rekombinatsiyaning maqsadi xromosoma bo'shliqlarining shunday kombinatsiyasini olishdirki, bu odam hozirgi genetik material bilan mumkin bo'lgan eng yaxshi yechimni taqdim etadi. Natijada, krossover operatsiyasining asosiy vazifasi oxir-oqibatda dastlabki echimlar to'plamida mavjud bo'lgan eng funktsional xususiyatlarni olishdir. Optimallashtirish masalalarini hal qilishning bunday mexanizmi, mavjud usullardan farqli o'laroq, bir yechimni boshqasiga almashtirmaydi, balki ular o'rtasida ma'lumot almashish orqali yangi mumkin bo'lgan echimlarni oladi.
Krossover genetik algoritmning eng muhim operatori hisoblanadi, chunki krossover operatori yordamida yechimlar o'rtasida ma'lumotlar almashinuvi amalga oshiriladi. Nasl ikkala ota-onaning o'ziga xos xususiyatlarining kombinatsiyasini o'z ichiga oladi. Har qanday genetik algoritmning samaradorligi krossover operatsiyasining samaradorligiga to'g'ridan-to'g'ri proportsionaldir. Bundan tashqari, genetik algoritmning ishlashi birinchi navbatda krossoverning muvaffaqiyatiga bog'liq. Muammoni hal qilish doirasida buyurtma qilingan krossover operatori amalga oshiriladi. Buyurtma qilingan krossing-over optimal yechimga yaqinlashib, genetik materialni bosqichma-bosqich muntazam ravishda o'zgartirishni amalga oshiradi.
Shaklda. 2-rasmda buyurtma qilingan o'tish orqali yangi shaxslarni olish jarayoni ko'rsatilgan. Ikkita ota-ona xromosomalari mavjud: Vw1 va Vw2. Genetik material 0 dan 1 gacha bo'lgan haqiqiy sonlardir. Kesishning tartibi quyidagicha ishlaydi. Dastlab, "kesish nuqtasi" tasodifiy aniqlanadi. Keyingi bosqichda New_Vw1 ning birinchi farzandi Vw1 ota-xromosomasining chap qismini meros qilib oladi. Yangi xromosomaning qolgan genlarini to'ldirish ikkinchi ota-ona Vw2 tomonidan saqlanadigan ma'lumotlar tufayli amalga oshiriladi. Algoritm Vw2 xromosomasini boshidanoq skanerlaydi va allaqachon avloddagi genlardan e = 0,02 dan ko'proq farq qiladigan genlarni ajratib oladi. Genlarning "bog'liqligini" aniqlash uchun algoritmda e ning kichik qiymati o'rnatiladi. Har bir keyingi bosqichda, ayniqsa algoritmning oxirgi bosqichlarida, aniqroq natijalarga erishish uchun ushbu qiymatning qiymatini kamaytirish mantiqan. Shunga o'xshash protsedura New_Vw2 ning ikkinchi bolasini olishda amalga oshiriladi. New_Vw2 ikkinchi bolasi Vw2 ota-xromosomasining chap tomonini meros qilib oladi. Olingan xromosomaning qolgan genlarini to'ldirish Vw1 ikkinchi ota-onadagi ma'lumotlar tufayli amalga oshiriladi.


Download 133.28 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling