Algorithmes avancés
Algorithme glouton
A chaque étape, on fait le choix qui semble le meilleur sur le moment, sans revenir en arrière. Ne donne pas toujours la solution optimale, mais est simple et rapide.
Exemple classique : le rendu de monnaie. On utilise toujours la plus grande pièce/billet possible.
Exemple : rendu_monnaie(78, [50, 20, 10, 5, 2, 1]) → [50, 20, 5, 2, 1]
Limite : avec un système de pièces mal choisi, le glouton peut ne pas être optimal (ex. rendre 6 avec [4, 3, 1] donne 4+1+1 au lieu de 3+3).
Recherche des K plus proches voisins
Pour classer une nouvelle donnée, on calcule sa distance à toutes les données connues, puis on regarde les k voisins les plus proches : la classe majoritaire parmi eux devient la prédiction.
Exemple : donnees = [((1,1), "A"), ((2,1), "A"), ((5,5), "B")] puis k_plus_proches_voisins(donnees, (1,2), 2) → "A" (les 2 voisins les plus proches sont de classe A)
A retenir : le choix de k est important — trop petit, sensible au bruit ; trop grand, mélange des classes éloignées.