Mengapa ukuran input yang lebih besar menyiratkan contoh yang lebih sulit?

12

Di bawah, asumsikan kita sedang bekerja dengan mesin Turing pita tak terbatas.

Ketika menjelaskan gagasan kompleksitas waktu kepada seseorang, dan mengapa itu diukur relatif terhadap ukuran input sebuah instance, saya menemukan klaim berikut:

[..] Misalnya, wajar bahwa Anda akan memerlukan langkah lebih banyak untuk mengalikan dua bilangan bulat dengan 100000 bit, daripada, katakanlah mengalikan dua bilangan bulat dengan 3 bit.

Klaim itu meyakinkan, tapi entah bagaimana melambaikan tangan. Dalam semua algoritma yang saya temui, semakin besar ukuran input, semakin banyak langkah yang Anda butuhkan. Dengan kata yang lebih tepat, kompleksitas waktu adalah fungsi ukuran input yang meningkat secara monoton .

Apakah ini masalahnya bahwa kompleksitas waktu selalu merupakan fungsi yang meningkat dalam ukuran input? Jika demikian, mengapa demikian? Apakah ada bukti untuk itu selain melambaikan tangan?

Kaveh
sumber
ncn
o(1)O(1)o(1)O(n2)+o(1)O(n2)waktu, dan ada beberapa istilah lain yang tumbuh lebih kecil karena input semakin besar.
SamM
c/ncncf(b)<f(a),a<b
@Arthfett Saya khawatir saya tidak mengikuti. Tidak semua fungsi yang meningkat berkurang di beberapa titik di sepanjang garis nyata.
SamM
o(1)

Jawaban:

12

Apakah ini masalahnya bahwa kompleksitas waktu selalu merupakan fungsi yang meningkat dalam ukuran input? Jika demikian, mengapa demikian?

nnn2n

Jika Anda mengartikan kompleksitas masalah , jawabannya tetap tidak. Kompleksitas pengujian awal jauh lebih kecil untuk angka genap daripada angka ganjil.

JeffE
sumber
4

Apakah ini masalahnya bahwa kompleksitas waktu selalu merupakan fungsi yang meningkat dalam ukuran input? Jika demikian, mengapa demikian? Apakah ada bukti untuk itu selain melambaikan tangan?

nnn/cc


n=1n>1


Algoritma mungkin sublinear yang menarik bagi Anda, yang tidak membaca seluruh input. Lihat misalnya http://www.dcs.warwick.ac.uk/~czumaj/PUBLICATIONS/DRAFTS/Sublinear-time-Survey-BEATCS.pdf .

Christopher
sumber
O(logn)o(1)
@ Sam: Maaf, saya tidak melihat komentar Anda sebelum edit saya (menambahkan algoritma sublinear).
Christopher
justru sebaliknya; Saya tidak melihat hasil edit Anda sebelum menambahkan komentar saya. Saya akan menghapusnya tetapi paruh kedua masih berlaku dan tautan tambahan tidak dapat merusak OP
SamM
1
f(x)=0
1

(N,)Ω(1)

Yang mengatakan, rata-rata runtimes dapat berisi komponen berosilasi, misalnya Mergesort .

Raphael
sumber
Saya tidak melihat bagaimana jawaban ini terkait dengan pertanyaan itu.
A.Schulz
@ A.Schulz Ini memberikan bukti untuk pertanyaan utama "Apakah ini kasus bahwa kompleksitas waktu selalu merupakan fungsi yang meningkat dalam ukuran input?", Membaca "meningkat" sebagai "non-menurun", yaitu tidak selalu meningkat secara tajam.
Raphael
1
@ A.Schulz: Tetap saja, interpretasi saya sepertinya menjadi minat Jennifer .
Raphael