AccueilđŸ‡«đŸ‡·Chercher

ProblĂšme du postier chinois

En thĂ©orie des graphes et en algorithmique, le problĂšme du postier chinois, ou problĂšme du postier (en anglais route inspection problem) consiste Ă  trouver un plus court chemin dans un graphe connexe non orientĂ© qui passe au moins une fois par chaque arĂȘte et revient Ă  son point de dĂ©part.

Le graphe des arĂȘtes du cube n'est pas eulĂ©rien (sommets de degrĂ© 3), mais peut l'ĂȘtre rendu en dĂ©doublant quatre de ses douze arĂȘtes, ce qui ajoute un degrĂ© Ă  chaque sommet et fournit un parcours de postier.

Le nom du problÚme vient du fait qu'il a été étudié par le mathématicien chinois Meigu Guan en 1962[1], et qu'il modélise la tournée d'un facteur devant effectuer le plus efficacement possible sa tournée en passant au moins une fois par chaque rue de son secteur.

Ce support de table figure un parcours de postier non minimal (6 arĂȘtes dĂ©doublĂ©es).

Le problĂšme peut ĂȘtre rĂ©duit Ă  la recherche d'un couplage maximal de poids minimum, et ainsi ĂȘtre rĂ©solu en temps polynomial dans le cas gĂ©nĂ©ral.

Méthode de résolution

Relation avec les cycles eulériens

Le meilleur rĂ©sultat qu'on puisse espĂ©rer est de trouver un chemin passant exactement une fois par chaque arĂȘte, c'est-Ă -dire un cycle eulĂ©rien. Un tel chemin existe si et seulement si chaque sommet du graphe est de degrĂ© pair.

Dans le cas contraire, un chemin optimal passe au moins deux fois par une arĂȘte. Il est plus simple de considĂ©rer l'approche alternative du problĂšme : plutĂŽt que de permettre d'emprunter plusieurs fois la mĂȘme arĂȘte, on duplique les arĂȘtes du graphe par lesquelles on souhaite passer plusieurs fois. Le but est alors de complĂ©ter le graphe pour le rendre eulĂ©rien, en minimisant la longueur totale des arĂȘtes ajoutĂ©es. On obtient une solution du problĂšme initial en cherchant un circuit eulĂ©rien dans le graphe complĂ©tĂ©. On rappelle pour la suite que dans toute composante connexe d'un graphe, la somme des degrĂ©s des sommets est le double du nombre d'arĂȘtes, donc est paire.

Cas particulier

Pour comprendre la solution gĂ©nĂ©rale, il est utile de commencer par le cas oĂč exactement deux sommets u et v sont de degrĂ© impair. La solution optimale consiste alors Ă  calculer un plus court chemin de u Ă  v (par exemple en utilisant l'algorithme de Dijkstra), et Ă  complĂ©ter le graphe avec les arĂȘtes de ce chemin.

DĂ©monstration : aprĂšs avoir ajoutĂ© les arĂȘtes du plus court chemin, chaque sommet est bien de degrĂ© pair, donc le graphe est eulĂ©rien et la solution est valide. De plus, dans le graphe des arĂȘtes ajoutĂ©es pour n'importe quelle solution valide, seuls u et v sont de degrĂ© impair. Ils ne peuvent pas ĂȘtre dans des composantes connexes diffĂ©rentes, sinon les sommes des degrĂ©s de ces composantes seraient impaires, donc u et v sont reliĂ©s par un chemin. Par consĂ©quent, la solution proposĂ©e est bien optimale.

Cas général

Dans le cas gĂ©nĂ©ral, il y a toujours un nombre pair de sommets de degrĂ© impair. La solution optimale peut ĂȘtre obtenue par l'algorithme suivant[2] :

  • Former un nouveau graphe G’, constituĂ© uniquement des sommets de degrĂ© impair dans le graphe initial G.
  • Entre deux sommets de G’, ajouter une arĂȘte dont la longueur est celle du plus court chemin entre les deux sommets dans G.
  • Trouver un couplage parfait de poids minimum dans G’, ce qu'on peut calculer avec un algorithme de complexitĂ©
  • Pour chaque paire de sommets u et v couplĂ©s dans G’, ajouter au graphe initial G les arĂȘtes du plus court chemin de u Ă  v.

Voir aussi

Notes et références

  1. Douglas B. West, Introduction to Graph Theory, 2001, Prentice-Hall.
  2. J. Edmonds and E.L. Johnson, Matching Euler tours and the Chinese postman problem, Mathematical programming, 1973.
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.