• Ikkinchi bosqichda
  • Динамик программалаштириш усули




    Download 241,03 Kb.
    bet2/3
    Sana18.02.2024
    Hajmi241,03 Kb.
    #158458
    1   2   3
    Bog'liq
    7-ma’ruza Dinamik programmalashtirish usuli

    Birinchi bosqichda (1) masalani unga o’xshash masalalar oilasiga invariant kiritamiz, ya’ni
    (3)
    masalalar oilasini qaraymiz. (3) masala maqsad funksiyasining optimal qiymatini Bk(y) kabi belgilaymiz:
    (4)
    – Bellman funksiyasi deyiladi.
    Ikkinchi bosqichda rekurrent

    Bellman tenglamasidan va (asosiy bog’lanish tenglik shaklda bo’lgan holda boshlang’ich shartdan foydalanib ketma-ket funksiyalarini topamiz.
    Oxirgi, uchinchi bosqichda (1) masalaning yechimini quramiz: ni funksiyaga maksimum beruvchi nuqta sifatida aniqlaymiz, ya’ni ni ham shunga o’xshash shartdan aniqlaymiz, bu yerda .
    Shunday davom etib, nuqtalarni

    shartdan topamiz, bu yerda

    ni esa, shartdan topamiz (asosiy bog’lanish tenglik ko’rinishda bo’lganda esa, bo’ladi). (1) masala maqsad funksiyasining maksimal qiymati ga teng.
    Eslatma. Agar (1) masalada funksiyalar ham qavariq bo’lsa, funksiyalar ham qavariq bo’ladilar va demak qavariq funksiyalarning xossalariga ko’ra (4) tenglamaning o’ng tomonida maksimumga yo , yoki nuqtada erishiladi.
    1-misol. Resurslar taqsimoti haqidagi (2) masalada

    bo’lsin. Shu masalani yechamiz.
    Demak, quyidagi masala berilgan:

    Unga o’xshash masalalar oilasi quyidagicha bo’ladi:

    Bellman funksiyasi

    uchun Bellman tenglamasini yozamiz:

    Bu tenglama uchun boshlang’ich shart bo’ladi. Bellman tenglamasidan ketma-ket va funksiyalarni topamiz:


    Endi optimal taqsimotni aniqlaymiz.

    bu yerda maksimumga da erishiladi. Demak,
    ,
    bu yerda maksimumga da erishiladi. Demak, . U vaqtda .
    Shunday qilib, optimal taqsimot quyidagicha bo’ladi: : maksimal foyda ga teng.
    3. Algoritm. Faraz qilaylik, (1) masalada butun sonlar bo’lsin hamda o’zgaruvchilar faqat manfiy bo’lmagan butun qiymatlar qabul qilinsin. Bu holda Bellman tenglamasi
    (5)
    va uning uchun boshlang’ich shart
    (6)
    (asosiy bog’lanish tenglik ko’rinishida bo’lganda ) bo’ladi, bu yerda sonning butun qismini ifodalaydi.
    Qaralayotgan holda (1) masalani dinamik dasturlash usuli bilan yechishni quyidagi algoritm bo’yicha amalga oshirish mumkin:
    1) deb olamiz;
    2) funksiyaning nuqtalardagi qiymatlarini hisoblaymiz ( bo’lganda. hisoblanadi).
    3) ni hisoblaymiz hamda va ni eslab qolamiz;
    4) agar bo’lsa, deb 2) punktga qaytamiz; aks holda navbatdagi punktga o’tamiz;
    5) deb olamiz;
    6) uchun qiymatlarni hisoblaymiz;
    7) ni hisoblaymiz hamda va ni eslab qolamiz;
    8) agar bo’lsa, deb 6) punktga qaytamiz; aks holda navbatdagi punktga o’tamiz;
    9) agar bo’lsa. , deb 6) bandga qaytamiz; aks holda navbatdagi bandga o’tamiz;
    10) (1) masalani yechimi ni aniqlaymiz:
    (7)
    -(1) masala maqsad funksiyasining optimal qiymati bo’ladi.
    Eslatma. Agar (7) formulada biror uchun bo’lsa, bo’ladi.

    Download 241,03 Kb.
    1   2   3




    Download 241,03 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Динамик программалаштириш усули

    Download 241,03 Kb.