2018-10-02 5K 5 0 0

##### Description

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 . ID: 683951

**Embed code:**

## Download this presentation

DownloadNote - 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.

## Presentations text content in Faster Space-Efficient

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

Slide2Given: 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

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 Sum

Slide4BCM:Element

Distinctness

Floyd:

Cycle Finding

BCM (FOCS13):Shuffle function

Slide5Element 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

Slide6Floyd’s Cycle Finding

Finds such using little space

Basic algo in crypto, much more obscure in TCS

View

as digraph (with arcs )

s

Slide7T = #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

s

Slide8Floyd’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)

s

Slide9`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

BCM:Element

Distinctness

Floyd:

Cycle Finding

BCM (FOCS13):Shuffle functionList Disjointness(with small freqs2) Crypto: List merging

Slide11Given 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

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

BCM:Element

Distinctness

Floyd:

Cycle Finding

Subset Sum (many distinct sums)HS (JACM72): MitMList Disjointness(with small freqs2) Crypto: List merging

BCM (FOCS13):Shuffle function

Slide14Meet 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

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

,

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 function

Slide17Histogram

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:

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)

Slide19Proof 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

:

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 Sum

Slide21Subset 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

Subset Sum (many distinct sums)

BCM:Element

Distinctness

Floyd:

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 + DFT

Slide23Further 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

Slide24Further 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

Slide25Take-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