Basisinformationstechnologie I                                                                Sommersemester 2013         ...
Themenüberblick „Theoretische Informatik“   Formale Sprachen   Automaten     Deterministische endliche Automaten     (...
Formale Sprachen & Co.
<pre>Theorie der formalen Sprachen & Automatentheorie Möglichkeiten zur formalen Beschreibung undautomatischen Verarbeitu...
<pre>Formulierungs-            Kompilierungsschritteaspekt:  Gegenstand der   Theorie der   formalen SprachenErkennungsas...
Formale- vs. natürliche SprachenNatürliche Sprache = außerordentlich komplex Knackpunkt: Viele Äußerungen sind mehrdeutig ...
GrammatikenGrundfrage: Wie erkennen wir, ob ein „Satz“ einerProgrammiersprache wohlgeformt, d.h. korrekt ist?Lösung: Gramm...
GrammatikenGrammatikbeispiel natürliche Sprache: deutscheSprache <Satz>                  <Nominalsatz> <Verb> <Nominalsat...
GrammatikenGrammatikalisch richtig und sinnvoll:„Die kleine Katze schläft.“Grammatikalisch falsch(zwar richtig nach dem vo...
Formale SprachenFormale Sprache  z.B. Programmiersprache  auf Basis einer verhältnismäßig kleinen Menge von   Regeln wer...
Definitorisches
AlphabetDefinition Alphabet:  endliche, nichtleere Menge von Zeichen (auch:   Buchstaben oder Symbole  formale Einheit, ...
WortDefinition Wort:  Wort: Ein Wort (über einem Alphabet Σ) ist eine   endliche Folge von Zeichen aus Σ.    Beispiel: A...
Alphabet? Wort?Σ = { Anweisung, Bedingung, if, then, else, begin, end, while }w = if Bedingung then Anweisung end|w| = 5Di...
SpracheDie wichtigste Operation für Wörter besteht aus dem Verketteneinzelner Wörter Komposita (z.B. Dampfschiffahrt).Bei...
Zwischenstand   Formale- vs. natürliche Sprachen   Grammatik   Alphabet   Buchstabe   Wort   ToDo  Konzepte: Automa...
Automaten
Automat?           ?
Endliche AutomatenAutomat = „Gerät, das in Abhängigkeit vomaktuellen Zustand und von der jeweiligen Aktion /Eingabe in ein...
Endliche Automaten(Endlicher) Automat = „Endliche Automaten umfassenZustände und Übergänge zwischen Zuständen, die inReakt...
Beispielautomat            Zustände?            Übergänge?            Eingaben?Bildnachweis:: http://failblog.org/2009/...
Endliche Automaten
Endliche AutomatenBeispiel Drehkreuzautomat:  Verwendet wird das Alphabet   Σ = { „Chip“, „drehen“}
Endliche Automaten   Zustände / Zustandsübergänge:          Verriegelt: Im verriegelten Zustand lassen sich die Arme     ...
Endliche AutomatenVerwendung in der Informatik: u.a. Prüfung vonZeichenketten, d.h. Prüfung, ob die Eingabe einerbestimmte...
Finite State Machine (FSM): Zustände und Zustandsübergänge der Spielwelt und der Agenten
Formale Definition:Deterministischer endlicher Automat
Deterministischer endlicher AutomatFormale Definition DEA: Ein deterministischer endlicher Automat […] besteht […] aus    ...
Deterministischer endlicher AutomatDeterminismus:Die Eigenschaft deterministisch drückt aus, dassin jeder Situation die Ar...
Deterministischer endlicher AutomatFormale Definition DEA, kurz und knackig: Ein DEA besteht aus den fünf Komponenten („fü...
Deterministischer endlicher AutomatBeispiel: Automat zur lexikalischen AnalyseDer Automat ALA=(Z, Σ, δ, z0, E) prüft, ob d...
Deterministischer endlicher AutomatÜbergangsdiagramm:  Jeder in Z enthaltene Zustand wird durch einen Knoten   dargestell...
Deterministischer endlicher AutomatÜbergangsdiagramm:Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2...
Fall I:  Zu Beginn, d.h. im Startzustand z0, können drei Fälle  unterschieden werden:     Ist das erste Eingabezeichen ei...
Fall II:     Ist das erste Eingabezeichen nicht 0 und auch nicht      das Minuszeichen, so springt der Automat in den    ...
Fall III:     ???            Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag...
Fall III:     Ist das erste Eingabezeichen das Vorzeichen, so      springt der Automat in den Zustand z1.     Folgt nun ...
ÜbungBeispiel: Eingabe „-153“Ist das Eingabewort „-153“ eine korrekt geschriebene ganzeZahl?
ÜbungBeispiel: Eingabe „-153“   Verlauf: (z0, -153)  (z1, 153)  (z2, 53)  (z2, 3)  (z2, ε)   Fazit: Die Verarbeitung...
Deterministischer endlicher AutomatDie Sprache eines deterministischen endlichenAutomaten A wird als L(A) bezeichnet und i...
ÜbungWie reagiert der folgende DEA auf die Eingabe„111001“? Verarbeitet der Automat die Eingabe?
Zwischenstand IIAutomaten  Deterministische endliche A.  [Nichtdeterministische A.]ToDo: Grammatiken Kellerautomat Tu...
Grammatiken
GrammatikenGrundfrage: Wie erkennen wir, ob ein „Satz“ einerProgrammiersprache wohlgeformt, d.h. korrekt ist?Lösung: Gramm...
GrammatikenGrammatikbeispiel natürliche Sprache: deutscheSprache <Satz>                  <Nominalsatz> <Verb> <Nominalsat...
GrammatikenDefinition: Eine Grammatik G ist ein Quadrupel(d.h. ein System mit 4 charakteristischen Bestandteilen):        ...
GrammatikenEine Grammatik ist ein endliches Objekt, kannjedoch in der Lage sein, eine unendlich großeSprache zu definieren...
GrammatikenEine Grammatik der Form G = {V, Σ, P, S} mit einerendlichen Menge von Produktionen wird alsChomsky-Grammatik be...
GrammatikenFormale Sprachen: Dienen u.a. der Beschreibung vonProgrammiersprachenChomsky-Hierarchie (sowohl für natürliche,...
Grammatiken und die PraxisWofür der Aufwand? Compilierung: Stellt die Eingabe ein zu  akzeptierendes Programm dar?
Grammatiken und die PraxisFür jeden Grammatik-Typ der Chomsky-Hierarchieexistiert ein Typ von Automat, der die aus denGram...
Kellerautomat
KellerautomatIntention: Endlichen Automaten fehlt ein Speicher,der beliebig viele Informationen speichern kann undnicht – ...
KellerautomatZugriffsart auf Daten nach dem Keller-, Stapel- oderStack-Prinzip (LIFO, last in first out):Information, die ...
KellerautomatVerfahrensweise:Abhängig vom aktuellen Zustand des Automatenund abhängig vom gelesenen Eingabezeichen undabhä...
KellerautomatFormale Definition: Ein nichtdeterministischerKellerautomat (mit Endzuständen) ist ein 7-Tupel):M =(Z, V, U, ...
Turing-Maschine
Turing-MaschineAnforderung: Entwurf eines allgemeineren AutomatenAuflösung der Beschränkungen desKellerspeichers, u.a. das...
Turing-MaschineAbb.: Schöning, Uwe: Ideen der Informatik. München 2008, Oldenbourg Wissenschaftsverlag. S. 102.
Turing-MaschineTuring-Maschine:  Kellerspeicher ersetzt durch sequenziellen   Speicher, angeordnet in Form eines Speicher...
Zelluläre Automaten /Conway‘s Game of Life
Conways Spiel des LebensZelluläre Automaten  Verknüpfung einfacherAutomaten in Netzform:
Conways Spiel des LebensRahmenbedingungen:  Jeder Automat verfügt über zwei mögliche Zustände:   Lebendig   Tot  Jeder...
Conways Spiel des LebensSpielregeln:  Ist der aktuelle Zustand des Automaten „lebendig“ und   beträgt die Anzahl der lebe...
Conways Spiel des LebensDemo: Quelle: http://www.onderstekop.nl/coding/p4_Game_of_Life_Animated_GIF_Generator
Lindenmayer-System / L-SystemRekursive Kombination von basalenProduktionsregeln generiert Komplexität
Wolfram: A new kind of scienceStephen Wolfram (*1959)   Mathematica (1988+)   Suchmaschine „Wolfram“ (2009+)   „A Ne...
…   Berechenbarkeit   Entscheidbarkeit   Komplexität     O-Notation – Komplexitätsklassen:         Klasse             ...
/
HausaufgabenIch wünsche einen angenehmen Start insSommersemester!
SoSe 2013 | Basisinformationstechnologie II - 01_Theoretische Informatik
SoSe 2013 | Basisinformationstechnologie II - 01_Theoretische Informatik
SoSe 2013 | Basisinformationstechnologie II - 01_Theoretische Informatik
Nächste SlideShare
Wird geladen in …5
×

SoSe 2013 | Basisinformationstechnologie II - 01_Theoretische Informatik

514 Aufrufe

Veröffentlicht am

Veröffentlicht in: Bildung
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
514
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
174
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

SoSe 2013 | Basisinformationstechnologie II - 01_Theoretische Informatik

  1. 1. Basisinformationstechnologie I Sommersemester 2013 10. April 2013 – Theoretische Informatik Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners // jan.wieners@uni-koeln.de
  2. 2. Themenüberblick „Theoretische Informatik“ Formale Sprachen Automaten  Deterministische endliche Automaten  (Nichtdeterministische endliche Automaten)  Anwendung endlicher Automaten Grammatiken Kellerautomat Turingmaschine & Co.
  3. 3. Formale Sprachen & Co.
  4. 4. <pre>Theorie der formalen Sprachen & Automatentheorie Möglichkeiten zur formalen Beschreibung undautomatischen Verarbeitung von gedanklichenGebilden  Wörter  Sätze  Verfahrensanweisungen Hauptziel: Kommunikation zw. Mensch und Computer SQL: „SELECT uid, name, pass, mail FROM users WHERE uid < 2“
  5. 5. <pre>Formulierungs- Kompilierungsschritteaspekt:  Gegenstand der Theorie der formalen SprachenErkennungsaspekt:  Automatentheorie  Grundfrage: Kann eine bestimmte Eingabe für eine Weiterverarbeitung akzeptiert werden, oder nicht?
  6. 6. Formale- vs. natürliche SprachenNatürliche Sprache = außerordentlich komplex Knackpunkt: Viele Äußerungen sind mehrdeutig  „öffne die Tür mit dem Schlüssel“ vs.  „öffne die Tür mit dem Schlüssel“Formale Sprache = …naja, auch ziemlich komplex
  7. 7. GrammatikenGrundfrage: Wie erkennen wir, ob ein „Satz“ einerProgrammiersprache wohlgeformt, d.h. korrekt ist?Lösung: Grammatik  Regelwerk, dasbeschreibt, wie syntaktisch korrekte Wörter undSätze einer Sprache, z.B. einerProgrammiersprache gebildet werden
  8. 8. GrammatikenGrammatikbeispiel natürliche Sprache: deutscheSprache <Satz>  <Nominalsatz> <Verb> <Nominalsatz>  <Artikel><Substantiv> || <Artikel><Adjektiv><Substantiv> <Artikel>  das | die <Adjektiv>  große | kleine <Substantiv>  Klavier | Katze <Verb>  schläft Definition:  Ausdrücke in spitzen Klammern, z.B. <Verb>: Variablen oder Nichtterminalsymbole  Andere Ausdrücke, z.B. „schläft“: Terminalsymbole Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 65 f.
  9. 9. GrammatikenGrammatikalisch richtig und sinnvoll:„Die kleine Katze schläft.“Grammatikalisch falsch(zwar richtig nach dem vorhergehenden Beispiel, jedoch falsch in der Grammatik des Deutschen) :„Das große Katze schläft.“Grammatikalisch richtig, jedoch sinnlos:„Das große Klavier schläft.“
  10. 10. Formale SprachenFormale Sprache  z.B. Programmiersprache  auf Basis einer verhältnismäßig kleinen Menge von Regeln werden Programme formuliert, die der Rechner verstehen kannZu klären (natürliche && formale Sprache):  Alphabet  Buchstabe  Wort  ...
  11. 11. Definitorisches
  12. 12. AlphabetDefinition Alphabet:  endliche, nichtleere Menge von Zeichen (auch: Buchstaben oder Symbole  formale Einheit, die nicht weiter definiert wird) V oder Σ (Sigma) als Abkürzung für Alphabete Übungen: Σ Binärcode = { ??? }
  13. 13. WortDefinition Wort:  Wort: Ein Wort (über einem Alphabet Σ) ist eine endliche Folge von Zeichen aus Σ.  Beispiel: Aus den Zeichen „a“, „b“, „c“ lassen sich Wörter wie „cba“ oder „aab“ bilden  Die Länge eines Wortes w = Anzahl der in w vorkommenden Zeichen, wird mit |w| bezeichnet  Beispiel: Ist w = haus, so ist |w| = 4  Es existiert genau ein Wort über Σ der Länge 0, das Leerwort, das wir mit ε (Epsilon) bezeichnen
  14. 14. Alphabet? Wort?Σ = { Anweisung, Bedingung, if, then, else, begin, end, while }w = if Bedingung then Anweisung end|w| = 5Die Menge aller Wörter, die mit Zeichen aus Σ gebildetwerden können, wird mit Σ* bezeichnet Jede beliebige Teilmenge von Σ* wird als formaleSprache bezeichnet.
  15. 15. SpracheDie wichtigste Operation für Wörter besteht aus dem Verketteneinzelner Wörter Komposita (z.B. Dampfschiffahrt).Beispiel: Σ = {0, 1}Die Wörter über Σ sind alle endlichen 0-1-Folgen inklusive desLeerwortes ε (Epsilon), d.h.:Σ * = { Epsilon, 0, 1, 00, 01, 10, 11, …} Wir bezeichnen Sprachen mit dem Buchstaben L (Language)Eine typische Sprache L über Σ ist die Menge aller vorzeichenlosenBinärzahlen ohne führende Nullen: L = {0, 1, 10, 11}
  16. 16. Zwischenstand Formale- vs. natürliche Sprachen Grammatik Alphabet Buchstabe Wort ToDo  Konzepte: Automaten & Co.
  17. 17. Automaten
  18. 18. Automat? ?
  19. 19. Endliche AutomatenAutomat = „Gerät, das in Abhängigkeit vomaktuellen Zustand und von der jeweiligen Aktion /Eingabe in einen anderen Zustand übergeht“[Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 15.]
  20. 20. Endliche Automaten(Endlicher) Automat = „Endliche Automaten umfassenZustände und Übergänge zwischen Zuständen, die inReaktion auf Eingaben erfolgen. Sie sind beimErstellen verschiedener Arten von Software nützlich[…]“[Hopfcroft, John et. al.: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie. München 2002,Pearson Studium. S. 43.]
  21. 21. Beispielautomat  Zustände?  Übergänge?  Eingaben?Bildnachweis:: http://failblog.org/2009/12/09/pepsi-machine-fail/
  22. 22. Endliche Automaten
  23. 23. Endliche AutomatenBeispiel Drehkreuzautomat:  Verwendet wird das Alphabet Σ = { „Chip“, „drehen“}
  24. 24. Endliche Automaten Zustände / Zustandsübergänge:  Verriegelt: Im verriegelten Zustand lassen sich die Arme nicht drehen  Chipeinwurf: Einwurf entriegelt Sperre  Im entriegelten Zustand: Chipeinwurf wirkungslos  Im entriegelten Zustand: Werden die Arme gedreht, geht der Automat in den Zustand „verriegelt“ zurückAbb.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 15.
  25. 25. Endliche AutomatenVerwendung in der Informatik: u.a. Prüfung vonZeichenketten, d.h. Prüfung, ob die Eingabe einerbestimmten Bedingung genügtBeispiel: <html> <head> <title>Ein HTML-Dokument</title> </head> <body>Inhalt des HTML-Dokumentes</boby> </html>
  26. 26. Finite State Machine (FSM): Zustände und Zustandsübergänge der Spielwelt und der Agenten
  27. 27. Formale Definition:Deterministischer endlicher Automat
  28. 28. Deterministischer endlicher AutomatFormale Definition DEA: Ein deterministischer endlicher Automat […] besteht […] aus  einem Alphabet Σ, das die zulässigen Eingabezeichen auflistet,  einer endlichen Menge Z von Zuständen  und einer Vorschrift δ (Delta), die die Zustandsübergänge beschreibt.Zusätzlich verfügt ein Automat über einen speziellenStartzustand sowie einen oder mehrere akzeptierendeZustände (auch Endezustände genannt).Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 18.
  29. 29. Deterministischer endlicher AutomatDeterminismus:Die Eigenschaft deterministisch drückt aus, dassin jeder Situation die Arbeitsweise eindeutigdefiniert ist, d.h., entweder gibt es genau einenFolgezustand, oder der Automat stoppt vorzeitig.
  30. 30. Deterministischer endlicher AutomatFormale Definition DEA, kurz und knackig: Ein DEA besteht aus den fünf Komponenten („fünf-Tupel“) Z, Σ, δ, z0, E  Z ist eine endliche Menge von Zuständen  Σ ist ein Alphabet, das Eingabealphabet  δ : Z x Σ  Z ist die Übergangsfunktion  z0 ∈ Z ist der Startzustand  E ⊆ Z ist die Menge der Endezustände (E ist Teilmenge der Menge von Zuständen Z)
  31. 31. Deterministischer endlicher AutomatBeispiel: Automat zur lexikalischen AnalyseDer Automat ALA=(Z, Σ, δ, z0, E) prüft, ob dieEingabe eine korrekt geschriebene ganze Zahlohne führende Nullen darstellt.Gültige Eingabezeichen:Σ = {-, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  32. 32. Deterministischer endlicher AutomatÜbergangsdiagramm:  Jeder in Z enthaltene Zustand wird durch einen Knoten dargestellt  Für jeden Zustand z0 aus Z und für jedes Eingabesymbol a aus Σ sei δ(z0, a)=p  Das Übergangsdiagramm enthält dann einen Pfeil, der von Knoten z0 zu Knoten p führt und mit a beschriftet ist  Knoten, die akzeptierenden Zuständen entsprechen, werden durch eine doppelte Kreislinie gekennzeichnet. Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  33. 33. Deterministischer endlicher AutomatÜbergangsdiagramm:Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  34. 34. Fall I: Zu Beginn, d.h. im Startzustand z0, können drei Fälle unterschieden werden:  Ist das erste Eingabezeichen eine 0, so springt der Automat in den Zustand z3: (z0, 0)  (z3, ε)  z3 muss ein akzeptierender Zustand sein, da 0 ein gültiges Eingabewort ist.  Anschließend darf kein weiteres Zeichen mehr kommen, weil führende Nullen nicht erlaubt sind. Z.B.: (z3, 0)  (z4, ε) Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  35. 35. Fall II:  Ist das erste Eingabezeichen nicht 0 und auch nicht das Minuszeichen, so springt der Automat in den Zustand z2. Z.B.: (z0, 3)  (z2, ε)  Anschließend dürfen beliebig viele Ziffern, jedoch kein Vorzeichen kommen. Z.B.: (z2, 5)  (z2, ε) oder (kein gültiger Endzustand) (z2, -)  (z4, ε) Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  36. 36. Fall III:  ??? Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  37. 37. Fall III:  Ist das erste Eingabezeichen das Vorzeichen, so springt der Automat in den Zustand z1.  Folgt nun eine weitere Ziffer ungleich 0, so springt der Automat in den Zustand z2. Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  38. 38. ÜbungBeispiel: Eingabe „-153“Ist das Eingabewort „-153“ eine korrekt geschriebene ganzeZahl?
  39. 39. ÜbungBeispiel: Eingabe „-153“ Verlauf: (z0, -153)  (z1, 153)  (z2, 53)  (z2, 3)  (z2, ε) Fazit: Die Verarbeitung endet im Zustand z2, der ein Endezustand ist. Das Eingabewort „-153“ ist folglich eine korrekt geschriebene ganze Zahl. Die Menge aller Eingabewörter, die vom Automaten A akzeptiert werden, wird als die von A akzeptierte Sprache bezeichnet
  40. 40. Deterministischer endlicher AutomatDie Sprache eines deterministischen endlichenAutomaten A wird als L(A) bezeichnet und istdefiniert durch:L(A) = { w | δ(z0, w) ist in E enthalten }…das bedeutet: Die Sprache von A ist die Menge derZeichenreihen w, die vom Startzustand z0 in einenakzeptierenden Zustand führen. Wenn L für einen DEA AL(A) ist, dann bezeichnen wir L als reguläre Sprache.
  41. 41. ÜbungWie reagiert der folgende DEA auf die Eingabe„111001“? Verarbeitet der Automat die Eingabe?
  42. 42. Zwischenstand IIAutomaten  Deterministische endliche A.  [Nichtdeterministische A.]ToDo: Grammatiken Kellerautomat Turingmaschine
  43. 43. Grammatiken
  44. 44. GrammatikenGrundfrage: Wie erkennen wir, ob ein „Satz“ einerProgrammiersprache wohlgeformt, d.h. korrekt ist?Lösung: Grammatik  Regelwerk, das beschreibt,wie syntaktisch korrekte Wörter und Sätze einerSprache, z.B. einer Programmiersprache gebildetwerden
  45. 45. GrammatikenGrammatikbeispiel natürliche Sprache: deutscheSprache <Satz>  <Nominalsatz> <Verb> <Nominalsatz>  <Artikel><Substantiv> || <Artikel><Adjektiv><Substantiv> <Artikel>  das | die <Adjektiv>  große | kleine <Substantiv>  Klavier | Katze <Verb>  schläft Definition:  Ausdrücke in spitzen Klammern, z.B. <Verb>: Variablen oder Nichtterminalsymbole  Andere Ausdrücke, z.B. „schläft“: Terminalsymbole Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 65 f.
  46. 46. GrammatikenDefinition: Eine Grammatik G ist ein Quadrupel(d.h. ein System mit 4 charakteristischen Bestandteilen): G = {V, Σ, P, S} V bezeichnet eine endliche Menge von Variablen Σ ist das Terminalalphabet, d.h. die Menge der Terminalen Symbole. Terminale Symbole bilden das Alphabet der Sprache, sind nicht weiter zerlegbar (notiert als Kleinbuchstaben) P ist eine Menge von Produktionen, d.h. eine endliche Menge von Regeln. Beispiel: <Satz>  <Nominalsatz><Verb> S ist die Startvariable
  47. 47. GrammatikenEine Grammatik ist ein endliches Objekt, kannjedoch in der Lage sein, eine unendlich großeSprache zu definieren.Beispiel:<Nominalphrase> <Nominalphrase><Präpositionalphrase>„Die Frau sah Hans mit einem Fernglas in dem Parkin dem Park mit einem Fernglas“
  48. 48. GrammatikenEine Grammatik der Form G = {V, Σ, P, S} mit einerendlichen Menge von Produktionen wird alsChomsky-Grammatik bezeichnetChomsky-Grammatiken lassen sich nach der Formihrer Produktionsregeln klassifizieren und bilden dieChomsky-Hierarchie
  49. 49. GrammatikenFormale Sprachen: Dienen u.a. der Beschreibung vonProgrammiersprachenChomsky-Hierarchie (sowohl für natürliche, als auch für formaleSprachen):  Chomsky-Typ 0, auch: allgemeine Grammatik. Keinerlei Einschränkungen; jede Grammatik ist zunächst vom Typ 0. Linke und rechte Seiten der Regeln dürfen beliebige Zeichenfolgen sein, bestehend aus Variablen und Terminalzeichen.  Chomsky-Typ 1, auch: kontextsensitive Grammatik. Jede Regel der Grammatik ist so formuliert, dass die Länge nicht abnimmt, d.h.: Die rechte Seite einer Regel darf nicht kürzer sein, als die linke Seite der Regel.  Chomsky-Typ 2, auch: kontextfreie Grammatik. Die linke Seite darf nur aus einer Variablen bestehen.  Chomsky-Typ 3, auch: reguläre Grammatik. Analog Typ 2 besteht die linke Seite nur aus einer einzelnen Variablen. Darüber hinaus darf die rechte Seite nur eine der folgenden Formen haben:  Das leere Wort oder nur ein einzelnes Terminalsymbol  Ein Terminalsymbol, gefolgt von einer Variablen Vgl.: Schöning, Uwe: Ideen der Informatik. München 2008, Oldenbourg Wissenschaftsverlag. S. 80 ff. Bildnachweis: http://de.wikipedia.org/w/index.php?title=Datei:Chomsky.jpg&filetimestamp=20061014164127
  50. 50. Grammatiken und die PraxisWofür der Aufwand? Compilierung: Stellt die Eingabe ein zu akzeptierendes Programm dar?
  51. 51. Grammatiken und die PraxisFür jeden Grammatik-Typ der Chomsky-Hierarchieexistiert ein Typ von Automat, der die aus denGrammatiken resultierendenSprachen verarbeiten kann:  Typ 0 (allgemein)  Turing-Maschine  Typ 1 (kontextsensitiv)  linear beschränkter Automat  Typ 2 (kontextfrei)  Kellerautomat  Typ 3 (regulär)  endlicher Automat
  52. 52. Kellerautomat
  53. 53. KellerautomatIntention: Endlichen Automaten fehlt ein Speicher,der beliebig viele Informationen speichern kann undnicht – wie DEA – von vornherein, d.h. durch dieAnzahl ihrer Zustände, beschränkt ist.Lösung: Kellerautomat
  54. 54. KellerautomatZugriffsart auf Daten nach dem Keller-, Stapel- oderStack-Prinzip (LIFO, last in first out):Information, die zuletzt in den Kellerspeicher gelegtwurde, wird beim nächsten Speicher-Lese undSpeicher-Entnahmevorgang als erstes wiederausgelesen.Informationen, die in dem Kellerspeichereingespeichert und ausgelesen werden, sindElemente des Kelleralphabets (muss nichtidentisch mit dem Eingabealphabet sein).
  55. 55. KellerautomatVerfahrensweise:Abhängig vom aktuellen Zustand des Automatenund abhängig vom gelesenen Eingabezeichen undabhängig vom zuoberst im Keller liegendenSymbol, geht der Kellerautomat in einen neuenZustand über, ersetzt zugleich das obersteKellerzeichen durch eine Folge von Kellersymbolen.
  56. 56. KellerautomatFormale Definition: Ein nichtdeterministischerKellerautomat (mit Endzuständen) ist ein 7-Tupel):M =(Z, V, U, δ, qM, KM, F)  Z ist die Zustandsmenge  V ist das Eingabealphabet  U ist das Kelleralphabet.  δ (Delta) ist die Überführungsrelation. Die Elemente aus δ heißen Anweisungen.  qM ist der Startzustand. Der Kellerautomat befindet sich in diesem Zustand, bevor ein Zustandsübergang erfolgt ist.  KM ist das Anfangskellerzeichen. Anfangs enthält der Kellerspeicher nur das Startsymbol.  F ist die Menge der akzeptierenden Zustände oder Endzustände.
  57. 57. Turing-Maschine
  58. 58. Turing-MaschineAnforderung: Entwurf eines allgemeineren AutomatenAuflösung der Beschränkungen desKellerspeichers, u.a. dass nur an dem einen Ende desSpeichers ein- und ausgelesen werden kann Automat, der wahlfreien Zugang (random access) aufalle Speicherplätze erlaubtFormuliert von Alan M. Turing in „On computablenumbers, with an application to theEntscheidungsproblem“ (1937)
  59. 59. Turing-MaschineAbb.: Schöning, Uwe: Ideen der Informatik. München 2008, Oldenbourg Wissenschaftsverlag. S. 102.
  60. 60. Turing-MaschineTuring-Maschine:  Kellerspeicher ersetzt durch sequenziellen Speicher, angeordnet in Form eines Speicherbandes, das durch einen beweglichen Schreib-Lese-Kopf gelesen und beschrieben werden kann.  Jedes Feld des Bandes ist in der Lage, ein Zeichen aus dem Arbeitsalphabet zu speichern  Eine Turingmaschine besteht aus einer endlichen Steuereinheit, die von einem Band (die Eingabe) liest und darauf (Zwischenergebnisse) schreibt. Hierzu dient ein Schreib-Lese-Kopf, der auf dem Band schrittweise und wahlfrei nach links oder nach rechts bewegt werden kann. Auf dem Band kann immer nur dort etwas verändert (und gelesen) werden, wo sich der Schreib-Lese-Kopf befindet. Vgl.: Schöning, Uwe: Ideen der Informatik. München 2008, Oldenbourg Wissenschaftsverlag. S. 101 f.
  61. 61. Zelluläre Automaten /Conway‘s Game of Life
  62. 62. Conways Spiel des LebensZelluläre Automaten  Verknüpfung einfacherAutomaten in Netzform:
  63. 63. Conways Spiel des LebensRahmenbedingungen:  Jeder Automat verfügt über zwei mögliche Zustände:  Lebendig  Tot  Jeder Automat hängt von seinem linken, rechten, oberen und unteren Nachbarn ab.  Die Automaten ändern synchron in einem Taktrhythmus ihren Zustand  Die Zustandsänderung hängt nicht nur vom eigenen vorherigen Zustand ab, sondern auch von den Zuständen der Nachbarn  Der Nachfolgezustand hängt davon ab, wie viele seiner acht Nachbarn lebendig sind
  64. 64. Conways Spiel des LebensSpielregeln:  Ist der aktuelle Zustand des Automaten „lebendig“ und beträgt die Anzahl der lebendigen Nachbarn 2 oder 3, so ist der Nachfolgezustand „lebendig“  Ist der aktuelle Zustand „tot“ und ist die Anzahl der lebendigen Nachbarn genau 3, so ist der Nachfolgezustand „lebendig“  In allen anderen Fällen ist der Nachfolgezustand „tot“.
  65. 65. Conways Spiel des LebensDemo: Quelle: http://www.onderstekop.nl/coding/p4_Game_of_Life_Animated_GIF_Generator
  66. 66. Lindenmayer-System / L-SystemRekursive Kombination von basalenProduktionsregeln generiert Komplexität
  67. 67. Wolfram: A new kind of scienceStephen Wolfram (*1959)   Mathematica (1988+)   Suchmaschine „Wolfram“ (2009+)   „A New Kind of Science“ (2002)
  68. 68. … Berechenbarkeit Entscheidbarkeit Komplexität  O-Notation – Komplexitätsklassen: Klasse Ordnung Konstant O (1) Logarithmisch O (log n) Linear O (n) n-log-n O (n log n) Quadratisch O (n²) polynomiell O (nk) für k >= 1 exponentiell O (nd) für d > 1
  69. 69. /
  70. 70. HausaufgabenIch wünsche einen angenehmen Start insSommersemester!

×