


Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
- ALGORITMO DEL BACKTRAKING GENERALE - ALGORITMO GENERALE - COLORAZIONE DI UNA MAPPA - PROBLEMA DELLE CRICCHE DI CARDINALITA’ K
Tipologia: Appunti
1 / 4
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!



E’ una tecnica che estende la tecnica di forza bruta (ricerca esaustiva) attraverso l’introduzione di alcuni controlli per verificare se la soluzione corrente è ammissibile ,ciò consente di ridurre lo spazio di ricerca. Nel caso peggiore tale tecnica ricade nella stessa complessità di una tecnica di forza bruta,in generale la complessità è sempre esponenziale.Una tipologia di problemi che possono essere facilmente risolvibili tramite questa tecnica sono i problemi riguardanti l’assegnazione di un valore, preso da un dominio, a ciascuno degli elementi di una soluzione. Al contrario del metodo di forza bruta, che effettua il controllo di ammissibilità solo quando l’ipotetica soluzione viene creata, la tecnica del BACKTRACKING verifica l’ammissibilità ogni qual volta viene inserito un elemento all’interno della soluzione. Per poter applicare la tecnica del Backtracking ad un problema devono valere le seguenti condizioni : Lo spazio delle soluzioni deve essere finito (l’insieme delle possibili configurazioni da verificare deve essere finito) La soluzione può essere rappresentata tramite una sequenza di soluzioni parziali s1, s2, ..., sn La dimensione (massima) della soluzione – n – è nota a priori Il valore di ciascuna sotto-soluzione si deve appartenere ad un insieme finito di valori
In questi due schemi, basta implementare le funzioni canAdd, add, remove, next e isComplete per come richiesto dalla formulazione del problema per poter realizzare una tecnica di backtracking.
L’idea è quella di andare ad utilizzare una successione di scelte parziali, verificando man mano l’ammissibilità del problema. Quando l’algoritmo si accorge che la soluzione non è ammissibile, esso torna indietro per ritrovare soluzioni alternative.
Input: Si suppone che la mappa sia rappresentata da una matrice di booleani G in cui ciascuna riga/colonna rappresenta un paese, e G[i,j]=true indica che i paesi i e j sono confinanti.Modelliamo i colori con un enum colors {Rosso=1, Verde, Blu} ; e quindi MIN_VAL=1 e MAX_VAL=3.La soluzione sol è quindi una lista di numeri (es. sol={1,2,1,3,2,3}) in cui sol[i] rappresenta il colore del paese i.
o Array di bool