• Aucun résultat trouvé

Chemins dans un graphe

N/A
N/A
Protected

Academic year: 2022

Partager "Chemins dans un graphe"

Copied!
1
0
0

Texte intégral

(1)

Travaux pratiques option informatique

Chemins dans un graphe

On considère un graphe orienté G = (V,E) dont les sommets sont V ={0,1, . . . , n−1}et les arêtes E décrites par la donnée de la matrice d’adjacence A = (aij)∈ Mn({0,1}) avec (i, j)∈E ⇐⇒ aij= 1 (on conviendra que les indices des lignes et des colonnes de A sont compris entre 0 etn−1).

0 1

2

3 4

5 A =





















0 1 0 1 0 1

0 0 1 1 1 0

0 1 0 1 0 0

0 0 0 0 1 0

0 0 0 0 0 0

0 1 0 0 0 0





















C =





















1 1 1 1 1 1

0 1 1 1 1 0

0 1 1 1 1 0

0 0 0 1 1 0

0 0 0 0 1 0

0 1 1 1 1 1





















Figure1 –Un graphe orienté, sa matrice d’adjacence et la matrice des sommets accessibles.

On définit surMn({0,1}) deux opérations⊕et⊗de la façon suivante : – C = A⊕B est défini par les relationscij=





0 siaij=bij= 0 1 sinon

– D = A⊗B est défini par les relationsdij=





0 siaikbkj= 0 pour toutk∈~0, n−1

1 sinon

On définit Aken posant A0= Inet Ak+1= A⊗Ak pourk>0. On notea(k)ij l’élément d’indice (i, j) de Ak. Question 1. Montrer que (In⊕A)n= In⊕A⊕A2⊕ · · · ⊕An.

Question 2. On choisit de représenter un élément deMn({0,1}) par le typebool vect vect. Écrire deux fonctionssommeet produitqui calculent respectivement A⊕B et A⊗B.

Question 3. On appellematrice des sommets accessiblesla matrice C = (cij)∈ Mn({0,1}) définie parcij= 1 si et seulement si le sommetjest accessible à partir du sommeti(c’est-à-dire s’il existe un chemin conduisant deiàj). On conviendra qu’un sommet est toujours accessible à partir de lui-même.

Déduire de la question 1. une fonctionaccessiblequi calcule la matrice des sommets accessibles d’un graphe. On s’efforcera de minimiser le nombre d’opérations sur les matrices.

Question 4. Définir une fonctioncheminsqui pour un couple de sommets (i, j) affiche tous les chemins allant du sommet iau sommetj. Les chemins affichés ne doivent comporter aucun cycle (on ne peut donc passer qu’une et une seule fois par un sommet).

Exemple :

# chemins a 0 4 ;;

0 −> 1 −> 2 −> 3 −> 4 0 −> 1 −> 3 −> 4 0 −> 1 −> 4 0 −> 3 −> 4

0 −> 5 −> 1 −> 2 −> 3 −> 4 0 −> 5 −> 1 −> 3 −> 4 0 −> 5 −> 1 −> 4

− : u n i t = ( )

page 1

Références

Documents relatifs

Dans l'ancienne école, écrit l’un, ou, pour mieux dire, dans toutes les anciennes écoles, c'est par l’abstraction qu’on débutait invariablement, c'est de l'abstraction

Un chemin monotone de l’origine O au point de coordonn´ ees (6, 6) peut-ˆ etre repr´ esent´ e par une 12-liste de fl` eches vers le haut ou vers la droite telle que →

On désigne par x le nouvel entier obtenu en additionnant 2 x et la partie entière par défaut de 1 sa racine carrée. On vérifie bien que x est un

[r]

En effet, la démonstration pour les codes de mots (c/.[4], prop. 5.3.1) s'étend facilement, une fois faites les remarques suivantes : si G est réduit à un seul circuit, alors tout

(2) VITAVER, dans une note (Cf. [3]) dont nous venons de prendre connaissance au moment de mettre sous presse, fournit une démonstration simple de ce résultat valable seulement dans

Les enfants qui arrivent dans ma classe · ( C. Ensuite, j'ai eu l'idée d'utiliser les micro - ordinateurs. Seulement, il n'était pas question d'entrer en mémoire

Étant donné un graphe pour lequel chaque arc est value par une valeur réelle et une hauteur entière, on étudie, dans cet article la suite des valeurs maximales d'un chemin d'origine