PRESENTATION
Liang Zhuo
Nondecreasing Paths
β given an edge weighted graph πΊ = (π, πΈ, π€) and a source π β
π , report for every π‘ β π , the minimum last edge weight on a
nondecreasing path from π to π‘.
β single source minimum nondecreasing paths problem (SSNP)
β planning a train
β tripall pairs nondecreasing paths problem (APNP)
β Related Problems: Shortest Paths, Bottleneck Paths
Previous Results
SSNP
π(π loglog π)
Vassilevska, 08
APBP
π(π(3+π)/2 )
Duan & Pettie, 09
APNP
π(π(15+π)/6 )
Vassilevska, 08
could be improved
SSNP
β Easy π(π + π log π) by Dijikstraβs
β To achieve π(π loglog π), combine 2 algorithms:
β Alg. 1: remember d[.]; state (v, last); DFS with initial state
(s, -inf); for one node, from small to large edges. <- need
order for each node.
β Alg. 2: Dijkstraβs. <- need to decrease heap size
β Divide nodes to 2 classes: low deg. & high deg. (>O(log π))
β Low: use alg. 1. π π β
π(log log π) (if using Q-Heaps:
π π β
π(1))
β High: use alg. 2. π
π
log π
β
π(log π)
APNP
β Use matrix.
β Define (min, β€) product C = π΄ β π΅ where πΆ π, π =
min{π΅ π, π : π΄ π, π β€ π΅[π, π]}
π
β We just need to do (min, β€) product.
β Borrow dominance and max-min product in APBP
β Dominance product C = π΄ β π΅ where πΆ π, π =
| π: π΄ π, π β€ π΅ π, π |
β Max-min product C = π΄ β π΅ where πΆ π, π =
max min{π΄ π, π , π΅[π, π]}
π
Dominance Product
β The dominance product of two π × π matrices π΄ and π΅ with
entries from a totally ordered set is computable in
π(π(3+π)/2 ) time. (Matousek)
β Let π΄ and π΅ be two π × π matrices where the number of non(β) values in π΄ is π1 and the number of non-(ββ) values in π΅
π π
is π2 . Then π΄ β π΅ can be computed in time π( 1 2 + ππ ) .
π
(Duan & Pettie)
β Let π΄ and π΅ be two π × π matrices where the number of non(β) values in π΄ is π1 and the number of non-(ββ) values in π΅
is π2 . π1 π2 β₯ π1+π . Then π΄ β π΅ can be computed in time
π( π1 π2 π(πβ1)/2 ) . (Duan & Pettie)
Max-min Product
β Given two real π × π matrices π΄ and π΅, π΄ β π΅ can be computed in
π(π(3+π)/2 ). (Duan & Pettie)
β How it is proved?
β It computes πΆ π, π = max{π΄ π, π : π΄ π, π β€ π΅[π, π]} and πΆ β² π,π =
π
max π΅ π, π : π΄ π, π β₯ π΅[π, π]}
π
β It let π΄ β π΅ π, π = max πΆ π, π , πΆ β² π, π
β πΆ π, π = max{π΄ π, π : π΄ π, π β€ π΅[π, π]} could also be computed in
π
π(π(3+π)/2 ).
β πΆ π, π = min{βπ΄ π, π : βπ΅[π, π] β€ βπ΄ π, π }. Thus (min, β€)
π
product in π(π(3+π)/2 ).
Sampling
β Given a collection of π subsets of {1, . . . , π}, each of size π,
one can find in π(ππ) time a set of π log π/π elements of
{1, . . . , π} hitting every one of the subsets. (Galil & Margalit)
Algorithm
β Short Paths, Long Paths
β Alg 1: length β€ π. (min, β€) product for π times: π΄π
β Alg 2: length > π. Get a set of size π log π/π hitting all paths of
length π. Use the alg. for SSNP for each node π£ in the set, and
run it reversely to get the APSP through π£.
β Running time:
β π(π(3+π)/2 π)
π log π
π2 log π)
π
π(π(3βπ)/4 ), running time:
β π(π2 π +
β Let π =
π(π(9+π)/4 ).
Discussion
β Multiple edge? Increase #node => complexity increases.
β Short Paths, Long Paths technique makes the complexity
greater than APBP. π(π1.5 π(π)),where π(π) is the
complexity of matrix multiplication.
β Dense Dominance Product could be done better?
( π1 π2 π(πβ1)/2 ) is worse when, say, π1 , π2 = π(π1.5 ).
β Other way to solve this problem?
Discussion
β Sort all edges, and divide into π parts, each contains
π
π
edges
β For each part generate a bool matrix, then multiply them:
π(ππ π)
β Inside each part, select π‘ key edges. Paths between key
π
edges/point and other edges: π(π‘ ). APNP through key
π
2
edges/point: π(π π‘).
β We need to compute APNP that do not pass through our key
edges: ?.
Reference
β
Vassilevska, Virginia, Ryan Williams, and Raphael Yuster. "All-pairs
bottleneck paths for general graphs in truly sub-cubic time." Proceedings
of the thirty-ninth annual ACM symposium on Theory of computing. ACM,
2007.
β
Vassilevska, Virginia. "Nondecreasing paths in a weighted graph or: How
to optimally read a train schedule." Proceedings of the nineteenth
annual ACM-SIAM symposium on Discrete algorithms. Society for
Industrial and Applied Mathematics, 2008.
β
Duan, Ran, and Seth Pettie. "Fast algorithms for (max, min)-matrix
multiplication and bottleneck shortest paths." Proceedings of the
twentieth Annual ACM-SIAM Symposium on Discrete Algorithms. Society
for Industrial and Applied Mathematics, 2009.
β
Kowaluk, Miroslaw, and Andrzej Lingas. "LCA queries in directed acyclic
graphs." Automata, Languages and Programming. Springer Berlin
Heidelberg, 2005. 241-248.
Thank you!
© Copyright 2026 Paperzz