Des problèmes...

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

Transcript of Des problèmes...

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