Bukti yang kuat untuk validitas asumsi

20

Teorema Master adalah alat yang indah untuk memecahkan beberapa jenis perulangan . Namun, kami sering mengabaikan bagian integral ketika menerapkannya. Misalnya, selama analisis Mergesort kami dengan senang hati pergi dari

T(n)=T(n2)+T(n2)+f(n)

untuk

T(n)=2T(n2)+f(n)

hanya mempertimbangkan . Kami meyakinkan kami sendiri bahwa langkah ini valid - yaitu, - karena berperilaku "baik". Secara umum, kita mengasumsikan untuk penyebut yang sama. T Θ ( T ) T n = b k bn=2kTΘ(T)Tn=bkb

Mudah untuk membuat rekurensi yang tidak memungkinkan penyederhanaan ini dengan menggunakan setan . Misalnya, pengulangan di atas untuk / denganTfTT

f(n)={1,n=2kn,else

akan menghasilkan dengan menggunakan teorema Master dengan cara biasa, tetapi jelas ada urutan yang tumbuh seperti . Lihat di sini untuk contoh lain yang lebih rumit.Θ ( n log n )Θ(n)Θ(nlogn)

Bagaimana kita bisa membuat ini "dengan baik" ketat? Saya cukup yakin monotonisitas sudah mencukupi, tetapi perulangan Mergesort yang sederhana pun tidak monoton; ada komponen periodik (yang didominasi tanpa gejala). Apakah cukup untuk menyelidiki , dan kondisi apa yang diperlukan dan memadai pada yang memastikan teorema Master bekerja?fff

Raphael
sumber
Lain mengambil hasil yang sama adalah teorema Akra-Bazzi "Pada Solusi Persamaan Linier Linear", Optimalisasi Komputasi dan Aplikasi, 10 (2), 195-210 (1998), atau Drmota dan Szpankowski "Teorema Master untuk Diskrit Membagi dan Taklukkan Perulangan ", SODA'11 < dl.acm.org/citation.cfm?id=2133036.2133064 >.
vonbrand
2
Berikut tautan ke makalah di atas, yang tidak berada di belakang paywall.
Paresh
1
IIRC ini dibahas dalam CLRS bab 4.
Kaveh
@ Kaveh Terima kasih atas penunjuknya. Sebagian besar, mereka menyebutnya "kecerobohan yang bisa ditoleransi"; ini baik-baik saja dalam konteksnya, karena mereka menganggap Anda hanya memperoleh hipotesis, yang kemudian terbukti benar dengan induksi. Mereka menyebut bahayanya (4.6). Dalam 4.6.2 mereka memberikan bukti, tetapi tingkat tinggi dan mereka tidak secara eksplisit mengatakan apa pembatasan harus berada di tempat. Jadi sepertinya ada sesuatu seperti " sehingga matematika harus melalui", yang saya pikir terutama mengharuskan untuk memiliki "bagus" kelas- . T f ΘTTfΘ
Raphael
Dalam kasus umum ketika Anda tidak memiliki ukuran yang sama, Anda dapat menggunakan metode Akra-Bazzi yang merupakan generalisasi dari teorema master, yakin bagaimana mengubah fungsi spesifik ke sesuatu yang bekerja dalam teorema ini memerlukan sedikit trik, dan untuk sesuatu seperti penggabungan penggabungan, inilah yang biasanya digunakan orang untuk membuktikan kompleksitas waktu.

Jawaban:

10

Sepanjang jawaban ini, kami menganggap dan adalah non-negatif. Bukti kami berfungsi kapan saja untuk beberapa monoton . Ini termasuk contoh Mergesort Anda, di mana , dan fungsi apa pun yang memiliki tingkat pertumbuhan polinomial (atau bahkan ).T f = Θ ( g ) g f = Θ ( n ) Θ ( n a log b n )fTf=Θ(g)gf=Θ(n)Θ(nalogbn)

Mari kita perhatikan dulu kasus bahwa adalah monoton non-menurun (kami akan mengendurkan asumsi ini nanti). Kami berkonsentrasi pada pengulangan sampel Anda Perulangan ini membutuhkan dua kasus dasar, dan . Kami membuat asumsi bahwa , yang juga akan kita bersantai nanti.T ( n ) = T ( n / 2 ) + T ( n / 2 ) + f ( n ) . T ( 0 ) T ( 1 ) T ( 0 ) T ( 1 )f

T(n)=T(n/2)+T(n/2)+f(n).
T(0)T(1)T(0)T(1)

Saya mengklaim bahwa adalah monoton yang tidak berkurang. Kami membuktikan dengan induksi lengkap bahwa . Ini diberikan untuk , jadi mari . Kami memiliki Ini menyiratkan bahwa Jadi jika , kita selesai. Ini selalu terjadi jika solusi untuk kekuatan dua adalah dalam bentuk .T ( n + 1 ) T ( n ) n = 0 n 1 T ( n + 1 )T(n)T(n+1)T(n)n=0n1T(2 log 2 n)T(n)T(2 log 2 n). T(2m)=Θ

T(n+1)=T((n+1)/2)+T((n+1)/2)+f(n+1)T(n/2)+T(n/2)+f(n)=T(n).
T(2log2n)T(n)T(2log2n).
T ( n ) = Θ ( n a log b n )T(2m)=Θ(T(2m+1))T(n)=Θ(nalogbn)

Sekarang mari kita santai dengan asumsi bahwa . Pertimbangkan rekurensi baru didefinisikan dengan cara yang persis sama, hanya . Kita dapat membuktikan dengan induksi bahwa . Demikian pula, kita dapat mendefinisikan perulangan baru memuaskan , dan kemudian . Dengan menggunakan teorema Master, kita melihat bahwa dan untuk fungsi yang sama , dan juga juga.T(0)T(1)TT(0)=T(1)=min(T(0),T(1))T(n)T(n)TT(0)=T(1)=max(T(0),T(1))T(n)T(n)T=Θ(h)T=Θ(h)hT=Θ(h)

Sekarang mari kita santai dengan asumsi bahwa adalah monoton. Misalkan untuk beberapa fungsi monoton . Jadi untuk beberapa dan cukup besar. Kami berasumsi untuk kesederhanaan bahwa ; kasus umum dapat ditangani seperti pada paragraf sebelumnya. Sekali lagi kita mendefinisikan dua rekurensi dengan mengganti dengan (masing-masing). Sekali lagi teorema Master akan memberikan hasil yang sama (hingga kelipatan konstan), yang juga identik (hingga kelipatan konstan) dengan apa yang akan kita dapatkan dengan menyelesaikan perulangan asli hanya pada kekuatan dua.f = Θ ( g ) g c g ( n ) f ( n ) C g ( n ) c , C > 0 n n = 0ff=Θ(g)gcg(n)f(n)Cg(n)c,C>0nn=0T,Tfcg,Cg

Yuval Filmus
sumber
1
Akhirnya harus membaca ini lebih cermat. Terima kasih banyak! Saya pikir saya akan mencatat ini untuk pembaca masa depan (karena saya tersandung tentang hal itu): bukan pembatasan karena itu hanya salah untuk super-polinomial dan teorema Master tidak berlaku untuk itu. T(2m)Θ(T(2m+1))T
Raphael
Saya telah mencoba menuliskan bukti Anda lebih terinci dan terjebak membuktikan kalimat terakhir Anda, "yang juga identik (...) dengan apa yang akan kita dapatkan dengan menyelesaikan perulangan asli hanya pada kekuatan dua." Secara khusus, kita harus menunjukkan bahwa kita berakhir dalam kasus yang sama dari teorema Master untuk , dan . Ini bukan masalah untuk kasus 1 dan 2, tapi saya tidak bisa menunjukkan keberadaan untuk kasus 3 (lihat versi di CLRS, p94 di edisi ke-3). Apakah Anda memikirkan hal itu, atau apakah Anda bekerja dengan versi yang mirip dengan versi Wikipedia ? f C g c < 1cgfCgc<1
Raphael
Ini teknis. Jika maka masalahnya hilang, lihat misalnya users.encs.concordia.ca/~chvatal/notes/master.pdf . Fungsi akan secara otomatis memenuhi persyaratan. Saya membayangkan hal yang sama berlaku untuk dan seterusnya. Atau, sebutkan saja kondisi ini langsung pada daripada pada : harus ada beberapa "biasa" memuaskan . g f = Θ ( n α log β n ) g f g f = Θ ( g )f=Θ(nα)gf=Θ(nαlogβn)gfgf=Θ(g)
Yuval Filmus
Nah, Anda mengklaim " monoton" adalah kondisi yang cukup (dan saya percaya Anda) jadi saya mencoba untuk bekerja dengan itu. Teorema Master seperti yang diberikan dalam misalnya CLRS berlaku untuk misalnya , jika saya tidak salah, jadi pembatasan untuk fungsi polylogarithmic atau semacam itu tidak "teknis" tetapi melemahkan hasilnya dengan baik. Mengangkat "keteraturan" ke tidak membantu, omong-omong: Saya sudah memilikinya dalam kasus penting melalui keteraturan / (dengan asumsi). Jadi saya kembali pada komentar saya sebelumnya, sayangnya. Jika ini benar-benar hanya teknis, saya tidak melihatnya. Terlalu banyak ketidaksetaraan. f : n 2 n g c g C ggf:n2ngcgCg
Raphael
Saya masih berpikir itu teknis. Kondisi yang Anda khawatirkan adalah kondisi teknis. Untuk sebagian besar fungsi yang muncul dalam praktik, kondisi akan berlaku. Anda meminta kondisi paling umum untuk sketsa bukti di atas. Itu pertanyaan menarik yang terlalu malas saya jawab.
Yuval Filmus