Utilisateur:Solstag/Modélisation des Réseaux (M1 SIREN, 2021)/Activité E

Une page de Wikiversité.
Aller à la navigation Aller à la recherche

Mon réseau[modifier | modifier le wikicode]

Instruction[modifier | modifier le wikicode]

Considérez le graphe du diapo 25 de l'ensemble 3 :

  • Enlevez les nœuds "g" et "h".
  • Parmi les lettres [a, b, c, d, e, f], prenez la première et la dernière qu'apparaissent dans votre nom complet. On va las appeler L1 et L2.
    • Par exemple, dans mon nom je trouve "a" (dans Alexandre) pour L1 et "d" (dans Abdo) pour L2.
  • Enlevez l'un des liens sortants du nœud L1.
  • Rajoutez un lien depuis un nœud autre que L1 vers le nœud L2.

Résultat[modifier | modifier le wikicode]

Mon L1 est le nœud a et mon L2 est le nœud d.

Voici mon graphe :

J'enlève un lien sortant de mon nœud L1 - je choisis (a, b) - et j'ajoute un lien vers mon nœud L2 - je choisis (f, d).

Composantes[modifier | modifier le wikicode]

Instruction[modifier | modifier le wikicode]

I. Identifiez les composantes fortement connexes du graphe.

Résultat[modifier | modifier le wikicode]

Les composantes sont : {a, d, f}, {b}, {c}, {e}.

Proximité et intermédiarité[modifier | modifier le wikicode]

Instruction[modifier | modifier le wikicode]

I. Calculez la proximité de L1 et L2.

II. Calculez l'intermédiarité de L1 et L2.

Résultat[modifier | modifier le wikicode]

IMPORTANT : Pour le calcul de la proximité et intermédiarité il faut considérer la composante fortement connexe à laquelle le nœud appartient.

Le graphe est orienté donc ont peut parler de proximité entrante et sortante.

La proximité sortante de L1 (a) est l'inverse de la somme de la distance de a vers les autres membres de sa composante fortement connexe {a, d, f} : 1/3.

La proximité entrante de L1 (a) est l'inverse de la somme de la distance vers a de chacun des membres de sa composante fortement connexe {a, d, f} : 1/3.

La proximité sortante de L2 (d) est l'inverse de la somme de la distance de d vers les autres membres de sa composante fortement connexe {a, d, f} : 1/3.

La proximité entrante de L2 (d) est l'inverse de la somme de la distance vers d de chacun des membres de sa composante fortement connexe {a, d, f} : 1/2.

Pour l'intermédiarité d'un nœud on ajoute pour chacun des pairs orientés des autres nœuds la fraction des chemins les plus courts entre eux qui passent par le nœud:

Intermédiarité de L1 (a) : 0 pour le pair (d, f) plus 0 pour (f, d) = 0.

Intermédiarité de L2 (d) :1 pour (a, f), 0 pour (f, a) = 1.

Vecteur propre et PageRank[modifier | modifier le wikicode]

Instruction[modifier | modifier le wikicode]

II. Construisez la matrice pour le calcul de la centralité de vecteur propre par multiplication matricielle, comme proposé dans les diapos.

II. Calculez une itération de PageRank avec  :

  • Initialisez le vecteur de matière pour le calcul de la centralité de vecteur propre en la partageant également entre tous les nœuds.
    • Pour simplifier le calcul vous pouvez choisir une quantité totale égale au nombre de nœuds, d'une telle sorte que chaque nœud est initialisé avec .
  • Pour une fois :
    • Faites une itération pour tous les nœuds de l'algorithme pour e calcul de la centralité de vecteur propre (de façon matricielle ou manuelle).
    • Multipliez la matière dans chaque nœud par , puis partagez également de la matière totale entre tous les nœuds.
  • Vérifiez que la matière totale n'a pas changé au bout des comptes.

Résultat[modifier | modifier le wikicode]

Plaçant les nœuds ordonnées alphabétiquement, on obtient la matrice  :

, ,

J'initialise mon vecteur de matière distribuant également une matière totale de  :

Je procède au calcul d'une itération de la centralité de vecteur propre :

Même avant la multiplication par le facteur redistributif s, je note que la matière totale est passée à ...  ?! Ce n'est pas bien.

Ah, je lis la note sur les « nœuds sans issue » et je me rends compte que mon nœud c n'a pas d'issue ! Il faut alors suivre l'instruction et traiter le nœud c comme s'il était connecté à tous les autres nœuds, pour distribuer également sa matière entre eux. Comme ça on obtient une nouvelle matrice  :

, ,

Et donc le nouveau calcul de l'itération :

Pour une matière totale après l'itération de ... 6 ! Elle reste inchangé, comme on voulait.

On peut alors effectuer l'étape de redistribution, pour éviter que le risque que la matière se concentre uniquement dans quelques composantes fortement connexes du graphe vers lesquelles elle rentrerait mais ne sortirait pas.

On vérifie que la matière totale est ... 6 ! Super !

Question pour les curieux[modifier | modifier le wikicode]

Instruction[modifier | modifier le wikicode]

Il est aussi possible de représenter l'étape redistributive ("revenu universel") sous la forme d'une matrice qui multiplie le vecteur de matière. Quelle serait cette matrice ?

Résultat[modifier | modifier le wikicode]

Attribuer à chaque nœud une partie de la matière de chacun des nœuds, cela correspond à une matrice où tous les éléments sont , où est le nombre de nœuds du graphe.

Comme on veut aussi garder une partie de la matière de chaque nœud dans le nœud lui-même, il faut ajouter ce terme à la diagonale de la matrice.

Dans notre cas, pour (et donc ) on obtient alors la matrice de redistribution :

Plus généralement, employant la notation , pour un réseau à nœuds on peut définir cette matrice comme .