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