Birinchi qism. Genetik algoritmning hayoti va faoliyati.
Keling, uzoqdan boshlaylik. Muayyan muammolarni hal qilish kerak. Bizning maqsadimiz o'zgarishi mumkin bo'lgan harakatlarni topishdir Berilgan(muammolarning dastlabki shartlari) ichida Javob(maqsadli holat).
Vaziyat oddiy bo'lsa va bunday muammoning yechimini mana shu matanlaringiz yordamida sharoitdan aniq hisoblash mumkin bo'lsa, yaxshi, bu erda bizning hiyla-nayranglarimiz bo'lmasa ham, hamma narsa yaxshi, biz sikildik, hammamiz tarqaldik. Masalan, kvadrat tenglamani yechishda javob (x1, x2 qiymatlari) biz hammamiz maktabda o'rgangan formulani qo'llash orqali boshlang'ich shartdan (a, b, c koeffitsientlari) olinadi. Va darslikda kerakli formula bo'lmasa, yanada qayg'uli holatda nima qilish kerak? Muammolardan birini hal qilish uchun aqliy hujumni sinab ko'rishingiz mumkin. Analitik tarzda. Raqamli usullar. Funktsiyalarni umidsiz sanab o'tish kuchi bilan. Bir muncha vaqt o'tgach, siz "o'z-o'zidan hal bo'lsa" orzusidagi talabani eshitasiz. Ha, biz pardalar ortidan chiqamiz. Shunday qilib, maqsad dastlabki ma'lumotlarni kirish sifatida qabul qiladigan va haqiqiy raqamlarni qaytaradigan funktsiyani (dasturni) topadigan dastur yozishdir. Meta dasturlashning kuchi, jangga!
Hmm, bunday maqsadga qanday erishamiz? Keling, olov atrofida rekursiya xudolariga qurbonlik qilaylik: funktsiyani (dasturni) topadigan dastur yozadigan dastur yozing ... Yo'q, bu ikkinchi marta ishlamaydi. Yaxshisi, tabiatdan misol olib, evolyutsiya mexanizmi, tabiiy tanlanish kabi hodisalarga e'tibor qaratganimiz ma'qul. Hamma narsa hayotdagidek: bizning dasturlarimiz ko'proq moslashgan shaxslarning bo'yinturug'i ostida yashaydi, juftlashadi, tug'adi va o'ladi, ularning eng yaxshi fazilatlarini avlodlariga o'tkazadi. Aqldan ozgandek tuyuladi, lekin ko'rib chiqishga arziydi.
Bizning dasturiy dunyomizning Xudosi bizning vazifamizdir. Dasturlar unga ishonishi, u uchun turmush qurishi, cherkovga uning sharafiga sham qo'yishi va hayotning ma'nosini topish va bu muammoni hal qilish uchun yagona maqsad bilan yashashi kerak. Atrof-muhitga ko'proq moslashgan (muammoni hal qilishga yaqinlashgan) alfa erkakka aylanadi, omon qoladi va kuchli avlod beradi. Butun umrini onlayn o'yinlar o'ynab o'tkazgan va muammoni hal qilishda muvaffaqiyat qozonishni bilmagan yutqazgan odamning nasl berish imkoniyati juda kichik. Genofond bu pimply o'rtoqlarning hissasidan tozalanadi va butun dasturlar jamiyati hal qilingan muammo uchun yorqin kelajak sari harakat qiladi. Xo'sh, umumiy ma'noda allaqachon tushunarli, endi siz nuances bilan shug'ullanishingiz kerak: birinchi navbatda, juftlik dasturlarini qanday tasavvur qilasiz? ikkinchidan, dasturlarning birinchi avlodini qayerdan olamiz? uchinchidan, biz jismoniy shaxslarning jismoniy tayyorgarligini qanday asosda aniqlaymiz va bu o'tishga qanday ta'sir qiladi? to'rtinchidan, algoritmni tugatish shartlari, bu orgiyani qachon to'xtatish kerakligi haqida qaror qabul qilish kerak.
Dostları ilə paylaş: |