Hausarbeiten logo
Shop
Shop
Tutorials
En De
Shop
Tutorials
  • How to find your topic
  • How to research effectively
  • How to structure an academic paper
  • How to cite correctly
  • How to format in Word
Trends
FAQ
Zur Shop-Startseite › Informatik - Theoretische Informatik

Finding the Closest Pair of Points (Divide and Conquer)

Titel: Finding the Closest Pair of Points (Divide and Conquer)

Seminararbeit , 2012 , 8 Seiten , Note: 1,0

Autor:in: Thomas Hoffmann (Autor:in)

Informatik - Theoretische Informatik

Leseprobe & Details   Blick ins Buch
Zusammenfassung Leseprobe Details

In folgender Ausarbeitung wird ein effizienter Divide & Conquer-Algorithmus zur Bestimmung desjenigen Punktepaares, welches unter einer Menge von Punkten den geringsten Abstand zueinander aufweist, vorgestellt.

Leseprobe


Kurzfassung

In folgender Ausarbeitung wird ein effizienter

”Divide&Conquer“-AlgorithmuszurBestimmungdes- jenigen Punktepaares, welches unter einer Menge von Punkten den geringsten Abstand zueinander aufweist, vorgestellt.

1 Einleitung

Ein Bestandteil vieler komplexer Algorithmen ist es, aus einer Menge von Elementen die beiden zu finden, welche sich in bestimmten Eigenschaften am stärksten ähneln. Hierfür kann das ”FindingtheClosestPair of Points“-Problem herangezogen werden, indem man die Elemente entsprechend zweier Eigenschaften auf einer Ebene platziert. Das Punktepaar mit dem geringsten Abstand zueinander sind dann gerade die Elemente, welche sich in Bezug auf die beiden gewählten Eigenschaften am ähnlichsten sind. Es gibt aber auch direkte Anwendungen des Problems, zum Beispiel in der Flugsicherung: Die Gefahr einer Kollision ist dort am höchsten, wo sich zwei Flugzeuge am dichtesten beieinander befinden [[3] ]. Eine effiziente Lösung dieses Problems ist daher essentiell für viele Algorithmen.

2 Grundlagen

Thema dieser Ausarbeitung ist ein Algorithmus von M. I. Shamos und D. Hoey zur Lösung des the Closest Pair of Points“-Problems, welcher auf einem ”Finding ”Divide&Conquer“-Ansatzberuht.DieseArtvon Algorithmen löst ein gegebene Problem, indem es dieses zunächst in mehrere kleinere, oft auf triviale Weise zu lösende, Teilprobleme zerlegt. Aus diesen Teillösungen wird dann in einem nächsten Schritt die Lösung für das ursprüngliche Problem zusammengesetzt. Ein bekanntes ”Divide&Conquer“-Beispielistder Mergesort -Sortieralgorithmus.Hierwirddiezusortie- rende Liste immer weiter aufgeteilt, bis schließlich lediglich zwei Elemente sortiert wearden müssen. Dann werden zwei so sortierte Listen zusammengefügt, indem jeweils die ersten Elemente verglichen werden und das Minimum in die Rückgabeliste eingefügt wird. So wird jedes Element lediglich mit einem weiteren verglichen, weshalb das Zusammenfügen in linearer Zeit abläuft. Da zu Beginn das Problem immer halbiert wurde, müssen insgesamt log n Teilprobleme gelöst werden, was zu einer Gesamtlaufzeit von O (n log n) führt.

Entfernung“zweierb Punkte [Abbildung in dieser Leseprobe nicht enthalten]und [Abbildung in dieser Leseprobe nicht enthalten]wirdimFolgendendieeuklidischeDistanzAls

[Abbildung in dieser Leseprobe nicht enthalten]verwendet, prinzipiell lässt sich der vorgestellte Algorithmus aber für auch für andere Abstandsfunktionen verwenden3.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Die Probleminstanz wird in zwei Teilprobleme aufgeteilt, wobei die Punktemenge anhand einer Trennli- nie L halbiert wird. Beim Zusammenführen der Teillösungen muss die δ -Umgebung von L genauer untersucht werden.

3 Der Algorithmus

3.1 Beschreibung

Um das ”Divide&Conquer“-Prinzipanwendenzukönnen,musseinegegebenePunktemengeinzwei möglichst gleich große Untermengen aufgeteilt werden können. Hierfür werden die Punkte zunächst anhand einer Koordinate sortiert, zum Beispiel mittels Mergesort. Nun wird die Problemgröße halbiert, indem die sortierte Punkteliste [Abbildung in dieser Leseprobe nicht enthalten] in zwei Listen [Abbildung in dieser Leseprobe nicht enthalten] [Abbildung in dieser Leseprobe nicht enthalten] unterteilt wird. Im Beispiel in Abbildung 1 werden die Punkte bezüglich der x-Koordinate sortiert, weshalb für de Teillisten die Bezeichnung[Abbildung in dieser Leseprobe nicht enthalten]gewählt wurde.

Diese Aufteilung wird so lange rekursiv fortgesetzt, bis die Teillisten nur noch aus maximal drei Elementen bestehen. Nun wird unter diesen Punkten das dichteste Punktepaar bestimmt, indem die Distanz aller Punkte zueinander berechnet wird. Der Rückgabewert dieses Rekursions-Basisfalles ist dann die gefundene minimale Distanz beziehungsweise je nach Implementierung auch die dazu gehörenden Punkte. Beim Zusammensetzten einer Lösung aus zwei Teillösungen werden dann die beiden Rückgabewerte [Abbildung in dieser Leseprobe nicht enthalten]und[Abbildung in dieser Leseprobe nicht enthalten]der Rekursionen verglichen und das Minimum [Abbildung in dieser Leseprobe nicht enthalten] gebildet.

Jetzt müssen lediglich noch die Punktepaare untersucht werden, bei welchen die beiden Punkte in jeweils unterschiedlichen Teilproblemen liegen, das heißt die Paare [Abbildung in dieser Leseprobe nicht enthalten]für die gilt [Abbildung in dieser Leseprobe nicht enthalten] links , [Abbildung in dieser Leseprobe nicht enthalten]. Of- fensichtlich reicht es hierfür aus, nur die Punkte zu beachten, welche in einer [Abbildung in dieser Leseprobe nicht enthalten] -Umgebung der Trennlinie liegen (Satz 1), weshalb zunächst diese Punkte bestimmt und entsprechend ihrer y-Koordinate sortiert wer- den. Die sortierte Liste dieser Punkte sei nun mit Sy 1 bezeichnet. Es muss nun also überprüft werden, ob es in der Liste Sy 1 zwei Punkte gibt, welche zueinander einen geringeren Abstand als δ haben. Wie gezeigt werden kann, reicht es hierfür aus, jeden Punkt in Sy 1 nur mit seinen 15 Nachfolgern zu vergleichen.

Werden in1mehrere solche Paare gefunden, wird dasjenige mit dem geringsten Abstand zurückgegeben. Wird kein solches Paar gefunden, so ist der Minimalabstand aller Punkte immer noch δ und es wird das Punktepaar zurückgegeben, welches in den Rekursionsaufrufen gefunden wurde.

[...]

Ende der Leseprobe aus 8 Seiten  - nach oben

Details

Titel
Finding the Closest Pair of Points (Divide and Conquer)
Hochschule
Karlsruher Institut für Technologie (KIT)
Note
1,0
Autor
Thomas Hoffmann (Autor:in)
Erscheinungsjahr
2012
Seiten
8
Katalognummer
V264780
ISBN (eBook)
9783656546542
ISBN (Buch)
9783656547082
Sprache
Deutsch
Schlagworte
finding closest pair points divide conquer
Produktsicherheit
GRIN Publishing GmbH
Arbeit zitieren
Thomas Hoffmann (Autor:in), 2012, Finding the Closest Pair of Points (Divide and Conquer), München, GRIN Verlag, https://www.hausarbeiten.de/document/264780
Blick ins Buch
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
Leseprobe aus  8  Seiten
Hausarbeiten logo
  • Facebook
  • Instagram
  • TikTok
  • Shop
  • Tutorials
  • FAQ
  • Zahlung & Versand
  • Über uns
  • Contact
  • Datenschutz
  • AGB
  • Impressum