Rygorystyczny dowód słuszności założenia

20

Twierdzenie Master jest pięknym narzędziem do rozwiązywania pewnych rodzajów nawrotów . Jednak często nakładamy połysk na integralną część podczas jej nakładania. Na przykład podczas analizy Mergesort z radością wychodzimy

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

do

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

biorąc pod uwagę tylko n=2k . Zapewniamy się, że ten krok jest prawidłowy - to znaczy TΘ(T) - ponieważ T zachowuje się „ładnie”. Na ogół zakładamy, n=bk o b wspólnego mianownika.

Łatwo jest tworzyć rekurencje, które nie pozwalają na to uproszczenie, używając błędnego f . Na przykład powyżej nawrotu dla T/T z

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

da Θ(n) przy użyciu twierdzenia Master w zwykły sposób, ale wyraźnie istnieje podsekwencja, która rośnie jak Θ(nlogn) . Zobacz tutaj inny, bardziej wymyślny przykład.

Jak możemy uczynić to „ładnym” rygorystycznym? Jestem całkiem pewien, że monotoniczność jest wystarczająca, ale nawet prosty nawrót Mergesorta nie jest monotoniczny; istnieje element okresowy (który dominuje asymptotycznie). Czy wystarczy zbadać f i jakie są niezbędne i wystarczające warunki na f które zapewniają, że twierdzenie Master działa?

Raphael
źródło
Innym podejściem do tych samych wyników jest twierdzenie Akra-Bazzi „O rozwiązaniu równań liniowej rekurencji”, Optymalizacja obliczeniowa i zastosowania, 10 (2), 195-210 (1998) lub Drmota i Szpankowski „Twierdzenie o mistycznym podziale dyskretnym i Conquer Recurrences ”, SODA'11 < dl.acm.org/citation.cfm?id=2133036.2133064 >.
vonbrand
2
Oto link do powyższego artykułu, który nie znajduje się za zaporą.
Paresh,
1
IIRC zostało to omówione w rozdziale 4 CLRS
Kaveh
@Kaveh Dzięki za wskaźnik. W przeważającej części nazywają to „tolerowanym niechlujstwem”; w ich kontekście jest to w porządku, ponieważ zakładają oni, że wyprowadzacie tylko hipotezę, którą później udowodnicie przez indukcję. Wspominają o zagrożeniach (4.6). W 4.6.2 podają dowód, ale jest on na wysokim poziomie i nie mówią wprost, jakie ograniczenia na muszą być wprowadzone. Wydaje się więc, że jest to coś w rodzaju „ T takiego, że matematyka przechodzi”, co, jak sądzę, wymaga głównie, aby f miał „ładną” klasę Θ . TTfΘ
Raphael
W ogólnym przypadku, gdy nie masz podobnych rozmiarów, możesz użyć metody Akra – Bazzi, która jest uogólnieniem twierdzenia głównego, upewnij się, jak zmienić konkretną funkcję na coś, co działa w tym twierdzeniu, wymaga trochę sztuczki, a dla czegoś takiego jak sortowanie według scalenia, tego zwykle używają ludzie, aby udowodnić złożoność czasu.

Odpowiedzi:

10

W tej odpowiedzi zakładamy, że i T są nieujemne. Nasz dowód działa zawsze, gdy f = Θ ( g ) dla niektórych monotonicznych g . Obejmuje to przykład Mergesort, w którym f = Θ ( n ) , i dowolną funkcję, która ma wielomianowe tempo wzrostu (lub nawet Θ ( n a log b n ) ).fTf=Θ(g)gf=Θ(n)Θ(nalogbn)

Rozważmy najpierw przypadek, że jest monotoniczny i nie zmniejsza się (założymy to założenie później). Koncentrujemy się na nawrocie próbki T ( n ) = T ( n / 2 ) + T ( n / 2 ) + f ( n ) . Ten nawrót wymaga dwóch przypadków podstawowych, T ( 0 ) i T ( 1 ) . Przyjmujemy założenie, że T ( 0 )f

T(n)=T(n/2)+T(n/2)+f(n).
T(0)T(1) , które również relaksujemy później.T(0)T(1)

Twierdzę, że jest monotoniczny i nie maleje. Udowadniamy przez całkowitą indukcję, że T ( n + 1 ) T ( n ) . Jest to podane dla n = 0 , więc niech n 1 . Mamy T ( n + 1 )T(n)T(n+1)T(n)n=0n1 Oznacza to, że T(2 log 2 n)T(n)T(2 log 2 n). Więc jeśliT(2

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).
, gotowe. Jest tak zawsze, gdy rozwiązanie dla potęg dwóch wynosi postać T ( n ) = Θ ( n a log b n ) .T(2m)=Θ(T(2m+1))T(n)=Θ(nalogbn)

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)), a następnie . Przywołując twierdzenie Master, widzimy, że i dla tej samej funkcji , a więc .T(n)T(n)T=Θ(h)T=Θ(h)hT=Θ(h)

Rozluźnijmy teraz założenie, że jest monotoniczny. Załóżmy, że dla niektórych funkcji monotonicznych . Zatem dla niektórych i wystarczająco dużych. Zakładamy, dla uproszczenia, że ; ogólny przypadek można rozpatrywać jak w poprzednim akapicie. Ponownie zdefiniować dwie nawrotów przez zastąpienie w (odpowiednio). Po raz kolejny twierdzenie Master da ten sam wynik (do stałych wielokrotności), który jest również identyczny (do stałych wielokrotności) z tym, co uzyskalibyśmy, rozwiązując pierwotną rekurencję tylko na potęgach dwóch.ff=Θ(g)gcg(n)f(n)Cg(n)c,C>0nn=0T,Tfcg,Cg

Yuval Filmus
źródło
1
W końcu muszę przeczytać to dokładniej. Fajnie dzięki! Pomyślałem, że zwrócę na to uwagę przyszłych czytelników (ponieważ się o to potknąłem): nie jest ograniczeniem, ponieważ jest tylko fałszem dla super wielomian i twierdzenie Master nie ma zastosowania do takich. T(2m)Θ(T(2m+1))T
Raphael
Próbowałem zapisać swój dowód bardziej szczegółowo i utknąłem, dowodząc ostatniego zdania, „które jest również identyczne (...) z tym, co uzyskalibyśmy, rozwiązując pierwotną rekurencję tylko przy potęgach dwóch”. W szczególności musimy wykazać, że znajdujemy się w tym samym przypadku twierdzenia Master dla , i . Nie dotyczy to przypadków 1 i 2, ale nie mogę pokazać istnienia dla przypadku 3 (por. Wersja w CLRS, p94 w 3. wydaniu). Zastanawiałeś się nad tym, czy pracowałeś z wersją podobną do Wikipedii ? cgfCgc<1
Raphael
To jest technika. Jeśli problem zniknie, patrz na przykład users.encs.concordia.ca/~chvatal/notes/master.pdf . Funkcja automatycznie spełni warunki. Wyobrażam sobie, że to samo działa dla i tak dalej. Alternatywnie, po prostu określ ten warunek bezpośrednio na zamiast na : musi istnieć jakiś „regularny” spełniający . f=Θ(nα)gf=Θ(nαlogβn)gfgf=Θ(g)
Yuval Filmus
Twierdziłeś, że „ monotonia” jest wystarczającym warunkiem (i uwierzyłem ci), więc próbowałem z tym pracować. Twierdzenie Master podane np. W CLRS dotyczy np. , jeśli się nie mylę, więc ograniczenie funkcji polilogarytmicznych lub coś takiego nie jest „techniczne”, ale odpowiednio osłabia wynik. Nawiasem mówiąc, podniesienie „regularności” do nie pomaga: mam już to w kluczowym przypadku dzięki regularności / (z założenia). Wracam więc do mojego poprzedniego komentarza, niestety. Jeśli to naprawdę tylko techniczne, nie widzę tego. Zbyt wiele nierówności. gf:n2ngcgCg
Raphael
Nadal uważam, że to techniczność. Martwisz się o stan techniczny. W przypadku większości funkcji pojawiających się w praktyce warunek zostanie zachowany. Pytasz o najbardziej ogólny warunek, pod jakim przechodzi powyższy szkic dowodu. To interesujące pytanie, na które jestem zbyt leniwy, aby na nie odpowiedzieć.
Yuval Filmus,