Einf hrung in die informationsverarbeitung teil thaller stunde iii algorithmen
Download
1 / 82

Einführung in die Informationsverarbeitung Teil Thaller Stunde III: Algorithmen - PowerPoint PPT Presentation


  • 98 Views
  • Uploaded on

Einführung in die Informationsverarbeitung Teil Thaller Stunde III: Algorithmen. Köln 8. November 2012. Einleitendes Beispiel ( Selbstabbildende Information). Minimal neighbour. Original Ergebnis. Minimal neighbour. Ersetze in jeder Zeile

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Einführung in die Informationsverarbeitung Teil Thaller Stunde III: Algorithmen' - amos-duran


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Einf hrung in die informationsverarbeitung teil thaller stunde iii algorithmen

Einführung in die InformationsverarbeitungTeil ThallerStunde III: Algorithmen

Köln 8. November 2012



Minimal neighbour

Original Ergebnis


Minimal neighbour

Ersetze in jeder Zeile

jedes Pixel

durch den niedrigsten Pixelwert der dieses

Pixels umschreibenden 3 x 3 Matrix.














Algorithmen: Definition

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


Algorithmen: Eigenschaften

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

  • Finitheit. Die Beschreibung von f ist endlich lang.

  • Vollständigkeit. Die Beschreibung von f umfasst alle vorkommenden Fälle.

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

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

  • 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: Laufzeit

  • linear.

  • logarithmisch.

  • exponentiell.


Algorithmen: Laufzeit

Beispiel: Sequentielles

Suchen

Laufzeit: linear


Algorithmen: Laufzeit

Beispiel: Sequentielles Suchen

Suchzeit jedes Namens entspricht Rang in der Liste.

Durchschnittliche Suchzeit: n / 2.

Laufzeit steigt mit der zu durchsuchenden Anzahl


Algorithmen: Laufzeit

Beispiel: Binäres Suchen

Laufzeit: ?


Algorithmen: Laufzeit

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

Beispiel: Binäres Suchen

Laufzeit steigt mit Logarithmus der zu durchsuchenden Anzahl.


Algorithmen: Sonderfälle

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.

    *


III. Zahlen und Bedeutung

(2 Klassen von Information)


Bildversiegelung

Problem:

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




Bildversiegelung

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

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

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


Bildversiegelung

189 + 185 + 135 + 159 + 157 + 157 = 982 = even

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

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


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


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}


Information verstecken

01001000

01001011

01001001


Information verstecken

H

K

I

„Watermarking of images“

*



Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger



Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger T251

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger T251

Tekekenperger


Soundex

Problem: Welche der drei folgenden Namen sind gleich?

Theckenperger T251

Tegenberger T251

Tekekenperger T225

*



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.


Towers of Hanoi

S1 S2 S3


Towers of Hanoi

S1 S2 S3


Towers of Hanoi

S1 S2 S3


Towers of Hanoi

S1 S2 S3


Towers of Hanoi

S1 S2 S3


Towers of Hanoi

S1 S2 S3


Towers of Hanoi

S1 S2 S3


Towers of Hanoi

S1 S2 S3


Towers of Hanoi

Lösung I

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

Transportiere die unterste Scheibe von S1 nach S2.

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


Towers of Hanoi

Lösung II

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.

Transportiere selbst die unterste Scheibe von S1 nach S2.

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.


Towers of Hanoi

Lösung III

functiontransport( 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());

}


Towers of Hanoi

Fragen

Wie viele Mitarbeiter werden benötigt?

n

2. Wieviele Transferschritte?

2n -1

3. Wie lange?

2100-1 Schritte == ca. 10301 Schritt == 1 Sekunde ==> ca. 1030 Sekunden == ca. 4 * 1022 Jahre

*










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

  • *





ad