• Aucun résultat trouvé

Algorithmique avancée Devoir surveillé

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmique avancée Devoir surveillé"

Copied!
3
0
0

Texte intégral

(1)

Algorithmique avancée Devoir surveillé

Les calculatrices ne sont pas autorisées.

Les exercices peuvent être traités dans le désordre.

La notation prendra en compte le soin et la clarté de la rédaction.

A B C

D E

F G H

Figure 1 –

Exercice 1.

On considère le graphe de la figure 1.

1. Appliquer à ce graphe un arbre de parcours en profondeur de racine A.

Dessinez l’arbre obtenu de haut en bas, et de gauche à droite.

2. Appliquer également un arbre de parcours en largeur de racine F . Des- sinez l’arbre obtenu de haut en bas, et de gauche à droite.

Exercice 2.

Une entreprise doit poser des câbles permettant de relier différentes villes en un réseau connexe. Le prix de la pose des câbles entre deux villes est donné dans la matrice suivante, le signe ∞ désignant l’impossibilité de poser un câble directement entre ces deux villes.

1

(2)

A B C D E

A 0 50 70 ∞ 80

B 50 0 80 200 ∞

C 70 80 0 100 50

D ∞ 200 100 0 ∞

E 80 ∞ 50 ∞ 0

1. Construire un réseau connexe le moins cher. Précisez quel algorithme est utilisé et dessinez le graphe auquel vous l’appliquez. Explicitez les étapes de l’algorithme (la solution m’importe en fait peu, elle se voit vu la taille du graphe).

2. On suppose qu’un coût est associé à l’utilisation d’une ville comme connexion, c’est-à-dire au fait qu’elle ait un degré supérieur ou égal à deux dans le réseau construit. Ce coût est de plus dépendant de la ville.

Le coût d’un réseau est donc maintenant égal au coût des câbles plus les coûts associés aux villes qui ne sont pas des feuilles dans le réseau rendu par l’algorithme.

Comment adapter l’algorithme existant pour résoudre ce nouveau pro- blème ? (il s’agit de décrire un algorithme qui s’applique dans le cas gé- néral, pas seulement sur l’exemple)

Illustrer votre proposition sur l’exemple précédent avec des coûts de 0 pour A, 20 pour B, C et 40 pour D, E.

Exercice 3.

Une partition d’un ensemble V est une famille d’ensembles V

1

, . . . , V

k

qui sont disjoints deux à deux, et dont l’union vaut V .

Une source d’un graphe orienté est un sommet u dont le degré entrant d

(u) est nul.

Soit G un graphe non-orienté. G est un graphe de niveau s’il existe une partition V

1

, . . . , V

k

de V telle que :

• V

1

est l’ensemble des sources de G

• Pour tout i ≥ 2, V

i

est l’ensemble des sources de G \ {V

1

, . . . , V

i−1

}.

1. Les graphes de la figure 2 sont-ils des graphes de niveau ? Si oui, précisez les ensembles V

i

.

2. On considère l’algorithme suivant : L = ∅

Tant que G admet des sources Choisir une source v de G Ajouter v à la liste L Supprimer v de G Renvoyer L

Appliquer cet algorithme aux deux graphes de la figure 2.

2

(3)

G2

c b a

d f

e

G1 p q

r s t

u

Figure 2 –

3. Démontrer que l’algorithme renvoie une liste contenant tous les sommets si et seulement si G est un graphe de niveau.

4. Justifier qu’un graphe de niveau ne contient pas de cycle orienté.

5. Montrer que tout graphe G sans cycle orienté a forcément une source.

(On pourra raisonner par l’absurde, en supposant que tout sommet a un prédécesseur.)

6. Déduire de la question précédente que si G n’a pas de cycle, G est un graphe de niveau.

7. Ecrire un algorithme répondant à la question Un graphe orienté G est-il acyclique ?. Quelle est sa complexité ?

Remarque : Les graphes de niveau sont plus couramment appelés DAG, qui est l’acronyme de Directed Acyclic Graph.

3

Références

Documents relatifs

Exercice 1(10 points) Une entreprise agro-alimentaire fabriquant deux produits (A et B) se fournit auprès de deux cultivateurs, Paul Ysant et Arthur Griculteur.. Avec une tonne

Nous distinguons les flux d'exploitation entrants, ils concernent les achats, les frais de personnel et les services… S'y ajoute des flux internes qui ne génèrent pas de

Elle vient de lancer sur le marché un nouveau modèle de lampes à halogène, au prix de vente H.T de

La prochaine figure montre comment les frais de transport du 3 février ont été comptabilisés dans le journal des achats dans un système d’inventaire permanent... © SOFAD COÛT

Coût de revient des SU vendus en novembre Vente des produits finis. Stockage des matières

Le coût complet de chaque produit est obtenu en incorporant toutes les charges (directes et indirectes) : il dépend du mode de répartition des charges indirectes

Le coût de production calculé par certains Centres de Gestion, est le plus souvent un coût de revient, hors charges sup- plétives (rémunération des capitaux propres et de la

– boolean add(E e)  : ajoute e dans la collection, renvoie false si e existe déjà, true sinon. Rq : si E n'est pas le nom de classe utilisé lors de la déclaration =>