Efficient Reporting of Top-k Subset Sums

05/24/2021
by   Biswajit Sanyal, et al.
0

The "Subset Sum problem" is a very well-known NP-complete problem. In this work, a top-k variation of the "Subset Sum problem" is considered. This problem has wide application in recommendation systems, where instead of k best objects the k best subsets of objects with the lowest (or highest) overall scores are required. Given an input set R of n real numbers and a positive integer k, our target is to generate the k best subsets of R such that the sum of their elements is minimized. Our solution methodology is based on constructing a metadata structure G for a given n. Each node of G stores a bit vector of size n from which a subset of R can be retrieved. Here it is shown that the construction of the whole graph G is not needed. To answer a query, only implicit traversal of the required portion of G on demand is sufficient, which obviously gets rid of the preprocessing step, thereby reducing the overall time and space requirement. A modified algorithm is then proposed to generate each subset incrementally, where it is shown that it is possible to do away with the explicit storage of the bit vector. This not only improves the space requirement but also improves the asymptotic time complexity. Finally, a variation of our algorithm that reports only the top-k subset sums has been compared with an existing algorithm, which shows that our algorithm performs better both in terms of time and space requirement by a constant factor.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset