We show how to route on very large public transportation networks (up to half a billion arcs) with average query times of a few milliseconds. We take into account many realistic features like: traffic days, walking between stations, queries between geographic locations instead of a source and a target station, and multi-criteria cost functions. Our algorithm is based on two key observations: (1) many shortest paths share the same transfer pattern, i.e., the sequence of stations where a change of vehicle occurs; (2) direct connections without change of vehicle can be looked up quickly. We precompute the respective data; in practice, this can be done in time linear in the network size, at the expense of a small fraction of non-optimal results. We have accelerated public transportation routing on Google Maps with a system based on our ideas. We report experimental results for three data sets of various kinds and sizes.
We show how to compute the planar arrangement induced by segments of arbitrary algebraic curves with the Bentley-Ottmann sweep-line algorithm. The necessary geometric primitives reduce to cylindrical algebraic decompositions of the plane for one or two curves. We compute them by a new and efficient method that combines adaptive-precision root finding (the Bitstream Descartes method of Eigenwillig et al., 2005) with a small number of symbolic computations, and that delivers the exact result in all cases. Thus we obtain an algorithm which produces the mathematically true arrangement, undistorted by rounding error, for any set of input segments. Our algorithm is implemented in the EXACUS library AlciX. We report on experiments; they indicate the efficiency of our approach.
Collins und Akritas (1976) have described the Descartes method for isolating the real roots of an integer polynomial in one variable. This method recursively subdivides an initial interval until Descartes' Rule of Signs indicates that all roots have been isolated. The partial converse of Descartes' Rule by Obreshkoff (1952) in conjunction with the bound of Mahler (1964) and Davenport (1985) leads us to an asymptotically almost tight bound for the resulting subdivision tree. It implies directly the best known complexity bounds for the equivalent forms of the Descartes method in the power basis (Collins/Akritas, 1976), the Bernstein basis (Lane/Riesenfeld, 1981) and the scaled Bernstein basis (Johnson, 1991), which are presented here in a unified fashion. Without losing correctness of the output, we modify the Descartes method such that it can handle bitstream coefficients, which can be approximated arbitrarily well but cannot be determined exactly. We analyze the computing time and precision requirements. The method described elsewhere by the author together with Kerber/Wolpert (2007) and Kerber (2008) to determine the arrangement of plane algebraic curves rests in an essential way on variants of the bitstream Descartes algorithm; we analyze a central part of it. Collins und Akritas (1976) haben das Descartes-Verfahren zur Einschliesung der reellen Nullstellen eines ganzzahligen Polynoms in einer Veranderlichen angegeben. Das Verfahren unterteilt rekursiv ein Ausgangsintervall, bis die Descartes'sche Vorzeichenregel anzeigt, dass alle Nullstellen getrennt worden sind. Die partielle Umkehrung der Descartes'schen Regel nach Obreschkoff (1952) in Verbindung mit der Schranke von Mahler (1964) und Davenport (1985) fuhrt uns auf eine asymptotisch fast scharfe Schranke fur den sich ergebenden Unterteilungsbaum. Daraus folgen direkt die besten bekannten Komplexitatsschranken fur die aquivalenten Formen des Descartes-Verfahrens in der Monom-Basis (Collins/Akritas, 1976), der Bernstein-Basis (Lane/Riesenfeld, 1981) und der skalierten Bernstein-Basis (Johnson, 1991), die hier vereinheitlicht dargestellt werden. Ohne dass die Korrektheit der Ausgabe verloren geht, modifizieren wir das Descartes-Verfahren so, dass es mit Bitstream-Koeffizienten umgehen kann, die beliebig genau angenahert, aber nicht exakt bestimmt werden konnen. Wir analysieren die erforderliche Rechenzeit und Prazision. Das vom Verfasser mit Kerber/Wolpert (2007) und Kerber (2008) an anderer Stelle beschriebene Verfahren zur Bestimmung des Arrangements (der Schnittfigur) ebener algebraischer Kurven fust wesentlich auf Varianten des Bitstream-Descartes-Verfahrens; wir analysieren einen zentralen Teil davon.
An algorithm is presented for the geometric analysis of an algebraic curve f(x, y) = 0 in the real affine plane. It computes a cylindrical algebraic decomposition (CAD) of the plane, augmented with adjacency information. The adjacency information describes the curve's topology by a topologically equivalent planar graph. The numerical data in the CAD gives an embedding of the graph. The algorithm is designed to provide the exact result for all inputs but to perform only few symbolic operations for the sake of efficiency. In particular, the roots of f(∝, y) at a critical x-coordinate . The algorithm is implemented as C++ library AlciX in the EXACUS project. Running time comparisons with top by Gonzalez-Vega and Necula (2002), and with cad2d by Brown demonstrate its efficiency.
We present an extension of snap rounding from straight-line segments (see Guibas and Marimont, 1998) to Bézier curves of arbitrary degree, and thus the first method for geometric rounding of curvilinear arrangements. Our algorithm takes a set of intersecting Bézier curves and directly computes a geometric rounding of their true arrangement, without the need of representing the true arrangement exactly. The algorithm’s output is a deformation of the true arrangement that has all Bézier control points at integer points and comes with the same geometric guarantees as in straight-line snap rounding: during rounding, objects do not move further than the radius of a pixel, and features of the arrangement may collapse but do not invert.
We present an extension of snap roundingfrom straight-line segments (see Guibas and Marimont, 1998)to Bézier curves of arbitrary degree, and thus the first method for geometric roundingof curvilinear arrangements.Our algorithm takes a set of intersecting Bézier curvesand directly computes a geometric rounding of their true arrangement, without the need of representing the true arrangement exactly.The algorithm's output is a deformation of the true arrangementthat has all Bézier control points at integer pointsand comes with the same geometric guarantees as instraight-line snap rounding: during rounding, objects do not movefurther than the radius of a pixel, and features of thearrangement may collapse but do not invert.
We give a unified ("basis free") framework for the Descartes method for real root isolation of square-free real polynomials. This framework encompasses the usual Descartes' rule of sign method for polynomials in the power basis as well as its analog in the Bernstein basis. We then give a new bound on the size of the recursion tree in the Descartes method for polynomials with real coefficients. Applied to polynomials A(X) = Εni=0 aiXi with integer coefficients |ai| < 2L, this yields a bound of O(n(L + logn)) on the size of recursion trees. We show that this bound is tight for L = Ω(logn), and we use it to derive the best known bit complexity bound for the integer case.
an open interval I contains a k-fold root alpha of a real polynomial f, then, after transforming I to (0, infinity), Descartes' Rule of Signs counts exactly k roots of f in I, provided I is such that Descartes' Rule counts no roots of the kth derivative off. We give a simple proof using the Bernstein basis.The above condition on I holds if its width does not exceed the minimum distance sigma from alpha to any complex root of the kth derivative. We relate sigma to the minimum distance s from alpha to any other complex root off using Szego's composition theorem. For integer polynomials, log(1/sigma) obeys the same asymptotic worst-case bound as log(I Is). (c) 2006 Published by Elsevier B.V.
The Descartes method is an algorithm for isolating the real roots of square-free polynomials with real coefficients. We assume that coefficients are given as (potentially infinite) bit-streams. In other words, coefficients can be approximated to any desired accuracy, but are not known exactly. We show that a variant of the Descartes algorithm can cope with bit-stream coefficients. To isolate the real roots of a square-free real polynomial $q(x)=q_{n^{x^{n}}}+...+q_{0}$ with root separation ρ, coefficients |q n | ≥ 1 and $|q_{i}|\leq 2^{\tau}$ , it needs coefficient approximations to O(n(log(1/ρ) + τ)) bits after the binary point and has an expected cost of O(n 4 (log(1/ρ) + τ)2) bit operations.
The Bentley–Ottmann sweep-line method can compute the arrangement of planar curves, provided a number of geometric primitives operating on the curves are available. We discuss the reduction of the primitives to the analysis of curves and curve pairs, and describe efficient realizations of these analyses for planar algebraic curves of degree three or less. We obtain a complete, exact, and efficient algorithm for computing arrangements of cubic curves. Special cases of cubic curves are conics as well as implicitized cubic splines and Bézier curves.The algorithm is complete in that it handles all possible degeneracies such as tangential intersections and singularities. It is exact in that it provides the mathematically correct result. It is efficient in that it can handle hundreds of curves with a quarter million of segments in the final arrangement. The algorithm has been implemented in C++ as an Exacus library called CubiX.
We present the first release of the Exacus C++ libraries. We aim for systematic support of non-linear geometry in software libraries. Our goals are efficiency, correctness, completeness, clarity of the design, modularity, flexibility, and ease of use. We present the generic design and structure of the libraries, which currently compute arrangements of curves and curve segments of low algebraic degree, and boolean operations on polygons bounded by such segments.
A method is presented to compute the planar arrangement induced by segments of algebraic curves of degree three (or less), using an improved Bentley-Ottmann sweep-line algorithm. Our method is exact (it provides the mathematically correct result), complete (it handles all possible geometric degeneracies), and efficient (the implementation can handle hundreds of segments). The range of possible input segments comprises conic arcs and cubic splines as special cases of particular practical importance.
The Bentley-Ottmann sweep-line method can be used to compute thearrangement of planar curves provided a number of geometricprimitives operating on the curves are available. We discuss themathematics of the primitives for planar algebraic curves of degreethree or less and derive efficient realizations. As a result, weobtain a complete, exact, and efficient algorithm for computingarrangements of cubic curves. Conics and cubic splines are specialcases of cubic curves. The algorithm is complete in that it handles all possibledegeneracies including singularities. It is exact in that itprovides the mathematically correct result. It is efficient in thatit can handle hundreds of curves with a quarter million of segmentsin the final arrangement.
Arrangements of planar curves are fundamental structures in computational geometry. Algorithms for computing such arrangements consist of a topological part and a geometric part. For both parts different algorithmic approaches and implementations are possible. In ECG, we further developed and implemented these approaches. We followed modern software design and encapsulated our solutions into modules with well-defined and tight interfaces. In particular, we can combine different realizations of the topological part (we have two) with different realizations of the geometric part (we have three, which in turn are parametrized by different implementations of the underlying number types). The implementations of the geometric part follow quite different designs. In this report, we provide first comparisons of our different designs. In a later version of the report, we also plan to compare implementations outside the ECG-project. The report is preliminary and rises more questions than it answers. We consider it as proof that our modular architecture is valuable and allows us to experiment and compare different approaches. We also consider it as proof for the close cooperation within the project.
Chris Harrelson合作论文数UC Berkeley2
Sylvain Pion合作论文数INRIA Sophia Antipolis2
Joachim Reichel合作论文数University of Dortmund1