for st mincuts Surender Baswana Department of CSE IIT Kanpur Joint work with Koustav Bhanja Research supported by Tapas Mishra Memorial Chair cut with ID: 1044531
Download Presentation The PPT/PDF document "Vital edges and sensitivity oracles" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
1. Vital edges and sensitivity oracles for (s,t)-mincutsSurender BaswanaDepartment of CSE, IIT KanpurJoint work with Koustav BhanjaResearch supported by Tapas Mishra Memorial Chair
2. (,)-cut , with, 2 =() , for each .
3. (,)-cut , with, = { | or }Capacity of a cut:= (,)-mincut : a (,)-cut with least capacity 3 Fastest algorithm to compute (,)-mincut: =() Orlin [2013]
4. : set of edges that appear in at least 1 (,)-mincut (,)-mincut
5. (,)-maxflow Capacity constraintConservation constraint
6. Ford Fulkerson Algorithm [1956]1st algorithm to compute (,)-maxflow(,)-maxflow = (,)-mincutResidual Network
7. Let be an edge in .Definition: A ()-cut of least capacity that keeps on side of and on side of . Mincut for an edge
8. is mincut for if and only ifFor each ()-maxflow ,Every outgoing edge of is fully saturated.Every incoming edge carries 0 flow. FlowCut Property
9. -mincuts: Compact Structures, 9Part ICombinatorial ResultsPicard and Queyranne [1980]
10. Let and ’ define any two ()-mincuts. is a ()-mincut. is a ()-mincut. Closed under intersection and union
11. 11 nodes sourcesink()-Mincuts : Cardinality
12. 12 nodes sourcesink Mincuts ()-Mincuts : Cardinality
13. Data Structure for ()-Mincuts QueryYes/NoReporting ()-Mincut QueryYes/NoEdgeQuery() size
14. QueryYes/NoReporting ()-Mincut QueryYes/No Data Structure for ()-Mincuts VertexQuery(,) size EdgeQuery() size size
15. For each in , Every vertex has a path to in Every vertex has a path from in A simplifying assumption about : any ()-flow of non-zero value in
16. How does an ()-Mincut appear in ? 16 and No outgoing edges from in : a ()-maxflow in is an ()-Mincut in
17. How does an ()-cut appear in ? 17 and No outgoing edges from in is an ()-Mincut in
18. : ()-Mincut and . : set of vertices reachable from in . is an ()-Mincut is the smallest ()-Mincut that keeps on the side of .Lemma :There is an ()-Mincut to which edge contributes Iff 18 Focussing on only. EdgeQuery() in time
19. : ()-Mincut and and 19 Answering VertexQuery
20. is an ()-Mincut. 20 Answering VertexQuery There exists a ()-Mincut such that and
21. Lemma :There exists a ()-Mincut such that and iff in Corollary: and are not separated by any ()-Mincut Iff and in . 21 Answering VertexQuery VertexQuery() in time and are strongly connected
22. Mapping : a topological ordering of Let If contributes to any ()-Mincut A compact data structureA Directed Acyclic Graph = ( Compress each strongly connected component into a node EdgeQuery() ? … in time
23. Definition:Smallest set of ()-Mincuts such that for each , at least 1 mincut for is present in the set. Mincut Cover for
24. Mapping : a topological ordering of A compact data structureA Directed Acyclic Graph = ( Compress each strongly connected component into a node … MincutCover for with size
25. preserves all ()-Mincuts.Any ()-cut is a ()-Mincut iff in . A compact data structureA Directed Acyclic Graph = ( Compress each strongly connected component into a node is transversal in A structure to characterize all ()-Mincuts
26. Exercise QueryReporting valueReporting ()-Mincut QueryReporting valueInsertion() Deletion() size Data Structure Unweighted graph
27. 27Part IIVital Edges,Sensitivity Oracle for -mincuts
28. Sensitivity oracles for (s,t)-mincutsLet =() be a directed graph with source and sink such that, , for each .Aim: To build a compact data structure:ReportMinCut() : Report the (s,t)-mincut after changes to ReportCap() : Report cap. of (s,t)-mincut after changes to Query timeSpaceReportCap()ReportMincut() Query timeSpace Lower bound
29. Definition:An edge is a vital edge in iff its failure leads to reduction in the capacity of (,)-mincut.Formal ways: : set of edges that appear in at least 1 (,)-mincut : set of all vital edges Vital edgeCapacity of Mincut for carries nonzero flow in each (,)-maxflow.
30. :Least value of flow through (, ) in a (,)-maxflow : {(, ), (, )} {(, ), (, ), (, ), (, )} Mincut(, ) An Example
31. Sensitivity Oracles for weighted graphsMincut Cover for Compact structure for mincuts for Main Objectives
32. Outgoing edges are not fully saturated.Incoming edges are carrying flow. Mincut() An Example Consider
33. is mincut for if and only ifThere exists a ()-maxflow ,Every outgoing edge of , except , is fully saturated.Every incoming edge carries 0 flow. GenFlowCut Property
34. Reduce the capacity of from to Increase the capacity back to . GenFlowCut Property
35. Property:Let be Mincut for a vital edge . There cannot exist a vital edge that goes from to . Mincut of a vital edge
36. Key insight
37. Key insight Pick
38. TreeConstruct(){ Create a node , If there are any vital edges with both endpoints in ; Let be the edge s.t. Mincut has least capacity ; TreeConstruct(); TreeConstruct();}
39. MincutCover for size
40. : a vital edge Sensitivity OracleEach internal node stores only the capacity of the cut.ReportCap()
41. Sensitivity OracleEach internal node stores only the capacity of the cut.ReportCap()
42. Sensitivity Oracles for weighted graphsMincut Cover for Compact structure for mincuts for Main Questions DAGs Characterization: 1-Transversal cuts
43. Q1: Design an efficient algorithm to compute maxflow computation ? time complexity algorithm ?Q2: How to handle multiple failures/insertions ? Open QuestionsThank you