Чи заповнена наполовину заповнена проблема магічного квадрата NP?


13

Ось проблема:

У нас є квадрат з деякими числами від 1..N в деяких клітинках. Потрібно визначити, чи можна її завершити до чарівного квадрата.

Приклади:

2 _ 6       2 7 6
_ 5 1  >>>  9 5 1
4 3 _       4 3 8

7 _ _ 
9 _ _  >>>  NO SOLUTION 
8 _ _

Чи не завершена ця проблема NP? Якщо так, то як я можу це довести?

Перехрестя на МС


2
Ні, просити допомоги - це не погано. Але ваше запитання має бути в межах веб-сайту, про який ви запитували. Я думаю, що Math SE підходить для цього питання, а TCS SE - ні.
Сісен-Чі Чанг 21 之

5
Ми приймаємо питання щодо підтвердження твердості NP, особливо коли проблема є складною. Наприклад, розгляньте три приклади, перелічені тут як відповіді: meta.cstheory.stackexchange.com/questions/784/…
Суреш Венкат

6
Якщо це домашнє завдання, ми не допускаємо цього, незалежно від того, чи це неетично.
Пітер Шор

13
@levanovd: Це не stackoverflow. Ця спільнота має чітку політику, яка забороняє питання домашнього завдання. Те, що stackoverflow має іншу політику, тут не має значення.
Джефф

3
Я не знаю рішення і не думаю, що це на рівні домашніх завдань. Однак мені може не вистачити чогось простого. Тому, якщо хтось знає повне рішення і вважає, що це питання є рівним домашнім завданням, будь ласка, просто скажіть так. Тим часом я припускаю, що це питання не є домашнім завданням, і тег [домашнє завдання], який використовується в Math SE та попередній коментар levanovd, були просто помилками.
Цуйосі Іто

Відповіді:


18

Заповнення частково заповненого латинського квадрата є NP-Complete. "Складність заповнення часткових латинських квадратів" Чарльз Дж. Колбурн. Дискретна прикладна математика, Том 8, Випуск 1, квітень 1984, Сторінки 25-30 http://dx.doi.org/10.1016/0166-218X(84)90075-1

Чи можна задачу латинського квадрата перетворити на магічну задачу квадрата за допомогою модульної арифметики? Моя інтуїція говорить так, але решта мого мозку говорить "Поверніться до оцінки!"


2
Було б непогано перетворити це на суворий аргумент. Мені зовсім не зрозуміло, як би модульна арифметика справді допомогла зменшити ВЗАЄМНІСТЬ МОТИЧНОГО КВАРТУ до МАГІЧНОГО ЗАКЛЮЧЕННЯ, або навпаки. Було б досить симпатично, якби це можна було змусити працювати.
Андраш Саламон

9

Це запитання має дві частини: по-перше, чи є проблема в НП, а по-друге, чи це НП-важко?

У першій частині я маю позитивну відповідь з неочевидним доказом. (Дякуємо Сурешу за вказівку на попередню помилку.)


Розглянемо наступний спосіб формалізувати питання як проблему вирішення:


nnn

1,2,,n2

nnnnn

n2

xi=1xi=xj+xki,j,k{1,2,,n}xi5n1

Це також з'явилося як теорема 4.7 у:

2n2n1

xi=1xi=xj+xki,j,k{1,2,,n}xi2n

2n1

Це дає наступне:

N2O(N2)

O(N4)O(N8)n2+2(n+1)(n2)+1=3n22n3n2mO(m2)

n


Використовуючи прив’язаний Пападімітріу до рішень екземпляра INTEGER LINEAR PROGRAMMING, можна також показати, що версія, де всі числа повинні бути негативними, також знаходиться в NP.

Ar×sbr{a,a+1,,a1,a}Ax=b{0,1,,s(ra)2r+1}

a=1s=n2+1r=2n+2

  • Крістос Х. Пападімітріу, Про складність цілого програмування , JACM 28 765–768, 1981. ( посилання )

Я думаю, я розгублений. якщо на величину відповідей є багатозначна політика, то у нас гарантовано є здогад, який можна прочитати та перевірити за полиномним часом.
Суреш Венкат

@Suresh: Вибачте за помилки, цю відповідь виписати було трохи важче, ніж я очікував.
Андраш Саламон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.