Notasi O besar adalah rata-rata unit bebas untuk mengukur variasi kinerja, sehingga tahan terhadap biaya relatif primitif komputasi.
Singkatnya:
Notasi O besar adalah unit bebas, jenis pengukuran relatif (berlawanan dengan pengukuran absolut). Ini hanya dapat mengukur variasi kinerja, bukan kinerja absolut, yang konstanta sangat penting. Keuntungannya adalah ini menjadikannya sebagian besar implementasi independen, dengan memungkinkan analisis lebih sederhana yang dapat mengabaikan biaya relatif dari operasi dasar, selama biaya ini memiliki batas atas dan bawah yang tetap positif. Tetapi konsekuensinya adalah bahwa faktor-faktor konstan tidak ada artinya . Namun, bahkan untuk tujuannya, analisis kompleksitas asimptotik dapat dipertanyakan dengan alasan lain , dan harus dipertimbangkan dengan hati-hati. Misalnya, ukuran input mentah mungkin bukan parameter yang tepat untuk dipertimbangkan.
Komentar pertama adalah bahwa pertanyaan Anda tidak dinyatakan secara akurat. Ketika Anda mengabaikan konstanta in 3 n , memang ada "perubahan tiga kali lipat", tetapi keduanya bervariasi pada tingkat yang sama, dan Anda tidak dapat menyatakan bahwa "[satu] benda bervariasi 3 kali lebih cepat daripada yang lain".33n
Alasan yang baik untuk mengabaikan konstanta dalam notasi Landau adalah bahwa kita tidak memiliki unit yang dapat kita andalkan. Ketika seseorang menyatakan bahwa A tinggal dua kali lebih jauh dari Anda daripada B, ini memang memiliki makna terlepas dari unit apa pun. Kita bisa menyetujuinya meskipun Anda mengukur jarak dalam inci sementara saya melakukannya dalam tahun cahaya. Tetapi pengukuran jarak absolut membutuhkan unit yang ditentukan, dan formulasi numeriknya tergantung pada unit yang dipilih.
Waktu aktual yang diambil oleh suatu algoritma tergantung pada waktu pelaksanaan operasi dasar, yang sangat bergantung pada mesin. Anda dapat menghitung jumlah operasi dasar, tetapi tidak ada alasan untuk percaya bahwa mereka semua mengambil waktu yang sama, dan selalu memungkinkan untuk menggabungkan beberapa operasi menjadi satu, atau sebaliknya menguraikan operasi menjadi yang lebih kecil, sehingga jumlahnya operasi tidak benar-benar bermakna, kecuali jika Anda menyetujui mesin virtual referensi. Menjadi referensi independen adalah keuntungan.
Pandangan lain tentang keuntungan dari pendekatan ini adalah bahwa yang Anda pedulikan dalam analisis adalah menghitung jumlah operasi elementer, selama biayanya memiliki batas atas dan batas bawah positif. Anda tidak perlu khawatir tentang biaya individu.
Namun, harga yang harus dibayar untuk keuntungan itu adalah bahwa penilaian biaya perhitungan diberikan dengan unit yang tidak ditentukan, dan waktu perhitungan, misalnya, bisa nanodetik atau milenia - kita bahkan tidak mencoba untuk mengetahuinya. Dengan kata lain faktor konstan tidak ada artinya, karena satuan ganti tidak dapat dipisahkan dari perubahan faktor konstan , dan tidak ada satuan referensi yang digunakan.
Seperti dicatat oleh Patrick87 , ini cukup untuk memahami bagaimana suatu algoritma timbangan sehubungan dengan ukuran input, tetapi itu tidak akan memberikan ukuran kinerja absolut, pendek bergantung pada unit referensi. Melepaskan mesin abstrak referensi umum dapat dilakukan ketika seseorang benar-benar ingin membandingkan kinerja algoritma yang berbeda, tetapi lebih sulit untuk memastikan bahwa perbandingan tidak bias oleh detail realisasi. Dalam kompleksitas asimptotik, risiko ini dihindari karena Anda membandingkan algoritme dengan dirinya sendiri.
O(n6)algoritma yang digunakan untuk ML, yang memiliki kompleksitas kasus terburuk secara eksponensial. Tapi itu sepertinya tidak mengganggu pengguna ML, atau untuk mencegah penulisan program yang sangat besar di ML. Ada lebih dari konstanta yang penting. Sebenarnya, analisis asimptotik menghubungkan ukuran biaya perhitungan dengan ukuran kompleksitas input. Tetapi ukuran mentah mungkin bukan ukuran yang tepat.
Kompleksitas seperti decidability, mungkin secara teori buruk, tetapi itu mungkin tidak relevan untuk sebagian besar ruang data ... kadang-kadang. Analisis kompleksitas asimptotik adalah alat yang baik dan dirancang dengan baik, dengan kelebihan dan keterbatasannya, seperti semua alat. Dengan atau tanpa menjelaskan konstanta, yang mungkin tidak ada artinya, menggunakan penilaian diperlukan.