37
Des problèmes “difficiles” François Schwarzentruber ENS Cachan – Antenne de Bretagne

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

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Autre manière de voir les choses

et ou ou non

non et et

ou ou non

1