Quanti tagli di bordi disgiunti deve avere un DAG?


10

La seguente questione è legata alla ottimalità del Bellman-Ford - t più breve algoritmo di programmazione percorso dinamico (vedi questo post per una connessione). Inoltre, una risposta positiva implicherebbe che la dimensione minima di un programma di ramificazione non deterministica monotona per il problema STCONN è Θ ( n 3 ) . stΘ(n3)

Lasciate sia un DAG (grafo aciclico diretto) con un nodo sorgente s ed una porta nodo t . A k - taglio è un insieme di archi, la cui rimozione distrugge tutti s - t percorsi di lunghezza k ; assumiamo che ci sono tali percorsi in G . Si noti che non è necessario distruggere percorsi S - T più brevi .GstkstkGst

Domanda: fa deve avere almeno (circa) k disgiunti k -cuts? Gk k

Se non ci sono percorsi - t più brevi di k , la risposta è SÌ, perché abbiamo il seguente fatto min-max noto (un doppio del teorema di Menger ) attribuito a Robacker . Un taglio s - t è un taglio k per k = 1 (distrugge tutti i percorsi s - t ).stkstkk=1 st

Fatto: in qualsiasi grafico diretto, il numero massimo di tagli - t con bordi disgiunti è uguale alla lunghezza minima di un percorso s - t . stst

Si noti che ciò vale anche se il grafico non è aciclico.

Dimostrazione: in sostanza, il minimo è almeno il massimo, poiché ogni percorso - t interseca ogni taglio s - t in un bordo. Per vedere l'uguaglianza, sia d ( u ) la lunghezza di un percorso più breve da s a u . Sia U r = { u : d ( u ) = r } , per r = 1 , , d ( t ) , e sia E rststd(u)suUr={u:d(u)=r}r=1,,d(t)Eressere l'insieme dei bordi che lasciano . E 'chiaro che gli insiemi E r sono disgiunti, perché i set U nti sono tali. Quindi, resta da dimostrare che ogni E R è una s - t taglio. Per dimostrarlo, prendi un percorso s - t arbitrario p = ( u 1 , u 2 , , u m ) con u 1 = s e u m = t . Dal dUrErUrErststp=(u1,u2,,um)u1=sum=t , la sequenza delle distanze d ( u 1 ) , , d ( u m ) deve raggiungere il valore d ( u m ) = d ( t ) iniziando da d ( u 1 ) = d ( s ) = 0 e aumentando il valore al massimo 1d(ui+1)d(ui)+1d(u1),,d(um)d(um)=d(t)d(u1)=d(s)=01in ogni passaggio. Se un certo valore viene diminuito, allora dobbiamo raggiungere il valore d ( u i ) in quest'ultimo. Quindi, deve esserci una j in cui si verifica un salto da d ( u j ) = r a d ( u j + 1 ) = r + 1 , il che significa che il bordo ( u j , u j + 1 ) appartiene a E r , come desiderato. QED d(ui)d(ui)jd(uj)=rd(uj+1)=r+1(uj,uj+1)Er

E se ci fossero anche percorsi più brevi (di )? Qualche suggerimento / riferimento? k


JT Robacker, teoremi Min-Max sulle catene più brevi e tagli disgiunti di una rete, Memorandum di ricerca RM-1660, The RAND Corporation, Santa Monica, California, [12 gennaio] 1956.
EDIT (un giorno dopo): tramite una breve e simpatica discussione, David Eppstein ha risposto negativamente alla domanda originale sopra : il DAG T n completo (un torneo transitivo ) non può avere più di quattro k- cut disgiunti ! Infatti, dimostra il seguente interessante fatto strutturale , per k circa Tnkk . Un taglio èpurose non contiene spigoli incidenti aso at.nst

Ogni taglio puro in T n contiene un percorso di lunghezza k . kTnk

Questo, in particolare, implica che ogni due tagli puri devono intersecarsi! Ma forse ci sono ancora molti k- tagli puri che non si sovrappongono "troppo". Quindi, una domanda rilassata (le conseguenze per STCONN sarebbero le stesse ):kk

Domanda 2: se ogni taglio puro ha bordi M , allora il grafico deve avere bordi Ω ( k M ) ? kMΩ(kM)

La connessione con la complessità di STCONN deriva dal risultato di Erdős e Gallai che bisogna rimuovere tutti i bordi tranne da (non indirizzati) K m per distruggere tutti i percorsi di lunghezza k . (k1)m/2Kmk


EDIT 2: ora ho posto la domanda 2 a mathoverflow .

Risposte:


9

Risposta breve: no.

Lasciate sia un DAG completa (torneo transitivo) su n vertici con s e t sua fonte e lavandino, e lasciare che k = Gnstk=n/3n/3sn/3tCst

XGxsxxtCXn/3CstXCkstGCXCk(n/3)/k=kXCCCPk

CsPPtsPtCCn/3stk


@ David: argomento interessante (anche se non l'ho ancora capito bene: perché C deve avere un percorso k). Ma dove l'argomento fallisce (dovrebbe) se tutti i percorsi sono lunghi, di lunghezza almeno k?
Stasys,

1
@Stasys: G è un torneo, la prova usa questo fatto, quindi è per questo che fallirebbe.
domotorp,

@domotorp: grazie, in effetti ho perso la parola "completo". Non riesco ancora a trovare un difetto, ma questo sarebbe un fatto piuttosto controintuitivo: anche se ci sono molti k-path in un torneo aciclico, non possiamo selezionare molti sistemi disgiunti dei loro rappresentanti (bordi).
Stasys,

@David: In realtà, per avere le conseguenze menzionate, possiamo consentire che i tagli siano solo "quasi disgiunti", cioè che possano condividere i bordi incidenti con s o t (abbiamo solo 2 su questi bordi speciali). Un vero obiettivo è dimostrare che G deve avere circa i bordi kN, se sappiamo che ogni taglio "puro" (senza questi bordi speciali) deve avere N bordi. Il tuo argomento (molto bello, come vedo ora) può essere modificato in questa situazione (quasi disgiunta)?
Stasys,

2
Gk
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.