theorie der informatik
play

Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte - PowerPoint PPT Presentation

Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele R oger Universit at Basel 17. M arz 2014 Einf uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Einf


  1. Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele R¨ oger Universit¨ at Basel 17. M¨ arz 2014

  2. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Einf¨ uhrung

  3. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax der Aussagenlogik) Sei A eine Menge von atomaren Aussagen. Die Menge der aussagenlogischen Formeln (¨ uber A ) ist induktiv wie folgt definiert: Jedes Atom a ∈ A ist eine aussagenlogische Formel ¨ uber A . Ist φ eine aussagenlogische Formel ¨ uber A , dann auch die Negation ¬ φ . Sind φ und ψ aussagenlogische Formeln ¨ uber A , dann ist es auch die Konjunktion ( φ ∧ ψ ). Sind φ und ψ aussagenlogische Formeln ¨ uber A , dann ist es auch die Disjunktion ( φ ∨ ψ ).

  4. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Beispiel: Aussagenlogische Formeln Sei S A die Menge aller aussagenlogischen Formeln ¨ uber A . Solche Mengen von Zeichenketten (oder W¨ ortern) nennt man Sprachen. Gesucht: Allgemeine Konzepte, um solche (oftmals unendliche) Sprachen mit endlichen Beschreibungen zu definieren heute: Grammatiken n¨ achste Kapitel zus¨ atzlich: Automaten

  5. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Beispiel: Aussagenlogische Formeln Beispiel (Grammatik f¨ ur S { a , b , c } ) Grammatikvariablen { F , A , N , K , D } mit Startvariable F , Terminalsymbole { a , b , c , ¬ , ∧ , ∨ , ( , ) } und Regeln F → A A → a N → ¬ F F → N A → b K → ( F ∧ F ) F → K A → c D → ( F ∨ F ) F → D Beginne mit F und ersetze schrittweise eine linke Regelseite durch eine rechte Regelseite bis keine Variablen mehr enthalten sind: F ⇒ N ⇒ ¬ F ⇒ ¬ D ⇒ ¬ ( F ∨ F ) ⇒ ¬ ( A ∨ F ) ⇒ ¬ ( b ∨ F ) F ⇒ ¬ ( b ∨ A ) ⇒ ¬ ( b ∨ c )

  6. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Alphabete und formale Sprachen

  7. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Alphabete und formale Sprachen Definition (Alphabete, W¨ orter und formale Sprache) Ein Alphabet Σ ist eine endliche, nicht-leere Menge von Zeichen (oder Symbolen). Beispiel Σ = { a , b }

  8. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Alphabete und formale Sprachen Definition (Alphabete, W¨ orter und formale Sprache) Ein Alphabet Σ ist eine endliche, nicht-leere Menge von Zeichen (oder Symbolen). Die Menge Σ ∗ aller W¨ orter ¨ uber Σ enth¨ alt alle endlichen Folgen von Elementen aus Σ. Das leere Wort (die leere Elementfolge) wird dabei mit ε bezeichnet. Beispiel Σ = { a , b } Σ ∗ = { ε, a , b , aa , ab , ba , bb , . . . }

  9. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Alphabete und formale Sprachen Definition (Alphabete, W¨ orter und formale Sprache) Ein Alphabet Σ ist eine endliche, nicht-leere Menge von Zeichen (oder Symbolen). Die Menge Σ ∗ aller W¨ orter ¨ uber Σ enth¨ alt alle endlichen Folgen von Elementen aus Σ. Das leere Wort (die leere Elementfolge) wird dabei mit ε bezeichnet. F¨ ur ein Wort w bezeichnet | w | seine L¨ ange. Beispiel Σ = { a , b } Σ ∗ = { ε, a , b , aa , ab , ba , bb , . . . } | aba | = 3 , | b | = 1 , | ε | = 0

  10. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Alphabete und formale Sprachen Definition (Alphabete, W¨ orter und formale Sprache) Ein Alphabet Σ ist eine endliche, nicht-leere Menge von Zeichen (oder Symbolen). Die Menge Σ ∗ aller W¨ orter ¨ uber Σ enth¨ alt alle endlichen Folgen von Elementen aus Σ. Das leere Wort (die leere Elementfolge) wird dabei mit ε bezeichnet. F¨ ur ein Wort w bezeichnet | w | seine L¨ ange. Eine formale Sprache ist eine Teilmenge von Σ ∗ . Beispiel Σ = { a , b } Σ ∗ = { ε, a , b , aa , ab , ba , bb , . . . } | aba | = 3 , | b | = 1 , | ε | = 0

  11. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Sprachen: Beispiele Beispiel (Sprachen ¨ uber Σ = { a , b } ) S 1 = { a , aa , aaa , aaaa , . . . } S 2 = Σ ∗ S 3 = { a n b n | n ≥ 0 } = { ε, ab , aabb , aaabbb , . . . } S 4 = { ε } S 5 = ∅ S 6 = { w ∈ Σ ∗ | w enh¨ alt doppelt soviele a wie b } S 6 = { ε, aab , aba , baa , . . . } S 7 = { w ∈ Σ ∗ | | w | = 3 } S 6 = { aaa , aab , aba , baa , bba , bab , abb , bbb }

  12. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Sprachen: Beispiele Beispiel (Sprachen ¨ uber Σ = { a , b } ) S 1 = { a , aa , aaa , aaaa , . . . } S 2 = Σ ∗ S 3 = { a n b n | n ≥ 0 } = { ε, ab , aabb , aaabbb , . . . } S 4 = { ε } S 5 = ∅ S 6 = { w ∈ Σ ∗ | w enh¨ alt doppelt soviele a wie b } S 6 = { ε, aab , aba , baa , . . . } S 7 = { w ∈ Σ ∗ | | w | = 3 } S 6 = { aaa , aab , aba , baa , bba , bab , abb , bbb }

  13. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Sprachen: Beispiele Beispiel (Sprachen ¨ uber Σ = { a , b } ) S 1 = { a , aa , aaa , aaaa , . . . } S 2 = Σ ∗ S 3 = { a n b n | n ≥ 0 } = { ε, ab , aabb , aaabbb , . . . } S 4 = { ε } S 5 = ∅ S 6 = { w ∈ Σ ∗ | w enh¨ alt doppelt soviele a wie b } S 6 = { ε, aab , aba , baa , . . . } S 7 = { w ∈ Σ ∗ | | w | = 3 } S 6 = { aaa , aab , aba , baa , bba , bab , abb , bbb }

  14. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Sprachen: Beispiele Beispiel (Sprachen ¨ uber Σ = { a , b } ) S 1 = { a , aa , aaa , aaaa , . . . } S 2 = Σ ∗ S 3 = { a n b n | n ≥ 0 } = { ε, ab , aabb , aaabbb , . . . } S 4 = { ε } S 5 = ∅ S 6 = { w ∈ Σ ∗ | w enh¨ alt doppelt soviele a wie b } S 6 = { ε, aab , aba , baa , . . . } S 7 = { w ∈ Σ ∗ | | w | = 3 } S 6 = { aaa , aab , aba , baa , bba , bab , abb , bbb }

  15. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Sprachen: Beispiele Beispiel (Sprachen ¨ uber Σ = { a , b } ) S 1 = { a , aa , aaa , aaaa , . . . } S 2 = Σ ∗ S 3 = { a n b n | n ≥ 0 } = { ε, ab , aabb , aaabbb , . . . } S 4 = { ε } S 5 = ∅ S 6 = { w ∈ Σ ∗ | w enh¨ alt doppelt soviele a wie b } S 6 = { ε, aab , aba , baa , . . . } S 7 = { w ∈ Σ ∗ | | w | = 3 } S 6 = { aaa , aab , aba , baa , bba , bab , abb , bbb }

  16. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Sprachen: Beispiele Beispiel (Sprachen ¨ uber Σ = { a , b } ) S 1 = { a , aa , aaa , aaaa , . . . } S 2 = Σ ∗ S 3 = { a n b n | n ≥ 0 } = { ε, ab , aabb , aaabbb , . . . } S 4 = { ε } S 5 = ∅ S 6 = { w ∈ Σ ∗ | w enh¨ alt doppelt soviele a wie b } S 6 = { ε, aab , aba , baa , . . . } S 7 = { w ∈ Σ ∗ | | w | = 3 } S 6 = { aaa , aab , aba , baa , bba , bab , abb , bbb }

  17. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Sprachen: Beispiele Beispiel (Sprachen ¨ uber Σ = { a , b } ) S 1 = { a , aa , aaa , aaaa , . . . } S 2 = Σ ∗ S 3 = { a n b n | n ≥ 0 } = { ε, ab , aabb , aaabbb , . . . } S 4 = { ε } S 5 = ∅ S 6 = { w ∈ Σ ∗ | w enh¨ alt doppelt soviele a wie b } S 6 = { ε, aab , aba , baa , . . . } S 7 = { w ∈ Σ ∗ | | w | = 3 } S 6 = { aaa , aab , aba , baa , bba , bab , abb , bbb }

  18. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Fragen Fragen?

  19. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Grammatiken

  20. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Grammatiken Definition (Grammatik) Eine Grammatik ist ein 4-Tupel (Σ , V , P , S ) mit 1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V ∩ Σ = ∅ ), 3 P ⊆ ( V ∪ Σ) + × ( V ∪ Σ) ∗ endliche Menge von Regeln, und 4 S ∈ V Startvariable.

  21. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Regelmengen Was genau bedeutet P ⊆ ( V ∪ Σ) + × ( V ∪ Σ) ∗ ? ( V ∪ Σ) ∗ : Alle W¨ orter ¨ uber ( V ∪ Σ) ( V ∪ Σ) + : Alle nicht-leeren W¨ orter ¨ uber ( V ∪ Σ) ur Menge X : X + = X ∗ \ { ε } Allgemein f¨ × : kartesisches Produkt ( V ∪ Σ) + × ( V ∪ Σ) ∗ : Menge aller Paare ( x , y ), wobei x nicht-leeres Wort ¨ uber ( V ∪ Σ) und y Wort ¨ uber ( V ∪ Σ) Statt ( x , y ) schreiben wir Regeln meist in der Form x → y .

  22. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Regeln: Beispiele Beispiel Sei Σ = { a , b , c } und V = { X , Y , Z } . Folgende Regeln sind in ( V ∪ Σ) + × ( V ∪ Σ) ∗ : X → XaY Yb → a XY → ε XYZ → abc abc → XYZ

  23. Einf¨ uhrung Alphabete und formale Sprachen Grammatiken Chomsky-Hierarchie Zusammenfassung Ableitung Definition (Ableitung) Sei (Σ , V , P , S ) eine Grammatik. Ein Wort v ∈ ( V ∪ Σ) ∗ kann von Wort u ∈ ( V ∪ Σ) + abgeleitet werden ( u ⇒ v ), falls 1 u = xyz , v = xy ′ z mit x , z ∈ ( V ∪ Σ) ∗ und 2 es existiert eine Regel y → y ′ ∈ P . Wir schreiben: u ⇒ ∗ v falls v in endlich vielen Schritten ur n ∈ N ) (d.h. durch die Anwendung von n Regeln f¨ von u abgeleitet werden kann.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend