Chemin dans un graph

Bonjour,

Le problème du postier chinois consiste à trouver un chemin fermé (cycle) de longueur (nombre d'arêtes) minimale, qui visite chacune des arêtes d'un graphe connexe non orienté.

Si $G = (V,E)$ est un arbre, alors un cycle du postier chinois contient $2\text{Card}(E)$ arêtes (comptées avec leur multiplicité). Je montre ceci par induction.

Je voudrais montrer que si $G$ n'est pas un arbre, alors un cycle du postier chinois contient au plus $2\text{Card}(E) - 1$ arête (et si on a une meilleure borne c'est encore mieux). J'imagine que c'est lié aux cycles de $G$, qui doivent contenir des arêtes par lesquelles le postier ne passe qu'une fois et pas deux, mais je ne parviens pas à trouver le bon argument.

Merci !

Réponses

  • Bonjour,

    Soit le graphe $G(2,1)$ avec $V=2$ sommets et $E=1$ arête. Le postier chinois parcourt l’arête deux fois pour revenir à son point de départ. Donc la longueur du cycle minimal est $2$. Or $2 Card(E)-1=1$ : ta conjecture est fausse, non ?

    Si le graphe n’est pas un arbre, il existe au moins une arête qui forme un cycle fermé. Quand on coupe ce cycle, le graphe devient un arbre et le cycle chinois contient $2Card(E)$ arêtes. Le plus petit cycle fermé possède trois sommets et trois arêtes. Sur une dessin, on voit qu’on peut parcourir les arêtes de ce cycle une seule fois (au lieu de deux fois dans un arbre). On a donc comme majorant $2Card(E)-3.$
  • YvesM écrivait :
    > Soit le graphe $G(2,1)$ avec $V=2$ sommets et $E=1$ arête. Le postier chinois parcourt
    > l’arête deux fois pour revenir à son point de départ. Donc la longueur du cycle minimal est
    > $2$. Or $2 Card(E)-1=1$ : ta conjecture est fausse, non ?

    Le graphe composé d'une arête est bien un arbre.

    > Si le graphe n’est pas un arbre, il existe au moins une arête qui forme un cycle fermé.

    Est-ce qu'un cycle fermé est différent d'un cycle ?

    > Quand on coupe ce cycle, le graphe devient un arbre

    Je pense que cette affirmation est fausse. en prenant par exemple deux graphes cycles liés par une arête.
    De plus que signifie couper un cycle ?

    Merci pour ta réponse !
  • Bonjour,

    Arête (sic) de déconner... j’utilise un vocabulaire non spécialisé.
    Quel est le plus petit graphe qui n’est pas un arbre ?
    Il contient un cycle. Ouvre ce cycle pour le transformer en arbre. Et relis mon message... le plus petit cycle permet de ne passer qu’une fois sur les arêtes de ce cycle et on trouve donc une majoration.
    Enfin, c’est mon idée. Je pense qu’un graphe qui n’est pas un arbre contient un cycle (une boucle) : un triangle (ou plus d’aretes). On les parcourt une seule fois et donc on majore par $2Card(E)-3.$
  • Merci pour ta réponse, je ne demande pas de précisions pour pinailler, mais pour m'assurer de bien comprendre.

    Donc si je comprends bien ta réponse, pour un multigraphe on aurait comme majorant $2 Card(E)-2$ ?

    Cela dit pour être honnête, je comprends ton argument sur un dessin (le fait de passer une seule fois et pas deux par les arêtes des cycles), mais je ne vois pas en quoi "couper les cycle" pour transformer les cycles en arbres est utile.

    Par ailleurs si je considère pas exemple le graphe complet à quatre sommets, on voit qu'il n'y a pas unicité sur la manière de découper les cycles, je pense que formellement il faut être plus précis.
  • Bonjour,

    Couper le cycle est utile pour comparer à l'arbre pour lequel on a $2Card(E).$ De plus, on se fout de l'unicité des coupes. On n'a pas cette unicité d'ailleurs.

    Pour un arbre, on passe deux fois par chaque arête et donc, pour $n$ arêtes, le cycle chinois est $2 n=2 Card(E).$
    Pour un graphe qui n'est pas un arbre, on a une série de cycles disjoints $c_1, c_2, ...$, chacun de longueur $n_1, n_2, ...$ avec $n_i \geq 3.$ Comme on ne passe qu'une fois par les arêtes dans ces cycles (*), on a un gain de $n_1+n_2+...$. Un gain par rapport à quoi ? Je coupe chacun de ces cycles en séparant deux arêtes du cycle. J'obtiens un graphe qui est un arbre (puisqu'on a détruit tout cycle). Son nombre d'arêtes est le même que celui du graphe original : $2 Card(E).$ Le majorant est donc $2 Card(E) - (n_1+n_2+...) \leq 2 Card(E)-3.$

    Si les cycles ne sont pas disjoints et ont $m$ arêtes communes, alors on a $2 Card(E) - (n_1+n_2+... - m).$ Par exemple si on considére un carré et sa diagonale, vus comme deux cycles triangulaires.

    (*) il suffit de l'écrire pour un triangle $ABC$ et de montrer qu'on peut toujours passer de $A$ à $B$ (puis de parcourir la partie du graphe attaché à $B$) et quand on revient en $B$ (**) on passe de $B$ à $C$ (puis de parcourir la partie du graphe attaché à $C$) et quand on revient en $C$ on passe de $C$ à $A$.
    (**) si on n'est pas obligé de passer par $B$ c'est qu'il y a d'autres cyles, mais on cherche un majorant, donc on prend le cas le plus défavorable.
Connectez-vous ou Inscrivez-vous pour répondre.