Basisinformationstechnologie II – Sommersemester 2016 – 25. April 2016
Dr. Jan G. Wieners
Theoretische Informatik
Formale ...
 Formale Sprachen
 Alphabet
 Buchstabe
 Wort
 Automaten
 Deterministische endliche Automaten
 (Nichtdeterministisch...
Formale Sprachen (& Co.)
mov al, 61h
vs.
SELECT uid, name, pass, mail FROM users
WHERE uid < 2
Grammatikbeispiel natürliche Sprache: deutsche Sprache
<Satz>  <Nominalsatz> <Verb>
<Nominalsatz>  <Artikel><Substantiv>...
Grammatikalisch richtig und sinnvoll:
„Die kleine Katze schläft.“
Grammatikalisch falsch
(zwar richtig nach dem vorhergehe...
Formale Sprache
 z.B. Programmiersprache
 auf Basis einer verhältnismäßig kleinen Menge von Regeln
werden Programme form...
Definitorisches:
Alphabet, Wort, Sprache
Alphabet?
Alphabet.
- endliche, nichtleere Menge von Zeichen (auch: Buchstaben oder Symbole 
formale Einheit, die nicht weiter defi...
Σ Binärcode = {???}
Σ Binärcode = {0,1}
Σ Hexadezimalcode = {???}
Σ Binärcode = { 0,1 }
Σ Hexadezimalcode = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
Wort.
- Ein Wort über einem Alphabet Σ ist eine endliche Folge von
Zeichen aus Σ.
- Es existiert genau ein Wort über Σ der...
Σ = { Anweisung, Bedingung, if, then, else, begin, end, while }
w = if Bedingung then Anweisung end
|w| = 5
Die Menge alle...
Die wichtigste Operation für Wörter besteht aus dem Verketten
einzelner Wörter
 Komposita (z.B. Dampfschiffahrt).
Beispie...
Zwischenstand
 Formale- vs. natürliche Sprachen
 Grammatik
 Alphabet
 Buchstabe
 Wort
 ToDo  Konzepte: Automaten & Co.
Zwischenst...
Automaten
Gemeinsamkeiten?
Automatencharakteristika?
 Zustände, Aktionen,
Zustandsübergänge / Transitionen
Beispiel Drehkreuzautomat:
 Verwendet wird das Alphabet
Σ = { „Chip“, „drehen“}
Endliche Automaten
Zustände / Zustandsübergänge:
 Verriegelt: Im verriegelten Zustand lassen sich die Arme nicht
drehen
 Chipeinwurf: Einwu...
Verwendung in der Informatik: u.a. Prüfung von
Zeichenketten, d.h. Prüfung, ob die Eingabe definierten
Kriterien genügt
Be...
Formale Definition DEA:
Ein deterministischer endlicher Automat […] besteht
[…] aus
◦ einem Alphabet Σ, das die zulässigen...
Formale Definition DEA, kurz und knackig:
Ein DEA besteht aus den fünf Komponenten („fünf-
Tupel“) Z, Σ, δ, z0, E
◦ Z ist ...
Der Automat ALA=(Z, Σ, δ, z0, E) prüft, ob die Eingabe eine
korrekt geschriebene ganze Zahl ohne führende Nullen
darstellt...
Übergangsdiagramm:
 Jeder in Z enthaltene Zustand wird durch einen Knoten
dargestellt
 Für jeden Zustand z0 aus Z und fü...
Zustands-/Übergangsdiagramm:
Deterministischer endlicher Automat
Vgl.: Socher, Rolf: Theoretische Grundlagen der Informati...
Fall I:
Zu Beginn, d.h. im Startzustand z0, können drei Fälle
unterschieden werden:
 Ist das erste Eingabezeichen eine 0,...
Fall II:
 Ist das erste Eingabezeichen nicht 0 und auch nicht das
Minuszeichen, so springt der Automat in den Zustand z2....
Fall III:
 ???
Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
Fall III:
 Ist das erste Eingabezeichen das Vorzeichen, so springt der
Automat in den Zustand z1.
 Folgt nun eine weiter...
Beispiel: Eingabe „-153“
Ist das Eingabewort „-153“ eine korrekt geschriebene ganze Zahl?
Übung
Beispiel: Eingabe „-153“
 Verlauf: (z0, -153)  (z1, 153)  (z2, 53)  (z2, 3)  (z2, ε)
 Fazit: Die Verarbeitung endet ...
Wie reagiert der folgende DEA auf die Eingabe
„111001“? Verarbeitet der Automat die Eingabe?
Übung
Automaten
 Deterministische endliche A.
 [Nichtdeterministische A.]
ToDo:
 Grammatiken
 Kellerautomat
 Turingmaschine...
Grammatiken
Grundfrage: Wie erkennen wir, ob ein „Satz“ einer
Programmiersprache wohlgeformt, d.h. korrekt ist?
Lösung: Grammatik  Re...
Grammatikbeispiel natürliche Sprache: deutsche Sprache
<Satz>  <Nominalsatz> <Verb>
<Nominalsatz>  <Artikel><Substantiv>...
Definition: Eine Grammatik G ist ein Quadrupel
(d.h. ein System mit 4 charakteristischen Bestandteilen):
G = {V, Σ, P, S}
...
Chomsky-Hierarchie (sowohl für natürliche, als auch für
formale Sprachen):
 Chomsky-Typ 0, auch: allgemeine Grammatik.
Ch...
Für jeden Grammatik-Typ der Chomsky-Hierarchie
existiert ein Typ von Automat, der die aus den
Grammatiken resultierenden
S...
Wofür der Aufwand?
 Compilierung: Stellt die Eingabe ein zu akzeptierendes
Programm dar?
Grammatiken und die Praxis
Kellerautomat
Intention: Endlichen Automaten fehlt ein Speicher, der
beliebig viele Informationen speichern kann und nicht –
wie DEA – v...
Formale Definition: Ein nichtdeterministischer Kellerautomat
(mit Endzuständen) ist ein 7-Tupel):
M =(Z, V, U, δ, qM, KM, ...
Turing-Maschine
Anforderung: Entwurf eines allgemeineren Automaten
Auflösung der Beschränkungen des Kellerspeichers, u.a.
dass nur an dem ...
Turing-Maschine
Abb.: Schöning, Uwe: Ideen der Informatik. München 2008, Oldenbourg Wissenschaftsverlag. S. 102.
/
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Nächste SlideShare
Wird geladen in …5
×

Bit sosem 2016-wieners-sitzung-04_theoretische-informatik

476 Aufrufe

Veröffentlicht am

Bit sosem 2016-wieners-sitzung-04_theoretische-informatik

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
476
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
239
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • Theorie der formalen Sprachen & Automatentheorie  Möglichkeiten zur formalen Beschreibung und automatischen Verarbeitung von gedanklichen Gebilden
    Wörter
    Sätze
    Verfahrensanweisungen

    Hauptziel: Kommunikation zw. Mensch und Computer
  • Compilerbau

    Formulierungs-aspekt:
    Gegenstand der Theorie der formalen Sprachen

    Erkennungsaspekt:
    Automatentheorie
    Grundfrage: Kann eine bestimmte Eingabe für eine Weiterverarbeitung akzeptiert werden, oder nicht?
  • Nominalsatz:
    ein Satz, dessen Prädikat aus dem Hilfsverb sein (Kopula) und einem Prädikatsnomen besteht (Kopulasatz).
    Ein deutsches Beispiel für diesen Satztyp ist: „Hans ist Arzt.“ – „Arzt“ ist in diesem Fall das Prädikatsnomen.
    ein Satz, der kein Verb als Prädikat enthält
  • Mit Hilfe dieser Regeln lassen sich grammatikalisch richtige und sinnvolle Sätze bilden, z.B. „die kleine Katze schläft“, aber auch grammatikalisch falsche, wie „das große Katze schläft“ oder grammatikalisch
  • Wort?
  • Sigma Asterisk
  • Formulierungsaspekt
  • Endliche Automaten
  • Determinismus: Die Eigenschaft deterministisch drückt aus, dass in jeder Situation die Arbeitsweise eindeutig definiert ist, d.h., entweder gibt es genau einen Folgezustand, oder der Automat stoppt vorzeitig.

    Determinismus: Die Eigenschaft deterministisch drückt aus, dass in jeder Situation die Arbeitsweise eindeutig definiert ist, d.h., entweder gibt es genau einen Folgezustand, oder der Automat stoppt vorzeitig.

    Ein nichtdeterministischer endlicher Automat (NEA; englisch nondeterministic finite automaton, NFA) ist ein endlicher Automat, bei dem es für den Zustandsübergang mehrere gleichwertige Möglichkeiten gibt. Im Unterschied zum deterministischen endlichen Automaten sind die Möglichkeiten nicht eindeutig, dem Automaten ist also nicht vorgegeben, welchen Übergang er zu wählen hat.
  • Eine Grammatik der Form G = {V, Σ, P, S} mit einer endlichen Menge von Produktionen wird als Chomsky-Grammatik bezeichnet

    Chomsky-Grammatiken lassen sich nach der Form ihrer Produktionsregeln klassifizieren und bilden die Chomsky-Hierarchie


    Eine Grammatik ist ein endliches Objekt, kann jedoch in der Lage sein, eine unendlich große Sprache zu definieren.
    Beispiel: <Nominalphrase>  <Nominalphrase><Präpositionalphrase> „Die Frau sah Hans mit einem Fernglas in dem Park in dem Park mit einem Fernglas“
  • Zugriffsart auf Daten nach dem Keller-, Stapel- oder Stack-Prinzip (LIFO, last in first out): Information, die zuletzt in den Kellerspeicher gelegt wurde, wird beim nächsten Speicher-Lese und Speicher-Entnahmevorgang als erstes wieder ausgelesen.

    Informationen, die in dem Kellerspeicher eingespeichert und ausgelesen werden, sind Elemente des Kelleralphabets (muss nicht identisch mit dem Eingabealphabet sein).

    Abhängig vom aktuellen Zustand des Automaten und abhängig vom gelesenen Eingabezeichen und abhängig vom zuoberst im Keller liegenden Symbol, geht der Kellerautomat in einen neuen Zustand über, ersetzt zugleich das oberste Kellerzeichen durch eine Folge von Kellersymbolen.
  • Turing-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.
  • Bit sosem 2016-wieners-sitzung-04_theoretische-informatik

    1. 1. Basisinformationstechnologie II – Sommersemester 2016 – 25. April 2016 Dr. Jan G. Wieners Theoretische Informatik Formale Sprachen und Automaten
    2. 2.  Formale Sprachen  Alphabet  Buchstabe  Wort  Automaten  Deterministische endliche Automaten  (Nichtdeterministische endliche Automaten)  Anwendung endlicher Automaten  Grammatiken  Kellerautomat  Turingmaschine  & Co. Themenüberblick „Theoretische Informatik“
    3. 3. Formale Sprachen (& Co.)
    4. 4. mov al, 61h vs. SELECT uid, name, pass, mail FROM users WHERE uid < 2
    5. 5. Grammatikbeispiel natürliche Sprache: deutsche Sprache <Satz>  <Nominalsatz> <Verb> <Nominalsatz>  <Artikel><Substantiv> ODER <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 Grammatiken Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 65 f.
    6. 6. Grammatikalisch 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.“ Grammatiken
    7. 7. Formale Sprache  z.B. Programmiersprache  auf Basis einer verhältnismäßig kleinen Menge von Regeln werden Programme formuliert, die der Rechner verstehen kann Zu klären (natürliche und formale Sprache):  Alphabet  Buchstabe  Wort  ... Formale Sprachen
    8. 8. Definitorisches: Alphabet, Wort, Sprache
    9. 9. Alphabet?
    10. 10. 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
    11. 11. Σ Binärcode = {???}
    12. 12. Σ Binärcode = {0,1} Σ Hexadezimalcode = {???}
    13. 13. Σ Binärcode = { 0,1 } Σ Hexadezimalcode = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
    14. 14. Wort. - Ein Wort über einem Alphabet Σ ist eine endliche Folge von Zeichen aus Σ. - Es existiert genau ein Wort über Σ der Länge 0, das Leerwort, das wir mit ε (Epsilon) bezeichnen -Beispiel: Aus den Zeichen „a“, „b“, „c“ lassen sich Wörter wie „cba“ oder „aab“ bilden. w = Haus |w| = 4
    15. 15. Σ = { Anweisung, Bedingung, if, then, else, begin, end, while } w = if Bedingung then Anweisung end |w| = 5 Die Menge aller Wörter, die mit Zeichen aus Σ gebildet werden können, wird mit Σ* bezeichnet  Jede beliebige Teilmenge von Σ* wird als formale Sprache bezeichnet. Alphabet? Wort?
    16. 16. Die wichtigste Operation für Wörter besteht aus dem Verketten einzelner Wörter  Komposita (z.B. Dampfschiffahrt). Beispiel: Σ = {0, 1} Die Wörter über Σ (Sigma) sind alle endlichen 0-1-Folgen inklusive des Leerwortes ε (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 vorzeichenlosen Binärzahlen ohne führende Nullen: L = {0, 1, 10, 11} Sprache
    17. 17. Zwischenstand
    18. 18.  Formale- vs. natürliche Sprachen  Grammatik  Alphabet  Buchstabe  Wort  ToDo  Konzepte: Automaten & Co. Zwischenstand
    19. 19. Automaten
    20. 20. Gemeinsamkeiten? Automatencharakteristika?  Zustände, Aktionen, Zustandsübergänge / Transitionen
    21. 21. Beispiel Drehkreuzautomat:  Verwendet wird das Alphabet Σ = { „Chip“, „drehen“} Endliche Automaten
    22. 22. 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ück Endliche Automaten Abb.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 15.
    23. 23. Verwendung in der Informatik: u.a. Prüfung von Zeichenketten, d.h. Prüfung, ob die Eingabe definierten Kriterien genügt Beispiel: <html> <head> <title>Ein HTML-Dokument</title> </head> <body>Inhalt des HTML-Dokumentes</boby> </html> Endliche Automaten
    24. 24. Formale 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 speziellen Startzustand sowie einen oder mehrere akzeptierende Zustände (auch Endezustände genannt). Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 18.
    25. 25. Formale 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)
    26. 26. Der Automat ALA=(Z, Σ, δ, z0, E) prüft, ob die Eingabe eine korrekt geschriebene ganze Zahl ohne führende Nullen darstellt. Gültige Eingabezeichen: Σ = {-, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Beispiel: Automat zur lexikalischen Analyse Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
    27. 27. Ü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. Deterministischer endlicher Automat Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
    28. 28. Zustands-/Übergangsdiagramm: Deterministischer endlicher Automat Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
    29. 29. 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.
    30. 30. 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.
    31. 31. Fall III:  ??? Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
    32. 32. 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.
    33. 33. Beispiel: Eingabe „-153“ Ist das Eingabewort „-153“ eine korrekt geschriebene ganze Zahl? Übung
    34. 34. Beispiel: 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 Übung
    35. 35. Wie reagiert der folgende DEA auf die Eingabe „111001“? Verarbeitet der Automat die Eingabe? Übung
    36. 36. Automaten  Deterministische endliche A.  [Nichtdeterministische A.] ToDo:  Grammatiken  Kellerautomat  Turingmaschine Zwischenstand II
    37. 37. Grammatiken
    38. 38. Grundfrage: Wie erkennen wir, ob ein „Satz“ einer Programmiersprache wohlgeformt, d.h. korrekt ist? Lösung: Grammatik  Regelwerk, das beschreibt, wie syntaktisch korrekte Wörter und Sätze einer Sprache, z.B. einer Programmiersprache gebildet werden Grammatiken
    39. 39. Grammatikbeispiel natürliche Sprache: deutsche Sprache <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 Grammatiken Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 65 f.
    40. 40. Definition: 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 Grammatiken
    41. 41. Chomsky-Hierarchie (sowohl für natürliche, als auch für formale Sprachen):  Chomsky-Typ 0, auch: allgemeine Grammatik. Chomsky-Typ 1, auch: kontextsensitive Grammatik. Chomsky-Typ 2, auch: kontextfreie Grammatik. Chomsky-Typ 3, auch: reguläre Grammatik. Grammatiken
    42. 42. Für jeden Grammatik-Typ der Chomsky-Hierarchie existiert ein Typ von Automat, der die aus den Grammatiken resultierenden Sprachen verarbeiten kann:  Typ 0 (allgemein)  Turing-Maschine  Typ 1 (kontextsensitiv)  linear beschränkter Automat  Typ 2 (kontextfrei)  Kellerautomat  Typ 3 (regulär)  endlicher Automat Grammatiken und die Praxis
    43. 43. Wofür der Aufwand?  Compilierung: Stellt die Eingabe ein zu akzeptierendes Programm dar? Grammatiken und die Praxis
    44. 44. Kellerautomat
    45. 45. Intention: Endlichen Automaten fehlt ein Speicher, der beliebig viele Informationen speichern kann und nicht – wie DEA – von vornherein, d.h. durch die Anzahl ihrer Zustände, beschränkt ist. Lösung: Kellerautomat Kellerautomat
    46. 46. Formale Definition: Ein nichtdeterministischer Kellerautomat (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. Kellerautomat
    47. 47. Turing-Maschine
    48. 48. Anforderung: Entwurf eines allgemeineren Automaten Auflösung der Beschränkungen des Kellerspeichers, u.a. dass nur an dem einen Ende des Speichers ein- und ausgelesen werden kann  Automat, der wahlfreien Zugang (random access) auf alle Speicherplätze erlaubt Formuliert von Alan M. Turing in „On computable numbers, with an application to the Entscheidungsproblem“ (1937) Turing-Maschine
    49. 49. Turing-Maschine Abb.: Schöning, Uwe: Ideen der Informatik. München 2008, Oldenbourg Wissenschaftsverlag. S. 102.
    50. 50. /

    ×