Ostre stężenie do wyboru przez losowe dzielenie?

11

Zwykły prosty algorytm znajdowania elementu mediany w tablicy liczby to:nAn

  • Próbkuj elementów z z zamianą na Bn3/4AB
  • Sortuj i znaleźć rangi elementy i z| B | ± B lrB.|B|±nlrB
  • Sprawdź, czy i znajdują się po przeciwnych stronach mediany i czy istnieje co najwyżej elementów w między i dla pewnej odpowiedniej stałej . Niepowodzenie, jeśli tak się nie stanie.r A C lrA AlrC>0CnAlrC>0
  • W przeciwnym razie, znaleźć mediany sortowania elementów między il rAlr

Nietrudno zauważyć, że przebiega to w czasie liniowym i że z dużym prawdopodobieństwem się udaje. (Wszystkie złe zdarzenia są dużymi odchyleniami od oczekiwań na dwumian.)

Alternatywnym algorytmem dla tego samego problemu, który jest bardziej naturalny dla uczniów, którzy widzieli szybkie sortowanie, jest opisany tutaj: Wybór losowy

Łatwo też zauważyć, że ten ma liniowy oczekiwany czas działania: powiedzmy, że „runda” jest sekwencją wywołań rekurencyjnych, które kończą się, gdy daje się podział 1 / 4-3 / 4, a następnie obserwujemy, że oczekiwana długość runda wynosi co najwyżej 2. (W pierwszym losowaniu rundy prawdopodobieństwo uzyskania dobrego podziału wynosi 1/2, a następnie po rzeczywistym wzroście, tak jak opisano algorytm, więc długość rundy jest zdominowana przez losową zmienną geometryczną).

Więc teraz pytanie:

Czy można wykazać, że losowa selekcja przebiega w czasie liniowym z dużym prawdopodobieństwem?

Mamy rundy , a każda runda ma długość co najmniej z prawdopodobieństwem co najwyżej , więc granica związku oznacza, że ​​czas działania wynosi z prawdopodobieństwemk 2 - k + 1 O ( n log log n ) 1 - 1 / O ( log n )O(logn)k2k+1O(nloglogn)11/O(logn) .

To trochę niezadowalające, ale czy to w rzeczywistości prawda?

Louis
źródło
Wyjaśnij, do którego algorytmu odnoszą się twoje pytania.
Raphael
Czy pytasz, czy prawidłowo zastosowałeś związek związkowy, czy też istnieje lepszy, bardziej satysfakcjonujący związek?
Joe
@Joe Ten drugi. Chodzi o to, że rundy są artefaktem, dzięki któremu długość rundy jest zdominowana przez geometrię. Następnie anaylisys „zapomina”, czy algorytm wyprzedza, czy opóźnia ten, który zawsze ma podział 1 / 4-3 / 4 na nosie, aby uniezależnić geometrię. Pytam, czy to „oszukiwanie”, jak ujął to Yuval, jest nadal ścisłe.
Louis,

Odpowiedzi:

5

To nieprawda, że ​​algorytm działa z dużym prawdopodobieństwem w czasie liniowym. Biorąc pod uwagę tylko pierwszą rundę, czas działania wynosi co najmniej razy zmienna losowa . Niech będzie dopuszczalnym prawdopodobieństwem awarii. Ponieważ , czas działania wynosi co najmniej .Θ(n)G(1/2)p(n)0Pr[G(1/2)log2p(n)1]=p(n)Ω(nlog2p(n)1)=ω(n)

(W grę wchodzi oszustwo, ponieważ długość pierwszej rundy nie jest tak naprawdę . Bardziej szczegółowa analiza może lub nie może potwierdzić tę odpowiedź.)G(1/2)

Edycja: Grübel i Rosler udowodnili, że oczekiwana liczba porównań podzielona przez zmierza (w pewnym sensie) do pewnego rozkładu granic, który jest nieograniczony. Zobacz na przykład artykuł Grübla „Algorytm wyboru Hoare'a: podejście łańcuchowe Markowa”, który odwołuje się do ich oryginalnej pracy.n

Yuval Filmus
źródło
Niepokoi mnie to. Jak powiedziałem w moim komentarzu powyżej, rundy są po prostu sposobem na analizę „spowolnionej” wersji algorytmu, która czeka, aż osiągnie wystarczająco dobrą wartość obrotu, aby kontynuować. Pokazujesz, że dla każdego ustalonego prawdopodobieństwo, że pierwsza runda wymaga więcej niż osi obrotu, wynosi . Zasadniczo jednak długą pierwszą rundę można zrównoważyć pustą drugą rundą, w tym sensie, że na końcu algorytm „nie spowolnionego” dogonił ten, który zawsze dzieli 1 / 4-3 / 4 . C>0C>0
Louis,
1
To nie jest prawda, jeśli pierwsza runda jest długa, to cały czas trwania jest długi, ponieważ kolejne rundy nie mogą skrócić czasu trwania. Chodzi o to, że dla dowolnego pierwsza runda wymaga czasu co najmniej z pewnym stałym prawdopodobieństwem . CCnpC>0
Yuval Filmus,
Jestem teraz szczęśliwszy, ponieważ okrągła długość jest niewiele mniejsza niż geometryczna zastosowana do górnej granicy. Wydaje mi się, że to właśnie G&R wywołują gwałtowność. Niezła odpowiedź.
Louis,