Bằng chứng nghiêm ngặt về tính hợp lệ của giả định


20

Định lý Master là một công cụ tuyệt vời để giải quyết các loại tái phát nhất định . Tuy nhiên, chúng tôi thường phủ bóng lên một phần không thể thiếu khi áp dụng nó. Ví dụ, trong quá trình phân tích Mergesort, chúng tôi vui vẻ đi từ

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

đến

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

chỉ xem xét . Chúng tôi đảm bảo với chúng tôi rằng bước này là hợp lệ - nghĩa là, - vì cư xử "độc đáo". Nói chung, chúng tôi giả sử cho mẫu số chung.n=2kTΘ(T)Tn=bkb

Thật dễ dàng để xây dựng các đợt tái phát không cho phép đơn giản hóa này bằng cách sử dụng f luẩn quẩn f. Ví dụ: trên tái phát cho T / T với

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

sẽ mang lại Θ(n) bằng cách sử dụng định lý Master theo cách thông thường, nhưng rõ ràng có một chuỗi con phát triển như Θ(nlogn) . Xem ở đây cho một ví dụ khác, giả định hơn.

Làm thế nào chúng ta có thể làm cho "độc đáo" nghiêm ngặt này? Tôi khá chắc chắn rằng sự đơn điệu là đủ, nhưng ngay cả sự tái phát Mergesort đơn giản là đơn điệu; có một thành phần định kỳ (được chi phối không có triệu chứng). Có đủ để điều tra f , và những điều kiện cần và đủ trên f để đảm bảo định lý Master hoạt động không?


Một kết quả khác cũng cho kết quả tương tự là định lý Akra-Bazzi "Về giải pháp của phương trình tái phát tuyến tính", Tối ưu hóa tính toán và ứng dụng, 10 (2), 195-210 (1998), hoặc Drmota và Szpankowski "Một định lý chính cho sự phân chia rời rạc và chinh phục các đợt tái phát ", SODA'11 < dl.acm.org/citation.cfm?id=2133036.2133064 >.
vonbrand

2
Đây là một liên kết đến bài báo trên, không phải là một bức tường.
Paresh

1
IIRC điều này được thảo luận trong CLRS chương 4.
Kaveh

@Kaveh Cảm ơn con trỏ. Đối với hầu hết các phần, họ gọi nó là "sự trì trệ có thể chịu đựng được"; Điều này là tốt trong bối cảnh của họ, bởi vì họ cho rằng bạn chỉ rút ra một giả thuyết, sau đó được chứng minh là đúng bằng cảm ứng. Họ đề cập đến những nguy hiểm (4.6). Trong 4.6.2, họ đưa ra một bằng chứng, nhưng nó ở mức độ cao và họ không nói rõ ràng những hạn chế nào đối với phải có. Vì vậy, nó có vẻ giống như " sao cho các toán học trải qua", mà tôi nghĩ chủ yếu yêu cầu phải có một lớp "đẹp" . T f ΘTTfΘ
Raphael

Trong trường hợp chung khi bạn không có kích thước tương tự, bạn có thể sử dụng phương pháp Akra, Bazzi , đó là khái quát hóa định lý chính, chắc chắn làm thế nào để thay đổi hàm cụ thể thành một cái gì đó hoạt động trong định lý này cần một mẹo nhỏ và đối với một thứ như sắp xếp hợp nhất, đây là những gì mọi người thường sử dụng để chứng minh sự phức tạp của thời gian.

Câu trả lời:


10

Trong suốt câu trả lời này, chúng tôi giả sử và không âm. Bằng chứng của chúng tôi hoạt động bất cứ khi nào cho một số đơn điệu . Điều này bao gồm ví dụ Mergesort của bạn, trong đó và bất kỳ hàm nào có tốc độ tăng trưởng đa thức (hoặc thậm chí ).T f = Θ ( g ) g f = Θ ( n ) Θ ( n a log b n )fTf=Θ(g)gf=Θ(n)Θ(nalogbn)

Trước tiên, hãy xem xét trường hợp là đơn điệu không giảm (chúng ta sẽ thư giãn giả định này sau). Chúng tôi tập trung vào sự tái phát mẫu của bạn Sự tái phát này cần hai trường hợp cơ bản, và . Chúng tôi đưa ra giả định rằng , mà chúng tôi cũng sẽ thư giãn sau này.T (fT ( 0 ) T ( 1 ) T ( 0 ) T ( 1 )

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

Tôi cho rằng là đơn điệu không giảm. Chúng tôi chứng minh bằng cảm ứng hoàn toàn rằng . Điều này được đưa ra cho , vì vậy hãy để . Chúng ta có Điều này ngụ ý rằng Vậy nếu , chúng ta đã hoàn thành. Đây luôn là trường hợp nếu giải pháp cho quyền hạn của hai có dạng .T ( n +T(n)n = 0 n 1 T ( n + 1 )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)

Bây giờ hãy thư giãn giả định rằng . Hãy xem xét một lần tái phát mới được xác định theo cùng một cách chính xác, chỉ . Chúng ta có thể chứng minh bằng cảm ứng rằng . Tương tự, chúng ta có thể định nghĩa một lần tái phát mới thỏa mãn , rồi . Gọi định lý Master, chúng ta thấy và cho cùng một hàm , và do đó cũng vậy.T T ( 0 ) = T ( 1 ) ) ,T(0)T(1)TT ( n ) T T ( 1 ) ) T ( n ) T " ( n ) T 'T(0)=T(1)=min(T(0),T(1))T T ( 0 ) = T " ( 1 ) T ( 0T(n)T(n)TT(0)=T(1)=max(T(0),T(1))T(n)T(n)T=Θ(h)T=Θ(h)hT=Θ(h)

Bây giờ hãy thư giãn giả định rằng là đơn điệu. Giả sử cho một số hàm đơn điệu . Do đó cho một số và đủ lớn. Chúng tôi giả sử cho đơn giản rằng ; trường hợp chung có thể được xử lý như trong đoạn trước. Một lần nữa, chúng tôi xác định hai lần lặp lại bằng cách thay thế bằng (tương ứng). Một lần nữa, định lý Master sẽ cho kết quả tương tự (lên bội số không đổi), cũng giống hệt (bội số không đổi) với những gì chúng ta sẽ nhận được bằng cách giải quyết sự tái phát ban đầu chỉ dựa trên lũy thừa của hai.f = Θ ( g ) gff=Θ(g)gc , C > 0 n n = 0 T , T fcg(n)f(n)Cg(n)c,C>0nn=0T,Tfcg,Cg


1
Cuối cùng phải đọc kỹ hơn. Rất vui, cảm ơn! Tôi nghĩ tôi sẽ lưu ý điều này cho những độc giả tương lai (vì tôi đã vấp phải nó): không phải là một hạn chế vì nó chỉ sai siêu đa thức và định lý Master không áp dụng cho như vậy. T(2m)Θ(T(2m+1))T
Raphael

Tôi đã cố gắng viết ra bằng chứng của bạn chi tiết hơn và bị mắc kẹt khi chứng minh câu cuối cùng của bạn, "cũng giống hệt (...) với những gì chúng ta sẽ nhận được bằng cách giải quyết sự tái phát ban đầu chỉ dựa trên sức mạnh của hai người." Cụ thể, chúng ta phải chứng minh rằng chúng ta kết thúc trong cùng một trường hợp của định lý Master cho , và . Đây không phải là vấn đề đối với trường hợp 1 và 2, nhưng tôi không thể hiển thị sự tồn tại của cho trường hợp 3 (cf phiên bản trong CLRS, p94 trong phiên bản thứ 3). Bạn có nghĩ về điều đó, hoặc bạn đã làm việc với một phiên bản tương tự như phiên bản Wikipedia ? f C g c < 1cgfCgc<1
Raphael

Đây là một kỹ thuật. Nếu thì vấn đề sẽ biến mất, hãy xem ví dụ users.encs.concordia.ca/~chvirth/notes/master.pdf . Hàm sẽ tự động thỏa mãn các điều kiện. Tôi tưởng tượng rằng điều tương tự cũng hoạt động với , v.v. Ngoài ra, chỉ cần nêu điều kiện này trực tiếp trên chứ không phải trên : phải tồn tại một số "thông thường" thỏa mãn . g f = Θ ( n α log β n ) g f g f = Θ ( g )f=Θ(nα)gf=Θ(nαlogβn)gfgf=Θ(g)
Yuval Filmus

Chà, bạn tuyên bố " monotone" là một điều kiện đủ (và tôi tin bạn) nên tôi đã cố gắng làm việc với điều đó. Định lý Master như được đưa ra trong ví dụ CLRS áp dụng cho ví dụ , nếu tôi không nhầm, do đó, một hạn chế đối với các hàm polylogarithmic hoặc somesuch không phải là "kỹ thuật" nhưng làm suy yếu kết quả. Nhân tiện, việc nâng "tính đều đặn" lên không giúp được gì: Tôi đã có nó trong trường hợp quan trọng thông qua tính đều đặn của / (theo giả định). Vì vậy, tôi trở lại bình luận trước đây của tôi, không may. Nếu đây thực sự chỉ là kỹ thuật, tôi không thấy nó. Quá nhiều bất đẳng thức. f : n 2 n g c g C ggf:n2ngcgCg
Raphael

Tôi vẫn nghĩ đó là một kỹ thuật. Điều kiện bạn lo lắng là tình trạng kỹ thuật. Đối với hầu hết các chức năng xuất hiện trong thực tế, điều kiện sẽ giữ. Bạn đang yêu cầu điều kiện chung nhất mà theo đó bản phác thảo bằng chứng ở trên đi qua. Đó là một câu hỏi thú vị mà tôi quá lười để trả lời.
Yuval Filmus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.