11
Université Abou Bakr Belkaid
Faculté des Sciences
Département d’informatique
Algorithmique Avancée et Complexité
Chap3:Diviser pour Régner
RSD -GL
2015-2016
22
Diviser : le problème en un certain nombre de
sous-problèmes .
Régner : sur les sous-problèmes en les
résolvant récursivement , si la taille dun sous-
problème est assez réduite,le résoudre directement ;
Combiner : les solutions des sous-problèmes
en une solution complète du problème initial.
Principe
3
Exemple
MULTIPLIER-MATRICES(A, B)
Soit n la taille des matrices carrés A et B
Soit C une matrice carré de taille n
Algorithme Classique
Pour i =1 à n faire
Pour j= 1 à n faire
cij:= 0
Pour k =1 à n faire
cij:= cij+ aik bkj
renvoyer C
La complexité de cet algorithme est θ(n3) .
44
Algorithme « diviser pour régner »
on suppose que n est une puissance exacte de 2.
on décompose les matrices A, B et C en sous-
matrices de taille n/2*n/2. Léquation C = A*B
peut être ecrit:
aprés développement de cette équation, nous obtenons :
Puisque laddition des matrices carrés de taille n/2 est Q(n2).
Exemple :multiplication naïve de matrices
5
La complexité dun algorithme « diviser pour régner » se décompose
suivant les trois étapes du paradigme de base :
1. Si la taille du problème est suffisamment réduite, n
cpour une certaine
constante c, la résolution est directe et consomme un temps constant Q (1)
2. Sinon, on divise le problème en asous-problèmes chacun de taille 1/bde
la taille du problème initial. Le temps dexécution total se décompose alors
en trois parties :
(a) D(n): le temps nécessaire à la division du problème en sous-
problèmes.
(b) aT(n/b): le temps de résolution des a sous-problèmes.
(c) C(n): le temps nécessaire pour construire la solution finale à
partir des solutions aux sous-problèmes.
Complexité
1 / 17 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !