[PDF] Algorithmique — M1 - Examen du 11/1/11 -corrigé





Previous PDF Next PDF



CORRIGÉ EXERCICES TERMINALE ES ALGORITHME DE

EXERCICES. TERMINALE ES. ALGORITHME DE Pour déterminer l'itinéraire allant de D à A le plus court en temps on utilise l'algorithme de Dijkstra à l'aide d'un.



Théorie des graphes et optimisation dans les graphes Table des

Pour aller de a à f l'algorithme de Dijkstra va trouver le chemin < a



Modélisation du mouvement des personnes lors de lévacuation d

4 oct. 2010 ... ALGORITHME. 167. ///./. Aspects alqopifhmiques. 167. ///_2. liions a ... cours de l'incendie (ex: l'exercice d'évacuation peut conditionner ...



Notes de cours Algorithmique avancée

Exercice 6 Donner un algorithme utilisant la programmation dynamique pour résoudre sac à temps polynomial par l'algorithme de Dijkstra évoqué dans le chapitre ...



Cours dAlgorithmique et structures de données 1

12 mars 2013 6.5 Plus court chemin (algorithme de Dijkstra) . ... Examen d'algorithmique 1. 08h-09h30. A1 A2. Exercice 1 (10 pts: 1.5 + 1.5 + 3 + 1.5 + 2 .5).



Conception dalgorithmes Principes et 150 exercices non corrigés

de matériel pour les cours et les séances d'exercices (sans parler des examens). Publié en 1959 par le célèbre informaticien E.W. Dijkstra cet algorithme est.



Introduction à la théorie des graphes

Exercice. Soit G un graphe simple orienté d'ordre n de matrice d'adjacence M. Mon- trer que si Mn n'est pas nulle



GUIDE DES ÉTUDES

6 oct. 2023 Polycopié du cours (exercices compris). Langue de l'enseignement. Français ... - Algorithme de Dijkstra exemple d'utilisation. Les différents ...



Examen du 18 janvier 2008 - corrigé - version α2

18 janv. 2008 Correction. On adapte les algorithmes de cours. Exercice 3 – Poids max de camion. Un réseau routier connecte les villages d ...



Algorithme de Dijkstra

21 oct. 2008 l'algorithme de Dijkstra sur des exemples concrets. Exemple 1. Cherchons les plus courts chemins d'origine A dans ce graphe:.



Théorie des graphes et optimisation dans les graphes Table des

Exercice : Au cours d'une soirée les convives se serrent les mains les uns les l'algorithme de Dijkstra résoud ce problème lorsque tous les coûts sont ...



Cours dAlgorithmique et structures de données 1

29 janv. 2012 6.5 Plus court chemin (algorithme de Dijkstra) . ... 8 Sujets d'examens ... Exercice : Donner l'état de la pile après l'exécution des ...



Quelques rappels sur la théorie des graphes

ce jour un algorithme résolvant ce problème de façon exacte avec une complexité déterminer si l'arête en cours d'examen doit ou non être sélectionnée.



Introduction à la théorie des graphes

Graphes valués et problème du plus court chemin . Solutions des exercices ... Appliquons l'algorithme de Dijkstra au graphe suivant : Initialisation.



Examen du 18 janvier 2008 - corrigé - version ?2

18 janv. 2008 Correction. On adapte les algorithmes de cours. Exercice 3 – Poids max de camion. Un réseau routier connecte les villages d ...



Algorithmique — M1 - Examen du 11/1/11 -corrigé

11 janv. 2011 Examen du 11/1/11 -corrigé. Université Paris Diderot. On applique un algorithme de cours. Exercice 1 – Routage.



GRAPHES - EXERCICES CORRIGES Compilation réalisée à partir

Compilation réalisée à partir d'exercices de BAC TES 4) On utilise l'algorithme du plus court chemin de Dijkstra pour déterminer une chaîne qui minimise ...



Algorithmique I - Cours et Travaux Dirigés L3 Ecole Normale

6.5.5 Algorithme de Dijkstra . and analysis of algorithms contient les notes de cours et exercices (certains corrigés) d'un cours.



Cours APD : algorithmique parallèle et distribuée.

Un examen : Support de cours : transparents + exercices sur la page http://www.prism.uvsq.fr/ joco Algorithme centralisé de Dijkstra. Entrée :.

Algorithmique — M1

Examen du 11/1/11 -corrigé

Université Paris Diderot

On applique un algorithme de cours

Exercice 1-Routage

Le serveurSest connecté à la machineTpar un réseau avec les noeudsA,B,C,D, les capacités de connexions entre les noeuds sont (en Mbit/s) : ABCDT S261 A37 B35 C26 D34

L"utilisateur de la machine T télécharge un très grand fichier du serveur S. On veut trouver le

routage qui maximise le débit.

1.Quel problème algorithmique de cours correspond à ce problème de routage? Comment s"ap-

pelle l"algorithme du cours? Correction.Problème de flot maximum dans un réseau. Algorithme de Ford-Fulkerson.

2.Appliquez cet algorithme. Donnez toutes les étapes de son application.

Correction.Dessinons d"abord le réseau :

S AB CD T 26
1 3 73
5 2 6 3 4 On trouve le premier chemin améliorant SBT de poids 5, et on dessine le réseau résiduel. 1 S AB CD T 21
5 1 3 73
5 2 6 3 4 On trouve le second chemin améliorant SADT de poids 2, et on dessine le réseau résiduel. S AB CD T 21
5 1 3 53
5 2 6 5 2 2

On trouve le troisième chemin améliorant SBDT de poids 1, et on dessine le réseau résiduel.

S AB CD T 2 6 1 3 521
5 2 6 5 1 3

On trouve le quatrième chemin améliorant SCDT de poids 1, et on dessine le réseau résiduel.

2 S AB CD T 2 6 1 3 521
5 2 5 1 54
Il ne reste plus de chemin améliorant, l"algorithme s"arrête. Le flot maximal est montré dans le point suivant

3.Quel est le débit maximal, quel routage assure ce débit?Correction.Le débit optimal est 5+2+1+1, il est réalisé par le routage suivant(la somme de 4 flots : 5

sur SBT, 2 sur SADT, 1 sur SBDT, 1 sur SCDT) : S AB CD T

2/26/6

1/1 3

2/71/3

5/5 2 1/6 3 4/4

Un algorithme facile

Exercice 2-Valeur encadrée

Étant donné un tableau trié d"entiersA[s..f]et deux entiers ("bornes")a?b, on cherche s"il existe un élémentA[i]du tableau tel quea?A[i]?b(s"il y en a plusieurs trouvez un) ExempleSoit le tableauA[1..5] = [3,7,8,43,556]et les bornesa=40,b=50. Dans ce cas-là la valeur encadrée existe : c"estA[4] =43.

1.Donnez (en pseudocode) un algorithme “diviser-pour-régner" qui résout ce problème. Expli-

quez briévement.

Correction.Coupons le tableau en deux moitiés :A[s..m]etA[m+1..f]. Les trois cas ci-dessous corres-

pondent à trois positions de l"élément de milieuA[m]par rapport à l"intervalle[a,b]. 3

À gauche :A[m]< a. Dans ce cas-là tous les éléments de la moitié gauche du tableau sont aussi< a, et

ne peuvent pas appartenir à l"intervalle demandé[a,b]. On va chercher la valeur encadrée dans la

moitié droite seulement. Dedans :a?A[m]?b. On a déjà trouvé une valeur encadréeA[m]. On retourne son indice.

À droite :b < A[m]. Ce cas est symétrique au premier, la recherche peut être limitée à la moitié gauche

du tableau.

Cette analyse mène à la fonction récursivesuivante chercher(s,f) qui renvoie l"indice de la valeur encadrée

dans le tableau A[s..f] (ou?s"il n"y en a pas. On suppose que le tableau A, et les bornes a,bsont des

variables globales. fonction chercher(s,f) //cas de base si (s=f) si (A[s]?[a;b]) retourner s sinon retourner? //on divise pour régner m=(s+f)/2 siA[m]< a ind= chercher(m+1,f) sinon sia?A[m]?b ind=m sinon ind=chercher(s,m) retourner ind

2.Analysez sa complexité.Correction.On a réduit un problème de taillenà un seul problème de la taillen/2et des petits calculs

enO(1), donc la complexité satisfait la récurrence :

T(n) =T(n/2) +O(1).

En la résolvant par Master Theorem on obtient queT(n) =O(logn). 4

Un jeu - deux puzzles - deux algorithmes

UnDominoest un rectangle qui contient 2 lettres, par exemple

AH(il ne peut pas être

retourné).

Règle :Une séquence de dominos est unechaîne, si les lettres voisines coïncident sur chaque

paire des dominos consécutifs, par exemple

AHHKKAAZZV.

Donnée initiale pour les deux puzzles :npièces de dominos :D1= x1y1,...,Dn=xnyn Puzzle 1 (permutation) :Il faut trouver une permutation de tous ces dominos qui formeune chaîne (selon la règle ci-dessus), si celle-là existe. Puzzle 2 (sous-séquence) :Il faut trouver la plus longue sous-séquence de tous ces dominos qui forme une chaîne (selon la règle ci-dessus).

Exemple :Pour les pièces

AH,AZ,KA,HK,ZV:

- la solution du puzzle 1 est

AHHKKAAZZV;

- la solution du puzzle 2 est

AHHK, ou bienAZZV.

Exercice 3-Premier puzzle - backtracking

. On cherche à développer un algorithme de type backtrackingqui résout le puzzle 1.

1.Écrivez l"algorithme (en pseudocode)Correction.On suppose que les pièces sont représentées par deux tableauxx[1..n]ety[1..n]. On repré-

sentera les solutions partielles du problème par un tableauChaine[1..k] qui contiendra les indices des

pièces de domino formant une chaîne.

La fonction de backtracking (recherche en profondeur) étant donné Chaine[1..k] cherche une solution

de problème qui commence par cette Chaine. fonction chercher(k) si k=n

Afficher(Chaine)

stop pour tout ind??Chaine si k=0 || compatible(Chaine[k],ind)

Chaine[k+1]=ind

chercher(k+1) La primitive compatible(i,j) teste si on peut placer le déià gauche du déj. fonction booléenne compatible(i,j) returny[i] ==x[j]

Le programme principal :

initialiser chercher(0) afficher "pas de solution"

2.Expliquez cet algorithme (vous pouvez vous inspirer de l"indication)

Correction.On définit une k-solution partielle comme une chaîne composée dekdominos (parmi les

npièces données). Unek-solution peut être étendue vers unek+1-solution en ajoutant à sa droite une

pièce qui (1) n"est pas encore utilisée et (2) est compatible. On fait une recherche en profondeur dans

l"arbre se solutions partielles, en commençant par sa racine (la 0-solution vide). On s"arrête si on trouve

une chaîne qui utilise toutes s pièces (k=n).

3.Estimez le nombre d"opérations nécessaire

5 Correction.Au pire cas on teste toutes les permutations, il y en an!ce qui donne une complexité exponentielle.

4.Montrez le déroulement de votre algorithme pour les pièces

AH,AZ,KA,HK,ZV.

Correction.

-vide; AH -AHHK -AHHKKA -AHHKKAAZ -AHHKKAAZZV L"algorithme s"est donc déroulé sur une seule branche de l"arbre, sans retour arrière. Indication : Essayez de répondre aux questions suivantes pour parvenir à un tel algorithme. - Comment tester que deux dominos peuvent être adjacents? - Comment définir une solution partielle? - Quelle est une solution partielle de taille 0? - Comment passer d"une solution partielle à une solution plus grande? - Quand s"arrêter?

- Comment représenter une solution partielle par une structure de données? Comment représenter les

dominos déjà utilisés en chaîne et les dominos encore disponibles? Exercice 4-Deuxième puzzle - programmation dynamique On cherche à développer un algorithme de type programmationdynamique qui résout le puzzle 2.

1.Soitc(i)une fonction entière qui donne la longueur de la chaîne la plus longue qui est une

sous-séquence deD1,D2,...Diet qui se termine par la pièceDi. Écrivez les équations de récurrence pour cette fonction sans oublier les cas de base.

Correction.Cas de basec(1) =1. Pouri > 1la sous-chaîne qui nous intéresse est la plus longue parmi

les chaînes suivantes : -Le déDiseul

-Pour unj < iet tel queDjest compatible avecDion prend la chaîne la plus longue jusqu"àDj, et on y

ajoute le dernier déDi.

Ça donne la récurrence suivante

c(i) =?1,sii=1 max{1,c(j) +1|j < itel que compatible(j,i)}sii > 1

2.Écrivez un algorithme efficace (récursif avec “marquage" ouitératif) pour calculerc.

Correction.L"algo itératif remplit le tableau C[i] par les valeurs de lafonction c(i) pouride1jusqu"àn.

C[1]=1;

pour i de 2 à n faire meilleur=1 pour j de 1 à i-1 faire si compatible(j,i) et C[j+1]> meilleur meilleur=C[j]+1

C[i]=meilleur

3.En sachant calculer la fonction choisiec, comment trouver la longueur de la sous-chaîne la

plus longue parmiD1,D2,...Di. Correction.Le résultat final est l"élément maximum de tout le tableau C[1..n] 6

4.Analysez la complexité de votre algorithme.Correction.O(n2)à cause de deux boucles imbriquées.

5.Montrez le déroulement de votre algorithme pour les pièces

AH,AZ,KA,HK,ZV.

Correction.

-C[1] =1 -C[2] =1(il n"y a pas de dé compatible à gauche de la 2-ème pièce). -C[3] =1(même raison). -C[4] =max{1,C[1] +1}=2(les dés 1 et 4 sont compatibles).quotesdbs_dbs45.pdfusesText_45
[PDF] algorithme de dijkstra exercice corrigé PDF Cours,Exercices ,Examens

[PDF] algorithme de ford plus long chemin PDF Cours,Exercices ,Examens

[PDF] Algorithme de héron Terminale Mathématiques

[PDF] Algorithme de mathématiques 2nde Mathématiques

[PDF] Algorithme de maths 1ère Mathématiques

[PDF] Algorithme de maths 2nde Mathématiques

[PDF] Algorithme de mesure d'angle 1ère Mathématiques

[PDF] Algorithme de niveau Seconde 2nde Mathématiques

[PDF] algorithme de parcours en largeur PDF Cours,Exercices ,Examens

[PDF] algorithme de parcours en profondeur en c PDF Cours,Exercices ,Examens

[PDF] ALGORITHME DE PILE OU FACE svp essayer de me faire comprendre cette algorithme 2nde Mathématiques

[PDF] Algorithme de Pythagore 2nde Mathématiques

[PDF] ALGORITHME DE PYTHAGORE ( TI-84 plus ) 2nde Mathématiques

[PDF] algorithme de recherche dextremum 2nde Mathématiques

[PDF] algorithme de recherche dans un tableau PDF Cours,Exercices ,Examens