• Aucun résultat trouvé

transmissions bidirectionnelles

3.3.1 Graphes bipartis, Forets couvrantes et retransmission minimale

3.3.1 Graphes bipartis, Forets couvrantes et retransmission minimale

Supposons que nous ayons une mauvaise configuration qui nous donne un graphe de Tanner contracté G, et qu’on puisse demander la retransmission de certaines de ses arêtes (ou paquets). Comme on l’a évoqué, on peut ajouter un coût à chacun de nos paquets, qui représenterait son coût de retransmission, bien que concrètement nous ne le ferons pas dans notre cas d’utili-sation. Le coût total d’une retransmission est alors la somme des coûts des paquets retransmis. En calculant une forêt couvrante de poids maximal, qu’on notera F oretmax, on va pouvoir calculer le plus petit ensemble d’arêtes à retirer de G pour obtenir un graphe G acyclique, qu’on va noter Retransmissionmin. Le coût total de la retransmission de Retransmissionmin sera alors la somme des coûts de toutes ses arêtes. La figure 3.23 récapitule les différents graphes que nous venons de présenter : le graphe (1) est le graphe de Rook correspondant à nos effacements.

Chapitre 3 : Optimisation, graphes et calcul modulaire

3.3 Forêts couvrantes et application aux transmissions bidirectionnelles

Figure 3.22 – Le graphe de gauche est le graphe original G. Le graphe du milieu est le graphe correspondant à Retransmissionmin. Le graphe de droite est la la forêt couvrante maximale F oretmax

Pour calculer la forêt couvrante maximale F oretmax, on a recours à l’algorithme de Kruskal : on commence par trier les arêtes selon leur coût, puis on construit itérativement notre F oretmax en y ajoutant l’arête de plus petit coût si elle ne forme pas de cycle dans le graphe. Cet algorithme bien connu a une complexité en O(E log(E), E étant le nombre d’arêtes de G.

Algorithm 6 Algorithme de Kruskal retournant une forêt de poids maximal. Require: Algorithme calculant une forêt de poids maximale dans le graphe G

1 : function Kruskal(G = (V, E))

2 : F oretmax ← (V, Emax = ∅)

3 : Trier les arêtes de E selon leur coût dans l’ordre croissant.

4 : while E n’est pas vide do

5 : a ← La première arête de E

6 : E = E \ a

7 : if a ne crée pas de cycles dans F oretmax then

8 : Emax = Emax∪ a

Chapitre 3 : Optimisation, graphes et calcul modulaire

3.3 Forêts couvrantes et application aux transmissions bidirectionnelles

Figure 3.23 – Exemple de l’exécution de l’algorithme de Kruskal pour trouver sa forêt cou-vrante de poids minimal. En effectuant un prétraitement sur le graphe (inversant les poids des arêtes), on peut calculer une forêt de poids maximal.

Nous allons nous poser deux questions :

— En connaissant uniquement les dimensions (m, n) de notre graphe de Rook correspondant à un blocage du décodage, et du nombre d’effacements e (effacements se réalisant de manière équiprobable), est-il possible d’estimer la taille moyenne de Retransmissionmin A contrario, est-il possible d’estimer la taille de la forêt couvrante maximale de notre graphe en fonction de m, n et e.

— Quelle est la probabilité qu’on n’ait aucun paquet à retransmettre ? Nous avons déjà abordé la question dans la section précédente, notamment avec l’algorithme de Stones.

Chapitre 3 : Optimisation, graphes et calcul modulaire

3.3 Forêts couvrantes et application aux transmissions bidirectionnelles

Taille moyenne de F oretmax et Retransmissionmin

Pour tout graphe G à e sommets constitué de Ncc composantes connexes, toute forêt cou-vrante de G a exactement (e − Ncc) arêtes.

Soit G un graphe de Rook de dimensions (m, n) correspondant à un système d’équations que l’on souhaite résoudre (ou des paquets que l’on souhaite décoder).

Le graphe de Tanner contracté de G, que l’on notera T est un graphe biparti dont les sommets sont séparés en 2 sous-ensembles V = VL∪ VR. On notera NL le nombre de sommets de VL et NR celui de VR. Concrètement, ces valeurs correspondent respectivement aux lignes (VL) et aux colonnes (VR) dans notre graphe G qui contiennent au moins un paquet.

En notant Ncc le nombre de composantes connexes de T = (V, E), toute forêt couvrante de T F oretmax = (Vmax, Emax) aura donc |Emax| = NL+ NR− Ncc arêtes.

|Emax| = NL+ NR− Ncc (3.2) avec NL et NR le nombre de sommets de VL et VR, et Ncc le nombre de composantes connexes. Estimer la taille d’une forêt couvrante de T nécessite donc d’estimer le nombre de compo-santes connexes en moyenne dans T , ainsi que les valeurs NL et NR, en fonction de m, n et e.

Rappelons qu’on a |E| = e = NL+ NR arêtes dans G, qui correspondent à nos paquets effacés. Retransmissionmin = (Vmin, Emin) contenant toutes les arêtes de G qui ne sont pas, Emin = E \ Emax, on obtient naturellement le nombre d’arêtes de Retransmissionmin,

|Emin| = |E| − [Emax| = e − (NL+ +NR− Ncc) = e − NL− NR+ Ncc (3.3)

avec e le nombre d’arètes, NL et NR le nombre de sommets de VL et VR, et Ncc le nombre de composantes connexes.

La figure ci-dessous 3.24 représente différents graphes G correspondant à des échecs de décodage, et mettent en évidence cette dernière équation. Les sommets en vert correspondent aux sommets de F oretmax, et vérifient bien, et les sommets en jaune correspondent aux sommets de Retransmissionmin.

Chapitre 3 : Optimisation, graphes et calcul modulaire

3.3 Forêts couvrantes et application aux transmissions bidirectionnelles

Figure 3.24 – Des graphes de Rook correspondant à des échecs du décodage (leur graphe de Tanner contracté contient un cycle) et les F oretmax (en vert) et Retransmissionmin (en jaune) associées. Rappelons qu’ici, les paquets sont des sommets, mais que dans le graphe contracté leur correspondant, il s’agirait d’arêtes. Les paquets sont ici tous représentés par des carrés, mais il y a bien des paquets sources et codes.

On remarque que leur cardinal correspond bien aux équations :

|Emax| = NL+ NR− Ncc (3.4) |Emin| = |E| − [Emax| = e − [Emax| = e − (NL+ NR− Ncc) = e − NL− NR+ Ncc (3.5) Pour le graphe tout en haut à gauche par exemple, on a bien e = 22 sommets dans G (donc |E| = 22 arêtes dans T ), NL = 10 lignes occupées par un sommet (donc NL sommets dans VL), NR= 10 colonnes occupées par un sommet (donc NR sommets dans VR), et Ncc= 4 composantes connexes, ce qui nous donne une Retransmissionmin de taille e − NL−NR+ Ncc = 22 − 10 − 10 + 4 = 6.

Cette équation permet donc de calculer exactement F oretmax pour un graphe de Tanner contracté T donné. On peut donc estimer, quand on a subi e effacements, le nombre minimal d’arêtes à retransmettre pour que le décodage termine |Emin = e − m − n + Ncc| si on parvient à estimer le nombre moyen de sommets de VL NL, le nombre moyen de sommets de VR NRet le nombre moyen de composantes connexes Ncc du graphe G. Nous allons présenter les espérances de ces valeurs en fonction de m, n et e.

Etude de l’espérance de NL et de NR

Tout d’abord, pour NL (ou NR), la probabilité que la ligne Li (ou la colonne Cj) de notre graphe de Rook ne contienne pas d’effacements pour e effacements équirépartis est :

Pr(Li = 0|e) = mn−n−1 e  mn e  (3.6)

Ainsi, on peut déterminer la probabilité que le nombre de lignes NL (ou le nombre de colonnes NR) vaille k : Pr(NL= k|e) =m + 1 k  1 − mn−n−1 e  mn n  !k mn−n−1 e  mn e  !m+1−k (3.7)

Chapitre 3 : Optimisation, graphes et calcul modulaire

3.3 Forêts couvrantes et application aux transmissions bidirectionnelles Enfin, on obtient E(NC|e) = m X j=0 E(Cj|e) = (m + 1) ∗ 1 − mn−n−1 e  mn e  ! (3.8) E(NR|e) = (n + 1) ∗ 1 − mn−m−1 e  mn e  ! (3.9)

La figure 3.25 ci-dessous représente la progression de NLou NRpour m = n = 10 en fonction de e. Il ne s’agit pas d’une simulation mais simplement de l’équation de E(NC|e) appliquée à 0 ≤ e.

Figure 3.25 – Le nombre moyen de sommets de VL dans le graphe de Tanner contracté, pour m = n = 10.

Etude de Ncc par les théorèmes de Kalugin et Saltykov

Pour estimer Ncc, nous avons recours à deux théorèmes proposés par Kalugin et Saltykov dans [27] et [52].

Theorem 1 (Kalugin (’94)). Pour n, m, e → ∞, — Si (n+1)(m+1)e2 → 0, alors : Pr(Ncc= n + m + 2 − e) → 1 (3.10) — Si e = Θ(n), e = Θ(m), et (n+1)(m+1)e2 → c ∈]0; 1[, alors : ∀k ∈ [[0; e]], P (Ncc = n + m + 2 − e + k) → λ kexp(−λ) k! , avecλ := − ln(1 − c) + c 2 (3.11) Theorem 2 (Saltykov (’95)). Pour (n + m) → ∞, si ne = (n + 1) ∗ ln(n + m) + O(n), alors :

Pr(Ncc = 1|e) → 1 (3.12) La figure 3.27 ci-dessous, une simulation, représente le nombre moyen de composantes connexes (Ncc), pour m = 8 et n = 8, en fonction du nombre d’effacements e.

Chapitre 3 : Optimisation, graphes et calcul modulaire

3.3 Forêts couvrantes et application aux transmissions bidirectionnelles

Figure 3.26 – Nombre moyen de composantes connexes dans le graphe de Tanner contracté T en fonction du nombre d’effacements e pour m = 8 et n = 8.

La figure 3.27 est intéressante, et nous proposons de faire quelques remarques. Tout d’abord, il est normal que pour e = 0 effacements on ait bien Ncc = 0, et pour e = 1 on a Ncc= 1. Puis le nombre moyen de composantes connexes Ncc progresse, à mesure que e progresse, jusqu’à atteindre un pallier vers e = 8. Cette situation correspond au moment ou les effacements sont tous sur des lignes ou des colonnes séparés (il y a beaucoup de lignes et de colonnes et peu d’effacements, donc Ncc est proche de e. Une fois ce palier dépassé, le nombre moyen de composantes connexes Ncc se met à diminuer : à mesure qu’on ajoute des effacements (et donc des arêtes) dans notre graphe, on le rend de plus en plus connexe (et Ncc tend alors vers 1. Enfin, quand e ≥ (m − 1)(n − 1) + 1, on ne peut plus avoir qu’une seule composante, et on a alors Ncc = 1.

Figure 3.27 – Simulations du nombre moyen de paquets |Emin| à redemander pour débloquer le décodage en fonction du nombre d’effacements e pour m = n = 8