Advertisement

Geometrische Algorithmen

  • Ralf Hartmut Güting
  • Stefan Dieker
Chapter
  • 195 Downloads
Part of the Leitfäden der Informatik book series (XLINF)

Zusammenfassung

In diesem Kapitel betrachten wir Algorithmen und Datenstrukturen zur Lösung geometrischer Probleme. Solche Probleme werden etwa seit Mitte der siebziger Jahre systematisch innerhalb des Forschungsgebietes der algorithmischen Geometrie (computational geometry) studiert, das so definiert ist:

“Algorithmische Geometrie ist die Studie der algorithmischen Komplexität elementarer geometrischer Probleme.”

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literaturhinweise

  1. Das Gebiet der algorithmischen Geometrie in der heute geläufigen Bedeutung wurde durch Arbeiten von Shamos [1975], insbesondere seine Dissertation [Shamos 1978 ] ins Leben gerufen; vorher wurde der Begriff gelegentlich in anderem Sinn benutzt. Seitdem hat das Feld einen stürmischen Aufschwung genonmien. Es ist klar, daß in diesem Kapitel nur ein winziger Ausschnitt der betrachteten Probleme behandelt werden konnte. Zudem haben wir uns noch auf den Bereich der orthogonalen Objekte konzentriert; in einer “balancierten” Einführung müßten etliche andere Teilgebiete wie z.B. das Suchen in Partitionen der Ebene oder höherdimensionaler Räume, Distanzprobleme und Voronoi-Diagranmie, Schnittprobleme für beliebig orientierte Objekte in k-dimensionalen Räumen, die Konstruktion konvexer Hüllen und sicher noch weitere gleichgewichtig mitbehandelt werden. Andererseits ist der Fall der orthogonalen Objekte besonders einfach und deshalb besonders intensiv erforscht worden und die eingeführten Techniken und Datenstrukturen sind grundlegend für das ganze Gebiet.Google Scholar
  2. Einen kurzen Überblick zum Gebiet der algorithmischen Geometrie bietet [Lee 1996], ein ausführlicher Überblicksartikel ist [Lee 1995]. Eine Übersicht zu betrachteten Problemen und Techniken findet man auch in [Sack und Urrutia 1996]. Einführungen in die algorithmische Geometrie werden in den Büchern von Mehlhom [1984c], Preparata und Shamos [1985], Edelsbrunner [1987], O’Rourke [ 1998 ], Laszlo [1996] und Klein [1997] gegeben. Auch das Buch von Ottmann und Widmayer [2002] enthält ein recht umfangreiches Kapitel zu geometrischen Algorithmen.Google Scholar
  3. Der Segmentschnitt-Algorithmus mit Plane-Sweep stammt von Bentley und Ottmann [1979]; eine gute Einfuhrung in die Flane-Sweep-Technik findet sich auch bei Nievergelt und Preparata [1982]. Der Rechteckschnitt-Algorithmus mit Plane-Sweep und Segment- Baum stammt von Bentley und Wood [1980]. Der Segment-Baum selbst war von Bentley [1977] vorgeschlagen worden. Die Plane-Sweep-Lösung des Maßproblems entstammt ebenfalls [Bentley 1977 ]. Diese Lösung läßt sich übrigens leicht auf höhere Dimensionen verallgemeinem. Um etwa das Maß einer Menge von Quadem im dreidimensionalen Raum zu ermitteln, kann man einen Sweep (mit einer Ebene anstelle einer Sweepline) durchführen; dieser zerlegt den Raum in eine Folge von O(n) “Scheiben”; für jede Scheibe ist das Maß einer Rechteckmenge zu bestimmen, sodaß man insgesamt einen Algorithmus mit einer Laufzeit von O(n2 log n) erhält. Dies wird in [van Leeuwen und Wood 1981] durch Einsatz eines Quad-Tree im Sweep auf eine Laufzeit von O(n2) verbessert.Google Scholar
  4. Die Divide-and-Conquer-Technik für planare Objekte mit der Idee der getrennten Darstellung stanmit von Güting und Wood [1984]; dort werden Lösungen für das Segmentschnitt-Problem, das Punkteinschluß-Problem und das Rechteckschnitt-Problem beschrieben. Güting und Schilling [1987] geben eine elegantere Lösung für das Rechteckschnitt-Problem, indem nicht mehr auf Punkteinschluß und Segmentschnitt reduziert, sondern direkt mit Rechtecken gearbeitet wird. Maßproblem und Konturproblem werden mit Divide-and-Conquer in [Güting 1984b] gelöst. Eine Übersicht zur Divide-and-Conquer-Technik bietet [Güting 1985 ]. Es gibt eine Methode, mit der sich die meisten derartigen DAC-Algorithmen in externe Formen überführen lassen, die dann ähnlich ablaufen wie externes Mischsortieren [Güting und Schilling 1987]. Leider funktioniert das beim Konturproblem der trickreichen Verzeigerung wegen nicht.Google Scholar
  5. Das Konturproblem war zuerst von Lipski und Preparata [1980] betrachtet worden; ein Plane-Sweep mit einem modifizierten Segment-Baum brachte eine nicht-optimale Lösung. Die erste zeitoptimale Lösung mit Plane-Sweep ist in [Güting 1984a] zu finden; dort wird ein “contracted segment tree” eingesetzt.Google Scholar
  6. Range-Bäume stanmien, wie schon Segment-Bäume, von Bentley [ 1979 ]. Der Intervall-Baum wurde von Edelsbrunner [1980, 1983] entworfen; unabhängig davon entwickelte McCreight [1980] den “tile tree”, eine äquivalente, wenn auch anders dargestellte Struktur. Baumhierarchien bestehend nur aus Range-Bäumen wurden schon von Bentley [1979] betrachtet; Anwendungen für Rechteckschnittprobleme mit Segment-Range-Bäumen finden sich z.B. bei Six und Wood [1982]. Solche Baumhierarchien wurden systematisch von Edelsbrunner [1980] und Edelsbrunner und Maurer [1981] studiert.Google Scholar
  7. Eine weitere grundlegende Datenstruktur, die wir hier aus Platzgründen nicht mehr dargestellt haben, ist der Prioritätssuchbaum von McCreight [ 1985 ]. Diese Struktur erlaubt die Darstellung einer Punktmenge in zwei Dimensionen und unterstützt “1 1/2- dimensionale Suchen”, nämlich Suchen mit einem Rechteck nach enthaltenen Punkten, wobei eine der Rechteckkanten auf einer Achse des Koordinatensystems liegen muß. Die t Punkte im Halbrechteck können in O(log n + t) Zeit ermittelt werden; die Struktur erlaubt Updates in O(log n) Zeit.Google Scholar
  8. Die Plane-Sweep-Lösung des Segmentschnitt-Problems für beliebig orientierte Segmente stanmit von Bentley und Ottmann [ 1979 ]. Chazelle [1986] fand Divide-and-Conquer-Lösungen, die zwar sehr komplex sind, aber die Laufzeit von O((n + k) log n) auf O(n log2 n + k) oder auch auf O(n log2n/log log n + k) drücken. Man beachte, daß k, also die Anzahl gefundener Segmentschnitte, (n2) sein kann und damit die Laufzeit dominieren kann. Schließlich wurde von Chazelle und Edelsbrunner [1988] sogar eine optimale Lösung mit Laufzeit O(n log n + k) entdeckt.Google Scholar
  9. Bemerkenswert ist noch eine allgemeine Technik auf der Basis dieses Segmentschnitt-Algorithmus, mit der man in vielen Fällen Algorithmen für orthogonale Objekte, also z.B. für Rechteckmengen, in Algorithmen für beliebig orientierte Objekte überführen kann, das sog. Zickzack-Paradigma [Ottmann und Widmayer 1982]. Das Verfahren eignet sich für Plane-Sweep-Algorithmen, die semidynamische Datenstrukturen, also den Segment-Baum, Range-Baum usw. als Sweepline-Status-Struktur einsetzen. Beispiels¬weise kann man den Rechteckschnitt-Algorithmus damit in einen Polygonschnitt-Algo¬rithmus überführen. Diese Technik wird auch bei Ottmann und Widmayer [2002] beschrieben.Google Scholar

Copyright information

© B. G. Teubner Verlag / GWV Fachverlage GmbH, Wiesbaden 2004

Authors and Affiliations

  • Ralf Hartmut Güting
    • 1
  • Stefan Dieker
    • 1
  1. 1.HagenDeutschland

Personalised recommendations