Ich suche einen effizienten Algorithmus für das folgende Problem oder einen Beweis für die NP-Härte.
Sei Σ
Beispielsweise ist für A = { { a , b } , { a , c } }
Was meine Motivation angeht, versuche ich, die Kanten eines endlichen Automaten darzustellen, wobei jede Kante mit einer Buchstabenfolge aus dem eingegebenen Alphabet gekennzeichnet werden kann. Ich möchte eine einzelne Zeichenfolge speichern und dann an jeder Kante ein Paar Zeiger auf diese Zeichenfolge aufbewahren. Mein Ziel ist es, die Länge dieser Zeichenfolge zu minimieren.
Antworten:
Ich glaube, ich habe eine Reduktion vom Hamiltonschen Weg gefunden und damit das Problem NP-schwer bewiesen.
Nenne das Wort w ∈ Σ ∗ ein Zeuge für A , wenn es die Bedingung aus der Frage erfüllt (für jedes L ∈ A gibt es m ≥ 1, so dass { w m + i ∣ 0 ≤ i < | L | } = L ) .w∈Σ∗ A L∈A m≥1 {wm+i∣0≤i<|L|}=L
Betrachten Sie die Entscheidungsversion des ursprünglichen Problems, dh entscheiden Sie, ob es für einige A und k ≥ 0 einen Zeugen für A mit einer Länge von höchstens k gibt . Dieses Problem kann gelöst werden, indem das ursprüngliche Problem als ein Orakel in Polynomzeit verwendet wird (finde den kürzesten Zeugen und vergleiche dann seine Länge mit k ).A k≥0 A k k
Nun zum Kern der Reduktion. Sei G = ( V , E ) ein einfacher, ungerichteter, zusammenhängender Graph. Für jedes v ∈ V sei L v = { v } ∪ { e ∈ E ∣ v ∈ e } die Menge, die den Scheitelpunkt v und alle seine benachbarten Kanten enthält. Setze Σ = E und A = { L v ∣ v ∈ V } . Dann ist GG=(V,E) v∈V Lv={v}∪{e∈E∣v∈e} v Σ=E A={Lv∣v∈V} G hat genau dann einen Hamilton-Pfad, wenn es einen Zeugen für A mit einer Länge von höchstens 2 | gibt E | + 1 .A 2|E|+1
Beweis. Sei v 1 e 1 v 2 … e n - 1 v n ein Hamilton-Pfad in G und H = { e 1 , e 2 , … , e n - 1 } die Menge aller Kanten auf dem Pfad. Für jeden Scheitelpunkt v , definiert die eingestellte U v = L v ∖ H . Wählen Sie eine beliebige Reihenfolge α v für jede U v . Das Wortv1e1v2…en−1vn G H={e1,e2,…,en−1} v Uv=Lv∖H αv Uv w = & agr; v 1 e 1 & agr; v 2 e 2 ... e n - 1 & agr; v n ist ein Zeuge für A , da L v 1 durch die Teilzeichenfolge & agr; 1 e 1 , L v n durch e n - 1 & agr; n dargestellt wird und für jedes v i ist i ∉ { 1 , n } , L vw=αv1e1αv2e2…en−1αvn A Lv1 α1e1 Lvn en−1αn vi i∉{1,n} i durche dargestelltLvi i - 1 u v i e i . Außerdem tritt jede Kante inEzweimal inw auf,mit Ausnahme von | V | -1Kanten inH, die einmal vorkommen, und jeder Scheitelpunkt inVkommt einmal vor und ergibt | w | =2 | E | +1.ei−1uviei E w |V|−1 H V |w|=2|E|+1
Für die andere Richtung sei w ein beliebiger Zeuge für A mit einer Länge von höchstens 2 | E | + 1 . Es ist klar, dass jedes e ∈ E und v ∈ V in w mindestens einmal vorkommt. Man gehe ohne Einschränkung der Allgemeinheit davon aus, dass jedes e ∈ E höchstens zweimal in w und jedes v ∈ V genau einmal vorkommt; Andernfalls kann ein kürzerer Zeuge gefunden werden, indem Elemente aus w entfernt werden . Sei H ⊆ E die Menge aller Kanten, die in auftretenw A 2|E|+1 e∈E v∈V w e∈E w v∈V w H⊆E w genau einmal. In Anbetracht der obigen Annahmen gilt Folgendes: | w | = 2 | E | - | H | + | V | .w |w|=2|E|−|H|+|V|
Betrachten wir eine zusammenhängende Teilzeichenfolge w der Form u e 1 e 2 ... e k v , wobei u , v ∈ V , e i ∈ E . Wir sagen, dass u , v benachbart sind. Beachten Sie, dass, wenn e i ∈ H ist , e i = { u , v } , da e i nur einmal vorkommt, es jedoch in G an zwei Eckpunkte angrenzt . Daher höchstens einer vonw ue1e2…ekv u,v∈V ei∈E u,v ei∈H ei={u,v} ei G eiei can be in HH . Similarly, no edge in HH can occur in ww before the first vertex or after the last vertex.
Now, there are |V||V| vertices, therefore |H|≤|V|−1|H|≤|V|−1 . From there, it follows that |w|≥2|E|+1|w|≥2|E|+1 . Since we assume |w|≤2|E|+1|w|≤2|E|+1 , we get equality. From there we get |H|=|V|−1|H|=|V|−1 . By pigeonhole principle, there is an edge from HH between each pair of vertices adjacent in ww . Denote h1h2…hn−1h1h2…hn−1 all elements from H in the order they appear in w. It follows that v1h1v2h2…hn−1vn is a Hamiltonian path in G. ◻
Since the problem of deciding the existence of Hamiltonian path is NP-hard and the above reduction is polynomial, the original problem is NP-hard too.
quelle