Algorithms for Subset Sum kSum and related problems Nikhil Bansal Shashwat Garg Jesper Nederlof Nikhil Vyas available at arXiv161202788 disclaimer no turtles or hares were harmed during this research ID: 683951
Download Presentation The PPT/PDF document "Faster Space-Efficient" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Faster Space-Efficient Algorithms for Subset Sum, k-Sum and related problems
Nikhil Bansal, Shashwat Garg, Jesper Nederlof, Nikhil Vyas
(available at arXiv:1612.02788)
disclaimer: no turtles or hares were harmed during this research Slide2
Given: integers
Asked:
is there an
with
?Focus on instances with small The `classic’ results: time, space (trivial) time, space HS(JACM72)Introduces `Meet-in-the-Middle’ (MitM) approach time, space SS(SICOMP81)
Subset Sum
Main Result: There is a Monte Carlo algorithm for Subset Sum using
time and space,assuming random read-only access to random bits
Algo
010011110010000010100001100001101010010
0/1
i’th
bit?
time
Slide3
Subset Sum (many distinct sums)
BCM:Element
Distinctness
Floyd:
Cycle FindingAKKN (STACS16): Subset Sum distribution is smoothHS (JACM72): MitMList Disjointness(with small freqs2)
Crypto: List merging
Subset Sum
(few distinct sums)
BCM (FOCS13):Shuffle function
Hash mod p
LN(STOC10): Save space with DFT
Subset SumSlide4
BCM:Element
Distinctness
Floyd:
Cycle Finding
BCM (FOCS13):Shuffle functionSlide5
Element Distinctness (ED) by BCM
Given list
with
Asked
if all values are distinctIn time, space, time, space Theorem(BCM): time, space, assuming random read-only access to random bits
To prove, let’s first assume
, and let
Thus we seek with Slide6
Floyd’s Cycle Finding
Finds such using little space
Basic algo in crypto, much more obscure in TCS
View
as digraph (with arcs )
sSlide7
T = #steps turtle (6 in ex)
p= stem-length (3 in ex), q=cycle length (6 in ex)2T=T+xq -> T=xq ->
T+p=xq+p
Floyd’s Cycle Finding
Finds such using little spaceBasic algo in crypto, much more obscure in TCSView as digraph (with arcs )
i
j
sSlide8
Floyd’s Cycle Finding
Finds such using little space
Basic algo in crypto, much more obscure in TCS
View
as digraph (with arcs )
i
j
Only works if start outside cycle!
Works well if
is random:
Probly
reached after
steps (birthday paradox)
sSlide9
`Shuffling’ f
What if is not random? `shuffle’
Let
be a random function
Cannot remember , but use assumed oracleDefine Use Floyd to sample such that is a bad pair if but Expect at most bad pairsUsing
samples, expect to see real solution
Theorem(BCM):
time, space, assuming random read-only access to random bits
Slide10
BCM:Element
Distinctness
Floyd:
Cycle Finding
BCM (FOCS13):Shuffle functionList Disjointness(with small freqs2) Crypto: List mergingSlide11
Given two lists
,
Asked
do they share a common value? Very similar to ED; but want values from different listsDefine i.e p Counts number of pseudo-solutions
List
Disjointness
Theorem: There is an time, space algorithm for List Disjointness, if given
assuming
random read-only access to random bits
Slide12
Define
by
merging
E.g. just concatenate
and In paper we set or with prob .5Sample such that as beforeIf and , also check or Need samplesExpect
vertices needed for a sample
List
DisjointnessTheorem: There is an time, space algorithm for List Disjointness
, if given
assuming
random read-only access to random bits
Slide13
BCM:Element
Distinctness
Floyd:
Cycle Finding
Subset Sum (many distinct sums)HS (JACM72): MitMList Disjointness(with small freqs2) Crypto: List merging
BCM (FOCS13):Shuffle functionSlide14
Meet in the Middle
,
LD instance solved in
time, which is
. Also uses
space
Ints
. Denote w
Reduce SSS on
integers to List
Disjointness
on lists of length
run the sorting
algo
Slide15
Meet in the Middle
Ints
. Denote w
Reduce SSS on
integers to List Disjointness on lists of length run the sorting algo. space,
time
If
,
and no improvement
How do instances with
look?
new
,
Slide16
Subset Sum (many distinct sums)
BCM:Element
Distinctness
Floyd:
Cycle FindingAKKN (STACS16): Subset Sum distribution is smoothHS (JACM72): MitMList Disjointness(with small freqs2)
Crypto: List merging
BCM (FOCS13):
Shuffle functionSlide17
Histogram
0 0 0 0 0
1
1 2 4
8 16321 2 3 4 516
Histogram
0 0 0 0 0
1
1 2 4 8 16321 2 3 4 516Subset Sum Distribution is smooth (AKKN)Lemma:
Slide18
We use this as follows:Suppose
then
and
thus Lemma: If , can solve SSS in
time and
space,
assuming random read-only access to random bits
Lemma:
Subset Sum Distribution is smooth (AKKN)Slide19
Proof sketch:
There exists a
frequent sum
s.t
.
;
Let
be such that for all
implies
Then |
:
Suppose
(add in
)
Thus
Subset Sum Distribution is smooth (AKKN)
Lemma
:
Slide20
Subset Sum (many distinct sums)
BCM:Element
Distinctness
Floyd:
Cycle FindingAKKN (STACS16): Subset Sum distribution is smoothHS (JACM72): MitMList Disjointness(with small freqs2)
Crypto: List merging
Subset Sum
(few distinct sums)
BCM (FOCS13):Shuffle function
Hash mod p + DFT
Subset SumSlide21
Subset Sum with few Distinct Sums
Lemma: Can solve instance
in time
)
and space. Done by hashing numbers mod a prime of order and run time space algorithm, that uses DFT.Combining with previous lemma we obtain
Main Result’: There is a Monte Carlo for Subset Sum using
time and
space
,assuming random read-only access to random bits Left out many optimization to get
Slide22
Subset Sum (many distinct sums)
BCM:Element
Distinctness
Floyd:
Cycle FindingAKKN (STACS16): Subset Sum distribution is smoothHS (JACM72): MitMList Disjointness(with small freqs2)
Crypto: List merging
Subset Sum
(few distinct sums)
BCM (FOCS13):Shuffle function
Subset Sum
Random k-Sum
Knapsack & Binary Linear Programming
NvdZvL
(MFCS12):Reduce without adding variables
Hash mod p + DFTSlide23
Further Results
Using reduction to Subset SumAlso time/space tradeoffs for List Disjointness using methods of BCM
List Disjointness in
time given
space. Theorem: Binary LP on vars and constraints in time and space where is max integer,assuming random read-only access to random bits Slide24
Further Research
How strong is random bits assumptions exactly?Weaker than the existence of sufficiently strong PRG’sStill don’t know the exact (low-space) complexity of ED!!Can we do something problem specific?
Solve Subset Sum in time
Great open question, progress made recently (
AKKN)Study Subset Sum combinatoricsConnection by AKKN relates this to UDCP’sIf spike of size for some constant , upper bound for some depending on Slide25
Take-home MessagesCycle finding is a great tool low space
algo’sWin/win approach for many/few distinct sums
Thanks for listening!!Slides available at
http://www.win.tue.nl/~
jnederlo/;paper available at arXiv