Voir feuille (non numérisée).
On ne cherche à coder que les destinations possibles à partir de chaque carrefour. On n’attache aucune importance à :
La seule chose qui va nous aider pour la suite, c’est de mettre deux flèches plutôt qu’une à double pointe.
Attention, même si on considère qu'étant à un carrefour on peut y aller (puisqu'on y est), on ne met de flèche que s'il y a une rue.
Lorsque l’on joue à ces jeux, les points et les segments bougent, mais le graphe correspondant reste inchangé.
Mais a-t-on ici des graphes simples orientés ?
C’est le schéma réalisé lors de l’activité, avec les flèches.
On préfèrera deux simples flèches au lieu d’une double, plus pratique pour compter le nombre de flèches.
Un graphe simple orienté est défini par deux ensembles $X$ et $U$.
$X = \left\{x_1, x_2, x_3,… x_n\right\}$ est un ensemble fini qui contient les sommets ou les nœuds du graphe.
$U = \left\{ (x_i, x_j),… \right\}$ est un ensemble de couples de sommets, appelés arcs (ou arêtes orientées), qui décrit les relations entre les nœuds.
Remarque :
Les couples mathématiques sont ordonnés et peuvent contenir deux fois le même
objet.
À partir de l’activité :
$X = \left\{ A, B, C, D \right\}$
$U = \left\{ (A, B) ; (A, C) ; (A, D) ; (B, C) ; (C, B) ; (C, D) ; (D, A) ; (D, D) \right\}$
On dit que $x_j$ est un successeur de $x_i$ si $(x_i, x_j) \in U$, autrement dit si $(x_i, x_j)$ est un arc du graphe. On note $\Gamma (x)$ l’ensemble des successeurs de $x$.
On dit que $x_i$ est un prédécesseur de $x_j$ si $(x_i, x_j) \in U$, autrement dit si $(x_i, x_j)$ est un arc du graphe. On note $\Gamma^{-1} (x)$ l’ensemble des prédécesseurs de $x$.
À partir de l’activité :
On organise souvent ces informations dans des tableaux:
| x | successeurs de x | | x | prédécesseurs de x |
+-----+-------------------+ +-----+---------------------+
| | | | | |
Remarque : Un seul de ces tableau suffit pour connaître entièrement le graphe, et par exemple construire l'autre tableau.
La matrice d’adjacence d’un graphe simple orienté à $n$ sommets est la matrice carrée $n×n$ où, si l’on note $a_{ij}$ son terme général :
À partir de l’activité :
$$M = \begin{pmatrix} 0 & 1 & 1 & 1 \\\\ 0 & 0 & 1 & 0 \\\\ 0 & 1 & 0 & 1 \\\\ 1 & 0 & 0 & 1 \\\\ \end{pmatrix}$$
Dans un graphe simple orienté, on dira que :
À partir de l’activité :
La longueur d’un chemin à $p$ sommets (possiblement identiques) vaut $p-1$.
Autrement dit, c’est le nombre d’arcs qui le composent.
Soit $M$ la matrice d’adjacence d’un graphe simple orienté à $n$ sommets.
Le nombre de chemins de longueur $p$ (donc à $p+1$ sommets) allant de $x_i$ à $x_j$ est le coefficient de $M^p$ se trouvant à la ligne $i$ et à la colonne $j$.
Attention, ici $M$ est considérée à coefficients entiers.
À partir de l’activité étudions les chemins de longueur 1, puis 2, puis 3…
D’une part, $M^1 = M$.
D’autre part, les chemins de longueur 1 sont les arcs du graphe. On retrouve bien la définition de $M$ : présence (1) ou non (0) d’un arc.
En calculant le coefficient ligne 1 colonne 2 de $M^2$, on s’aperçoit que l’on cumule le nombre de chemins partant de A et allant vers B et passant par un seul point intermédiaire :
Par exemple, $a_{32}$ est le nombre d’arcs (0 ou 1) allant de C à B.
Le produit matriciel est donc l’outil naturel pour ce calcul.
Un chemin de longueur 3 peut être considéré comme un chemin de longueur 2 auquel on a ajouté un arc. Si on considère les chemins de longueur 3 allant de A à D, il suffit de :
Ici on note $b_{ij}$ les coefficients de $M^2$.
On s’aperçoit que l’on calcule le coefficient à la 1ère ligne et 4ème colonne de la matrice $M^2 × M = M^3$.
On remarque aussi que l’on peut considérer $M^3 = M × M^2$.
Idem avec $M^4 = M × M^3 = M^2 × M^2 = M^3 × M$.
La fermeture transitive d’un graphe $G$ est notée $\hat G$ (prononcé « gé chapeau » et est le graphe obtenu en :
Si $M$ est la matrice d’adjacence de $G$, on note $\hat M$ la matrice d’adjacence de $\hat G$, appelée la matrice d’accessibilité de $G$. On a :
$$\hat M = M \oplus M^{\left[2\right]} \oplus M^{\left[3\right]} \oplus ... \oplus M^{\left[n\right]}$$
où $\oplus$ et $\left[i\right]$ sont la somme booléenne et la puissance booléenne des matrices, et $n$ la taille du graphe $G$.
Calculer $M^{\left[2\right]}$, $M^{\left[3\right]}$ et $M^{\left[4\right]}$, puis les additionner avec la somme booléenne.
Remarque : Pas besoin de calculer $M^5$ car elle ne peut pas ajouter un nouvel arc. En effet, il n’y a que quatre nœuds.
En physique, l’énergie est, entre autres, ce que produit ou reçois un système suite à un travail.
L’énergie se mesure en joules (ou parfois calories).
La puissance est la quantité d’énergie par unité de temps. Elle se mesure en Watts (joules par seconde).
On comprend ainsi que le Wh qui est sur nos factures (qui se dit « watt heure ») est une autre unité pour l’énergie, qui vaut 3600 joules. C’est l’énergie produite par une puissance de 1 W pendant une heure (on multiplie).
L’unité de la puissance de travail est l’homme (ce qui est assez sexiste).
L’unité de temps est le jour.
Le produit des deux est en quelque sorte une unité d’énergie : le jour-homme : le travail produit par une personne pendant un jour.
Exemple : la quantité 6jh peut représenter le travail effectué :
Ici, le travail réalisé est donné par la surface des rectangles.
Pour un graphe ne comportant pas de cycle, on peut classer les nœuds par niveaux. Pour cela, on commence par construire le tableau des prédécesseurs (voir plus haut pour la définition).
| x | prédécesseurs de x |
+-----+---------------------+
| A | rien |
| B | C, A |
| C | rien |
| D | A, E |
| E | rien |
| F | D |
| G | B, F |
Le niveau zéro est constitué des nœuds qui n’ont pas de prédécesseur. Ici ce sont A, C et E.
Dans la colonne de droite, on barre ces nœuds.
Le niveau un est constitué des nœuds qui n’ont pas de prédécesseurs après avoir barré les nœuds de niveau zéro. Ce sont B et D.
Le niveau deux est constitué des nœuds qui n’ont pas de prédécesseurs après avoir barré les nœuds de niveau zéro et un. C’est ici F.
Idem pour le niveau trois, où on trouve le dernier nœud G.
L’organisation « par niveaux » permet de dessiner le graphe avec des flèches qui vont toutes vers la droite.
C’est un graphe où on associe à chaque arc un nombre : son poids ou sa valeur.
La valeur d’un chemin est la somme des valeurs des arcs qui le composent.
Abus de langage : on dit parfois « longueur » à la place de « valeur ».
Nous allons ici présenter la méthode MPM (Méthode des potentiels métra). Il est possible d’obtenir les mêmes résultats avec la méthode PERT (de l’anglais « program evaluation and review technic »). Voir sur Wikipedia MPM et PERT.
C’est le retard autorisé pour une tâche (à partir de la date au plus tôt) sans qu’elle ne retarde la fin du projet.
Date au plus tard - Date au plus tôt
C’est le retard autorisé pour une tâche (à partir de la date au plus tôt) sans retarder aucune des tâches suivantes.
Min(Dates au plus tôt suivantes) - (Date au plus tôt de la tâche + Durée de la tâche)
Rarement étudiée.
C’est le retard autorisé (à partir de la date au plus tard) sans retarder la fin du projet.
Min(Date au plus tôt suivantes) - (Date au plus tard tâche S + Durée tâche S)
Dans un projet, il existe toujours au moins un chemin qui :
C’est le (ou les) chemin critique. Les tâches le constituant sont les tâches critiques.
Certains graphes sont dits arborescents.
Représentation préférée : par niveaux et du haut vers le bas, en commençant par la racine.
Les outils vus précédemment sur les graphes s’appliquent aussi !