Theoretische Informatik<br />Ein roter Faden Automaten, Sprachen, Grammatiken und alles, was dazugehört<br />
Automaten<br />Sprachen<br />Grammatiken<br />Zusammenhänge<br />Anwendung<br />Inhalt<br />Roter Faden durch die Theoreti...
Automaten…<br />… in diesem Fall deterministische, endliche Automaten (DEA)<br />…bestehen aus<br />Übergängen<br />Zustän...
So „funktioniert“ ein Automat<br />Es soll überprüft werden, ob ein Wort zu einer Sprache/Grammatik passt. Falls ja, wird ...
… der Automat als letztes an einem Endzustand ankommt
Das Wort passt nicht zur Sprache, wenn …
… der Automat nicht in einem Endzustand ankommt
… es zu einem Buchstaben des Wortes keinen passenden Übergang gibt</li></li></ul><li>Beispiel<br />Roter Faden durch die T...
Deterministisch/Nichtdeterministisch<br />Roter Faden durch die Theoretische Informatik von Julian Schuh<br />i<br />Deter...
Sprachen …<br />… in der Informatik: formale Sprache<br />… bestehen aus einer Menge an Wörtern<br />Menge kann unendlich ...
Grammatiken …<br />Definieren, welche Wörter zu einer Sprache gehören<br /> beschreiben eine Sprache<br />Bestehen aus me...
Bestandteile einer Grammatik im Detail<br />Terminalsymbole (vgl. Übergänge von Automaten)<br />Symbole (Buchstaben), die ...
Beispiel-Grammatik<br />Terminalsymbole: h, a, l, o<br />Nichtterminalsymbole: A, B, C<br />Startsymbol: A<br />Regeln:<br...
Zusammenhang von Automat, Sprache und Grammatik<br />Zu jedem Automat gibt es eine reguläre Grammatik, die die gleiche Spr...
Grammatik-Typen (Überblick)<br />Die „Chomsky-Hierarchie“ beschreibt vier Typen von Grammatiken:<br />Roter Faden durch di...
Upcoming SlideShare
Loading in …5
×

Theoretische Informatik

1,614 views
1,529 views

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,614
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Theoretische Informatik

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

×