• Aucun résultat trouvé

2.6 Extensions

2.6.2 Boîte à outils

Nous abordons ici des résultats secondaires utiles pour une analyse future de ces modèles de diffusion désordonnée ou de leurs variantes. Dans le problème de la diffusion optimale, il est possible de montrer qu’on peut considérer sans perte de généralité, que dans le schéma de diffusion optimal, toutes les communications sont utiles, c’est-à-dire que les nœuds informés n’appellent que des nœuds non informés et que chaque nœud non informé ne reçoit le message que d’un seul autre nœud. De plus, on peut supposer que toutes les étapes d’envois d’un nœud sont consécutives. En effet si un nœud fait une pause dans ses envois alors qu’il peut encore envoyer des messages utiles, la diffusion se fait au moins aussi vite s’il les fait plus tôt, sans

faire de pause. Dans le cas de la vision ListBased, on peut toujours se ramener à des listes telles que la première partie correspond à des messages utiles et la seconde à des messages inutiles, l’une ou l’autre des sous-listes pouvant être de taille nulle. Quelles sont les hypothèses du même genre pouvant permettre la simplification de l’analyse de la diffusion désordonnée ?

Lemme 2.6.2. Dans les modèles SkipSenders et SkipInformed, il existe une

liste L donnant un pire temps de diffusion tel que les voisins passés par u sont à la fin de la liste Lu.

Démonstration. Si un envoi potentiel de u vers un voisin v ne se fait pas suivant la règle du modèle SkipSenders ou SkipInformed, c’est-à-dire que u passe v, alors l’envoi ne pourra se faire à aucune autre étape ultérieure. Puisque le nœud u passe ce voisin, on peut donc le placer à la toute fin de la liste sans changer le schéma effectif des envois. La liste Lu = {v1, . . . , vi, . . . , vdeg(u)} est donc telle que si u est

informé à l’étape τ (u) alors il existe un temps k tel que u communique avec vi à

l’étape τ (u) + i si et seulement si i ≤ k.

Lemme 2.6.3. Il existe toujours un pire schéma de diffusion dans le modèle SkipIn-

formed dans lequel, à chaque étape, l’ensemble des sommets informés est minimal pour l’inclusion.

Démonstration. Si à une étape τ dans une pire diffusion L1 l’ensemble Iτ est informé

et qu’il existe une diffusion L2 n’informant qu’un sous-ensemble Jτ ⊆ Iτ, alors il existe une pire diffusion L3 où uniquement Jτ est informé au temps τ . Ce protocole L3 se comporte comme L1 jusqu’au temps τ puis imite L1. Nous montrons par

récurrence que, pour tout t ≥ τ , l’ensemble des nœuds informés Ktsatisfait Kt⊆ It,

puisqu’au temps t, si u ∈ Kt ⊆ It appelle v dans L1, alors il peut aussi l’appeler dans L3.

Lemme 2.6.4. Il existe toujours un pire schéma de diffusion dans le modèle Skip-

Senders dans lequel, à chaque étape, l’ensemble des arêtes utilisées est minimal pour l’inclusion.

Démonstration. La preuve est similaire à celle précédente sauf que nous nous inté- ressons aux arêtes.

Ce lemme n’implique pas qu’il existe toujours un pire schéma de diffusion dans le modèle SkipSenders dans lequel, à chaque étape, l’ensemble des sommets informés est minimal pour l’inclusion. Pour s’en convaincre, nous regarderons l’analyse du modèle SkipSenders faite dans [HHL11] sur la clique à laquelle est ajouté un sommet pendant. Le schéma donné met plus de temps que celui qui imposerait à tous les nœuds de la clique d’appeler simultanément le même nœud. En effet, le dernier nœud informé dans la clique aura été appelé par tous ses voisins sauf le sommet pendant qui est le seul nœud non informé restant. Ce dernier sera alors informé à l’étape n − 1.

Lemme 2.6.5. Il existe toujours un pire schéma de diffusion dans le modèle Skip-

None dans lequel, à chaque étape, l’ensemble des arêtes utilisées est minimal pour l’inclusion. En particulier, il existe toujours un pire schéma de diffusion dans le modèle SkipNone dans lequel un nœud commence par appeler ceux qui lui ont en- voyé l’information, puis informe des nœuds voisins déjà informés si possible avant d’informer un nouveau nœud.

Démonstration. C’est ce qui est effectué par l’algorithme 1. L’idée est que, puisque les arêtes peuvent toujours être utilisées une fois pour chaque sens, il suffit de ne pas informer de nouveaux nœuds tant que possible.

Appelons mobile en triangle un arbre binaire complet auquel on rajoute une arête entre deux nœuds frères (fils d’un même nœud), voir la figure 2.6a. Si la source d’un mobile en triangle est la racine alors, dans le modèle SkipInformed, à l’étape 2k, tous les nœuds de profondeur au plus k sont informés. Considérons le schéma où un nœud appelle un de ses fils à la première étape impaire suivant immédiatement celle où il est informé, et où à l’étape (paire) suivante, ce nœud et son fils informé appellent tous les deux le second fils. Aux étapes 2k, seuls les nœuds de profondeur au plus k sont informés. Nous pouvons donc considérer que c’est le schéma qui est suivi par un pire protocole dans un mobile en triangle. Nous obtenons la même chose dans le modèle SkipSenders avec un mobile en maison (voir la figure 2.6b) qui donne une synchronisation : aux étapes 4k toutes les arêtes entre des nœuds à distance au plus 2k de s ont été utilisées. Ce graphe donne, d’ailleurs, aussi une synchronisation dans le modèle SkipInformed. Ainsi, à l’aide de ces gadgets appelés

synchronisateurs, nous obtenons une synchronisation qui permet d’une part de

transformer facilement un problème avec plusieurs sources en un problème avec une seule source, et d’autre part, en utilisant ces gadgets à la place des arbres, nous pourrions alors calculer bien plus simplement le temps de diffusion exact dans les démonstrations d’inapproximabilité, mais nous perdons alors le fait que le graphe de la preuve de 2.5.3 est biparti.

De manière similaire, nous pouvons nous intéresser au cas où il y a plusieurs cibles. Dans un premier temps, nous supposerons que chacune des cibles est de degré 1. Construisons, comme précédemment, un gadget appelé entonnoir tel que l’étape à laquelle une cible t est informée ne dépend que de la première étape à laquelle n’importe lequel des nœuds appelés points de connexion (les extrémités gauches en gris dans le figure 2.7) est informé, mais ne dépend pas du nombre de points de connexion informés à cette étape ou à des étapes ultérieures.

Si les cibles ne sont pas de degré 1, alors nous pouvons nous y ramener en "éclatant" chaque cible t, c’est-à-dire en remplaçant t par autant de copies que son degré et où chacune des copies est connectée à un seul de ses voisins. Chacune des copies d’un des destinataires est alors accordée à un entonnoir. Nous nous ramenons ainsi à un cas où toutes les cibles sont de degré 1. On fera attention de prendre des entonnoirs de même taille, quitte à ne pas utiliser tous les points de connexion, afin

s

(a) SkipInformed

s

(b) SkipSenders (et SkipInformed)

Figure 2.6 – Synchronisateurs de source s

t

(a) SkipInformed

t

(b) SkipSenders

Figure 2.7 – Entonnoirs pour une cible t, avec points de connexion en gris.

que la différence, en nombre d’étapes, induite par cette transformation soit la même pour toutes les cibles. Nous terminons comme précédemment en reliant toutes ces cibles de degrés 1 à un nouvel entonnoir dont l’extrémité est la nouvelle cible.

Documents relatifs