• Keine Ergebnisse gefunden

Aufgabenblatt 4 Planung eines optimalen Telefonnetzes mit minimal aufspannenden Bäumen

N/A
N/A
Protected

Academic year: 2021

Aktie "Aufgabenblatt 4 Planung eines optimalen Telefonnetzes mit minimal aufspannenden Bäumen"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Algorithmen und Datenstrukturen Angewandte Informatik SS 2021 Prof. Dr. Oliver Bittel

Aufgabenblatt 4

Planung eines optimalen Telefonnetzes mit minimal aufspannenden Bäumen

In einer gitterförmig aufgebauten Stadt ist eine Menge von Telefonknoten mit ganzzahligen x-y- Koordinaten gegeben. Die Kosten für die Verbindung zweier Telefonknoten (x1,y1) und (x2,y2) wird mit Hilfe der sogenannten Manhattan-Distanz berechnet:

dist((x1,y1),(x2,y2)) = |x1-x2| + |y1-y2|

Die Abbildung 2 zeigt eine Stadt mit zwei blau gefärbten Telefonknoten. Die Knoten mit den Koordinaten (1,1) und (3,5) haben eine Manhattan-Distanz von dist = |1-3| + |1-5| = 6. Die Manhattan- Distanz drückt aus, dass Telefonleitungen nur längs von Straßen (horizontale und vertikale Linien) gelegt werden dürfen. Beispielsweise wäre die rote Linie der Länge 6 eine mögliche Verbindung zwischen den beiden Knoten.

5 4 3 2 1

1 2 3 4 5

Zwei Knoten gelten als nicht direkt verbindbar, wenn ihre Manhattan-Distanz über einen Leitungsbegrenzungswert lbg liegt. Damit sind die Kosten cost für die Verbindung zweier Telefonknoten (x1,y1) und (x2,y2) wie folgt definiert:

cost(((x1,y1),(x2,y2)) =

Mit dem Algorithmus von Kruskal soll für eine Stadt mit einer gegebenen Menge von Telefonknoten ein optimales Telefonnetz, d.h. ein minimal aufspannender Baum, berechnet werden.

dist((x1,y1),(x2,y2)), falls dist((x1,y1),(x2,y2)) £ lbg,

¥, sonst

Abb. 1: Telefonnetz mit 1000 Knoten

Abb. 2: Telefonnetz mit 2 Knoten

(2)

Algorithmen und Datenstrukturen Angewandte Informatik SS 2021 Prof. Dr. Oliver Bittel

Beispielsweise ergibt sich für die Stadt mit 7 Knoten und lbg = 7 in Abbildung 3 einen minimal aufspannenden Baum mit den Gesamtkosten von 3+3+5+3+2+2=18. (Die Lösung muss nicht eindeutig sein!)

7 6 5 4 3 2 1

1 2 3 4 5 6 7

Lösen Sie folgende Teilaufgaben:

1. Implementieren Sie eine Klasse UnionFind. Die Beschreibung der Klasse finden Sie auf der Web-Seite in Javadoc. Testen Sie Ihre Klasse ausgiebig.

2. Realisieren Sie eine Klasse TelNet zur Verwaltung der Telefonknoten und Berechnung eines minimal aufspannenden Baums mit dem Algorithmus von Kruskal. Die Beschreibung der Klasse finden Sie auf der Web-Seite in Javadoc.

Um die UnionFind-Klasse verwenden zu können, sehen Sie für jeden Telefonknoten eine einfache Nummerierung vor: 0, 1, 2, ..., n-1. Die Zuordnung von Telefonknoten zu interner Nummerierung wird in einer Map abgespeichert.

Alle möglichen Telefonverbindungen speichern Sie in einer java.util.PriorityQueue ab.

Übergeben Sie beim Konstruktor einen geeigneten Comparator.

Der Algorithmus benötigt sonst keine Informationen über den Graph. Die Graphenklasse aus der Aufgabe 2 wird daher nicht benötigt.

3. Testen Sie Ihre Klasse mit den Beispieldaten aus Abbildung 3.

4. Generieren Sie n = 1000 zufällige Knoten in einem xMax*yMax großen Gitter mit xMax = yMax = 1000. Setzen Sie dabei lbg = 100. Berechnen Sie ein optimales Telefonnetz und animieren Sie das Netz, wie in Abb. 1 gezeigt. Sie können zum Zeichnen die aus

Programmiertechnik 2 bekannte Klasse StdDraw verwenden.

3

5

3 2 2

3

Abb. 3: Optimales Telefonnetz mit 7 Knoten und Gesamtkosten 18.

Abbildung

Abb. 1: Telefonnetz mit 1000 Knoten
Abb. 3: Optimales Telefonnetz mit 7 Knoten und Gesamtkosten 18.

Referenzen

ÄHNLICHE DOKUMENTE

Zusammenfassend konnte somit bezüglich der onkologischen Ergebnisse gezeigt werden, dass das laparoskopische Vorgehen in der operativen Behandlung des Kolonkarzinoms der

Zeigen Sie, dass es einen minimal aufspannenden Baum für G 0 = (V, E −{e} gibt, der auch ein minimal aufspannender Baum von G ist.. Zeigen Sie also, dass es einen minimal

t Dedicated to Wilhelm Klingenberg with best wishes on his 65th birthday... Although we treat general compact Riemannian manifolds the most important cases are manifolds with

Allerdings wird wohl kaum eine Ameise einen minimal aufspannenden Baum berechnen k¨onnen, es stellt sich also die Frage, wie diese optimalen Wege entstehen3. Mit einer Modellierung

Euler / Worm: Deutsch an Stationen Klasse 8 ¦ © Auer Verlag – AAP Lehrerfachverlage GmbH, Augsburg Beschreibungen..

An einigen Stationen werden Audiogeräte benötigt.

In der Viszeralchirurgie wird meist im Bereich des Nabels ein Einschnitt von 1.5cm durchgeführt, durch den eine Kamera in den Bauchraum eingeführt und dieser aufgeblasen werden

Keywords: quadratic form, weakly isotropic, strongly anisotropic, real field, Pythagoras number, field invariants, SAP -field, local-global principle.. Classification (MSC 2000):