P=NP - LRI

publicité
Algorithmique et Complexité
Michel de Rougemont
Université Paris II et LRI
[email protected]
http://www.lri.fr/~mdr
1. Qu’est ce qu’un algorithme?
Complexité d’un algorithme.
2. P=NP et classes de complexité.
3. Approximations.
4. Modèles de calcul.
Sens et dénotation.
d'Alembert
17 Novembre 2003
1
Algorithmique et Complexité
• Existe-t-il un algorithme pour résoudre
un problème?
• Quelles sont les propriétés d’un
algorithme A?
• Propriétes de Complexité
– Complexité en Temps (Espace)
T(x) = #Etapes élémentaires sur x
T(n)Max
T( x )
x n
A est Polynomial si
T(n)  c.n k
– Kolmogorov : Taille du plus petit
programme. (Mesure qui peut être
contradictoire avec la complexité en temps)
• Existe-t-il un algorithme polynomial,
O(n), O(log n)….?
d'Alembert
17 Novembre 2003
2
Algorithmique
Al-Khowarizmi (800)
Qu’est ce qu’une fonction calculable?
Fonction récursive (1936)
Thèse de Church
Indécidabilité et
Incomplétude de Gödel
Machine de
Turing
d'Alembert
Machine Universelle de
17 Novembre 2003
Kleene
3
Fonctions calculables
f :N N
Il existe des fonctions non calculables.
f(n)1 si "formule n est vraie" , sinon 0
f(n)1 si Pn(n), sinon 0
Il existe une hiérarchie de problèmes
indécidables.
Hiérarchie arithmétique
r.e.
Co-r.e
recursif
Définissable
d'Alembert
17 Novembre 2003
4
Algorithmique et informatique
• Fonction récursive Universelle
F(e,x) fe (x)
• Algorithme vs. Programme
• Propriétés d’algorithmes et de
programmes.
c.x
– Programmation Linéaire. Max
A.x b
P depuis 1980
Simplex, analysé depuis 2001
– Primalité : P depuis 2002
– Factoriser : ?
– Equilibre de Nash : ?
d'Alembert
17 Novembre 2003
5
Complexité
Classe P. Une fonction est P-calculable s’il existe
un algorithme dont le nombre d’étapes élémentaires
sur une entrée de taille n est toujours borné par n k
.
Classe NP. Un problème est NP s’il existe un
algorithme polynomial pour toujours vérifier une
solution.
Problème NP-complet. Un problème A est NPcomplet s’il est NP et pour tout problème B dans NP
il existe une fonction f, P-calculable t.q. pour tout x
B(x) ssi A(f(x))
S. Cook 72
R. Karp 73
P=NP ?
No 7 des problèmes mathématiques pour le XXI s.
d'Alembert
17 Novembre 2003
6
Algèbre linéaire
1. Fonctions classiques sur des matrices entières
f1(A)A1
f2(A)det(A)
f3(A) permanent (A) ni1a i,(i)
Max c.x
A.x b
Max Cut(A)
 
A 13 2
4
2. Optimisation
1
2
3
3. Problèmes NP
MaxCut(A, k)
f4(A1,A2) si A1 A2, alors 1 sinon 0
4. Problèmes coNP
f5(A1,A2) si A1 A2, alors 0 sinon 1
d'Alembert
17 Novembre 2003
7
4
Hiérachie polynomiale
Permanent
Maxcut
coNP
NP
Iso
Factoriser
P
Non-Iso
Det, Inversion, Primalité
d'Alembert
17 Novembre 2003
8
Programmation linéaire : PL
• Simplex
• NP-complétude en nombre entier
– Non approximation (1990)
• Efficacité moyenne du simplex
PL(A,b,c,k): comment decider si c.x < k ?
1. k < Max
: trouver une solution x
2. k > Max
: trouver une solution du Dual
Principe MinMax
PLNPcoNP
PL est P-calculable. (1980)
Ellipsoid (Points-intérieurs)
d'Alembert
17 Novembre 2003
9
Analyse du Simplex
D. Spielman, M.I.T., 2001
• Simplex peut être exponentiel.
• Simplex EST polynomial pour la
complexité de lissage.
• Application pratique: modifier
aléatoirement la matrice A, et
l’algorithme converge plus vite.
d'Alembert
17 Novembre 2003
10
Approximation
Calcul probabiliste
Définition: f  BPP
s’il existe un algorithme
probabiliste A tel que :
t
1. Si f(x)=1, Prob[ A accepte] > 2/3
2. Si f(x)=0, Prob[ A rejette ] > 2/3
Probabilité d’erreur
1/3 ou 1/100 ou 1-10-10 ou 1-1/n k
d'Alembert
17 Novembre 2003
11
Hasard et algorithme
Jeu de Mikado
t
t
s
s
1 paquet
d'Alembert
2 paquets
17 Novembre 2003
12
Marche aléatoire : espace log n
sur un graphe symétrique à n sommets
c
e
s
c
d
s
d
e
b
b
Au départ du sommet s, 2 tirages
00
01
10
11
vers c
vers d
vers e
vers b
Pas de « preuve » d’un chemin entre s et t.
d'Alembert
17 Novembre 2003
13
Analyse d’une marche
aléatoire
Cas 1. Connexe.
Après 3.n 2 étapes
Pr [erreur] <1/3
s
La marche
arrive à t.
Cas 2. Non-Connexe.
Après 3.n 2
Pr [erreur] =0
d'Alembert
17 Novembre 2003
s
14
Calcul et hasard
•Espace Logarithmique
•s-t Connexité
•Temps polynomial probabiliste
(classe BPP, Machine de Turing probabiliste)
•Permanent est approximable
(Jerrum, Sinclair 1999, marche
aléatoire à mélange rapide)
•Factorisation reste difficile
•Temps polynomial quantique
•Factorisation est facile (Shor, 1996)
d'Alembert
17 Novembre 2003
15
Approximation
1. Fonctions
f g if 
f(x) g(x) f(x)
f g if 
f(x)(1 ) g(x) f(x)(1)
•
A approxime
f si  ,
Prob [f(x)(1 )  A(x) f(x)(1)]1
2. Relations
RS
Dist (R,S) = # x : R(x)S(x)
arité(R)
R S if Dist(R,S) < .n
d'Alembert
17 Novembre 2003
16
Maxcut
1. Problème NP-complet
2. Problème de Maximisation
3. Approximable en temps polynomial
Coupe de taille 9
d'Alembert
17 Novembre 2003
17
Approximation de Maxcut
Principe général pour une large classe de problèmes:
1. Sous-graphe aléatoire
2. Evaluer Maxcut sur le sous-graphe
3. Combiner les estimations
Sous-graphe aléatoire
d'Alembert
17 Novembre 2003
18
Hasard et Hiérarchie
polynomiale
P étendu à BPP
NP étendu à IP
IP
Perm
Maxcut
coNP
NP
BPP
Factorisation
P
Non-Iso
d'Alembert
17 Novembre 2003
19
Modèles de Calcul
1. Modèle quantique
2. Modèles biologiques
3. Modèle du WEB
–
–
–
–
Distribution de calculs
Modèle Economique. Un algorithme
distribué définit des équilibres pour
un jeu. Mécanisme.
Algorithmique des jeux
Comment réguler le Web (SPAM,
Sécurité….)?
4. Percevoir, Sciences du langage.
d'Alembert
17 Novembre 2003
20
Sens et dénotation
Dénotation et Intension
Quel est le « sens » d’une expression?
xyyx
2.x1
"Fermat "11
« int f(x) {return (2*x+1);} »
« L’étoile du matin est l’étoile du soir »
Intensions: propriétés autres que la
dénotation:
Complexité, robustesse,….
Sens (Moschovakis 2000) = Algorithme
qui définit les intensions.
d'Alembert
17 Novembre 2003
21
Conclusion
1. Algorithmique:
•
•
Existence, fonction calculable
Analyse (Simplex)
2. Complexité
•
•
Classes de Complexité
Existence d’algorithme efficace
3. Approximations
1. Calcul probabiliste
2. Testeurs/Correcteurs
4. Modèles de Calcul
5. Sens et Dénotation.
d'Alembert
17 Novembre 2003
22
Vérification polynomiale
NP
f4(A1,A2) si A1 A2, alors 1 sinon 0
Il existe une fonction g  P
t.q.
g(A1,A2,) si i, jA1((i),(j))A2(i,j)alors 1 sinon 0
L est dans NP s’il existe une fonction g dans P
t.q. f4(A1,A2) 1 ssi f   nk g (A1,A2,) 1
5
Pour la fonction : f5(A1,A2) si A1 A2, alors 0 sinon 1
On ne connaît pas de telle fonction g!!
La fonction f5 est le complément de f4NP
C’est une fonction de co-NP.
d'Alembert
17 Novembre 2003
23
Isomorphisme de
graphes
5
4
3
4
3
5
1
2
Permutation :
1
2
12345
13245
Preuve de l’isomorphisme:
13245
d'Alembert
17 Novembre 2003
24
Non-Isomorphisme de
graphes
5
3
4
4
3
5
1
2
12345
1 3 2 4 5 ne
maintient pas (1,4)
1
2
Aucune Permutation ne
maintient un isomorphisme:
Preuve du non-isomorphisme:
Enumérer n! Permutations (120)
d'Alembert
17 Novembre 2003
25
Vérification probabiliste
f5(A1,A2) si A1 A2, alors 0 sinon 1
Comment vérifier avec un protocole?
2. V choisit  r {1,2} et 
construit H   (A)
2. P envoit . 
3. Si   
,
P.V=1, sinon P.V=0
P
V
0 (1/2)
1 (1/2)
L admet une preuve interactive, s’il existe un
protocole t.q pour tout x :
1. Si xL , Prob [ P.V(x)=1] =1
2. Si xL, P' , Prob [ P’.V(x)=1] < 1/2
d'Alembert
17 Novembre 2003
26
Preuve Interactive
B
A
Bob pose des questions à Alice
(qui peut mentir)
Bob utilise le hasard.
Après un temps court
(polynomial), Bob Accepte ou rejette.
d'Alembert
17 Novembre 2003
27
O-connaissance de
l’isomorphisme
h’(G1)=H
h’’
B
A
i=1
Preuve classique : A transmet h (ex:
13245)
Preuve interactive : Alice génère h’
aléatoire, calcule h’(G1)=H, transmis à
Bob: tire i au sort.
Alice envoie h’’, l’iso. entre H et Gi
d'Alembert
17 Novembre 2003
28
Téléchargement