Quand un graphique admet-il une orientation dans laquelle il y a au plus une première marche?

9

Considérez le problème suivant:

Entrée: un graphe simple (non orienté) .G=(V,E)

Question: Y at - il une orientation de satisfaisant la propriété que pour chaque il y a au plus un (dirigé) - marche?s , t V s tGs,tVst

Cela peut être exprimé de manière équivalente:

Entrée: un graphe simple (non orienté) .G=(V,E)

Question: Y a-t-il une orientation acyclique de satisfaisant la propriété que pour chaque il y a au plus un ( ) chemin (dirigé) - ?s , t V s tGs,tVst

Quelle est la classe de graphiques pour laquelle la réponse est «oui»? Ce problème peut-il être résolu en temps polynomial?


Quelques observations:

  1. Si le graphique est bipartite, la réponse est "oui".
  2. Si le graphique a un triangle, la réponse est "non".

La première observation suit en orientant les bords d'une partition à l'autre. La deuxième observation est facile à vérifier. Cela m'a conduit à deux suppositions incorrectes:

  1. La réponse est "oui" si et seulement si le graphique est bipartite. (contre-exemple: le cycle 5)
  2. La réponse est "oui" si et seulement si le graphe est sans triangle (contre-exemple: le produit cartésien d'une arête à 5 cycles)
Austin Buchanan
la source

Réponses:

10

Il est NP-complet par une réduction de 3SAT pas tous égaux. Pour voir cela, observez que

  • La seule orientation valide d'un cycle à est celle dans laquelle les bords alternent les orientations.4
  • Soit un chemin non orienté à trois arêtes et ajoutez un sommet de degré deux adjacent aux extrémités de pour former un cycle à . Ensuite, les seules orientations de qui peuvent être étendues à des orientations valides de l'ensemble du cycle sont celles dans lesquelles n'est pas systématiquement orienté en tant que chemin dirigé.P 5 P 5 PPP5P5P

On forme un gadget variable pour une variable qui appartient à différentes dispositions de l'instance NAE-3SAT, en collant ensemble partagées -cycles sur un bord commun. Ensuite, dans chacun des cycles, le bord opposé au bord partagé doit être orienté de manière cohérente avec tous les autres cycles. Nous associerons la valeur de vérité de la variable à cette orientation cohérente de ces bords. En outre, dans une orientation quelconque valide de chacun de ces -cycles, il n'y a pas de chemin d'un -cycle dans un autrek k 4 4 4 4 4 4vkk444444-cycle, de sorte que ces gadgets ne peuvent interagir les uns avec les autres que dans l'orientation de leurs bords et non par l'existence de chemins plus longs.

Nous formons un gadget de clause pour une clause à 3 variables de l'instance NAE-3SAT en collant ensemble trois des bords à cycles, en face des bords partagés des trois gadgets variables appropriés, dans un chemin à 3 bords , puis en ajoutant un degré -deux sommets pour compléter en un cycle de . Comme discuté ci-dessus, ce cycle de peut être orienté de manière cohérente si et seulement si ses trois bords ne sont pas tous orientés comme un chemin dirigé, ce qui (lorsqu'il est collé correctement) est vrai si et seulement si les valeurs de vérité associées à ces orientations ne sont pas toutes égal.P P 5 54PP55

stst

David Eppstein
la source
Merci! J'étais déjà tombé sur le wiki à plusieurs arbres. Il semble qu'ils soient presque ce que je veux. Une différence est que je ne veux pas l'orientation acyclique du triangle, mais ceci est un arbre multiple.
Austin Buchanan
J'aimerais citer ceci. Préféreriez-vous que je cite selon la réponse de Suresh ici , ou d'une autre manière?
Austin Buchanan
La méthode dans la réponse de Suresh est très bien. BTW, re multitrees: l'ordre acyclique d'un triangle est correct si vous le considérez comme la relation binaire d'un ordre partiel sans N, mais pas pour la version DAG de la définition, car les DAG sont censés être transitoirement réduit et le triangle acyclique ne l'est pas. Je pense donc que les arbres multiples (en tant que DAG) sont vraiment la même chose que dans votre question.
David Eppstein