13 research outputs found
A Framework for Algorithm Stability
We say that an algorithm is stable if small changes in the input result in
small changes in the output. This kind of algorithm stability is particularly
relevant when analyzing and visualizing time-varying data. Stability in general
plays an important role in a wide variety of areas, such as numerical analysis,
machine learning, and topology, but is poorly understood in the context of
(combinatorial) algorithms. In this paper we present a framework for analyzing
the stability of algorithms. We focus in particular on the tradeoff between the
stability of an algorithm and the quality of the solution it computes. Our
framework allows for three types of stability analysis with increasing degrees
of complexity: event stability, topological stability, and Lipschitz stability.
We demonstrate the use of our stability framework by applying it to kinetic
Euclidean minimum spanning trees
Kinetic Voronoi Diagrams and Delaunay Triangulations under Polygonal Distance Functions
Let be a set of points and a convex -gon in .
We analyze in detail the topological (or discrete) changes in the structure of
the Voronoi diagram and the Delaunay triangulation of , under the convex
distance function defined by , as the points of move along prespecified
continuous trajectories. Assuming that each point of moves along an
algebraic trajectory of bounded degree, we establish an upper bound of
on the number of topological changes experienced by the
diagrams throughout the motion; here is the maximum length of an
-Davenport-Schinzel sequence, and is a constant depending on the
algebraic degree of the motion of the points. Finally, we describe an algorithm
for efficiently maintaining the above structures, using the kinetic data
structure (KDS) framework
A framework for algorithm stability
We say that an algorithm is stable if small changes in the input result in small changes in the output. Algorithm stability plays an important role when analyzing and visualizing time-varying data. However, so far, there are only few theoretical results on the stability of algorithms, possibly due to a lack of theoretical analysis tools. In this paper we present a framework for analyzing the stability of algorithms. We focus in particular on the tradeoff between the stability of an algorithm and the quality of the solution it computes. Our framework allows for three types of stability analysis with increasing degrees of complexity: event stability, topological stability, and Lipschitz stability. We demonstrate the use of our stability framework by applying it to kinetic Euclidean minimum spanning trees