Masalah Kerikil

10

Pebbling adalah permainan solitaire yang dimainkan pada grafik tidak diarahkan , di mana setiap titik memiliki nol atau lebih kerikil. Satu gerakan kerikil terdiri dari menghilangkan dua kerikil dari vertex dan menambahkan satu kerikil ke tetangga sewenang-wenang . (Jelas, titik v harus memiliki setidaknya dua kerikil sebelum pindah.) Masalah PebbleDestruction bertanya, diberi grafik dan jumlah kerikil untuk setiap titik , apakah ada urutan dari gerakan kerikil yang menghilangkan semua kecuali satu kerikil. Buktikan bahwa PebbleDestruction adalah NP-complete.GvvG=(V;E)p(v)v

Pertama, saya menunjukkan bahwa itu dalam NP karena saya dapat memverifikasi solusi dalam waktu polinomial, menelusuri kembali jumlah kerikil dari hanya satu kerikil.

Selanjutnya, ide-ide apa yang menjadi masalah untuk digunakan sebagai dasar pengurangan waktu polinomial?

Apakah sesuatu seperti vertex cover berfungsi? Atau penutup vertex dengan ukuran berbeda?

Jika demikian, bagaimana ia bisa menangani jumlah kerikil yang berbeda pada setiap gerakan?

Terima kasih.

Dari: http://courses.engr.illinois.edu/cs473/sp2011/hw/disc/disc_14.pdf

TT
sumber
1
Apakah sesederhana itu untuk menunjukkan bahwa masalahnya ada di NP? Tidak bisakah jumlah gerakan menjadi eksponensial pada ukuran input?
Vinicius dos Santos
@ViniciusSantos, jumlah gerakan tidak boleh lebih besar dari jumlah kerikil (yang juga merupakan bagian dari input).
1
Tetapi kita dapat mengasumsikan bahwa jumlah kerikil dalam biner, bukan? Dalam hal ini, ukuran input adalah logaritmik pada jumlah kerikil. Saya masih berpikir ada sertifikat pendek untuk masalah ini tetapi, sejauh yang saya mengerti, daftar gerakannya bukan satu.
Vinicius dos Santos
@ViniciusdosSantos, Mungkin Anda tidak memperhatikan bahwa seluruh grafik sebagai input, di sisi lain jumlah kerikil untuk setiap simpul (p (v)) harus dibatasi oleh ukuran grafik, jika tidak memeriksa apakah urutan gerakan adalah valid atau tidak perlu eksponensial. Dan saya pikir benar untuk menganggap jumlah kerikil pada setiap titik paling banyak n.
Saya setuju bahwa jika jumlah kerikil pada setiap dhuwur secara polinomially dibatasi oleh ukuran grafik daripada sepele dalam NP. Tapi saya pikir asumsi ini tidak perlu, meskipun tanpa itu buktinya semakin sulit.
Vinicius dos Santos

Jawaban:

8

Misalkan dalam grafik ada satu kerikil pada setiap dhuwur kecuali satu dhuwur dengan , maka masalah kerikil di atas memiliki solusi pada memiliki sirkuit Hamiltonian. Sangat mudah untuk memeriksa apakah ada sirkuit Hamilton, maka ada solusi untuk pebbling pada . Di sisi lain, dalam solusi apa pun untuk kerikil, kita harus mulai dari titik . Misalkan kita mengunjungi beberapa simpul dua kali sehingga ini adalah simpul pertama yang dikunjungi dua kali dalam dengan algoritma pebbling, maka kita memiliki lingkaran yang dimulai dari dan berakhir diGvp(v)=2G iff GGvuuGuudan akhirnya karena adalah yang pertama untuk membuat loop maka kita memiliki sehingga kita tidak dapat melanjutkan algoritma pebbling. Memang jika algoritma memiliki solusi maka kita memiliki yang berarti kita menemukan rangkaian Hamilton yang dimulai pada .up(u)=1u=vv


sumber