Mavzu: Algoritmlar samaradorligini tahlil qilish. Reja: Samaradorlik ko’rsatkichlari


(3)T: Agar algoritm polinomial bajarilish vaqtiga ega bo'lsa, u samarali deb ataladi



Yüklə 57,59 Kb.
səhifə4/15
tarix30.09.2023
ölçüsü57,59 Kb.
#129592
1   2   3   4   5   6   7   8   9   ...   15
Mavzu Algoritmlar samaradorligini tahlil qilish. Reja Samarado-hozir.org

(3)T: Agar algoritm polinomial bajarilish vaqtiga ega bo'lsa, u samarali deb ataladi.

Lekin, polinomial vaqt d ning katta qiymatlarida yaxshi natija bermasligi mumkin, masalan d>=100 holatda bu son juda katta bo’ladi, natijada polinomial bajarilish vaqti kattalashib ketadi. Algoritm ishlayveradi. Bu xolda N^d faqat chegara vazifasini o’taydi.



Polinomial vaqtga ega bo'lgan algoritmlar mavjud bo'lgan masalalar uchun bu algoritmlar deyarli har doim n, n*log n, n^2 yoki n^3 kabi o'rtacha o'sish sur'ati bilan ko'paytuvchilarga mutanosib ravishda ishlaydi. Va aksincha, Polinomial vaqtga ega bo'lmagan algoritmli masalalar uchun bajarilish vaqti juda ham kattalashib ketadi, uni baholash noma'lum bo’ladi, odatda bunday masalalarni yechish juda murakkab bo'lib chiqadi. Umuman olganda, bunday baholashlar ba’zi masalalarda darajaning yoki koeffitsientlarning kattaligi sababli yaxshi natija bermaydi, algoritm yaxshi bo’lsa ham. Ajablanarlisi shuki, aksariyat hollarda polinomial vaqtni matematik aniqlash algoritmlarning samaradorligi va real hayotdagi masalalarni hal qilish bo'yicha kuzatishlarimiz bilan mos keladi. Bunday masalalarni polinomial yechish mumkin bo’lgan masalalar deyiladi. Demak, 3-ta’rifni ma’lum ma’noda talabga javob beruvchi ta’rif desak boladi. U xolda Polinomial vaqtga ega bo'lmagan algoritmlarni qayta ko’rib chiqish kerak.

Polinomial vaqtga ega bo'lgan algoritmlarni ishlab chiqish nima ucgun zarurligini quyidagi jadval ma’lumotlarini tahlil qilib bilish mumkin. Algoritmlarning ishlash vaqtlari




n=

n

n*logn

n^2

n^3

1,5^n

2^n

n!

10






















30
















18min

10^25y

50













11min

36y

Juda kop



100













12892y

10^17y

----

1000










18min

---

----

----

10000







2min

12kun

--

---

---

100000







3soat

32y

---

---

---

1 mln.




20s

12kun

31710y

---

---

---





Asimptotik yuqori chegaralar

Algoritmning samaradorligi bu algoritmni qo’llash uchun qancha kuch talab qilinishini yoki uning qiymati qanchaligini bildiradi. Bunday qiymat har xil mezonlar bilan o’lchanishi mumkin. Bu erda ulardan ikkitasini: vaqt va fazo miqdorinini samaradorlik mezonlari sifatida olinadi. Bunda vaqt mezoni fazodan muhimroq hisoblanadi, shuning uchun samaradorlik asosan ma’lumotlarnu qayta ishlashga ketgan vaqtga nisbatan olinadi. Samaradorlikni baholash uchun mantiqiy birliklar, ya’ni fayl yoki massivning o’lchami n va qayta ishlash uchun ketgan vaqt miqdori t olinadi.

Agar n o’lchov va t vaqt orasida t1=c*n chiziqli bog’liqlik bo’lsa, u holda xajmni bir necha marta, hususan 5 marta, oshirish natijasida, ularni qayta ishlashga ketgan vaqt ham 5 marta oshadi ya’ni n2=5*n bo’lsa, t2=5*t o’rinli bo’ladi. Yoki, agar bog’liqlik t1=logn bo’lsa, u holda n 2 marta oshirilsa vaqt sarfi bor yo’g’i bir birlikka ortadi, ya’ni t2=log2*n=t1+1 bo’ladi. n va t ni bog’liqligini ifodalovchi funksiya odatda murakkab bo’ladi va bunday funksiyani hisoblash katta hajmdagi ma’lumotlarni qayta ishlashda juda muhim hisoblanadi. Hosil qilingan f-ya berilgan funksiyaning tarkibiy samaradorligini bildiradi.Shunga qaramay bu yaqinlashish funksiyaga yaqin hisoblanadi, va katta hajmdagi ma’lumotlar uchun originalga juda yaqin bo’ladi. Samaradorlikning bu o’lchovi assimtotik yaqinlashuvchi o’lchov deyiladi va u samaradorlikni aniqlovchi funksiya ma’lum xadlarini hisobga olganda yoki samaradorlikni aniq hisoblas qiyin, yoki mumkin bo’lmaganda qo’llaniladi.


Yüklə 57,59 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   ...   15




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin