Sur un graphique , nous effectuons le processus suivant:
- Initialement, tous les nœuds sont incolores.
- Bien qu'il existe des nœuds non colorés dans , chaque nœud non coloré effectue les opérations suivantes:
- Sélectionne un nombre réel aléatoire et l'envoie à tous ses voisins;
- Compare son nombre au nombre de ses voisins; si son propre nombre est strictement le plus petit, alors le voisin se peint en rouge et avertit tous ses voisins.
- Si un voisin est devenu rouge, ce nœud se peint en noir.
Par exemple:
- Supposons que le graphique soit un chemin: abcde.
- Supposons que les chiffres de la première étape soient: 1-2-0-3-4.
- Les nœuds a et c sont peints en rouge; les nœuds b et d sont peints en noir.
- Dans la deuxième étape, seul le nœud e reste incolore; il est trivialement minimal donc il se peint en rouge.
MA QUESTION EST: quel est le nombre moyen d'étapes que ce processus prend avant que tous les nœuds soient colorés?
Mon calcul actuel me conduit à un estimation, ce qui semble trop beau pour être vrai. Voici le calcul:
Considérons un nœud avec voisins. La probabilité que sera le plus petit parmi ses voisins est . Si cela se produit, alorset tous ses voisins seront colorés. Ainsi, le nombre attendu de sommets colorés à chaque étape est par nœud . Par conséquent, le nombre total attendu de sommets colorés à chaque étape est, donc dans tous les nœuds seront colorés.
Si cette analyse est erronée (ce qui est probablement le cas), alors quel est le nombre réel d'étapes?
EDIT: Comme indiqué par @JukkaSuomela, l'algorithme décrit ci-dessus est dû à Metivier et al, 2011 et est expliqué et analysé dans ces notes de cours . Ils prouvent que le temps d'exécution est.
Mais je ne suis toujours pas convaincu que cette analyse soit rigoureuse. Dans tous les graphiques que j'ai vérifiés, il semble que l'algorithme se termine en heure prévue.
Ma question est maintenant: quel est le pire des graphiques dans lequel cet algorithme nécessite en effet pas en moyenne?
la source
Réponses:
Il y a une erreur mineure, la probabilité dev être minimal est 1/(d+1) . Cela ne change rien, mais cela vaut quand même la peine d'être souligné.
Le problème est que les événements que vous résumez ne sont pas disjoints. Considérez deux sommets qui ne sont pas adjacents mais qui ont un voisin commun. Si les deux sommets finissent par être minimes parmi leurs voisins, alors le voisin commun est compté comme étant coloré deux fois.
Nous devons examiner de plus près ce qui se passe dans un sommet. Calculons la probabilité (et donc l'attente du variabele indicateur) qu'un seul sommet se colore.
Supposons, pour les besoins de l'analyse, que le graphique estd -régulier et ne contient ni triangles ni carrés. Nous calculerons la chance qu'un sommet donnév ne pas se couleur. Il y ad+1 possibilités: le v pourrait être le plus petit parmi ses voisins, v pourrait être le deuxième plus petit, le troisième plus petit, et ainsi de suite ... Nous ne sommes pas intéressés par le cas où il est le plus petit, car alors il se colore.
Siv est le deuxième plus petit, il y a un sommet qui est plus petit. La probabilité que ce sommet soit le plus petit parmi ses voisins est1d (Et ainsi v se colorer). La probabilité que les voisins restants soient les plus petits parmi leurs voisins est de 0 (puisquev est plus petit). La probabilité totale (dev ne se colorent pas) de ce cas est1d+1⋅d−1d .
Siv est le troisième plus petit, il y a deux sommets plus petits. La probabilité de ce cas est1d+1⋅(d−1d)2 .
En continuant comme ça, nous constatons que la probabilité quev ne pas obtenir est de couleur1d+1Σdi=1(d−1d)i . La probabilité qu'un sommet donné se colore est donc1−1d+1Σdi=1(d−1d)i . Commed→∞ , la probabilité devient 1e≈0.368 .
Par conséquent, la probabilité qu'un sommet donné se colore est une constante, donc le nombre attendu de sommets qui se colorent à la première étape est en effetO(n) .
Cela ne fait pas l'algorithmeO(1) . En supposant que la probabilité reste constante (ce qui n'est pas entièrement justifié étant donné que les nœuds se colorent et ne participent plus à l'algorithme, le graphique ne reste pasd -régulier), dans le k -tape il y aura (en attente) (1e)kn nœuds incolores. La décroissance est exponentielle, donc l'algorithme prendO(logn) pas.
Peut-être que quelqu'un d'autre pourra offrir une analyse plus précise, mais d'après mon argumentation, il semble probable que l'algorithme soitO(logn) .
la source