Achevia/ Terminale/ NSI Terminale/ Algorithmique (diviser pour régner, gloutons, graphes)

CoursNumérique et sciences informatiques · tle

Algorithmique (diviser pour régner, gloutons, graphes)

Comment résoudre efficacement des problèmes complexes ? La spécialité NSI de terminale approfondit l'algorithmique avec de grandes stratégies : diviser pour régner, les algorithmes gloutons et les graphes.

Le cours

1. Diviser pour régner

« Diviser pour régner » est une stratégie algorithmique puissante, qui consiste à résoudre un problème en le découpant en sous-problèmes plus petits, résolus séparément, dont on combine ensuite les solutions. Cette approche permet de résoudre efficacement de nombreux problèmes.

Le principe se déroule en trois étapes : diviser le problème en sous-problèmes plus petits de même nature ; résoudre chaque sous-problème (souvent de façon récursive, en le divisant à nouveau jusqu'à des cas simples) ; puis combiner les solutions des sous-problèmes pour obtenir la solution du problème de départ. La recherche dichotomique en est un exemple simple (on divise la liste en deux à chaque étape). Des algorithmes de tri très efficaces reposent aussi sur ce principe. « Diviser pour régner » permet souvent d'obtenir des algorithmes bien plus rapides qu'une approche directe.

Comprendre la stratégie « diviser pour régner » est fondamental, car elle est à la base de nombreux algorithmes efficaces. Elle illustre la puissance de la récursivité appliquée à la résolution de problèmes. Cette approche est approfondie dans le supérieur, en algorithmique, où elle constitue l'une des grandes méthodes de conception d'algorithmes performants.

Exemple

Un tri rapide découpe la liste en parties plus petites, qu'il trie séparément.

2. Les algorithmes gloutons

Les algorithmes gloutons sont une famille d'algorithmes qui construisent une solution étape par étape, en faisant à chaque étape le choix qui semble le meilleur sur le moment, sans revenir en arrière. Cette approche simple est efficace pour de nombreux problèmes d'optimisation.

Le principe d'un algorithme glouton est de faire, à chaque étape, le choix localement optimal (le plus avantageux immédiatement), dans l'espoir d'aboutir à une bonne solution globale. Par exemple, pour rendre la monnaie avec le moins de pièces possible, on peut à chaque étape donner la plus grosse pièce possible. Cette méthode est rapide et intuitive. Cependant, elle ne donne pas toujours la meilleure solution globale : un bon choix immédiat peut parfois conduire à un résultat qui n'est pas optimal. Il faut donc vérifier, selon le problème, si l'approche gloutonne fournit bien la solution optimale.

Comprendre les algorithmes gloutons est important, car ils offrent des solutions simples et rapides à de nombreux problèmes d'optimisation, tout en illustrant leurs limites. C'est une stratégie algorithmique classique. Elle est approfondie dans le supérieur, en algorithmique, où l'on étudie dans quels cas l'approche gloutonne garantit la solution optimale.

Exemple

Pour rendre la monnaie, un glouton choisit à chaque fois la plus grande pièce possible.

3. Les graphes

Un graphe est une structure de données qui représente un ensemble d'éléments et les relations entre eux. Les graphes sont extrêmement puissants pour modéliser une multitude de situations, ce qui en fait un outil central de l'informatique.

Un graphe est constitué de sommets (les éléments) reliés par des arêtes (les relations). Cette structure permet de représenter de nombreux problèmes : un réseau routier (les villes sont des sommets, les routes des arêtes), un réseau social (les personnes et leurs relations), Internet, un plan de métro, etc. Les graphes peuvent être orientés (les relations ont un sens) ou non, et les arêtes peuvent porter des valeurs (par exemple des distances). De nombreux problèmes concrets se ramènent à des questions sur les graphes, comme trouver le plus court chemin entre deux points.

Comprendre les graphes est fondamental, car ils modélisent une immense variété de situations réelles et sont au cœur de nombreux algorithmes. C'est l'une des structures les plus importantes de l'informatique. Les graphes sont largement approfondis dans le supérieur, en algorithmique, où leur étude (parcours, plus courts chemins, etc.) constitue un domaine majeur aux applications innombrables.

Exemple

Un réseau social peut se modéliser par un graphe : les personnes sont les sommets, les liens les arêtes.

4. Parcourir un graphe

De nombreux problèmes sur les graphes nécessitent de les parcourir, c'est-à-dire de visiter systématiquement leurs sommets en suivant les relations. Savoir parcourir un graphe est une compétence algorithmique fondamentale, à la base de nombreux traitements.

Il existe deux grandes façons de parcourir un graphe. Le parcours en largeur explore le graphe par « cercles » successifs : on visite d'abord tous les voisins directs d'un sommet, puis leurs voisins, et ainsi de suite ; il utilise une file. Le parcours en profondeur, au contraire, s'enfonce le plus loin possible le long d'un chemin avant de revenir en arrière pour explorer d'autres branches ; il utilise une pile (ou la récursivité). Ces parcours permettent de résoudre de nombreux problèmes : vérifier si deux sommets sont reliés, trouver un chemin, explorer toutes les possibilités. Le parcours en largeur permet notamment de trouver le chemin le plus court en nombre d'étapes.

Comprendre comment parcourir un graphe est essentiel, car ces parcours sont à la base de nombreux algorithmes appliqués aux graphes. Ils réutilisent les structures (piles, files) et la récursivité étudiées par ailleurs. Ces techniques sont approfondies dans le supérieur, en algorithmique, où les parcours de graphes ouvrent sur de nombreux algorithmes fondamentaux et leurs applications.

Exemple

Trouver le plus court chemin entre deux villes est un problème de parcours de graphe.

Pour approfondir ce chapitrefacultatif

Définitions clés

Diviser pour régner
Une stratégie qui découpe un problème en sous-problèmes plus petits, résolus puis combinés.
Algorithme glouton
Un algorithme qui fait, à chaque étape, le choix qui semble le meilleur sur le moment.
Graphe
Un ensemble de sommets reliés par des arêtes ; il modélise des réseaux (routes, relations…).
Complexité
La mesure du nombre d'opérations d'un algorithme selon la taille des données.

Explications détaillées

Diviser pour régner et algorithmes gloutons

La stratégie « diviser pour régner » découpe un problème en sous-problèmes plus simples, les résout, puis combine les résultats (comme le tri fusion ou la recherche dichotomique).

L'algorithme glouton, lui, fait à chaque étape le choix localement optimal. C'est souvent rapide, mais attention : le meilleur choix local ne mène pas toujours à la meilleure solution globale.

Les graphes

Un graphe est fait de sommets reliés par des arêtes. Il modélise une multitude de situations : réseaux routiers, réseaux sociaux, plans de métro, liens entre pages web.

De nombreux algorithmes explorent les graphes, par exemple pour trouver le plus court chemin entre deux points. Les graphes sont un outil central de l'informatique et de la modélisation des réseaux.

Méthode pas à pas

Reconnaître une stratégie algorithmique
  1. Le problème se découpe-t-il en sous-problèmes semblables ? → diviser pour régner.
  2. Fait-on un choix « au mieux » à chaque étape ? → algorithme glouton.
  3. S'agit-il d'objets reliés entre eux ? → modélisation par un graphe.
  4. Évaluer l'efficacité (complexité) de la stratégie choisie.

Exemple corrigé pas à pas

Diviser pour régner : le tri fusion

Comment la stratégie « diviser pour régner » permet-elle de trier une liste ?

  1. On divise la liste en deux moitiés.
  2. On trie chaque moitié (en la divisant à nouveau, récursivement).
  3. On fusionne les deux moitiés triées en une liste triée.
  4. Conclusion : découper puis recombiner permet de trier efficacement (tri fusion).

Erreurs fréquentes à éviter

  • Croire qu'un algorithme glouton donne toujours la solution optimale.Le meilleur choix local ne garantit pas la meilleure solution globale : le glouton peut se tromper.
  • Confondre sommets et arêtes d'un graphe.Les sommets sont les objets (points) ; les arêtes sont les liens qui les relient.
  • Négliger la complexité d'un algorithme.Sur de grandes données, une stratégie efficace change tout : la complexité est décisive.

Pour aller plus loin

Les algorithmes de graphes, partout

Calculer un itinéraire GPS, suggérer des amis sur un réseau social, optimiser des livraisons : ces services reposent sur des algorithmes de graphes. Souvent invisibles, ils structurent notre quotidien numérique. Comprendre ces stratégies algorithmiques, c'est saisir les rouages du monde connecté — et pouvoir en discuter les enjeux.

Ce qu'il faut absolument retenir

Ce qu'il faut absolument retenir

Vérifie ta compréhension

Exercice 1En quoi consiste la stratégie « diviser pour régner » ?

Exercice 2Comment fonctionne un algorithme glouton ?

Exercice 3Qu'est-ce qu'un graphe ?

Exercice 4Un algorithme glouton donne toujours la solution optimale.

Exercice 5Donne un exemple de situation que l'on peut modéliser par un graphe.

Source officielle   Ministère de l'Éducation nationale — Programme officiel · FR-2019

L'essentiel en images

Récapitulatif illustré du cours