Torna alla Home Page del corso    Torna alla pagina degli Elaborati    Precedente    Successiva
 
 
BACKTRACKING E CSP
 

CSP: L’ESEMPIO DELLE N-REGINE.
Il Constraint Satisfaction Problem (CSP) è un paradigma semplice e potente, con il quale possono essere formulati numerosi problemi. A livello informale, il concetto fondamentale del ragionamento basato sui vincoli è quello di constraint network, definito da un insieme di variabili, un dominio di valori per ogni variabile ed un insieme di vincoli tra le variabili. Risolvere un constraint network significa trovare un assegnamento di valori per ogni variabile, in modo tale che tutti i vincoli siano soddisfatti. Il problema delle n-regine può essere formulato in CSP:

In figura sono visualizzate due istanze del problema delle 4-regine; con la lettera Q sono indicate le regine disposte sulla scacchiera, mentre le posizioni in grigio sono quelle in cui non possono essere poste altre regine perché potrebbero venire attaccate dalle regine già disposte. Ad esempio {(x1, 4)} indica che nella colonna 1 è stata messa la regina alla riga 4, e questo implica che saranno vietate per le altre regine le posizioni {(x2, 4), (x3, 4), (x4, 4)} (perché sono sulla stessa riga) e {(x2, 3), (x3, 2), (x4, 1)} (perché sono sulla stessa diagonale): le caselle colorate indicano proprio le posizioni vietate. Nell’istanza di destra la tupla {(x1, 2), (x2, 4), (x3, 1), (x4, 3)} (o, più semplicemente (2,4,1,3)) è una soluzione completa: è facile verificare che nessuna regina può essere attaccata dalle altre.
Come viene applicato il backtracking al problema delle n-regine così formulato?
 

Precedente    Successiva