Das klassische -queens-Problem fragt bei einer positiven ganzen Zahl n , ob es ein Array Q [ 1 .. n ] von ganzen Zahlen gibt, das die folgenden Bedingungen erfüllt:
- für alle i
- für alle i ≠ j
- für alle i ≠ j
- für alle i ≠ j
Jede ganze Zahl repräsentiert die Position einer Dame in der i- ten Reihe eines n × n- Schachbretts; Die Einschränkungen kodieren die Anforderung, dass keine Königin eine andere Königin angreift. Es ist leicht zu beweisen, dass es keine Lösungen gibt, wenn n = 2 oder n = 3 ist , und Lösungen in geschlossener Form sind für alle anderen Werte von n bekannt . Als Entscheidungsproblem ist das n- Quentchen-Problem also völlig trivial.
Der Standard - Backtracking - Algorithmus für den Aufbau einer -queens Lösung spekulativ legt Königinnen auf einem Präfix der Zeilen und bestimmt dann rekursiv , ob es eine rechtliche Anordnung der Königinnen auf den verbleibenden Reihen ist. Das rekursive Teilproblem kann wie folgt formalisiert werden:
- Gegeben eine ganze Zahl und eine Anordnung P [ 1 .. k ] von ganzen Zahlen ist P ein Präfix eines Arrays Q [ 1 .. n ] , die eine Lösung der beschreibt , n -queens Problem?
Ist das allgemeinere Entscheidungsproblem NP-schwer?
Verwandte Fragen zu cstheory.se: