Anda di halaman 1dari 4

Approches pratiques

L'algorithmique a dvelopp quelques stratgies pour rsoudre les problmes :

algorithme glouton : un premier algorithme peut souvent tre propos en ne regardant


que les cas simples, ou ceux apparaissant le plus souvent. On parle alors d'algorithme
glouton. L'algorithme glouton n'est souvent qu'une premire tape dans la rdaction
d'un algorithme plus performant.
diviser pour rgner : pour amliorer les performances des algorithmes, une technique
usuelle consiste diviser les donnes d'un problme en sous-ensembles de tailles plus
petites, jusqu' obtenir des donnes que l'algorithme pourra traiter au cas par cas. Une
seconde tape dans ces algorithmes consiste fusionner les rsultats partiels pour
obtenir une solution globale. Ces algorithmes sont souvent associs la rcursivit.
recherche exhaustive (ou combinatoire) : une mthode utilisant l'norme puissance de
calcul des ordinateurs consiste regarder tous les cas possibles. Cela n'est pour autant
possible que dans certains cas particuliers (la combinatoire est souvent plus forte que
l'norme puissance des ordinateurs, aussi norme soit-elle)
alatoire, ou par approximations successives : certains algorithmes utilisent des
recherches alatoires, ou par approches successives, donnant de meilleurs rsultats (en
moyenne) que des recherches directes ou explicites.
dcomposition top-down / bottom-up : les dcompositions top-bottom consistent
essayer de dcomposer le problme en sous-problmes rsoudre successivement, la
dcomposition allant jusqu' des problmes triviaux faciles rsoudre. L'algorithme
global est alors donn par la compose des algorithmes dfinis au cours de la
dcomposition. La dmarche bottom-up est la dmarche inverse, elle consiste partir
d'algorithmes simples, ne rsolvant qu'une tape du problme, pour essayer de les
composer pour obtenir un algorithme global.
pr-traitement / post-traitement : parfois, certains algorithmes comportent une ou deux
phases identifies comme des pr-traitements ( faire avant l'algorithme principal), ou
post-traitement ( faire aprs l'algorithme principal), pour simplifier l'criture de
l'algorithme gnral.

[http://fr.wikipedia.org/wiki/Algorithmique]

Une approche ascendante (dite bottom-up) ou descendante (dite top-down) caractrise le


principe gnral de fonctionnement d'une dmarche procdurale.
En premire analyse, la distinction peut dsigner le sens d'une dmarche intellectuelle :

Il peut s'agir d'une synthse (Bottom-Up) o l'on part du dtail, du bas , c'est--dire
l'chelon le plus fin, pour consolider progressivement et oprer une synthse.
Il peut s'agir d'une analyse (Top-down) o, partant de l'ensemble, on dcompose en
lments toujours plus dtaills, pour dboucher sur une mise plat , une
dissection totale , un tat des lieux , de l'objet tudi.

Par extension, la distinction peut dsigner le mode d'animation et de pilotage d'une dmarche :

Il peut s'agir d'un pilotage participatif (Bottom-Up) o le fil directeur de l'animation


dmarre des perceptions et initiatives de l'chelon le plus bas ( au sens
hirarchique) ou le plus terrain (au sens oprationnel) pour tre rpercutes ,
dclines et prises en compte par les chelons suprieurs.
Il peut s'agir aussi d'un pilotage directif (Top-Down) o au contraire, le fil directeur de
l'animation est actionn par la hirarchie. Les chelons subordonns ayant pour
fonction de mettre en forme, d'excuter, de dduire, d'amliorer les consignes
prescrites.

Dans son livre Effondrement, Jared Diamond prsente les deux approches dans le cadre de la
gestion des problmes cologiques par les socits menaces d'effondrement1.
Approche descendante[modifier]

Une approche dite descendante, ou approche top-down ( de haut en bas en anglais),


implique des processus qui, partir d'un apport de matire premire brute, visent forger
celle-ci, la transformer par tapes en vue d'y apporter une valeur ajoute en augmentant la
complexit de l'ensemble.
Par analogie, dans les domaines techniques, cette approche consiste concevoir le sujet
d'tudes ou le produit dans les grandes lignes, puis, itrativement, s'intresser des dtails
de plus en plus fins.
L'approche top-down permet de dlimiter et de conceptualiser rapidement le projet et de le
diviser en sous-parties aisment manipulables. Elle permet donc d'avoir une vue globale du
projet final et de donner une estimation rapide, bien qu'approximative, de sa complexit et de
son cot.

Exemples

Le travail d'une matire brute pour crer un objet plus labor : usinage d'une pice,
taille d'un bloc de pierre par un artiste sculpteur
L'bauche d'un dessin, avant le dtail.
La conception d'un produit en suivant un cahier des charges (dcrivant un objectif
dans sa globalit), entrant au fur et mesure dans le dtail des exigences : laboration
de circuits intgrs, conception logicielle

Gestion des problmes cologiques par le haut du Japon de l're Togukawa2.

Approche ascendante[modifier]

Une approche dite ascendante, ou approche bottom-up ( de bas en haut en anglais), se


caractrise par une suite de processus qui apportent chacun une partie fondamentale de
l'difice qu'elle cherche produire, partir d'lments de base.

Exemples

L'assemblage de pices : construction d'une maison, montage d'un kit, briques de


Lego
En management, le bottom-up dsigne les processus au sein d'une organisation qui
prennent leur origine en bas de l'chelle.
Dans le cadre de la recherche (terme notamment employ en informatique), l'approche
bottom-up tente de faire merger des thories de la pratique.
Gestion des problmes cologiques par le bas par les populations des hautes terres de
la Nouvelle-Guine et de l'le de Tikopia2.

Comparaison des approches[modifier]

En informatique on utilise les mthodes top-down dans le domaine du dveloppement, parce


qu'on en matrise en principe dj les concepts dans le cadre d'une thorie qu'on met en
uvre, et au contraire la mthode bottom-up dans le cadre de la recherche, o on cherche les
faire merger de la pratique.
Un important rquisitoire contre l'approche top-down a t dress par Richard Feynman dans
son rapport sur l'accident de la navette spatiale Challenger de 19863. Selon lui, l'approche topdown oblige des dcisions de conception prmatures et rend beaucoup plus difficile les
corrections de design que l'approche bottom-up o on part en permanence de ce qui est bien
connu et solidement matris. Voir aussi mergence.
[http://fr.wikipedia.org/wiki/Approche_ascendante,_descendante]

Top-down ou bottom-up ?
Le monde du dveloppement informatique a t longtemps agit par la question suivante : devait-on dvelopper

top-down, ce qui correspond la dcomposition progressive de Descartes voque ici. On va du


complexe au simple.

o
o
o

Avantage : On est certain que la complexit de ce quon tudie se rduit chaque tape
Inconvnient 1 : La manire de dcomposer na pas de raison dtre unique, ergo il se peut
quon ne choisisse pas la meilleure. Le problme se rpte et se cumule chaque nouvelle tape de
dcomposition.
Inconvnient 2 : Le dcoupage dun problme en tranches peut escamoter involontairement les
questions transversales qui nappartiennent spcifiquement ni une tranche, ni une autre. Pire : au
moment o on examine chaque tranche, on peut de bonne foi croire que le problme transversal est du
ressort de lautre. Or, pour un problme complexe il ne semble gure possible de garder en tte
simultanment tous les problmes transversaux en suspens, sauf dans les cas o lon sait dj trs bien
formaliser pour des raisons dhabitude

Ces considrations conduisent ne pas remettre en cause le modle top-down dans un cas : celui des
problmes qu quelques dtails prs on connat bien.

bottom-up, ce qui correspond la matrise progressive dlments simples, et que lon combine pour
cheminer vers une complexit de plus en plus grande. On va du simple au complexe.

Inconvnient : beaucoup dessais et derreurs, et pas toujours dans les bonnes directions. On
ttonne.

Mais en contrepartie on se familiarise avec les lments de la rsolution, on voit o on met les
pieds, on acquiert des bases stables.

Un pianiste qui fait des gammes, puis des accords, puis des arpges, puis des exercices de dliateur avant
dattaquer des uvres simples, puis de plus en plus compliques travaille en bottom-up. En top-down, il prendrait
demble la Fantaisie impromptue de Chopin, puis la dcomposerait, par exemple mesure par mesure. Cela
marchera aussi, mais cela serait-il la mthode la plus efficace ?
Le chat qui attrape une souris travaille aussi en bottom-up, en jouant avec la souris et en acqurant peu peu les
concepts qui le rendent plus efficace. Il na pas de thorie gnrale sur lapprentissage des souris, quil
dcompose en lments pour vrifier chacun un par un.
Peindre la Joconde par la mthode de Descartes sur un cran 10241024 : couper le tableau en 4, puis chaque
quart en quatre, jusqu ce quon tombe sur un pixel. On ne peut pas trouver plus simple ni plus petit. Il ny a donc
plus qu choisir la couleur du pixel. " Diviser chacune des difficults que jexaminerais, en autant de parcelles
quil se pourrait, et quil serait requis pour les mieux rsoudre ", cest fait. Est-on bien certain dobtenir la Joconde
par ce moyen ?
Cela suggre une approche o chaque mthode a son domaine dusage optimal :

Le top-down pour tout ce quon matrise peu prs dans les grandes lignes

Le bottom-up pour explorer efficacement les terra incognita

[ http://www.techno-science.net/?onglet=glossaire&definition=720 ]