1 / 32

Basisinformationstechnologie HK-Medien

Basisinformationstechnologie HK-Medien. Teil 1, 14. Sitzung WS 02/03. Wie hängen die Grammatiken zusammen?. Für i ∈ { 0,...,3 } setze L i ( Σ , N ) = { L , L ( G ) ist Typ-i-Sprache (über Σ , N ) } L ⊂ V *) i < j ⇒ L j ( Σ , N ) ⊂ L i ( Σ , N ) für i,j ∈ { 0,...,3 }

eden
Download Presentation

Basisinformationstechnologie HK-Medien

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BasisinformationstechnologieHK-Medien Teil 1, 14. Sitzung WS 02/03 BIT – Schaßan – WS 02/03

  2. Wie hängen die Grammatiken zusammen? • Für i∈ { 0,...,3 } setzeLi(Σ, N) = { L, L(G ) ist Typ-i-Sprache (über Σ, N) }L ⊂ V *) • i < j ⇒ Lj(Σ, N ) ⊂ Li(Σ, N ) für i,j ∈ { 0,...,3 } • L3 ⊂ L2 ⊂ L1 ⊂ L0 BIT – Schaßan – WS 02/03

  3. Backus-Naur-Form • ursprünglich zur Beschreibung der Syntax von ALGOL 60 • Die BNF ist ein Formalismus zum kompakten Niederschreiben von kontextfreien, also CH-2-Grammatiken • Haben mehrere Regeln dieselbe linke SeiteA → β1, A → β2, ..., A → βnschreibt man kürzer nur eine "Metaregel"A → β1 | β2 | ... | βn • Backus und Naur verwenden statt → allerdings ::= BIT – Schaßan – WS 02/03

  4. Erweiterte BNF • Bei Kann-Regel, ein Wort kann, muss aber nicht eingefügt werden, ersetzt manA → αγA → αβγ durch A → α[β]γ • A → α{β}γ steht für die beliebige Anzahl von Wiederholungen (auch null-mal) von β zwischen α und γ. BIT – Schaßan – WS 02/03

  5. Beschreibung von PSS (4) • weitere mögliche Fragen sind: • welche Fragen sind mit Hilfe eines Rechner lösbar? Entscheidbarkeit • welche Fragen sind mit Hilfe des Rechners effizient lösbar? Handhabbarkeit • Für das Studium der Grenzen der Berechenbar-keit sind sog. Automaten von zentraler Bedeu-tung. BIT – Schaßan – WS 02/03

  6. Automaten • Automat: idealisierte, abstrakte Rechen-maschine (insbesondere "Entscheidungs-Automat"), die zu einem gegebenen Wort x entscheidet, ob x ∈ L.(L ist die vom Automaten akzeptierte Sprache.) BIT – Schaßan – WS 02/03

  7. Automaten (2) • Ein Automat hat einen Anfangszustand. (initial state ) • Ein Automat erhält eine Eingabe, die er, vorgegeben durch eine interne Struktur, beschrieben durch einen Zustand zu einem gegebenen Zeitpunkt und einer Art und Weise, daraus einen neuen Zustand zu berechnen, verarbeitet und evtl. ein Ergebnis ausgibt. • Ein Automat hat einen oder mehrere mögliche Endzustände. (final / accepting state ) BIT – Schaßan – WS 02/03

  8. Eine Testsprache • Beispiel: eine Grammatik für algebraische Ausdrücke • Σ = { +, *, (, ), a } • N = { E, T, F } (mit E = Expression, T = Term, F = Factor) • P: E E + T, E  T, T  F,F  ( E ), F  a • Z = E • Ist x = ( a * a ) + amit dieser Sprache darstellbar? BIT – Schaßan – WS 02/03

  9. Eine Testsprache (2) • E⇒ E + T ⇒ T + T ⇒ F + T ⇒ ( E ) + T ⇒ ( T ) + T ⇒ ( T * F ) + T ⇒ ( F * F ) + T ⇒ ( a * F ) + T ⇒ ( a * a ) + T ⇒ ( a * a ) + F ⇒ ( a * a ) + a • Ergebnis: x kann von dieser Sprache dargestellt werdenaber: die Regeln können nicht "beliebig" angewendet werden, sonst bleibt man stecken ( Parsing) BIT – Schaßan – WS 02/03

  10. Automaten und Grammatiken • Für jeden Grammatik-Typ der Chomsky-Hierarchie gibt es einen Typ von Automat, der die aus den Grammatiken resultieren-den Sprachen verarbeiten kann. • CH-0  Turing-Maschine • CH-1  linear beschränkter Automat • CH-2  Keller-Automat (pushdown automaton, PDA) • CH-3  endlicher Automat BIT – Schaßan – WS 02/03

  11. Beispiel: Kippschalter • Ein Kippschalter als endlicher Automat • er weiß, in welchem Zustand er sich befindet • abhängig vom Zustand des Schalters hat das Drücken (die Eingabe) unterschiedliche Wirkung BIT – Schaßan – WS 02/03

  12. Beispiel: endlicher Automat BIT – Schaßan – WS 02/03

  13. Endlicher Automat • Eigenschaften eines endlichen Automaten: • Das Eingabeband kann sich nur in eine Richtung bewegen. • Die Reaktion des Automaten besteht aus dem Weiterbewegen des Bandes und dem Über-gang in einen anderen Zustand. • Eine "Mealy-Maschine" kann außerdem ein Ergebnis auf das Band schreiben. BIT – Schaßan – WS 02/03

  14. Endlicher Automat (2) • Ein (deterministischer) endlicher Automat (DEA) ist ein Quintupel A = {Q, Σ, δ, q0, F } mit: • Q Zustandsmenge, |Q | < ∞ • Σ Eingabealphabet, |Σ| < ∞ • δ Übergangsfunktion (Zustandsüberführungsfunktion)δ : Q x Σ Q • q0 Anfangszustand • F Endzustand, F ⊆ Q BIT – Schaßan – WS 02/03

  15. Beispiel 2: Elektronisches Geld • Mit elektronischem Geld sind Dateien gemeint, mit denen Kunden Waren im Internet bezahlen können. Die Verkäufer haben die Gewissheit, dass das Geld "echt" ist, er muss aber auch sichergehen, dass der Käufer nicht eine Kopie der Datei zurückbehält und damit erneut einkauft. BIT – Schaßan – WS 02/03

  16. Beispiel 2: Elektronisches Geld (2) • Folgende Ereignisse sind möglich: • Der Kunde kann zahlen. Er sendet Geld an das Geschäft. • Der Kunde kann Geld löschen, es wird seinem Konto gutgeschrieben. BIT – Schaßan – WS 02/03

  17. Beispiel 2: Elektronisches Geld (3) • Das Geschäft kann dem Kunden die Ware zuschicken. • Das Geschäft kann Geld einlösen, d.h. es wird der Bank geschickt, mit der Aufforderung, den Gegenwert dem Geschäft auszuhändigen. BIT – Schaßan – WS 02/03

  18. Beispiel 2: Elektronisches Geld (4) • Die Bank kann Geld überweisen. BIT – Schaßan – WS 02/03

  19. Beispiel 2: Elektronisches Geld (5) • bestimmte Eingaben werden ignoriert, d.h. die Maschine sollte ihren Zustand nicht ändern, wenn die Eingabe gemacht worden ist. BIT – Schaßan – WS 02/03

  20. Beispiel 2: Elektronisches Geld (6) • Das Geschäft sollte seinen Zustand nicht ändern, wenn z.B. der Kunde mehrfach zahlt BIT – Schaßan – WS 02/03

  21. Beispiel 2: Elektronisches Geld (7) • Die Bank sollte nur beim Löschen, Einlösen oder Überweisen ihren Zustand ändern. BIT – Schaßan – WS 02/03

  22. Beispiel 2: Elektronisches Geld (8) • Alle einzelnen endlichen Automaten sind zusammen in einem Schema darstellbar. • Die möglichen Zustände der Bank bilden die Reihen, die Zustände des Geschäfts die Spalten. BIT – Schaßan – WS 02/03

  23. Beispiel 2: Elektronisches Geld (9) • Vereinfacht dargestellt, sind die Eingaben, die jeweils nicht berücksichtigt werden, hier weggelassen. BIT – Schaßan – WS 02/03

  24. Beispiel 2: Elektronisches Geld (10) • Nicht jeder Zu-stand kann vom Start aus er-reicht werden. Der Graph kann also im Endef-fekt wesentlich vereinfacht dar-gestellt werden. BIT – Schaßan – WS 02/03

  25. Wie ein DEA Zeichenreihen verarbeitet • A = ({ q0, q1, q2 }, {0,1}, δ, q0, q1) • Der Automat A kennt die Zustände (q0,...,q2), erlaubt die Zeichen (0,1) und erwartet als Endzustand q1. • Mit diesem Automaten können wir einen DEA "bauen", der alle aus Nullen und Einsen bestehenden Zeichenreihen akzeptiert, wenn sie die Folge 01 enthalten. BIT – Schaßan – WS 02/03

  26. DEA 1: Q • L = {w | w hat die Gestalt x 01y und x und y bestehen ausschließlich aus Nullen und Einsen} • Die Zustände q0-q2 sind: • q0: Der Automat hat die Folge 01 noch nicht, als letzte Eingabe aber nichts oder eine Eins gelesen • q1: Er hat die Folge 01 bereits gelesen und akzeptiert alle weiteren Eingaben, d.h. er befindet sich im akzeptierten Zustand. • q2:Er hat die Folge 01 noch nicht gelesen, aber als letzte Eingabe eine 0 erhalten, so dass er ab dem jetzigen Zeitpunkt alle Eingaben akzeptieren muss, falls er als nächste Eingabe eine Eins liest. BIT – Schaßan – WS 02/03

  27. DEA 1: δ • Die möglichen Übergangsfunktionen sind: • δ(q0,1) = q0 • δ(q0,0) = q2 • δ(q2,0) = q2 • δ(q2,1) = q1 • δ(q1,0) = δ(q1,1) = q1 BIT – Schaßan – WS 02/03

  28. DEA 1: Übergangstabelle • Der Startzustand wird durch einen Pfeil, der akzeptierende Zustand durch einen Stern markiert BIT – Schaßan – WS 02/03

  29. DEA 2 BIT – Schaßan – WS 02/03

  30. NEA • Ein "nichtdeterministischer" endlicher Automat ist in der Lage, gleichzeitig über mehrere Zustände zu verfügen. • Ein NEA verfügt wie ein DEA über eine endliche Menge zu Zuständen, eine endliche Menge an Eingabesymbolen, einen Startzustand, eine Menge von akzeptierenden Zuständen. • Beim NEA ist δ eine Funktion, der ein Zustand und ein Eingabesymbol als Argumente übergeben werden, die jedoch eine Menge von null, einem oder mehreren Zuständen zurück gibt. BIT – Schaßan – WS 02/03

  31. Beispiel 1: NEA • Ein NEA soll Zeichenreihen akzeptieren, die ausschließlich aus Einsen und Nullen bestehen und mit 01 enden. • A = ({ q0, q1, q2 }, {0,1}, δ, q0, q2) BIT – Schaßan – WS 02/03

  32. Beispiel 2: NEA • Welches sind die akzeptierenden Zustände dieses NEA's? BIT – Schaßan – WS 02/03

More Related