Untergrenze für die Überprüfung der Grafikkonnektivität im Stream

8

Ich möchte den Status der unteren Untergrenze für die Lösung des Konnektivitätsproblems im Stream in Durchgängen überprüfen . Das wurde in der Literatur angegeben, scheint aber für ein etwas anderes Problem zu sein. Habe ich etwas verpasst? Details unten. Ω ( n / p )pΩ(n/p)

Bei einem Graphen von Eckpunkten in einem Strom (Kanten werden einzeln in einer Streaming-Weise dargestellt) möchten wir prüfen, ob verbunden ist. Was ist der minimale Speicherplatz, den ein Algorithmus benötigt, um dieses Problem zu lösen, wenn er den Stream für Durchgänge lesen darf ?n G pGnGp

Feigenbaum et al . zeigten -Raum für Ein-Durchlauf-Algorithmen für eine Klasse von Problemen, die dieses Problem einschließen (siehe Abschnitt 5.1), und gaben an, dass die Untergrenze des -Raums für die Konnektivität von Henzinger et al. . Die einzige Untergrenze für das Problem "Konnektivität" ist jedoch das Problem " - Konnektivität": Bei gegebenen Eckpunkten und möchten wir prüfen, ob und in derselben verbundenen Komponente liegen (Satz 6). Der Beweis dafür kann nicht für das Konnektivitätsproblem verwendet werden, da möglicherweise viele Scheitelpunkte auf keine Kante fallen.Ω ( n / p )Ω(n)Ω(n/p)t s t s tststst

Meine Frage ist also, ob für die von mir angegebene spezifische Version der Konnektivität eine Untergrenze für den Pass-Stream bekannt ist.p

Danu
quelle

Antworten:

6

Hier ist eine Reduzierung von Disjointness, die funktionieren könnte:

Bei gegebenen Eingangs- Bit-Vektoren und wollen Alice und Bob Kantenmengen und für einen Graphen so dass verbunden ist, wenn es keinen Index gibt, so dass .x y E 1 E 2 G G x i = y i = 1nxyE1E2GGxi=yi=1

Für den Graphen wird der Scheitelpunkt . Für addiert Alice die Kante zu wenn ; In ähnlicher Weise addiert Bob die Kante zu wenn . Zusätzlich fügt Alice alle Kanten des Formulars für .0 ,G i < n ( ( i - 1 , 0 ) , ( i , 0 ) ) E 1 x i = 0 ( ( i - 1 , 1 ) , ( i , 1 ) ) E 2 y i = 0 ( ( i ,0,1,,n×0,1i<n((i1,0),(i,0))E1xi=0((i1,1),(i,1))E2yi=0((i,0),(i,1))i0,,n

Ich denke, dieser Graph hat eine verbundene Komponente, wenn mit , was passiert, wenn für jedes entweder oder 0 ist; Das heißt, die beiden Eingänge sind disjunkt.( n , 0 ) i 1 , 2 , , n x i y i(0,0)(n,0)i1,2,,nxiyi

Srikanth
quelle
1
Das ist nett! Mit Ihrer Idee können wir dies auch tun: Konstruieren Sie Knoten plus und . Es gibt eine Kante von nach wenn und von nach wenn . v 1 , . . . , v n s t s v i x i = 0 t v i y i = 0nv1,...,vnstsvixi=0tviyi=0
Danu
Großartig! Sollten und auch durch eine Kante verbunden sein? tst
Srikanth
Ja, du hast Recht. und sollten durch eine Kante verbunden sein. tst
Danu
5

Eine bessere Untergrenze, wennp=1 n log n - n ( log log n + 3 / 2 ) log = log 2 3 / 2 1 n log log e - log e 0.91 ist, ist Bits, wobei . (Der Term kann für groß genug beliebig nahe an , und asymptotisch ist er .)nlognn(loglogn+3/2)log=log23/21nloglogeloge0.91

Man kann auch eine einfache Reduktion aus einem Graph-Konnektivitäts-Kommunikationsspiel anwenden , um eine weniger explizite -Untergrenze zu erhalten. Da sich der implizite konstante Faktor jedoch auf die Anzahl der Blöcke bezieht, die durch Szemerédis Regularity Lemma garantiert werden , scheint er so klein zu sein, dass er für Anwendungen unbrauchbar ist.Ω(nlogn)

Eine genauere Untergrenze für den Pass-Fall ist also . Ich bin nicht davon überzeugt, dass dies die wahre Untergrenze ist, da das Erreichen einer solchen Grenze unwahrscheinlich erscheint - die wahre Abhängigkeit von scheint schwächer zu sein als ein umgekehrtes Verhältnis. Die Grenze sollte jedoch mindestens , wodurch verbessert wird .1ppΩ(11p(nlognn(loglogn+3/2))pΩ(n/p)Ω(1pnlogn)Ω(n/p)

András Salamon
quelle