Böyük O işarələr sistemi
Bu məqaləni vikiləşdirmək lazımdır. |
Böyük O işarə göstəricisi, arqument müəyyən bir dəyərə və ya sonsuzluğa yaxınlaşanda bir funksiyanın məhdudlaşdırıcı davranışını təyin edən riyazi işarədir. Paul Bachmann, Edmund Landau və digərləri tərəfindən icad edilən, Bachmann-Landau işarəsi və ya asimptotik işarə olaraq adlandırılan işarələr qrupunun üzvüdür.
Kompüter elmlərində böyük O işarəsi, alqoritmlərin, problemin ölçüsü son dərəcə böyük olduğunda dəyişikliyə necə reaksiya verdiyini təsnif etmək üçün istifadə edilir. Analitik sayı nəzəriyyəsində, aritmetik bir funksiyanın asimptotik ölçüsünü böyük sonlu argumentlərdən keçən dəyərlə dəyişdirərkən "baş vermiş səhv" təxmin edilir. Məşhur nümunə, sadə ədədlər teoremində qalığın təxmin edilməsi problemidir.
Böyük O işarəsi, funksiyaları böyümə sürətinə görə xarakterizə edir: eyni böyümə nisbətinə sahib fərqli funksiyalar eyni O işarəsi ilə göstərilə bilər.
Böyükdür — (ing. greater than, ru. больше)
Böyükdür və ya bərabərdir (ing. greater than or egual to, ru. больше или равно)
Funksiyanın böyümə nisbəti funksiyanın sırası (order of the function) olaraq da adlandırıldığından, O hərfi istifadə olunur. Bir funksiyanın böyük O işarəsi baxımından bir tərifi ümumiyyətlə funksiyanın böyümə nisbətinin üst sərhədini təmin edir. Böyük O işarəsi ilə əlaqəli olaraq, asimptotik böyümə dərəcələrində digər sərhəd növlərini müəyyənləşdirmək üçün o, Ω, ω və Θ işarələrindən də istifadə olunur.
Böyük O işarəsi, bənzər proqnozları təmin etmək üçün bir çox sahədə də istifadə olunur.
Formal tərif
redaktəf və g həqiqi ədədlər çoxluğunda təyin olunmuş funksiyadırsa
yalnız və yalnız x'in bütün kifayət qədər böyük dəyərləri üçün, f (x) 'in mütləq dəyərinin mütləq g(x) mütləq dəyəri ilə hasili qədər müsbət M sabiti varsa doğrudur. Yəni, f (x) = O (g (x)) yalnız və yalnız M və x0 müsbət həqiqi ədədlərdirsə
- .
Bir çox baxımdan, ehtimal ki, x dəyişəni sonsuzluğa yaxınlaşnda böyümə surəti
- .
O işarəsi eyni zamanda f'in, həqiqi ədəd olan a'nın (ümumiyyətlə, a = 0) yaxınındakı davranışını təsvir etmək üçün istifadə edilə bilər:
Ancaq və ancaq müsbət ədədlər δ və M varsa,
- .
Əgər g(x), x dəyərləri a'ya kifayət qədər yaxın olanda 0 deyilsə, bu təriflərin hər ikisi üst limiti istifadə etməklə birləşdirilə bilər:
Ancaq və ancaq
- .
Nümunə
redaktəTipik istifadədə, O işarəsinin formal tərifi birbaşa istifadə edilmir; Bunun yerinə, f funksiyası üçün O işarəsi aşağıdakı sadələşdirilmiş qaydalara görə əldə edilir:
- Əgər f (x) bir neçə terminin cəmidirsə, ən yüksək artım nisbətinə sahib olan termin varsa, bu termin saxlanıla bilər və digər terminlər isə çıxarılır.
- Əgər f (x) bir neçə terminin hasilidirsə, istənilən sabit (x'dən aslı olmayanlar) çıxarıla bilər.
Məsələn, tutaq ki, biz f(x) = 6x4 − 2x3 + 5 funksiyasını O işarəsinin köməyi ilə sadələşdirmək istəyirik. Bu funksiya üç həddin cəmidir: 6x4, −2x3, və 5. Üç həddin biri ən yüksək böyümə sürətinə malik olan 6x4 dür. Bu zaman biz ikinci qaydanı tətbiq edə bilərik: 6x4 6 və x4 ün hasilidir hansı ki, 1-ci vuruq x dən aslı deyil. Bu faktoru nəzərə almamaq x4 ün sadələşdirilməsinə təsir edə bilər. Buna görə də biz deyirik ki, f(x) (x4)ün "böyük oh" işarəsidir. Riyazi yolla, biz
f(x) = O(x4)
yaza bilərik. Bu hesablama formal tərifin istifadəsi ilə təsdiq oluna bilər: f(x) = 6x4 − 2x3 + 5 və g(x) = x4. Yuxarıdakı formal tərifi tətbiq etməklə yaza bilərik ki f(x) = O(x4) özünün genişlənməsi olan
- x0 və M `in uyğun qiymətləri üçün və bütün x > x0 üçün bərabərdir. Bunu isbat etmək üçün x0 = 1 və M = 13. O zaman bütün x > x0:
beləliklə
İstifadəsi
redaktə- Böyük O işarəsinin 2 əsas tətbiq sahəsi var: sonsuz asimptotlar və sonsuz kiçik asimptotlar."Böyük O" nun formal tərifi hər iki vəziyyətdə eyni olub, yalnız funksiya arqumentinin limitləri dəyişməkdədir.
Sonsuz asimptotlar
redaktə- Böyük O işarəsi, alqoritmlərin səmərəliliyini analiz etmək üçün faydalıdır. Məsələn, n ölçülü məsələni həll etmək üçün lazım olan zaman (addım sayı) T(n) = 4n2 − 2n + 2 düsturu ilə tapılır. n böyüdükcə n2 elə sürətlə böyüyəcək ki, digər həddlərin böyümə sürəti bununla müqayisədə kifayət qədər kiçik olacaqdır. Məsələn n = 500üçün 4n2 həddi 2n həddindən 1000 dəfə böyükdür. Bundan əlavə, əgər biz eyni ifadəni n3 və ya n4 həddləri üçün istifadə etsək vuruqlar öz önəmini itirəcəkdir. T(n) = 1,000,000n2və U(n) = n3 olarsa ikinci ifadə n 1,000,000`u keçdikdə birinci ifadə ilə müqayisədə hər zaman böyük olacaqdır.
- (T(1,000,000) = 1,000,0003= U(1,000,000)).
- Bu halda böyük O işarəsi bu ifadəni daha sadə halda təqdim edir:
- və ya
- və deyə bilərik ki alqoritmin n2 dərəcədən zaman mürəkkəbliyi var.
Sonsuz kiçik asimptotlar
redaktə- Böyük O eyni zamanda riyazi ifadə olan "xəta" nı ifadə etmək üçün də istifadə edilə bilər. Məsələn,
- İkinci ifadə (O(x3) ilə olan) xətanın mütləq qiymətinin ex − (1 + x + x2/2) 0`a yaxın x qiyməti üçün sabitlə |x3| hasilindən daha kiçik olduğunu göstərir.
Hasil
redaktəCəm
redaktə- Bu o deməkdir ki, , hansı ki qabarıq konusdur.
- Əgər f və g müsbət funksiyalar olarsa
Ədəbiyyat
redaktə- İsmayıl Calallı (Sadıqov), "İnformatika terminlərinin izahlı lüğəti", 2017, "Bakı" nəşriyyatı, 996 s.
Sabitə vurulması
redaktə- K sabit olarsa
- əgər k 0dan fərqlidirsə