Masalah konfigurasi "Snake"

13

Sambil menulis posting kecil tentang kompleksitas videogames Nibbler dan Snake ; Saya menemukan bahwa keduanya dapat dimodelkan sebagai masalah konfigurasi ulang pada grafik planar; dan tampaknya tidak mungkin bahwa masalah seperti itu belum dipelajari dengan baik di bidang perencanaan gerak (bayangkan misalnya rantai kereta atau robot yang saling terkait). Gim-gim ini terkenal, namun ini adalah deskripsi singkat dari model konfigurasi ulang terkait:

MASALAH SNAKE

Input : diberi grafik planar , kerikil ditempatkan pada simpul yang membentuk jalur sederhana. Kerikil mewakili ular , dan yang pertama adalah kepalanya. Kepala dapat dipindahkan dari posisi saat ini ke simpul bebas yang berdekatan, dan tubuh mengikutinya. Beberapa node ditandai dengan titik; ketika kepala mencapai node dengan titik, tubuh akan meningkat kerikil sebagai berikut bergerak kepala. Titik pada simpul dihapus setelah melintasi ular.G=(V,E)lhal1,...,hallkamu1,...,kamulhal1ee

Masalah : Kami bertanya apakah ular dapat dipindahkan sepanjang grafik dan mencapai konfigurasi target mana konfigurasi target adalah deskripsi lengkap dari posisi ular, yaitu posisi kerikil.T

Sangat mudah untuk membuktikan bahwa masalah SNAKE adalah NP-hard pada grafik planar max derajat 3 bahkan jika tidak ada titik yang digunakan dan juga pada grafik grid SOLID jika kita dapat menggunakan jumlah titik yang sewenang-wenang. Hal-hal menjadi rumit pada grafik kotak solid tanpa titik (ini terkait dengan masalah terbuka lainnya).

Saya ingin tahu apakah masalahnya telah dipelajari dengan nama lain.
dan, khususnya, jika ada bukti bahwa itu ada di NP ...

Sunting: masalahnya ternyata menjadi PSPACE-lengkap bahkan pada grafik planar dan hasilnya tampak sangat menarik, jadi tetap mencari tahu apakah itu masalah baru dan apakah ada hasil yang diketahui tentang hal itu.

masukkan deskripsi gambar di sini
Contoh sederhana (kerikil ditampilkan dalam warna hijau, kepala ular adalah P1).

Marzio De Biasi
sumber
1
Apakah masalah ada di tidak bisa ada hubungannya dengan apakah kerikil diizinkan atau tidak: jika Masalah Ular tanpa kerikil ada dalam N P , maka demikian juga Masalah Ular dengan kerikil, karena sebagai sertifikat kita dapat menentukan dalam apa memesan titik-titik dijemput, keadaan ular sebelum mencapai titik, dan di e negara setelah mengambil titik. Di bawah asumsi bahwa Masalah Ular tanpa kerikil di N P , ada sertifikat yang memberi tahu kita bagaimana melakukan gerakan "di antara". NPNPeNP
Tom van der Zanden
Bisakah Anda memberikan definisi yang lebih baik dan jelas untuk konfigurasi target? misalnya apa yang Anda maksudkan dengan deskripsi lengkap posisi ular?
Saeed
@ Saeed: konfigurasi target hanyalah posisi akhir dari kerikil (yaitu ular). Saya akan menambahkan angka untuk mengklarifikasi masalah.
Marzio De Biasi
Pertanyaan Anda cukup jelas, tetapi terminologi saya campur aduk dalam komentar saya. Seharusnya membaca "titik" di mana-mana, bukan "kerikil".
Tom van der Zanden
@ TomvanderZanden: ok terima kasih, saya setuju dengan Anda (lihat juga komentar saya untuk jawaban Zimmux). Saya menulis "... dengan atau tanpa titik ..." untuk mengatakan bahwa mereka tidak relevan; tetapi itu tidak cukup jelas; jadi saya mengedit pertanyaan dan membuatnya lebih eksplisit.
Marzio De Biasi

Jawaban:

8

Memindahkan ular dari satu posisi ke posisi lain adalah PSPACE selesai. Snake sepele di PSPACE. Kami memberikan pengurangan kekerasan PSPACE dari Hearn's Nondeterministic Constraint Logic.

Logika Kendala Nondeterministik

12223132Gadget NCL

Ular

Dalam konstruksi kami, kepala ular akan mengejar ekornya agak jauh dan akan dipaksa untuk mengulangi siklus yang sama dengan modifikasi kecil. Kami menyematkan setiap tepi grafik kendala seperti pada gambar (tepi ditunjukkan dengan warna merah), di mana kami menunjukkan posisi ular dengan garis tebal. Tepi memiliki dua sisi (simpul) dan ular mengambil rute pusat di puncak ke mana ujung diarahkan. Membalikkan tepi

Untuk membalikkan tepi, ular pertama-tama membersihkan rute tengah dan kemudian mengambil rute tengah begitu kepalanya mencapai titik berlawanan.

2

Ular Dan Ular atau

Akhirnya, garis hitam dari semua gadget tepi terhubung untuk membentuk satu siklus tunggal, sehingga kepala ular mengejar ekornya. Jika di antara dua gadget tepi, kami membuat jalur hitam cukup panjang, ular harus selalu melintasi jalur hitam dalam urutan siklik yang sama.

Untuk menunjukkan bahwa jalur hitam selalu dapat dibangun dengan cara planar, pertimbangkan spanree subtree (tepi tebal pada gambar di bawah) dari grafik kendala. Kemudian kita dapat membuat pinggiran hitam mengikuti pohon ini seperti yang diilustrasikan di bawah ini, menghasilkan grafik planar.

Subtree span Siklus Planar

Posisi target ular dapat diturunkan dengan transformasi yang sama. Oleh karena itu, mengkonfigurasi ulang ular adalah PSPACE lengkap, bahkan pada grafik planar.

Tim
sumber
Bagus! :-) :-) :-)
Marzio De Biasi