H135. Vaine polémique
Dans ce pays, les huit mégapoles régionales sont reliées entre elles deux à deux par un réseau de routes directes. Malgré l'absence de carrefours, les accidents sont si nombreux que les pouvoirs publics annoncent leur intention de mettre toutes les routes à sens unique. Une polémique éclate sous prétexte que la longueur des trajets sera considérablement allongée.
Montrer que cette polémique est vaine en proposant un plan de circulation dans lequel pour aller d'une ville quelconque à une autre avec un réseau de routes à sens unique, on passe au maximum par une autre ville.
Solution proposée par Patrick Gordon
Il s'agit de construire un graphe orienté, antisymétrique (s'il comporte l'arc i,j alors il ne comporte pas l'arc j,i) à n = 8 sommets, tel que la distance entre deux sommets quelconques (nombre d'arcs du plus court chemin entre eux) soit ≤ 2.
On peut procéder par récurrence sur n.
Pour n = 3, la solution est évidente et unique (à une permutation près des noms des sommets, comme dans toute la suite) :
1 3
2
Ce que l'on peut représenter par la matrice d'incidence :
1 2 3
1 0 1 0
2 0 0 1
3 1 0 0
Pour n = 4, la récurrence commence mal, car il n'y a pas de solution.
En effet, si l'on ajoute un sommet 4, il faut bien le relier par un arc à l'un des trois premiers sommets. Disons au sommet 1 (c'est indifférent en raison de la symétrie circulaire du premier graphe). On ne peut alors atteindre en un ou deux arcs que les sommets 1 et 2. Il faut donc relier 4 à 2 (pour atteindre 3 en deux arcs) ou à 3 par un nouvel arc.
Si on relie 4 à 2 (flèche verte), seuls 2 et 3 peuvent être reliés à 4 par un arc (3,4) (le premier indirectement, le second directement) mais 1 ne peut être relié à 4 sans créer un double sens, ni directement ni via 2.
Si on relie 4 à 3 (flèche rouge), seuls 1 et 2 peuvent être reliés à 4 par un arc (2,4) (le premier indirectement, le second directement) mais 3 ne peut être relié à 4 sans créer un double sens, ni directement ni via 1.
1 3
4 2
Il faut donc repartir à zéro pour n = 5.
Pour n = 5, on trouve assez facilement le graphe dont la matrice d'incidence est (il n'est pas question désormais de tracer les flèches, qui deviendraient vite illisibles) :
1 2 3 4 5
1 0 1 1 1 0
2 0 0 0 1 1
3 0 1 0 0 1
4 0 0 1 0 1
5 1 0 0 0 0
Pour n = 6, le raisonnement par récurrence reprend :
J'ajoute un sommet 6 et je constate (en regardant la matrice ci-dessus, colonne 1) que, pour atteindre 1 en un ou deux arcs, je dois créer l'arc (6,1) ou l'arc (6,5).
Si je choisis l'arc (6,1), je peux atteindre 1 en un arc et 2, 3, 4 (via 1) en deux arcs (il suffit de lire la ligne 1 de la matrice ci-dessus). Il me reste donc à atteindre 5.
Je peux songer à l'atteindre directement en créant l'arc (6,5). Mais alors, comment irai-je de 5 à 6? Pas directement par un arc (5,6) qui créerait un double sens avec (6,5). Indirectement donc mais, d'après la ligne 5 de la matrice ci-dessus, pour aller de 5 à 6 en deux arcs, je ne peux passer que par 1. Or je n'ai pas droit à (1,6) car j'ai déjà pris (6,1). Je dois donc renoncer à passer de 6 à 5 directement en créant l'arc (6,5).
La colonne 5 de la matrice montre que l'on peut atteindre 5 en deux arcs en passant par 2, 3 ou 4. Pour fixer les idées, je choisis (6,2). Je peux dès lors atteindre depuis 6, en un ou deux arcs, tous les sommets de 1 à 5.
Mais il me faut aussi "revenir à 6". Puisque j'ai renoncé à (6,5), j'ai droit à (5,6), qui me permet de revenir à 6 directement depuis 5 et indirectement (via 5; cf. colonne 5 de la matrice) depuis 2, 3 et 4. Reste à revenir de 1 à 6. Je peux le faire, pour fixer les idées, en ajoutant l'arc (4,6), puisqu'il n'existe pas de (6,4) (4 étant atteint via 5).
En définitive donc, pour passer de 5 à 6, j'ajoute les arcs :
(6,1) (6,2)
(5,6) (4,6),
et la matrice d'incidence devient (la partie 5×5 est inchangée) :
1 2 3 4 5 6
1 0 1 1 1 0 0
2 0 0 0 1 1 0
3 0 1 0 0 1 0
4 0 0 1 0 1 1
5 1 0 0 0 0 1
6 1 1 0 0 0 0
Pour n=7, on raisonne de même :
Depuis 7 (cf. les lignes de la dernière matrice) : via 1, j'atteins (en un ou deux arcs) : 1, 2, 3, 4;
via 4 j'atteins en outre 5 et 6.
Vers 7 (cf. les colonnes) : via 5, je "reviens" de 2, 3, 4, 5; via 2, je "reviens" en outre de 1 et 6.
J'ajoute donc les arcs :
(7,1) (7,4) (5,7) (2,7),
et la matrice d'incidence devient (la partie 6×6 est inchangée) :
1 2 3 4 5 6 7
1 0 1 1 1 0 0 0
2 0 0 0 1 1 0 1
3 0 1 0 0 1 0 0
4 0 0 1 0 1 1 0
5 1 0 0 0 0 1 1
6 1 1 0 0 0 0 0
7 1 0 0 1 0 0 0
Pour n = 8, un raisonnement de même nature conduit à ajouter les arcs :
(8,1) (8,2) (8,4) (3,8) (6,8) (7,8),
et la matrice d'incidence devient (la partie 7×7 est inchangée) :
1 2 3 4 5 6 7 8
1 0 1 1 1 0 0 0 0
2 0 0 0 1 1 0 1 0
3 0 1 0 0 1 0 0 1
4 0 0 1 0 1 1 0 0
5 1 0 0 0 0 1 1 0
6 1 1 0 0 0 0 0 1
7 1 0 0 1 0 0 0 1
8 1 1 0 1 0 0 0 0
Une vérification peut être faite en élevant au carré cette matrice A (le terme i,j de A² donnera le nombre de chemins de deux arcs entre i et j) et en construisant la matrice B où :
B(i,j) = 0 si A(i,j) + A²(i,j) = 0 (i.e. s'il n'existe pas de chemin de longueur 1 ou 2 entre i et j)
= 1 si A(i,j) + A²(i,j) > 0 (i.e. s'il existe un chemin de longueur 1 ou 2 entre i et j).
On vérifie que cette matrice B ne comporte que des 1 (sauf pour i = j naturellement).
Ultimes remarques :
1. Cette solution n'est pas nécessairement unique; sa construction ne visait qu'à établir le théorème d'existence. En outre, comme elle ne semble pas présenter de symétrie particulière, on doit pouvoir en déduire 8! – 1 autres par permutation des noms des sommets.
2. On pouvait s'attendre à trouver un graphe complet c'est-à-dire où les 8 × 7 = 56 couples orientés (i,j) (avec i ≠ j) sont reliés. On en est loin : la matrice ci-dessus ne comporte que 24 "1". Plus curieux : si, de chaque sommet, partent 3 arcs (sommes en lignes), il en arrive un nombre variable d'un sommet à l'autre (les sommes en colonnes donnent 2, 3 ou 4.