"T^RÎNCIPÊ                                                                                                                ...
^THEOREME «divide & conquer» (3)                                           "HEOREME «ûf/V/cfe & conquer» (4) * appelé auss...
-DISCUSSION (1) g                                                               •^dlSCUSSION (2)    Lanalyse de la complex...
DISCUSSION (5)                                                                                 -DISCUSSION (6)            ...
Prochain SlideShare
Chargement dans…5
×

Ch3 Algorthmique Avancée - Méthodes Récursives

410 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
410
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
32
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Ch3 Algorthmique Avancée - Méthodes Récursives

  1. 1. "T^RÎNCIPÊ Les algorithmes récursifs sauto-appellent Généralement, la complexité T(n) est définie à laide dune relation de récurrence quon doit résoudreAnalyse de la complexité ! = f(T(n-T(n-2.} Deux approches • méthodes directes : deviner une forme générale pour la complexité; et la démontrer par induction sur la taille du problème « théorème « divide & conquer » (Master theorem) L. B. Romdhanc; FSM.TN i L.B. Romdhane; FSMTN "HEOREME «divide & conquer» (1) "HEOREME «divide & conquer» (2)• Un algorithme récursif (basé sur la technique « divide & 8 Soit T(n) la complexité dun algorithme récursif conquer ») est défini à laide des étapes suivantes , csi(n<d) • Si la taille du problème n est suffisamment réduite, n <Y/pour 1W~aT(nlb) + f(nr"- une certaine constante d, la résolution est directe en allant chercher à partir dun ensemble de cas de base • c : une constante représentant la coût daller "chercher • Sinon, on divise le problème en a sous-problèmes chacun de taille une solution à partir de lensemble de cas de base îlb de la taille du problème initial, et on résoud chaque sous- • T(n/b) la complexité de résolution sur un problème de ^»- ^— ~-~--~ ,— _~ - -ft. N^. * fï e récursivement V> w^" •" ^ » - » » - / taille n/b • Et puis on combine les solutions des sous-problèmes pour obtenir » f(n) : la coût de diviser le problème original en sous- problème; et puis de combiner les solutions celle du f rsblcme originaliSa © L. B. Romdtinjie; FSM.ÏN L31 © L. B. Roindtiane; FSM.TN
  2. 2. ^THEOREME «divide & conquer» (3) "HEOREME «ûf/V/cfe & conquer» (4) * appelé aussi Master Theorem T(n) peut être alors borné asymptotiquernent comme * Soient a >i, et b> i deux constantes; et soient/j^nj et suit : r, TCn) deux fonctions définies sur les entiers positifs à pour une certaine constante £ > 0; laide de léquation , } c si(n<d} T(n) = < I , N rr-i/ . (n/b) + j(n) . / / y/ / 2) " ) ; alors î» o(»1*(a)1og*H(w)) 3) Ysijf(n)estQUlog6("+£ ) pour une certaine constante £ >0; ^ . .-• où lon interprète a/b, comme soit £a/bl ou|_a/bj lkrX , ". etaxf(n/b)<ôxf(n} V /1- pour une certaine constante S < 1,; Ç_J ; y0d 0^4- /*. . U n et n suffisamment grand; alors on a T(n}este(f(n}} à . O L. B. Romdbane; FSM.TN i L. B. Romdbane; FSM.TN ^__—*=»=-""" — «-^==^,^=^__T=^^-^^THEOREME «c//V/de <S conquer» (5) "^THEOREME «cf/V/ûfe & conquer» (6) r(w) = Dans ce cas, on a Dans ce cas, on a «logiM _ M l o g 2 ( 2 ) _ Donc, on est au premier cas du théorème car • Donc, on est au deuxième cas du théorème car •f(n) QSt0(n2~£); avec £-i f ( n ) est ^(«log») * Ainsi !.. H. ftomdbane; FSM.TN L. II. Komuhane; FSM.TN
  3. 3. -DISCUSSION (1) g •^dlSCUSSION (2) Lanalyse de la complexité dun algorithme est une Evaluation (approx.) de la taille max du problème pour une durée étape fondamentale dans le développement de donnée systèmes informatiques Taille maximale pour n • analyse expérimentale (programme) T(n) 1S i mn ihr • analyse théorique (algorithme) 40011 2 5OO 150 ooo 9 ooo ooo Evaluer la complexité avant limplémentation peut sauver du temps de programmation & de largent zon log(n) 4 096 166 666 7 826 087 2n2 707 5477 42.426 ri* 31 88 244 2n 19 25 31 on suppose qu une opération dure 1 microseconde (jus) © L. B. Romdhuue; FSM.TN ASD © L. B. Roindhime; FSM.TN ISCUSSION (3) -T5ÏSCUSSION (4) La nouvelle taille maximale n en fonction de la précédente m en Choisir entre plusieurs algorithmes pour résoudre considérant une machine 256 fois plus rapide! le même problème • Etant donné un tableau X de réels de dimension N, Complexité n en fonction de m construire un tableau A de réels de dimension N tel que : X 4oon 256111 2011 log(n) « 256 m (log(m) / (7 + log(m))) 2H1 n4 i6m EA =1 somme/i i 4m 2n m + 8 e- &Q s*t Js ovlirtm^ fteMA V eA ASI) * !.. B. llumiiliune; KSM.IN ASI) O L. B, Romdhanei FSM.TN
  4. 4. DISCUSSION (5) -DISCUSSION (6) r^-~- ——-n A - D(N2)y jSolution B -fb(N)) • lien entre le temps dexécution réeï est la complexité théorique dun algorithme ?Procédure prefixMoyenA( In X, Out A : I Procédure prefixMoyenB( In X, Out A tableau[N] de réels) i tableau[N] de réels) * Exemple - Hanoï VAR i, j, : entier; S: Réel , ^f VAR i, j, : entier; S: RéelDébut « théorique : T(n) = 2 T(n-i) + c; donc O(2n) Début Pour i djî :i à N faire I • expérimentale : Pour i du i à N faire 3500 - Pour j dei à i faire 5^ j 2000 - S <-S + X[j] S «-S + X[j] 1SOO - FiiiPour A[i] *- S / i 1000 FinPour 500 FinPour retourner (A)retourner (A) FIN. 0 -- 1 4 7 10 13 16 19 22 25 2fl 31 34FIN. M (tt disks) • L. B. Romdhane; FSM.TN | L. B. Romdhane; FSM.TNDISCUSSION (7) T(n) : complexité théorique E(n) : complexité expérimentale• Kemest une constante qui dépend de lenvironnement de développement (hardware + software) C L. B. RnraiJliaiie; lSM.TN L43

×