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.

<strong>Algorithmes</strong> <strong>de</strong> <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong> <strong>pour</strong> les architectures orientées fluxJaromír BRAMBORabstraits d’une architecture particulière. C’est <strong>pour</strong>quoi nous faisons appel aux mesures qui définissent <strong>la</strong>re<strong>la</strong>tion entre <strong>de</strong>ux fonctions <strong>mathématique</strong>s. Nous avons recours aux fonctions plutôt qu’aux numérosprécis, car, dans <strong>la</strong> plupart <strong>de</strong>s cas, c’est l’évolution du coût <strong>pour</strong> un ou plusieurs paramètres donnés quinous intéresse.Les mesures <strong>de</strong> croissance <strong>la</strong>rgement utilisées et décrites par les symboles o (petit o), O (grand o),Θ, ∼ et Ω sont dues à Donald Knuth Wik06e . Ces mesures sont toujours re<strong>la</strong>tives à <strong>de</strong>ux fonctions. Lors<strong>de</strong> <strong>la</strong> <strong>de</strong>scription d’un algorithme, nous allons substituer sa complexité par une <strong>de</strong> ces fonctions et nousallons modéliser cette complexité en choisissant convenablement une autre fonction qui va nous servircomme étalon tout en respectant <strong>la</strong> définition <strong>de</strong> <strong>la</strong> mesure <strong>de</strong> croissance choisie.Les définitions <strong>de</strong>s mesures <strong>de</strong> croissance que nous présentons sont extraites du livre traitant <strong>de</strong>salgorithmes et <strong>de</strong> <strong>la</strong> complexité <strong>de</strong> Herbert S. Wilf Wil94 . Pourtant, nous n’allons avoir recours qu’à certaines<strong>de</strong> ces fonctions <strong>pour</strong> exprimer <strong>la</strong> complexité <strong>de</strong>s algorithmes dans cette thèse, notamment O et Ωqui semblent les plus adaptés à nos besoins.Définition 9.1 (Définition d’o (petit o)).Nous disons que f(x) = o(g(x)) <strong>pour</strong> x → ∞ si lim x→∞ f(x)/g(x) existe et est égale à 0.Définition 9.2 (Définition d’O (grand o)).Nous disons que f(x) = O(g(x)) <strong>pour</strong> x → ∞ si ∃C, x 0 tels que |f(x)| < Cg(x), ∀x > x 0 .Définition 9.3 (Définition <strong>de</strong> Θ).Nous disons que f(x) = Θ(g(x)) s’il existe les constantes c 1 > 0, c 2 > 0, x 0 telles que c 1 g(x) x 0 .Définition 9.4 (Définition <strong>de</strong> ∼).Nous disons que f(x) ∼ g(x) si lim x→∞ f(x)/g(x) = 1.Définition 9.5 (Définition d’Ω).Nous disons que f(x) = Ω(g(x)) si ∃ɛ > 0 est une séquence x 1 , x 2 , x 3 , · · · → ∞ telle que ∀j :|f(x j )| > ɛg(x j )9.3 Modélisation <strong>de</strong>s performancesLa mesure <strong>de</strong> croissance utilisée le plus souvent dans <strong>la</strong> littérature <strong>pour</strong> estimer le coût <strong>de</strong>s algorithmesest O. L’impact <strong>de</strong> cette mesure <strong>pour</strong> l’évaluation <strong>de</strong> <strong>la</strong> complexité est intelligible. Elle nouspermet <strong>de</strong> rester abstraits <strong>de</strong>s détails <strong>de</strong> fonctionnement d’un algorithme et <strong>de</strong> le modéliser, tout en remplissant<strong>la</strong> définition, par une autre fonction qui est plus simple à décrire et à comprendre. Elle est trèsutile dans le cas où nous comparons <strong>la</strong> complexité <strong>de</strong> <strong>de</strong>ux algorithmes différents ; par exemple, il estévi<strong>de</strong>nt qu’un algorithme dont <strong>la</strong> complexité est <strong>de</strong> O(N 2 ) sera beaucoup moins avantageux que celuidont <strong>la</strong> complexité est <strong>de</strong> O(Nlog 2 N), <strong>pour</strong> N ∈ N, car nous remp<strong>la</strong>çons, dans ce <strong>de</strong>rnier, une fonctionpolynomiale par une fonction contenant <strong>de</strong>s logarithmes dont <strong>la</strong> croissance est moindre.Pourtant, cette mesure n’est pas <strong>la</strong> meilleure <strong>pour</strong> l’estimation pratique du coût <strong>de</strong>s algorithmes. Eneffet, ce n’est pas sa vocation principale car elle définit <strong>la</strong> borne asymptotique maximale. En se basantsur N, le nombre <strong>de</strong>s éléments à traiter, cette mesure ne capte pas le vrai coût que nous <strong>de</strong>vons payer<strong>pour</strong> l’évaluation <strong>de</strong> ces éléments.Dans <strong>la</strong> <strong>morphologie</strong> pratique, comme dans d’autres domaines d’ailleurs, nous ne travaillons pas avec<strong>de</strong>s images excessivement gran<strong>de</strong>s, d’autant moins avec les images dont le nombre d’éléments approchel’infini. Ce fait est accentué lors du traitement d’images en temps réel où nous essayons <strong>de</strong> réduire letemps du traitement le plus possible et où nous travaillons avec les sections d’une image ou avec <strong>de</strong>simages sous-échantillonnées. Dans ces cas, l’estimation <strong>de</strong> <strong>la</strong> complexité via O() peut nous conduire auchoix d’un algorithme inadapté à <strong>la</strong> situation particulière que nous rencontrons.Expliquons ce fait sur un exemple synthétique mais qui démontre bien <strong>la</strong> situation. Ayons un premieralgorithme dont <strong>la</strong> complexité est O(N 2 ) et ayons un <strong>de</strong>uxième algorithme dont <strong>la</strong> complexité est178

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

Saved successfully!

Ooh no, something went wrong!