Tambahkan pencocokan ke jalur Hamiltonian untuk mengurangi jarak maksimum antara pasangan simpul yang diberikan


14

Apa kompleksitas dari masalah berikut ini?

Masukan :

  • H a jalur Hamilton diKn
  • R[n]2 subset pasangan simpul
  • bilangan bulat positifk

Pertanyaan : apakah ada cocok sehingga untuk setiap , ? (di mana )( v , u ) RM(v,u)RdG(v,u)k
G=([n],MH)

Saya telah berdiskusi dengan seorang teman tentang masalah ini. Teman saya berpikir masalahnya ada di waktu polinomial. Saya pikir itu NP-lengkap.


11
Anda dapat menyederhanakan ini lebih lanjut, setidaknya dalam hal presentasi. Anda diberi , lintasan dengan simpul, dan koleksi R dari pasangan simpul ini. Anda ingin menambah jalur dengan pencocokan sehingga jarak antara setiap pasangan dalam R paling banyak k . nknRRk
Sasho Nikolov

Saya pikir formulasi ini mungkin membingungkan setelah edit terbaru saya untuk menghapus beberapa ambiguitas.
pfim

1
Penafsiran saya benar, bukan?
Sasho Nikolov

Saya melakukan edit untuk membuat pernyataan masalah lebih ketat. Saya pikir ini dapat lebih disederhanakan karena Anda hanya dapat berasumsi bahwa H adalah jalur Hamiltonian 1-2-3-4-5 ...- tanpa kehilangan sifat umum. Jadi, Anda hanya perlu . n
Kaveh

Jawaban:


1

Jawaban ini salah .

Temanmu benar. Masalah Anda (seperti yang ditafsirkan oleh Sasho) tidak menempatkan batasan apapun pada kardinalitas pencocokan . Oleh karena itu, memilih C menjadi pencocokan antara pasangan dalam R . Kemudian untuk bilangan bulat positif k , jarak antara setiap pasangan dalam R kurang dari k .CCRkRk

Masalah Anda menjadi menarik jika Anda memaksa jalur mengandung tepi dari kedua pencocokan dan jalur P .CP


Apa yang Anda maksud dengan “mencocokkan antara pasangan dalam ”? R
Emil Jeřábek mendukung Monica

@ EmilJeřábek Ini berarti menghubungkan node dari setiap pasangan di oleh sebuah tepi Jadi C hanya R dengan ujung yang menghubungkan setiap pasangan. Hal ini setara dengan menambah jalur P dengan marching sempurna di pasang R . RCRPR
Mohammad Al-Turkistany

1
Sepertinya itu tidak masuk akal bagi saya. Bagaimana jika tidak cocok? Katakan, jika R berisi pasangan ( 1 , 2 ) dan ( 1 , 3 ) , bagaimana Anda memilih C ? RR(1,2)(1,3)C
Emil Jeřábek mendukung Monica

@ EmilJeřábek Ya. Poin Anda valid. Saya akan mengedit jawaban saya.
Mohammad Al-Turkistany

@ pfim Bisakah jalur terpendek dibentuk hanya dengan tepi dari ? C
Mohammad Al-Turkistany

0

UPDATE: jawaban di bawah ini tidak benar, karena saya salah berasumsi bahwa jalur Hamilton adalah dalam grafik arbitrer, bukan dalam . Saya membiarkannya tidak terhapus, mungkin saya akan bisa memperbaikinya atau itu akan memberikan beberapa petunjuk untuk jawaban lain.Kn

Saya pikir ini NP-lengkap. Ini adalah ide pengurangan yang sangat informal / cepat dari 3SAT

Untuk setiap variabel tambahkan "gadget variabel" dengan:xi

  • tiga node Xi,+Xi,Xi
  • dua tepi variabel dan ( X i , - X i )(Xi,+Xi)(Xi,Xi)

Tambahkan node sumber dan hubungkan ke semua variabel X i .SXi

Untuk setiap klausul menambahkan node C j dan menghubungkannya dengan variabel yang sesuai + X i atau - X i bahwa bentuk klausa.CjCj+XiXi

Gambar berikut menunjukkan: (+x1x2x3)(x2x3x4)

masukkan deskripsi gambar di sini

Set (node yang harus dihubungkan) mengandung ( S , C 1 ) , ( S , C 2 ) , . . .R(S,C1),(S,C2),...

Jalur sederhana harus mencakup semua tepi "BIRU" kecuali tepi variabel ( X i , + X i ) dan ( X i , - X i ) (pada gambar di atas tepi biru mewakili tepi yang kami sertakan dalam P ).P(Xi,+Xi)(Xi,Xi)P

Pada titik ini, rumus awal adalah satisfiable jika dan hanya jika jalur terpendek dari ke setiap klausul simpul C j tidak lebih besar dari tiga. Memang untuk mencapai klausa dari S dalam tiga langkah, kita harus melintasi setidaknya satu variabel X i : S X i± X iC j . Jadi kita harus melintasi salah satu dari dua tepi: X i+ X i atau X i- X i ) dan memasukkannya ke dalam CSCjSXiSXi±XiCjXi+XiXiXi)C(karena dengan konstruksi itu bukan bagian dari ). Tetapi keduanya tidak dapat dimasukkan, karena mereka berbagi titik.P

Tetapi kami tidak yakin bahwa kami dapat membangun jalur P sederhana yang mencakup semua tepi biru karena beberapa node memiliki lebih dari satu insiden tepi biru.P

Untuk memperbaikinya, kami mengganti setiap node dengan beberapa tepi biru insiden, dengan pohon yang hanya berisi pasangan tepi biru insiden yang akan dimasukkan dalam dan tepi yang memisahkannya dan yang harus disertakan dalam C untuk mencapai node klausa:PC

masukkan deskripsi gambar di sini

Grafik asli menjadi:

masukkan deskripsi gambar di sini

KCjS

C

P

masukkan deskripsi gambar di sini


Mencoba membangun jalur yang berisi semua tepi biru membuat saya khawatir: beberapa simpul memiliki lebih dari 2 tepi biru yang menyertainya, jadi tidak mungkin ada jalur tunggal yang sederhana termasuk semua tepi biru.
Mikhail Rudoy

Ok, terima kasih ... Saya benar-benar lupa apa itu jalan sederhana :-( ... sekarang harus diperbaiki.
Marzio De Biasi

Posting ini di math.SE menunjukkan bahwa masalahnya mungkin tidak lengkap NP. Ini bisa menjadi sulit tetapi dipecahkan dalam waktu kuasipolinomial math.stackexchange.com/questions/2218929/…
Mohammad Al-Turkistany

@ MohammadAl-Turkistany: apakah Anda melihat cacat pada versi jawaban saat ini?
Marzio De Biasi

Tidak, saya tidak melihat cacat yang jelas.
Mohammad Al-Turkistany
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.