![Page 1: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/1.jpg)
Des problèmes “difficiles”
François SchwarzentruberENS Cachan – Antenne de Bretagne
![Page 2: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/2.jpg)
Problème indécidable
Tester si un programme
s'arrête
OUIProcédure truc()
Pendant que 1 = 1
x := 1
pub : cours de logique et calculabilité
![Page 3: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/3.jpg)
Problème de décision
Trouver un cyclehamiltonien OUI
![Page 4: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/4.jpg)
Besoin de classer
Plus court chemin
Sudoku
Couvertured'ensembles
Coloriage d'un graphe
DémineurPlus long chemin
Arbre couvrantminimal
Trier une liste
Trier une liste
Trouver un cycleeulérien
Trouver un cyclehamiltonien
Tester si un nombre est premier
Tester l'arrêt d'un programme
![Page 5: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/5.jpg)
Besoin de classer les problèmes
Savoir quand :● s'attendre à un temps de réponse long● un algorithme approximatif (glouton ?)● une réduction...
![Page 6: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/6.jpg)
Problème décidable
Tester si un nombre est premier
19 OUI
![Page 7: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/7.jpg)
Plan du cours● Définir un classement des problèmes
● Définitions intuitives● Machines de Turing pour définir P et NP● Réduction pour définir la difficulté
● Le pouvoir de la logique propositionnelle● Introduction à la logique● La puissance du problème SAT
● Des réductions pour montrer la NP-compéltude
![Page 8: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/8.jpg)
Trouver un cycleeulérien
Un problème facile
NON
![Page 9: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/9.jpg)
Un problème qui semble “difficile”
Trouver un cyclehamiltonien OUI
Les seuls algorithmes qu'on connaisse...● pire cas en temps exponentiel
2100
![Page 10: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/10.jpg)
Thèse de Cobham-Edmonds
problème polynomial= facilement résoluble
n1000000 ?
algorithmedu simplexe ?
![Page 11: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/11.jpg)
Un problème qui a l'air ''difficile''
Trouver un cyclehamiltonien
b c
a
d
OUI
![Page 12: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/12.jpg)
Deviner et tester
Je devineune solution
b c
a
d
b c
a
d
Je teste sima solutionest correcte
OUI
non-déterminisme
en temps polynomial
NP
![Page 13: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/13.jpg)
Un problème de décision~ un langage
Tester si un nombre est premier
9479 OUI
pub : cours de langage formel
![Page 14: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/14.jpg)
Un problème de décision~ un langage
Trouver un cyclehamiltonien
b c
a
d
OUI
“a(b)b(d)c(ab)d(c)”
![Page 15: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/15.jpg)
Besoin : parler d'algo formellement... machine de Turing
Je lis 1J'écris 2Je me déplace vers la droite
Je lis 3J'écris 0Je reste sur place
0 1 2 1 2
pub : cours de logique et calculabilité ALGO2, CVFP
![Page 16: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/16.jpg)
Je lis 1J'écris 2Je me déplace vers la droite
Je lis 1J'écris 0Je reste sur place
0 1 2 1 2
pub : cours de logique et calculabilité ALGO2, CVFP
Machine de Turing non déterministe
![Page 17: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/17.jpg)
Thèse de Church
machine de Turing= ordinateur (non borné)
#?!#
#?!#
![Page 18: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/18.jpg)
NP
Problème ouvert
P = NP
P
MillenniumPrize
Problems
indécidable...
![Page 19: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/19.jpg)
Réduction... flashback...
Flot
Programmation linéaireTraduction :
Max f12 + f13f12 < 3f13..
![Page 20: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/20.jpg)
Réduction pour définir la difficulté
N'importe quel problème NP
ProblèmeNP-durTraduction
OUI/NON
![Page 21: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/21.jpg)
Conclusion
P
NP
NP-complet
![Page 22: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/22.jpg)
Le pouvoir de la logique propositionnelle
![Page 23: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/23.jpg)
Logique propositionnelle
pub : cours de logique et calculabilité !
((p ou q) → r) et (non r) et p
![Page 24: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/24.jpg)
Le problème SAT
SAT OUI,la formuleest satisfiable
((p et q) → r) et (non r) et p
![Page 25: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/25.jpg)
Pourquoi parler de logique ?
SAT
![Page 26: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/26.jpg)
N'importe quel problème NP
Théorème de Cook :SAT est NP-dur
LogiquepropositionnelleTraduction
OUI/NON
![Page 27: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/27.jpg)
SAT encode une machine de Turing non-déterministe
Je lis 1J'écris 2Je me déplacevers la droite
Je lis 1J'écris 0Je vaisà droite
1 1 2 1 2
0 1 2 1 2
4 1 2 1 2
4 1 3 1 2
4 2 3 1 2
![Page 28: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/28.jpg)
Réductions pour montrer la difficulté
SAT
...Traduction
OUI/NON
![Page 29: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/29.jpg)
Variante plus fine : 3-CNF-SAT
SAT
3-CNF-SATTraduction
OUI/NON
![Page 30: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/30.jpg)
Problème de l'ensemble indépendant
ENSEMBLEINDEPENDANT OUI,
il y a un k-ensindépendant
k = 2
![Page 31: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/31.jpg)
ENS INDEPENDANT est dans NP
Je devineune solution
Je teste sima solutionest correcte
OUI
non-déterminisme
en temps polynomial
NP
![Page 32: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/32.jpg)
ENS INDEPENDANT est NP-dur ?
ENSEMBLEINDEPENDANT OUI,
il y a un k-ensindépendant
k = 2
![Page 33: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/33.jpg)
3-CNF-SAT
ENSINDEPENDANT est NP-dur ?
ENSINDEP
traduction
(p ou q ou r)et(p ou (non q))et ... OUI
![Page 34: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/34.jpg)
Problème de la clique
clique OUI,il y a une k-clique
k = 3
![Page 35: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/35.jpg)
Réduction !
ENS INDEP
CLIQUEtraduction
OUI
![Page 36: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/36.jpg)
A Rennes...
Algorithmique
Logique
Calculabilité
Optimisation
Agrégation
Crypto
Conception
Vérification
Programmation
![Page 37: Des problèmes “difficiles”people.irisa.fr/Francois.Schwarzentruber/mit1_algo1_2011/12/trans... · La puissance du problème SAT Des réductions pour montrer la NP-compéltude](https://reader037.vdocuments.site/reader037/viewer/2022090607/605ce5d944b6ff70b2730c0c/html5/thumbnails/37.jpg)
Autre manière de voir les choses
et ou ou non
non et et
ou ou non
1