Saya percaya saya menemukan pengurangan dari jalur Hamilton , sehingga membuktikan masalah NP-hard.
Panggil kata saksi untuk , jika memenuhi persyaratan dari pertanyaan (untuk setiap , ada sedemikian rupa sehingga ). A L ∈ A m ≥ 1 { w m + i ∣ 0 ≤ i < | L | } = Lw∈Σ∗AL∈Am≥1{wm+i∣0≤i<|L|}=L
Pertimbangkan versi keputusan dari masalah awal, yaitu putuskan apakah untuk beberapa dan , ada saksi untuk panjangnya paling banyak . Masalah ini dapat diselesaikan dengan menggunakan masalah asli sebagai oracle dalam waktu polinomial (temukan saksi terpendek, kemudian bandingkan panjangnya dengan ).k ≥ 0 A kAk≥0Akk
Sekarang untuk inti dari reduksi. Biarkan menjadi grafik yang terhubung sederhana, tidak terarah,. Untuk setiap , misalkan menjadi himpunan yang berisi vertex dan semua tepi yang berdekatan. Set dan . Maka memiliki jalur Hamilton jika dan hanya jika ada saksi untuk dengan panjang maksimal .v ∈ V L v = { v } ∪ { e ∈ E ∣ v ∈ e } v Σ = E A = { L v ∣ v ∈ V } G A 2 | E | + 1G=(V,E)v∈VLv={v}∪{e∈E∣v∈e}vΣ=EA={Lv∣v∈V}GA2|E|+1
Bukti. Biarkan menjadi lintasan Hamilton di dan set semua tepi pada lintasan. Untuk setiap vertex , mendefinisikan set . Pilih pemesanan sembarang untuk setiap . Kata adalah saksi untuk , karena diwakili oleh substring , oleh , dan untuk setiap , , G H = { e 1 , e 2 , ... , e n - 1 } v U v = L v ∖ H α v U v w = α v 1 e 1 α v 2 e 2 … e n - 1 n Av1e1v2…en−1vnGH={e1,e2,…,en−1}vUv=Lv∖HαvUvw=αv1e1αv2e2…en−1αvnA α 1 e 1 L v n e n - 1 α n v i i ∉ { 1 , n } L v iLv1α1e1Lvnen−1αnvii∉{1,n}Lvi diwakili oleh . Selanjutnya, setiap tepi dalam terjadi dua kali dalam dengan pengecualian tepi dalam , yang terjadi sekali, dan setiap simpul dalam terjadi sekali, memberikan . E w | V | - 1 H V | w | = 2 | E | + 1ei−1uvieiEw|V|−1HV|w|=2|E|+1
Untuk arah lain, biarkan menjadi saksi sewenang-wenang untuk panjang paling . Jelas, setiap dan terjadi di setidaknya sekali. Tanpa kehilangan generalitas, asumsikan bahwa setiap terjadi di paling banyak dua kali dan setiap terjadi tepat sekali; jika tidak, saksi yang lebih pendek dapat ditemukan dengan menghapus elemen dari . Biarkan menjadi himpunan semua tepi yang terjadi di tepat sekali. Dengan asumsi di atas, dinyatakan bahwa.wA2|E|+1e∈Ev∈Vwe∈Ewv∈VwH⊆Ew|w|=2|E|−|H|+|V|
Pertimbangkan substring bersebelahan dalam bentuk , di mana , . Kami mengatakan bahwa berdekatan. Perhatikan bahwa jika , maka , karena terjadi hanya sekali, namun itu berdekatan dengan dua simpul di . Oleh karena itu, paling banyak satu dari dapat di . Demikian pula, tidak ada tepi di dapat terjadi di sebelum simpul pertama atau setelah simpul terakhir.wue1e2…ekvu,v∈Vei∈Eu,vei∈Hei={u,v}eiGeiHHw
Sekarang, adasimpul, oleh karena itu . Dari sana, berarti . Karena kita menganggap , kita mendapatkan kesetaraan. Dari sana kita dapatkan . Dengan prinsip pigeonhole, ada tepi dari antara setiap pasangan simpul yang berdekatan di . Mendenotasikan semua elemen dari dalam urutan mereka muncul dalam . Oleh karena itu adalah jalur Hamiltonian dalam . |V||H|≤|V|−1|w|≥2|E|+1|w|≤2|E|+1|H|=|V|−1Hwh1h2…hn−1Hwv1h1v2h2…hn−1vnG□
Karena masalah penentuan keberadaan jalur Hamiltonian adalah NP-hard dan pengurangan di atas adalah polinomial, masalah aslinya adalah NP-hard juga.