En casos satisfactorios de , los solucionadores SAT basados en DPLL proporcionarán una asignación satisfactoria en tiempo lineal.PAGHPAG
Para ver por qué, observe cómo la codificación CNF de una instancia insatisfactoria de con n agujeros y n + 1 palomas es sintacticamente idéntica a una instancia de k = n Graph Coloring, donde el gráfico de entrada es una camarilla de n + 1 vértices .PAGHPAGnorten + 1k = nn + 1
De manera similar, la codificación CNF de una instancia satisfactoria de con n agujeros y n palomas es sintacticamente idéntica a una instancia de k = n Graph Coloring, donde el gráfico de entrada es una camarilla de n vértices.PAGHPAGnortenortek = nnorte
Ahora, colorear una camarilla de vértices con n colores es sencillo: escanee los vértices y asigne a cada uno de ellos uno de los colores restantes (los colores ya asignados se descartan automáticamente por la cadencia del gráfico, utilizando la propagación unitaria) . Cualquiera que sea el color restante que elija, será bueno y lo llevará a una tarea satisfactoria.nortenorte
Desde el punto de vista del solucionador DPLL: cada vez que intente adivinar el valor booleano de una variable , dicho valor será correcto (sea lo que sea), porque ciertamente habrá una asignación satisfactoria en la que la variable v i tiene el valor adivinado La propagación de la unidad hará el resto del trabajo, guiando al solucionador a lo largo del camino satisfactorio (en otras palabras: evitando que adivine valores incorrectos).vyovyo
La búsqueda luego continúa una variable después de la otra, linealmente, cada vez haciendo la suposición correcta.