Licence informatique L3 Annee
7 pages
Français

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Licence informatique L3 Annee

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
7 pages
Français
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Niveau: Supérieur, Licence, Bac+3
Licence informatique - L3 Annee 2011/2012 Conception d'algorithmes et applications (LI325) COURS 5 Resume. Dans cette cinquieme seance, nous continuons l'exploration des algorithmes de type Programmation Dynamique. Nous traiterons grace a ce principe un probleme numerique (mul- tiplications de matrices enchaınees) et un probleme issu de la theorie des mots (recherche d'une plus longue sous-sequence commune). 1. Programmation Dynamique appliquee a l'Algorithmique Numerique 1.1. Multiplications Matricielles Enchaınees. Nous allons ici illustrer le principe de la Pro- grammation Dynamique par un algorithme qui resout le probleme des multiplications matricielles enchaınees. On suppose que l'on dispose d'une sequence (A1, A2, ..., An) de n matrices a coefficients entiers, et que l'on souhaite calculer le produit A1A2...An. Bien evidemment, il y a plusieurs fac¸ons de faire ce calcul qui dependent de l'ordre dans lequel on fait les multiplications. Cet ordre est clas- siquement determine par un parenthesage qui indique les priorites. Par exemple, pour la sequence de matrices (A1, A2, A3, A4), le produit A1A2A3A4 peut etre calcule de cinq fac¸ons distinctes : (A1(A2(A3A4))), (A1((A2A3)A4)), ((A1A2)(A3A4)), ((A1(A2A3))A4), (((A1A2)A3)A4).

  • multiplication

  • sequence

  • calcul suivant le parenthesage

  • dimension pi?1 ?

  • parenthesage optimal


Sujets

Informations

Publié par
Nombre de lectures 24
Langue Français

Extrait

Licence informatique - L3
Anne´e2011/2012
Conception d’algorithmes et applications (LI325) COURS 5
R´esume´.snlxelpoctnniouesalgoriorationdepyemhttedsetscanDuinqciteae´seme`suon,ecn ProgrammationDynamique.Noustraiteronsgrˆace`aceprincipeunproble`menum´erique(mul-tiplicationsdematricesenchaˆıne´es)etunprobl`emeissudelathe´oriedesmots(recherchedune pluslonguesous-s´equencecommune).
1.lgAitor´equale`aeuqilppyDnoimanPoramitrgma´mreqieumhqieuuN 1.1.s.een´ˆıhancEselleicirtaMsnoiplicatiMultNous allons ici illustrer le principe de la Pro-grammationDynamiqueparunalgorithmequir´esoutleprobl`emedesmultiplicationsmatricielles enchaıˆne´es.Onsupposequelondisposedunese´quence(A1, A2, ..., An) denstneiceoca`secimatr entiers, et que l’on souhaite calculer le produitA1A2...An.ive´mmedneiBuspluriet,enyailnscoa¸sf defairececalculquide´pendentdelordredanslequelonfaitlesmultiplications.Cetordreestclas-siquementd´etermine´parunparenthe´sagequiindiquelespriorit´es.Parexemple,pourlas´equence de matrices (A1, A2, A3, A4), le produitA1A2A3A4sf:a¸consdi´setdienccitneqeraccllupueˆtte (A1(A2(A3A4))), (A1((A2A3)A4)), ((A1A2)(A3A4)), ((A1(A2A3))A4), (((A1A2)A3)A4).On par-lera alors deneptranehte´´seemtduiodprmere`itnesecirta(inductivement,undorpetiu`itnmereten parenth´ese´estunematriceuniqueouleproduitentreparenthe`sesdedeuxproduitsmatriciels enti`erementparenthe´se´s).Lamanie`redontunesuitedematricesestparenthe´s´eefaitvarierle nombredope´rationsn´ecessairespourobtenirleproduit.Faisonslhypothe`sedanslexemplesui-vantquelenombredemultiplicationsdentierseectue´espourmultiplierdeuxmatricesdedimen-sions respectivesp×q(plignes etqcolonnes) etq×restpqrqec(oˆutdeluiestlecemlaogirht naı¨fdemultiplicationdedeuxmatrices). Pourmettreenlumi`erelesdi´erentscouˆtsinduitsparlesdi´erentsparenthe´sagesdunproduit dematrices,consid´eronsunese´quence(A1, A2, A3) de trois matrices de dimensions respectives 10×100, 100×5 et 5×50.iSlsage((nerae´htnavipeltlccasuulfaonleitA1A2)A3), on effectue 10.100.5 = 5000 multiplications d’entiers pour calculer la matrice produitA1A2de dimension 10×5, plus 10.5.50 = 2500 multiplications scalaires pour multiplier cette matrice avecA3, pour untotalde7500multiplicationsdentiers.Sionmultiplieselonleparenthe´sage(A1(A2A3)), on effectue 100.5.50 = 25000 multiplications d’entiers pour calculer la matrice produitA2A3de di-mension 100×50, plus 10.100.50 = 50000 multiplications pour multiplierA1par cette matrice, pouruntotalde75000multiplicationsscalaires.Lecalculduproduitselonlepremierparenth´esage n´ecessitedonc10foismoinsdemultiplicationsdentiers.
Leproble`medesmultiplicationsmatriciellesenchaıˆne´espeutˆetree´nonc´ecommesuit:e´tant donn´eeunes´equence(A1, A2, ..., An) denmtadseireco`rsienturpou,i= 1,2, ..., n, la matrice Aiest de dimensionpi1×pie`itemereltndorppantntreesh´enerc,moemiutA1A2...Anedaf`a¸con minimiser le nombre de multiplications scalaires. Notezque,dansleprobl`emedesmultiplicationsmatriciellesenchaıˆn´ees,onnemultipliepasles matrices.Oncherchesimplementunordredemultiplicationquiminimiselecouˆt.Ge´n´eralement, letempspasse´a`d´eterminercetordreoptimalestplusquecompense´parlegaindetempsquelon obtiendra quand on fera les multiplications matricielles proprement dites (par exemple, quand on fera 7 500 multiplications scalaires au lieu de 75 000). 1
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents