SearcharxivSearch

arXiv subjects

Andrew Twigg

Publications and source records attributed to Andrew Twigg.

3 recordsLinked to original sources

Persistent Cache-oblivious Streaming Indexes

In [SPAA2007], Bender et al. define a streaming B-tree (or index) as one that supports updates in amortized $o(1)$ IOs, and present a structure achieving amortized $O((\log N)/B)$ IOs and queries in $O(\log N)$ IOs. We extend their result to the partially-persistent case. For a version $v$, let $N_v$ be the number of keys accessible at $v$ and $N$ be the total number of updates. We give a data structure using space $O(N)$, supporting updates to a leaf version $v$ with $O((\log N_{v})/B)$ amortized IOs and answering range queries returning $Z$ elements with $O(\log N_{v} + Z/B)$ IOs on average (where the average is over all queries covering disjoint key ranges at a given version). This is the first persistent `streaming' index we are aware of, i.e. that supports updates in $o(1)$ IOs and supports efficient range queries.

cs.DS

Locality-preserving allocations Problems and coloured Bin Packing

We study the following problem, introduced by Chung et al. in 2006. We are given, online or offline, a set of coloured items of different sizes, and wish to pack them into bins of equal size so that we use few bins in total (at most $α$ times optimal), and that the items of each colour span few bins (at most $β$ times optimal). We call such allocations $(α, β)$-approximate. As usual in bin packing problems, we allow additive constants and consider $(α,β)$ as the asymptotic performance ratios. We prove that for $\eps>0$, if we desire small $α$, no scheme can beat $(1+\eps, Ω(1/\eps))$-approximate allocations and similarly as we desire small $β$, no scheme can beat $(1.69103, 1+\eps)$-approximate allocations. We give offline schemes that come very close to achieving these lower bounds. For the online case, we prove that no scheme can even achieve $(O(1),O(1))$-approximate allocations. However, a small restriction on item sizes permits a simple online scheme that computes $(2+\eps, 1.7)$-approximate allocations.

cs.DS

Worst-case time decremental connectivity and k-edge witness

We give a simple algorithm for decremental graph connectivity that handles edge deletions in worst-case time $O(k \log n)$ and connectivity queries in $O(\log k)$, where $k$ is the number of edges deleted so far, and uses worst-case space $O(m^2)$. We use this to give an algorithm for $k$-edge witness (``does the removal of a given set of $k$ edges disconnect two vertices $u,v$?'') with worst-case time $O(k^2 \log n)$ and space $O(k^2 n^2)$. For $k = o(\sqrt{n})$ these improve the worst-case $O(\sqrt{n})$ bound for deletion due to Eppstein et al. We also give a decremental connectivity algorithm using $O(n^2 \log n / \log \log n)$ space, whose time complexity depends on the toughness and independence number of the input graph. Finally, we show how to construct a distributed data structure for \kvw by giving a labeling scheme. This is the first data structure for \kvw that can efficiently distributed without just giving each vertex a copy of the whole structure. Its complexity depends on being able to construct a linear layout with good properties.

cs.DS