Wir arbeiten an einem Artikel, in dem einige Algorithmen zum Auffinden von Dreiecken und Netzwerkmotiven (Untergraphen konstanter Größe, auch als Graphlets bezeichnet) in einer verteilten Umgebung vorgestellt werden. Wir charakterisieren den Kompromiss zwischen der Anzahl der Dreiecke im Diagramm und der erforderlichen Kommunikationslast. Ich suche nach Hinweisen auf Arbeiten zu dieser Frage im zentralisierten Modell.
Das Problem ist, dass fast alles, was ich zu diesem Thema gefunden habe, das einen theoretischen Charakter hatte, im Rahmen von Eigenschaftstests war . Um den Unterschied zu veranschaulichen, betrachten Sie den Fall eines Graphen mit Eckpunkten, der aus n - 2 Dreiecken besteht, die sich alle die Kante teilen ( 1 , 2 ) . Unter dem Gesichtspunkt der Eigenschaftsprüfung ist dieses Diagramm nahezu dreieckfrei (das Entfernen dieser kritischen Kante erledigt den Job), während es eine lineare Anzahl von Dreiecken aufweist, was nach unseren Maßstäben sehr viel ist.
Alle Referenzen werden geschätzt.
Bearbeiten: Ich interessiere mich hauptsächlich für Algorithmen, mit denen schnell festgestellt werden kann, ob das Diagramm Dreiecke enthält. Bei Algorithmen zur Auflistung von Dreiecken (oder anderen Untergraphen) wird die Laufzeit natürlich von unten durch die Anzahl der Dreiecke im Diagramm begrenzt, da der Algorithmus sie alle auflisten muss, was solche Instanzen in gewissem Sinne schwieriger macht. Unter dem Gesichtspunkt eines Entscheidungsproblems ("dreieckfrei oder nicht") erleichtert das Vorhandensein vieler Dreiecke das Problem tatsächlich, da Sie leicht eines finden können.
Antworten:
Mehrere Referenzen zum Problem des Testens auf das Vorhandensein eines Dreiecks (genau, nicht im Framework für Eigenschaftstests) finden Sie in der dreieckfreien Grafik auf Wikipedia. Insbesondere Alon, Yuster und Zwick (ESA'94) geben einen O (m ^ {1.41}) -Algorithmus an, und dies kann auch in einer schnellen Matrixmultiplikationszeit durchgeführt werden, was für dichte Graphen besser ist.
Wenn Sie mit etwas in der Einstellung für dynamische Diagrammalgorithmen einverstanden sind, habe ich auch eine zum Zählen der Dreiecke:
Der h-Index eines Graphen und seine Anwendung auf dynamische Subgraphenstatistiken, D. Eppstein und ES Spiro, arXiv: 0904.3741 und WADS 2009.
In unserer Arbeit zitieren wir Chiba und Nishizeki (SICOMP 1985) sowie Itai und Rodeh (SICOMP 1978) für die grundlegenden statischen Algorithmus-Fakten, die ein Graph mit m Kanten höchstens O (m ^ {3/2}) Dreiecke in der haben kann schlimmsten Fall und dass sie in dieser Zeit aufgelistet werden können.
quelle
Wenn Sie wissen möchten, warum, ziehen Sie die folgende Diagrammfamilie in Betracht:
quelle
Ich verstehe Ihre Frage in Bezug auf Ihr Endziel nicht genau. Sie könnten jedoch die FPT-Version des Dreiecksverpackungsproblems in Betracht ziehen, wenn dies bei Ihrem Problem hilfreich ist. Insbesondere können Sie Edge Disjoint Triangle Packing (EDTP) oder Vertex Disjoint Triangle Packing (VDTP) in Betracht ziehen und die Instanz des Diagramms in Bezug auf die Anzahl der Scheitelpunkte auf O (k) bzw. O (k ^ 2) kernelisieren. Sie können auch die Anzahl der Dreiecke [O (k ^ 3)] kernelisieren. Nach der Kernelisierung wäre es einfacher, die Dreiecke in der Diagramminstanz zu analysieren.
quelle