For-All Sparse Recovery in Near-Optimal Time

Anna C. Gilbert, Yi Li, Ely Porat, Martin J. Strauss
2017 ACM Transactions on Algorithms  
An approximate sparse recovery system in ℓ 1 norm consists of parameters k, ǫ, N, an m-by-N measurement Φ, and a recovery algorithm, R. Given a vector, x, the system approximates x by x = R(Φx), which must satisfy x − x 1 ≤ (1 + ǫ) x − x k 1 . We consider the "for all" model, in which a single matrix Φ, possibly "constructed" non-explicitly using the probabilistic method, is used for all signals x. The best existing sublinear algorithm by Porat and Strauss (SODA'12) uses O(ǫ −3 k log(N/k))
more » ... rements and runs in time O(k 1−α N α ) for any constant α > 0. In this paper, we improve the number of measurements to O(ǫ −2 k log(N/k)), matching the best existing upper bound (attained by super-linear algorithms), and the runtime to O(k 1+β poly(log N, 1/ǫ)), with a modest restriction that ǫ ≤ (log k/ log N) γ , for any constants β, γ > 0. When k ≤ log c N for some c > 0, the runtime is reduced to O(k poly(N, 1/ǫ)). With no restrictions on ǫ, we have an approximation recovery system with m = O(k/ǫ log(N/k)((log N/ log k) γ + 1/ǫ)) measurements. The overall architecture of this algorithm is similar to that of Porat and Strauss (SODA'12) in that we repeatedly use a weak recovery system (with varying parameters) to obtain a top level recovery algorithm. The weak recovery system consists of a two-layer hashing procedure (or with two unbalanced expanders, for a deterministic algorithm). The algorithmic innovation is a novel encoding procedure that is reminiscent of network coding and that reflects the structure of the hashing stages. The idea is to encode the signal position index i by associating it with a unique message m i , which will be encoded to a longer message m ′ i (in contrast to (Porat-Strauss, SODA'12) in which the encoding is simply the identity). Portions of the message m ′ i correspond to repetitions of the hashing and we use a regular expander graph to encode the linkages among these portions. The decoding or recovery algorithm consists of recovering the portions of the longer messages m ′ i and then decoding to the original messages m i , all the while ensuring that corruptions can be detected and/or corrected. The recovery algorithm is similar to list recovery introduced in (Indyk et al., SODA'10) and used in (Gilbert et al., ICALP'13). In our algorithm, the messages {m i } are independent from the hashing, which enables us to obtain a better result.
doi:10.1145/3039872 fatcat:jlu7zre42fhdvc7bymmhjufgc4