5Multiplication de matrices [ADE615]
Supposons que nous ayons à calculer le produit de quatre matrices, A,B,Cet
Dde dimensions respectives 50 ×20, 20 ×1, 1 ×10 et 10 ×100. Nous devons
pour cela effectuer une succession de multiplications de deux matrices. La multi-
plication de matrices n’est pas commutative (en général A×B6=B×A), mais elle
est associative, ce qui signifie par exemple que A×(B×C) = (A×B)×C. Nous
pouvons ainsi calculer le produit des quatre matrices de plusieurs manières dif-
férentes, selon la façon dont nous plaçons les parenthèses. Une question se pose
donc : existe-t-il des manières plus efficaces que d’autres ?
1. Soit P(n)le nombre de manières d’effectuer le produit de nmatrices.
(a) Établir une relation de récurrence satisfaite par P(n).
(b) Montrer que P(n) = Ω(2n).
2. Pour multiplier une matrice p×qpar une matrice q×ril faut effectuer pqr
multiplications scalaires (c’est une approximation mais elle nous suffit ici).
Pour chacune des manières de parenthéser le produit A×B×C×D, déterminer
le coût du calcul en nombre de multiplications.
3. Généralisons maintenant le problème. Soit nmatrices A1,A2,...,Ande dimen-
sions (p0,p1),(p1,p2),. .. ,(pn−1,pn)dont nous souhaitons calculer le produit
A1×A2× · · · × An.
(a) Mettre en évidence une structure de solutions optimales.
(b) Établir une relation de récurrence pour le coût minimal de multiplication.
(c) Écrire en pseudo-code la fonction miniMult(p[0..n]) qui donne le coût
minimal de la multiplication A1×A2× · · · × An.
Vous pouvez écrire la fonction en OCaml si vous le préférez.
6Le sac-à-dos [KWW211]
Lors du cambriolage d’une bijouterie, le voleur s’aperçoit qu’il ne peut pas tout
emporter dans son sac-à-dos. Son sac peut suporter au maximum, pkilos de mar-
chandise (on suppose pentier). Or, dans cette bijouterie se trouve nobjets diffé-
rents, chacun en quantité illimitée. Chaque objet xjà un poids qjet une valeur
vj.
Quelle combinaison d’objets, transportable dans le sac, sera la plus rentable pour
notre voleur ?
http://docs.dichotomies.fr/2014/informatique/optinfo1/travaux-diriges/td4/
Alain Le Boulch, Denis Pinsard – Mis à jour le lundi 08 juin 2015
[DIP726] Page 2