CHAPITRE 4. LES RESEAUX SOCIAUX

01. PRESENTATION D'UN RESEAU SOCIAL

Les présentations:

Facebook

Be Real

Instagram

Snapchat

TikTok

Twitter / X

Youtube

Pinterest

Les critères d'évaluation:

LE BAREME

La forme

Le diaporama

Remarque : Plus vous mettez de texte sur vos slides, plus vous aurez tendace à les lire et votre public également. Vous perdrez alors son attention.

La présentation

Le fond

Structure de l’exposé

Qualité des informations données

02.ÉTUDE D'UN RÉSEAU SOCIAL

Alban, Beatrice, Charles, Deborah, Eric, Fatima, Gerald, Helene sont inscrits sur le même réseau social. Voici les relations entre ces 7 individus sur ce réseau social :

Question 1 : Qui a le plus d’amis ? Qui a le moins d’amis ? 

Les informations dont on dispose sont difficiles à analyser en l’état. Nous n'avons pas de vue d'ensemble évidente. C'est pourquoi nous allons nous aider d'un outil mathématique pour représenter cette situation: les graphes.
Les membres du réseau vont être représentés par des sommets (cercle) et les liens d’amitié par des arêtes (segments)

Question 2 : Tracer (sur une feuille simple) le graphe représentant notre situation.
La distance entre deux sommets est le nombre minimum d’arêtes qu’il faut parcourir pour aller d’un sommet à un autre.

Question 3 : Refaire sur votre feuille le tableau et le remplir avec la distance entre chacun des sommets du graphe 

L’écartement d’un sommet est la distance maximale entre ce sommet et les autres sommets du graphe.

Par exemple, l’écartement de A est de 3 car la distance de A à un autre sommet est de 3 au maximum (H). 

Question 4: Refaire et compléter le tableau suivant : 

Le diamètre d’un graphe est la distance maximale entre deux sommets de ce graphe.
Le centre d’un graphe est le sommet qui a la longueur la plus petite avec les autres sommets
Le rayon d’un graphe la plus petite longueur qui permet de relier le centre à tous les autres sommets.

Question 5 : Déterminer le diamètre, le rayon et le centre de ce graphe.

03.ÉTUDE D'UN RÉSEAU SOCIAL ORIENTÉ

Dans la situation de la partie 1, la relation d’amitié était forcément réciproque : Alban était ami avec Béatrice impliquait que Béatrice était amie avec Alban. On dit que la relation est non-orientée.

La situation peut être différente pour certains réseaux sociaux où les relations sont de type « follow » : Éric peut être un « follower » de Déborah sans que la réciproque ne soit nécessairement vraie. Dans ce cas, la relation est dite orientée. Elle est alors représentée par une flèche.

Question 1 : Classer ces réseaux sociaux suivants s’ils sont orientés ou non. Facebook, Instagram, Twitter, Snapchat, BeReal, Discord, Tiktok.

Voici les relations entre ces 7 individus sur un autre réseau social où les relations sont de type « follow » :

Alban suit Béatrice et Déborah

Béatrice suit Alban

Charles suit Béatrice et Gérald

Déborah suit Alban, Chloé et Fatima

Éric suit Alban et Déborah

Fatima suit Éric

Gérald suit Déborah

Question 2 : Représenter cette nouvelle situation sous forme de graphe (Attention les arêtes sont désormais symbolisées par des flèches)

Question 3 : Déterminer le diamètre, le rayon et le centre de ce graphe (faites-le au brouillon et entrer vos résultats ici)

Question 4 : Quels sont les personnes les plus influentes de ce réseau social ?

Question 5 : Représenter ce réseau social sous forme de matrice d’adjacence.

BONUS: EXERCICE FACULTATIF

Sur ce réseau social, un utilisateur peut partager une photo avec certains de ses amis.
Les amis avec qui la photo est partagée, peuvent voir et commenter la photo.
Si quelqu’un commente une photo alors tous ses propres amis peuvent à leur tour voir la photo et le commentaire de la photo. Par contre, ils ne peuvent pas commenter la photo (sauf si son propriétaire avait choisi de partager les photos avec eux initialement).

Question 1 : Si Lucie publie une photo à tous ses amis directs, est-ce que Côme pourra visualiser la photo ? Donner une justification précise.

Lucie a ajouté une nouvelle photo sur son profil, elle ne veut pas que Jason puisse la voir.

Question 2 : Avec qui peut-elle partager sa photo, sans que Jason puisse la voir ?

Question 3 : A quel réseau social ce principe de fonctionnement vous fait-il penser ?

Question 4 : D’après vous, quel est le point de vigilance à avoir lors de la publication d’un support sur les réseaux sociaux?

Question 5 : Déterminer le diamètre, le rayon et le centre de ce graphe.

EXERCICE 4 : APPLICATION NUMÉRIQUE

Copiez et collez les codes ci-dessous afin de comprendre leur fonction et réaliser l'exercice numérique plus bas.

Voici comment créer et ajouter des sommets dans Python : 

import matplotlib.pyplot as plt

import networkx as nx


# création d'un graphe vide non orienté appelé "monReseau"

monReseau = nx.Graph()


monReseau.add_node("Audrey")

monReseau.add_node("Nicolas")

monReseau.add_node("Alexis")

monReseau.add_node("Hélène")


# dessine (draw) et affiche (show) le graphe "monReseau"

plt.clf()

plt.figure(figsize=(6, 3))

nx.draw(monReseau, with_labels=True)

plt.show()


print("Nombre de personnes =", monReseau.number_of_nodes())

Voici désormais comment y ajouter les liens entre chaque sommet.

monReseau = nx.Graph()


monReseau.add_node("Audrey")

monReseau.add_node("Nicolas")

monReseau.add_node("Alexis")

monReseau.add_node("Hélène")


monReseau.add_edge("Audrey", "Nicolas")

monReseau.add_edge("Audrey", "Alexis")

monReseau.add_edge("Nicolas", "Alexis")

monReseau.add_edge("Hélène", "Audrey")

monReseau.add_edge("Hélène", "Nicolas")

plt.clf()

plt.figure(figsize=(6,3))

nx.draw(monReseau, with_labels=True)

plt.show()


print("Nombre de personnes =", monReseau.number_of_nodes())

print("Nombre de liens =", monReseau.number_of_edges())

Tablons désormais sur un graphe orienté

monReseau = nx.DiGraph() # création d'un graphe orienté


monReseau.add_node("Audrey")

monReseau.add_node("Nicolas")

monReseau.add_node("Alexis")

monReseau.add_node("Hélène")


monReseau.add_edge("Audrey", "Nicolas")  # lien de Audrey vers Nicolas

monReseau.add_edge("Audrey", "Alexis")

monReseau.add_edge("Nicolas", "Alexis")

monReseau.add_edge("Hélène", "Audrey")

monReseau.add_edge("Hélène", "Nicolas")

monReseau.add_edge("Alexis", "Audrey")

plt.clf()

plt.figure(figsize=(6, 3))

nx.draw(monReseau, with_labels=True)

plt.show()


print("Nombre de personnes =", monReseau.number_of_nodes())

print("Nombre de liens =", monReseau.number_of_edges())

APPLICATION NUMÉRIQUE

Exercice: À l'aide des codes ci-dessus. Modélisez votre propre réseau social non-orienté entre 6 amis. Vous déterminerez vous-même leurs noms et leurs relations d'amitié.

BONUS : Modélisation aléatoire d'un réseau social

from random import random


monRezo = nx.Graph()


Liste = ["Ronaldo", "Messi", "Totti", "Salah", "Pogba", "Neymar"]

p = 0.3


for a in Liste:

    monRezo.add_node(a)


for b in Liste:

    for c in Liste:

        if random() < p:

            monRezo.add_edge(b, c)

plt.clf()

plt.figure(figsize=(6, 3))

nx.draw(monRezo, with_labels = True)

plt.show()


print("Nombre de personnes =", monRezo.number_of_nodes())

print("Nombre de liens =", monRezo.number_of_edges())