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∈Σ∗AL∈Am≥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 ).Ak≥0Akk
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∈VLv={v}∪{e∈E∣v∈e}vΣ=EA={Lv∣v∈V}Ghat genau dann einen Hamilton-Pfad, wenn es einen Zeugen für A mit einer Länge von höchstens 2 | gibt E | + 1 .A2|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−1vnGH={e1,e2,…,en−1}vUv=Lv∖HαvUvw = & 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αvnALv1α1e1Lvnen−1αnvii∉{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−1uvieiEw|V|−1HV|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 auftretenwA2|E|+1e∈Ev∈Vwe∈Ewv∈VwH⊆Ew 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 vonwue1e2…ekvu,v∈Vei∈Eu,vei∈Hei={u,v}eiGeiei 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.