2,985 research outputs found

    Space-Time Trade-offs for Stack-Based Algorithms

    Get PDF
    In memory-constrained algorithms we have read-only access to the input, and the number of additional variables is limited. In this paper we introduce the compressed stack technique, a method that allows to transform algorithms whose space bottleneck is a stack into memory-constrained algorithms. Given an algorithm \alg\ that runs in O(n) time using Θ(n)\Theta(n) variables, we can modify it so that it runs in O(n2/s)O(n^2/s) time using a workspace of O(s) variables (for any so(logn)s\in o(\log n)) or O(nlogn/logp)O(n\log n/\log p) time using O(plogn/logp)O(p\log n/\log p) variables (for any 2pn2\leq p\leq n). We also show how the technique can be applied to solve various geometric problems, namely computing the convex hull of a simple polygon, a triangulation of a monotone polygon, the shortest path between two points inside a monotone polygon, 1-dimensional pyramid approximation of a 1-dimensional vector, and the visibility profile of a point inside a simple polygon. Our approach exceeds or matches the best-known results for these problems in constant-workspace models (when they exist), and gives the first trade-off between the size of the workspace and running time. To the best of our knowledge, this is the first general framework for obtaining memory-constrained algorithms

    Memory-Constrained Algorithms for Simple Polygons

    Get PDF
    A constant-workspace algorithm has read-only access to an input array and may use only O(1) additional words of O(logn)O(\log n) bits, where nn is the size of the input. We assume that a simple nn-gon is given by the ordered sequence of its vertices. We show that we can find a triangulation of a plane straight-line graph in O(n2)O(n^2) time. We also consider preprocessing a simple polygon for shortest path queries when the space constraint is relaxed to allow ss words of working space. After a preprocessing of O(n2)O(n^2) time, we are able to solve shortest path queries between any two points inside the polygon in O(n2/s)O(n^2/s) time.Comment: Preprint appeared in EuroCG 201

    The Limited Workspace Model for Geometric Algorithms

    Get PDF
    Space usage has been a concern since the very early days of algorithm design. The increased availability of devices with limited memory or power supply – such as smartphones, drones, or small sensors – as well as the proliferation of new storage media for which write access is comparatively slow and may have negative effects on the lifetime – such as flash drives – have led to renewed interest in the subject. As a result, the design of algorithms for the limited workspace model has seen a significant rise in popularity in computational geometry over the last decade. In this setting, we typically have a large amount of data that needs to be processed. Although we may access the data in any way and as often as we like, write-access to the main storage is limited and/or slow. Thus, we opt to use only higher level memory for intermediate data (e.g., CPU registers). Since the application areas of the devices mentioned above – sensors, smartphones, and drones – often handle a large amount of geographic (i.e., geometric) data, the scenario becomes particularly interesting from the viewpoint of computational geometry. Motivated by these considerations, we investigate geometric problems in the limited workspace model. In this model the input of size n resides in read-only memory, an algorithm may use a workspace of size s = {1, . . . , n} to read and write the intermediate data during its execution, and it reports the output to a write-only stream. The goal is to design algorithms whose running time decreases as s increases, which provides a time-space trade-off. In this thesis, we consider three fundamental geometric problems, namely, computing different types of Voronoi diagrams of a planar point set, computing the Euclidean minimum spanning tree of a planar point set, and computing the k-visibility region of a point inside a polygonal domain. Using several innovative techniques, we either achieve the first time-space trade-offs for those problems or improve the previous results.Der Speicherplatzbedarf ist seit den Anfängen des Algorithmenentwurfs von Interesse. Die erhöhte Verfügbarkeit von Geräten mit begrenztem Speicherplatz oder begrenzter Stromversorgung – wie Smartphones, Drohnen oder kleine Sensoren – sowie die Verbreitung neuer Speichermedien, bei denen der Schreibzugriff vergleichsweise langsam ist und negative Auswirkungen auf die Lebensdauer haben kann – wie beispielsweise Flash-Laufwerken – haben zu erneuter Aufmerksamkeit für dieses Thema geführt. In der Folge hat der Entwurf von Algorithmen für das Limited Workspace Model (Modell mit begrenztem Arbeitsspeicher) in den letzten zehn Jahren einen signifikanten Anstieg an Popularität in der algorithmischen Geometrie erfahren. In diesem Setting haben wir in der Regel eine große Menge an Daten, die verarbeitet werden müssen. Obwohl wir auf die Daten beliebig oft und in beliebiger Weise zugreifen können, ist der Schreibzugriff auf den Hauptspeicher begrenzt und/oder langsam. Zwischenergebnisse werden daher nur in einem kleineren, übergeordneten Speicher (z. B. CPU-Register) abgelegt. Da die Anwendungsbereiche der oben genannten Geräte – Sensoren, Smartphones und Drohnen – oft mit einer großen Menge an geografischen (d. h., geometrischen) Daten umgehen, ist dieses Szenario aus Sicht der algorithmischen Geometrie besonders interessant. Motiviert durch diese Überlegungen haben wir geometrische Probleme im Limited Workspace Model untersucht. In diesem Modell befindet sich die Eingabe der Größe n in einem schreibgeschützten Speicher, ein Algorithmus kann einen Arbeitsspeicher der Größe s = {1, . . . , n} verwenden, um die Zwischendaten während der Ausführung zu lesen und zu schreiben. Die Ausgabe sendet er an einen lesegeschützten Stream. Ziel ist es, Algorithmen zu entwickeln, deren Laufzeit mit zunehmender Verfügbarkeit an Arbeitsspeicher abnimmt, was einen Time-Space Trade-Off (Laufzeit-Speicher-Abwägung) darstellt. In dieser Arbeit betrachten wir drei grundlegende geometrische Probleme, nämlich die Berechnung verschiedener Arten von Voronoi-Diagrammen einer Punktmenge in der Ebene, die Berechnung des euklidischen minimalen Spannbaums einer ebenen Punktmenge und die Bestimmung der k-Sichtbarkeitsregion (k-visibility region) eines Punkts innerhalb eines polygonalen Gebiets. Mit mehreren innovativen Techniken entwickeln wir entweder die ersten Time-Space Trade-Offs für diese Probleme oder verbessern die bisherigen Ergebnisse

    Computing a visibility polygon using few variables

    Get PDF
    We present several algorithms for computing the visibility polygon of a simple polygon PP from a viewpoint inside the polygon, when the polygon resides in read-only memory and only few working variables can be used. The first algorithm uses a constant number of variables, and outputs the vertices of the visibility polygon in O(n\Rout) time, where \Rout denotes the number of reflex vertices of PP that are part of the output. The next two algorithms use O(\log \Rin) variables, and output the visibility polygon in O(n\log \Rin) randomized expected time or O(n\log^2 \Rin) deterministic time, where \Rin is the number of reflex vertices of PP.Comment: 11 pages. Full version of paper in Proceedings of ISAAC 201

    Time-Space Trade-Offs for Computing Euclidean Minimum Spanning Trees

    Full text link
    In the limited-workspace model, we assume that the input of size nn lies in a random access read-only memory. The output has to be reported sequentially, and it cannot be accessed or modified. In addition, there is a read-write workspace of O(s)O(s) words, where s{1,,n}s \in \{1, \dots, n\} is a given parameter. In a time-space trade-off, we are interested in how the running time of an algorithm improves as ss varies from 11 to nn. We present a time-space trade-off for computing the Euclidean minimum spanning tree (EMST) of a set VV of nn sites in the plane. We present an algorithm that computes EMST(V)(V) using O(n3logs/s2)O(n^3\log s /s^2) time and O(s)O(s) words of workspace. Our algorithm uses the fact that EMST(V)(V) is a subgraph of the bounded-degree relative neighborhood graph of VV, and applies Kruskal's MST algorithm on it. To achieve this with limited workspace, we introduce a compact representation of planar graphs, called an ss-net which allows us to manipulate its component structure during the execution of the algorithm

    A survey of real-time crowd rendering

    Get PDF
    In this survey we review, classify and compare existing approaches for real-time crowd rendering. We first overview character animation techniques, as they are highly tied to crowd rendering performance, and then we analyze the state of the art in crowd rendering. We discuss different representations for level-of-detail (LoD) rendering of animated characters, including polygon-based, point-based, and image-based techniques, and review different criteria for runtime LoD selection. Besides LoD approaches, we review classic acceleration schemes, such as frustum culling and occlusion culling, and describe how they can be adapted to handle crowds of animated characters. We also discuss specific acceleration techniques for crowd rendering, such as primitive pseudo-instancing, palette skinning, and dynamic key-pose caching, which benefit from current graphics hardware. We also address other factors affecting performance and realism of crowds such as lighting, shadowing, clothing and variability. Finally we provide an exhaustive comparison of the most relevant approaches in the field.Peer ReviewedPostprint (author's final draft
    corecore