8,038 research outputs found

    Bloom Filters in Adversarial Environments

    Get PDF
    Many efficient data structures use randomness, allowing them to improve upon deterministic ones. Usually, their efficiency and correctness are analyzed using probabilistic tools under the assumption that the inputs and queries are independent of the internal randomness of the data structure. In this work, we consider data structures in a more robust model, which we call the adversarial model. Roughly speaking, this model allows an adversary to choose inputs and queries adaptively according to previous responses. Specifically, we consider a data structure known as "Bloom filter" and prove a tight connection between Bloom filters in this model and cryptography. A Bloom filter represents a set SS of elements approximately, by using fewer bits than a precise representation. The price for succinctness is allowing some errors: for any x∈Sx \in S it should always answer `Yes', and for any xβˆ‰Sx \notin S it should answer `Yes' only with small probability. In the adversarial model, we consider both efficient adversaries (that run in polynomial time) and computationally unbounded adversaries that are only bounded in the number of queries they can make. For computationally bounded adversaries, we show that non-trivial (memory-wise) Bloom filters exist if and only if one-way functions exist. For unbounded adversaries we show that there exists a Bloom filter for sets of size nn and error Ξ΅\varepsilon, that is secure against tt queries and uses only O(nlog⁑1Ξ΅+t)O(n \log{\frac{1}{\varepsilon}}+t) bits of memory. In comparison, nlog⁑1Ξ΅n\log{\frac{1}{\varepsilon}} is the best possible under a non-adaptive adversary

    Connectivity Oracles for Graphs Subject to Vertex Failures

    Full text link
    We introduce new data structures for answering connectivity queries in graphs subject to batched vertex failures. A deterministic structure processes a batch of d≀d⋆d\leq d_{\star} failed vertices in O~(d3)\tilde{O}(d^3) time and thereafter answers connectivity queries in O(d)O(d) time. It occupies space O(d⋆mlog⁑n)O(d_{\star} m\log n). We develop a randomized Monte Carlo version of our data structure with update time O~(d2)\tilde{O}(d^2), query time O(d)O(d), and space O~(m)\tilde{O}(m) for any failure bound d≀nd\le n. This is the first connectivity oracle for general graphs that can efficiently deal with an unbounded number of vertex failures. We also develop a more efficient Monte Carlo edge-failure connectivity oracle. Using space O(nlog⁑2n)O(n\log^2 n), dd edge failures are processed in O(dlog⁑dlog⁑log⁑n)O(d\log d\log\log n) time and thereafter, connectivity queries are answered in O(log⁑log⁑n)O(\log\log n) time, which are correct w.h.p. Our data structures are based on a new decomposition theorem for an undirected graph G=(V,E)G=(V,E), which is of independent interest. It states that for any terminal set UβŠ†VU\subseteq V we can remove a set BB of ∣U∣/(sβˆ’2)|U|/(s-2) vertices such that the remaining graph contains a Steiner forest for Uβˆ’BU-B with maximum degree ss

    Exact Distance Oracles for Planar Graphs with Failing Vertices

    Full text link
    We consider exact distance oracles for directed weighted planar graphs in the presence of failing vertices. Given a source vertex uu, a target vertex vv and a set XX of kk failed vertices, such an oracle returns the length of a shortest uu-to-vv path that avoids all vertices in XX. We propose oracles that can handle any number kk of failures. More specifically, for a directed weighted planar graph with nn vertices, any constant kk, and for any q∈[1,n]q \in [1,\sqrt n], we propose an oracle of size O~(nk+3/2q2k+1)\tilde{\mathcal{O}}(\frac{n^{k+3/2}}{q^{2k+1}}) that answers queries in O~(q)\tilde{\mathcal{O}}(q) time. In particular, we show an O~(n)\tilde{\mathcal{O}}(n)-size, O~(n)\tilde{\mathcal{O}}(\sqrt{n})-query-time oracle for any constant kk. This matches, up to polylogarithmic factors, the fastest failure-free distance oracles with nearly linear space. For single vertex failures (k=1k=1), our O~(n5/2q3)\tilde{\mathcal{O}}(\frac{n^{5/2}}{q^3})-size, O~(q)\tilde{\mathcal{O}}(q)-query-time oracle improves over the previously best known tradeoff of Baswana et al. [SODA 2012] by polynomial factors for q=Ω(nt)q = \Omega(n^t), t∈(1/4,1/2]t \in (1/4,1/2]. For multiple failures, no planarity exploiting results were previously known
    • …
    corecore