548 research outputs found
Route Planning in Transportation Networks
We survey recent advances in algorithms for route planning in transportation
networks. For road networks, we show that one can compute driving directions in
milliseconds or less even at continental scale. A variety of techniques provide
different trade-offs between preprocessing effort, space requirements, and
query time. Some algorithms can answer queries in a fraction of a microsecond,
while others can deal efficiently with real-time traffic. Journey planning on
public transportation systems, although conceptually similar, is a
significantly harder problem due to its inherent time-dependent and
multicriteria nature. Although exact algorithms are fast enough for interactive
queries on metropolitan transit systems, dealing with continent-sized instances
requires simplifications or heavy preprocessing. The multimodal route planning
problem, which seeks journeys combining schedule-based transportation (buses,
trains) with unrestricted modes (walking, driving), is even harder, relying on
approximate solutions even for metropolitan inputs.Comment: This is an updated version of the technical report MSR-TR-2014-4,
previously published by Microsoft Research. This work was mostly done while
the authors Daniel Delling, Andrew Goldberg, and Renato F. Werneck were at
Microsoft Research Silicon Valle
Why Is Dual-Pivot Quicksort Fast?
I discuss the new dual-pivot Quicksort that is nowadays used to sort arrays
of primitive types in Java. I sketch theoretical analyses of this algorithm
that offer a possible, and in my opinion plausible, explanation why (a)
dual-pivot Quicksort is faster than the previously used (classic) Quicksort and
(b) why this improvement was not already found much earlier.Comment: extended abstract for Theorietage 2015
(https://www.uni-trier.de/index.php?id=55089) (v2 fixes a small bug in the
pseudocode
Kernels for Below-Upper-Bound Parameterizations of the Hitting Set and Directed Dominating Set Problems
In the {\sc Hitting Set} problem, we are given a collection of
subsets of a ground set and an integer , and asked whether has a
-element subset that intersects each set in . We consider two
parameterizations of {\sc Hitting Set} below tight upper bounds: and
. In both cases is the parameter. We prove that the first
parameterization is fixed-parameter tractable, but has no polynomial kernel
unless coNPNP/poly. The second parameterization is W[1]-complete,
but the introduction of an additional parameter, the degeneracy of the
hypergraph , makes the problem not only fixed-parameter
tractable, but also one with a linear kernel. Here the degeneracy of
is the minimum integer such that for each the
hypergraph with vertex set and edge set containing all edges of
without vertices in , has a vertex of degree at most
In {\sc Nonblocker} ({\sc Directed Nonblocker}), we are given an undirected
graph (a directed graph) on vertices and an integer , and asked
whether has a set of vertices such that for each vertex there is an edge (arc) from a vertex in to . {\sc Nonblocker} can be
viewed as a special case of {\sc Directed Nonblocker} (replace an undirected
graph by a symmetric digraph). Dehne et al. (Proc. SOFSEM 2006) proved that
{\sc Nonblocker} has a linear-order kernel. We obtain a linear-order kernel for
{\sc Directed Nonblocker}
Fast and Powerful Hashing using Tabulation
Randomized algorithms are often enjoyed for their simplicity, but the hash
functions employed to yield the desired probabilistic guarantees are often too
complicated to be practical. Here we survey recent results on how simple
hashing schemes based on tabulation provide unexpectedly strong guarantees.
Simple tabulation hashing dates back to Zobrist [1970]. Keys are viewed as
consisting of characters and we have precomputed character tables
mapping characters to random hash values. A key
is hashed to . This schemes is
very fast with character tables in cache. While simple tabulation is not even
4-independent, it does provide many of the guarantees that are normally
obtained via higher independence, e.g., linear probing and Cuckoo hashing.
Next we consider twisted tabulation where one input character is "twisted" in
a simple way. The resulting hash function has powerful distributional
properties: Chernoff-Hoeffding type tail bounds and a very small bias for
min-wise hashing. This also yields an extremely fast pseudo-random number
generator that is provably good for many classic randomized algorithms and
data-structures.
Finally, we consider double tabulation where we compose two simple tabulation
functions, applying one to the output of the other, and show that this yields
very high independence in the classic framework of Carter and Wegman [1977]. In
fact, w.h.p., for a given set of size proportional to that of the space
consumed, double tabulation gives fully-random hashing. We also mention some
more elaborate tabulation schemes getting near-optimal independence for given
time and space.
While these tabulation schemes are all easy to implement and use, their
analysis is not
- …