Ist das halb gefüllte Magic-Square-Problem NP-vollständig?


13

Hier ist das Problem:

Wir haben ein Quadrat mit Zahlen von 1..N in einigen Zellen. Es ist erforderlich, um festzustellen, ob es zu einem magischen Quadrat vervollständigt werden kann.

Beispiele:

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

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

Ist dieses Problem NP-vollständig? Wenn ja, wie kann ich das beweisen?

Crosspost auf MS


2
Nein, um Hilfe zu bitten ist keine schlechte Sache. Ihre Frage muss sich jedoch im Geltungsbereich der Website befinden, die Sie gestellt haben. Ich denke, dass Math SE für diese Frage geeignet ist und TCS SE nicht.
Hsien-Chih Chang 張顯 張顯

5
Wir akzeptieren Fragen zum Nachweis der NP-Härte, insbesondere wenn das Problem schwierig ist. Betrachten Sie beispielsweise die drei hier als Antworten aufgeführten Beispiele: meta.cstheory.stackexchange.com/questions/784/…
Suresh Venkat

6
Wenn es Hausaufgaben sind, erlauben wir es nicht, ob es unethisch ist oder nicht.
Peter Shor

13
@levanovd: Dies ist kein Stackoverflow. Diese Community hat eine explizite Richtlinie, die Fragen zu Hausaufgaben verbietet. Die Tatsache, dass Stackoverflow eine andere Richtlinie hat, spielt hier keine Rolle.
Jeffs

3
Ich kenne keine Lösung und denke nicht, dass dies auf der Ebene der Hausaufgaben liegt. Es könnte mir jedoch etwas Einfaches fehlen. Wenn jemand eine vollständige Lösung kennt und diese Frage für Hausaufgaben hält, sagen Sie es einfach. In der Zwischenzeit gehe ich davon aus, dass diese Frage keine Hausaufgabe ist und dass das [Hausaufgabe] -Tag, das in Math SE und Levanovds früherem Kommentar verwendet wurde, einfach ein Fehler war.
Tsuyoshi Ito

Antworten:


18

Das Ausfüllen eines teilweise ausgefüllten lateinischen Quadrats ist NP-Complete. "Die Komplexität der Vervollständigung von lateinischen Teilquadraten" Charles J. Colbourn. Discrete Applied Mathematics, Band 8, Ausgabe 1, April 1984, Seiten 25-30 http://dx.doi.org/10.1016/0166-218X(84)90075-1

Kann ein lateinisches Quadratproblem durch modulare Arithmetik in ein magisches Quadratproblem umgewandelt werden? Meine Intuition sagt ja, aber der Rest meines Gehirns sagt "Mach dich wieder an die Bewertung!"


2
Es wäre schön, daraus ein strenges Argument zu machen. Mir ist überhaupt nicht klar, inwiefern eine modulare Arithmetik wirklich dazu beitragen würde, die LATEINISCHE QUADRATISCHE VOLLSTÄNDIGKEIT auf die MAGISCHE QUADRATISCHE VOLLSTÄNDIGKEIT zu reduzieren oder umgekehrt. Es wäre ziemlich hübsch, wenn es funktionieren könnte.
András Salamon

9

Diese Frage besteht aus zwei Teilen: Erstens ist das Problem in NP und zweitens ist es NP-schwer?

Für den ersten Teil habe ich eine positive Antwort mit einem nicht offensichtlichen Beweis. (Vielen Dank an Suresh für den Hinweis auf einen früheren Fehler.)


Betrachten Sie den folgenden Weg, um die Frage als Entscheidungsproblem zu formalisieren:

UNBESCHRÄNKTE MAGISCHE QUADRATVOLLSTÄNDIGUNG
Eingabe: positive ganze Zahl in einer unären Liste von ganzen Zahlen mit ihren Positionen in einem Raster von n mal n Frage: Gibt es für die verbleibenden Positionen im Raster ganze Zahlen, so dass die Anordnung ein magisches Quadrat bildet ?nnn

Wenn wir die Einschränkung hinzufügen, dass jede der ganzen Zahlen genau einmal im magischen Quadrat vorkommen muss, dann liegt das resultierende Entscheidungsproblem für MAGIC SQUARE COMPLETION offensichtlich in NP. Die Definition eines magischen Quadrats in der Encyclopædia Britannica von 1911 nach Euler unterliegt dieser Einschränkung. Der Wikipedia-Artikel verwendet dagegen derzeit die Terminologie "normales magisches Quadrat" und reserviert "magisches Quadrat" für die uneingeschränkte Version.1,2,,n2

Mit einer von n Gittern, mindestens n Zahlen muss angegeben werden, da sonst die Antwort triviale „JA“ für die uneingeschränkte Version. Es kann daher angenommen werden, dass die Größe des Eingangs in diesem Fall mehr als n Bits erfordert . Für die normale Version ist es möglich, dass es Eingaben gibt, die wenige Bits erfordern, aber keine Lösung haben. Um solche Komplikationen zu vermeiden, habe ich angegeben, dass n unär ist.nnnnn

Das Argument verwendet eine Grenze für die mögliche Größe von Ganzzahlen, die in Lösungen angezeigt werden. Im Normalfall ist diese Schranke offensichtlich , aber im allgemeinen Fall ist es nicht a priori offensichtlich, dass eine solche Schranke existiert. Es stellt sich heraus, dass eine Exponentialgrenze existiert.n2

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

Dies erschien auch als Satz 4.7 in:

2n2n1

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

2n1

Dies ergibt folgendes:

N2O(N2)

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

n


Anhand von Papadimitrious Lösungsbindung für eine Instanz von INTEGER LINEAR PROGRAMMING kann auch gezeigt werden, dass die Version, in der die Zahlen alle nicht negativ sein müssen, ebenfalls in NP ist.

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

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

  • Christos H. Papadimitriou, Zur Komplexität der Ganzzahlprogrammierung , JACM 28, 765–768, 1981. ( Link )

Ich glaube, ich bin verwirrt. Wenn es eine Poly-Grenze für die Größe der Antworten gibt, haben wir garantiert eine Vermutung, die in polynomieller Zeit gelesen und verifiziert werden kann.
Suresh Venkat

@Suresh: Entschuldigung für die Fehler, diese Antwort war etwas schwieriger aufzuschreiben als ich erwartet hatte.
András Salamon
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.