RTSF-7

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
ele sommet le plus proche à T
TT+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