Sulla pagina di Wikipedia qui descrive abbastanza bene l'algoritmo CDCL (e sembra che le foto siano state prese da diapositive create da Sharad Malik a Princeton). Tuttavia, quando si descrive come tornare indietro tutto ciò che dice è "al punto appropriato". MiniSAT utilizza anche una variante dell'algoritmo CDCL, quindi ho letto questo documento. Quello che sembrano dire è che dovresti tornare indietro fino a quando la clausola appresa non è una clausola unitaria. Questo è certamente un chiarimento, ma non ha senso per me. L'ultimo incarico farà sicuramente parte della clausola sul conflitto appreso per quanto posso dire (forse qui ho torto?) Quindi quando fai un passo indietro di un passo, farai immediatamente l'unità della clausola appresa, l'ultimo valore assegnato cambierà, e l'algoritmo procederà esattamente come DPLL senza mai tornare indietro sufficientemente lontano. Inoltre la pagina di Wikipedia non segue questa regola, fa un passo indietro molto più che sembra desiderabile.
Quanto lontano si dovrebbe tornare indietro?