Es gibt einige Zählprobleme, bei denen exponentiell viele Dinge gezählt werden (im Verhältnis zur Größe der Eingabe) und die dennoch überraschende, polynomzeitgenaue, deterministische Algorithmen aufweisen. Beispiele beinhalten:
- Zählen perfekter Übereinstimmungen in einem planaren Graphen (dem FKT-Algorithmus ), der die Grundlage für die Funktionsweise holographischer Algorithmen bildet .
- Spannbäume in einem Graphen zählen (über Kirchhoffs Matrixbaumsatz ).
Ein wichtiger Schritt in beiden Beispielen ist die Reduzierung des Zählproblems auf die Berechnung der Determinante einer bestimmten Matrix. Eine Determinante ist natürlich selbst eine Summe von exponentiell vielen Dingen, kann jedoch überraschenderweise in Polynomzeit berechnet werden.
Meine Frage ist: Gibt es irgendwelche "überraschend effizienten" exakten und deterministischen Algorithmen zum Zählen von Problemen, die sich nicht auf die Berechnung einer Determinante reduzieren lassen?
cc.complexity-theory
counting-complexity
big-picture
Ashley Montanaro
quelle
quelle
Antworten:
Ich weiß nicht, ob die folgenden Probleme auf die Berechnung der Determinante zurückzuführen sind oder nicht, aber ich werde sie trotzdem auflisten:
1) Zählen der Anzahl von Pfaden in einer DAG von einem Knoten zu einem Knoten v f . Das überrascht aber nicht. Einfach zu bestimmen, ob v f von v 0 erreichbar ist, ist in NL und somit in DET . Ich habe keine Ahnung von der Zählversion.v0 vf vf v0
2) Zählen der Anzahl der in der MSO-Logik definierbaren Problemlösungen in Strukturen mit begrenzter Baumbreite. Siehe zum Beispiel das Papier, das Werke von Courcelle, Arnborg und anderen aufzeigt .
quelle
Zählen der Anzahl von Gitterpunkten in einem rationalen Polytop (wenn die Dimension konstant ist) in der Polynomzeit aufgrund von Alexander Barvinok.
quelle
Im Holant-Framework gibt es mehrere Fälle, die (aus nicht trivialen) Gründen als über Matchgates in ebenen Diagrammen nachvollziehbar sind.
1) Fibonacci-Tore
2) Beliebige affine Signaturen .
3) Nicht negativ gewichtete #CSPs
...um ein paar zu nennen.
Das BEST-Theorem gibt auch einen polynomiellen Zeitalgorithmus zum Zählen der Anzahl von Eulerschaltungen in einem gerichteten Graphen an, obwohl ein Teil des Algorithmus eine Determinantenberechnung verwendet.
quelle