Kompleksitas penyelesaian-n-ratu?

27

Masalah klasik -queens bertanya, diberi bilangan bulat positif , apakah ada larik bilangan bulat yang memenuhi kondisi berikut:n Q [ 1 .. n ]nnQ[1..n]

  • 1Q[i]n untuk semuai
  • Q[i]Q[j] untuk semuaij
  • Q[i]iQ[j]j untuk semuaij
  • Q[i]+iQ[j]+j untuk semuaij

Setiap bilangan bulat mewakili posisi ratu pada th baris dari papan catur; kendala mengkodekan persyaratan bahwa tidak ada ratu menyerang ratu lainnya. Sangat mudah untuk membuktikan bahwa tidak ada solusi ketika atau , dan solusi bentuk tertutup dikenal untuk semua nilai . Jadi, sebagai masalah keputusan , masalah -queens sepenuhnya sepele.i n × n n = 2 n = 3 nQ[i]in×nn=2n=3nn

Algoritma backtracking standar untuk membangun solusi -queens secara spekulatif menempatkan ratu pada awalan baris dan kemudian secara rekursif menentukan apakah ada penempatan hukum ratu pada baris yang tersisa. Subproblem rekursif dapat diformalkan sebagai berikut:n

  • Diberikan integer dan array dari integer, apakah awalan dari array yang menggambarkan solusi untuk masalah -queens?P [ 1 .. k ] P Q [ 1 .. n ] nnP[1..k]PQ[1..n]n

Apakah ini masalah keputusan yang lebih umum NP-keras?

Beberapa pertanyaan terdekat dikenal sebagai NP-hard, termasuk penyelesaian persegi Latin [ Colbourn 1984 ], penyelesaian Sudoku [ Yato dan Seta 2002 ], dan generalisasi berbeda dari -queens [ Martin 2007 ], tetapi pertanyaan spesifik ini tampaknya telah lolos perhatian serius.n

Pertanyaan cstheory.se terkait:

Jeffε
sumber
2
Saya bertanya-tanya apakah ada bukti kelengkapan NP dari Sudoku, penyelesaian persegi Latin, (dan banyak masalah serupa lainnya) ... benar-benar berurusan dengan representasi singkat / jarang dari contoh (misalnya dalam Latin Square Completion NPC proof, Colbourn mengatakan "Keanggotaan dalam NP langsung" tetapi dia tidak menyebutkan masalah penyandian contoh apa pun).
Marzio De Biasi
1
@ Marszio: bukti-bukti ini sangat tergantung pada representasi, dan (meskipun ini biasanya bahkan tidak disebutkan) seringkali tidak sepele untuk membuat keanggotaan di NP, misalnya lihat cstheory.stackexchange.com/a/5559/109
András Salamon

Jawaban:

16

Sudah bertahun-tahun tetapi posting ini menginspirasi kami untuk menulis makalah yang telah keluar hari ini.

Jawabannya adalah bahwa Queens Completion adalah NP-Complete. Namun untuk pengungkapan penuh harus menyebutkan kami menyelesaikan sedikit varian masalah. Dalam kasus kami set ratu tidak harus menjadi awalan dari set lengkap. Jadi secara teknis kami belum menyelesaikan masalah yang ditanyakan di sini. Namun akan sangat mengejutkan jika versi n Queens Completion dari kueri ini tidak juga NP-Complete.

Saya ingin mengulangi ucapan terima kasih yang kami letakkan di koran untuk Jeffε karena mengajukan pertanyaan ini di sini.

Kompleksitas n Queens Completion Journal dari AI Research Gent, Jefferson, Nightingale doi: 10.1613 / jair.5512 http://www.jair.org/papers/paper5512.html

Ian Gent
sumber
Bagus. Selamat!
Jeffε
n1n
6

(Ini menunjuk pada beberapa hasil terkait. Awalnya saya berpikir bahwa hasil terkait sangat terkait, tetapi saya tidak dapat mengisi kesenjangan dengan cepat, jadi mungkin mereka tidak begitu terkait setelah semua. Mungkin masih membantu.)

Latihan 118 dalam (draft) bagian 7.2.2.2 dari Seni Pemrograman Komputer melihat masalah yang sangat mirip. Dalam solusinya, Knuth memberi kredit pada sebuah artikel yang pada gilirannya memberikan kredit

[2]={0,1}

r,c[2]ma,b[2]2m1

x[2]m×mjxij=riixij=cjixi,si=asixi,d+i=bd+m1

Tidak jelas bagi saya bagaimana mengurangi ini untuk masalah Anda. Satu pengamatan yang mungkin membantu adalah bahwa output dari masalah Anda juga hanya bergantung pada jumlah, bukan pada posisi yang tepat dari ratu. (Lihat Teorema 2.4 dalam [Rivin, Solusi Pemrograman Dinamis untuk Masalah n-Queens, 1992], meskipun mungkin ini mudah dilihat.)

Knuth membuktikan bahwa BOM DIGITAL TOMOGRAPHY adalah NP-complete dengan pengurangan dari BINARY CONTINGENCY PROBLEM. Ini adalah masalah yang sangat mirip, kecuali dalam 3 dimensi, dan tanpa diagonal.

xi,xj,xk[2]n×n

x[2]n×n×nixijk=xijkjxijk=xjikkxijk=xkij

Artikel oleh Gardnera et al. tampaknya mengurangi dari lebih banyak masalah standar NP-complete. Saya tidak mengerti cukup baik reduksi untuk menjelaskannya di sini, jadi saya hanya akan meninggalkan petunjuk dari atas untuk Anda jelajahi jika Anda mau.

Ini semua bisa sia-sia, kecuali ada yang tahu cara mengurangi BINARY DIGITAL TOMOGRAPHY menjadi pertanyaan yang diajukan.

Radu GRIGore
sumber