Combien de coupes de bord disjointes un DAG doit avoir?


10

La question suivante est liée à l'optimalité de l' algorithme de programmation dynamique Bellman-Ford - plus court (voir cet article pour une connexion). En outre, une réponse positive impliquerait que la taille minimale d'un programme de branchement non déterministe monotone pour le problème STCONN est . stΘ(n3)

Soit un DAG (graphe acyclique dirigé) avec un nœud source et un nœud cible . A - coupe est un ensemble d'arêtes, dont la suppression détruit toutes - chemins de longueur ; nous supposons qu'il existe des chemins dans . Notez que les chemins - courts n'ont pas besoin d' être détruits.GstkstkGst

Question: Est - ce que doit avoir au moins (environ) coupes disjointes ? Gk k

S'il n'y a pas de - chemins plus courts que , la réponse est OUI, car nous avons le fait min-max connu suivant (un double du théorème de Menger ) attribué à Robacker . Une coupe - est une coupe pour (détruit tous chemins - ).stkt k k = 1 s tstkk=1 st

Réalité: dans tout graphique dirigé, le nombre maximal de coupes - disjointes sur les bords est égal à la longueur minimale d'un chemin - . t s tstst

Notez que cela vaut même si le graphique n'est pas acyclique.

Preuve: Trivialement, le minimum est au moins le maximum, car chaque chemin - coupe chaque coupe - dans un bord. Pour voir l'égalité, soit la longueur du chemin le plus court de à . Soit , pour , et soit l'ensemble des arêtes quittant . Il est clair que les ensembles sont disjoints, car les ensembles sont. Il reste donc à montrer que chaque est un -t s t d ( u ) s u U r = { u : d ( u ) = r } r = 1 , , d ( t ) E r U r E r U r E r s t s t p = ( u 1 , u 2 , , u m )ststd(u)suUr={u:d(u)=r}r=1,,d(t)ErUrErUrErstCouper. Pour le montrer, prenez un chemin - arbitraire avec et . Puisque , la séquence des distances doit atteindre la valeur en commençant à et en augmentant la valeur d'au plus à chaque étape. Si une valeur est diminuée, alors nous devons atteindre la valeur cette dernière. Donc, il doit y avoir un où un saut de à se produit, signifiant le bordstp=(u1,u2,,um)u m = t d ( u i + 1 ) d ( u i ) + 1 d ( u 1 ) , , d ( u m ) d ( u m ) = d ( t ) d ( u 1 ) = d ( s ) = 0 1 d (u1=sum=td(ui+1)d(ui)+1d(u1),,d(um)d(um)=d(t)d(u1)=d(s)=01d ( u i ) j d ( u j ) = r d ( u j + 1 ) = r + 1 ( u j , u j + 1 ) E rd(ui)d(ui)jd(uj)=rd(uj+1)=r+1(uj,uj+1) appartient à , comme souhaité. QED Er

Mais que se passe-t-il s'il existe également des chemins plus courts (que )? Un indice / référence? k


JT Robacker, Min-Max Theorems on Shortest Chains and Disjoint Cuts of a Network, Research Memorandum RM-1660, The RAND Corporation, Santa Monica, Californie, [12 janvier] 1956.
EDIT (un jour plus tard): Via une courte et très belle argumentation, David Eppstein répondu à la question ci - dessus d' origine négative : la complète DAG (un tournoi transitif ) ne peut pas avoir plus de quatre disjoints -cuts! En fait, il prouve le fait structurel intéressant suivant , pour about . Une coupe est pure si elle ne contient pas d'arêtes incidentes à ou à . k k Tnkk stnst

Chaque pure dans contient un chemin de longueur . T n kkTnk

Cela implique en particulier que tous les deux coupures pures doivent se croiser! Mais il y a peut-être encore beaucoup de coupes pures qui ne se chevauchent pas «trop». D'où une question détendue (les conséquences pour STCONN seraient les mêmes ):kkk

Question 2: Si chaque coupe pure a des bords , le graphique doit-il avoir environ des bords ? M Ω ( k M )kMΩ(kM)

Le lien avec la complexité de STCONN vient du résultat d'Erdős et Gallai qu'il faut supprimer tous les bords ( sauf de (non dirigé) afin de détruire tous les chemins de longueur . K m k(k1)m/2Kmk


EDIT 2: J'ai maintenant posé la question 2 à mathoverflow .

Réponses:


9

Réponse courte: non.

Soit un DAG complet (tournoi transitif) sur sommets avec et sa source et son puits, et soit . Observez qu'il peut y avoir au plus quatre coupes disjointes contenant plus de tham arêtes incidentes à ou plus de arêtes incidentes à . Donc, s'il doit y avoir de nombreuses coupes disjointes, nous pouvons supposer qu'il existe une coupe qui ne contient pas un grand nombre d'arêtes incidentes à et .n s t k = Gnst n/3sn/3tCstk=n/3n/3sn/3tCst

Maintenant , nous le sous - graphe complet induit dans par l'ensemble des sommets tels que les bords et ne appartiennent à . Le nombre de sommets dans est au moins , car sinon toucherait trop d'arêtes incidentes à ou . Cependant, ne peut pas contenir un -path, parce que si un tel chemin existait , il pourrait être concaténée avec et pour former un long chemin dans . Par conséquent, la superposition le plus long chemin deG x s x x t C X n / 3 C s t X C k s t G C X C k ( n / 3 ) / k = k X C C C P kXGxsxxtCXn/3CstXCkstGCXC a moins de couches, et a une couche contenant plus de sommets. Comme il s'agit d'une couche de la couche de chemin la plus longue, elle est indépendante dans , et donc complète en , donc contient un chemin travers les sommets de cette couche, de longueur . Cette voie doit être disjointe de toutes les autres coupes.k(n/3)/k=kXCCCPk

Chaque coupe qui n'est pas doit contenir soit l'arête de jusqu'au début du chemin soit l'arête de la fin du chemin vers , sinon elle ne bloquerait pas le chemin - - . Donc, si existe, il peut y avoir au plus trois coupes disjointes. Et si n'existe pas (c'est-à-dire si toutes les coupes couvrent plus de bords incidents à ou à ) il peut y avoir au plus quatre coupes disjointes. Quoi qu'il en soit, c'est beaucoup moins que coupures.s P P t s P t C C n / 3 s t kCsPPtsPtCCn/3stk


@ David: Argument intéressant (même si je ne l'ai pas encore tout à fait compris: pourquoi C doit avoir un k-chemin). Mais où l'argument échoue (il devrait) si tous les st chemins sont longs, de longueur au moins k?
Stasys

1
@Stasys: G est un tournoi, la preuve utilise ce fait, donc imo c'est pourquoi il échouerait.
domotorp

@domotorp: merci, en effet j'ai raté le mot "complet". Je ne trouve pas encore de faille, mais ce serait un fait plutôt contre-intuitif: même s'il y a beaucoup de k-path dans un tournoi acyclique, nous ne pouvons pas sélectionner de nombreux systèmes disjoints de leurs représentants (bords).
Stasys

@David: En fait, pour avoir les conséquences mentionnées, nous pouvons admettre que les coupes ne sont que "presque disjointes", c'est-à-dire qu'elles peuvent partager des arêtes incidentes à s ou t (nous n'avons que 2n ces arêtes spéciales). Un véritable objectif est de montrer que G doit avoir environ kN arêtes, si nous savons que chaque coupe k "pure" (sans ces arêtes spéciales) doit avoir N arêtes. Votre argument (très agréable, comme je le vois maintenant) peut-il être modifié pour cette situation ("presque disjointe")?
Stasys

2
Si vous autorisez les coupes à partager les arêtes incidentes à s ou t, alors pourquoi ne pouvez-vous pas faire en sorte que toutes les coupes se composent exactement de l'ensemble d'arêtes incidentes à s? D'un autre côté, mon argument montre que (avec son choix de et ) il ne peut y avoir qu'une seule coupe pure. kGk
David Eppstein
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.