Chciałbym wiedzieć (związany z tym drugim pytaniem ), czy dolne granice były znane z następującego problemu testowego: jeden ma dostęp do zapytania do sekwencji liczb nieujemnych i , z obietnicą, że albo lub .
Ile zapytań (wyszukiwań) jest wystarczających i niezbędnych, aby (adaptacyjny) randomizowany algorytm rozróżniał te dwa przypadki, z prawdopodobieństwem co najmniej ?
Znalazłem poprzedni post, który podaje logarytmiczną (w ) górną granicę pokrewnego problemu przybliżenia sumy i z grubsza dopasowującą dolną granicę tego problemu dla algorytmów deterministycznych; ale nie mogłem znaleźć wyniku dla konkretnego problemu, który rozważam (w szczególności algorytmów losowych).
Edycja: Zgodnie z odpowiedzią poniżej, chyba powinienem był jaśniej wyrazić: w powyższym (a szczególnie w asymptotykach dla dolnej granicy), jest „główną” wielkością postrzeganą jako zbliżająca się do nieskończoności, podczas gdy jest (arbitralnie mała) stała.
Odpowiedzi:
Oto dolne granice, które mogę pokazać. Przypuszczam, że dla ustalonego prawą dolną granicą jest , ale oczywiście mogę się mylić.Ω ( log n )ϵ Ω ( logn )
Użyję sekwencji malejącej (dla wygody). Podstawowym mechanizmem jest dzielenie sekwencji na bloków. W tym bloku będą elementy (tj. ).i n i ∑ i n i = nL. ja nja ∑janja= n
Poniżej chcemy, aby algorytm odniósł sukces z prawdopodobieństwem , dla niektórych parametrów .δ > 0≥ 1 - δ δ> 0
Pierwsza dolna granica: .Ω ( 1ϵlog1δ)
tego bloku jest elementów, więc . Ustawiamy wartość wszystkich elementów w tym bloku na , gdzie jest zmienną lub . Oczywiście całkowita suma tej sekwencji wynosi Wyobraź sobie, że każdy z prawdopodobieństwem ma wartość a w przeciwnym razie . Aby oszacować , potrzebujemy wiarygodnego oszacowanian i = 2 i - 1 L = lg n i ( 1i ni=2i−1 L=lgn i X i 0 1 α = L ∑ i = 1 1 + X i(1+Xi)/(2niL) Xi 0 1 Xiβ10αβ
Teraz wyobraź sobie próbkowanie tych zmiennych losowych i niech Z 1 , … , Z m będą próbkami zmiennych. Ustawienia (zauważ, że bierzemy sumę zmiennych dopełniacza ), mamy , a nierówność Chernoffa mówi nam, że jeśli , to , a prawdopodobieństwo niepowodzenia to Aby ta ilość była mniejsza niżm Z1,…,Zm μ = E [ Y ] = ( 1 - β ) mY=∑mi=1(1−Xi) μ=E[Y]=(1−β)m μ = 4 ϵ m P [ Y ≤ 2 ϵ m ] = P [ Y ≤ ( 1 - 1 / 2 ) μ ] ≤ expβ=1−4ϵ μ=4ϵm δ m ≥ 2
Kluczową obserwacją jest to, że nierówność Chernoffa jest ścisła (należy zachować ostrożność, ponieważ nie jest poprawna dla wszystkich parametrów, ale w tym przypadku jest poprawna), więc nie można tego zrobić lepiej (aż do stałych).
Druga dolna granica: .Ω(logn/loglogn )
Ustaw ty rozmiar bloku na , gdzie to liczba bloków. Element w tym bloku ma wartość . Tak więc całkowita suma wartości w sekwencji wynosi .n i = L i L = Θ (ja nja= L.ja i α i = ( 1 / L ) / n i 1L = Θ ( logn / loglogn ) ja αja= ( 1 / L ) / nja 1
Teraz możemy wybrać dowolny blok, powiedzmy ty, i ustawić wszystkie wartości w tym bloku na (zamiast ). Zwiększa to udział tego bloku z do i zwiększa całkowitą masę sekwencji do (prawie) .α j - 1 = L α j α j j 1 / L 1 2jot αj - 1= L αjot αjot jot 1 / L 1 2)
Teraz, nieformalnie, każdy randomizowany algorytm musi sprawdzić wartość w każdym z bloków. Jako taki musi odczytać przynajmniej wartości sekwencji.L.
Aby powyższy argument był bardziej formalny, z prawdopodobieństwem , podaj pierwotną sekwencję masy jako dane wejściowe (nazywamy to pierwotnym danymi wejściowymi). W przeciwnym razie losowo wybierz blok, który ma zwiększone wartości (zmodyfikowane dane wejściowe). Oczywiście, jeśli randomizowany algorytm odczytuje mniej niż, powiedzmy, wpisy , ma prawdopodobieństwo (z grubsza) wykrycia zmodyfikowanego wejścia. Jako takie, prawdopodobieństwo, że ten algorytm zawodzi, jeśli odczytuje mniej niż pozycji, wynosi co najmniej 1 l /p = 1 / 2 1 1 / 8 l / 8 ( 1 - P ) ( 7 / 8 ) > 7 / 16 > 1 / 3.L / 8 1 / 8 L / 8
PS Myślę, że uważając na parametry, pierwszą dolną granicę można poprawić do .Ω ( 1 / ϵ2))
źródło
Dolna granica
Konieczne są przynajmniej zapytania aby rozróżnić oba przypadki.Ω( 1 / ϵ√)
Rozważ sekwencję podane przez , przy czym wybrane tak, że . W szczególności możemy wziąć .za1, … , An n a 1 + ⋯ + a n = 1 n ≈ 1 / √ϵ , 2 ϵ , 3 ϵ , 4 ϵ , … n za1+ ⋯ + an= 1 n ≈ 1 / 2 ε--√
Teraz skonstruuj nową sekwencję poprzez modyfikację pojedynczego elementu powyższej sekwencji przez odjęcie ϵ . Innymi słowy, a ′ 1 = a 1 , a ′ 2 = a 2 itd., Z tym wyjątkiem, że a ′ i = a i - ϵ . Zauważ, że a ′ 1 + ⋯ + a ′ n = 1 - ϵ .za′1, … , A′n ϵ za′1= a1 za′2)= a2) za′ja= aja- ϵ za′1+ ⋯ +a′n= 1 - ϵ
Ile sondy trwa do odróżnienia z ' 1 , ... , ' n ? Cóż, różnią się tylko jednym elementem (za1, ... ,An za′1, ... ,A′n Ω ( n ) n ≈ 1 / √ja tym elementem), więc sonda potrzebuje stałego prawdopodobieństwa rozróżnienia. Teraz przypominam sobie, że ; okaże się, że potrzebne są sondy .Ω ( n ) Ω(1/ √n ≈ 1 / 2 ε--√ Ω(1/ϵ√)
Górna granica
Myślę, że można rozróżnić dwa przypadki za pomocą zapytań . Nie wiem czy to jest optymalne.O(lg(n/ϵ)[lgn+1/ϵ2])
Oto jak. Podzielmy przedział w następujący sposób:[0,1]
Teraz oszacujemy sumę wartości w każdym zakresie. Pierwszy zakres będzie obsługiwany osobno od wszystkich pozostałych:
źródło