Académique Documents
Professionnel Documents
Culture Documents
Reseau routier
Un reseau routier peut Atre represente par un dessln qui se compose de points el de tra~s continus
reliant deux a deux certains de ces points : les points sont les vllea, et les NgnN sont les routes. On
considere que toutes les routes sont a double sens. Chaque route peut Atre affectee par une valeur qui peut
representer le temps ou la distance entre deux villas, ...
Partie I:
Modelisation d'un reseau routier
On considere un reseau routier compose de n villes (avec n 2). Les villas du reseau routier sont
numerotees par des entiers allant de o an-1.
Example:
Pog~Jsurl
ZEKRAOUI
Pour plus de clarte, tousles examples de ce probleme seront appliques sur le reseau routier de la figure 2.
~:
Le reseau routier de la figure 2 est represente par la matrice symetrique R, d'ordre 8, suivante:
1/J 0 J l .J 4 5 6 7
0 0 1 1 1 0 0 0 0
J 1 0 1 0 1 0 0 0
l 1 1 0 1 1 0 0 0
3 1 0 1 0 1 0 1 1
4 0 1 1 1 0 1 1 0
5 0 0 0 0 1 0 1 1
6 0 0 0 1 1 1 0 1
7 0 0 0 1 0 1 1 0
NB : Dans la matrice symetrique R, /es lignes I et /es colonnes Jrepresentent /es villes OJ reseau routier.
PogeZsurB
ZEKRAOUI
~:
La matrice symetrique R, du reseau routier de la flgla'e 2, est representee par la lisle R, composee de 8
isles, de taille 8 chacune :
R • [ [0,l,1,1,0,0,0,0], [l,0,1,0,1,0,0,0], [l,l,0,1,1,0,0,0],
[l,O,l,0,1,0,1,1], [O,l,1,1,0,l,1,0], [0,0,0,0,1,0,1,1],
(0, 0, 0, 1, 1, 1, 0, 1), (0, 0, 0, 1, 0, 1, 1, OJ
a
R[i] I j] est l'elementde R, la i-- igne et la 1- cotonne.
Examples: R[OJ[O) est !'element : 0, et R[OJ[2) est !'element : 1
Q 1- A partir de la matrice symetrique R de la flgla'e 2, dormer les resultats des expressions suivantes :
R(4)[2) , R(1) , len(R[2)) , len(R)
Q 2. a- Eaire la fonction voiaines (i, j, R) I..qui re~i!,'" parametres deux vi lies I et J d'un reseau
routier represente par la matrice symeb'ique R1i'1onction renvoie True si les villes I et J sont voisines,
sinon, la fonction renvoie False.
Examples:
• La foncfion vol sines (3, 0, R)l_nv01e True ; (/es vrlles 3 et O sont vo1smes)
La foncfio\otslnes (3, 5, R) renv01e False. (/es vii/es 3 et 5 ne sont pas vo,s,nes)
Q 2. b- Ccrire l'.",lonct,on list_voisines(i,R), qui r~oit en parametres une ville I d'un reseau
rout,er rep<esente par la matrice symetrique R. La foncbon renvoie la lisle de toutes les v1lles voisines a la
'j!el.
Exemple:
La fonctlon fist_volslnes (3, R) renvoie la lisle des vilies voisines a la ville 3 : [ 0 , 2 , 4 , 6 , 7)
Q 3- Ecrire la fonction degre (i, R), qui re~il en parametres une ville I d'un reseau routier represent&
par la matrice symetrique R. La fonction renvoie le degre de la vi He I.
Examples:
La fonctlon deg re (3, R) renvoie le nombre : 5 (La ville 3 possede 5 vii/es voisines)
La foncfion deg re (0, R) renvoie le nombre : 3 (La ville Opossede 3 vii/es voisines)
La foncfion deg re (2, R) renvoie le nombre : 4 (La ville 2 possede 4 vii/es voisines)
Poge3sur8
ZEKRAOUI
21!!!11!.l:
o =I (0, 3), (1 , 3), (2 , 4) , (3, 5), (4, 5), ( s, 3) , (6, 4), (7, 3) I
Apres rappel de la fonction trt_degrea (D). on obtient la iste s!Jivante :
IP,~.~.~.~.~.~.~.~.~.~.~.~.~.(7.~ J
Q S. b- Ecrire la fonction tri_villes (R), qui re,;:oit en parametre la matrice symetrique R representant
un reseau routier. La fonction renvoie la liste des viles triees dans rordre decroissant des degres des vales.
La fonction trl_vllle1 (R) renvoie la lisle des villas triees dans rordre decroissant des degres :
[3,4,2,6,0,5,1,7)
Partie U:
Coloration optimale des vii/es d'un reseau routier
Une cotontlon des vUles du reseau routier est une affectation de couleurs ii chaque vile, de fai;on ii
ce que deux villes voislnes soient affectees par deux couleurs differentes. Le nombre minimum de couleurs
necessaires poul'oolorier un reseau routier est appete : nombre chromatlque.
La recherche du nombre chromatique est une question qui intervient dans beaucoup de problemes
concrets:
L'etablissement d'emplois du temps :
la gestion de ressources partagees :
la compilation dans rutilisation efficace des registres :
On cherche ii construire une liste C qui contiendra les couleurs des viles. Ces couleurs seront
representes par des entiers stricternent podifs : chaque element C{k} contiendra la cou/eur de la ville k di
mseau routier.
Poge4sur8
ZEKRAOUI
Pour conslrUire la lisle C des couleurs, on propose d'utiliser un algortthme, appele : •lgortlhme deglouton.
c·est un algorithms couramment utiise dans la resolution de ce genre de problllmes, afin d'obtenir des
solutions optimales.
II. 6- Premier entler qui n'exJste pas dans une lisle d'entlers
Q 6- Ecrire la fonction premier_entier (L), qui •~oil en parametre une isle L de nombres enliers
posttifs. La fonction renvoie a
le premier entier posM qui n'appartient pas la lisle L.
iUl!!IIII:
La fonction pnimler_entler ( [ 0 , 0, 3, 1 , 0, 1 , 0, 0] ) renvoie le nombre : 2
Poge5sura
ZEKRAOUI
Partie JU:
Chemins dans un riseau routier
~:
Le luple ( 2, 0, 1, 4, 3) esl un chemin entre la ville 2 et la ville 3, compose de 4 routes ;
Le luple ( 7, 6, 4, 5, 6, 3, 4 ) est un chemin entre la vine 7 et la ville 4, compose de 8 routes ;
Le luple ( 3, 1, 4, 7) n'est pas un chem in.
Q 9- Ecrire la fonclion chamin_valida (T, R). qui r~oil en parametres un tuple T contenant des villes
du reseau routier represente par la matrice symetrique R. La fonction renvoie True si le luple T satisfatt les
deux conditions c1 et c2 citees ci-dessus, sinon, la fonction ~voie False.
Q 10- Ecrire la foriction chemi.n_simple (T, R). qui r~oit en pararnetres un chemin T dans un reseau
routier represente P8! la matrice symetrique R. La fonction renvoie True si le chernin Test simple, sinon,
la fonction renvoie FelH.
iulnllm.i
La fonction lllta_chemln• (1, 5, R) renvoie la iste de tousles chemins simples enlre les viles 1 et 5 :
[ tl, 0, 2, 3, 4, 5) , (1, 0, 2, 3, 4, 6, 5) , (1, 0, 2, 3, 4, 6, 7, 5), (1, 0, 3, 4, 6, 7, 5),
(1,0,3,6,4,5), (1,0,3,6,5), (1,0,3,6,7,5), (1,2,0,3,6,5), (1,2,0,3,6,7,5),
(1,2,0,3,7,5), (1,2,0,3,7,6,4,5),(1,2,3,7,6,5), (1,4,2,0,3,7,5), (1,4,2,0,
3,7,6,5), (1,4,2,3,6,5), (1,4,2,3,6,7,5), (1,4,2,3,7,5), (1,4,2,3,7,6,5), (
1,4,3,6,5), (l,4,3,6,7,5), (1,4,3,7,5), (1,4,3,7,6,5), (1,4,5), (1,4,6,3,7,
5),(1,4,6,5), ,(1,4,6,7,5))
Poge 6surl
ZEKRAOUI
Le plus court chemln entre une vflle I et une ville J est un chemin simple entre la ville I et la ville J, et qui
traverse le mains de vii/es.
NB : On peut trower plusieurs plus courts chemins entre deux vii/es.
Q I l.b- Ecrire la fonction pc_chemin• ( i, j, R) , qui re<,oit en parametres deux vilies I et j d'un reseau
routier represente par la matrice symetrique R. Celle fonction renvoie la roste de tous les plus courts
chemins entre la ville I et la ville J.
~:
• la fonction pc_chemlna (0, 7, R) renvoie la liste [ (0, 3, 7) J ;
• la lonction pc_chemlna (7, 1, R) renvoie la liste:
I (7. 3. o, 1J, (7, 3, 2, 11, (7, 3, 4, 11, (7, s, 4, 11, (7. 6, 4, 1J J.
Partie IV:
Calcul du nombre de chemins entre deux villes
3 1 2 1 3 0
1 1 4 8 8 10 5 5 5 2
1 3 2 3 1 1
1 0 8 4 8 5 10 2 5 5
2 2 4 2 2 1
2 1 8 8 8 11 11 5 5
6
1 3 2 5 2 3
2 1 10 5 11 8 15 5 11 10
3 1 2 2 5 1
2 3 5 10 11 15 8 10 11 5
0 1 1 3 1 3
2 1 5 2 5 5 10 4 B 8
1 1 2 2 2 2 4 2 5 11 11 8 B 8
l@J 1 1 3 1 2 3 2 10 5 8 B 4
M=R2 M=R3
Poge 7sur8
ZEKRAOUI
c,, = L
k=O
A11, • Bk/
Q 12. Ecrire la fonction produit_-triciel (A, B). qui r~ott en parametres deux matrices
symetriques A et B, de mAme dimension. La fonction calcule et renvoie une nouveUe matrice symetrique
C. qui contient le produtt matriciel de A et B. la lonction doit economiser le temps de ca/cul, en cak:ulant
une seule fois tes coeHicients symetriques dans la matrice C.
• Sin=1 x• = x
alors
Si neat pair x • = (.r) .n
alors
• Si neat lmpelr alors x • = x. (.r) 10-1.-i
Q 13- Ecrire la fonction (R, n), ~tt en parameb'es la matrice symetrique R representant
un reseau routier. et un entler strictement posit~ n. En utilisant le princlpe de !'exponentiation rapide, la
fonction catcule et renvoie la matrice R•.
Pogelsurl