Glouton☘
En informatique, un algorithme glouton est un algorithme qui suit le principe de faire, étape par étape, un choix local optimum.
Dans certains cas, cette approche permet d'arriver à un optimum global, mais dans le cas général, c'est une heuristique (méthode de calcul qui fournit rapidement une solution réalisable, pas nécessairement optimale ou exacte, pour un problème d'optimisation difficile).
Stratégie pour le « Plus Grand Carré Blanc »☘
-
On commence à parcourir notre image de 1 pixel en 1 pixel, en testant chaque fois, quel est le plus grand carré blanc.
-
Si on trouve un carré blanc de dimension 2, alors inutile de continuer à parcourir chaque pixel. On saute alors de 2 en 2 et on ne teste qu'à partir de la taille 2.
-
Si on trouve un carré blanc de dimension 3, alors, on saute de 3 en 3 et on ne teste qu'à partir de la taille 3.
-
Si on trouve un carré blanc de dimension 4, alors, on saute de 4 en 4...
Discussion☘
Cet algorithme vous semble-t-il optimal, donnera-t-il les bons résultats ?
Est-il rapide ?
Une réponse
L'algorithme glouton ne va pas renvoyer les valeurs optimales car il va sauter certains plus grand carrés blancs. Il est en revanche très rapide puisqu'il va rapidement sauter 2 ou 3 pixels, réduisant ainsi le temps de parcours. Selon l'image, il pourrait renvoyer des réponses optimales...
Implémentation☘
Implémenter cet algorithme dans la fonction recherche_pgcb_glouton()
.
On pourra notamment jouer sur les pas des boucles for
.
1 2 3 4 5 6 7 |
|
Un code possible
Ce code est très peu optimal mais très rapide.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|