Apakah NP-sulit memainkan draf internasional dengan benar?


26

Apakah masalah berikut NP-hard?

Diberikan konfigurasi papan untuk draft internasional , temukan satu langkah hukum tunggal.n×n

Masalah terkait untuk catur Amerika (alias konsep bahasa Inggris) mudah dipecahkan dalam waktu polinomial. Ada tiga perbedaan utama antara kedua game ini.n×n

Perbedaan pertama dan paling signifikan adalah aturan "raja terbang". Pada biji, seorang raja dapat melompati potongan lawan yang berdekatan ke kotak kosong dua langkah dari arah diagonal mana pun. Dalam konsep internasional, seorang raja dapat melompati bagian lawan dengan jarak sewenang - wenang dengan memindahkan jarak sewenang - wenang sepanjang diagonal.

Seperti pada biji, potongan yang sama dapat digunakan untuk menangkap serangkaian potongan dalam satu putaran. Namun, tidak seperti biji, potongan yang ditangkap dalam konsep internasional tidak dihapus sampai seluruh urutan selesai. Bagian yang menangkap mungkin melompati atau mendarat di kotak kosong yang sama beberapa kali, tetapi mungkin tidak melompati bagian lawan lebih dari satu kali.

Akhirnya, baik catur dan konsep internasional memiliki aturan penangkapan paksa: Jika Anda dapat menangkap bagian lawan, Anda harus. Namun, aturan aturan tidak setuju ketika ada beberapa opsi untuk beberapa. Pada checker, Anda dapat memilih urutan penangkapan maksimal ; dengan kata lain, Anda dapat memilih urutan penangkapan yang berakhir saat bagian tangkapan tidak dapat lagi ditangkap. Dalam konsep internasional, Anda harus memilih urutan tangkapan terpanjang . Dengan demikian, masalah saya setara dengan yang berikut:

Diberikan konfigurasi papan untuk draft internasional , temukan gerakan yang menangkap jumlah maksimum dari bagian yang berlawanan.n×n

Cukuplah untuk membuktikan bahwa masalah berikut ini adalah NP-complete. (Ini jelas dalam NP.)

Diberikan konfigurasi papan untuk draft internasional yang hanya melibatkan raja , dapatkah (dan karenanya harus) satu pemain menangkap semua bagian lawannya dalam satu putaran?n×n

Masalah catur yang sesuai dapat dijawab dalam waktu polinomial; ini adalah pekerjaan rumah yang menghibur. Masalahnya terlihat lebih mirip dengan analisis Demaine, Demaine, dan Eppstein tentang permainan akhir Phutball ; solusi untuk latihan pekerjaan rumah yang menghibur muncul di akhir makalah mereka. Sebuah solusi juga muncul dalam makalah FOCS 1978 oleh Frankel et al. itu membuktikan bahwa memainkan catur secara optimal adalah PSPACE-hard; lihat juga bukti Robson 1984 bahwa checker sebenarnya lengkap-EKSPTIM.


salah ketik ? "itu jelas dalam P" - mungkin maksudmu "dalam NP"? Juga, DI MANA Anda mendapatkan pertanyaan-pertanyaan ini?
Suresh Venkat

Yap, diperbaiki. Juga menulis ulang masalah; tidak jelas bahwa jumlah langkah hukum dari suatu posisi hanya polinomial.
Jeffε

Yang ini keluar dari menulis solusi untuk "latihan pekerjaan rumah yang menghibur".
Jeffε

Saya kira pertanyaan tambahan yang tidak diucapkan di sini adalah, apa kompleksitas permainan itu sendiri (menentukan apakah satu pemain bisa menang)? Apakah ini EXPTIME-lengkap, seperti halnya catur? Mungkin, tetapi buktinya untuk checker cukup rumit.
Bob Hearn

Jawaban:


24

OKE, ini pengurangannya. Ternyata Anda tidak perlu planaritas sama sekali. Juga, untuk "menemukan langkah hukum", saya mengambil pertanyaan keputusan sebagai "apakah langkah X legal?".

Pertama, mari kita bekerja dengan gim di mana potongan-potongan bergerak secara orthogonal alih-alih secara diagonal. Game ini setara (lihat saja board draft diputar 45 derajat) kecuali untuk properti edge, yang tidak akan kita gunakan. Kami menggunakan dua gadget: merge / split dan crossover. Lihat http://www.hearn.to/draughts.pdf . Kami berasumsi ada satu Raja Putih di papan untuk bergerak. (Tidak ada bagian lain yang dapat menangkap jumlah potongan signifikan.) Itu akan bergerak melalui koridor yang ditunjukkan, menangkap potongan hitam di sepanjang jalan.

Pertama, gabung: jika raja memasuki salah satu dari jalur N A (melalui menangkap sepotong hitam, tidak ditampilkan), ia dapat keluar di B. Demikian juga, jika kita membalikkan gadget dan masuk ke B, menangkap bagian yang ditampilkan, itu dapat keluar di sepanjang jalan A (sekali lagi, menangkap sepotong hitam eksternal). Ini adalah gadget sekali pakai (karena keping hitam keluar hanya dapat ditangkap sekali).

Kedua, crossover. Jika raja masuk melalui A (C), ia bisa keluar di B (D). Itu tidak bisa berhenti di tengah dan mengubah rute, karena itu akan menjadi segmen bergerak yang tidak menangkap.

Sekarang, diberi grafik terarah, buat konfigurasi game yang sesuai sebagai berikut. Untuk setiap titik, buat gabungan yang diumpankan menjadi split. Merutekan output split ke menggabungkan input dari gadget vertex (menggabungkan + split) yang sesuai dengan simpul yang terhubung dengan tepi yang keluar, menggunakan crossover seperlunya. Mulai raja dengan input tambahan ke titik mana pun (dengan bagian hitam untuk ditangkap agar masuk ke titik tersebut).

Akhirnya, menyamakan semua "panjang tepi" dengan menambahkan potongan hitam ekstra di sepanjang jalur output / input sesuai kebutuhan. Jika ada simpul V, dan k keping hitam di sepanjang setiap tepi, maka raja dapat menangkap 2V + kV + 1 keping jika dan hanya jika ada sirkuit Hamiltonian dari grafik yang sesuai. Jika raja memiliki langkah alternatif yang tersedia, menangkap rantai sederhana potongan 2V + kV, maka menentukan apakah langkah alternatif itu sah atau tidak.


2
Pengurangan bagus!
Jeffε

Tetapi bisakah Anda menjawab pertanyaan kedua? Apakah menang dalam satu gerakan NP-keras?
Jeffε

Mungkin ... Saya pikir gadget bisa dimodifikasi sehingga setelah menyelesaikan sirkuit Hamilton, raja kemudian bisa menangkap semua potongan hitam di "kabel". Potongan-potongan internal gabungan / perpecahan masih harus ditangkap selama sirkuit Hamiltonian, jadi itu akan tetap NP-keras. Idenya adalah untuk membuka celah di koridor yang berdekatan dengan potongan-potongan hitam, yang akan memungkinkan koridor untuk dilintasi, tetapi tidak keluar dari dalam.
Bob Hearn

Saya kira itu juga akan membutuhkan beberapa mesin navigasi tambahan di luar koridor, tetapi itu harus bisa dilakukan.
Bob Hearn

5

Berikut adalah alternatif yang mungkin untuk pengurangan Bob, kali ini dari siklus Hamiltonian (tidak terarah). Saya tidak 100% yakin bahwa rinciannya benar — saya sudah menemukan dan memperbaiki beberapa masalah — tetapi saya yakin itu bisa dipijat menjadi bukti yang benar. Seperti yang ditunjukkan Bob, pengurangan ini memiliki bug serius; raja putih dapat dengan mudah menyimpang dari jalur kanoniknya melalui papan. Bug ini dapat diperbaiki dengan menambahkan gadget cross-over Bob di lokasi yang sesuai (saya pikir) , tetapi kemudian tidak jauh berbeda dari pengurangannya.

GnmG1

O(n2)×O(n2)O(n2+m)kkhnh

gadget sudut

gadget 4-pembagi horizontal

menimbun gadget

kkk(i,j)ijxy

satu ujung

hn2+4nG


Sangat bagus. Tapi saya memang melihat beberapa masalah, salah satunya pengurangan saya juga. Pertama, ketika raja keluar dari sudut, itu bisa berhenti di mana saja, berpotensi membiarkannya memasuki sudut lain secara tidak tepat. Kedua, tidak ada yang memaksa raja untuk kembali ke titik awal; itu bisa berakhir pada titik apa pun. Milik saya memiliki masalah yang sama, tetapi mudah diperbaiki untuk setiap pengurangan, dengan menambahkan bagian tambahan yang sesuai untuk ditangkap di dalam titik awal.
Bob Hearn

Masalah kedua mudah diperbaiki: pindahkan lokasi awal untuk raja lebih dalam di dalam gerombolan.
Jeffε

Namun masalah pertama lebih serius. Saya kira kita membutuhkan gadget crossover Anda. Drat!
Jeffε

Saya pikir menghapus keping hitam keluar dari gadget sudut, dan menambahkan keping hitam pada setiap lengan input splitter untuk setiap dhuwur, mungkin juga melakukan trik.
Bob Hearn

3

Sekarang mengapa Anda tidak mengajukan masalah ini kepada saya ketika saya sedang mengerjakan tesis saya?

OK, saya mendapat pengurangan dari Planar Directed Hamiltonian Cycle.


1
Katakan! (Bisakah Anda jelaskan pengurangannya?)
Ryan Williams

Maaf, Bob; tidak memikirkannya saat itu. Ya, tolong jelaskan (atau tautkan ke) pengurangan!
Jeffε

Ini sebenarnya bukan jawaban.
Dave Clarke

1
Tidak ... saya pikir saya menambahkan komentar pada saat itu. Sekarang, saya tidak melihat bagaimana cara menambahkan komentar ke posting utama.
Bob Hearn

Anda perlu 100 reputasi untuk menambahkan komentar. Itu feechur.
Jeffε
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.