Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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...
Nächste SlideShare
Wird geladen in …5
×

Theoretische Informatik

1.958 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

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 />

×