• Aucun résultat trouvé

2 Allocation de skis

N/A
N/A
Protected

Academic year: 2022

Partager "2 Allocation de skis"

Copied!
2
0
0

Texte intégral

(1)

TD 10 : Algorithmes gloutons (suite) et Programmation dynamique

Jeudi 30 novembre 2017

1 Prim et Kruskal

Figure 1 – Graphe exempleG

Question 1 – Dérouler l’algorithme de Prim sur le graphe G.

Question 2 – Dérouler l’algorithme de Kruskal sur le graphe G.

Question 3 – Prouver la correction de l’algorithme de Prim dans le cas général. On prouvera préalablement le lemme suivant :

Lemme 1. Supposons queX est un ensemble d’arêtes inclus dans un arbre de poids minimal.

Soit(V, S\V) une coupe non traversée parX, et(u, v)l’arête de poids minimal traversant cette coupe. Alors il existe un arbre de poids minimal contenant X∪ {(u, v)}.

2 Allocation de skis

On s’intéresse au problème d’allouermpaires de skis de longueurss1, . . . , sm, respectivement, à n skieurs (m ≥ n) de tailles h1, . . . , hn. On appelle allocation une fonction (injective) f :{1, . . . , n} → {1, . . . , m}; une allocation f est dite optimale lorsqu’elle minimisew(f) = Pn

k=1|sf(k)−hk|.

Question 4 – Donner la complexité de la solution naïve qui consiste à explorer toutes les possibilités.

(2)

L3 SIF ALGO1 2017–2018

Question 5 – Proposer une formule de récurrence pour une allocation optimale des skis.

Indice : on pourra supposer que les longueurs des skis et les tailles des skieurs sont rangées dans l’ordre croissant.

Question 6 – En déduire un algorithme efficace permettant de calculer la valeur optimale w(f) et calculer sa complexité.

Question 7 – Expliquer comment modifier l’algorithme pour qu’il renvoie également l’allocation optimale.

3 Triangulation de polygones

On considère dans cet exercice les polygones convexes du plan. Une triangulation d’un polygone est un ensemble de cordes (c’est-à-dire de segments reliant deux sommets du polygone) qui ne se coupent pas à l’intérieur du polygone et qui le divisent en triangles.

Figure 2 – Un exemple de triangulation

Question 8 – Montrer qu’une triangulation d’un polygone à ncôtés possède(n−3) cordes et(n−2)triangles.

Le problème considéré est celui de la triangulation optimale de polygones. On part d’un polygone convexe P = hv0, . . . , vni où les sommets sont donnés dans l’ordre direct. Les triangulations sont alors définies sur les triangles formés par les côtés et les cordes deP.Le poids d’un triangle est défini comme son périmètre :w(i, j, k) =kvivj k+kvjvk k+kvkvi k. On cherche ainsi une triangulation qui minimise la somme des poids de ses triangles.

On peut remarquer qu’un polygone composé d’un sous-ensemble de sommets d’un polygone convexe est toujours lui-même convexe. On note donc, pour tout1≤i < j ≤n, t[i, j]le poids d’une triangulation optimale du polygonehvi−1, . . . , vji,avec pour convention t[i, i] = 0.

Question 9 – Définirtrécursivement. En déduire un algorithme. Quelle est sa complexité ? Question 10 – Que constatez-vous si la fonction de poids est prise égale à l’aire du triangle ?

2

Références

Documents relatifs

Outre les segments horizontaux et verticaux on peut employer uniquement les hypoténuses des triangles rectangles [3, 4, 5] et [5, 12, 13] (naturellement rien n’empêche de

Les sommets d’un polygone régulier ont tous des coordonnées (dans un cer- tain système d’axes, qui peuvent être obliques) de la forme (ma, nb) avec a et b longueurs données, m et

Ces carrés sont organisés en 3 rectangles 5x1 juxtaposés, pour chacun de ces rectangles, on peut le déformer de 2 façons et le transformer en parallélépipède de 3 ou

Même si la triangulation du polygone comporte plusieurs triangles ''non conformes'', on pourra, sans changer le nombre de triangles, se ramener à une triangulation avec des

On pose 28 allumettes de longueur unité sur un quadrillage à mailles carrées d'un repère x'Ox, y'Oy (voir ci-dessous). Il s'agit de tracer un polygone qui a les

Sur la droite qui relie O à l’un des sommets du polygone, on trace un point P extérieur au po- lygone tel que la distance d = OP est un multiple entier &gt; 1 de r. Le produit

Comme d est un multiple entier de r, le produit des longueurs des segments qui relient P à tous les sommets d'un polygone de n côtés est multiple de

On se donne un entier et nombres réels positifs on cherche les conditions nécessaires et suffisantes pour l’existence d’un polygone dont les côtés ont comme