Vous êtes sur la page 1sur 13

SOMMAIRE

1. Introduction
2. Algorithme de Dijkstra
2.1. Présentation Générale (Mathématique)
2.1.1. L’Algorithme en lui-même
2.1.2 Explication de l’Algorithme
2.2. Présentation Spécifique aux Réseaux Informatiques
(RI)
2.2.1. Manières de transmettre l’information dans un RI
2.2.2. L’Utilisation de l’algorithme de Dijkstra dans un
RI
2.3. Illustration
3. Algorithme de Bellman-Ford
3.1 Présentation Générale (Mathématique)
3.1.1. L’Algorithme en lui-même
3.1.2. Explication de l’Algorithme
3.2. Présentation Spécifique aux réseaux Informatiques
3.3. Illustration
4. Conclusion

1
1. Introduction

De nos jours, le monde est exposé à un dilemme qui est le


traitement rapide de plusieurs informations qui font que le
soucis de transmettre (et/ou même de recevoir) l’information de
manière rapide et sécurisé a poussé certaines grandes têtes
pensantes a mettre en place des méthodes (Algorithmes) pour la
résolution de ce type de problème. Comme méthodes nous en
avons plusieurs qui ont vue le jour en particulier : l’algorithme
de Dijkstra et Celui de Bellman-Ford. C’est deux algorithmes,
souvent appelés Algorithmes de plus court chemin, traitent de
la recherche du plus court parcours ou chemin ou arc
permettant de transmettre rapidement dans un réseau.
Ainsi dans notre étude nous allons nous intéresser a
l’application de ces algorithmes dans un réseau informatique.
2. Algorithme de Dijkstra
2.1. Présentation Générale (Mathématique)

L’algorithme de Dijkstra est un algorithme, qui a été


conçu pour trouver le plus court chemin entre un sommet
source et les autres sommets dans les graphes qui ne
comportent pas de valeurs d’arc négatives, comme celui-
ci :

2
2.1.1. L’Algorithme en lui-même

Dans cette sous-section nous allons présenter


l’algorithme de Dijkstra a proprement dit :
1. Initialisation
S′ = {s2, s3, . . ., sn}
λ (S1) = 0
λ (Si) = l (s1, si) si si est un successeur de s1 sinon λ (si) = ∞
2. Sélection d’un sommet
Sélectionner si ∈ S′ tel que λ (si) = Minsk∈S’( λ(sk))
Faire S′ ← S′ − {si}
Si S′ est vide FIN
Sinon aller en 3
3. Calcul des valeurs de λ
Faire pour tout sj à la fois dans Γ (si) et dans S′
λ (Sj) ← Min( λ (sj), λ (si) + l (si, sj))
Et retourner en 2
2.1.2. Explication de l’Algorithme

Etape 1 : Initialisation

3
On considère un ensemble de sommets au seins du
quel on fait le choix de notre sommet source. Puis on détermine
la distance entre le sommet source et tous les autres sommets.
Etape 2 : Itérations
Dans cette étape, on sélectionne des sommets
(nœuds) qui nous servirons dans l’étape 3. Mais il faut savoir
que ces nœuds sélectionnés vont nous permettre de pouvoir
trouver le nœuds qui nous permettra d’arriver facilement au
nœud cibler.
Etape 3 : Calculs
Dans cette étape-ci on calcule juste les distances et on
fait le tableau (ou tableau récapitulatif) qui nous permettra de
trouver le plus court chemin.

2.2. Présentation Spécifique aux Réseaux Informatiques


(RI)
2.2.1. Manières de transmettre l’information dans un
RI

En General, L’information est acheminée dans un


réseau informatique d’un nœud a un autre nœud, par le
transport des blocs d’un point d’entré à un point de sortie (qui
est reconnu par son adresse). Ainsi il faut savoir que les nœuds
d’un réseau comportent des tables appelées (tables de
Routage) qui indiquent la route à suivre pour atteindre un
nœud (destination). Dans notre cas il s’agit de trouver un

4
chemin optimal pour une transmission rapide et efficace de
l’information.

2.2.2. L’Utilisation de l’algorithme de Dijkstra dans un


RI

En se situant spécifiquement sur la manière de


transmettre l’information lorsque l’algorithme de Dijkstra est
utilisé, on remarque qu’ici les routeurs avant la transmission de
l’information procèdes de manière suivante :

 Chaque nœuds (Routeurs) détermine tous les


nœuds qui lui sont voisins et décide du plus court
chemin ;
 Le premier nœud qui établit l’information procède
à des tests et lorsqu’il y a changement du coût de
transmission le nœud diffuse cette information
dans le réseau ;
 Chaque nœud établit une table, pour la liaison, de
coût (matrice de coûts ). A partir de ces
informations, chaque nœuds peut ainsi constituer
un ensemble de chemins au seins du réseau qui lui
permettra de transmettre l’information a un autre
nœud très rapidement.
 A l’aide de la matrice de coût, chaque nœuds
établit une table de routage.

2.3. Illustration

5
Considérons le réseaux informatique ci-dessus constituer des
routeurs A, B, C, D, E, F et G. Nous allons ici illustrer
l’algorithme de Dijkstra en établissant la table de routage du
nœud (routeur) A.
Tout d’abord représentons la matrice des coûts appelée
Matrice des états de liens du système autonome (Figure
précédente) :

Etat A B C D E F G
A 0 2 1 - - - -
B 2 0 2 1 3 - -
C 1 2 0 4 3 5 -
D - 1 4 0 3 6 5
E - 3 3 3 0 1 -
F - - 5 6 1 0 2
G - - - 5 - 2 0
En suite calculons la table de routage du routeur A :
Pour ce faire on va devoir calculer la route la plus rapide (de
moindre cout) du nœud A à tous les autres nœuds (B, C, D, E,
F, G).

6
Route AB : Le plus court chemin entre le nœud A et B vaux 2
alors on a AB,2,B (la route AB vaux 2 passant directement par
le nœud B)
Route AC : Le plus court chemin entre le nœud A et C vaux 2
alors on a AC,1,C
Route AD : directement on a AD,3,B
Route AE : directement on a AE,4,C
Route AF : directement on a AF,6,C
Route AG : directement on a AG,8,F
Donc la table de routage de A est :
A AB,2, AC,1, AD,3, AE,4, AF,6, AG,8,
B C B C C F

3. Algorithme de Bellman-Ford
3.1. Présentation Générale (Mathématique)

L’algorithme de Bellman-Ford tout comme celui de


Dijkstra, est un algorithme conçu pour la recherche du
plus court chemin entre un sommet source et un sommet
destinataire. Mais la différence est que cet algorithme-là
peut s’appliquer aux graphes comportant des pondérations
(valeurs) négatives et/ou positives. Comme illustre le
graphe suivant :

7
3.1.1. L’Algorithme en lui-même

1. Initialisation
λ 0(s1) = 0
λ 0 (si) = ∞ pour tout si ≠s1
k=1
2. A l’itération k
Faire λ k(s1) = 0
et λ k(sj) = Min( λ k-1(sj),MinsiϵΓ -1(sj)¿k-1(si) + l(si, sj))) pour tout sj
≠s1
3. Si λ k(si) = λ k-1(si) pour tout i alors FIN
Si k ≤ n − 1 aller en 2 avec k ← k + 1
Si k = n alors il existe un circuit absorbant

3.1.2. Explication de l’Algorithme

Etape 1 : Initialisation


Dans cette étape on initialise un sommet source et
on considère la distance entre ce sommet et tous les autres
sommet qui ne sont pas direct a lui a l’infini.

8
Etape 2 : à l’itération k
Dans cette étapes il s’agit de sélectionner que les
nœuds voisins du nœud source et récupérer la distance
minimal entre les distances qu’on aura trouvé ; on répètera
cette étape tant que les sommets sont différents.
Etape 3 : la phase de test pour vérifier si on a un
circuit absorbant
- Si pour le même sommet on trouve a deux
itérations successives les mêmes valeurs on met
fin à l’algorithme ;
- Si le nombre d’itérations reste toujours
inferieur a n-1 nombre de nœuds on reprend
sans cesse l’étape 2 ;
- Si a une itération on voit qu’on a le même
nombre d’itérations que de nœud on fait la
remarque qu’il y a un circuit absorbant.

3.2. Présentation Spécifique aux réseaux Informatiques

Dans le routage de Bellman-Ford ou Routage de vecteur


distance, chaque nœud appartenant à se réseau maintient
un table de routage qui comporte pour chaque nœud un
moyen d’entrée par ce nœud et le cout pour joindre se
nœud. Et périodiquement chaque nœud communique sa
table de routage a ses voisins proches. Ainsi le nœud
destinateur sais qu’il peut être accessible par le nœud de
départ. Ainsi 
Il faut savoir que, lorsque le nœud reçoit une information
il la compare d’abord à sa base de propriétés avant de la
traiter alors :

9
- Si la table reçu contient une entrée inconnue, le
routeur additionne le coût de cette entrée et celui
du lien et la positionne dans sa table (mise à jour
spontanée) on a par ce mécanisme
l’apprentissage d’une nouvelle table par le
routeur ;
- Si la table reçoit une entrée connue et que le cout
calculer est supérieur à l’information qu’il
contient, il ignore cette information, dans le cas
contraire il met sa table à jour en considérant la
valeur de la nouvelle entrée.
Petit à petit chaque nœud apprend la configuration du réseau et
le coût des différents chemins.

3.3. Illustration

Etant donné que pour illustrer l’algorithme de Bellman-


Ford on a besoins de nécessairement faire la table de
chaque nœud on va recapituler ca par un exemple
illustratif directe :

10
11
Au premier échange, le nœud A apprend, qu’il peut joindre le
nœud B en passant par le lien β pour un coût de 0 (contenu de
la table du nœud B pour l’entrée B), coût auquel il convient
d’ajouter le coût du transit sur le lien β soit ici 1. A n’a pas, en
table, d’information concernant B, il met sa table à jour.
Chaque nœud procède de même. En ne considérant que le
nœud A, lors du second échange, A apprend qu’il peut joindre
les nœuds A, B et C en passant par le lien β pour un coût
respectif de :
– Pour A, de 1 (valeur reçue) + 1 (coût du lien β), soit 2, A a
déjà une entrée pour cette destination
avec un coût de 0, il conserve l’entrée de moindre coût.
– Pour B, de 0 + 1 soit 1, valeur déjà dans sa base
connaissance, celle-ci est ignorée.
– Pour C, de 1 + 1 soit 2, A n’a aucune entrée concernant C
dans sa table, il ajoute cette valeur.

4. Conclusion
Nous avons explorer dans notre étude, l’utilité de
l’algorithme de Dijkstra et celui de Bellman-Ford dans les
réseaux informatiques et vue la spécificité de chacun. Entre
l’algorithme de Dijkstra qui permet à chacun des nœuds du
réseau de calculer dans sa tables de routage la plus courte
distance entre lui et tous les autres nœuds du réseau et celui de
Bellman-Ford qui lui oblige chaque nœuds à maintenir une
table de routage, comportant principalement le moyen d’entrée
par ce nœud et le cout pour joindre se nœud, qui est
communiquer que a ses voisins les plus proches l’objectif est le
même ; transmettre l’information de manière rapide.

12
13

Vous aimerez peut-être aussi