Übungen Übungsanmeldung Übungskorrektur

Slides:



Advertisements
Ähnliche Präsentationen
Prof. Dr. S. Albers Prof.Dr.Th Ottmann
Advertisements

Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Wiederholung TexPoint fonts used in EMF.
Wiederholung: Ziehen von Elementen
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
Kapitel 6: Klassifizierung von Sortiertechniken
7. Natürliche Binärbäume
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
Gliederung Motivation / Grundlagen Sortierverfahren
Programmieren 2 Future Car Projekt Praktikum 6 - Graphen
Programmieren 2 Future Car Projekt Praktikum 6
Programmieren 2 Future Car Projekt Praktikum 6
FB Informatik Prof. Dr. R.Nitsch Programmieren 2 Future Car Projekt Praktikum 6 - Graphen Reiner Nitsch - Speichern von Graphen -
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 – Graphen)
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26 - Graphen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Algorithmentheorie 12 – Spannende Bäume minimalen Gewichts
Kapitel 3 Elementare Datenstrukturen TexPoint fonts used in EMF.
Minimum Spanning Tree: MST
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Vortrag über Graphen Von Jörg Hendricks.
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Chromatische Zahl.
Diskrete Mathematik II
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Institut für Theoretische Informatik
Institut für Theoretische Informatik
Kapitel 8: Graphalgorithmen 8. 1 Grundlagen 8
Analyse der Laufzeit von Algorithmen
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
Grundlagen der Algorithmen und Datenstrukturen Kapitel
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Binärbäume.
Diskrete Mathematik II
Das Problem des Handlungsreisenden
Referenten: Moritz S., Ina B. und Sebastian R.
Wiederholung Größte gemeinsame Teiler Satz von Bezout:
Wiederholung TexPoint fonts used in EMF.
Christian Scheideler WS 2008
Wiederholung Gerichtete Graphen Digraph D=(V,E)
Wiederholung TexPoint fonts used in EMF.
Wiederholung Breitensuche BFS mit Startknoten s Tiefensuche
Organisatorisches DiMa für Master of Science Mathe anrechenbar
Wiederholung Knotenfärbung von Graphen Matchings M
Fragestunden & Übungsschein
TexPoint fonts used in EMF.
TexPoint fonts used in EMF.
Klausurtermin Klausur Diskrete Mathematik I Do stündig
Wiederholung TexPoint fonts used in EMF.
Wiederholung Körper K Eigenschaften von multiplikativen Gruppen
Korrektur Aufgabe 8.1 Anstatt x2-2x+3 muss es heissen x2-4x+3.
Wiederholung Gruppen Untergruppen Gruppenisomorphismen
Wiederholung Umwandlung in Koordinatenform
Zusammenfassung Königsberger Brückenproblem Planare Graphen
Wiederholung Verband Ungerichtete Graphen Partielle Ordnung
3. Die Datenstruktur Graph 3.3 Durchlaufen von Graphen
DB2 – SS 2019 von Baum allgemein bis B*-Baum
DB2 – SS 2019 von Baum allgemein bis B*-Baum
 Präsentation transkript:

Übungen Übungsanmeldung Übungskorrektur Verlängert bis Fr. 09.11., 12:00 Uhr Übungskorrektur Ab dieser Woche alle vier Aufgaben Bitte Aufgaben 1+2 und 3+4 auf getrennte Zettel 14.11.2018

Zusammenfassung Weg, Pfad, Kreis schwacher/induzierter Teilgraph Zusammenhangskomponenten (ZHK) Bäume und Wälder Baum: kreisfrei, zusammenhängend, n-1 Kanten 14.11.2018 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAA

Eigenschaften von Bäumen Satz: Sei G=(V,E). Die folgenden Aussagen sind äquivalent G ist ein Baum. 8 u,v 2 V: 9! u-v-Pfad in G G ist zusammenhängend, G=(V,En{e}) ist nicht zusammenhängend für alle e 2 E. G ist zusammenhängend und hat genau n-1 Kanten. G ist kreisfrei und hat genau n-1 Kanten. G ist kreisfrei und für alle nicht inzidenten u,v 2 V: G‘=(V, E [ {u,v}) enthält Kreis. 14.11.2018

Spannbäume Def: Sei G=(V,E) ein zusammenhängender Graph. T=(V, ET), ET µ E ist Spannbaum von G , T ist Baum. Algorithmus SPANNBAUM Eingabe: zusammenhängender G=(V,E) while G=(V,E) enthält Kreis K Sei e beliebige Kreiskante. E:=E n {e}. Ausgabe: Spannbaum T=(V,E) von G 14.11.2018

Korrektheit des Algorithmus Satz: Algorithmus SPANNBAUM berechnet bei Eingabe eines zusammenhängenden G=(V,E) einen Spannbaum T mit m-n+1 Schleifendurchläufen. Korrektheit: T ist zusammenhängend. Schleifeninvariante: G bleibt zusammenhängend. Sei u,v Knoten mit u-v-Pfad, der eine Kreiskante e={vi,vi+1 mod k} aus dem Kreis K=(v0,…,vk-1) verwendet. Dann kann e durch den Pfad (vi, vi-1, …,v0, vk-1,…, vi+1) ersetzt werden. Schleifenoperation erhält Schleifeninvariante. Nach Terminierung ist T kreisfrei. Algorithmus muss terminieren, da die Kantenzahl sukzessive verringert wird. Laufzeit: Spannbaum ist Baum und hat daher n-1 Kanten. Jeder Schleifendurchlauf verringert die Kantenanzahl um Eins: ) #Schleifendurchläufe = m-(n-1). 14.11.2018

Spannbaum nicht eindeutig Betrachten Spannbäume des K3: Anzahl markierter Spannbäume: 3 Unterscheidbarkeit nur durch Knotenmarkierung Alle 3 markierten Spannbäume sind isomorph. Nicht-isomorphe Spannbäume des K4: 1 2 1 2 1 2 3 3 3 1 2 1 2 3 4 3 4 14.11.2018

Anzahl Bäume Knoten #Bäume 2 3 4 5 6 7 8 markiert 1 16 125 1296 16807 2621441 nicht-isomorph 11 23 14.11.2018

Satz von Cayley Satz (Cayley): Für n ¸ 2 gibt es genau nn-2 markierte Bäume. Sei V=[n]. Sei Tn die Menge markierter Bäume mit n Knoten. Idee: Definieren Bijektion PK: Tn ! [n]n-2. Daher gilt |Tn| = nn-2. 14.11.2018

Prüferkode PK Algorithmus Kodierung Eingabe: T=(G,V) 2 Tn i à 1 while |V|>2 do Sei vi 2 T Blatt mit kleinster Markierung ti à Nachbar von vi in T; i à i+1; V à V n {vi}, E à E n {vi,ti} Ausgabe: Prüferkode (t1,…,tn-2) Terminierung: In jedem Schritt wird ein Knoten entfernt. Algorithmus terminiert nach |V|-2 Schleifendurchläufen. Korrektheit: z.z.: (1) In jedem Baum mit n>2 Knoten existiert stets ein Blatt. (2) Durch Entfernen eines Blattes bleibt T ein Baum. 14.11.2018

Korrektheit ad (1): Sei T ein Baum. Suchen Blatt algorithmisch Markiere beliebigen Knoten v. while (deg(v)>1) Markiere unmarkierten Nachbarknoten u von v. v à u; Algorithmus terminiert, da kein Knoten zweimal besucht werden kann. Bei Terminierung ist v ein Knoten mit deg(v)=1, d.h. ein Blatt. ad (2): Angenommen Blatt w werde entfernt. Sei u,vw beliebig mit u-v-Pfad p=(u=v0,…,vk=v). w kann nicht in p enthalten sein, da innere Knoten v1,…,vk-1 mindestens Grad 2 besitzen 14.11.2018

Grad der Knoten aus Prüferkode Lemma: Sei T=(V,E) ein Baum. Jedes v 2 V kommt im Prüferkode von T genau deg(v)-1 mal vor. Blätter kommen im Prüferkode nicht vor. Sei v innerer Knoten in T. Am Ende des Algorithmus Kodierung ist v entweder entfernt, oder v ist ein Blatt. Fall 1: v entfernt D.h. deg(v)-1 Nachbarn von v wurden entfernt. Pro Entfernen eines Nachbarn von v taucht v einmal im Prüferkode auf. Danach war v ein Blatt und wurde entfernt. Fall 2: v ist Blatt Wie zuvor nur ohne den dritten Schritt. 14.11.2018

Invertieren von PK for i à 1 to n-2 Dekodierung des PK: [n]n-2 ) T Algorithmus Dekodierung Eingabe: t1,…,tn-2 V à {1, 2,…,n} for i Ã1 to n deg(i) à 1 for j à 1 to n-2 if (i=tj) then deg(i) à deg(i)+1 for i à 1 to n-2 Sei vi kleinster Knoten mit deg(vi)=1. E à E [ {vi,ti} deg(vi) à deg(vi)-1; deg(ti) à deg(ti)-1 Seien u, v Knoten mit deg(u)=deg(v)=1. E à E [ {u,v}. Ausgabe: T=(V,E) Terminierung nach O(n2) Schleifendurchläufen. 14.11.2018

Korrektheit z.z.: Algorithmus Dekodierung fügt im i-ten Schritt diejenige Kante {vi,ti} in T ein, die im i-ten Schritt von Algorithmus Kodierung entfernt wird. Schritt 1: Falls Prüferkodelänge n-2, dann gilt |V|=n. Schritt 2: Rekonstruktion aller Knotengrade aus T. Schritt 3: Analog zur Kodierung: Bestimmung des kleinsten Blattes vi Hinzufügen anstatt Entfernen der Kante {vi, ti} Anpassung der (Rest-)Grade von {vi, ti} 14.11.2018

Speicherung von Graphen Def: Sei G=(V,E) mit V=[n]. Die (n£n)-Matrix A=(au,v) mit heisst Adjazenzmatrix von G. Def: Sei G=(V,E) mit V=[n]. Die Adjazenzlistendarstellung von G ist ein Array von n verketteten Listen. Die i-te Liste beinhaltet die Nachbarn von i vorzugsweise in aufsteigend sortierter Reihenfolge 14.11.2018

Vergleich der Darstellungen Adjazenz-Matrix Adjazenz- Liste Speicherbedarf £(n2) £(n+m), d.h. o(n2) für m=o(n2) {u,v} 2 E? O(1) O(min{deg(u),deg(v)}) Bestimme ¡(v) O(n) £(deg(v)) 14.11.2018

Warteschlange Q Ã new Queue Q.Enqueue(u) fügt u in Q ein. Datenstruktur Queue Q: Generieren einer Q: Q Ã new Queue Einfügen: Q.Enqueue(u) fügt u in Q ein. Prüfung, ob Q leer ist. Q.Isempty()TRUE , Q enthält mindestens ein Element Entfernen: Falls Q.Isempty()TRUE: Q.Dequeue() liefert dasjenige Element, das am längesten in der Warteschlange Q ist Queue ist FIFO-Datenstruktur (First in, first out). Annahme: Laufzeit für Enqueue, Dequeue und Isempty ist O(1). 14.11.2018

Breitensuche (Breadth First Search) Algorithmus BFS Eingabe: G=(V,E) in Adjazenzlistendarstellung mit Startknoten s 2 V Für alle v 2 V if (v=s) then d[v] à 0 else d[v] à 1 pred(v) à nil; Q à new Queue; Q.Enqueue(s); while (Q.Isempty  TRUE) v à Q.Dequeue(Q). Für alle u 2 ¡(v) if (d[u]=1) then d[u] à d[v]+1; pred[u] à v; Q.Enqueue(u); Ausgabe: Arrays d[v], pred[v] für v 2 V. 14.11.2018

Zusammenfassung Spannbaum Darstellung von Graphen Algorithmisch: entferne Kreiskanten Anzahl markierter Spannbäume, Prüferkode Darstellung von Graphen Adjazenzliste Adjazenzmatrix Datenstruktur Warteschlange BFS 14.11.2018