Potongan-potongan puzzle

18

Masalah: Kami diberi satu set batang yang semuanya memiliki panjang bilangan bulat. Jumlah total panjangnya adalah n (n + 1) / 2.

Bisakah kita memecahnya untuk mendapatkan ukuran tongkat dalam waktu polinomial? 1,2,...,n

Anehnya, satu-satunya referensi yang saya temukan untuk masalah ini adalah diskusi kuno ini:

http://www.iwriteiam.nl/cutsticks.html

Apa lagi yang diketahui tentang masalahnya? Bisakah kita membuktikan masalahnya sebagai `dalam limbo '?

Pembaruan: Masalah stik memiliki kendala bahwa masing-masing stik setidaknya memiliki panjang unit. (Lihat komentar dan jawaban Tsuyoshi untuk kasus yang tidak dibatasi).n

Jagadish
sumber
1
Rumusan masalah dalam tautan yang Anda berikan memiliki persyaratan tambahan berikut, yang masalahnya lebih masuk akal: "Tidak ada batang yang lebih pendek dari ." n
Jukka Suomela
Ini adalah masalah yang belum terpecahkan untuk menentukan apakah ini selalu mungkin.
Emil
@ Emil: Apakah Anda punya referensi? Adakah yang lebih baru dari diskusi kuno (1995) yang terhubung dalam OP?
Jukka Suomela
@Jukka Kesalahan saya. Saya lupa menyebutkan hal itu karena saya mendapat kesan bahwa masalahnya tidak akan berubah secara signifikan dengan kendala itu. Ngomong-ngomong, aku senang karena jawaban Tsuyoshi telah melahirkan pertanyaan menarik.
Jagadish
ini masalah yang cukup rapi, tetapi judulnya menyesatkan. Ini menunjukkan bahwa ini adalah masalah teori kompleksitas, ketika benar-benar itu adalah teka-teki algoritma keren seperti masalah unshuffling. Mungkin Anda harus menulis ulang judulnya.
Suresh Venkat

Jawaban:

16

Perhatian: Ketika Jukka Suomela mengomentari pertanyaan itu, halaman yang terhubung dari pertanyaan tersebut adalah tentang masalah yang berbeda dari masalah yang dinyatakan dalam pertanyaan di mana masalah pada halaman tersebut memiliki batasan bahwa panjang tongkat yang diberikan lebih besar atau sama dengan n. Jawaban ini adalah tentang masalah tanpa batasan ini. Karena komentar Emil tentang pertanyaan mengacu pada masalah dengan pembatasan, tidak ada kontradiksi antara komentarnya dan jawaban berikut.


Masalahnya adalah NP-complete, bahkan jika angka diberikan secara unary.

Masalah 3-partisi adalah masalah berikut:
Instance : Positif bilangan bulat a 1 , ..., a n di unary, di mana n = 3m dan jumlah dari n bilangan bulat sama dengan mB, sehingga masing-masing i memenuhi B / 4 < a i <B / 2.
Pertanyaan : Bisakah bilangan bulat a 1 ,…, a n dipartisi menjadi m multiset sehingga jumlah masing-masing multiset sama dengan B?

Masalah 3-partisi adalah NP-complete bahkan jika 1 ,…, dan semuanya berbeda [HWW08] (terima kasih kepada Serge Gaspers karena memberi tahu saya tentang ini ). Dimungkinkan untuk mengurangi versi terbatas masalah 3-partisi ini ke masalah yang dimaksud sebagai berikut.

Misalkan kita diberi contoh masalah 3-partisi yang terdiri dari bilangan bulat positif berbeda 1 ,…, a n . Misalkan m = n / 3 dan B = (a 1 +… + a n ) / m, dan biarkan N menjadi maksimum di antara i . Pertimbangkan contoh berikut dari masalah tongkat: contoh terdiri dari satu tongkat panjang k untuk setiap k∈ {1, ..., N} ∖ {a 1 , ..., a n } dan m tongkat panjang B. Dengan menggunakan fakta bahwa setiap i memenuhi i > B / 4 ≥ N / 2, mudah untuk membuktikan bahwa masalah stick ini memiliki solusi jika dan hanya jika instance dari masalah 3-partisi memiliki solusi.

Referensi

[HWW08] Heather Hulett, Todd G. Will, Gerhard J. Woeginger. Realisasi multigraf dari urutan derajat: Maksimal mudah, minimisasi sulit. Operations Research Letters , 36 (5): 594–596, September 2008. http://dx.doi.org/10.1016/j.orl.2008.05.004

Tsuyoshi Ito
sumber
3
Saya tidak tahu apakah masalah 3-partisi tetap NP-lengkap atau tidak jika jumlahnya berbeda, dan saya bertanya tentang hal itu: cstheory.stackexchange.com/questions/716/…
Tsuyoshi Ito
Serge Gaspers mengatakan kepada saya bahwa itu benar (terima kasih!). Saya menyederhanakan bukti menggunakannya.
Tsuyoshi Ito