Schnelle Baumbreitenalgorithmen


18

Ich möchte die Baumbreite eines Graphen berechnen . Es gibt wirklich gute Heuristik für andere NP-hard Graphen Probleme wie VF2 für Subgraphen Isomorphismus, mit dem Code in IGRAPH zum Beispiel. Ich habe sie in meinen Grafiken ausprobiert und finde, dass sie für meine Daten sehr schnell laufen.

Gibt es schnelle Algorithmen für die Baumbreitenberechnung in ähnlicher Weise?


1
FYI kürzlich Baumweite angeschlossen wurde SAT Härte von Gaspers / Szeider in FOCS, Hoffnung von anderen in diesem Chat / Diskussion zu hören
VZN

Antworten:


19

Soweit ich weiß, ist der Stand der Technik das, worüber berichtet wird

Hans L. Bodlaender, Fedor V. Fomin, Arie MCA Koster, Dieter Kratsch und Dimitrios M. Thilikos (2012), "Über exakte Algorithmen für die Baumbreite", ACM Transactions on Algorithms 9 (1): A12, doi: 10.1145 / 2390176.2390188 .

Die dort beschriebenen Methoden beinhalten einen implementierten -Algorithmus mit einigen heuristischen Optimierungen, um ihn in der Praxis schneller zu machen.O(2n)


2
Vielen Dank. Die Referenzen 2, 8 und 15, in denen die Heuristiken für obere und untere Schranken angegeben sind, könnten in der Praxis am nützlichsten sein.
Felix

10

Ich habe in ICTAI 2011 eine Arbeit mit dem Titel Ein schneller paralleler Verzweigungs- und Bindungsalgorithmus für Treewidth geschrieben. Sie kann die Treewidth in Multi-Core- Systemen berechnen . Ich habe viele Heuristiken verwendet und viel Zeit damit verbracht, das Programm zu verfeinern.

Ich war ein zufälliger Student in China und habe es nicht zu einer guten Konferenz geschafft. Aufgrund meiner Versuchsergebnisse denke ich, dass mein Programm sehr schnell ist. Ich habe viele ungelöste Benchmarks in Treewidth lib gelöst und mein Programm war 40-mal schneller als ein von Zhou und Hansen in IJCAI 09 vorgeschlagener Algorithmus.

Ich arbeite nicht mehr an diesem Thema. Aber wenn meine vorherige Arbeit hilfreich ist, können Sie mein Programm (src und exe) von http://www.callowbird.com/undergraduate-stuff.html herunterladen und ausprobieren. (Trotzdem ist es auf einer etwas größeren Instanz sehr, sehr langsam.)


5

O(2k)


1
2O(k)O(ckn)c

5

Hier sind zwei Umfragen zu Algorithmen zur Berechnung der Baumbreite, die hilfreich sein können. Der erste hat empirische Vergleiche und verschiedene Algorithmen, die als Java-Bibliothek implementiert sind.

Es gibt viele Algorithmen, um eine obere Grenze, eine untere Grenze oder die genaue Breite eines Graphen zu berechnen. Wir haben viele Heuristiken für die obere und untere Grenze sowie zwei exakte Algorithmen implementiert (eine dynamische Programmierung und einen Verzweigungs- und gebundenen Algorithmus). Dieser Bericht vergleicht die verschiedenen Arten von Algorithmen und zeigt, dass einige Algorithmen bevorzugt werden.

Treewidth ist ein Graphparameter mit mehreren interessanten theoretischen und praktischen Anwendungen. In dieser Umfrage werden algorithmische Ergebnisse zur Bestimmung der Baumbreite eines bestimmten Graphen und zur Ermittlung einer Baumzerlegung mit geringer Breite ausgewertet. Beide theoretischen Ergebnisse, die die asymptotische Komplexität des Problems begründen, wie experimentelle Arbeiten zur Heuristik (sowohl für obere als auch für untere Schranken), Vorverarbeitung, exakte Algorithmen und Nachverarbeitung, werden diskutiert.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.