Dolna granica szacowania dla


11

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 .ana1ε(0,1)k=1nak=1k=1nak1ε

Ile zapytań (wyszukiwań) jest wystarczających i niezbędnych, aby (adaptacyjny) randomizowany algorytm rozróżniał te dwa przypadki, z prawdopodobieństwem co najmniej ?2/3

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).n


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.nε


Chyba masz na myśli . k=1nak1ε
RB

Rzeczywiście - naprawiłem to.
Klemens C.

Cóż, bez kolejności zależałoby od , uważam (z próbkowaniem lub bez). „Zła” instancja (para sekwencji) byłaby na przykład sekwencją, w której wszystkie byłyby równe , z wyjątkiem jednej (arbitralnej, losowej) takiej, że jest albo równe (w pierwszej sekwencji) i (w drugiej). Bez zapytań nie można rozdzielić dwóch sekwencji ...a k 1 - εnak jajε0Ω(n)1εn1jajε0Ω(n)
Clement C.

Zakładam, że model zapytań pozwala wybrać dla którego , czy to prawda? a kkak
kodlu

Tak (możesz wybrać punkt, który chcesz „ujawnić”).
Klemens C.

Odpowiedzi:


5

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 = nLiniini=n

Poniżej chcemy, aby algorytm odniósł sukces z prawdopodobieństwem , dla niektórych parametrów .δ > 01δδ>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 ( 1ini=2i1L=lgniX i 0 1 α = L i = 1 1 + X i(1+Xi)/(2niL)Xi01Xiβ10αβ

α=i=1L1+Xi2niL=12+12L(i=1LXi).
Xiβ10αβ. W rozdrobnionej, chcemy być w stanie odróżnić podstawę i, powiedzmy, β = 1 .β=14ϵβ=1

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żmZ1,,Zmμ = E [ Y ] = ( 1 - β ) mY=i=1m(1Xi)μ=E[Y]=(1β)mμ = 4 ϵ m P [ Y 2 ϵ m ] = P [ Y ( 1 - 1 / 2 ) μ ]expβ=14ϵμ=4ϵmδ m 2

P[Y2ϵm]=P[Y(11/2)μ]exp(μ(1/2)2/2)=exp(ϵm/2).
δ, potrzebujemy .m2ϵln1δ

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 = Θ (ini=Lii α i = ( 1 / L ) / n i 1L=Θ(logn/loglogn)iαi=(1/L)/ni1

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 2jαj1=Lαjαjj1/L12

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/211 / 8 l / 8 ( 1 - P ) ( 7 / 8 ) > 7 / 16 > 1 / 3.L/81/8L/8

(1p)(7/8)>7/16>1/3.

PS Myślę, że uważając na parametry, pierwszą dolną granicę można poprawić do .Ω(1/ϵ2)


Dziękuję Ci za to! Mam małe pytanie dotyczące pierwszego, lb (a dokładniej możliwej kwadratowej poprawy). Ponieważ mamy tutaj problem jednostronnej obietnicy, co oznacza, że ​​gdy tylko algorytm „zobaczy” jakąkolwiek wartość, która daje jakiekolwiek dowody, że , może on zakończyć bez konieczności dokładniejszego oszacowania : doesn oznacza to, że jest optymalny dla tej konstrukcji, ponieważ w zasadzie można oczekiwać, że wszystkie będą miały wartość 1, lub przynajmniej nie będzie frakcji ? β < 1Ω(1/ϵ)β<11 / ϵ X i ϵβ1/ϵXiϵ
Klemens C.

Tak. Jeśli chcesz rozróżnić tylko między 1 a 1-epsilon, to oczywiście nie możesz poprawić dolnej granicy ... Myślałem o próbie rozróżnienia innych zakresów ... s
Sariel Har-Peled

4

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ąć .a1,,ann a 1 + + a n = 1 n 1 / ϵ,2ϵ,3ϵ,4ϵ,na1++an=1n1/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 - ϵ .a1,,anϵa1=a1a2=a2ai=aiϵa1++an=1ϵ

Ile sondy trwa do odróżnienia z ' 1 , ... , ' n ? Cóż, różnią się tylko jednym elementem (a1,,ana1,,anΩ ( n ) n 1 / i 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/n1/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]

[0,1]=[0,0.25ϵ/n](0.25ϵ/n,0.5ϵ/n](0.5ϵ/n,ϵ/n](ϵ/n,2ϵ/n](2ϵ/n,4ϵ/n](,1].

aiaiai[,u]i,jai,,aj[,u]O(lg(n/ϵ))

Teraz oszacujemy sumę wartości w każdym zakresie. Pierwszy zakres będzie obsługiwany osobno od wszystkich pozostałych:

  • [0,0.25ϵ/n)0m×0.25ϵ/nmmn0.25ϵ

  • δO(1/δ2)2×δ=0.25ϵ

0.25ϵ0.25ϵ0.5ϵ11ϵ


Dzięki - wygląda to interesująco (o ile mogę powiedzieć, nie jest to takie samo podejście, jak to zastosowane w artykule / dyskusji, do której prowadzi link powyżej), a ja przyjrzę się temu, co napisałeś. Jednak szukam dolnej granicy zamiast górnej granicy - tj. Ile zapytań jest potrzebnych .
Klemens C.

(Z upływem czasu jednak przyznam „nagrodę” za odpowiedź - chociaż wciąż szukam odniesienia do dolnej granicy, jeśli gdzieś tam jest.)
Clement C.

2
@ClementC., Dodałem dolną granicę, zgodnie z twoją prośbą.
DW

Dziękuję (chociaż, jak zwykle w testowaniu nieruchomości, domyślnie rozważyłem nε
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.