Soit un graphe aléatoire sur bords. Avec une probabilité très élevée, a de nombreux cycles à cycles. Notre objectif est de produire l'un de ces cycles le plus rapidement possible.
Supposons que nous ayons accès à sous forme de liste d'adjacence, nous pouvons réussir avec une probabilité constante dans heure comme suit: choisissez n'importe quel nœudet commencez à générercheminsaléatoires àpartir de; une fois que nous avons trouvé deuxcheminsdistinctsqui partagent un point final, nous avons terminé. Il y apoints de terminaison possibles, et par le paradoxe d'anniversaire, nous réussirons avec une probabilité constante après avoir découvert d'entre eux.
Pouvons-nous faire mieux? En particulier, un algorithme à temps constant qui réussit avec une probabilité constante est-il possible?
Réponses:
Non, vous ne pouvez pas battre les requêtes . Je vais expliquer comment formaliser l' esquisse de preuve exfret de ceci, d'une manière qui fonctionne pour les algorithmes adaptatifs. Tout cela est anticipé dans la réponse d'exfret; Je ne fais que compléter certains détails.Θ(n−−√)
Considérez tout algorithme (éventuellement adaptatif) qui émet une séquence de requêtes, où chaque requête est soit "extraire le ème bord de la liste d'adjacence du sommet " ou "tester si les sommets sont connectés par un bord". Nous pouvons supposer qu'aucune requête n'est répétée, car tout algorithme qui répète une requête peut être transformé en un algorithme qui ne répète jamais aucune requête. De même, nous pouvons supposer que l'algorithme ne fait jamais de requête de connectivité sur une paire de sommets qui sont déjà connus pour être connectés par un bord (à savoir, tester lorsque été précédemment renvoyé par une requête d'extraction sur , ou était précédemment retourné par une requête d'extraction suri v v,w v,w w v v w , ou nous avons déjà testé la connectivité de ).w,v
Supposons que désigne l'événement selon lequel, lors des premières requêtes, aucun sommet n'est renvoyé par plus d'une requête d'extraction, et aucune requête d'extraction ne renvoie un sommet qui a été précédemment interrogé, et aucune requête de test de connectivité ne renvoie "connecté ". Nous prouverons que si . Il s'ensuit qu'aucun algorithme qui effectue des requêtes ne peut avoir une probabilité constante de trouver un cycle 4.Ek k w Pr[Eq]=1−o(1) q=o(n−−√) o(n−−√)
Comment le prouvons-nous? Calculons . Il existe deux cas: soit la ème requête est une requête d'extraction, soit une requête de test de connectivité:Pr[Ek|Ek−1] k
Si la ème requête est une requête d'extraction sur le sommet , il y a sommets mentionnés parmi les requêtes, et si la ème requête renvoie l'une de celles-ci, nous aurons , sinon nous aurons . Maintenant, la réponse à la ème requête est uniformément distribuée sur un ensemble de sommets, où contient tous les sommets qui n'ont pas été retournés par les requêtes de récupération précédentes sur , donc la réponse à la ème requête est uniformément distribuée sur un ensemble de taille au moinsk v 2(k−1) k−1 k ¬Ek Ek k S S v k n−k+1 . La probabilité de toucher au moins l'un d'entre eux est , donc dans ce cas, .≤2(k−1)/(n−k+1) Pr[Ek|Ek−1]≥1−2(k−1)/(n−k+1)
Si la ème requête est une requête de test de connectivité, alors .k Pr[Ek|Ek−1]≥1−1/n−−√
Dans les deux cas, si nous avonsq=o(n−−√)
Maintenant,
Si , alorsk≤q≤n−−√
donc
Le côté droit est environ . Lorsque , c'est .exp{−2q2/(n−q)} q=o(n−−√) 1−o(1)
En conclusion: lorsque . Il s'ensuit que vous avez besoin de pour avoir une probabilité constante de trouver n'importe quel cycle (encore moins un cycle 4).Pr[Eq]=1−o(1) q=o(n−−√) Ω(n−−√)
la source
Supposons que nous ne pouvons interroger que le ème bord de la liste d'adjacence d'un sommet donné (qui, je suppose, n'est pas trié) ou si deux sommets donnés sont adjacents. Dans ce cas, il faut des requêtes pour même trouver un cycle. En effet, il y a chance que toutes nos requêtes du premier type renvoient des sommets différents et que toutes nos requêtes du deuxième type renvoient que les deux sommets ne sont pas connectés.i n−−√ 1−o(1)
Veuillez me corriger si je me trompe quelque part ou si je comprends mal le problème.
la source