Sensitivity Oracles for All-Pairs Mincuts

Abstract

Let G=(V,E) be an undirected unweighted graph on n vertices and m edges. We address the problem of sensitivity oracle for all-pairs mincuts in G defined as follows. Build a compact data structure that, on receiving any pair of vertices s,t∈ V and failure (or insertion) of any edge as query, can efficiently report the mincut between s and t after the failure (or the insertion). To the best of our knowledge, there exists no data structure for this problem which takes o(mn) space and a non-trivial query time. We present the following results. - Our first data structure occupies O(n2) space and guarantees O(1) query time to report the value of resulting (s,t)-mincut upon failure (or insertion) of any edge. Moreover, the set of vertices defining a resulting (s,t)-mincut after the update can be reported in O(n) time which is worst-case optimal. - Our second data structure optimizes space at the expense of increased query time. It takes O(m) space -- which is also the space taken by G. The query time is O((m,n cs,t)) where cs,t is the value of the mincut between s and t in G. This query time is faster by a factor of ((m1/3,n)) compared to the best known deterministic algorithm to compute a (s,t)-mincut from scratch. - If we are only interested in knowing if failure (or insertion) of an edge changes the value of (s,t)-mincut, we can distribute our O(n2) space data structure evenly among n vertices. For any failed (or inserted) edge we only require the data structures stored at its endpoints to determine if the value of (s,t)-mincut has changed for any s,t ∈ V.

0

Discussion (0)

Sign in to join the discussion.

Loading comments…