Graphenalgorithmen cd

56
Albert-Ludwigs-Universität Freiburg Michael Hummel & Martin Ebner Freiburg, den 02.07.13 Kruskal, Dijkstra, Huffman & Co Graphenalgorithmen

description

Überblick und Beispiele für Kruskals und Dijkstras Algorithmus. Weiterführung zu Huffmann-Codierung und A*-Algorithmus. Proseminar im Bereich Mathematik an der Albert-Ludwigs-Universität Freiburg

Transcript of Graphenalgorithmen cd

Page 1: Graphenalgorithmen cd

Albert-Ludwigs-Universität Freiburg

Michael Hummel & Martin Ebner

Freiburg, den 02.07.13

Kruskal, Dijkstra, Huffman & Co

Graphenalgorithmen

Page 2: Graphenalgorithmen cd

Kruskal‘s Algorithmus

7

5

8

7

5

9

11

8

15

6

9

A C

B

E

G

D

F

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 3: Graphenalgorithmen cd

Kruskal‘s Algorithmus

7

5

8

7

5

9

11

8

15

6

9

A C

B

E

G

D

F

A C

B

E

G

D

F

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 4: Graphenalgorithmen cd

Kruskal‘s Algorithmus

7

5

8

7

5

9

11

8

15

6

A C

B

E

G

D

F

A C

B

E

G

D

F

9

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 5: Graphenalgorithmen cd

Kruskal‘s Algorithmus

7

5

8

7

5

9

11

8

15

6

9

A C

B

E

G

D

F

A C

B

E

G

D

F

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 6: Graphenalgorithmen cd

Kruskal‘s Algorithmus

7

5

8

7

5

9

11

8

15

6

9

A C

B

E

G

D

F

A C

B

E

G

D

F

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 7: Graphenalgorithmen cd

Kruskal‘s Algorithmus

7

5

8

7

5

9

11

8

15

6

9

A C

B

E

G

D

F

A C

B

E

G

D

F

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 8: Graphenalgorithmen cd

Kruskal‘s Algorithmus

7

5

8

7

5

9

11

8

15

6

9

A C

B

E

G

D

F

A C

B

E

G

D

F

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 9: Graphenalgorithmen cd

Kruskal‘s Algorithmus

7

5

8

7

5

9

11

8

15

6

9

A C

B

E

G

D

F

A C

B

E

G

D

F

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 10: Graphenalgorithmen cd

Kruskal‘s Algorithmus

7

5

8

7

5

9

11

8

15

6

9

A C

B

E

G

D

F

A C

B

E

G

D

F

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 11: Graphenalgorithmen cd

Kruskal‘s Algorithmus

7

5

8

7

5

9

11

8

15

6

9

A C

B

E

G

D

F

A C

B

E

G

D

F

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 12: Graphenalgorithmen cd

Kruskal‘s Algorithmus

7

5

8

7

5

9

11

8

15

6

9

A C

B

E

G

D

F

A C

B

E

G

D

F

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 13: Graphenalgorithmen cd
Page 14: Graphenalgorithmen cd

Dijkstra‘s Algorithmus

U

14 15

2 11

9 10

69

70 ∞

∞∞

𝑆 = {𝑈}A

B

C

D

E

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 15: Graphenalgorithmen cd

Dijkstra‘s Algorithmus

U

14 15

2 11

9 10

69

70 7

9

𝑆 = {𝑈}

14

A

B

C

D

E

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 16: Graphenalgorithmen cd

Dijkstra‘s Algorithmus

U

14 15

2 11

9 10

69

70 7

9

𝑆 = {𝑈, 𝐸}

22

A

B

C

D

E

14

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 17: Graphenalgorithmen cd

Dijkstra‘s Algorithmus

U

14 15

2 11

9 10

69

70 7

9

𝑆 = {𝑈, 𝐸, 𝐶}

11

A

B

C

D

E

20

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 18: Graphenalgorithmen cd

Dijkstra‘s Algorithmus

U

14 15

2 11

9 10

69

70 7

9

𝑆 = {𝑈, 𝐸, 𝐶, 𝐵}

11 20

20A

B

C

D

E

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 19: Graphenalgorithmen cd

Dijkstra‘s Algorithmus

U

14 15

2 11

9 10

69

70 7

9

𝑆 = {𝑈, 𝐸, 𝐶, 𝐵, 𝐴}

11

A

B

C

D

E

20

20

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 20: Graphenalgorithmen cd

Dijkstra‘s Algorithmus

U

14 15

2 11

9 10

69

70 7

9

𝑆 = 𝑈, 𝐸, 𝐶, 𝐵, 𝐴, 𝐷

11

A

B

C

D

E

20

20

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 21: Graphenalgorithmen cd
Page 22: Graphenalgorithmen cd
Page 23: Graphenalgorithmen cd

U.S &

Kanada

Europa

Afrika

Asien &

Pazifik& Karibik

Lateinamerika

4‘972 343

40

11

1‘345

2‘721

5

2‘946

Bandwidth 2011

[Gbps]

Internet

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Telegeography Research

Page 24: Graphenalgorithmen cd

Gewurzelte Bäume

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Veit Bach

†1619

Lips

† 1620

Johann

† 1626

Johann

1604 – 73

Heinrich

1615 – 92

Christoph

1613 – 61

Wendel

1619 – 82

Jacob

1655 – 1718

Joh. Ludwig

1677 – 1731

Nikolaus Ephraim

1690 – 1760

Georg Michael

1701 – 77

Johann Christian

1743 – 1814

Johann Ambrosius

1645 – 95

Georg Christoph

1624 – 97

Johann Christoph

1645 – 93

Johann Sebastian

1685 – 1750

Wilhelm Friedemann

1710 – 84

Carl Phillip Emanuel

1714 – 88

Johann Gottfried Bernhard

1715 – 39

Johann Christoph Friedrich

1732 – 95

Johann Christian

1732 – 95

Page 25: Graphenalgorithmen cd

Binärbäume

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Johann Wolfgang von

Goethe

Johann Caspar

Goethe

Friedrich Georg

Göthe

Cornelia

Walther

Hans Christian

Göthe

Sibylla

Werner

Hans Göthe

Sibylla Werner

Johannes Werner

Frieda Kuner

Georg

Walther

Anna M.

Streng

Jacob Walther

Barbara Dürr

Andreas Streng

Margarethe Auel

Catharina Elisabeth

Textor

Johann Wolfgang

Textor

Anna Magaretha

Lindheimer

Christoph H.

Textor

Maria C.

Appel

Cornelius

Lindheimer

Catharina E.

Seip

Johann Textor

Anna M. Priester

Johann Appel

Anna Maria Walter

Johann Lindheimer

Anna Windecker

Johann v. Pettenhausen

Elisabeth Streuber

Page 26: Graphenalgorithmen cd

Huffman‘s Algorithmus

MISSISSIPPI

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 27: Graphenalgorithmen cd

Huffman‘s Algorithmus

MISSISSIPPI

Zeichen M P I S

Häufigkeit 1 2 4 4

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 28: Graphenalgorithmen cd

Huffman‘s Algorithmus

MISSISSIPPI

Zeichen M P I S

Häufigkeit 1 2 4 4

1M

2P

4I

4S

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 29: Graphenalgorithmen cd

Huffman‘s Algorithmus

1M

2P

4I

4S

3

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 30: Graphenalgorithmen cd

Huffman‘s Algorithmus

1M

2P

4I

4S

3

7

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 31: Graphenalgorithmen cd

Huffman‘s Algorithmus

1M

2P

4I

4S

3

711

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 32: Graphenalgorithmen cd

Huffman‘s Algorithmus

1M

2P

4I

4S

3

7

0

0 1

1

110 1

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 33: Graphenalgorithmen cd

Huffman‘s Algorithmus

1M

2P

4I

4S

3

7110

0

0 1

1

1

Zeichen M P I S

Häufigkeit 1 2 4 4

Huffman 000 001 01 1

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 34: Graphenalgorithmen cd

Huffman‘s Algorithmus

MISSISSIPPI =

000 01 1 1 01 1 1 01 001 001 01

(21 Bit)

Zeichen M P I S

Häufigkeit 1 2 4 4

Huffman 000 001 01 1

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 35: Graphenalgorithmen cd

Huffman‘s Algorithmus

MISSISSIPPI =

01001101010010010101001101010010100100

10101001101010011010010010101000001010

00001001001

(88 Bit)

Zeichen M P I S

Häufigkeit 1 2 4 4

ASCII 01001101 01010000 01001001 01010011

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Page 36: Graphenalgorithmen cd

Huffman‘s Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

0,00% 2,00% 4,00% 6,00% 8,00% 10,00% 12,00% 14,00% 16,00% 18,00%

E

N

I

S

R

A

T

D

H

U

L

C

G

M

O

B

W

F

K

Z

P

V

ß

J

Y

X

QWikipedia

Page 37: Graphenalgorithmen cd

ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor

invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et

accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est

Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam

nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At

vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata

sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,

sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam

voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no

sea takimata sanctus est Lorem ipsum dolor sit amet. Duis autem vel eum iriure dolor in hendrerit

in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et

accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te

feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy

nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim

veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo

consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat,

vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit

praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum

soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim

assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod

tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud

exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel

eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat

nulla facilisis. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,

no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur

sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,

sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd

gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,

consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et

Page 38: Graphenalgorithmen cd

Huffman‘s Algorithmus

1L

1T

3

4E

2

590

0 1

1

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

2S 1

2

0

1K

011 110 101 100 001 010 0

0 1

Page 39: Graphenalgorithmen cd

Kruskal‘s Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

4

4

3

3

2

3

2

4

4

4

A B

E

F

I

D

G

5

H

2

3

4

J

3

4

3

C

2

4

Page 40: Graphenalgorithmen cd

Kruskal‘s Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

4

4

3

3

2

3

2

4

4

4

A B

E

F

I

D

G

5

H

2

3

4

J

3

4

3

C

2

4

A B

E

F

I

D

G

H

J

C

Page 41: Graphenalgorithmen cd

Kruskal‘s Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

A B

E

F

I

D

G

H

4

4

3

3

2

3

2

4

4

4

A B

E

F

I

D

G

5

H

2

3

4

J

3

4

3

C

2

4

J

C

Page 42: Graphenalgorithmen cd

A*-Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Freiburgℎ = 290

Karlsruheℎ = 200

Ulmℎ = 140

Stuttgartℎ = 160

Heilbronnℎ = 140

Nürnbergℎ = 0

Augsburgℎ = 120

135

200

85

95170

210

145

85

Page 43: Graphenalgorithmen cd

A*-Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Freiburg

Karlsruhef = 135 + 200

Ulmf = 200 + 140

Stuttgartℎ = 160

Heilbronnℎ = 140

Nürnbergℎ = 0

Augsburgℎ = 120

135

200

85

95170

210

145

85

Page 44: Graphenalgorithmen cd

A*-Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Freiburg

Karlsruhef = 335

Ulmf = 340

Stuttgartℎ = 160

Heilbronnℎ = 140

Nürnbergℎ = 0

Augsburgℎ = 120

135

200

85

95170

210

145

85

Page 45: Graphenalgorithmen cd

A*-Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Freiburg

Karlsruhe

Ulmf = 340

Stuttgartf = 135 + 85 + 160

Heilbronnf = 135 + 95 + 140

Nürnbergℎ = 0

Augsburgℎ = 120

135

200

85

95170

210

145

85

Page 46: Graphenalgorithmen cd

A*-Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Freiburg

Karlsruhe

Ulmf = 340

Stuttgartf = 380

Heilbronnf = 370

Nürnbergℎ = 0

Augsburgℎ = 120

135

200

85

95170

210

145

85

Page 47: Graphenalgorithmen cd

A*-Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Freiburg

Karlsruhe

Ulm

Stuttgartf = 380

Heilbronnf = 370

Nürnbergℎ = 0

Augsburgf = 200 + 85 + 120

135

200

85

95170

210

145

85

Page 48: Graphenalgorithmen cd

A*-Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Freiburg

Karlsruhe

Ulm

Stuttgartf = 380

Heilbronnf = 370

Nürnbergℎ = 0

Augsburgf = 405

135

200

85

95170

210

145

85

Page 49: Graphenalgorithmen cd

A*-Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Freiburg

Karlsruhe

Ulm

Stuttgartf = 380

Heilbronn Nürnbergf = 135 + 95 + 170

Augsburgf = 405

135

200

85

95170

210

145

85

Page 50: Graphenalgorithmen cd

A*-Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Freiburg

Karlsruhe

Ulm

Stuttgartf = 380

Heilbronn Nürnbergf = 400

Augsburgf = 405

135

200

85

95170

210

145

85

Page 51: Graphenalgorithmen cd

A*-Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Freiburg

Karlsruhe

Ulm

Stuttgart

Heilbronn Nürnbergf = 400 < 430

Augsburgf = 405

135

200

85

95170

210

145

85

Page 52: Graphenalgorithmen cd

A*-Algorithmus

02.07.2013 Graphenalgorithmen Michael Hummel & Martin Ebner

Freiburg

Karlsruhe

Ulm

Stuttgart

Heilbronn Nürnberg400km

Augsburgf = 405

135

200

85

95170

210

145

85

Page 53: Graphenalgorithmen cd

A*-Algorithmus

Stuttgart

Heilbronn

Nürnberg

Augsburg

Ulm

Freiburg

Karlsruhe

Page 54: Graphenalgorithmen cd

A*-Algorithmus

Page 55: Graphenalgorithmen cd
Page 56: Graphenalgorithmen cd