Hier sind die unteren Grenzen, die ich zeigen kann. Ich vermute, dass für ein festes die rechte Untergrenze Ω ( log n ) ist , aber natürlich könnte ich mich irren.ϵΩ ( logn )
Ich werde eine abnehmende Sequenz verwenden (nur der Einfachheit halber). Der grundlegende Mechanismus besteht darin, die Sequenz in Blöcke zu unterteilen. Im i- ten Block gibt es n i Elemente (dh ∑ i n i = n ).L.ichnich∑ichnich= n
Im Folgenden möchten wir, dass der Algorithmus mit einer Wahrscheinlichkeit für einige Parameter δ > 0 erfolgreich ist .≥ 1 - δδ> 0
Erste Untergrenze: .Ω ( 1ϵLog1δ)
Der te Block hat n i = 2 i - 1 Elemente, also L = lg n . Wir setzen den Wert aller Elemente im i- ten Block auf ( 1 + X i ) / ( 2 n i L ) , wobei X i eine Variable ist, die entweder 0 oder 1 ist . Die Gesamtsumme dieser Sequenz ist eindeutig
α = L ∑ i = 1 1 + X.ichnich= 2i - 1L = lgnich( 1 + X.ich) / ( 2 nichL )X.ich01
Stellen Sie sich vor, Sie wählen jedesXimit der Wahrscheinlichkeitβ aus, dass esandernfalls1und0 ist. Umαabzuschätzen, benötigen wir eine zuverlässige Schätzung vonβ. Insbesondere wollen wir in der Lage sein, die Baseβ=1-4ϵund beispielsweiseβ=1 zu unterscheiden.
α = ∑i = 1L.1 + X.ich2 nichL.= 12+ 12 L.( ∑i = 1L.X.ich) .
X.ichβ10αββ= 1 - 4 ϵβ= 1
Stellen Sie sich nun vor, Sie nehmen dieser Zufallsvariablen ab und lassen Z 1 , … , Z ϵ , dann μ = 4 ϵ m , und die Ausfallwahrscheinlichkeit ist
P [ Y ≤ 2 ϵ m ] = P [m die abgetasteten Variablen sein. Einstellungen Y = ∑ m i = 1 ( 1 - X i ) (beachten Sie, dass wir die Summe derKomplementvariablen nehmen), wir haben μ = E [ Y ] = ( 1 - β ) m , und die Chernoff-Ungleichung sagt uns dass, wenn β = 1 - 4Z.1, … , Z.mY.= ∑mi = 1( 1 - X.ich)μ = E.[ Y.] = ( 1 - β) mβ= 1 - 4 ϵμ = 4 ε m
Um diese Menge kleiner als zu machen
P.[ Y.≤ 2 ε m ] = P[ Y.≤ ( 1 - 1 / 2 ) μ ] ≤ exp( - μ ( 1 / 2 )2/ 2 ) =exp( - ϵ m / 2 ) .
, wir brauchen
m ≥ 2δ .
m ≥ 2ϵln1δ
Die wichtigste Beobachtung ist, dass die Chernoff-Ungleichung eng ist (man muss vorsichtig sein, da sie nicht für alle Parameter korrekt ist, aber in diesem Fall korrekt), sodass Sie (bis zu Konstanten) nichts Besseres tun können.
Zweite Untergrenze: .Ω ( logn / logLogn )
Stellen Sie das ich te Blockgröße auf , wobei L =nich= L.ich die Anzahl der Blöcke ist. Ein Element im i- ten Block hat den Wert α i = ( 1 / L ) / n i . Die Gesamtsumme der Werte in der Sequenz ist also 1 .L = Θ ( logn / logLogn )ichαich= ( 1 / L ) / nich1
Nun könnten wir uns entscheiden, einen beliebigen Block auszuwählen, sagen wir den ten, und alle Werte in seinem Block auf α j - 1 = L α j (anstelle von α j ) setzen. Dies erhöht den Beitrag des j- ten Blocks von 1 / L auf 1 und erhöht die Gesamtmasse der Sequenz auf (fast) 2 .jαj−1=Lαjαjj1/L12
Informell muss nun jeder zufällige Algorithmus den Wert in jedem der Blöcke überprüfen. Als solches muss es mindestens Werte der Sequenz lesen .L
Um das obige Argument mit Wahrscheinlichkeit formeller zu machen , der ursprünglichen Reihenfolge der Masse gibt 1 als Eingang (verweisen wir auf diesem als OriginalEingang). Andernfalls wählen Sie zufällig den Block mit den erhöhten Werten aus (modifizierte Eingabe). Klar, wenn der randomisierten Algorithmus liest weniger als, sagen wir, L / 8 Einträge, hat es Wahrscheinlichkeit (etwa) 1 / 8 zu erfassenein modifiziertes Eingangs. Daherbeträgtdie Wahrscheinlichkeit, dass dieser Algorithmus fehlschlägt, wenn er weniger als L / 8 Einträgeliest,mindestens
( 1 - p ) ( 7 /p=1/21L/81/8L/8
(1−p)(7/8)>7/16>1/3.
PS Ich denke, wenn man die Parameter vorsichtiger betrachtet, kann die erste Untergrenze auf verbessert werden .Ω(1/ϵ2)