Modélisation SAT
Les documents de ce cours ont été rédigés par
Emmanuel Filiot,
Albert Oliveras et
Enric Rodriguez-Carbonell.
Cours
- Le problème SAT, Wikipedia
Fr et
En
- L'algorithme DPLL pour résoudre SAT
- Un premier exemple de modélisation SAT : le problème du pigeonnier
(pour en savoir plus : le principe des tiroirs).
Remarque : outre l'intérêt pédagogique de la modélisation SAT du problème du pigeonnier, son intérêt pratique
est de pousser les solveurs SAT basés sur DPLL (qui sont actuellement les plus efficaces en général)
dans leurs derniers retranchements.
- Tutoriel sur les solveurs SAT et le format DIMACS
- Quelques modèles Dimacs à tester avec un solveur SAT :
- Ecrire un programme (Python, Shell, Java ou autre) qui génère le fichier DIMACS correspondant au problème
P(m,n)
- Constater que trouver une solution pour
P(m,m)
est rapide même pour des valeurs de m élevées
alors que montrer qu'il n'y a pas de solution pour P(m+1,m)
est exponentiel en m
.
Exercices
Autres modélisations SAT à coder :
- Coloriage de cartes : intro, modélisation
- Les 8 reines
- Le Sudoku
- La planification