93
Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Embed Size (px)

Citation preview

Page 1: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Einführung in die InformationsverarbeitungTeil Eide

(auf Basis von Thaller 2014–15)

Stunde III: Algorithmen, Visualisierung

Köln 19. November 2015

Page 2: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

I. Einleitendes Beispiel(Selbstabbildende Information)

2

Page 3: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Minimal neighbour

Original Ergebnis

3

Page 4: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Ersetze in jeder Zeile jedes Pixel durch den niedrigsten Pixelwert der dieses Pixels umschreibenden 3 x 3 Matrix.

Minimal neighbour

4

Page 5: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Minimal neighbour

5

Page 6: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Minimal neighbour

250 250 250 250 250 250 250 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 250 250 250 250 250 250 2506

Page 7: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Minimal neighbour

250 250 250 250 250 250 250 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 250 250 250 250 250 250 2507

Page 8: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Minimal neighbour

250 250 250 250 250 250 250 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 250 250 250 250 250 250 2508

Page 9: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Minimal neighbour

250 250 250 250 250 250 250 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 250 250 250 250 250 250 2509

Page 10: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Minimal neighbour

250 250 250 250 250 250 250 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 250 250 250 250 250 250 25010

Page 11: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Minimal neighbour

250 250 250 250 250 250 250 250 250 250 250 250

250 250 50 50 50 50 50 50 50 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 250 250 250 250 250 250 25011

Page 12: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Minimal neighbour

250 250 250 250 250 250 250 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 250 250 250 250 250 250 25012

Page 13: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Minimal neighbour

250 250 250 250 250 250 250 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 250 250 50 50 250 250 250 250 250

250 250 250 50 50 50 50 50 50 250 250 250

250 250 250 250 250 250 250 250 250 250 250 25013

Page 14: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Minimal neighbour

250 250 50 50 50 50 50 50 50 50 250 250

250 250 50 50 50 50 50 50 50 50 250 250

250 250 50 50 50 50 50 50 50 50 250 250

250 250 250 250 50 50 50 50 250 250 250 250

250 250 250 250 50 50 50 50 250 250 250 250

250 250 250 250 50 50 50 50 250 250 250 250

250 250 250 250 50 50 50 50 250 250 250 250

250 250 250 250 50 50 50 50 250 250 250 250

250 250 250 250 50 50 50 50 250 250 250 250

250 250 50 50 50 50 50 50 50 50 250 250

250 250 50 50 50 50 50 50 50 50 250 250

250 250 50 50 50 50 50 50 50 50 250 25014

Page 15: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Minimal neighbour

* 15

Page 16: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

II. Algorithmen: Allgemeine Eigenschaften

16

Page 17: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Ein Algorithmus ist eine Funktion f(Dein, Daus), die Eingabedaten Dein in Ausgabedaten Daus schrittweise transformiert und dabei bestimmte Bedingungen erfüllt.

Algorithmen: Definition

17

Page 18: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

1.Exaktheit. Die Funktion f kann präzise auf formale Weise beschrieben werden.

2.Finitheit. Die Beschreibung von f ist endlich lang. 3.Vollständigkeit. Die Beschreibung von f umfasst alle vorkommenden Fälle.

4.Effektivität. Die Einzelschritte sind elementar und real ausführbar.

5.Terminierung. Die Funktion f hält nach endlich vielen Schritten an und liefert ein Resultat.

6.Determinismus. Die Funktion f liefert bei gleichen Eingabewerten stets das gleiche Ergebnis, wobei die Folge der Einzelschritte für jeden Eingabewert genau festgelegt ist.

Algorithmen: Eigenschaften

18

Page 19: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

1.linear. 2.logarithmisch. 3.exponentiell.

Algorithmen: Laufzeit

N=1 N=10 N=100 N=1000

1 10 100 1000

1 3 7 10

1 103 1030 10300

19

Page 20: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Beispiel: Sequentielles Suchen

Laufzeit: linear

Algorithmen: Laufzeit

1 Clio2 Melpomene3 Terpsichore4 Thalia5 Euterpe6 Erato7 Urania8 Polyhymnia9 Kalliope

20

Page 21: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Beispiel: Sequentielles Suchen

Suchzeit jedes Namens entspricht Rang in der Liste.

Durchschnittliche Suchzeit: n / 2.

Laufzeit steigt mit der zu durchsuchenden Anzahl

Algorithmen: Laufzeit

1 Clio2 Melpomene3 Terpsichore4 Thalia5 Euterpe6 Erato7 Urania8 Polyhymnia9 Kalliope

21

Page 22: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Beispiel: Binäres Suchen

Laufzeit: ?

Algorithmen: Laufzeit

1 Clio2 Erato3 Euterpe4 Kalliope5 Melpomene6 Polyhymnia7 Terpsichore8 Thalia9 Urania

22

Page 23: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Beispiel: Binäres Suchen – „Thalia“„Melpomene“ gleich – größer – kleiner „Thalia“?

„Terpsichore“ gleich – größer – kleiner „Thalia“?

„Thalia“ gleich – größer – kleiner „Thalia“?

Algorithmen: Laufzeit

1 Clio2 Erato3 Euterpe4 Kalliope5 Melpomene6 Polyhymnia7 Terpsichore8 Thalia9 Urania

23

Page 24: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Beispiel: Binäres Suchen

Laufzeit steigt mit Logarithmus der zu durchsuchenden Anzahl.

Algorithmen: Laufzeit

1 Clio2 Erato3 Euterpe4 Kalliope5 Melpomene6 Polyhymnia7 Terpsichore8 Thalia9 Urania

24

Page 25: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Nichtdeterministische Algorithmen: potentiell schneller - liefern u.U. keine Lösung

NP vollständige Algorithmen: Prinzipiell nicht möglich, irgendein NP-vollständiges Problem mit einem deterministischen Algorithmus in exponentieller Zeit zu lösen.

Komplexitätstheorie.

*

Algorithmen: Sonderfälle

25

Page 26: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

III. Zahlen und Bedeutung(2 Klassen von Information)

26

Page 27: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Problem:

Gesucht ist ein Algorithmus, der sicherstellt, dass ein Bild nicht manipuliert wurde.

Bildversiegelung

27

Page 28: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Bildversiegelung

234 231 212 135 178 234 089 064 134 231 222 156 178 123 267

178 189 123 234 056 111 134 236 224 097 123 234 221 221 235

167 185 135 159 031 137 222 243 278 187 237 220 219 217 221

176 135 135 157 176 145 138 278 003 012 034 025 127 236 221

159 147 135 158 158 159 162 167 183 177 168 255 248 251 213

146 148 144 168 169 154 143 178 181 184 167 257 234 222 244

28

Page 29: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Bildversiegelung

234 231 212 135 178 234 089 064 134 231 222 156 178 123 267

178 189 123 234 056 111 134 236 224 097 123 234 221 221 235

167 185 135 159 031 137 222 243 278 187 237 220 219 217 221

176 135 135 157 176 145 138 278 003 012 034 025 127 236 221

159 147 135 158 158 159 162 167 183 177 168 255 248 251 213

146 148 144 168 169 154 143 178 181 184 167 257 234 222 244

29

Page 30: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Bildversiegelung

234 231 212 135 178 234 089 064 134 231 222 156 178 123 267

178 189 123 234 056 111 134 236 224 097 123 234 221 221 235

167 185 135 159 031 137 222 243 278 187 237 220 219 217 221

176 135 135 157 176 145 138 278 003 012 034 025 127 236 221

159 147 135 158 158 159 162 167 183 177 168 255 248 251 213

146 148 144 168 169 154 143 178 181 184 167 257 234 222 244

189 + 185 + 135 + 159 + 157 + 158 = 983 = odd

089 + 134 + 236 + 224 + 278 + 003 = 964 = even

220 + 025 + 127 + 236 + 251 + 222 = 1081 = odd30

Page 31: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Bildversiegelung

234 231 212 135 178 234 089 064 134 231 222 156 178 123 267

178 189 123 234 056 111 134 236 224 097 123 234 221 221 235

167 185 135 159 031 137 222 243 278 187 237 220 219 217 221

176 135 135 157 176 145 138 278 003 012 034 025 127 236 221

159 147 135 157 158 159 162 167 183 177 168 255 248 251 213

146 148 144 168 169 154 143 178 181 184 167 257 234 221 244

189 + 185 + 135 + 159 + 157 + 157 = 982 = even089 + 134 + 236 + 224 + 278 + 003 = 964 = even

220 + 025 + 127 + 236 + 251 + 221 = 1080 = even 31

Page 32: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Information verstecken{even, odd, even, even, odd, even, even, even}

{even, odd, even, even, odd, even, odd,odd}

{even, odd, even, even, odd, even, even, odd}

Even 0 ; Odd 1

32

Page 33: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Information verstecken{0, 1, 0, 0, odd, even, even, even}

{even, odd, even, even, odd, even, odd,odd}

{even, odd, even, even, odd, even, even, odd}

33

Page 34: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Information verstecken01001000

01001011

01001001

34

Page 35: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Information versteckenH

KI

„Watermarking of images“

*35

Page 36: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

IV. Zeichenbasierte Algorithmen

36

Page 37: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger

37

Page 38: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Soundex1 Das erste Zeichen jedes Namens wird beibehalten.2 W und H werden ignoriert.

3 A, E, I, O, U und Y ergeben keinen Codewert, gelten jedoch als "Trenner" (s.Regel 5).

4 Die anderen Zeichen werden nach folgenden Regeln umgewandelt. 4.1 B, P, F, V ==> 1

4.2 C, G, J, K, Q, S, X, Z ==> 2

4.3 D, T ==> 3

4.4 L ==> 4

4.5 M, N ==> 5

4.6 R ==> 6

5

Ergeben zwei aufeinanderfolgende Zeichen denselben Code, wird er nur einmal gewertet. Sind sie durch einen "Trenner" (s. oben Regel 3) getrennt, wird er jedoch wiederholt. 38

Page 39: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger

39

Page 40: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger

T Regel 1

40

Page 41: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger

Tx Regel 2

41

Page 42: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger

T x Regel 3

42

Page 43: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger

T 2 Regel 4.2

43

Page 44: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger

T 2x Regel 5

44

Page 45: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger

T 2 x Regel 3

45

Page 46: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger

T 2 5 Regel 4.5

46

Page 47: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger

T 2 51 Regel 4.1

47

Page 48: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger

Tekekenperger

48

Page 49: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger

Tekekenperger

T Regel 1

49

Page 50: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger

Tekekenperger

Tx Regel 3

50

Page 51: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger

Tekekenperger

T 2 Regel 4.2

51

Page 52: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger

Tekekenperger

T 2x Regel 3

52

Page 53: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger

Tekekenperger

T 2 5 Regel 4.5

53

Page 54: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger T251

Tekekenperger

T 2 51 Regel 4.1

54

Page 55: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger T251

Tekekenperger

T 2 2 Regeln 4.2 / 5 / 3

55

Page 56: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

SoundexProblem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger T251

Tekekenperger T225

*56

Page 57: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

V. Symbolische Operationen I

57

Page 58: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Towers of HanoiSituation in einem Tempel in Hanoi: • Ein Turm von 100 Scheiben auf einer Spindel (S1). • Eine leere Spindel (S2). • Eine weitere leere Spindel (S3).

Transportiere S1 so nach S2 - wobei S3 als Zwischenlager verwendet werden darf - dass:• Jeweils nur die oberste Scheibe von einem Turm genommen wird. • Niemals eine größere Scheibe auf einer kleineren liegt.

Prophezeiung: Ist das erledigt, ist das Ende der Welt gekommen.

58

Page 59: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Towers of Hanoi

S1 S2 S3 59

Page 60: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Towers of Hanoi

S1 S2 S3 60

Page 61: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Towers of Hanoi

S1 S2 S3 61

Page 62: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Towers of Hanoi

S1 S2 S3 62

Page 63: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Towers of Hanoi

S1 S2 S3 63

Page 64: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Towers of Hanoi

S1 S2 S3 64

Page 65: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Towers of Hanoi

S1 S2 S3 65

Page 66: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Towers of Hanoi

S1 S2 S3 66

Page 67: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Towers of HanoiLösung I

1. Finde jemand, der die obersten 99 Scheiben von S1 nach S3 transportiert.

2. Transportiere die unterste Scheibe von S1 nach S2. 3. Finde jemand, der die obersten 99 Scheiben von S3 nach S2

transportiert.

67

Page 68: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Towers of HanoiLösung II

1. Besteht der zu transportierende Turm aus mehr als einer Scheibe, finde jemand, der einen Turm von n-1 Scheiben von S1 nach S3 transportiert. Nutze S2 als Zwischenablage.

2. Transportiere selbst die unterste Scheibe von S1 nach S2. 3. Besteht der zu transportierende Turm aus mehr als einer Scheibe,

finde jemand, der einen Turm von n-1 Scheiben von S3 nach S2 transportiert. Nutze S1 als Zwischenablage.

68

Page 69: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Towers of HanoiLösung III

function transport( int n, stack spindel1, stack spindel2, stack spindel3) { if (n >1) transport(n-1,spindel1,spindel3,spindel2); schritt(spindel1,turm2); if (n>1) transport(n-1,spindel3,turm2,spindel1); }

function schritt( stack spindel1, stack spindel2) { spindel2.push(spindel1.pop()); }

69

Page 70: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Towers of HanoiFragen

1. Wie viele Mitarbeiter werden benötigt? n 2. Wieviele Transferschritte? 2n -13. Wie lange? 2100-1 Schritte == ca. 1030

1 Schritt == 1 Sekunde ==> ca. 1030 Sekunden == ca. 4 * 1022 Jahre

* 70

Page 71: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

VI. Symbolische Operationen II

71

Page 72: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Das Problem

72

Page 73: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

A* Algorithmus: Schluß

73

Page 74: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

VII. Visualisierung

74

Page 75: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

I. Grundgedanke

75

(1)Ein Satz von Variablen gibt einen bestimmten Zustand wieder.

(2)Dieser Zustand wird regelbasiert verändert, wobei eine bestimmte Anzahl von Veränderungen einen „Schritt“, also ein Stadium in der Entwicklung eines Systems wiedergibt.

(3) Dieser Zustand kann in regelmäßigen Abständen visualisiert werden.

Page 76: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Beispiel: Towers of Hanoistack turm1, turm2, turm3;Ausgangszustand: Alle 3 Scheiben auf turm1;Dann: transport(3, turm1, turm2, turm3);

function transport( int n, stack spindel1, stack spindel2, stack spindel3) { if (n >1) transport(n-1,spindel1,spindel3,spindel2); schritt(spindel1,spindel); if (n>1) transport(n-1,spindel3,turm2,spindel1); }

function schritt( stack spindel1, stack spindel2) { spindel2.push(spindel1.pop()); visualisiere(); }

76

Page 77: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Turm1:

Turm2:

Turm3:

Ausgangszustand der Variablen

Scheibe 1 Scheibe 2 Scheibe 3

77

Page 78: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

visualisiere();

78

Page 79: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Turm1:

Turm2:

Turm3:

Ausgangszustand der Variablen

Scheibe 1 Scheibe 2 Scheibe 3

79

Scheibe 4

Page 80: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

visualisiere();

80

Page 81: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Bewegung und WachstumAusgangszustand:Position =2; Durchmesser=1; Schritt:Position=Position+1:Durchmesser=Durchmesser+Durchmesser *0.20;

1 2 3 4 5 6 7 8 9 10 11 12 1381

Page 82: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Bewegung und WachstumPosition =2; Durchmesser=1;

1 2 3 4 5 6 7 8 9 10 11 12 1382

Page 83: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Bewegung und WachstumPosition =3; Durchmesser=1.20;

1 2 3 4 5 6 7 8 9 10 11 12 1383

Page 84: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Bewegung und WachstumPosition =4; Durchmesser=1.44;

1 2 3 4 5 6 7 8 9 10 11 12 1384

Page 85: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Bewegung und WachstumPosition =5; Durchmesser=1.728;

1 2 3 4 5 6 7 8 9 10 11 12 1385

Page 86: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Beispiel Second Life: Body I

86

Page 87: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Beispiel Second Life: Body II

87

Page 88: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Beispiel Second Life: II

88

Page 89: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Exkurs: Logik der Computergraphik

Trennung zwischen Graphic Primitives und Graphic Context.

Graphic Primitives: • Draw line.• Draw circle.• Draw text.• Fill area.• [ 3D equivalents. ]

89

Page 90: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Exkurs: Logik der Computergraphik

Trennung zwischen Graphic Primitives und Graphic Context.

Graphic Context: • Set line thickness.• Set line type.• Set line color.• Set fill color.• Set text font.• ………

90

Page 91: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Exkurs: Logik der Computergraphik

Trennung zwischen Graphic Primitives und Graphic Context.

Die Ausführung identischer Zeicheninstruktionen in geändertem Kontext führt zu unterschiedlichem Aussehen.

Aufrufen derselben Primitives mit unterschiedlichen Parametern wie Position und Durchmesser führt zu unterschiedlicher Zeichnung.

91

Page 92: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Beispiel Second Life: Nose

92

Page 93: Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015

Danke für heute!

93