Мавзу Алгоритмлар тахлили




Download 0,73 Mb.
Pdf ko'rish
bet6/6
Sana22.11.2023
Hajmi0,73 Mb.
#103483
1   2   3   4   5   6
Bog'liq
Ma\'ruza 2. Algoritmlar tahlili

O) va quyi chegara (Ω) bir xil natijani bersa, u holda Θ 
ham bir xil o'sish tezligiga ega bo'ladi. 
Misol tariqasida f(n) = 10n + n ifodani qaraylik. 
U holda uning aniq yuqori chegarasi g(n) – O(n) dir. Eng yaxshi o'sish tezligi 
g(n) = O(n). 
Uning aniq quyi chegarasi g(n) – Ω(n) dir. Eng yomon o'sish tezligi g(n) = Ω(n). 
Ushbu misolda eng yaxshi va eng yomon o'sish tezliklari bir xil. Natijada, 
o'rtacha holat ham bir xil bo'ladi. 
Berilgan funktsiya (algoritm) uchun, agar O va Ω baholar mos kelmasa, u holda 
o'rtacha o'sish tezligi mos kelmasligi mumkin. Bunday holda, biz barcha mumkin 
bo'lgan vaqt baholarini qarab chiqishimiz va ularning o'rtacha qiymatini hisoblashimiz 
kerak bo’ladi. 
Endi Θ – o’rtacha baho ta'rifini beraylik. 
Θ(g(n)) = {f(n): ∃ c
1
,c
2
va n
0
musbat konstantalar mavjudki, barcha n > n

uchun 0 ≤ c
1
g(n) ≤ f(n) ≤ c
2
g(n) bo’ladi}. g(n) – f(n) uchun asimptotik aniq chegara 
(baho) bo’ladi. Θ(g(n)) – g(n) kabi o’sish tartibga ega funksiyalar sinfini ifodalaydi. 
Quyida Θ – o’rtacha baho uchun misollarni ko’rib chiqamiz: 
1-misol. f(n)=n
2
/2-n/2 uchun Θ -bahoni toping 
Yechish: barcha n≥2 uchun n
2
/5≤ n
2
/2-n/2 ≤ n
2
, demak 
f(n)= Θ(n
2
) bo’lib, c
1
=1/5, c
2
=1, n
0
=2 ga teng bo’ladi;
2-misol: n≠ Θ (n
2
) ekanligini isbotlang 
c
1
n

≤ n ≤ c
2
n
2
munosabati faqat n ≤ 1/c
1
uchun to‘g‘ri, lekin n konstantadan 
kichik bo‘lishi mumkin emas, shuning uchun n ≠ Θ (n
2




Rasmda baholarning grafik ko'rinishi ko'rsatilgan:
Ushbu baholashlardan tashqara yana boshqa o(g(n)) baholash ham mavjud 
bo'lib, u quyidagicha aniqlanadi: 
o(g (n)) = {f (n): har qanday c konstanta uchun shunday musbat n
0
son mavjud 
bo’lib, barcha n > n

uchun 0 ≤ f (n) ≤ cg (n) o’rinli bo’ladi}. U xolda g(n) – f (n) 
uchun asimptotik aniq yuqori baho bo'ladi. 
Tahlil qilish uchun (eng yaxshi, eng yomon va o'rtacha holat) biz yuqori chegara 
(O) va pastki chegara (Ω) va o'rtacha ishlash vaqtini (Θ) berishga harakat qilamiz. 
Ba'zan berilgan funktsiya (algoritm) uchun yuqori chegara (O) va pastki chegara (Ω) 
va o'rtacha ishlash vaqtini (Θ) olishning har doim ham imkoni bo’lmaydi. 
Agar biz algoritmning eng yaxshi versiyasini muhokama qilsak, biz yuqori 
chegara (O) va pastki chegara (Ω) va o'rtacha ishlash vaqtini (Θ) berishga harakat 
qilamiz. 
Keyinchalik biz odatda yuqori chegaraga (O) e'tibor qaratamiz, chunki 
algoritmning pastki chegarasi (Ω) amaliy ahamiyatga ega emas va biz undan yuqori va 
pastki chegaralar mos bo'lgan hollarda foydalanamiz. 
Yuqoridagi muhokamadan shuni ko'rish mumkinki, har bir holatda, berilgan f(n) 
funksiya uchun n ning yetarlicha katta qiymatlarida yaqinlashadigan boshqa g(n) 
funksiyani topishga harakat qilamiz. Demak, g(n) ham f(n) ga ning katta qiymatlarda 
yaqinlashadigan egri chiziqdir. 
Matematikada bunday egri chiziqni asimptotik egri chiziq deb ataymiz. 
Boshqacha qilib aytganda, g(n) – f(n) uchun asimptotik egri chiziqdir. Shu sababga 
ko’ra algoritmlarni tahlil qilishni asimptotik tahlil deb ataymiz. 
Asimptotik baholarning asosiy xossalari 
• Tranzitivlik: f(n) = Θ(g(n)) va g(n) = Θ(h(n)) ⇒ f(n) = Θ(h(n)). Bu O va Ω 
baholar uchun ham amal qiladi. 
• Refleksivlik: f(n) = Θ (f(n)). Bu O va Ω baholar uchun ham amal qiladi. 
• Simmetriyalik: f(n) = Θ(g(n)) bo’ladi, agar g(n) = Θ(f(n)) bo‘lsa. 
• Simmetriya transpozitsiyasi: f(n) = O(g(n)) agar g(n) = Ω (f(n)) bo'lsa. 



• Agar f(n) har qanday doimiy k > 0 uchun O(kg(n)) da bo‘lsa, u xolda f(n) 
O(g(n)) da bo‘ladi. 
• Agar f1(n) O(g1(n)) va f2(n) O(g2(n)) da bo‘lsa, u xolda (f1 + f2)(n) 
O(max(g1(n) ,g2 (n))) da bo‘ladi.
• Agar f1(n) O(g1(n)) va f2(n) O(g2(n)) da bo‘lsa, u xolda f1(n) f2(n)
O(g1(n)g2(n)) da bo‘ladi. 

Download 0,73 Mb.
1   2   3   4   5   6




Download 0,73 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Мавзу Алгоритмлар тахлили

Download 0,73 Mb.
Pdf ko'rish