Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten



Ähnliche Dokumente
1 topologisches Sortieren

WS 2009/10. Diskrete Strukturen

Das Briefträgerproblem

8 Diskrete Optimierung

Konzepte der Informatik

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Kombinatorische Optimierung

Anmerkungen zur Übergangsprüfung

Algorithmen und Datenstrukturen 2

Algorithmentheorie Maximale Flüsse

Information Systems Engineering Seminar

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

1 Mathematische Grundlagen

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

WS 2013/14. Diskrete Strukturen

Professionelle Seminare im Bereich MS-Office

Algorithmen II Vorlesung am

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

Informationsblatt Induktionsbeweis

Algorithmen und Datenstrukturen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

WS 2008/09. Diskrete Strukturen

Informatik I WS 07/08 Tutorium 24

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Grundlagen der Theoretischen Informatik, SoSe 2008

Statistische Untersuchungen zu endlichen Funktionsgraphen

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Guten Morgen und Willkommen zur Saalübung!

WLAN Konfiguration. Michael Bukreus Seite 1

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Künstliche Intelligenz Maschinelles Lernen

Definition und Begriffe

Quadratische Gleichungen

Lichtbrechung an Linsen

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Algorithmen und Datenstrukturen. Große Übung vom Nils Schweer

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Einführung in die Algebra

4 Aufzählungen und Listen erstellen

Algorithmische Mathematik

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Primzahlen und RSA-Verschlüsselung

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Kapiteltests zum Leitprogramm Binäre Suchbäume

Erwin Grüner

Kapitalerhöhung - Verbuchung

Eigenwerte und Eigenvektoren von Matrizen

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Graphen: Datenstrukturen und Algorithmen

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

WinVetpro im Betriebsmodus Laptop

Korrelation (II) Korrelation und Kausalität

Expander Graphen und Ihre Anwendungen

1. Wie viel Zinsen bekommt man, wenn man 7000,00 1 Jahr lang mit 6 % anlegt?

Statuten in leichter Sprache

Elektrische Logigsystem mit Rückführung

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Lehrer: Einschreibemethoden

7 Rechnen mit Polynomen

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Lösung. Prüfungsteil 1: Aufgabe 1

Erstellung von Präsentationspostern

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Was ist das Budget für Arbeit?

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

Das Seminar ist eine Prüfungsleistung für Bachelor und Masterstudierende der Informatik!

ecaros2 - Accountmanager

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Datenaufbereitung in SPSS. Daten zusammenfügen

Suchmaschinen. Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6

Linienland, Flächenland und der Hyperraum Ein Ausflug durch die Dimensionen

Anleitung über den Umgang mit Schildern

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Kinderarmut. 1. Kapitel: Kinderarmut in der Welt

PROSEMINAR ONLINE ALGORITHMEN

Graphentheorie Mathe-Club Klasse 5/6

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Kapitel 6: Graphalgorithmen Gliederung

Lineare Gleichungssysteme

Grundlagen der Künstlichen Intelligenz

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand

Lineare Gleichungssysteme

Tutorium zur Mathematik (WS 2004/2005) - Finanzmathematik Seite 1

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Repetitionsaufgaben Wurzelgleichungen

Enigmail Konfiguration

Approximation durch Taylorpolynome

Grundbegriffe der Informatik

Transkript:

Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten Serieller Algorithmus von Warshall Tripelalgorithmus Tiefensuche Algorithmus von Tarjan zur Bestimmung starker Zusammenhangskomponente Anwendung/ Beispiele Fragen?

1. Zusammenhang von Graphen Ungerichteter Graph Ein ungerichteter Graph G=(V,E) heißt zusammenhängend, falls es zu je zwei beliebigen Knoten v und w aus V einen ungerichteten Weg in G gibt, mit v als Startknoten und w als Endknoten. Falls G nicht zusammenhängend ist, nennt man G unzusammenhängend.

1. Zusammenhang von Graphen Gerichteter Graph Ein gerichteter Graph G=(V,E) heißt zusammenhängend von einem Knoten v aus, falls es zu jedem Knoten w aus V einen gerichteten Weg in G gibt, mit v als Startknoten und w als Endknoten. G heißt stark zusammenhängend, falls G von jedem Knoten v aus V zusammenhängend ist. Ein gerichteter Graph G=(V,E) heißt zusammenhängend, falls der zugehörige ungerichtete Graph (also der Graph, der entsteht, wenn man jede gerichtete Kante durch eine ungerichtete Kante ersetzt) zusammenhängend ist.

Algorithmus zusammenhängend? Input: Graph G=(V,E) output: ja, falls zusammenhängend Starte mit einem beliebigen Knoten v, einer Knotenmenge S:={v}, und einem Vektor besucht(x) (x V) der zu Anfang überall den Eintrag 0 hat. while S Ø do entferne einen Knoten w aus S, setze besucht(w):=1; für alle Kanten ws füge s zu S falls besucht(w)=0; od Aufwand: O( V + E )

2. Brücken e E heißt Brücke, wenn G-e mehr Zusammenhangskomponenten besitzt, als G. (Eine Kante e=xy heißt Brücke, wenn sie x und y trennt, d.h. Wenn es ohne xy keinen Weg mehr von x nach y gibt. Der Graph wird also durch Entfernen von e in zwei unabhängige Teile geteilt.)

Algorithmus zur Bestimmung von Brücken geg: Kante a von Knoten x nach y ges: ist a Brücke in G=(V,E) G'=G(V,E\a) //entfernen der Kante //durchführen einer Tiefensuche beginnend mit Knoten x auf G' if ( y dfs G ', x ) then out << a ist keine Brücke else out << a ist eine Brücke fi //sonst //wenn y gefunden wird //ist a keine Brücke //ist a eine Brücke Aufwand: O( V + E ) offensichtlich, da gleicher Aufwand, wie Tiefensuche

Anwendung Netzwerktechnik: Verbinden 2er Subnetze mittels einer Bridge mehrerer Subnetze mittels eines Switch Finden von Endlosschleifen Stark frequentierte Pfade in Datennetzen haben bei eventuellen Brücken Schwachstellen

3. Zusammenhangskomponente Zusammenhangskomponente: Eine Zusammenhangskomponente von G ist ein maximal zusammenhängender Teilgraph von G. starke Zusammenhangskomponente: Ein induzierter Teilgraph K=(VK,EK) von G heißt starke Zusammenhangskomponente von G, falls K stark zusammenhängend ist und in G kein Knoten aus VK Vorgänger oder Nachfolger von einem Knoten aus der Differenzmenge V\VK ist. Gelegentlich spricht man auch von streng zusammenhängend. 2-fache Zusammenhangskomponente: u, v sind genau dann in der gleichen Zusammenhangskomponente, wenn es zwei knotendisjunkte Wege von u nach v in G gibt. Eine 1-Zusammenhangskomponente nennt man auch einfach nur Zusammenhangskomponente. Eine 2-Zusammenhangskomponente nennt man Block.

4 starke Zusammenhangskomponente

Wichtige Aussagen und Sätze I Ein ungerichteter Graph ist genau dann zusammenhängend, wenn er einen spannenden Baum enthält. Ein ungerichteter zusammenhängender Graph ist genau dann 2-zusammenhängend, wenn er keine Artikulation besitzt. G ist genau dann k-zusammenhängend, wenn G zwischen je zwei Ecken k disjunkter Wege enthält. G ist genau dann k-fach kantenzusammenhängend, wenn G zwischen je zwei Ecken k kantendisjunkte Wege enthält. Ist G=(V,E) ein ungerichteter Graph und sind A und B Teilmengen von V, so ist die kleinste Mächtigkeit einer A von B trenndenden Knotenmenge gleich der größten Mächtigkeit einer Menge disjunkter A-B-Wege in G. (Satz von Menger)

Wichtige Aussagen und Sätze II Ist B eine Teilmenge von V und a Element von V\B, so ist die kleinste Mächtigkeit einer a von B in G trennenden Teilmenge X von V\a gleich der größten Mächtigkeit eines a-b-fächers. (Fächersatz) Sind a und b nicht benachbart, so ist die kleinste Mächtigkeit einer a von b trennenden Teilmenge von V\{a,b} gleich der gößten Mächtigkeit einer Menge disjunkter a-b-wege in G. Die Knotenzusammenhangszahl ist höchstens so groß, wie die Kantenzusammenhangszahl und die höchstens so groß, wie der Minimalgrad Der Blockgraph G B eines Graphen G ist ein Wald. G B ist genau dann Baum (also zusammenhängend), wenn G zusammenhängend ist.

Algorithmen zum Finden von SZK Serieller Algorithmus von Warshall Verwendet spezielle Adjazenzmatrizen, die multipliziert sogenannte Wegematrizen ergeben Tripelalgorithmus O(ln V ) (O( V ³) Wird hauptsächlich benutzt um kürzeste Wege in einem Graphen zu finden, bildet aber die transitive Hülle und kann so auch benutzt werden um SZK zu finden. Tiefensuche Algorithmus von Tarjan zur Bestimmung von SZK O( V + E ) O( V + E )

Tiefensuche 1. Führe eine Tiefensuche in G durch, wobei die Id eines Knotens vor dem Ende seiner Rekursion vergeben wird (nicht - wie ursprünglich - am Anfang). 2. Bilde G' durch Umkehrung aller Kanten des Graphen G. 3. Führe nun eine Tiefensuche in G' durch, wobei man jeweils mit den höchsten Ids aus Phase 1.) beginnt. 4. Die Tiefensuchebäume aus Phase 3.) sind dann die szhk vom Graphen G

Tiefensuche 1. Führe eine Tiefensuche in G durch, wobei die Id eines Knotens vor dem Ende seiner Rekursion vergeben wird (nicht - wie ursprünglich - am Anfang). 2. Bilde G' durch Umkehrung aller Kanten des Graphen G. 3. Führe nun eine Tiefensuche in G' durch, wobei man jeweils mit den höchsten Ids aus Phase 1.) beginnt. 4. Die Tiefensuchebäume aus Phase 3.) sind dann die szhk vom Graphen G

Tiefensuche 1. Führe eine Tiefensuche in G durch, wobei die Id eines Knotens vor dem Ende seiner Rekursion vergeben wird (nicht - wie ursprünglich - am Anfang). 2. Bilde G' durch Umkehrung aller Kanten des Graphen G. 3. Führe nun eine Tiefensuche in G' durch, wobei man jeweils mit den höchsten Ids aus Phase 1.) beginnt. 4. Die Tiefensuchebäume aus Phase 3.) sind dann die szhk vom Graphen G

Tiefensuche 1. Führe eine Tiefensuche in G durch, wobei die Id eines Knotens vor dem Ende seiner Rekursion vergeben wird (nicht - wie ursprünglich - am Anfang). 2. Bilde G' durch Umkehrung aller Kanten des Graphen G. 3. Führe nun eine Tiefensuche in G' durch, wobei man jeweils mit den höchsten Ids aus Phase 1.) beginnt. 4. Die Tiefensuchebäume aus Phase 3.) sind dann die szhk vom Graphen G

Algorithmus von Tarjan zur Bestimmung von SZK VAR Tarj: Stack von Knoten, maxdfs: Nat, weiss: Knotenmenge (weiss := V), maxdfs = 0; Tarj := empty stack dfs(v0); dfs(v): v.dfs = v.lowlink = maxdfs; maxdfs += 1; push(v,tarj);(weiss := weiss \ {v}) FOR ALL v ([v,v ] in E) DO IF v in weiss THEN dfs(v ) v.lowlink = MIN(v.lowlink,v.lowlink) ELSE IF v on Tarj THEN v.lowlink = MIN(v.lowlink,v.dfs) //Baumkante //andere Kante END END OD IF v.lowlink = v.dfs THEN REPEAT v* = pop(tarj) //eine SZK UNTIL v = v* END

Algorithmus von Tarjan

0 Algorithmus von Tarjan

Algorithmus von Tarjan 1 0

Algorithmus von Tarjan 2 1 0

Algorithmus von Tarjan 3 2 1 0

Algorithmus von Tarjan 4 3 2 1 0

Algorithmus von Tarjan 5 4 3 2 1 0

Algorithmus von Tarjan 6 5 4 3 2 1 0

Algorithmus von Tarjan 6 5 4 3 2 1 0

Algorithmus von Tarjan 6 5 4 3 2 1 0

Algorithmus von Tarjan 7 6 5 4 3 2 1 0

Algorithmus von Tarjan 7 6 5 4 3 2 1 0

Algorithmus von Tarjan 7 6 5 4 3 2 1 0

Algorithmus von Tarjan 3 2 1 0

Algorithmus von Tarjan 2 1 0

Algorithmus von Tarjan 2 1 0

Algorithmus von Tarjan 2 1 0

Anwendungen KRUSKAL Algorithmus Das Problem, das mit diesem Algorithmus gelöst werden soll, ist die Suche nach einem einen Graphen aufspannenden Baum mit minmalem Gewicht Probleme bei Netzwerkanalysen Frage: Wie lange benötigt man im Internet um von einer www-side zu einer beliebigen andern zu kommen und dabei nur die Links auf der Seite zu benutzen Datenbankentwurf Es existiert ein Algorithmus, der aus einem formulierten konzeptuellen Schema logische Strukturen gemäß dem Relationenmodell ableitet

Anwendungen 2 SAT Problem 1.Es ist ein 2-Sat Problem mit n Variablen x1,..., xn gegeben. 2. Man definiert einen Graphen G = (V, E), wobei als Knoten x1, x1,..., xn, xn herangezogen werden. Es liegen also 2n Knoten im Graphen G vor. 3. Die Elemente der Kantenmenge E wird folgendermaßen definiert: Enthält die Formel F des 2-Sat Problems die Klausel (xi xj), so enthält E die Kante ( xi, xj) und (aufgrund der Kommutativität von ) die Kante ( xj, xi). 4. Die Formel F des 2-Sat Problems ist genau dann erfüllbar, wenn es kein Literal xi gibt, so dass xi und xi in derselben starken Zusammenhangskomponente liegen.

Beispiel - 2SAT F = (x1 x2) ( x1 x2) daraus resultierender Graph: Man kann keinen Weg von x1 nach x1 finden. Ebenso kann man keinen Weg von x2 nach x2. Finden. Die zusammengehörigen Literale befinden sich also in keiner starken Zusammenhangskomponente. -> Die Aussage ist erfüllbar!

Beispiel - 2SAT D = ( x1 x2) (x1 x2) ( x1 x2) (x1 x2) daraus resultierender Graph: Man kann einen Weg von x1 über x2 nach x1 erkennen. Ebenso kann man von x1 über x2 nach x1 gehen. x1 und x1 liegen also in einer starken Zusammenhangskomponente. Dasselbe gilt auch für x2 und x2. -> Die Aussage ist nicht erfüllbar!

4. Fragen?

Quellen http://de.wikipedia.org/ http://www.jeckle.de/vorlesung/datenbanken/script.html http://www-lehre.informatik.uni-osnabrueck.de/~graph/skript/skript.html http://www.inf.fu-berlin.de/lehre/ws02/alp3/material/alp3-27-graph-3.pdf http://www.tfh-berlin.de/~loopy/stud/grn/index.htm#zusammenhangskomponente http://www.leda-tutorial.org/de/inoffiziell/ch05s03s02.html http://www.vs.inf.ethz.ch http://wwwipr.ira.uka.de http://www.uni-ulm.de/~s_mmunz/studium/zushkomponenten.pdf Michael Munz Universität Ulm Segmentierte parallele Präfixberechnung und Zusammenhangskomponenten eines Graphen 27. Juli 2003 nverarbeitung http://www.gup.uni-linz.ac.at/pgdv/slides/komponent.pdf Parallele Graphische Datenverarbeitung (Kapitel 4: Zusammenhangskomponenten) D. Kranzlmüller GUP Linz Techn. Informatik und Telematik Joh. Kepler Universität Linz Theoretische Informatik II (Übung zu Vorlesuang Blatt 6) Prof. Christoph Kreitz, Dipl. Math. Eva Richter Universität Potsdam, Theoretische Informatik - Wintersemester 2003/04 Ausarbeitung über das 2-Sat Problem Myriam Ezzedine, 0326943 Anton Ksernofontov, 0327064 Jürgen Platzer, 0025360 Nataliya Sokolovska, 0326991 Informatik II V.Claus 12.-22.07.2004