28
Finding the Minimum-Weight - path Avinatan Hassidim, Orgad Keller, Moshe Lewenstein, Liam Roditty Bar-Ilan University To appear in WADS`13

Finding the Minimum-Weight -path

  • Upload
    onaona

  • View
    43

  • Download
    0

Embed Size (px)

DESCRIPTION

Finding the Minimum-Weight -path. Avinatan Hassidim, Orgad Keller , Moshe Lewenstein , Liam Roditty Bar- Ilan U niversity To appear in WADS`13. Problem. - PowerPoint PPT Presentation

Citation preview

Page 1: Finding the Minimum-Weight  -path

Finding the Minimum-Weight -pathAvinatan Hassidim, Orgad Keller, Moshe Lewenstein, Liam RodittyBar-Ilan UniversityTo appear in WADS`13

Page 2: Finding the Minimum-Weight  -path

Problem

• Given an edge-weighted graph , parameter and a value where , our goal is to find the minimum-weight simple-path visiting vertices

1 2

3 4

2

2

2

3

𝑘=4

Page 3: Finding the Minimum-Weight  -path

Previous Work

• Previous results only for finding a k-path (non-weighted graphs).

• Combinatorial:

• Alon, Yuster, Zwick (`95): • Can be generalized to the weighted case (minimum-weight)

• Kneis, Mölle, Richter, Rossmanith (`06): • Can be generalized to the weighted case (minimum-weight)

Page 4: Finding the Minimum-Weight  -path

Previous Work

• Algebraic:

• Koutis (`08):

• Williams (`09):

• Björklund et al. (`10): for undirected graphs

• Algebraic methods do not seem to extend to the weighted variant

Page 5: Finding the Minimum-Weight  -path

Open Question

• Open question raised in Williams [`09]:• Can the minimum-weight variant be solved in as well

• We answer yes, if the weights are small integers

• General variant is still open

Page 6: Finding the Minimum-Weight  -path

Our Results

• Randomized algorithm for integer edge-weights running in time • A pseudo-polynomial dependency on M

• If the weights are reals in , a -approximation algorithm running in time

• Results can be extended to -tree problem: find a copy of a given k-node tree in a given graph• Same running times respectively for exact, approximate

Page 7: Finding the Minimum-Weight  -path

Distance Matrix-Product

• Distance product:

• Let be a graph adjacency matrix

• is the minimum-weight -walk between and .

• Distance product can be simulated by matrix product for integers

3 2

5 2

𝑖𝑗

𝑡

𝑘−1

3

Page 8: Finding the Minimum-Weight  -path

Simulation

• Let be an indeterminate variable• Define the polynomial adjacency matrix :

• is a polynomial on ;• Its minimum-degree with non-zero coefficient is the minimum-

weight -walk from to

• Problems: walks, not (simple) paths.

𝑧 3 𝑧 2

𝑧5 𝑧 2𝑖

𝑗

𝑘

𝐴2 [𝑖 , 𝑗 ]=𝑧5+ 𝑧7

𝑧 3

Page 9: Finding the Minimum-Weight  -path

Intuition – Eliminate -walks

• Koutis’ and Williams’ method:

• Suppose we re-define B:•

• where is a variable for each vertex .

• Can we do the operation on some Algebraic structure where non-simple-walks cancel• i.e., where ?

Page 10: Finding the Minimum-Weight  -path

Algebra

• Let be a multiplicative group and be a field• We define to be objects of the form: , where .

• Addition is component wise:

• Multiplication is convolution:

Page 11: Finding the Minimum-Weight  -path

Algebra

• Define: • We’ll shorthand this as

• Define: • We’ll shorthand this as

• is a ring

Page 12: Finding the Minimum-Weight  -path

Algebra

• Choose where • For all ,

• Choose , where multiplication is entry-wise addition modulo :• E.g., • So • For all , if and only if

Page 13: Finding the Minimum-Weight  -path

Definition

• We define a family of polynomial adjacency matrices for :

• Our operations will be done on Indeterminate Variable for each vertex

A random value

Page 14: Finding the Minimum-Weight  -path

Main Polynomial

• Define

• is a sum on all k-walks in the graph

𝑖1 𝑖5𝐵[ 𝑖1 ,𝑖2]𝐵[𝑖2 , 𝑖3]𝐵[𝑖3 , 𝑖4 ] 𝐵[𝑖4 ,𝑖5]

𝑖2 𝑖3 𝑖4

Page 15: Finding the Minimum-Weight  -path

Main Polynomial

• is a sum on all -walks in the graph

𝑖1 𝑖5𝐵[ 𝑖1 ,𝑖2]𝐵[𝑖2 , 𝑖3]𝐵[𝑖3 , 𝑖4 ] 𝐵[𝑖4 ,𝑖5]

𝑖2 𝑖3 𝑖4

Page 16: Finding the Minimum-Weight  -path

Algorithm

• Pick the random values for

• Pick random vectors (i.e., random vector for each vertex)

• Compute

• Return the lowest degree having a non-zero coefficient in (if such exists), or output “no -path in graph” otherwise

Page 17: Finding the Minimum-Weight  -path

Propositions

• Non-simple paths vanish (=)

• Simple paths where the corresponding vectors are linearly independent do not vanish

• Simple paths where the corresponding vectors are linearly dependent vanish (=)• Happens with low probability

• Simple paths where the corresponding vectors are linearly independent survive w.h.p. when summed-up

Page 18: Finding the Minimum-Weight  -path

Minimum-Degree of

• In particular, let d’ be the minimum degree of P. We’ll focus on the coefficient of , denoted as

• Then does not vanish w.h.p. and therefore the lowest-degree term corresponds to the minimum-weight -path

Page 19: Finding the Minimum-Weight  -path

Running Time

• Dominated by multiplying two polynomials in of degree at most .• Can be done in by using multi-dimensional FFT

• Running time is

Page 20: Finding the Minimum-Weight  -path

Approximation

• For real weights in , we give a -approximation algorithm.

• Lemma: for integer edge-weights, there is an algorithm that finds a -path of weight at most , or returns that no such path exists. • Proof outline: in the previous algorithm, truncate degrees that

are when multiplying polynomials

• Call this algorithm

Page 21: Finding the Minimum-Weight  -path

Idea

• Let be the number of edges in a -path

• Let be lower and upper bounds on .• Initially set and

• Iteratively, we will fine-tune L,U until the ratio .

• Main idea: use adaptive scaling of the edge weights.• Scaling factor is different in each iteration

Page 22: Finding the Minimum-Weight  -path

Fine-Tuning

While :• Let • Define (this is the scaling coefficient)• Define a new graph with edge weights

• “Try” to test if or not by running • Result is not necessary correct because of floor function!

Page 23: Finding the Minimum-Weight  -path

Loss of Precision

• Loss of precision is , per edge, or equiv. per k-path

• If =“no” then

• But if =“yes” then

𝑋𝐿 𝑋+𝛿𝑈 𝑈

𝑋𝐿 𝑋+𝛿𝑈 𝑈

⏟𝑤(𝑂𝑃𝑇 )

⏟𝑤(𝑂𝑃𝑇 )

Page 24: Finding the Minimum-Weight  -path

Fine-Tuning

• Loss of accuracy is , per edge, or equiv. per k-path

• If =“no” then • Update

• But if =“yes” then • Update

𝑋𝐿 𝑋+𝛿𝑈 𝑈

𝑋𝐿 𝑋+𝛿𝑈 𝑈𝑈

𝐿

Page 25: Finding the Minimum-Weight  -path

Algorithm

• The ratio decreases (we will show convergence later)

• Once :• Define a new graph G’ with edge weights • Return the output of • (so loss of precision here is per -path)

Page 26: Finding the Minimum-Weight  -path

Running Time

• Let be the values of at start of iteration • It can be shown that in both cases (when , when )

• So iterations until • Each call to costs (since )

• Final call to costs

• Overall running time is

Page 27: Finding the Minimum-Weight  -path

Correctness

• The invariant is maintained throughout

• Let be the path returned by the algorithm• (By the call to )

• Then:

Page 28: Finding the Minimum-Weight  -path

Thanks!