280 likes | 407 Views
Finding the Minimum-Weight -path. Avinatan Hassidim, Orgad Keller , Moshe Lewenstein , Liam Roditty Bar- Ilan U niversity To appear in WADS`13. Problem.
E N D
Finding the Minimum-Weight -path Avinatan Hassidim, Orgad Keller, Moshe Lewenstein, Liam Roditty Bar-IlanUniversity To appear in WADS`13
Problem • Given an edge-weighted graph , parameter and a value where , our goal is to find the minimum-weight simple-path visiting vertices 2 1 2 2 2 3 4 3
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)
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
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
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
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 3 5 2
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.
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 ?
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:
Algebra • Define: • We’ll shorthand this as • Define: • We’ll shorthand this as • is a ring
Algebra • Choose where • For all , • Choose , where multiplication is entry-wise addition modulo : • E.g., • So • For all , if and only if
Definition • We define a family of polynomial adjacency matrices for : • Our operations will be done on A random value Variable for each vertex Indeterminate
Main Polynomial • Define • is a sum on all k-walks in the graph
Main Polynomial • is a sum on all -walks in the graph
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
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
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
Running Time • Dominated by multiplying two polynomials in of degree at most . • Can be done in by using multi-dimensional FFT • Running time is
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
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
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!
Loss of Precision • Loss of precision is , per edge, or equiv. per k-path • If =“no” then • But if =“yes” then
Fine-Tuning • Loss of accuracy is , per edge, or equiv. per k-path • If =“no” then • Update • But if =“yes” then • Update
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)
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
Correctness • The invariant is maintained throughout • Let be the path returned by the algorithm • (By the call to ) • Then: