Implémentation d’un algorithme de routage avec les réseaux de neurones pour le problème de routage en multimédia Nadia SABER Meryem KHOUIL Laboratoire : Signaux, Systèmes Distribués et Intelligence Artificielle ENSET-Mohammedia, Maroc [email protected] Laboratoire : Signaux, Systèmes Distribués et Intelligence Artificielle ENSET-Mohammedia, Maroc [email protected] Mohammed MESTARI Laboratoire : Signaux, Systèmes Distribués et Intelligence Artificielle ENSET-Mohammedia, Maroc [email protected] Résumé—Le routage multicast, dans les réseaux de communication, consiste à diffuser des données d’une source vers des destinations multiples, en minimisant l’utilisation des ressources du réseau, et en tenant compte de plusieurs contraintes, telles que le délai, le coût, la bande passante ou autres. Pour assurer une diffusion optimale, il est nécessaire de déterminer un arbre qui connecte le nœud source aux nœuds destinations minimisant l’utilisation des ressources. Dans ce papier, nous proposons un réseau de neurones artificiels pour la construction de l’arbre multicast, basé sur les filtres d’ordre statistique adaptables. Notre approche pour résoudre ce problème diffère de l’approche conventionnelle utilisée dans le domaine des réseaux de neurones. Notre principale préoccupation est de savoir comment organiser les neurones au sein d’un réseau afin qu'il puisse résoudre le problème, tout en profitant pleinement de la propriété importante du parallélisme offerte par les réseaux de neurones Mots clés— Routage multicast, réseaux de neurones artificiels, neurone linéaire, neurone à seuil, filtres d’ordre statistique adaptables. I. INTRODUCTION Le routage multicast consiste à transmettre simultanément un message d’une source vers plusieurs destinations, tout en minimisant les ressources réseaux utilisées par cette multidiffusion et en respectant les contraintes exigées par les applications. Durant les dernières années, plusieurs recherches s’intéressent à ce type de routage, vu l’émergence d’applications de multidiffusion tels que le partage de fichiers, les jeux interactifs, la visioconférence…. Les algorithmes du routage multicast doivent respecter trois critères [2] : 1) Etre capable à fournir des ressources à la demande de l'application 2) Utiliser les ressources existantes très efficacement, pour maximiser la probabilité qu’une nouvelle contrainte soit aussi remplie. 3) L’information doit être transmise en temps réel Le problème de routage multicast est connu, dans la théorie des graphes, par le problème d’arbre de Steiner. Le problème de Steiner est un problème NP-complet [3][5][6]. Le problème de Steiner consiste à trouver un arbre de Steiner, qui relie le nœud source à tous les nœuds destinations, tel que le coût de cet arbre soit minimal, mais sans considérer les autres contraintes tels que le délai ou la bande passante. Plusieurs heuristiques ont été proposées dans la littérature pour résoudre ce problème [4][2], mais ne s’effectuent pas en temps polynomial. Le temps d’exécution dépend de la taille du réseau, ce qui n’est pas très efficace pour des réseaux très larges.. Les réseaux neuronaux sont utilisés pour le problème de routage multicast, pour la propriété importante du parallélisme qu’ils offrent [7]. Rauch and Winarske utilisent les réseaux neuronaux pour le problème du plus cours chemin [9].Une version modifiée du réseau de neurones de Hopfield est proposée dans [12] pour résoudre le problème de routage multicast sous contrainte de délai. Nozana proposent dans [13] les réseaux de neurones chaotiques, alors que W.Liu and L. Wang [14] proposent les réseaux neuronaux transitoirement chaotiques pour ce problème. Nous proposons dans ce papier une construction de l’arbre du routage multicast avec les filtres d’ordre statistique adaptables implémentés par les réseaux de neurones [1]. Ce papier est sectionné comme suit : nous introduisons le problème de routage multicast dans la section 2, la section 3 est réservée à la présentation de l’algorithme de l’arbre multicast, pour voir dans la section 4 son implémentation avec les filtres d’ordre statistique adaptables. II. FORMULATION DU PROBLEME : Le réseau de communication est généralement modélisé par un graphe G=(V,E,c) non orienté, valué, ayant V ={𝑣𝑣1 , 𝑣𝑣2 , … , 𝑣𝑣𝑁𝑁 }comme ensemble de sommets et E comme ensemble d’arêtes,𝐸𝐸∁{�𝑣𝑣𝑖𝑖 , 𝑣𝑣𝑗𝑗 �\𝑣𝑣𝑖𝑖 ∈ 𝑉𝑉, 𝑣𝑣𝑗𝑗 ∈ 𝑉𝑉, 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑣𝑣𝑖𝑖 ≠ 𝑣𝑣𝑗𝑗 𝑒𝑒𝑒𝑒 1 ≤ 𝑖𝑖 ≤ 𝑁𝑁 𝑒𝑒𝑒𝑒 1 ≤ 𝑗𝑗 ≤ 𝑁𝑁 }, 𝑐𝑐: 𝐸𝐸 → 𝐼𝐼𝐼𝐼+∗ est la fonction coût qui associe à chaque arrête e un nombre réel positif quelconque c(e). Le coût permet de mesurer l'utilisation monétaire ou le degré de congestion. On note par s le nœud source, et S∁ 𝑉𝑉l’ensemble des nœuds de destination, M le groupe multicast i.e. 𝑀𝑀 = {𝑠𝑠 ∪ 𝑆𝑆}. Un chemin, dans un graphe G est une suite finie de sommets consécutifs, 𝑢𝑢1 , 𝑢𝑢2 , … 𝑢𝑢𝑃𝑃 tels que, pour tout 1 ≤ 𝑘𝑘 ≤ 𝑝𝑝 , {𝑢𝑢𝑘𝑘 , 𝑢𝑢𝑘𝑘+1 } ∈ 𝐸𝐸 𝑒𝑒𝑒𝑒 𝑢𝑢𝑘𝑘 ∈ 𝑉𝑉 , Le coût d'un chemin, qui relie un sommet 𝑢𝑢1 à 𝑢𝑢𝑘𝑘 , est égal à la somme des coûts de ses arêtes, 𝑝𝑝−1 i.e. ∑𝑘𝑘=1 𝑐𝑐({𝑢𝑢𝑘𝑘 , 𝑢𝑢𝑘𝑘+1 }). Un cycle est un chemin 𝑢𝑢1 , 𝑢𝑢2 , … 𝑢𝑢𝑃𝑃 , où 𝑢𝑢1 = 𝑢𝑢𝑝𝑝 .Un chemin est élémentaire est un chemin dont tous les sommets sont distincts. Le plus court chemin, qui relie 𝑢𝑢1 à 𝑢𝑢𝑃𝑃 , est le chemin dont le coût est minimal, parmi tous les chemins reliant 𝑢𝑢1 à 𝑢𝑢𝑃𝑃 .Le graphe G est connexe si quels que soient les sommets 𝑣𝑣𝑖𝑖 et 𝑣𝑣𝑗𝑗 , il existe un chemin de 𝑣𝑣𝑖𝑖 vers 𝑣𝑣𝑗𝑗 .Un arbre couvrant de G est un graphe connexe, sans cycle, qui couvre l’ensemble V, où l’élimination d’une arête le rend nonconnexe. Un arbre couvant minimal de G est l’arbre dont le coût est minimal parmi tous les arbres couvrant de G. Soit S un ensemble de sommets tel que 𝑆𝑆∁𝐺𝐺, un arbre minimal de Steiner est une arbre minimal qui couvre l’ensemble S, et éventuellement d’autres sommets. La matrice d’adjacence 𝐴𝐴 = �𝑎𝑎𝑖𝑖𝑖𝑖 � 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 1 ≤ 𝑖𝑖 ≤ 𝑁𝑁 𝑒𝑒𝑒𝑒 1 ≤ 𝑗𝑗 ≤ 𝑁𝑁 de G est la matrice booléenne avec : 𝑎𝑎𝑖𝑖𝑖𝑖 = � 1 𝑠𝑠𝑠𝑠 (𝑣𝑣𝑖𝑖 , 𝑣𝑣𝑖𝑖 )𝜖𝜖𝜖𝜖 0 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 Dans cet article, nous allons considérer que notre graphe à N sommets, numérotés de 1 à N, et que le coût de chaque arête est strictement positif, i.e. c(e)> 0. Par analogie avec la matrice d’adjacence, on peut représenter un graphe valué par une matrice carrée, dont les coefficients correspondent aux coûts des arêtes. On note par 𝐻𝐻 = �ℎ𝑖𝑖𝑖𝑖 �𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 1 ≤ 𝑖𝑖 ≤ 𝑁𝑁 𝑒𝑒𝑒𝑒 1 ≤ 𝑗𝑗 ≤ 𝑁𝑁 la matrice de valuation du graphe G définie par : 𝑐𝑐( (𝑣𝑣𝑖𝑖 , 𝑣𝑣𝑖𝑖 )) ℎ𝑖𝑖𝑖𝑖 = � 0 𝑠𝑠𝑠𝑠 (𝑣𝑣𝑖𝑖 , 𝑣𝑣𝑖𝑖 )𝜖𝜖𝜖𝜖 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 (2) La figure Fig.1 illustre un exemple de réseau, modélisé par un graphe G ayant 8 sommets, le nœud source s= {8} et l’ensemble des nœuds destinations S= {1, 2, 3,5} .Le groupe multicast est alors : M= {1 ,2 ,3 ,5 ,8}.La figure Fig.2 illustre sa matrice de valuation. Fig1 : graphe G valué modélisant un réseau avec 8 sommets (1) Le problème de routage multicast en multimédia consiste à déterminer un arbre de Steiner, qui connecte le nœud source aux différents nœuds de destinations, tel que le coût total de cet arbre soit minimal. Le problème de Steiner est un problème NP-complet, pourtant il existe 2 cas où il peut être résolut en temps polynomial : • Cas 1 : |M|=2 :C’est le cas unicast, où il y a seulement deux nœuds dans le groupe de multidiffusion, et dans ce cas le problème se réduit au problème de recherche du plus cours chemin. • Cas 2 : |M|=|V| c’est le cas de diffusion, où le groupe de multidiffusion contient tous les nœuds du réseau. Ainsi, le problème est réduit au problème de l'arbre couvrant minimal. Fig.2 : Matrice de valuation du graphe de la Figure 1 III. DESCRIPTION DE L’ALGORITHME DE L’ARBRE MULTICAST : Dans cette section, nous allons décrire toutes les étapes de l’algorithme de l’arbre multicast, qui va se baser sur le modèle mathématique. Cet algorithme a comme entrées le graphe G qui modélise le réseau, ainsi que le groupe multicast M, et la sortie sera l’arbre multicast noté T. 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸é𝑒𝑒𝑒𝑒: 𝑔𝑔𝑔𝑔𝑔𝑔𝑔𝑔ℎ𝑒𝑒 𝐺𝐺(𝑉𝑉, 𝐸𝐸, 𝑐𝑐) , 𝑙𝑙𝑙𝑙 𝑔𝑔𝑔𝑔𝑔𝑔𝑔𝑔𝑔𝑔𝑔𝑔 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑀𝑀 � 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆: 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑇𝑇 1. Pour chaque sommet e ∈ V, dresser une liste des 2. 3. sommets adjacents au sommet e triés par ordre croissant de leurs coûts. Initialiser l’arbre T avec le sommet s. Supprimer s de toutes les listes. � 4. Tant que M n’est pas entièrement contenu dans T, alors : Répéter ele sommet le plus proche à T TT+e Supprimer e de toutes les listes Fin Tant que IV. CONSTRUCTION DU RESEAU NEURONAL POUR LE ROUTAGE Dans cette section, l’idée est d’implémenter l’algorithme proposé dans la section précédente, directement dans des hardwares spécialisés, en se basant sur les filtres d’ordre statistique adaptables (AOSF : Adjustable Order Statistic Filters (Mestari [1])). AOSF est un réseau de neurones, qui permet de calculer le k-iéme plus grand élément, en un temps fixe indépendamment de la taille des données, d’un tableau de N nombres 𝑋𝑋𝑖𝑖 , 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 1 ≤ 𝑖𝑖 ≤ 𝑁𝑁, tels que : 𝑋𝑋𝑖𝑖 = 𝑆𝑆𝑋𝑋𝑖𝑖 𝑀𝑀𝑋𝑋𝑖𝑖 2𝐸𝐸𝑋𝑋𝑖𝑖 avec : 𝑆𝑆𝑋𝑋𝑖𝑖 : 𝑙𝑙𝑙𝑙 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑑𝑑𝑑𝑑 𝑋𝑋𝑖𝑖 𝑐𝑐𝑐𝑐𝑐𝑐é 𝑠𝑠𝑠𝑠𝑠𝑠 1 𝑏𝑏𝑏𝑏𝑏𝑏. 𝑆𝑆𝑋𝑋𝑖𝑖 = � 0 1 Les neurones linéaires ont la fonction d’identité pour fonction d’activation .Pour ce type de neurones, la sortie y est donnée par : 𝑦𝑦 = 𝜑𝜑𝐿𝐿 (∑𝑛𝑛𝑖𝑖=1 𝑤𝑤𝑖𝑖 𝑥𝑥𝑖𝑖 − 𝜃𝜃) = ∑𝑛𝑛𝑖𝑖=1 𝑤𝑤𝑖𝑖 𝑥𝑥𝑖𝑖 − 𝜃𝜃 (6) Maintenant qu’on a défini ces deux types de neurones, nous allons voir la façon par laquelle ils seront organisés au sein du réseau AOSF. La figure Fig.3 illustre le réseau de comparaison des valeurs absolues (AVCN : absolute value comparison network), qui compare deux valeurs absolues |𝑋𝑋𝑖𝑖 |𝑒𝑒𝑒𝑒 �𝑋𝑋𝑞𝑞 � d’un tableau de N éléments. Ce réseau est composé de plusieurs neurones à seuils. (Mestari [1] pour plus de détails) 𝑠𝑠𝑠𝑠 𝑋𝑋𝑖𝑖 , ≥ 0 (3) 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑀𝑀𝑋𝑋𝑖𝑖 = 𝑙𝑙𝑙𝑙 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛é𝑒𝑒 à 𝑚𝑚 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑, 𝑐𝑐𝑐𝑐𝑐𝑐é𝑒𝑒 𝑠𝑠𝑠𝑠𝑠𝑠 𝑚𝑚 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 𝐸𝐸𝑋𝑋𝑖𝑖 = 𝑙𝑙 ′ 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒, 𝑐𝑐𝑐𝑐𝑐𝑐é 𝑠𝑠𝑠𝑠𝑠𝑠 𝑝𝑝 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏. 𝑘𝑘 ∈ 𝐼𝐼𝐼𝐼, 1 ≤ 𝑖𝑖 ≤ 𝑁𝑁, 1 ≤ 𝑘𝑘 ≤ 𝑁𝑁 2 types de neurones sont utilisés dans les AOSFs : neurones à seuil (figure 1(a)) et neurones linéaires (figure 1(b)). Ces deux types diffèrent uniquement de leurs fonctions d’activation. (a) (b) Figure 2 : (a) neurone à seuil (b) neurone linéaire Ces 2 type de neurones ont y comme sortie, tel que : 𝑦𝑦 = 𝜑𝜑(∑𝑛𝑛𝑖𝑖=1 𝑤𝑤𝑖𝑖 𝑥𝑥𝑖𝑖 − 𝜃𝜃) (4) Avec : 𝜑𝜑: 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑑𝑑′𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝜃𝜃 : 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 𝑤𝑤𝑖𝑖 : 𝑙𝑙𝑙𝑙𝑙𝑙 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑑𝑑𝑑𝑑𝑑𝑑 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑥𝑥𝑖𝑖 : 𝑙𝑙𝑙𝑙𝑙𝑙 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒é𝑒𝑒𝑒𝑒(𝑖𝑖 = 1,2, … , 𝑛𝑛) Les neurones à seuil ont la fonction d’activation binaire. Pour ce type de neurones, la somme pondérée des entrées est comparée avec le seuil 𝜃𝜃. 1 𝑠𝑠𝑠𝑠 ∑𝑛𝑛𝑖𝑖=1 𝑤𝑤𝑖𝑖 𝑥𝑥𝑖𝑖 ≥ 𝜃𝜃 (5) 𝑦𝑦 = 𝜑𝜑 𝑇𝑇 (∑𝑛𝑛𝑖𝑖=1 𝑤𝑤𝑖𝑖 𝑥𝑥𝑖𝑖 − 𝜃𝜃) = � 0 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 Fig. 3 : réseau de comparaison des valeurs absolues AVCN (cf.Mestari[1]) La figure Fig.4 illustre le réseau de comparaison (CN : comparison network), qui compare deux valeurs X_i et X_q d’un tableau de N éléments. Ce réseau est composé d’un réseau de comparaison des valeurs absolues et de plusieurs neurones à seuils. (Mestari [1] pour plus de détails). Le réseau de détection (DN : detection network), détecte et envoie vers la sortie l’élément l’ordre k,𝑋𝑋(𝑘𝑘) , du tableau X.Il est illustré par la figure 7 . (Mestari [1] pour plus de détails). Fig 7 : réseau de détection DN (cf.Mestari [1]) Fig.4 : réseau de comparaison CN(cf.Mestari[1]) La fonction du réseau d’ordre (ON : order network) est de calculer l’ordre de chaque élément 𝑋𝑋𝑞𝑞 du tableau X. ON est composé de (N-1) réseaux de comparaison CN. (Mestari [1] pour plus de détails). La figure Fig.8 illustre le réseau de sélection (SN : selection network), qui sélectionne parmi tous les éléments du tableau d’entrée X celui qui correspond à l’ordre choisi et le transférer vers la sortie. Ce réseau est composé de N réseaux d’égalité (EN) et un réseau de détection (DN). (Mestari [1] pour plus de détails). Fig.8 : réseau de sélection SN (cf.Mestari [1]) Fig. 5 : réseau d’ordre ON(cf.Mestari[1]) La figure Fig.9 illustre le AOSF où l'entrée adaptable détermine quel ordre statistique doit apparaître à la sortie. Le réseau illustré sur la figure 8 est constitué de deux types de neurones disposés en 11 couches. (Mestari [1] pour plus de détails). La figure Fig.6 illustre le réseau d’égalité (EN : equality network), qui détermine si l’ordre d’un élément est égal ou non à un nombre k (1 ≤ 𝑘𝑘 ≤ 𝑁𝑁). (Mestari [1] pour plus de détails). Fig 6 : réseau d’égalité EN (cf.Mestari [1]) Fig. 9 : AOSF (cf.Mestari[1]) Pour trier d'un tableau, un réseau doit donner tous les ordres statistiques des éléments et les disposer soit en ordre croissant ou décroissant.. Une mise en œuvre du réseau de tri (SortNet : sorting network) est représentée par la figure Fig.10. Ce réseau de tri est équivalent à N AOSFs mis en place en parallèle. Dans l’algorithme multicast, l’arbre T est initialisé par le nœud source s, ensuite c’est le sommet le plus proche à l’arbre qui va la joindre, c’est-à-dire celui qui constitue l’arête du plus faible coût avec un sommet de l’arbre T. Dans chaque itération, on aura besoin d’un réseau AOSF qui renvoi l’élément d’ordre k=1, et qui aura pour entrées les éléments d’ordre 1 renvoyé par les réseaux de tri SortNet implémenté au niveau de chaque sommet de l’arbre T. V. CONCLUSION Fig. 10 : réseau de tri SortNet (cf.Mestari[1]) Pour chaque sommet du graphe G, un réseau de tri SortNet tri les sommets lui est adjacents par ordre croissant de leurs coûts. Rappelons que, les sommets de G sont numérotés de 1 à N. Le graphe G est représenté par sa matrice de valuation 𝐻𝐻 = �ℎ𝑖𝑖𝑖𝑖 � 1≤𝑖𝑖≤𝑁𝑁 . Le tableau d’entrées, pour le réseau de tri 1≤𝑗𝑗≤𝑁𝑁 conçu pour chaque sommet k, correspond à la colonne k de la matrice de valuation H. On ne considère pas les zéros car ils signifient que n’y pas d’arrête qui lie cet élément avec le Cons Dans ce papier, on a présenté un algorithme de routage multicast et son implémentation dans la partie hardware à l’aide de réseaux de neurones spécifiques appelés les filtres d’ordre statistique adaptables. Le problème de routage multicast en multimédia consiste à trouver un arbre de Steiner, de coût minimal, qui relie le nœud sources à tous les nœuds de destinations. Le modèle qu’on propose exige l’implémentation d’un réseau de tri au niveau de chaque nœud du réseau, ces réseaux de tri sont constitués de plusieurs filtres d’ordre statistique adaptables. L’avantage de cette implémentation est que quelle que soit la taille du réseau, le tri se fait parallèlement, et a une complexité de 𝜃𝜃(1) pour chaque nœud. REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] Fig. 11 : N réseaux de tri SortNet pour le graphe G [9] M. Mestari, ”An analog Neural Network Implementation in Fixed Time of Adjutable-Order Statistic Filters and Applications”, IEEE Transactions On Neural Networks Vol. 15, No 3, pp. 766-785, May 2004. R.widyono. The design and evaluation of routing algorithms for real-time channels. S.L.Hakimi. Steiner’s problem in graphs and its implications. V.Kompella.Multicast Routing Algorithms for multimedia traffic.Phd thesis F.K.Hwang.The steiner tree problem MAMCRA:A constrained-based multicast routing algorithm. Venkataram, P., Ghosal, S., Kumar, B.P.V.: Neural Network Based Optimal Routing Algorithm for Communication Networks. Neural Networks 15(10) (2002)1289-1298 Rauch, H.E., Winarske, T.: Neural Networks for Routing Communication Traffic.IEEE Cont. Syst. Mag. 8(2) (1988) 26-31
© Copyright 2024 ExpyDoc