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.
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
Jawaban:
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 diG v p(v)=2 G iff G G v u u G u u dan 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 .u p(u)=1 u=v v
sumber