1 / 28

Finding the Minimum-Weight -path

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

onaona
Download Presentation

Finding the Minimum-Weight -path

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Finding the Minimum-Weight -path Avinatan Hassidim, Orgad Keller, Moshe Lewenstein, Liam Roditty Bar-IlanUniversity To appear in WADS`13

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

  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)

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

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

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

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

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

  9. 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 ?

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

  11. Algebra • Define: • We’ll shorthand this as • Define: • We’ll shorthand this as • is a ring

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

  13. Definition • We define a family of polynomial adjacency matrices for : • Our operations will be done on A random value Variable for each vertex Indeterminate

  14. Main Polynomial • Define • is a sum on all k-walks in the graph

  15. Main Polynomial • is a sum on all -walks in the graph

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

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

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

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

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

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

  22. 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!

  23. Loss of Precision • Loss of precision is , per edge, or equiv. per k-path • If =“no” then • But if =“yes” then

  24. Fine-Tuning • Loss of accuracy is , per edge, or equiv. per k-path • If =“no” then • Update • But if =“yes” then • Update

  25. 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)

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

  27. Correctness • The invariant is maintained throughout • Let be the path returned by the algorithm • (By the call to ) • Then:

  28. Thanks!

More Related