• Aucun résultat trouvé

´ECOLE POLYTECHNIQUE F´ED ´ERALE DE LAUSANNE Sections d’Informatique et de Syst`emes de Communication Serie d’exercices 10

N/A
N/A
Protected

Academic year: 2022

Partager "´ECOLE POLYTECHNIQUE F´ED ´ERALE DE LAUSANNE Sections d’Informatique et de Syst`emes de Communication Serie d’exercices 10"

Copied!
2
0
0

Texte intégral

(1)

Algorithmique - Semestre d’Automne 2011/2012

ECOLE POLYTECHNIQUE F´´ ED ´ERALE DE LAUSANNE Sections d’Informatique et de Syst`emes de Communication

Serie d’exercices 10 28 November 2011

1. Recherche dans un labyrinthe

On aimerait utiliser l’algorithme DFS du cours pour trouver la sortie d’un labyrinthe. Notre mod´ele de labyrinthe est un graphe dont les sommets sont des chambres et les arˆetes sont des portes entre les chambres. L’un des nœuds est le d´epart, et un autre nœud est la sortie.

a) Donner une variante de l’algorithme DFS qui donne explicitement le chemin des nœuds visit´es.

On pr´ecise que simplement voir si un nœud est marqu´e n’est pas consid´er´e une visite de ce nœud.

Indice: En d´escendant, il faut m´emoriser le retour ´a prendre afin d’obtenir une suite de sommets adjacents.

b) Montrer qu’une arˆete quelconque apparaˆıt au plus deux fois sur le chemin.

c) Montrer que le chemin pour trouver la sortie est de longueur au plus 2n−3.

d) Donner une famille de graphes (pour des n arbitrairement grands) avec un sommet de d´epart tel que tout chemin de longueur 2n−4 omet au moins un sommet.

e) Montrer que dans un graphe quelconque, tout chemin de longueur < n−1 omet au moins un sommet.

2. Tri topologique Voici un graphe orient´e:

a) Trier les sommets de ce graphe topologiquement.

b) Prouver le th´eor`eme 7.3. du cours.

3. L’algorithme de Dijkstra Consid´erer le graphe suivant:

1

(2)

Algorithmique - Semestre d’Automne 2011/2012

3

1

3 2

4

5

6

7 8

9

10 11 12

1

3 1 2 1

6

6 4

10

1 2

6

4 1

2 1

2

3

a) Appliquer l’algorithme de Dijkstra sur ce graphe. Commencer au sommet 1.

b) Modifier l’algorithme de Dijkstra pour qu’il fournisse pour chaque sommetvle plus court chemin du sommet de d´eparts`a v et l’ensemble des sommets qui font partie de ce chemin.

4. Dijkstra et Moore-Bellman-Ford

On consid´ere un grapheG= (V, E) avec des poidspi sur les arˆetes (i∈E), et deux sommetss ett.

a) Si l’on multiplie les poids par une constante, le plus court chemin de s´a treste-t-il le mˆeme?

b) Si l’on ajoute aux poids une constante c, le plus court chemin de s´at, reste-t-il le mˆeme ? c) Si les poids des arˆetes sont non-negatifs, on peut appliquer ou bien Dijkstra ou bien Moore-

Bellman-Ford. Lequel des algorithmes est alors pr´ef´erable? Donner une famille de graphes tel que si le nombre de sommetsncroˆıt, l’un des algorithmes est O(1) tandis que l’autre O(n3).

5. Dijkstra et Programmation Dynamique

a) Comment peut-on se servir de l’algorithme de Dijkstra pour r´esoudre le probl´eme du Knapsack 0/1?

b) Utiliser l’algorithme de Dijkstra pour r´esoudre le probl´eme LCS. (Donner la construction du graphe.)

c) Comparer dans chacun des cas ci-dessus le nombre d’arˆetes du graphe obtenu avec le temps de parcours de l’algorithme classique DP pour r´esoudre le probl´eme.

d) Peut-on utiliser l’algorithme de Dijkstra pour r´esoudre le probl´eme de disposition optimale de parenth´eses?

2

Références

Documents relatifs

ECOLE POLYTECHNIQUE F´ ´ ED ´ ERALE DE LAUSANNE Sections d’Informatique et de Syst`emes de Communication. S´ erie d’exercices 6

Nous voulons calculer le nombre moyen d’´echanges dont a besoin l’algorithme SelectionSort pour trier une suite de longueur N (Ici moyen veut dire la moyenne sur toutes les

a) Si on choisit toujours comme pivot le dernier ´el´ement de la suite, montrer que pour tout N on peut trouver une suite de N ´el´ements pour laquelle QuickSort n´ecessite Ω(N 2

a) Si on augmente le poids de chaque arˆete de G par une constante c, est-ce que l’arbre T reste minimal? Justifiez votre r´eponse.. b) Si on diminue le poids de l’une des arˆetes de

, k m litt´eraux, determiner si cette formule est satisfaisable (C’est le probl`eme SAT). Quelle est la taille de l’input pour ce probl`eme ?. e) Montrer que ce probl`eme est

L’output attendu est donc un nombre naturel (et pour tout nombre naturel x il existe un input pour lequel x est l’output), l’ensemble des outputs possibles est donc l’ensemble de

Soit x le nombre de 1’s au dessus de la diagonale et y le nombre de 1’s en dessous de la diagonale (donc x + y = nd). Or si n et d sont impairs alors nd sera aussi impair. On en

b) Supposons que nous avons un graphe avec deux c´el´ebrit´es (que nous appelons les sommets i et j). j ne peut donc pas ˆetre une c´el´ebrit´e et nous avons une contradiction.