Sunting: Saya pertama kali salah mengartikan kendala saya (2), sekarang sudah diperbaiki. Saya juga menambahkan lebih banyak informasi dan contoh.
Dengan beberapa rekan, mempelajari beberapa pertanyaan algoritmik lainnya, kami dapat mengurangi masalah kami menjadi masalah menarik berikut, tetapi kami tidak dapat menyelesaikan pertanyaan tentang kompleksitasnya. Masalahnya adalah sebagai berikut.
Instance: Integer , integer , dan himpunan dari pasangan dari set .
Pertanyaan: Apakah ada himpunan dengan ukuran sedemikian sehingga untuk setiap elemen dari :
(1) jika , interval dimasukkan dalam beberapa interval didefinisikan oleh pasangan di , dan(2) setidaknya satu dari,milik beberapa pasangi
?
(2) milik sepasang .
Contoh
Himpunan adalah solusi yang layak (dengan asumsi adalah genap): pasangan memastikan kondisi (1), sedangkan semua pasangan lain memastikan kondisi (2).
Keterangan
(I) Karena setiap pasangan mengandung tepat dua elemen, untuk memenuhi kondisi (2), kita memerlukan setidaknya pasangan. BTW ini menyiratkan pendekatan 2 sepele dengan mengembalikan seluruh , karena kita menganggap .
(II) Cara lain untuk melihat masalah adalah dengan mempertimbangkan tangga dengan langkah (seperti yang di bawah ), bersama dengan himpunan dari siklus tangga. Setiap langkah tangga sesuai dengan beberapa elemen, dan setiap tepi sisi adalah interval . Sebuah siklus termasuk langkah sesuai persis dengan pasangan : ia mencakup semua interval berturut-turut antara dan , dan berhenti di kedua dan . Pertanyaannya kemudian apakah ada himpunan dari
siklus yang penyatuannya mencakup semua tepi tangga (termasuk tepi step dan tepi samping).
(III) Jika seseorang hanya meminta kondisi (1), masalahnya akan sesuai dengan masalah himpunan mendominasi dalam beberapa grafik interval yang ditentukan dari interval diberikan oleh pasangan bersama-sama dengan interval kecil tambahan untuk setiap di . Masalah ini dapat dipecahkan secara klasik dalam waktu linier (lihat misalnya di sini ). Demikian pula, jika seseorang hanya meminta kondisi (2), ini dapat dikurangi menjadi masalah penutup tepi (simpul adalah elemen, tepi adalah pasangan), yang juga waktu polinomial dipecahkan dengan pendekatan pencocokan maksimum.[ i + ϵ , i + 1 - ϵ ] i { 1 , … , n - 1 }
Jadi pertanyaan saya ada pada judul:
Apakah masalah ini dalam P? Apakah ini NP-lengkap?
Referensi apa pun untuk masalah yang serupa dipersilahkan.
sumber
Jawaban:
Meskipun ini tidak menyelesaikan pertanyaan yang Anda ajukan, beberapa komentar sebelumnya mempertimbangkan algoritma perkiraan. FWIW, saya pikir PTAS (skema pendekatan poli-waktu) dimungkinkan menggunakan pemrograman dinamis. Inilah idenya.
Diberikan contoh apa saja dan , buat solusi sebagai berikut. Tandai setiap simpul ( 1 / ϵ ) . Untuk setiap simpul bertanda i , dari semua tepi ( j , k )ϵ>0 (1/ϵ) i (j,k) yang "span" (yaitu, yang memenuhi kendala (1) untuk i ), pilih satu tepi yang meminimalkan j dan yang i i j k 2ϵn
meminimalkanmemaksimalkan k . Tambahkan 2 ε n tepi untuk solusi.Tepi-tepi ini memenuhi batasan tipe (1) untuk banyak simpul. Sementara itu mereka berkontribusi edge ke solusi, yang hanya O ( ϵ OPT ) . Untuk menyelesaikannya, kami akan menemukan solusi optimal untuk masalah yang tersisa dalam menemukan serangkaian tepi yang memenuhi semua batasan tipe (1) dan tipe (2) yang tersisa.2nϵ O(ϵOPT)
Tentukan "blok" simpul menjadi satu set simpul berturut-turut yang tipe (1) batasannya dipenuhi oleh tepi yang ditambahkan sejauh ini. Di antara dua blok berturut-turut, ada urutan simpul yang tipe (1) batasannya tidak terpenuhi. (Setiap urutan seperti itu memiliki panjang paling banyak , karena simpul yang ditandai memiliki jenis mereka (1) kendala bertemu dengan tepi sudah ditambahkan.) Panggil urutan seperti itu "lingkungan" dari dua blok yang berdekatan (sehingga setiap blok memiliki lingkungan di sebelah kiri dan lingkungan di sebelah kanan).1/ϵ
Di dalam setiap lingkungan, untuk setiap simpul di lingkungan tersebut, setiap tepi yang meninggalkan puncak memiliki jarak paling banyak (karena tepi tidak menjangkau titik yang ditandai). Dengan demikian, simpul memiliki derajat paling banyak 1 / ϵ . Dengan demikian, setiap lingkungan memiliki paling banyak 1 / ϵ simpul dan menyentuh paling banyak 1 / ϵ 2 tepi. Panggil subset dari tepi tersebut sebagai "konfigurasi" lingkungan. Jika konfigurasi memenuhi semua batasan tipe (1) dan tipe (2) untuk simpul di lingkungan, panggil konfigurasi "valid".1/ϵ 1/ϵ 1/ϵ 1/ϵ2
Untuk setiap blok , untuk setiap pasangan ( C i , C i + 1 ) konfigurasi yang valid dari dua lingkungan blok, menghitung (dalam waktu polinomial, menggunakan pencocokan maksimum dll), ukuran minimum F i ( C i , C i + 1 ) dari setiap himpunan S dari tepi (jika ada) sehingga tepi dalam C i ∪ S ∪ C i + 1 memenuhi jenis (2) kendala untuk simpul dalam blok. Karena ada paling banyak 2 1i (Ci,Ci+1) Fi(Ci,Ci+1) S Ci∪S∪Ci+1 konfigurasi, ini dapat dilakukan dalam waktu polinomial (untuk eps tetap). 21/ϵ2=O(1)
Sekarang Anda dapat memecahkan contoh asli dengan menemukan urutan konfigurasi berlaku, satu untuk setiap lingkungan, yang meminimalkan Σ i | D i | + F i ( D i , D i + 1D1,D2,..,Dk , di mana F i adalah seperti yang didefinisikan dalam paragraf sebelumnya. Ini dapat dilakukan dengan menemukan jalur terpendek dalam grafik yang dibentuk oleh semua konfigurasi yang valid, dengan keunggulan biaya | D i | +∑i|Di|+Fi(Di,Di+1) Fi dari setiap konfigurasi D i untuk lingkungan i ke setiap konfigurasi D i + 1 untuk lingkungan i + 1 . (Grafik ini memiliki ukuran O ( 2 1 / ϵ 2 n ) , yaitu O ( n ) untuk diperbaiki ϵ .)|Di|+Fi(Di,Di+1) Di i Di+1 i+1 O(21/ϵ2n) O(n) ϵ
sumber