English

Approximate Set Union Via Approximate Randomization

Data Structures and Algorithms 2018-06-18 v3 Computational Complexity Computational Geometry Discrete Mathematics

Abstract

We develop an randomized approximation algorithm for the size of set union problem \arrowvertA1A2...Am\arrowvert\arrowvert A_1\cup A_2\cup...\cup A_m\arrowvert, which given a list of sets A1,...,AmA_1,...,A_m with approximate set size mim_i for AiA_i with mi((1βL)Ai,(1+βR)Ai)m_i\in \left((1-\beta_L)|A_i|, (1+\beta_R)|A_i|\right), and biased random generators with Prob(x=\randomElm(Ai))[1αLAi,1+αRAi]Prob(x=\randomElm(A_i))\in \left[{1-\alpha_L\over |A_i|},{1+\alpha_R\over |A_i|}\right] for each input set AiA_i and element xAi,x\in A_i, where i=1,2,...,mi=1, 2, ..., m. The approximation ratio for \arrowvertA1A2...Am\arrowvert\arrowvert A_1\cup A_2\cup...\cup A_m\arrowvert is in the range [(1ϵ)(1αL)(1βL),(1+ϵ)(1+αR)(1+βR)][(1-\epsilon)(1-\alpha_L)(1-\beta_L), (1+\epsilon)(1+\alpha_R)(1+\beta_R)] for any ϵ(0,1)\epsilon\in (0,1), where αL,αR,βL,βR(0,1)\alpha_L, \alpha_R, \beta_L,\beta_R\in (0,1). The complexity of the algorithm is measured by both time complexity, and round complexity. The algorithm is allowed to make multiple membership queries and get random elements from the input sets in one round. Our algorithm makes adaptive accesses to input sets with multiple rounds. Our algorithm gives an approximation scheme with O(\setCount(log\setCount)O(1))O(\setCount\cdot(\log \setCount)^{O(1)}) running time and O(logm)O(\log m) rounds, where mm is the number of sets. Our algorithm can handle input sets that can generate random elements with bias, and its approximation ratio depends on the bias. Our algorithm gives a flexible tradeoff with time complexity O(\setCount1+ξ)O\left(\setCount^{1+\xi}\right) and round complexity O(1ξ)O\left({1\over \xi}\right) for any ξ(0,1)\xi\in(0,1).

Keywords

Cite

@article{arxiv.1802.06204,
  title  = {Approximate Set Union Via Approximate Randomization},
  author = {Bin Fu and Pengfei Gu and Yuming Zhao},
  journal= {arXiv preprint arXiv:1802.06204},
  year   = {2018}
}