Этот вопрос состоит из двух частей: во-первых, проблема в NP, и во-вторых, сложность в NP?
Для первой части у меня есть положительный ответ с неочевидным доказательством. (Спасибо Сурешу за указание на более раннюю ошибку.)
Рассмотрим следующий способ формализации вопроса как решения проблемы:
НЕОГРАНИЧЕННОЕ ЗАВЕРШЕНИЕ ВОЛШЕБНОГО КВАДРАТА
Входные данные: положительное целое число заданное в унарном порядке, список целых чисел с их позициями в сетке n на n Вопрос: существуют ли целые числа для оставшихся позиций в сетке, так что расположение образует магический квадрат ?NNN
Если мы добавим ограничение, что каждое из целых чисел должно произойти ровно один раз в магическом квадрате, то результирующая проблема решения MAGIC SQUARE COMPLETION, очевидно, находится в NP. Определение магического квадрата в 1911 Британской энциклопедии , после Эйлера , имеет это ограничение; в отличие от этого, статья в Википедии в настоящее время использует терминологию «нормальный магический квадрат» и резервирует «магический квадрат» для неограниченной версии.1 , 2 , … , n2
С по п сетке, по крайней мере , п число должно быть задано, в противном случае ответ тривиальный «YES» для неограниченной версии. Следовательно, можно предположить, что в этом случае размер входных данных требует более n бит. Для нормальной версии возможно, что есть входы, которые требуют нескольких битов, но не имеют решения; Чтобы избежать таких осложнений, я указал, что n дано в одинарном.NNNNN
Аргумент использует ограничение на возможный размер целых чисел, которые появляются в решениях. В нормальном случае эта оценка, очевидно, равна , но в общем случае априори не очевидно, что такая граница существует. Оказывается, существует экспоненциальная оценка.N2
Теорема ( Tyszka, теорема 12 ): любая система диофантовых уравнений, включающая уравнения вида и x i = x j + x k , для i , j , k ∈ { 1 , 2 , … , n } , либо не имеет целочисленного решения или имеет решение, в котором каждый x i является целым числом и не более √Икся= 1Икся= хJ+ хКi , j , k ∈ { 1 , 2 , … , n }Иксяпо абсолютной величине.5-√n - 1
Это также появилось как теорема 4.7 в:
2n2n−1
xi=1xi=xj+xki,j,k∈{1,2,…,n}xi2n
2n−1
Это дает следующее:
N2O(N2)
O(N4)O(N8)n2+ 2 ( n + 1 ) ( n - 2 ) + 1 = 3n2- 2 n - 3п - 2мO ( м2)
N
Используя ограничение Пападимитриу на решения экземпляра INTEGER LINEAR PROGRAMMING, можно также показать, что версия, где все числа должны быть неотрицательными, также есть в NP.
AR × Sбр{ - a , - a + 1 , … , a - 1 , a }, Тогда еслиA x = b имеет решение в неотрицательных целых числах, оно также имеет решение, в котором каждый компонент находится в { 0 , 1 , … , s ( r a )2 r + 1},
Ограничения, образующие магический квадрат, могут быть выражены в виде линейной программы с использованием а = 1, с s = n2+ 1 переменные и г = 2 н + 2неравенства. Это дает несколько большую границу, чем граница выше, где допустимы отрицательные числа, но сертификат по-прежнему имеет полиномиальный размер. (Спасибо Тони Тану за указание на результат Пападимитриу.)
- Христос Х. Пападимитриу, О сложности целочисленного программирования , JACM 28 765–768, 1981. ( ссылка )