Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung in die Informationsverarbeitung Teil Thaller Stunde III: Algorithmen Köln 4. November 2010.

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung in die Informationsverarbeitung Teil Thaller Stunde III: Algorithmen Köln 4. November 2010."—  Präsentation transkript:

1 Einführung in die Informationsverarbeitung Teil Thaller Stunde III: Algorithmen Köln 4. November 2010

2 I.Einleitendes Beispiel (Selbstabbildende Information) 2

3 Minimal neighbour Original Ergebnis 3

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

5 5

6

7 Minimal neighbour

8 Minimal neighbour

9 Minimal neighbour

10 Minimal neighbour

11 Minimal neighbour

12 Minimal neighbour

13 Minimal neighbour

14 Minimal neighbour

15 Minimal neighbour * 15

16 II. Algorithmen: Allgemeine Eigenschaften 16

17 Ein Algorithmus ist eine Funktion f(D ein, D aus ), die Eingabedaten D ein in Ausgabedaten D aus schrittweise transformiert und dabei bestimmte Bedingungen erfüllt. Algorithmen: Definition 17

18 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

19 1.linear. 2.logarithmisch. 3.exponentiell. Algorithmen: Laufzeit N=1N=10N=100N=

20 Beispiel: Sequentielles Suchen Laufzeit: linear Algorithmen: Laufzeit 1Clio 2Melpomene 3Terpsichore 4Thalia 5Euterpe 6Erato 7Urania 8Polyhymnia 9Kalliope 20

21 Beispiel: Sequentielles Suchen Suchzeit jedes Namens entspricht Rang in der Liste. Durchschnittliche Suchzeit: n / 2. Laufzeit steigt mit der zu durchsuchenden Anzahl Algorithmen: Laufzeit 1Clio 2Melpomene 3Terpsichore 4Thalia 5Euterpe 6Erato 7Urania 8Polyhymnia 9Kalliope 21

22 Beispiel: Binäres Suchen Laufzeit: ? Algorithmen: Laufzeit 1Clio 2Erato 3Euterpe 4Kalliope 5Melpomene 6Polyhymnia 7Terpsichore 8Thalia 9Urania 22

23 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 1Clio 2Erato 3Euterpe 4Kalliope 5Melpomene 6Polyhymnia 7Terpsichore 8Thalia 9Urania 23

24 Beispiel: Binäres Suchen Laufzeit steigt mit Logarithmus der zu durchsuchenden Anzahl. Algorithmen: Laufzeit 1Clio 2Erato 3Euterpe 4Kalliope 5Melpomene 6Polyhymnia 7Terpsichore 8Thalia 9Urania 24

25 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

26 III. Zahlen und Bedeutung (2 Klassen von Information) 26

27 Problem: Gesucht ist ein Algorithmus, der sicherstellt, dass ein Bild nicht manipuliert wurde. Bildversiegelung 27

28 Bildversiegelung

29 Bildversiegelung

30 Bildversiegelung = 983 = odd = 964 = even = 1081 = odd 30

31 Bildversiegelung = 982 = even = 964 = even = 1080 = even 31

32 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

33 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

34 Information verstecken

35 Information verstecken H K I „Watermarking of images“ * 35

36 IV. Zeichenbasierte Algorithmen 36

37 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger Tegenberger Tekekenperger 37

38 Soundex 1Das erste Zeichen jedes Namens wird beibehalten. 2W und H werden ignoriert. 3 A, E, I, O, U und Y ergeben keinen Codewert, gelten jedoch als "Trenner" (s.Regel 5). 4Die 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

39 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger Tegenberger Tekekenperger 39

40 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger Tegenberger Tekekenperger TRegel 1 40

41 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger Tegenberger Tekekenperger TxTxRegel 2 41

42 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger Tegenberger Tekekenperger T xRegel 3 42

43 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger Tegenberger Tekekenperger T 2Regel

44 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger Tegenberger Tekekenperger T 2xRegel 5 44

45 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger Tegenberger Tekekenperger T 2 xRegel 3 45

46 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger Tegenberger Tekekenperger T 2 5Regel

47 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger Tegenberger Tekekenperger T 2 51Regel

48 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger  T251 Tegenberger Tekekenperger 48

49 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger  T251 Tegenberger Tekekenperger TRegel 1 49

50 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger  T251 Tegenberger Tekekenperger TxTxRegel 2 50

51 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger  T251 Tegenberger Tekekenperger T 2Regel

52 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger  T251 Tegenberger Tekekenperger T 2xRegel 3 52

53 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger  T251 Tegenberger Tekekenperger T 2 5Regel

54 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger  T251 Tegenberger  T251 Tekekenperger T 2 51Regel

55 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger  T251 Tegenberger  T251 Tekekenperger T 2 2Regeln 4.2 / 5 / 3 55

56 Soundex Problem: Welche der drei folgenden Namen sind gleich? Theckenperger  T251 Tegenberger  T251 Tekekenperger  T225 * 56

57 V. Symbolische Operationen I 57

58 Towers of Hanoi Situation 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

59 Towers of Hanoi S1 S2 S3 59

60 Towers of Hanoi S1 S2 S3 60

61 Towers of Hanoi S1 S2 S3 61

62 Towers of Hanoi S1 S2 S3 62

63 Towers of Hanoi S1 S2 S3 63

64 Towers of Hanoi S1 S2 S3 64

65 Towers of Hanoi S1 S2 S3 65

66 Towers of Hanoi S1 S2 S3 66

67 Towers of Hanoi Lö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

68 Towers of Hanoi Lö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

69 Towers of Hanoi Lö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

70 Towers of Hanoi Fragen 1.Wie viele Mitarbeiter werden benötigt? n 2. Wieviele Transferschritte? 2 n Wie lange? Schritte == ca Schritt == 1 Sekunde ==> ca Sekunden == ca. 4 * Jahre * 70

71 VI. Symbolische Operationen II 71

72 Das Problem 72

73 A* Algorithmus: Ausgangslage 73

74 A* Algorithmus: Zwischenschritt 74

75 A* Algorithmus: Zwischenschritt 75

76 A* Algorithmus: Zwischenschritt 76

77 A* Algorithmus: Zwischenschritt 77

78 A* Algorithmus: Schluß 78

79 A* formell A = Stapel verwendbarer Felder; B Stapel geprüfter Felder (1) Füge den Startknoten in A ein (2) Wiederhole: (2.1) Wähle den Knoten n mit den niedrigsten Kosten F (n) aus A aus und verschiebe ihn in B (2.2) Für jeden an n direkt angrenzenden Knoten m: (2.2.1)Wenn m nicht betretbar (Hindernis, Wasser, etc.) oder bereits in B ist, ignoriere ihn (2.2.2) Füge m in A ein, wenn er noch nicht enthalten ist (2.2.3) Trage die Kosten F (m) und G(m) ein und vermerke als Vorgänger n bzw. aktualisiere sie wenn m schon enthalten war und ein Weg über n mit kleinerem G(m) gefunden wurde (3) Wenn der Zielknoten in A eingefügt wurde, ist ein Weg gefunden worden. Wenn A leer geworden ist, ohne den Zielknoten zu finden, existiert kein Weg * 79

80 Demo 80

81 Das Problem ? 81


Herunterladen ppt "Einführung in die Informationsverarbeitung Teil Thaller Stunde III: Algorithmen Köln 4. November 2010."

Ähnliche Präsentationen


Google-Anzeigen