|
Baholash funksiyalar klassifikatsiyasi
|
bet | 4/8 | Sana | 13.05.2024 | Hajmi | 31,65 Kb. | | #229681 |
Bog'liq 1-ma\'ruzaBaholash funksiyalar klassifikatsiyasi.
Berilgan ikkita f va g funksiyalar uchun quyidagi ta’rifni keltiramiz:
1-ta’rif. f(n) funksiya 0(g(n)) bo‘ladi deyiladi, agar shunday musbat c va N sonlar mavjud bo‘lsaki , barcha n>=N lar uchun f(n)<=c g(n) tengsizlik bajarilsa.
Bu ta’rifga asosan agar f(n) funksiya 0(g(n)) bo‘lsa, u holda uning o‘sish tartibi yetarli katta n lar uchun albatta cg(n) funksiya o‘sish tartibidan kichik yoki teng bo‘lar ekan. Demak, bu holda f(n) funksiya katta n larda cg(n) funksiyadan tez o‘sa olmaydi. Bu yerda c va N sonlarini aniqlash muammo bo‘lib qoladi, chunki ta’rifda ularni aniqlashning konkret yoli korsatilmagan. Ikkinchidan, bu sonlarga hech qanday shartlar qo‘yilmagan. Shuning uchun ularning qiymatlari juda ko‘p bo‘lishi mumkin.
f(n)=2n^2+ 3n+1=O(n^2) (2)
f(n)=2n^2+ 3n+1=O(n^2) (2)
U holda g(n)=n^2 funksiyani tarifdagi funksiya sifatida oluvchi funksiyalardan biri deb xisoblash mumkin. Ta’rifga asosan, c va N lar uchun quyidagi rasmdagi sonlar juftliklarini olish mumkin bo‘ladi. (2) funksiya uchun c va N larning qiymatlari.
N va c ning qiymatlarini аniqlash
N va c ning bunday qiymatlarini quyidagi tengsizlikni yechish orqali aniqlanadi:
2n^2+3n+1<=cn^2; (3)
Undan tashqari n ning darajalari bo‘yicha ham assimptotik funksiyalarni juda ko‘pini olish mumkin. Bu holda eng kichik tartiblisi tanlab olinadi. Bunday noaniqliklarni xal qilish berilgan funksiyadagi kichik tartibli xadlarni barchasini tashlab yuborish va quyidagicha belgilash orqali amalga oshiriladi. Masalan, (1) funksiya uchun:
f(n)=n^2+100n+O(log10n) ko‘rinishda olish , (2) funksiya uchun esa f(n)=2n^2+O(n) kabi ko‘rinishda olish mumkin bo‘ladi.
O- katta funksiyalarning xossalari
Tranzitivlik. Agar f(n) funksiya O(h(n)) bo‘lsa, u holda сf(n) funksiya O(h(n)) bo‘ladi.
Agar f(n) va g(n) funksiyalarning xar biri O(h(n)) bo‘lsa, u holda ularning yig‘infisi f(n)+g(n) ham O(h(n)) bo‘ladi.
f=an^k funksiya O(n^k) bo‘ladi.
f=n^k funksiya ixtiyoriy j>=0 uchun O(n^k+j) bo‘ladi.
Agar f(n)=Cg(n) bo‘lsa, u holda f(n) funksiya O(g(n)) bo‘ladi. Ihtiyoriy a teng emas 1, b teng emas 1 sonlar uchun log(an) funksiya O(log(bn)) bo‘ladi.
O- notasiya yordamida funksiyani yuqoridan assimptotik baxolashni ko‘rdik. Xuddi shunday baxolashni quyidan ham berish mumkin. Bunday baholashni sigma(Ω) baholash deyiladi va u quyidagicha aniqlanadi:
|
| |