Taqsimlangan tizimlarning m atematik algoritmini ishlab chiqish


Download 267.6 Kb.
bet3/7
Sana23.03.2023
Hajmi267.6 Kb.
#1289904
1   2   3   4   5   6   7
Bog'liq
Amaliy mashg’ulot 4 (2)

Dinamik dasturlash Ushbu darsda siz dinamik dasturlash nima ekanligini bilib olasiz. Shuningdek, muammolarni hal qilish uchun dinamik dasturlash va ochko'z algoritmlar o'rtasidagi taqqoslashni topasiz.
Dinamik dasturlash - bu kompyuter dasturlash texnikasi bo'lib, u bir-biriga o'xshash kichik muammolar va optimal pastki tuzilma xususiyatiga ega bo'lgan muammolar sinfini samarali hal qilishga yordam beradi .
Agar biron-bir muammoni kichikroq kichik muammolarga bo'linadigan kichik muammolarga bo'lish mumkin bo'lsa va bu kichik muammolar o'rtasida o'zaro bog'liqlik mavjud bo'lsa, u holda ushbu kichik muammolarning echimlari kelajakda foydalanish uchun saqlanishi mumkin. Shunday qilib, CPU samaradorligini oshirish mumkin. Yechimni echishning bu usuli dinamik dasturlash deb ataladi.
Bunday muammolar optimal yechimni topish uchun bir xil kichik muammolarning qiymatini qayta-qayta hisoblashni o'z ichiga oladi.

Dinamik dasturlash misoli


Fibonachchi ketma-ketligini 5-songacha topamiz. Fibonachchi seriyasi - bu har bir raqam oldingi ikkitasining yig'indisi bo'lgan raqamlar ketma-ketligi. Masalan, 0,1,1, 2, 3. Bu erda har bir raqam oldingi ikkita raqamning yig'indisidir.
Algoritm
Let n be the number of terms.
1. If n <= 1, return 1.
2. Else, return the sum of two preceding numbers.
Biz fibonachchi ketma-ketligini 5-songacha hisoblaymiz.

  1. Birinchi muddat 0 ga teng.

  2. Ikkinchi muddat - 1.

  3. Uchinchi atama 0 (1-bosqichdan) va 1 (2-bosqichdan) yig'indisidir, bu 1 ga teng.

  4. To'rtinchi muddat uchinchi muddat (3-bosqichdan) va ikkinchi muddat (2-bosqichdan) yig'indisi, ya'ni 1 + 1 = 2.

  5. Beshinchi muddat - to'rtinchi muddat (4-bosqichdan) va uchinchi muddatning (3-bosqichdan) yig'indisi, ya'ni 2 + 1 = 3.

Shunday qilib, bizda ketma-ketlik 0,1,1, 2, 3mavjud. Bu erda biz quyida ko'rsatilganidek, oldingi bosqichlarning natijalaridan foydalandik. Bu dinamik dasturlash yondashuvi deb ataladi .
F(0) = 0
F(1) = 1
F(2) = F(1) + F(0)
F(3) = F(2) + F(1)
F(4) = F(3) + F(2)

Download 267.6 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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