Finding the Minimum-Weight -path
description
Transcript of Finding the Minimum-Weight -path
![Page 1: Finding the Minimum-Weight -path](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/1.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/11.jpg)
Algebra
• Define: • We’ll shorthand this as
• Define: • We’ll shorthand this as
• is a ring
![Page 12: Finding the Minimum-Weight -path](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/23.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062323/56816323550346895dd39e67/html5/thumbnails/28.jpg)
Thanks!