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.
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.
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.
Contoh sederhana (kerikil ditampilkan dalam warna hijau, kepala ular adalah P1).
sumber
Jawaban:
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
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.
Untuk membalikkan tepi, ular pertama-tama membersihkan rute tengah dan kemudian mengambil rute tengah begitu kepalanya mencapai titik berlawanan.
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.
Posisi target ular dapat diturunkan dengan transformasi yang sama. Oleh karena itu, mengkonfigurasi ulang ular adalah PSPACE lengkap, bahkan pada grafik planar.
sumber