Apa varian dari masalah penutup yang dikenal sebagai?


12

Input adalah alam semesta U dan keluarga himpunan bagian dari U , mengatakan, F2U . Kami berasumsi bahwa subset di F dapat menutupi U , yaitu, EFE=U .

Sebuah urutan meliputi tambahan adalah urutan himpunan bagian di F , katakanlah, A={E1,E2,,E|A|} , itu memuaskan

1) EA,EF ,

i>1j=1i1Eij=1iEi

Masalahnya adalah untuk menemukan urutan penutup tambahan dari panjang maksimum (yaitu, dengan maksimum ). Perhatikan bahwa urutan panjang maksimum akhirnya harus menutupi U , yaitu, \ bigcup_ {E \ di {\ kal A}} E = U .U E A E = U|A|UEAE=U

Saya telah berusaha untuk menemukan suatu algoritma atau algoritma perkiraan untuk menemukan urutan penutup inkremental terpanjang. Saya hanya ingin tahu apa yang disebut varian masalah cover set ini. Terima kasih!


Anda memerlukan keluarga himpunan bagian untuk menutupi alam semesta ? Karena dengan begitu tentu saja Anda dapat mengatur masalah cover yang lebih sulit karena Anda mencari set cover dengan properti tambahan. Dengan kata lain, set cover dikurangi untuk masalah Anda. Pada wiki set penutup juga merupakan hasil innapproximability untuk set penutup. UAU
Harry

1
Hanya sebuah pengamatan (terlalu kecil untuk dijawab): ketika himpunan bagian Anda berukuran dua maka apa yang Anda cari pada dasarnya adalah hutan yang membentang.
David Eppstein

Mungkin bukan hal baru bagi OP, tetapi di sini ada beberapa pengamatan. (1) Nilai optimal selalu paling banyak | U |. Apakah nilai optimal sama dengan | U | atau tidak dapat ditentukan secara efisien oleh algoritma serakah yang mencoba meminimalkan jumlah elemen yang dibahas. (2) Algoritma serakah yang sama juga berfungsi jika semua set dalam F berukuran dua, lihat komentar David Eppstein. (3) Algoritma serakah yang sama tidak bekerja secara umum (mendesah). Contoh tandingan: F = {{1,2,3}, {1,4,5,6}, {2,4,5,6}, {3,4,5,6}}.
Tsuyoshi Ito

1
Masalahnya tidak benar-benar terlihat seperti masalah set penutup sama sekali ... Lebih seperti hibrida antara pencocokan dan pencocokan terinduksi dalam grafik bipartit. Reformulasi setara yang bagus adalah bahwa sebuah keluarga buruk jika tidak ada elemen yang tercakup tepat oleh satu set dalam keluarga. Masalahnya adalah untuk menemukan subfamili dari sehingga tidak memiliki subfamili buruk. F AAFA
daniello

1
@Neal Young tidak buruk karena dicakup oleh tepat satu set (yaitu ). b { a , b }Fb{a,b}
daniello

Jawaban:


4

Di sini saya menunjukkan bahwa masalahnya adalah NP-complete.

Kami mengonversi CNF ke instance masalah Anda sebagai berikut. Misalkan variabel CNF adalah dan klausa adalah , di mana . Misalkan mana semua set dalam gabungan sepenuhnya terpisah. Faktanya, dan , sedangkan adalah kumpulan kardinalitas . Juga tunjukkan dan perbaiki untuk setiap keluarga yang bertambah panjang di dalamnya, dilambangkan dengan untukx i m C j n < m U = i ( A iB iZ i ) A i = { a i , jx iC j } { a i , 0 } B i = { b i , jx iC j } n xim Cjn<mU=i(AiBiZi)Ai={ai,jxiCj}{ai,0}Z i k = 2 n + 1 Z = i Z i Z i k Z i , l l = 1 .. k x i 2 k F A iZ i , l B iZ i , l C j F Z x iC j { aBi={bi,jxiCj}{bi,0}Zik=2n+1Z=iZiZikZi,ll=1..k . Untuk setiap variabel , kami menambahkan set ke , setiap set formulir dan . Untuk setiap klausa , kami menambahkan satu set ke , yang berisi , dan untuk setiap elemen dan untuk setiap elemen .xi2kFAiZi,lBiZi,lCjFZxiCj ˉ x i C j { b i , j }{ai,j}x¯iCj{bi,j}

Misalkan rumusnya memuaskan dan memperbaiki tugas yang memuaskan. Kemudian pilih set dari formulir atau , tergantung pada apakah benar atau tidak. Ini adalah set inkremental . Sekarang tambahkan set sesuai dengan klausa. Ini juga terus meningkatkan ukuran, karena klausa tersebut memuaskan. Akhirnya, kita bahkan dapat menambahkan set lebih (satu untuk setiap variabel) untuk membuat penutup urutan .A iZ i , l B iZ i , l x i n k m k UkAiZi,lBiZi,lxinkmkU

Sekarang anggaplah bahwa set diletakkan dalam urutan tambahan. Perhatikan bahwa paling banyak set yang sesuai dengan dapat dipilih untuk setiap . Jadi, jika tidak ada set klausa dalam urutan inkremental, paling banyak dapat dipilih, yang terlalu sedikit. Perhatikan bahwa segera setelah set klausa dipilih, kita dapat memilih paling banyak dua set yang sesuai dengan masing-masing , total paling banyak set . Oleh karena itu, kita harus memilih setidaknya set variabel sebelum set klausa diambil. Tetapi karena kita dapat memilih paling banyak untuk setiap , ini berarti bahwa untuk masing-masing kita telah memilih setidaknyak + 1 x i x i n ( k + 1 ) x i 2 n n ( k - 1 ) k + 1 x i 1 k = 2 n + 1n(k+1)+mk+1xixin(k+1)xi2nn(k1)k+1xi1 , seperti . Ini menentukan "nilai" dari variabel, sehingga kita hanya dapat memilih klausa "benar".k=2n+1

Pembaruan: Mengubah nilai dari menjadi seperti yang ditunjukkan oleh Marzio.n 2 n + 1kn2n+1


1
Klarifikasi: Saya dengan cepat memeriksa konstruksi untuk rumus yang tidak memuaskan ( ) tetapi tampaknya kita dapat membangun urutan dari meningkatkan set . Mungkin saya membuat kesalahan: apakah kita memiliki ? n = k = 1 , m = 2 n ( k + 1 ) + m = 4 F F = { { a 1 , 0 , sebuah 1 , 1 , a 1 , 2 , z 1 } , { b 1 , 0 , b 1 , 1 , bx1¬x1n=k=1,m=2n(k+1)+m=4FF={{a1,0,a1,1,a1,2,z1},{b1,0,b1,1,b1,2,z1},{a1,1,z1},{b1,2,z1}}
Marzio De Biasi

Mengenal Anda dan saya sendiri, saya yakin kesalahannya adalah milik saya ... Saya pikir kita harus mendapatkan , tetapi tentu saja itu masih masalah. OK, saya melihat di mana saya membuat kesalahan, saya memperbaikinya sebentar lagi, terima kasih F={{a1,0,a1,1,z1},{b1,0,b1,2,z1},{a1,1,z1},{b1,2,z1}}
domotorp

Ok, saya akan melihatnya besok! Hanya sebuah catatan, dapatkah Anda menulis (dalam komentar) apa itu untuk dan apa "nilai target" untuk panjang urutan penutup (apakah k)? Karena, dalam jawaban yang dimodifikasi Anda menetapkan terlebih dahulu, kemudian berbicara tentang set dimasukkan ke dalam urutan tambahan ; apakah benar (saya belum mencoba reduksi)? x i¬ x i k = 2 n + 1 n ( k + 1 ) + m = 2 n 2 + 2 n + mFxi¬xik=2n+1n(k+1)+m=2n2+2n+m
Marzio De Biasi

F={{a1,0,a1,1,z1,},{a1,0,a1,1,z1,z2},{a1,0,a1,1,z1,z2,z3},{b1,0,b1,2,z1},{b1,0,b1,2,z1,z2},{b1,0,b1,2,z1,z2,z3},{a1,1,z1,z2,z3},{b1,2,z1,z2,z3}}
domotorp

Saya pikir ini benar sebagai , tetapi kami hanya memiliki panjang urutan tambahan. 5n(k+1)+m=65
domotorp

0

Ini adalah masalah pengepakan di bawah batasan bahwa untuk solusi , untuk setiap subset , kami memiliki bahwa selalu ada elemen dalam , yang tercakup tepat sekali.BA X B XABAXBX

Bukti: Diberikan solusi untuk masalah Anda, segera memiliki properti ini. Memang, jika adalah solusi optimal untuk masalah Anda, maka pertimbangkan subset dari set ini, dan anggap adalah set terakhir dalam urutan ini yang muncul dalam . Dengan properti yang diperlukan bahwa solusinya adalah inkremental, maka mencakup elemen yang tidak ada set sebelumnya meliputi, yang menyiratkan properti di atas.B E i B E iE1,,EmBEiBEi

Adapun arah lainnya, juga mudah. Mulai dari solusi , temukan elemen yang tercakup tepat sekali, atur sebagai set terakhir dalam urutan, hapus set ini, dan ulangi. QED.A


Ini adalah masalah yang cukup alami ....


Pengingat cepat: Dalam masalah pengemasan set, diberikan sekumpulan set, temukan subset set maksimal, yang memenuhi beberapa kendala tambahan (misalnya, tidak ada elemen yang tercakup lebih dari 10 kali, dll).


Apakah jawaban ini hanya membuktikan bahwa pertanyaan itu wajar, atau adakah hal lain yang juga Anda klaim?
domotorp

Ini menyatakannya dengan cara yang lebih sederhana. Tidak?
Sariel Har-Peled

Ya, saya setuju untuk itu.
domotorp
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.