Your SlideShare is downloading. ×
Theoretische Informatik
Theoretische Informatik
Theoretische Informatik
Theoretische Informatik
Theoretische Informatik
Theoretische Informatik
Theoretische Informatik
Theoretische Informatik
Theoretische Informatik
Theoretische Informatik
Theoretische Informatik
Theoretische Informatik
Theoretische Informatik
Theoretische Informatik
Theoretische Informatik
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Theoretische Informatik

1,295

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,295
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Theoretische Informatik
    Ein roter Faden Automaten, Sprachen, Grammatiken und alles, was dazugehört
  • 2. Automaten
    Sprachen
    Grammatiken
    Zusammenhänge
    Anwendung
    Inhalt
    Roter Faden durch die Theoretische Informatik von Julian Schuh
  • 3. Automaten…
    … in diesem Fall deterministische, endliche Automaten (DEA)
    …bestehen aus
    Übergängen
    Zustände
    Start/End-Zuständen
    …überprüfen, ob ein Wort zu einer Sprache/Grammatik gehört (akzeptieren ein Wort)
    …sind in zwei Typen aufzuteilen
    Deterministische
    Nicht-Deterministische
    Roter Faden durch die Theoretische Informatik von Julian Schuh
  • 4. So „funktioniert“ ein Automat
    Es soll überprüft werden, ob ein Wort zu einer Sprache/Grammatik passt. Falls ja, wird es akzeptiert.
    Die Buchstaben repräsentieren die zu nutzenden Übergänge
    Roter Faden durch die Theoretische Informatik von Julian Schuh
    • Das Wort passt zur Sprache, wenn …
    • 5. … der Automat als letztes an einem Endzustand ankommt
    • 6. Das Wort passt nicht zur Sprache, wenn …
    • 7. … der Automat nicht in einem Endzustand ankommt
    • 8. … es zu einem Buchstaben des Wortes keinen passenden Übergang gibt
  • Beispiel
    Roter Faden durch die Theoretische Informatik von Julian Schuh
    Zu überprüfendes Wort: TEESTT
    q0
    q2
    E
    T
    E
    T
    S
    T
    q1
    q3
    T
    Das Wort passt zur Sprache, die durch den Automat repräsentiert wird!
  • 9. Deterministisch/Nichtdeterministisch
    Roter Faden durch die Theoretische Informatik von Julian Schuh
    i
    Deterministische Automaten
    Übergänge eindeutig
    Nichtdeterministische Automaten
    Übergänge nicht eindeutig
    Nichtdeterministische Automaten können in deterministische umgewandelt werden
    Potenzmengenkonstruktion
    i
    H
    !
    i
    i
    H
    !
  • 10. Sprachen …
    … in der Informatik: formale Sprache
    … bestehen aus einer Menge an Wörtern
    Menge kann unendlich groß sein
    … werden aus einem Alphabet gebildet
    … werden durch Grammatiken beschrieben
    … können durch Automat akzeptiert werden
    … werden auch als reguläre Ausdrücke bezeichnet
    Eine Sprache ist die Menge aller Worte, für die gilt ….
    Roter Faden durch die Theoretische Informatik von Julian Schuh
  • 11. Grammatiken …
    Definieren, welche Wörter zu einer Sprache gehören
     beschreiben eine Sprache
    Bestehen aus mehreren Bestandteilen
    Terminalsymbole
    Nichtterminalsymbole
    Produktionsregeln
    Startsymbol
    Roter Faden durch die Theoretische Informatik von Julian Schuh
  • 12. Bestandteile einer Grammatik im Detail
    Terminalsymbole (vgl. Übergänge von Automaten)
    Symbole (Buchstaben), die in den Wörtern der beschriebenen formalen Sprache vorkommen
    Nichtterminalsymbole (vgl. Zustände von Automaten)
    Symbole, die nur „innerhalb“ der Grammatik verwendet werden, jedoch nicht in den Wörtern der Sprache vorkommen
    Produktionsregeln (vgl. Übergangsfunktion von Automaten)
    Regeln, die beschreiben, von welchem Nichtterminalsymbol man über welches Terminalsymbol zu welchem Nichtterminalsymbol kommt
    Startsymbol (vgl. Startzustand von Automaten)
    Nichtterminalsymbol, von dem aus gehend Wörter erzeugt werden können
    Roter Faden durch die Theoretische Informatik von Julian Schuh
  • 13. Beispiel-Grammatik
    Terminalsymbole: h, a, l, o
    Nichtterminalsymbole: A, B, C
    Startsymbol: A
    Regeln:
    A hB
    B  aC
    C  lC
    C  o
    Roter Faden durch die Theoretische Informatik von Julian Schuh
    l
    C
    D
    A
    B
    D
    a
    h
    o
  • 14. Zusammenhang von Automat, Sprache und Grammatik
    Zu jedem Automat gibt es eine reguläre Grammatik, die die gleiche Sprache wie der Automat beschreibt
    Zu jeder formalen Grammatik gibt es einen Automat, der diese akzeptiert
    Jede formale Sprache kann durch eine reguläre Grammatik und einen Automat beschrieben werden
    Roter Faden durch die Theoretische Informatik von Julian Schuh
    Reguläre Sprache
    Automat (DEA)
    Reguläre Grammatik
  • 15. Grammatik-Typen (Überblick)
    Die „Chomsky-Hierarchie“ beschreibt vier Typen von Grammatiken:
    Roter Faden durch die Theoretische Informatik von Julian Schuh
  • 16. Grammatik-Typen (im Detail)
    Typ 3:
    Linke Seite: Genau ein Nichtterminalsymbol
    Rechte Seite: höchstens ein Terminalsymbol und ein Nichtterminalsymbol (letzteres nur, wenn Terminalsymbol vorhanden ist)
    Nichtterminalsymbol muss in allen Regeln einheitlich rechts oder link vom Terminalsymbol (auf der Rechten Seite) stehen
    Typ 2:
    Linke Seite: Genau ein Nichtterminalsymbol
    Rechte Seite: Beliebige Folge von Terminal und Nichtterminalsymbolen
    Roter Faden durch die Theoretische Informatik von Julian Schuh
  • 17. Grammatik-Typen (im Detail)
    Typ 1:
    Linke Seite: beliebig viele Terminalsymbole und ein Nichtterminalsymbol
    Beliebige Kombination aus Terminal und Nichtterminalsymbolen
    Typ 0:
    „Keine Regeln“
    Linke und Rechte Seite beliebige Kombination aus Terminal und Nichtterminalsymbolen
    Roter Faden durch die Theoretische Informatik von Julian Schuh
  • 18. Anwendung
    Compiler
    Kompiliert Quellcode  besteht aus einer Sprache
    Sprache kann durch Grammatik beschrieben und Automat akzeptiert werden
    Scanner
    Zerlegt den Quellcode in Bestandteile wie z.B. Keywords, Beschreibungen, etc.
    Parser
    Überprüft mit Hilfe einer Grammatik bzw. eines Automaten, ob die vom Scanner zerlegten Teile zusammenpassen.
    Falls nicht, entspricht der Quelltext nicht der Sprache und kann nicht kompiliert werden.
    Roter Faden durch die Theoretische Informatik von Julian Schuh

×