Finding the Minimum-Weight -path

107 Views

Download Presentation
## Finding the Minimum-Weight -path

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