Kompleksitas masalah penutup interval


17

Pertimbangkan hal berikut masalah Q : Kami diberi integer , dan k interval [ l i , r i ] dengan 1 l ir i2 n . Kita juga diberi bilangan bulat 2 n d 1 , , d 2 n0 . Tugasnya adalah memilih jumlah interval minimum [ l i , r i ]nk[lsaya,rsaya]1lsayarsaya2n2nd1,...,d2n0[lsaya,rsaya]sedemikian rupa sehingga untuk setiap , setidaknya interval d i yang berisi bilangan bulat saya dipilih.saya=1,...,2ndsayasaya

Tidak sulit untuk melihat bahwa dapat diselesaikan dalam waktu polinomial (lihat di bawah).Q

Sekarang pertimbangkan hal berikut sedikit dimodifikasi masalah Q : Input dari masalah adalah sama seperti sebelumnya. Namun, tugas sekarang adalah untuk memilih jumlah minimum interval sehingga untuk setiap , setidaknya d 2 i - 1 interval yang mengandung bilangan bulat 2 i - 1 atau setidaknya d 2 i interval yang mengandung integer 2 i dipilih (dengan "atau" kami maksudkan logis biasa atau).saya=1,...,nd2saya-12saya-1d2saya2saya

Pertanyaan saya: Dapatkah diselesaikan dalam waktu polinomial?Q

Berikut adalah dua cara untuk menyelesaikan efisien:Q

Algoritme serakah yang sederhana: Sapu interval dari kiri ke kanan dan pilih interval sesedikit yang diperlukan untuk “memuaskan” angka . Setiap kali ada pilihan antara interval yang berbeda, pilih satu dengan titik akhir kanan maksimal.dsaya

Program integer: Untuk setiap interval perkenalkan variabel keputusan x i{ 0 , 1 } dengan x i = 1 jika interval dipilih. Tujuannya adalah untuk meminimalkan x 1 + ... + x k , dengan batasan j : i [ l j , r j ] x jd i[lsaya,rsaya]xsaya{0,1}xsaya=1x1+...+xkj:saya[lj,rj]xjdsaya. Matriks kendala dari program integer ini memiliki properti berturut-turut dan oleh karena itu relaksasi pemrograman linier dari program ini memiliki solusi optimal integer.

Terima kasih atas petunjuk, dan juga untuk referensi!

Jawaban:


-1

Setiap instance dari Q dapat ditransformasikan menjadi sebuah instance dari Multiple Set Cover Problem, di mana lokasi adalah interval , yang meliputi urutan titik permintaan yang berurutan (= bilangan bulat d i ).[lsaya,rsaya]dsaya


3
Bisakah Anda meningkatkan jawaban dengan menambahkan definisi Multiple Set Cover Problem (MSCP) dan detail lebih lanjut tentang reduksi? Secara khusus, turunan dari MSCP (setidaknya "versi" yang saya tahu) adalah grafik bipartit dan hanya V 1 yang merupakan gabungan dari set-set yang terpisah; dengan cara mana reduksi memetakan sisi-sisi dari V 1 ke V 2 ? G=(V1,V2,E)V1V1V2
Marzio De Biasi
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.