Superstring genau lösen

18

Was ist über die genaue Komplexität des kürzesten Superstring-Problems bekannt? Kann es schneller gelöst werden als ? Gibt es bekannte Algorithmen, die den kürzesten Superstring lösen, ohne ihn auf TSP zu reduzieren?O(2n)

UPD: unterdrückt Polynomfaktoren.O()

Das kürzeste Superstring-Problem ist ein Problem, dessen Antwort die kürzeste Zeichenfolge ist, die jede Zeichenfolge aus einem gegebenen Satz von Zeichenfolgen enthält. Die Frage ist nach der Optimierungserweiterung eines berühmten NP-harten Problems Shortest Superstring (Garey und Johnson, S.228).

Alex Golovnev
quelle
5
Was ist "das Superstring-Problem"?
Jeffs
Ich meinte das kürzeste Superstring-Problem, ich habe es behoben. Vielen Dank!
Alex Golovnev
10
Okay, was ist dann "das kürzeste Superstring-Problem"? Ich kann mir einige Probleme vorstellen, die diesen Namen verdienen, und einige weitere, die "das kürzeste Supersequenzproblem " genannt werden sollten, aber wahrscheinlich nicht in der Praxis sind. Geben Sie uns bitte einen Kontext!
Jeffs
1
Was ist dein Problembereich? Wenn Sie beispielsweise nach der kürzesten Super-Zeichenfolge für die Genomfragmentierung suchen, weil die Genomfragmentierung Diagramme mit begrenzter Baumbreite erstellt, können Sie einen schnellen Algorithmus verwenden. Wenn Sie jedoch nur an schnelleren als den verfügbaren Algorithmen interessiert sind, lautet Ihre Antwort Nein, es sei denn, Sie können einen schnelleren Algorithmus verwenden In TSP (wegen einfacher Reduktion) gibt es auch einen Algorithmus in lokal begrenzten Baumbreitengraphen. O(2n)
Saeed
1
@AlexGolovnev, Ja, Sie haben Recht, dies ist ATSP, aber für begrenzte Baumbreite finde ich es gut, cs.bme.hu/~dmarx/papers/marx-warsaw-fpt2 zu sehen, oder wenn Sie mehr über sie wissen möchten, ist es auch gut, algorithmisch
Saeed

Antworten:

5

Angenommen, die Zeichenfolgen haben ein Längenpolynom in , dann gibt es mindestens eine Zeitlösung. Der Grund ist die bekannte Reduktion vom kürzesten gemeinsamen Superstring-Problem auf ATSP mit polynomgroßen Ganzzahlgewichten, die Sie wiederum durch Polynominterpolation lösen können, wenn Sie Hamilton-Zyklen in einem gerichteten Multigraph zählen können. Das letztere Problem hat eine Zeitlösung. Björklund 20122 n - Ω ( n2n-Ω(2nΩ(n/logn)2nΩ(n/logn)

Die Reduktion von ATSP mit Gewichten für jedes Paar von Eckpunkten auf die Hamiltonsche Zykluszählung lautet wie folgt: u , vwuvu,v

Für , wobei eine Obergrenze für alle Summen von Gewichten in der ATSP-Instanz ist, erstellen Sie einen Graphen in dem Sie jedes Gewicht ersetzen. mit Bögen von nach . w Summe n G r w u v R w u v u vr=1,2,,wsumwsumnGrwuvrwuvuv

Durch Lösen der Hamiltonschen für jedes können Sie durch Polynominterpolation ein Polynom mit , das der Anzahl der TSP-Touren im Originalgraphen entspricht Gewicht . Daher löst das Lokalisieren des kleinsten so dass nicht Null ist, das Problem.Σ w Summe l = 0 a l r l a l l l a lGrl=0wsumalrlalllal

Andreas Björklund
quelle
Vielen Dank! Ich kannte diesen Zusammenhang mit der Hamilton-Zählung nicht.
Alex Golovnev
@AlexGolovnev: Aber die Reduktion ist mehr oder weniger die gleiche wie zB bei dem Ergebnis von Kohn, Gottlieb, Kohn, das Sie in Ihrer eigenen Antwort zitiert haben? Es ist eine einfache Einbettung des Min-Summen-Semirings in die ganzen Zahlen. Wie auch immer, danke, dass Sie mir klar gemacht haben, dass die nächste Version meines Papiers dies explizit angeben sollte.
Andreas Björklund
8

Ich habe das Problem untersucht und einige Ergebnisse gefunden. Der kürzeste gemeinsame Superstring (SCS) kann in Zeit mit nur polynomialem Raum gelöst werden ( Kohn, Gottlieb, Kohn ; Karp ; Bax, Franklin ).2n

Die bekannteste Näherung ist (Paluch).21130

Die bekannteste Annäherung an die Komprimierung ist (Paluch).34

Wenn SCS durch einen Faktor über dem binären Alphabet angenähert werden kann, kann es durch einen Faktor α über einem beliebigen Alphabet angenähert werden ( Vassilevska-Williams ).αα

SCS kann nicht mit einem Verhältnis besser als sei denn, P = NP ( Karpinski, Schmied ).1.0029

Die maximale Kompression kann nicht mit einem Verhältnis besser als sei denn, P = NP ( Karpinski, Schmied ).1.0048

Für Ergänzungen und Anregungen wäre ich dankbar.

Alex Golovnev
quelle
5

Hier ist das kürzeste Superstring-Problem: Sie erhalten Strings s 1 , ... , s n über einem Alphabet Σ und möchten den kürzesten String über Σ finden , der jedes s i als Folge aufeinanderfolgender Zeichen enthält, dh einen Teilstring.ns1,,snΣΣsi

Wenn wir über genaue Algorithmen für das Problem sprechen, entspricht das Ermitteln der Länge der kürzesten Superzeichenfolge dem Ermitteln der maximalen Komprimierung C, die die Summe aller aufeinanderfolgenden Zeichenfolgenüberlappungen in der letzten Superzeichenfolge ist, dh C = i | s i | - L .LCC=i|si|L

Soweit ich weiß, läuft der schnellste exakte Algorithmus für den kürzesten Superstring in ( 2 n ), wobei n die Anzahl der Strings ist. Dies ist ein einfacher dynamischer Programmieralgorithmus, der dem dynamischen Programmieralgorithmus für den längsten Pfad (und andere Probleme) ähnelt:O2nn

Für jede Teilmenge der Zeichenfolgen und der Zeichenfolge v in S berechnen wir die maximale Komprimierung für alle Superzeichenfolgen über S, wobei v die erste Zeichenfolge ist, die in der Superzeichenfolge erscheint, und speichern diese als C (( v , S )). Wir tun dies, indem wir zuerst alle Teilmengen mit nur einem Element verarbeiten und dann die C (( v , S )) - Werte für Teilmengen S auf k Zeichenfolgen aus denen auf k - 1 Zeichenfolgen aufbauen . Speziell:SvSSvv,Sv,SSkk1

uSk1uu,uSvSuvv,S

n22n+n2ll

l2n

virgi
quelle
5
O(2n)
2
Wie gesagt, ich glaube nicht, dass eine schnellere Lösung bekannt ist.
Virgi
1
O(2n)