Algorithmique I : Laboratoire 4 1. Soit le graphe suivant : En partant du sommet A (si nécessaire), montrer comment fonctionne : a) L’algorithme de PRIM. b) L’algorithme de KRUSKALL. 2. Soit le graphe orienté suivant : En supposant que la source est le sommet {1}, montrer le fonctionnement de l’algorithme de Dijkstra pour trouver les chemins les plus courts ainsi que leurs longueurs respectives de la source vers les autres sommets. 3. On a un nombre illimité de coupons de 1$, 4$ et 5$. En utilisant le nombre minimal de coupons, il faut faire un total de X$ où X est une valeur donnée du problème : a) Écrire un algorithme vorace pour résoudre ce problème et expliquer son fonctionnement. Montrer un exemple pour lequel cet algorithme ne trouve pas la solution optimale (i.e. : n’utilise pas le nombre minimal de coupons). b) Prouver que 1$, 2$ et 5$ est un agencement de coupons pour lequel l’algorithme donné en classe est optimal. 4. Faire l’algorithme suboptimal vu en classe (colorier dans l’ordre croissant des nœuds) sur le graphe suivant : a) Est-ce que le nombre de couleurs est optimal ? Si oui, prouver, sinon, donner un contre-exemple. b) Quel est le nombre minimal de couleurs nécessaires pour colorier ce graphe ? Prouvez-le. 5. Voici la matrice de la longueur des chemins d’un graphe complet. Tracer l’algorithme suboptimal du commis voyageur et donner le chemin résultant, ainsi que sa longueur : A B C D E F G A ∞ 270 20 17 14 27 305 B C D E F G ∞ 9 36 10 15 31 ∞ 3 21 24 29 ∞ 5 6 50 ∞ 47 11 ∞ 9 ∞ Est-ce que le cycle Hamiltonien est le cycle le plus court possible ? Justifier.