12.07.2015 Views

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Jaromír BRAMBOR9.4. ESTIMATION DE LA COMPLEXITÉ ET DES PERFORMANCES POUR LES GPP/GPPMMO(Nlog 2 N) où N est le nombre <strong>de</strong>s éléments, N ∈ N. En principe, nous sommes tentés d’utiliser le<strong>de</strong>uxième algorithme dont <strong>la</strong> complexité est exprimée par une fonction moins croissante. Cependant,nous ne pouvons pas comparer le coût exact par une simple comparaison <strong>de</strong> O() <strong>de</strong>s <strong>de</strong>ux algorithmes.La complexité exprimée en O() ne nous indique pas le coût exact <strong>pour</strong> un cas précis et nous pouvonseffectivement trouver <strong>de</strong>s cas spéciaux <strong>pour</strong> lesquels le choix du premier algorithme serait une solutionplus adaptée.Imaginons que le premier algorithme utilise <strong>pour</strong> évaluer les éléments les opérations <strong>de</strong> base, enrevanche, le <strong>de</strong>uxième algorithme va utiliser <strong>de</strong>s opérations plus complexes ; ce qui va se traduire par uncoût plus important <strong>pour</strong> le traitement d’un élément du <strong>de</strong>uxième algorithme. Supposons que le rapportentre les coûts <strong>de</strong>s <strong>de</strong>ux algorithmes, cette fois-ci n’étant pas exprimé par le O(), est lié par une constantec ≥ 1 et que nous cherchons les valeurs précises <strong>de</strong> N <strong>pour</strong> lesquelles le choix du <strong>de</strong>uxième algorithmeest justifié. Nous essayons, en effet, <strong>de</strong> trouver <strong>la</strong> solution <strong>de</strong> l’inégalité :N 2 ≥ cNlog 2 Nce qui peut être récrit comme :ou encore :N ≥ clog 2 N2 N ≥ N cIci, nous comparons une fonction exponentielle avec une fonction polynomiale. Si nous essayons <strong>de</strong>concrétiser les valeurs, nous nous apercevons que <strong>pour</strong> c = 1 et c = 2, l’inégalité est va<strong>la</strong>ble ∀N ∈ N tantque <strong>pour</strong> c ≥ 3, nous obtenons un intervalle (<strong>pour</strong> c = 3 il s’agit <strong>de</strong>s valeurs N = {2, 3, 4, 5, 6, 7, 8, 9})dans lequel l’inégalité n’est pas va<strong>la</strong>ble. Pour les valeurs N concrètes incluses dans cet intervalle, l’emploidu premier algorithme serait plus avantageux. Cet intervalle s’é<strong>la</strong>rgit avec <strong>la</strong> valeur c grandissante.9.4 Estimation <strong>de</strong> <strong>la</strong> complexité et <strong>de</strong>s performances <strong>pour</strong> les GPP/GPPMM9.4.1 Idée généraleL’exemple décrit précé<strong>de</strong>mment <strong>de</strong>vait nous démontrer l’utilité pratique <strong>de</strong> <strong>la</strong> spécification préciselors <strong>de</strong> l’estimation <strong>de</strong> <strong>la</strong> complexité d’un algorithme. À cette occasion, l’utilisation <strong>de</strong> O ou <strong>de</strong> <strong>la</strong> mesureplus restrictive o n’est pas <strong>la</strong> meilleure solution.Pour pouvoir exprimer le coût <strong>de</strong> nos algorithmes avec l’intention <strong>de</strong> pouvoir estimer le temps ducalcul, nous voudrions i<strong>de</strong>ntifier les divers paramètres qui influent le plus le coût d’un tel algorithme.Vu que nos algorithmes, même généralisés, seront fortement orientés sur les architectures GPP et sontsurtout GPPMM qui ont un fonctionnement particulier, l’expression qui estimera <strong>la</strong> complexité pratiqued’un algorithme peut être perçue comme <strong>la</strong> construction d’un modèle <strong>de</strong> performance <strong>de</strong> cet algorithme<strong>pour</strong> <strong>la</strong> c<strong>la</strong>sse <strong>de</strong>s architectures GPPMM.En pratique, nous allons distinguer explicitement les opérations qui ont un coût différent et nousallons les présenter comme telles dans notre modèle <strong>de</strong> performance. Les différences entre le modèle et<strong>la</strong> réalité sont toujours présentes et c’est <strong>pour</strong>quoi nous allons lier ce modèle théorique avec le vrai coûtd’un algorithme par <strong>la</strong> mesure Θ, cf. sa définition, page 178. Cette mesure est capable d’assimiler, via lesconstantes c 1 et c 2 <strong>de</strong> sa définition, les différences entre notre modèle <strong>de</strong> performance et <strong>la</strong> performanceexacte d’un algorithme.Nous avons une importante remarque à faire à cette p<strong>la</strong>ce concernant l’utilisation pratique <strong>de</strong> Θcomme nous venons <strong>de</strong> le présenter. Si f(x) = αx 2 est <strong>la</strong> complexité exacte d’un algorithme, nouspouvons écrire f(x) = Θ(αx 2 ). Mais même si le terme α peut désigner le coût précis par pixel, nouspouvons exprimer cette complexité également comme f(x) = Θ(x 2 ) sans s’attaquer à <strong>la</strong> validité <strong>de</strong>l’estimation. Le fait d’utiliser les termes constantes à <strong>la</strong> même p<strong>la</strong>ce où nous avons utilisé α est critiqué(Wilf Wil94 , page 6) comme un mauvais style car α n’ajoute aucune information vis-à-vis <strong>la</strong> définition <strong>de</strong>179

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!