Secondo più piccolo


13

Si sa qualcosa della seconda più piccola - -cut in una rete a flusso? O, più in generale, su questo problema:st

Ingresso: una reteN e un numero , tutto in binario. Uscita: Un k esimo più piccolo s - t taglio.k
kst

Un esimo più piccolo s - t taglio ( S , T ) sono dei s - t taglio, in modo tale che vi sono esattamente k - 1 s - t tagli cui capacitàkst(S,T)stk1 st

  • sono diversi a coppie e
  • veramente più piccolo della capacità di .(S,T)

Vorrei sapere come può essere calcolato e se ciò può essere fatto in modo efficiente come nel caso .K=1


È possibile trovare il secondo taglio più piccolo aggiungendo peso a tutti i bordi nel taglio più piccolo e quindi calcolando il nuovo taglio più piccolo. Questo probabilmente funziona fintanto che k è codificato in unario (e sicuramente per k costante). ϵkk
Yuval Filmus,

2
Non vedo come questo aiuti. Immagina una rete di percorsi costituita dai tre nodi , v , t solo con i due bordi ( s , v ) e ( v , t ) . Ulteriormente, lasciate le capacità siano c ( s , v ) = 1 e c ( v , t ) = 2 . Chiaramente, i tagli di taglio minimo ( s , v ) e i secondi tagli di taglio più piccoli ( v ,Svt(S,v)(v,t)c(S,v)=1c(v,t)=2(S,v) . Aumentare le capacità come descritto descriveresti di nuovo ( s , v ) come taglio minimo con capacità 1 + ϵ . Come posso dedurre il secondo taglio più piccolo da quello? (v,t)(S,v)1+ε
Oliver Witt,

Aggiungere un limite inferiore al limite di taglio è una disuguaglianza lineare, basta aggiungere un epsilon più grande del limite di min ed eseguire LP. Puoi ripeterlo k volte per ottenere ciò che desideri. Questo probabilmente può essere rifuso come una modifica sulla rete, ma non l'ho capito.
Kaveh,

Vedo come funziona se codifica unaria. Cosa succede se è binario? In questo caso, la modifica rete non può essere fatto in k iterazioni. KK
Oliver Witt,

1
Dubito che ci sia una soluzione semplice se k è binario. Possiamo controllare se c'è un taglio del cappuccio c come ho descritto. Mi sembra che essenzialmente contando il numero di possibili c, potrebbe essere fornito in relazione al conteggio del numero di corrispondenze e probabilmente # P-complete. (Questa è solo la mia intuizione, non un argomento.)
Kaveh

Risposte:


7

Il secondo taglio più piccolo, e più in generale i tagli più piccoli, si trova nel polinomio temporale in k e nelle dimensioni della rete. Vedere:kk

HW Hamacher. Un algoritmo per trovare i k tagli migliori in una rete. Oper. Res. Lett. 1 (5): 186-189, 1982, doi: 10.1016 / 0167-6377 (82) 90037-2 .(Kn4)k

HW Hamacher, J.-C. Picard e M. Queyranne. Alla ricerca dei migliori tagli in una rete. Oper. Res. Lett. 2 (6): 303–305, 1984, doi: 10.1016 / 0167-6377 (84) 90083-X .K

HW Hamacher e M. Queyranne. migliori soluzioni ai problemi di ottimizzazione combinatoria. Ann. Oper. Res. 4 (1–4): 123–143, 1985, doi: 10.1007 / BF02022039 .K


Questi non consentono pesi uguali tra i primi ? La domanda sembra porsi sul k -esimo peso , che, come suggerisce Kaveh, ha un odore più simile a un problema # P-completo. kk
András Salamon,

Lo capisco anche in questo modo: sono ammessi pesi uguali. Questo sembra non rispondere alla domanda. Tuttavia, non ero a conoscenza di questi documenti, grazie per quello.
Oliver Witt,

1
La domanda è formulata male, perché chiede una cosa (il taglio più piccolo) e poi aggiunge una restrizione che trasforma la domanda in qualcos'altro (il k taglio più piccolo distinto). Concordo sul fatto che la versione con peso distinto del problema sarà probabilmente $ P-complete. kk
David Eppstein,
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.