Hasis algoritmlar. Reja:
1.”Hasis” algoritm tushunchasi.
2.”Hasis” algoritmda algorimlar to’g’riligi.
3.”Hasis” algoritm qo’llanishi.
4. Xulosa.
Hasis” algoritm tushunchasi.Bunday algoritm har bir qadamda oxirgi echim ham maqbul bo'lishiga umid qilib, mahalliy eng maqbul tanlovga aylantiradi. Bu har doim ham shunday emas - lekin ko'pgina vazifalar uchun bunday algoritmlar haqiqatan ham eng maqbulligini ta'minlaydi. Bizning birinchi misolimiz - bu oddiy, ammo unchalik ahamiyatsiz bo'lmagan dasturlarni tanlash. Keyingi, hasis algoritmlar qaysi vazifalarga mos kelishini muhokama qilamiz.Hasis algoritm sizga bir qator tanlovlarni amalga oshirish orqali muammoning maqbul echimini topishga imkon beradi. Algoritmdagi har bir qaror nuqtasida hozirgi paytda eng yaxshi ko'rinishga ega bo'lgan tanlov amalga oshiriladi. Ushbu evristik strategiya har doim ham eng maqbul echimni ta'minlamaydi, ammo baribir yechim eng maqbul bo'lishi mumkin. Hasis algoritmlarning rivojlanishi quyida keltirilgan bosqichlarning ketma-ketligi sifatida namoyish etilishi mumkin. 1. Optimallashtirish masalasini, tanlov amalga oshirilgandan so'ng, faqat bitta pastki bandni hal qilish uchun olib keling. 2. Aslida hasis tanlov orqali olinishi mumkin bo'lgan asl muammoning eng maqbul echimi borligini isbotlang, shunda bunday tanlov har doim haqiqiy bo'ladi.3. Hasis tanlovdan so'ng subproblemning eng maqbul echimini qilingan hasis tanlov bilan birlashtirgan va substrulning asl maqbul echimiga olib keladigan subproblema qolganligini ko'rsating. Yuqorida tavsiflangan jarayon keyingi vazifalarda qo'llaniladi. Eslatma. Har qanday hasis algoritmning markazida deyarli har doim dinamik dasturlash uslubidagi yanada murakkab echim bo'ladi. Savol hasis algoritm bizdan oldin optimizatsiya masalasini hal qila olishini qanday aniqlash mumkin? Bu erda umumiy yo'l yo'q, ammo ikkita asosiy komponentni ajratib ko'rsatish mumkin - hasis tanlov xususiyati va maqbul pastki tuzilma. Agar vazifa bu ikkita xususiyatga ega ekanligini namoyish etish mumkin bo'lsa, unda hasis algoritmni ishlab chiqish mumkin. Yuqorida tavsiflangan jarayon keyingi vazifalarda qo'llaniladi. Eslatma. Har qanday hasis algoritmning markazida deyarli har doim dinamik dasturlash uslubidagi yanada murakkab echim bo'ladi. Savol hasis algoritm bizdan oldin optimizatsiya masalasini hal qila olishini qanday aniqlash mumkin? Bu erda umumiy yo'l yo'q, ammo ikkita asosiy komponentni ajratib ko'rsatish mumkin - hasis tanlov xususiyati va maqbul pastki tuzilma. Agar vazifa bu ikkita xususiyatga ega ekanligini namoyish etish mumkin bo'lsa, unda hasis algoritmni ishlab chiqish mumkin
”Hasis” algoritmda algorimlar to’g’riligi. 1. Greedy-Activity-Selector algoritmi mumkin bo'lgan eng ko'p sonli qo'shma dasturlarning to'plamini beradi.
Isbot. Ilovalar tugash vaqtini ko'paytirish orqali tartiblangan. Birinchidan, biz 1-ilovani o'z ichiga olgan dasturlarni tanlashning eng maqbul yechimi borligini isbotlaymiz (eng tugash vaqti bilan). Aslida, agar biron-bir maqbul dasturlar to'plamida 1-ilova bo'lmasa, u holda dasturni 1-sonli ilova bo'lmagan eng erta tugash vaqti bilan almashtirish mumkin, bu dasturlarning muvofiqligini buzmaydi (chunki 1-ilova avvalgisidan oldinroq tugaydi). va hech narsa bilan kesib o'tolmaydi) va ularning umumiy sonini o'zgartirmaydi. Shuning uchun, siz hasis tanlovdan boshlab, eng yaxshi echimni izlashingiz mumkin.
Biz faqat 1-ilovani o'z ichiga olgan to'plamlarni ko'rib chiqishga kelishib olganimizdan so'ng, unga mos bo'lmagan barcha dasturlarni tashlab yuborish mumkin va vazifa qolgan ilovalar to'plamidan eng maqbul ilovalarni tanlash vazifasini qisqartirishga imkon beradi (1-sonli ilova bilan qo'shiladi). Boshqacha qilib aytganda, biz muammoni kamroq dasturlar bilan o'xshash muammoga kamaytirdik. Induktsiya asosida mulohaza qilib, biz har qadamda hasis tanlov qilsak, eng maqbul echimga erishamiz.
Hasislik bilan tanlangan mulk tamoyili mahalliy optimallashtirilgan (hasis) tanlovlar ketma-ketligi global miqyosda eng maqbul echimni beradigan bo'lsa, optimallashtirish muammosiga nisbatan qo'llaniladi. Hasis va dinamik dasturlash o'rtasidagi farqni quyidagicha izohlash mumkin: har bir qadamda hasis algoritm "eng semiz parcha" ni oladi va keyin qolganlari orasidan eng yaxshisini tanlashga harakat qiladi; dinamik dasturlash algoritmi barcha variantlarning oqibatlarini oldindan hisoblash orqali qaror qabul qiladi.