Diviser pour r´
egner
De l’adage politique divide ut imperes `
a une strat´
egie fondamentale de l’algorithmique
R´
esoudre le probl`
eme Ppar un algorithme Aqui, pour chaque instance Ide taille n
1. coupe l’instance Ien 2(ou plus!) instances I1et I2
2.r´
esoud le probl`
eme Ppour I1et I2avec l’algorithme A
3. compose les solutions P(I1)et P(I2)pour produire la solution P(I).
”Diviser pour r´
egner” versus ”algorithme r´
ecursif”
complexit´
e: Diviser pour gagner en temps
֒→Exploiter les propri´
et´
es des sous-instances
֒→Bien ”couper” (sans que ce soit compliqu´
e)
֒→Composition facile
De nombreux exemples :
la recherche, le tri,
exponentiation (calcul de an)
la multiplication d’entiers, de matrices, de polynˆ
omes
enveloppe convexe de points, diagramme de Vorono¨ı ...
2 Strat´
egies algorithmiques