Exercices: k plus proches voisins, dichotomie et gloutons
On recherche par dichotomie la valeur 23 dans le tableau trié [3, 8, 12, 17, 23, 29, 35, 41] (indices de 0 à 7). a) Donner les valeurs successives des indices debut, fin…
On recherche par dichotomie la valeur 23 dans le tableau trié [3, 8, 12, 17, 23, 29, 35, 41] (indices de 0 à 7).
- a) Donner les valeurs successives des indices
debut,finetmilieu(avecmilieu = (debut + fin) // 2).
- b) Combien de valeurs du tableau sont comparées à 23 au cours de la recherche ?
On doit rendre 63 € avec des pièces et billets de 50 €, 20 €, 10 €, 5 €, 2 € et 1 €. a) Appliquer l'algorithme glouton de rendu de monnaie et donner la composition du…
On doit rendre 63 € avec des pièces et billets de 50 €, 20 €, 10 €, 5 €, 2 € et 1 €.
- a) Appliquer l'algorithme glouton de rendu de monnaie et donner la composition du rendu.
- b) Combien de pièces et billets sont utilisés ?
Dans le plan, on considère les points A(1 ; 2) et B(4 ; 6). a) Calculer la distance euclidienne $d(A, B)$. b) Donner la formule de la distance euclidienne entre…
Dans le plan, on considère les points A(1 ; 2) et B(4 ; 6).
- a) Calculer la distance euclidienne $d(A, B)$.
- b) Donner la formule de la distance euclidienne entre $(x_1, y_1)$ et $(x_2, y_2)$.
- c) Parmi les points C(2 ; 2) et D(5 ; 5), lequel est le plus proche de A ?
Écrire une fonction dichotomie(t, x) qui renvoie True si x appartient au tableau trié t, False sinon. a) Écrire la fonction avec une boucle while debut <= fin. b)…
Écrire une fonction dichotomie(t, x) qui renvoie True si x appartient au tableau trié t, False sinon.
- a) Écrire la fonction avec une boucle
while debut <= fin.
- b) Indiquer le variant de la boucle.
- c) Combien de tours de boucle au maximum pour un tableau de 1 000 éléments ?
Un jeu de données classe des fleurs en deux espèces, A et B, d'après la longueur et la largeur de leurs pétales (en cm) : (1,0 ; 0,5) : A (1,5 ; 0,4) : A (4,5 ; 1,5) : B…
Un jeu de données classe des fleurs en deux espèces, A et B, d'après la longueur et la largeur de leurs pétales (en cm) :
-
(1,0 ; 0,5) : A
-
(1,5 ; 0,4) : A
-
(4,5 ; 1,5) : B
-
(5,0 ; 1,8) : B
-
(4,0 ; 1,2) : B
- a) Calculer la distance de chaque donnée à la fleur inconnue (2,0 ; 0,6).
- b) Appliquer l'algorithme des $k$ plus proches voisins avec $k = 3$ et donner l'espèce prédite.
- c) Écrire une fonction Python qui renvoie les $k$ plus proches voisins d'un point.
Un sac à dos de capacité 15 kg doit contenir des objets de valeur maximale. Objets (masse en kg ; valeur en €) : A (12 ; 4), B (2 ; 2), C (1 ; 1), D (1 ; 2), E (4 ; 10).…
Un sac à dos de capacité 15 kg doit contenir des objets de valeur maximale. Objets (masse en kg ; valeur en €) : A (12 ; 4), B (2 ; 2), C (1 ; 1), D (1 ; 2), E (4 ; 10).
- a) Appliquer l'algorithme glouton qui choisit les objets par valeur décroissante, sans fractionner les objets.
- b) Appliquer l'algorithme glouton qui choisit par rapport valeur/masse décroissant.
- c) Comparer les deux résultats.
On considère le système de monnaie $\{1, 3, 4\}$ (en unités quelconques). a) Appliquer l'algorithme glouton pour rendre 6. Donner la solution obtenue. b) Trouver une…
On considère le système de monnaie $\{1, 3, 4\}$ (en unités quelconques).
- a) Appliquer l'algorithme glouton pour rendre 6. Donner la solution obtenue.
- b) Trouver une solution utilisant moins de pièces. Conclure sur l'optimalité de l'algorithme glouton.
- c) Vérifier que le glouton est optimal pour le système $\{1, 2, 5, 10, 20, 50\}$ pour toutes les sommes jusqu'à 20, en justifiant avec un raisonnement général sur le choix de la plus grande pièce.
Soit l'algorithme de recherche dichotomique suivant dans un tableau trié t de n éléments : a) Montrer que la quantité $f - d + 1$ est un variant de la boucle et en…
Soit l'algorithme de recherche dichotomique suivant dans un tableau trié t de n éléments :
def recherche(t, x):
d, f = 0, len(t) - 1
while d <= f:
m = (d + f) // 2
if t[m] == x:
return m
elif t[m] < x:
d = m + 1
else:
f = m - 1
return -1
- a) Montrer que la quantité $f - d + 1$ est un variant de la boucle et en déduire la terminaison.
- b) Énoncer un invariant : si
xest danst, alors son indice est compris entredetf. Le démontrer.
- c) Montrer que le nombre de tours est au plus $\lfloor \log_2 n \rfloor + 1$.
Une table contient des relevés de températures et d'humidité pour des journées classées « pluie » ou « sec » dans une ville de Bretagne. On souhaite prédire la classe…
Une table contient des relevés de températures et d'humidité pour des journées classées « pluie » ou « sec » dans une ville de Bretagne. On souhaite prédire la classe d'une nouvelle journée par $k$ plus proches voisins.
- a) Expliquer pourquoi il peut être nécessaire de normaliser les données avant de calculer les distances lorsque les deux attributs n'ont pas la même échelle.
- b) Écrire une fonction
knn(donnees, p, k)qui renvoie la classe majoritaire parmi les $k$ voisins les plus proches dep, oùdonneesest une liste de triplets(x, y, classe).
- c) Discuter l'effet du choix de $k$ (trop petit, trop grand) sur la prédiction, et donner la complexité de la fonction en fonction de la taille $n$ des données.