Di kelas grafik mana saja sumber daya dibatasi jalur terpendek (RCSP) NP-hard?

8

Saya ingin menghubungkan masalah yang sedang saya kerjakan dengan masalah NP-hard yang diketahui. Saya pikir saya bisa memodelkan masalah saya sebagai sumber daya masalah jalur terpendek yang dibatasi. Namun, struktur grafik saya tidak sepenuhnya arbitrer. Dengan demikian, akan berguna untuk mengetahui kapan RCSP menjadi sulit. Apakah sulit untuk DAG, untuk DAG planar, untuk DAG dengan derajat terikat? Bantuan apa pun akan sangat dihargai!

pengembara
sumber
Apakah penting batasan sumber daya? misalnya, apakah itu dalam bentuk batasan "jumlah tautan"?
Suresh Venkat
2
Saya tidak tahu apakah sumber daya yang sebenarnya relevan dengan hasil kekerasan. Namun, kendala sumber daya adalah dari bentuk berikut. Ada beberapa nomor (M) dari set terlarang, yang dimiliki masing-masing simpul. Kendala harus menyandikan bahwa jalur terpendek yang memuaskan tidak melewati semua simpul di salah satu set M ini (yaitu jika himpunan terlarang S berisi simpul k, jalur terpendek mungkin berbatasan dengan hingga k-1 dari mereka). Dengan demikian, setiap tautan yang berdekatan dengan simpul yang dibatasi memegang kontribusi simpul itu untuk semua set terlarang dan kami mencari SP yang menghormati batasan-batasan ini.
nomad
1
Membolak-balik literatur tentang masalah, saya telah memperhatikan beberapa hal: 1) kemungkinan nama alternatif: jalur terpendek terkendala (CSP), kualitas layanan rute (QoS) 2) masalah "standar" menggunakan biaya di setiap sisi, dan batas konstan pada jumlah biaya pada lintasan terpendek 3) masalahnya adalah NP-lengkap pada grafik asiklik
Daniel Apon
Ini bukan jalan terpendek terkendala. CSP memiliki solusi waktu semu-polinomial.
Saeed

Jawaban:

6

Saya tidak tahu apakah Anda masih tertarik dengan pertanyaan (lama) ini, dan jika saya memahami dengan baik kendala sumber daya yang Anda berikan dalam komentar; namun tampaknya masalah Anda (yang sedikit berbeda dari masalah RCSP biasa) adalah NP-complete untuk grafik planar (tidak diarahkan atau diarahkan atau diarahkan asiklik) dari max-degree 3 .

Pengurangan yang mudah adalah dari 3-SAT. Mengingat formula dengan n variabel x 1 , . . . x n dan m klausa C 1 , . . . C m :φnx1,...xnmC1,...Cm

  • menambahkan kendala sumber daya set dengan dua simpul untuk setiap positif literal x k di φ dan kendala sumber daya set M - k dengan dua simpul untuk setiap negatif literal ˉ x k di φ ;M.k+xkφM.k-x¯kφ
  • mulai membangun grafik dari node sumber dan untuk setiap variabel x i membagi jalan di dua jalur : satu atas melintasi satu titik dari semua M - k yang sesuai dengan negatif literal ˉ x k ; lebih rendah satu melintasi satu titik dari semua M + k yang sesuai dengan positif literal x k ;sxsayaM.k-x¯kM.k+xk
  • maka untuk setiap membagi jalan dalam 3 baris yang melintasi secara paralel 3 simpul sesuai dengan literal dari C j dan yang dipetik dari yang sesuai M + k atau M - k ;CjCjM.k+M.k-
  • akhirnya menambahkan simpul wastafel .t

Jalur dari ke t ada jika dan hanya jika rumus asli memuaskan (yaitu tanpa kehilangan generalitas Anda dapat meminta jalur panjang | V | ).st|V|

Secara informal ketika melintasi bagian variabel , jika Anda memilih garis atas ( penugasan benar ) maka Anda harus "menggunakan" salah satu simpul dari semua set kendala sumber daya M - k yang juga berisi titik yang dapat digunakan kemudian untuk melintasi (memuaskan) klausa yang mengandung ˉ x i . Jika Anda memilih garis bawah ( palsu tugas) maka Anda harus "menggunakan" salah satu simpul dari semua M + k sumber daya kendala set yang juga mengandung titik yang dapat digunakan kemudian untuk melintasi (memuaskan) klausul yang mengandung x ixsayaM.k-x¯sayaM.k+xsaya. Ketika melintasi setiap klausul setidaknya salah satu dari tiga simpul harus terkandung dalam yang belum dapat "digunakan" belum (yaitu minimal salah satu dari mereka dapat digunakan untuk memenuhi klausa).M.k

Gambar berikut harus membuat pengurangan lebih jelas. Sumber daya kendala set diwakili dengan warna yang berbeda (dan untuk setiap warna ada tepat 2 simpul).M.k

masukkan deskripsi gambar di sini

C1=x1x¯2x3
C2=x2x¯3x4
C3=x¯1x3x¯2

Anda juga dapat dengan mudah membuat grafik diarahkan, asiklik dan bipartit. Beri tahu saya jika Anda membutuhkan detail lebih lanjut (atau jika saya salah memahami masalahnya :-).

k

Marzio De Biasi
sumber
k
1
@ Saeed: benar, saya akan mengedit pertanyaan. Saya menggunakan yEd (aplikasi java) ... Anda tidak mendapatkan gambar profesional jika dibandingkan dengan yang diproduksi oleh tikz (menggunakan TikZiT), tetapi Anda dapat menggambar sketsa dengan sangat cepat (butuh saya ~ 5 menit untuk yang di atas).
Marzio De Biasi
Terima kasih;) Sering kali saya memerlukan alat untuk menggambar cepat, saya pikir ini cukup baik.
Saeed