Graphen: Rundwege, Kodierung von Bäumen

Ähnliche Dokumente
Graphen: Darstellungen, Isomorphie, Knotenfärbung

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Algorithmische Graphentheorie

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld

Diskrete Strukturen Kapitel 4: Graphentheorie (Euler-Hamilton)

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

WS 2013/14. Diskrete Strukturen

Diskrete Mathematik 1

3 Klassifikation wichtiger Optimierungsprobleme

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Graphalgorithmen II. Werner Sembach Werner Sembach Graphalgorithmen II / 22

Naiver Algorithmus für Hamiltonkreis

Einheit 11 - Graphen

6. Übung zur Linearen Optimierung SS08

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Graphdurchmusterung, Breiten- und Tiefensuche

WS 2013/14. Diskrete Strukturen

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen

Graphen. Definitionen

Isomorphie von Bäumen

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Betriebswirtschaftliche Optimierung

A Berlin, 10. April 2017

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

Betriebliche Optimierung

Diskrete Mathematik. Hamiltonsche Graphen Teil I. Karina Arndt

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

Übung zur Vorlesung Diskrete Strukturen I

Bemerkung: Der vollständige Graph K n hat n(n 1)

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr)

Studientag zur Algorithmischen Mathematik

Datenstrukturen und Algorithmen (SS 2013)

9: Gewichtete Graphen

Zentralübung zur Vorlesung Diskrete Strukturen

Minimal spannender Baum

1 Beispiele für Graphen

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.

Übung zur Vorlesung Diskrete Strukturen I

Funktionen. Aufgabe 1. Welche der folgenden Abbildungen sind injektiv, surjektiv oder bijektiv? (b) f : Z Z, f(x) = x 3. (d) f : R R 0, f(x) = x 2

Euler und Hamiltonkreise

Diskrete Mathematik Graphentheorie (Übersicht)

Tutorium: Diskrete Mathematik

4. Kreis- und Wegeprobleme

MafI I: Logik & Diskrete Mathematik (F. Hoffmann)

Tutorium: Diskrete Mathematik

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Mengenlehre: Mengen und Zahlen

Lösungen zu Kapitel 5

Diskrete Strukturen Wiederholungsklausur

WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER. Über 7 Brücken... wissen leben WWU Münster. Dietmar Lammers Hochschultag 201

Algorithmen und Datenstrukturen 2-1. Seminar -

Graphen und Bäume. A.1 Graphen

WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Planare Graphen, Färbung)

Algorithmische Graphentheorie

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Kantengraphen und Planare Graphen. Seminararbeit

Übungsblatt 7 - Voronoi Diagramme

Übungsblatt Nr. 5. Lösungsvorschlag

Nachbarschaft, Grad, regulär, Inzidenz

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

5. Bäume und Minimalgerüste

Graphen. Leonhard Euler ( )

Tutorium: Diskrete Mathematik

4 Färbungen Begriffe Komplexität Greedy-Algorithmus Knotenreihenfolgen Das 4-Farben-Problem...

Diskrete Strukturen. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift ... Allgemeine Hinweise

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure

Graphentheorie 2. Diskrete Strukturen. Sommersemester Uta Priss ZeLL, Ostfalia. Hausaufgaben Kantenzüge Small-World Networks Humor SetlX

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Klausurvorbereitung

8: Bipartite Graphen. s 1. bei dem es eine Kante zwischen s i und k gibt, wenn der Schüler s i die Note k für seine Arbeit bekommen hat.

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Grundbegriffe der Informatik Tutorium 8

Graphentheorie. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Prüfungsklausur Operations Research,

Grundbegriffe der Informatik

Prüfungsklausur Operations Research,

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...)

1. Einführung. Grundbegriffe und Bezeichnungen. Beispiele. gerichtete Graphen. 1. Einführung Kapitelübersicht

Datenstrukturen (SoSe 12) Klausur (Modulabschlussprüfung)

ADS: Algorithmen und Datenstrukturen 2

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Diskrete Mathematik für Informatiker

Informatik B Sommersemester Musterlösung zur Klausur am

Zweiter Zirkelbrief: Graphentheorie

1.Aufgabe: Minimal aufspannender Baum

9. Algorithmus der Woche Die Eulertour Wie Leonhard Euler das Haus vom Nikolaus zeichnet

Def. 1.1: Graph, Knoten, Kanten, adjazent. Notwendige Bedingungen für Isomorphie. Das 3-Brunnen Problem, der vollständige bipartite Graph K 3,3

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007

Vorlesung 3: Graphenalgorithmen. Markus Püschel David Steurer Peter Widmayer. PDF download goo.gl/ym3spq

4. Welchen Zusammenhang gibt es zwischen den Eckengraden und der Anzahl der Kanten eines ungerichteten Graphen?

1. Einleitung wichtige Begriffe

Technische Universität München Fakultät für Mathematik Algorithmische Diskrete Mathematik WS 2012/2013 Prof. Dr. P. Gritzmann 22.

WS 2009/10. Diskrete Strukturen

Diskrete Strukturen. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift ... Allgemeine Hinweise

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Graphentheorie: Das Hamiltonische-Kreis-Problem: Definitionen, Resultate und Anwendungen

Natürliche Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. Natürliche Bäume 1/16

Transkript:

TH Mittelhessen, Wintersemester 2013/2014 Lösungen zu Übungsblatt 11 Fachbereich MNI, Diskrete Mathematik 4./5./6. Februar 2014 Prof. Dr. Hans-Rudolf Metz Graphen: Rundwege, Kodierung von Bäumen Aufgabe 1. Gibt es in dem folgenden Graphen eine Euler-Rundtour? Gibt es eine Hamilton- Rundtour? Lösung: Es gilt: Eine Euler-Rundtour ist möglich. = Alle Knoten haben geraden Grad. Daraus folgt mit Kontraposition: Es existiert ein Knoten mit ungeradem Grad. = Eine Euler-Rundtour ist nicht möglich. Da der Graph Knoten mit ungeradem Grad enthält, ist keine Euler-Rundtour möglich. Um zu untersuchen, ob eine Hamilton-Rundtour möglich ist, führen wir eine Fallunterscheidung durch; wir starten mit der Tour an drei verschiedenen Knoten. Aus Symmetriegründen haben wir damit alle neun möglichen Fälle für einen Startknoten abgedeckt. Start Start Start Copyright c 2013, 2014 Prof. Dr. Hans-Rudolf Metz. All rights reserved. 1

In allen Fällen zeigt sich: In dem Graphen ist keine Hamilton-Rundtour möglich. In den beiden ersten Fällen läuft man entweder außen herum und verpaßt die Mitte, oder man geht zur Mitte und kommt dann nicht mehr durch einen der Eckpunkte. Im dritten Fall kommt man nicht mehr zur Mitte zurück, wenn man alle äußeren Knoten durchläuft. Aufgabe 2. Welche der Graphen C n, K n und W n sind Euler-Graphen? Welche sind Hamilton- Graphen? Lösung: Bezüglich Euler-Graphen gilt (siehe Vorlesung): 1. Existiert in einem Graphen ein Knoten mit ungeradem Grad, dann gibt es keine Euler-Rundtour. 2. Ist ein Graph zusammenhängend, und haben alle Knoten geraden Grad, dann existiert eine Euler-Rundtour. Die Graphen C n, K n und W n sind alle zusammenhängend. C n (n 3): Alle Knoten haben den Grad 2. Damit sind alle C n eulersch. K n (n 3): Alle Knoten haben den Grad n 1. Also sind die Graphen K n eulersch für n ungerade und nicht eulersch für n gerade. W n (n 3): Alle äußeren Knoten eines Rades haben den Grad 3. Somit ist keiner der Graphen W n eulersch. Bezüglich Hamilton-Graphen können wir zeigen: Alle Graphen C n, K n und W n mit beliebigem n 3 sind Hamilton-Graphen. Wir geben im folgenden die Begründungen an. C n (n 3): Man startet an einem beliebigen Knoten und läuft außen auf dem Rad herum. Dadurch wird jeder Knoten genau einmal besucht, und man kommt zum Ausgangsknoten zurück. K n (n 3): Man startet bei einem beliebigen Knoten und besucht dann Schritt für Schritt Knoten, die bis dahin noch nicht durchlaufen wurden. Hat man alle Knoten besucht, geht man zum Ausgangsknoten zurück. Das alles ist möglich, da bei einem vollständigen Graphen alle überhaupt möglichen Kanten vorhanden sind, so daß man von jedem Knoten zu jedem beliebigen anderen Knoten gehen kann. 2

W n (n 3): Man startet zum Beispiel bei der Radnabe, geht dann zu einem beliebigen äußeren Knoten des Rades und läuft dann außenherum bis zum letzten noch nicht besuchten Knoten. Von dort geht man zurück zur Radnabe und hat damit einen geschlossenen Rundweg, bei dem jeder Knoten exakt einmal besucht wurde. Aufgabe 3. Gibt es in G = (V, E) bei den folgenden Knoten- und Kantenmengen einen Hamiltonkreis? Falls ja, geben Sie einen an. 1. V = {a, b, c, d, e} E = {{a, b}, {a, e}, {b, c}, {b, d}, {b, e}, {c, d}, {d, e}} 2. V = {a, b, c, d, e, f} E = {{a, b}, {a, c}, {a, d}, {b, c}, {b, e}, {c, e}, {d, e}, {e, f}} Lösung: 1. Eine Hamilton-Rundtour ist möglich, zum Beispiel durch a, b, c, d, e, a. a b c e d 2. Eine Hamilton-Rundtour ist nicht möglich. a b c d e f Fall 1: Startet man bei f, kommt man nicht mehr zu f zurück. Fall 2: Startet man nicht bei f, muß man irgendwann f besuchen und kommt nicht mehr weg. Aufgabe 4. Welcher der folgenden Codes ist der Vater-Code eines Baumes? (a) (0, 1, 2, 3, 4, 5) (b) (5, 4, 3, 2, 1, 0) (c) (0, 0, 0, 0, 0, 0, 0, 0) (d) (2, 4, 1, 3, 0) (e) (0, 0, 0, 5, 4, 4) (f) (2, 3, 4, 6, 4, 4) 3

Lösung: (a) (0, 1, 2, 3, 4, 5) Dies ist der Vater-Code eines Baumes, wie man durch Dekodierung sehen kann. Dazu schreiben wir die Zahlen 1 bis 6 über die gegebenen Zahlen. 0 1 2 3 4 5 Wir erhalten eine Liste von sechs Kanten, jede Kante wird durch zwei übereinander stehende Zahlen dargestellt. Die untere Zahl bezeichnet den Vater- Knoten, die obere Zahl steht für den Sohn-Knoten. Die erste Kante in der Liste verbindet also den Vater-Knoten 0 mit dem Sohn-Knoten 1. Die zweite Kante verbindet den Vater-Knoten 1 mit dem Sohn-Knoten 2 u.s.w. Daß es sich um einen Baum handelt, sieht man an der folgenden Graphik, in der die sechs Kanten gezeichnet sind. 0 1 2 3 4 5 6 (b) (5, 4, 3, 2, 1, 0) Wir versuchen, die Liste entsprechend der Methode des Vater-Codes zu dekodieren. Dazu schreiben wir 1, 2,... über die gegebenen Zahlen. 5 4 3 2 1 0 Daß wir hier keine Auflistung von Kanten eines Baumes haben, sehen wir unmittelbar daran, daß eine der Kanten den Knoten 3 mit sich selbst verbindet, was bei einem Baum nicht sein darf. Also haben wir hier nicht den Vater-Code eines Baumes. (c) (0, 0, 0, 0, 0, 0, 0, 0) Die Dekodierung ergibt die folgende Liste von Kanten. 7 8 0 0 0 0 0 0 0 0 Jeder der Knoten 1 bis 8 ist durch eine Kante mit dem Knoten 0 verbunden. Wir haben einen Baum. 0 1 2 3 4 5 6 7 8 4

(d) (2, 4, 1, 3, 0) Dies ist nicht der Vater-Code eines Baums. Die Dekodierung ergibt die folgende Kantenliste. 1 2 3 4 5 2 4 1 3 0 Zeichnet man diese Kanten, erhält man einen schlichten Graphen mit zwei Komponenten, wobei eine Komponente ein Kreis ist. (e) (0, 0, 0, 5, 4, 4) Auch hier ist kein Baum kodiert. Die Kantenliste 0 0 0 5 4 4 enthält zweimal eine Kante zwischen den Knoten 4 und 5, was bei einem Baum nicht sein darf. (Selbst bei einem ganz allgemeinen schlichten Graphen ist das verboten.) (f) (2, 3, 4, 6, 4, 4) Dies ist ebenfalls nicht die Kodierung eines Baumes. Hier hat man in der Kantenliste zweimal eine Kante zwischen den Knoten 4 und 6. 2 3 4 6 4 4 Aufgabe 5. Zeichnen Sie den Baum, der zu dem Prüfer-Code (3, 4, 5, 3, 4, 5) gehört. Lösung: 0 5 4 6 2 3 1 7 5

Zur Dekodierung des Prüfer-Codes muß zunächst eine 0 an die Liste der Knoten angehängt werden. Die 0 bezeichnet den Wurzelknoten. Der Algorithmus zur Dekodierung (siehe Vorlesung) liefert dann die folgende Kantenliste. 1 2 6 7 3 4 5 3 4 5 3 4 5 0 Zeichnet man die Kanten, so entsteht der gesuchte Baum. Aufgabe 6. Zeichnen Sie den zum Prüfer-Code (0, 6, 4, 1, 3, 0, 9, 0) gehörenden Baum. (Beachten Sie, daß eine Null angehängt werden muß, unabhängig davon, daß der Prüfer-Code bereits mit einer Null endet.) Lösung: Wir hängen eine 0, die Bezeichnung des Wurzelknotens, an die Knotenliste und bekommen mit dem Algorithmus zur Dekodierung des Prüfer-Codes (siehe Vorlesung) die folgende Kantenliste. 2 5 6 4 1 3 7 8 9 0 6 4 1 3 0 9 0 0 Eine Zeichnung der Kanten ergibt den gesuchten Baum. 0 2 3 8 9 1 7 4 6 5 6

Aufgabe 7. Der folgende Baum mit der Wurzel 0 sei gegeben. Bestimmen Sie den Prüfer-Code. 0 3 6 5 2 4 7 8 1 Lösung: Mit dem Algorithmus zur Erzeugung des Prüfer-Codes wird zunächst eine Kantenliste aufgebaut. Das Blatt mit der kleinsten Nummer ist das Blatt 1. Als erste Kante kommt deshalb die Kante mit dem Sohn-Knoten 1 und dem Vater-Knoten 2 in die Liste. Diese Kante wird zusammen mit dem Knoten 1 aus dem Baum entfernt. Jetzt ist der Knoten 2 das Blatt mit der kleinsten Nummer, und die Kante zwischen 2 und 3 wird in die Liste aufgenommen. Außerdem werden diese Kante und der Knoten 2 aus dem Baum entfernt. Bis hierhin haben wir also die folgende Kantenliste. 1 2 2 3 Der Baum hat jetzt die Blätter 4, 5, 7 und 8. Also ist 4 das Blatt mit der kleinsten Nummer. Deshalb ist die Kante zwischen 4 und 3 die nächste in der Liste. Nach einigen weiteren Schritten erhalten wir die komplette Kantenliste. (Details des Algorithmus: siehe Vorlesung.) 1 2 4 3 5 7 8 6 2 3 3 0 0 6 6 0 Um schließlich den Prüfer-Code zu bekommen, wird die erste Zeile gestrichen und die letzte Null der zweiten Zeile weggelassen. Damit ist (2, 3, 3, 0, 0, 6, 6) der gesuchte Prüfer-Code des vorgegebenen Baumes. Aufgabe 8. Schreiben Sie Ihr Geburtsdatum mit acht Zahlen auf (Tag, Monat, Jahr; falls Tag oder Monat nur eine Zahl sind, ergänzen Sie mit Null zu zwei Zahlen). Nehmen Sie diese Zahlenfolge als Prüfer-Code, dekodieren Sie den Code, und zeichnen Sie den zugehörigen Baum. Lösung: Hier gibt es individuell unterschiedliche Lösungen. 7