Lecture2.pdf

  • Uploaded by: Hong Chul Nam
  • 0
  • 0
  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Lecture2.pdf as PDF for free.

More details

  • Words: 679
  • Pages: 34
Algorithmen und Wahrscheinlichkeit Angelika Steger Institut für Theoretische Informatik

Kapitel 1.3

Zusammenhang

Zusammenhang Definition: Sei G = (V, E) ein Graph. G heisst zusammenhängend, wenn

⇤u, v

V, u ⇥= v gilt: es gibt einen u-v-Pfad in G.

Heute: Gegeben ein zusammenhängender Graph. Wie (sehr) zusammenhängend ist dieser Graph?

k-Zusammenhang Definition: Sei G = (V, E) ein Graph. G heisst k-zusammenhängend, wenn gilt: und

⇥X

V

mit

|X| < k

ist

G[V \ X]

zusammenhängend

Definition: Sei G = (V, E) ein Graph. G heisst k-kanten-zusammenhängend, wenn gilt:

8X ✓ E

mit

|X| < k

ist (V, E \ X) zusammenhängend

Heute:

Spezialfall

k=1

Artikulationsknoten Definition: Sei G = (V, E) ein zusammenhängender Graph. Ein Knoten v 2 V heisst Artikulationsknoten (engl. cut vertex) gdw. G[V \ {v}] nicht zusammenhängend ist

Brücken Definition: Sei G = (V, E) ein zusammenhängender Graph. Ein Kante e 2 E heisst Brücke (engl. cut edge) gdw. nicht zusammenhängend ist G e

Wie findet man Artikulationsknoten bzw Brücken effizient ?

Tiefensuche

9

3

root 1

4 12

2

8 7 5

10

6 11

Tiefensuche

9

3

root 1

4 12

2

8 7 5

10

6 11

Tiefensuche

9

3

root 1

4 12

2

8 7 5

10

6 11

Tiefensuche dfs / low 9/1

3/1

root 1

4/3 12/10

2/1

8/3 7/3 5/3 6/3

10/10 11/10

Tiefensuche dfs / low 9/1

3/1

s=root 1

4/3 12/10

2/1

8/3 7/3 5/3 6/3

10/10 11/10

Tiefensuche 9/1

3/3

root 1/1

4/3 4/4 2/2

8/8 8/3 7/7 7/3 5/5 5/3 6/6 6/3

Berechnung der low-Werte: - Initialisierung mit dfs-Wert - ggf update, wenn Rückwärtskanten gefunden werden - ggf update, wenn Algorithmus während des backtracks zum Knoten zurückkehrt

Tiefensuche

Brücken dfs / low 9/1

3/1

root 1

4/3 12/10

2/1

8/3 7/3

2/1

5/3 7/3 6/3

10/10 11/10 eine Kante e ={v,w} ist eine Brücke

gdw. e ∈ T (im DFS Baum) und

w ein Kind von v ist mit low[w] > dfs[v]

Artikulationsknoten und Brücken

Satz:

Die um die Berechnung von low[] ergänzte Tiefensuche berechnet in einem zusammenhängenden Graphen alle Artikulationsknoten und Brücken in Zeit O(m).

Blöcke Sei G = (V, E) ein zusammenhängender Graph.
 Eine Block ist eine maximale Menge von Kanten, so dass je zwei dieser Kanten auf einem gemeinsamen Kreis liegen.

Kapitel 1.3

Kreise

Hamiltonkreise und Eulertouren

• Sei G = (V, E) ein Graph.


• Hamiltonkreis: • Ein Kreis in G, der jeden Knoten genau einmal enthält.

• Eulertour: • Ein geschlossener Weg in G, der jede Kante genau einmal enthält.

Königsberger Brückenproblem

Leonard Euler (1707 - 1783)

Gesucht:

Eulertour

Eulertour: Charakterisierung Satz: Ein zusammenhängender Graph G = (V, E) enthält eine Eulertour

gdw.

der Grad jedes Knotens gerade ist.

… und eine solche kann man in O(|E|) Zeit finden

Bem: Sind in einem zusammenhängenden Graphen G = (V, E) alle bis auf zwei Knotengrade gerade, so enthält der Graph einen Eulerweg

(Ein Eulerweg ist ein Weg, der alle Kanten des Graphen enthält — aber nicht notwendigerweise im gleichen Knoten startet und endet.)

Idee des Algorithmus

Idee des Algorithmus

Idee des Algorithmus

Idee des Algorithmus

Idee des Algorithmus

Idee des Algorithmus

Eulertour: Charakterisierung Satz: Ein zusammenhängender Graph G = (V, E) enthält eine Eulertour

gdw.

der Grad jedes Knotens gerade ist.

… und eine solche kann man in O(|E|) Zeit finden

Bem: Sind in einem zusammenhängenden Graphen G = (V, E) alle bis auf zwei Knotengrade gerade, so enthält der Graph einen Eulerweg

(Ein Eulerweg ist ein Weg, der alle Kanten des Graphen enthält — aber nicht notwendigerweise im gleichen Knoten startet und endet.)

Hamiltonkreise und Eulertouren

• Sei G = (V, E) ein Graph.


• Hamiltonkreis: • Ein Kreis in G, der jeden Knoten genau einmal enthält.

• Eulertour: • Ein geschlossener Weg in G, der jede Kante genau einmal enthält.

Hamiltonkreis

Sir William Hamilton (1805 - 1865) Ikosaeder Spiel

Gesucht:

Hamiltonkreis

Hamiltonkreis - Beispiele

Ikosaeder

Petersengraph

Hamiltonkreis - Beispiele

Satz:
 Ein n×m Gitter enthält einen Hamiltonkreis gdw

n*m gerade ist.

Hamiltonkreis - Beispiele

Satz:
 Ein n×m Gitter enthält einen Hamiltonkreis gdw

Beweis:
 „⇐“ siehe Skizze:

n*m gerade ist.

More Documents from "Hong Chul Nam"

U8.pdf
July 2020 7
Lecture2.pdf
October 2019 10
Supp-mat-2.pdf
July 2020 3
Skript_nus_ii_vl2.pdf
October 2019 5
October 2019 47