Recherche d`un noyau dans un graphe aléatoire

publicité
Introduction
Algorithmes
Graphes denses
Graphes éparses
Recherche d’un noyau dans un graphe
aléatoire
Marco Illengo et Jean-Marie Le Bars
LMNO et GREYC, université de Caen
Journées Alea 2012
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
1 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Plan de l’exposé
1
Introduction
2
Algorithmes
3
Graphes denses
4
Graphes éparses
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
2 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Plan de l’exposé
1
Introduction
2
Algorithmes
3
Graphes denses
4
Graphes éparses
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
3 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Définition de la propriété de noyau
Graphe orienté Dn = hVn , Ai, Vn = {1, . . . , n}, A ensemble d’arcs
Un noyau est un sous-ensemble U de Vn vérifiant les deux
propriétés suivantes :
• U est un stable : pas d’arc entre deux sommets de U.
• K est dominant : pour tout sommet en dehors de U, il existe un
arc vers un sommet du U.
U
Marco Illengo et Jen-Marie Le Bars ()
V\U
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
4 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Définition de la propriété de noyau
R OUGE sommets du noyau
V ERT sommets à l’extérieur du noyau
Contraintes locales
• tous les voisins d’un sommet rouge sont verts
• un sommet vert à au moins un sommet sortant rouge (témoin)
Recherche d’un noyau : coloriage des sommets en rouge et vert
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
5 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Jeux combinatoires et graphes
Jeux à deux joueurs
Jeux finis à deux joueurs sans information cachée avec toujours un
vainqueur.
Un des deux joueurs possède une stratégie gagnante
Graphe orienté
Sommets : configurations du jeu
Arcs : déplacements
Noyau = Ensemble des positions gagnantes
Celui qui possède une stratégie gagnante se déplace toujours vers un
sommet du noyau.
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
6 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Recherche d’un noyau dans un graphe
Problème de décision N OYAU
Dn vérifie N OYAU lorsqu’il possède au moins un noyau.
N OYAU est un problème NP-complet.
Notre objectif
Générer aléatoirement des instances difficiles.
Application en cryptographie
Cacher un noyau dans un graphe aléatoire.
(en collaboration avec Eleonora Guerini et Fabien Laguillaumie)
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
7 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Utilisation des séries génératrices
On peut utiliser les séries génératrices lorsque le graphe est un
arbre ou proche d’un arbre
Sur les arbres
• arbres planaires généraux
• arbres binaires
• arbres enracinés étiquetés
(voir l’article de Cyril Banderier, Markus Kuba, Alois Panholze, 2009)
Graphe avec un seul circuit
(Cyril Banderier, LB, Vlady Ravelomanana, 2004)
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
8 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Graphes aléatoires
Modèle D(n, p)
chaque paire de sommets est un arc avec probabilité p.
Complexité moyenne de l’algorithme A
100 sommets et 100 itérations
0
0,2
0,4
0,6
0,8
1
0,014
0,014
0,012
0,012
0,01
0,01
0,008
0,008
0,006
0,006
0,004
0,004
0,002
0,002
0
0
0
Marco Illengo et Jen-Marie Le Bars ()
0,2
0,4
0,6
0,8
1
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
9 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Plan de l’exposé
1
Introduction
2
Algorithmes
3
Graphes denses
4
Graphes éparses
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
10 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme naïf B
Taille des noyaux
On suppose que l’on connaît les tailles possibles : ensemble I.
Recherche exhaustive
On effectue la recherche exhaustive sur tous les sous-ensembles de
Vn de taille r ∈ I.
Borne supérieure de la complexité
X n
n ln n.
r
r ∈I
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
11 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 1
Algorithme pour trouver l’unique noyau d’un graphe sans circuit
Coloriage à trois couleurs
• BLANC : sommets non traités
• ROUGE sommets dans le noyau
• VERT sommets à l’extérieur du noyau
Algorithme A1
Tant que B LANC est non vide et qu’il reste un puits
colorier les puits en rouge
colorier les voisins des puits en vert
supprimer du graphe les sommets coloriés
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
12 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 1
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
13 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 1
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
14 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 1
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
15 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 1
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
16 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 2
Backtracking simple, coloriage à quatre couleurs
• BLANC sommets non traités
• ROUGE sommets dans le noyau
• BLEU sommets à l’extérieur du noyau sans témoin
• VERT sommets à l’extérieur du noyau avec témoin
Algorithme A2
Tant que B LANC est non vide
prendre a ∈ B LANC
énumérer les noyaux contenant a
énumérer les noyaux ne contenant pas a
Nous obtenons un noyau lorsque tous les sommets sont coloriés en
rouge et vert.
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
17 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 2
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
18 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 2
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
19 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 2
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
20 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 2
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
21 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 2
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
22 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Plan de l’exposé
1
Introduction
2
Algorithmes
3
Graphes denses
4
Graphes éparses
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
23 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Calculs préliminaires
q =1−p
Probabilités élémentaires
S(q, r ) (resp. D(q, n, r ) et N(q, n, r )) probabilité que U de taille r soit
stable (resp. dominant, un noyau).
S(q, r )
= q r (r −1)
D(q, n, r ) = (1 − q r )n−r
N(q, n, r ) = S(q, n, r ) D(q, n, r ).
Espérance
Le nombre moyen de noyaux de taille r vaut donc
E[XrNoyau ]
Marco Illengo et Jen-Marie Le Bars ()
n r (r −1)
=
q
(1 − q r )n−r .
r
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
24 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Cas dense, p constant
Théorème Tomescu, Fernandez de la Vega, 1990
Notons q = 1 − p. Il existe un intervalle I(p, n) autour de
β(n) = log1/q n − log1/q (log1/q n) tel que les noyaux de Dn ∈ D(n, p)
satisfont
1
a. p. s. tous les noyaux ont une taille dans r ∈ I(p, n) ;
2
pour toute suite r (n) ∈ I(p, n), Dn possède a. p. s. un noyau de
taille r (n).
Remarques
• la taille de I(n, p) ne dépend que de p
• l’intervalle diminue lorsque p augmente
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
25 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Cas dense, p constant
Idée de la preuve
On utilise les Méthodes du premier et du second moment
Pour r proche de β, soit c le réel tel que n = ec r q −r .
erg(c)
E[XrNoyau ] ∼ √
2πr
var (XrNoyau ) ∼ E[XrNoyau ]
où g(c) = −ec + c + 1 − ln q.
r ∈ I(n, p) si et seulement si g(c) > 0.
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
26 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Complexité des algorithmes
Algorithme B
B est un algorithme de Monte Carlo d’erreur λ < 1/E[XrNoyau ].
Sa complexité est superpolynomial (nln n ).
Algorithme A
On prouve que l”algorithme A est également superpolynomial en
remplaçant l’espérance de la complexité par la complexité de
l’espérance.
Pour une preuve rigoureuse, il faut utiliser le modèle D(n, M).
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
27 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Plan de l’exposé
1
Introduction
2
Algorithmes
3
Graphes denses
4
Graphes éparses
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
28 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Cas éparse, p = c/n
Calcul de l’espérance
Rappel
E[XrNoyau ]
n
=
S(r , q) D(n, r , q)
r
Pour p = c/n et r = µn, µ densité de r
n
∼ β(c, µ) = −µ log µ − (1 − µ) log(1 − µ),
µn /n
S(µn, 1 − c/n)/n ∼ ι(c, µ) =
−cµ2 ,
D(n, µn, 1 − c/n)/n ∼ δ(c, µ) =
(1 − µ)(1 − e−cµ ),
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
29 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Une seule densité possible
Théorème 1
Tous les noyaux de Dn sont a. p. s. tous de taille
r = µc n + o(n),
où c = − logµcµc .
Idée de la preuve
Noyau
On montre que E[Xr
] = eϕ(c,µ)n+o(n) , où
ϕ(c, µ) = −µ log µ − (1 − µ) log(1 − µ) − cµ2 + (1 − µ) log(1 − e−cµ ).
Marco Illengo et Jen-Marie Le Bars ()
ϕ(c, µ) < 0
= 0
pour µ 6= µc
sinon
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
30 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Aucune taille probable
Théorème 2
Pour toute suite r (n), Dn n’a a. p. s. pas de noyau de taille r .
Idée de la preuve
Soient µ = µc et r = µn + o(n)
On utilise le résultat suivant
ln E[XrNoyau ] = −
p
x 2 (1 − log µ)2 1
− log n−log µ 2πµ(1 − µ) +ε(n, x),
n 2µ(1 − µ) 2
3
où ε(n, x) ∈ O( n1 ) + O( xn ) + O( xn2 ).
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
31 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Somme des espérances
Théorème 3
L’espérance du nombre de noyaux de densité µc est supérieure à 1.
Idée de la preuve
2
Soient µ = µc , f = o(n 3 ) et |x| ≤ f .
On considère l’espérance du nombre de noyaux de taille r = µn + x.
x2
p
e−η n
(1 − log µ)2
E[XrK ] = √ (1 + o(1)), η =
, ζ = µ 2πµ(1 − µ).
2µ(1 − µ)
ζ n
√
On somme les espérances sur f ∈ ω( n),
lim
n→∞
X
E[XrK ]
|x|≤|f |
Marco Illengo et Jen-Marie Le Bars ()
1
=
ζ
Z
∞
e
−∞
−ηy 2
√
1
π
µ
dy = √ =
> 1,
ζ η
1 + log µ1
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
32 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Complexité des algorithmes
Algorithme B
B est un algorithme de Monte Carlo d’erreur λ = e−n sur les
ensembles de densité µ, avec |µ − µc | < δ.
Sa complexité est exponentielle.
Algorithme A
On prouve que l’algorithme A2 est exponentiel en la taille de B LANC,
l’ensemble des sommets non coloriés par A1 .
Complexité de A
Dépend de la taille de B LANC.
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
33 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Densité de B LANC après A1
0
1
2
3
4
5
6
1
1
n = 100
n = 1 000
Theoretical
0,8
0,8
0,6
0,6
0,4
0,4
0,2
0,2
0
0
0
1
Marco Illengo et Jen-Marie Le Bars ()
2
3
4
5
Recherche d’un noyau dans un graphe aléatoire
6
Alea 2012
34 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Transition de phase en c = 1
Expérimentations
On observe expérimentalement que tous les sommets sont coloriés
avec l’algorithme A1 , pour c < 1.
Coloriage en blanc et noir
On propose un coloriage plus grossier que celui de l’algorithme A1 :
On colorie en noir tous les puits et tous les sommets allant vers un
puits et n’appartenant pas à un circuit.
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
35 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 1
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
36 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 1
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
37 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 1
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
38 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Algorithme A – Étape 1
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
39 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Transition de phase en c = 1
Coloriage en blanc et noir
wi densité de B LANC à l’étape i, |B LANC| ∼ wi n.
w0 =
1
Système dynamique
où ϕ(z) = 1 − e−cz .
wi+1 = ϕ(wi )
Transition de phase
1
Soit w = limi ϕi (1).
w = 0 si c < 1.
w > 0 si c > 1.
0
1
2
0
0
-1
-1
0
Marco Illengo et Jen-Marie Le Bars ()
1
Recherche d’un noyau dans un graphe aléatoire
1
2
Alea 2012
40 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Transition de phase en c = e
Itérations de l’algorithme A1
wi et ri densité de B LANC et R OUGE à l’itération i.
ri+1 = ψ(1 − gi )
Système dynamique
1 − gi =
ψ(ri )
où ψ(z) = e−cz
Transition de phase
w = limi ψ 2i+1 (0) − ψ 2i (0) .
0
w =0
w >0
si
si
c < e.
c > e.
ã
2ã
1
1
1
1
ã
ã
0
0
0
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
ã
2ã
Alea 2012
41 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Perspectives
Approfondir l’étude du cas p =
c
n
• Etude de la variance.
• Mieux connaître la structure des noyaux pour garantir qu’il
n’existe pas de (vraiment) meilleurs algorithmes.
Autres distributions p =
c log n
n
De nombreuses propriétés naturelles apparaissent avec cette
distribution.
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
42 / 43
Introduction
Algorithmes
Graphes denses
Graphes éparses
Merci de votre attention
Marco Illengo et Jen-Marie Le Bars ()
Recherche d’un noyau dans un graphe aléatoire
Alea 2012
43 / 43
Téléchargement