Pertanyaan ini memiliki dua bagian: pertama, apakah masalah dalam NP, dan kedua, apakah NP-keras?
Untuk bagian pertama, saya punya jawaban positif dengan bukti yang tidak jelas. (Terima kasih kepada Suresh karena menunjukkan kesalahan sebelumnya.)
Pertimbangkan cara berikut untuk memformalkan pertanyaan sebagai masalah keputusan:
TERIKAT MAGIC KOTAK PENYELESAIAN
Input: bilangan bulat positif diberikan dalam unary, daftar bilangan bulat dengan posisi mereka dalam n oleh n jaringan Pertanyaan: lakukan di sana ada bilangan bulat untuk posisi yang tersisa di grid, sehingga bentuk-bentuk pengaturan sebuah sihir persegi ?nnn
Jika kita menambahkan batasan bahwa masing-masing bilangan bulat harus terjadi tepat sekali di kotak ajaib, maka masalah keputusan penyelesaian MAGIC SQUARE COMPLETION jelas dalam NP. The definisi sihir persegi di 1911 Encyclopædia Britannica , berikut Euler1,2,…,n2 , memiliki pembatasan ini; Sebaliknya, artikel Wikipedia saat ini menggunakan terminologi "kotak ajaib normal" dan cadangan "kotak ajaib" untuk versi tidak terbatas.
Dengan oleh n grid, setidaknya n nomor harus diberikan, jika jawabannya adalah sepele "YES" untuk versi terbatas. Karena itu ukuran input dapat diasumsikan membutuhkan lebih dari n bit dalam kasus ini. Untuk versi normal, ada kemungkinan bahwa ada input yang memerlukan beberapa bit tetapi tidak memiliki solusi; untuk menghindari komplikasi seperti itu saya telah menetapkan bahwa n diberikan dalam unary.nnnnn
Argumen ini menggunakan batasan pada kemungkinan ukuran bilangan bulat yang muncul dalam solusi. Dalam kasus normal, ikatan ini jelas , tetapi dalam kasus umum tidak jelas apriori bahwa ikatan seperti itu ada. Ternyata ada ikatan eksponensial.n2
Teorema ( Tyszka, Teorema 12 ): Setiap sistem persamaan Diophantine yang melibatkan persamaan bentuk dan x i = x j + x k , untuk i , j , k ∈ { 1 , 2 , … , n } , baik tidak memiliki solusi integer, atau memiliki solusi di mana setiap x i adalah integer dan paling banyak √xi=1xi=xj+xki,j,k∈{1,2,…,n}xidalam nilai absolut.5–√n−1
Ini juga muncul sebagai Teorema 4.7 dalam:
2n2n−1
xi=1xi=xj+xki,j,k∈{1,2,…,n}xi2n
2n−1
Ini menghasilkan sebagai berikut:
N2O(N2)
O(N4)O(N8)n2+2(n+1)(n−2)+1=3n2−2n−3n−2 variables for partial sums for each row, column, and diagonal and a grand total variable linking these together. Beyond the magic square itself, a further polynomial number of variables is required for the numbers in the square: a number requiring m bits can be represented by using O(m2) intermediate variables.
For the second part of the question, as far as I can tell either version of MAGIC SQUARE COMPLETION should be NP-hard, but I do not have reductions. It is worth noting that there are procedures to construct normal magic squares of arbitrarily large size; moreover, the number of normal magic squares seems to grow superpolynomially with n (see OEIS A006052) so the underlying language does not seem to be sparse.
Using Papadimitriou's bound on the solutions of an instance of INTEGER LINEAR PROGRAMMING, one can also show that the version where the numbers must all be non-negative is also in NP.
Theorem (Papadimitriou): Let A be an r×s matrix and b an r-vector, both with entries from {−a,−a+1,…,a−1,a}. Then if Ax=b has a solution in non-negative integers, it also has one where every component is in {0,1,…,s(ra)2r+1}.
The constraints forming the magic square can be expressed as a linear program using a=1, with s=n2+1 variables and r=2n+2 inequalities. This yields a somewhat larger bound than the bound above where negative numbers are allowed, but the certificate is still of polynomial size. (Thanks to Tony Tan for pointing out the result of Papadimitriou.)
- Christos H. Papadimitriou, On the complexity of integer programming, JACM 28 765–768, 1981. (link)