Il classico problema -queens chiede, dato un numero intero positivo , se esiste un array di numeri interi che soddisfa le seguenti condizioni:n Q [ 1 .. n ]
- i per tutti
- per tutti
- per tutti
- per tutti
Ogni numero intero rappresenta la posizione di una regina sulla riga di una scacchiera ; i vincoli codificano il requisito che nessuna regina attacca un'altra regina. È facile dimostrare che non esistono soluzioni quando o e le soluzioni in forma chiusa sono note per tutti gli altri valori di . Quindi, come problema decisionale , il problema -queens è completamente banale.i n × n n = 2 n = 3 n
L'algoritmo standard di backtracking per la costruzione di una soluzione -queens posiziona speculativamente le regine su un prefisso delle righe e quindi determina ricorsivamente se esiste un posizionamento legale delle regine sulle restanti righe. Il sottoproblema ricorsivo può essere formalizzato come segue:
- Dato un numero intero e una matrice di numeri interi, è un prefisso di una matrice che descrive una soluzione al problema -queens?
Questo problema decisionale più generale è NP-difficile?
È noto che molte domande vicine sono NP-hard, tra cui il completamento del quadrato latino [ Colbourn 1984 ], il completamento del Sudoku [ Yato e Seta 2002 ] e una diversa generalizzazione di -queens [ Martin 2007 ], ma questa domanda specifica sembra essere sfuggita qualsiasi seria attenzione.
Domande cstheory.se correlate: