• Keine Ergebnisse gefunden

AUTOMATENTHEORIE UND FORMALE SPRACHEN

N/A
N/A
Protected

Academic year: 2022

Aktie "AUTOMATENTHEORIE UND FORMALE SPRACHEN"

Copied!
29
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

YZ X W V U T SRQPON

M

L

KJIH GFEDC7BA98

6 5 4 23 1 0 4C T S P V

6O0EKJ5Z2I1HRD8QGY9U3F

A M 7 N B W L X

AUTOMATENTHEORIE UND FORMALE SPRACHEN

Sommersemester 2021

15. April 2021

Prof. Dr. Steffen Reith

Theoretische Informatik

Studienbereich Angewandte Informatik HochschuleRheinMain

(2)

ADMINISTRATIVES

(3)

Administratives Natürliche vs. Formale Sprachen L-Systeme

TERMINE

Vorlesung:

Donnerstag815-945via BBB (ZAPP)

Übung (Montag):

Gruppe Zeit Raum

AI Grp A Mo1600-1730 UDE-C037 (Reinhard) AI Grp B Mo1745-1915 UDE-C035 (Reinhard)

3

(4)

ÜBER DEN DOZENTEN

→ Prof. Dr. Steffen Reith, geboren 1968, verheiratet, eine Tochter

→ Seit Sommersemester 2006 an der Hochschule RheinMain (FH Wiesbaden)

→ Früher: Entwickler für kryptographische und mathematische Algorithmen für tief eingebettete System in KFZs.

→ Spezialgebiete: Komplexitätstheorie, Logik in der Informatik, eingebettete Systeme und Kryptographie (Zahlentheorie)

→ Abschlussarbeiten: Kryptographie, Kryptographie für eingebettete Systeme, paralleles Rechnen,

Komplexitätstheorie, Logik in der Informatik EMail:Steffen.Reith@hs-rm.de

Skype:Steffen.Reith Büro: Raum C202

Sprechzeiten: Nach Vereinbarung (per BBB: immer!)

(5)

Administratives Natürliche vs. Formale Sprachen L-Systeme

WEITERE INFORMATIONEN ZUR VORLESUNG Webseite:http://www.cs.hs-rm.de/~reith

Auf der Webseite werden auch die Übungsblätter veröffentlicht (das ersteheute!). Üblicherweise eine Woche Bearbeitungszeit.

BeiFeiertagschaosbitte Dozenten befragen!

Literatur:

→ John E. Hopcroft and Rajeev Motwani and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and

Computation, Addison Wesley Publishing Company, 2001

→ Uwe Schöning, Theoretische Informatik - kurzgefasst, Spektrum Akademischer Verlag, 2001

→ Michael Sipser, Introduction to the Theory of

Computation, Wadsworth Inc Fulfillment, 2. Auflage, 2005

→ Juraj Hromkovič, Theoretische Informatik - Formale

Sprachen, Berechenbarkeit, Komplexitätstheorie, Algorithmik, Kommunikation und Kryptographie, 3. Auflage, Teubner, 2007

5

(6)

WEITERE INFORMATIONEN ZUR VORLESUNG (II) Ersatztermine:

Werden mit Hörern abgestimmt

Erklärvideos werden Sie auf Amigo (https://video.cs.hs-rm.de/) finden (PW: fun).

Skript:

Wird in (sehr) unregelmäßigen Abständen auf der Webseite der Vorlesung verbessert und erweitert (eine alte Version ist heute online).

Folien:

Einzelne (kleine) Teile der Vorlesung werden in Folienform zur Verfügung stehen. Folien, die vom Skript abweichen, werden auf der Webseite (nachträglich) zur Verfügung stehen (user: theory / PW: fun).

Eine eigene Mitschrift sollteangefertigtwerden! 6

(7)

Administratives Natürliche vs. Formale Sprachen L-Systeme

EIN ROTER FADEN

In der Vorlesung werden die folgenden Themen untersucht:

1. Einleitung (grundlegende Begriffe, L-Systeme)

2. Die Chomsky-Hierarchie (Sprachklassen, Wortproblem) 3. Endliche Automaten und reguläre Sprachen (Pumping

Lemma)

4. Kontextfreie Sprachen (Normalformen, Kellerautomaten) 5. Kontextsensitive- und Typ0-Sprachen (Turingmaschinen,

Unentscheidbarkeit) 6. Komplexität (Pvs.NP)

7

(8)

WARUM THEORETISCHE INFORMATIK?

Theoretische Informatik wird (wohl aufgrund der mathematischen Prägung) oft als„schwach motiviert“,„langweilig“und

„nutzlos“beschrieben.

Warum lohnt sich die Theoretische Informatik?

→ Konkrete Technologien ändern sich sehr schnell, deshalb sollte man die extrem langlebigen Konzepte verstehen.

→ Hintergrundinformationen ermöglichen Chancen und Grenzen von Technologien zu verstehen.

→ Theoretische Informatik gibt Hinweise, welche Wege zu keiner Lösung führen werden.

→ Verbesserung des strukturierten Denkens und der Problemlösungskompetenz.

→ (Tiefgreifende) Ideen führen zu schnellen Algorithmen

(9)

Administratives Natürliche vs. Formale Sprachen L-Systeme

PROGRAMMIERSPRACHEN - FORTRAN77

c Erstellt von Gilberto E. Urroz

c000000000111111111122222222223333333333444444444455555555556666666666777 c234567890123456789012345678901234567890123456789012345678901234567890123

program function

c --- declaration of variables real x, y

c --- show function

print*,"=========================================="

print*,"Calculate the function y = f(x) defined as"

print*," y = x+1 if x < 1"

print*," y = 2-x if x >= 1"

print*,"=========================================="

c --- request x as input print*,"enter a value of x:"

read*,x

c --- evaluation of function if (x.lt.1.0) then y = x+1

else y = 2-x end if c --- print result

print*,"the corresponding value of y is: ",y c --- end program

end

^^I^^I^^I

Warum haben wir heute Programmiersprachen mit „schönerer“ Syntax?

9

(10)

SPIELREGELN

Rechnerund Handys sind zu Beginn der Veranstaltungaus

→ Wir (Dozent + Hörer) sindpünktlich

→ Esredet nur eine Person

→ Bei Fragen und Problemensofort melden / fragen

→ Es wird Eigeninitiative und selbstständiges Arbeiten erwartet

→ Eine Vorlesung ist keine (wöchentliche) Fernsehserie

→ Eine Vorlesung wird vonden Hörernund vom Dozenten gestaltet

→ aktive Mitarbeit erwünscht und erforderlich

→ Der Dozent will motiviert werden

→ Umfangreiche Vor- und Nachbereitung notwendig

→ Lernen kurz vor der Klausur ist tötlich! (kontinuierliches Lernen)

→ Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wünschen Sie sich?

(11)

NATÜRLICHE VS. FORMALE SPRACHEN

(12)

NATÜRLICHE SPRACHEN

Natürliche Sprachen legen ihre Struktur durch

→ die Regeln einerGrammatik

→ und eine Menge vonerlaubten Worten(≜Strings gebildet aus Buchstaben)

fest.

Allerdings müssen syntaktisch korrekte Sätze einer natürlichen Sprache keinen Sinn tragen:

→ Wiesbaden wohnt weiterhin weich

→ Der bissige Student jagt die verschlafene Mensa

syntakisch korrekte Sätze müssen keinen Sinn (≜Semantik) tragen.

Wie kann man diese Beobachtungen in der Informatik ausnutzen?

(13)

Administratives Natürliche vs. Formale Sprachen L-Systeme

FORMALE REGELN ZUR ERZEUGUNG EINER SPRACHE Der Linguist Noam Chomsky hatte folgende Idee:

Korrekte Sätzeeiner (natürlichen) Sprache sollen durch ein (endliches System) von formalen Regelnerzeugt werden.

Bis heute ist diese Idee

→ in der Linguistik umstritten, aber

→ extrem bedeutsam in der Informatik.

Basis für z.B. alle Programmiersprachen / Compilerbau, Auszeichnungssprachen (SGML, XML, HTML,. . .).

Ähnlich sind die sogenannten(Semi) Thue Systeme, die heute z.B. in Spezialformen in der Computergraphik Bedeutung erlangt haben.

13

(14)

EINIGE GRUNDLEGENDE BEGRIFFE

Eine endliche MengeΣheißtAlphabet. DieElementevonΣ werdenBuchstabengenannt. Eine Folge von Buchstaben nennt manWort(überΣ). Eine beliebige Menge von Worten überΣ nennt man dann eine(formale) Sprache.

Beispiel (arithmetische Ausdrücke)

SeiΣ ={),(,+,−,∗, /, x}undEXPRdie Menge aller korrekten arithmetischen Ausdrücke. Damit gilt

→ (x−x)∈EXPR

→ ((x+x)∗x)/x∈EXPR

→ ))(x)∗x̸∈EXPR

EXPRist eine Menge von Worten überΣ, also kann manEXPR alsformale Sprache(über{),(,+,−,∗, /, x}) bezeichnen.

(15)

Administratives Natürliche vs. Formale Sprachen L-Systeme

WEITERE BEISPIELE FÜR FORMALE SPRACHEN

Beispiel (Zahlenmengen)

SeiΣ = {0,1,2,3,4,5,6,7,8,9}, dann sind die folgenden Men- gen auch formale Sprachen überΣ:

→ PRIMES={2,3,5,7,11,13,17,19,23, . . .}

→ EVEN={0,2,4,6,8,10,12,14,16,18, . . .}

→ 2POT={1,2,4,8,16,32,64,128,256,512, . . .}

15

(16)

WEITERE BEISPIELE FÜR FORMALE SPRACHEN (II))

Beispiel (Wortmengen über{a, b})

Sei Σ = {a, b}, dann sind die folgenden Mengen auch formale Sprachen überΣ:

→ BRACKET={ab, aabb, aaabbb, aaaabbbb, . . .}

→ UODD={a, aaa, aaaaa, aaaaaaa, aaaaaaaaa, . . .}

→ Σ =ALL={ϵ, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, . . .}

(17)

Administratives Natürliche vs. Formale Sprachen L-Systeme

GRAMMATIKEN UND AUTOMATEN

(Formale) Sprachen enthalten meist unendlich viele Wörter

→ Wir brauchen endlich vieleErzeugungsregeln, um

(algorithmisch) mit formalen Sprachen umgehen zu können.

Die Rolle der Regeln übernehmenGrammatiken.

→ Weiterhin werdenErkennerbenötigt, die entscheiden, ob ein Wort zu einer Sprache gehört. Die Rolle der Erkenner spielen dieAutomaten, die wir in dieser Vorlesung studieren.

17

(18)

TEIL EINER NATÜRLICHEN SPRACHE

Beispiel (Eine Grammatik)

Satz Subjekt Pr¨adikat Objekt Subjekt Artikel Attribut Substantiv

Artikel ϵ|der|die|das Attribut ϵ

Attribut Adjektiv

Attribut Adjektiv Attribut

Adjektiv kleine|bissige|verschlafene Substantiv Student|Katze

Pr¨adikat jagt|betritt

Objekt Artikel Attribut Substantiv

Das Symbol „|“ markiert eine Alternative, d.h.AB|Cist Abkürzung für die beiden RegelnABundAC

(19)

Administratives Natürliche vs. Formale Sprachen L-Systeme

TEIL EINER NATÜRLICHEN SPRACHE (II)

Durch Anwendung der Regeln und Ersetzung der fett gedruckten Wörter können z.B. die folgenden Sätze gebildet werden:

→ Der kleine bissige Student betritt die verschlafene Mensa

→ Der verschlafene Student jagt die kleine Katze

MitSyntaxbäumenman man dieAbleitungschritte graphisch verdeutlichen:

Katze Satz

jagt Subjekt

Attribut

Artikel Substantiv

Prädikat Objekt

Artikel Attribut Substantiv

Adjektiv Adjektiv

Der

verschlafene

Student die

kleine

19

(20)

L-SYSTEME

(21)

Administratives Natürliche vs. Formale Sprachen L-Systeme

L-SYSTEME

→ DieL-Systemewurden 1968 durchAristid Lindenmeyerals mathematisches Modell des Pflanzenwachstums eingeführt.

→ L-Systeme werden heute in der Computergraphik benutzt, um natürlich wirkende Pflanzen schnell generieren zu können.

→ Hier betrachten wir die einfachste Klasse von L-Systemen, die so genannten D0L-System.

→ Die Regeln sind deterministisch, d.h. für jeden Buchstaben gibt esgenau eine Regel.

→ Die Regeln sind kontextfrei, d.h.Ersetzungen hängen nicht von denumgebenden Buchstaben(≜Kontext) ab.

21

(22)

GRUNDLEGENDE BEGRIFFE UND EIGENSCHAFTEN

Definition (0L-Systeme)

→ MitΣbezeichnen wir die Mengealler WörterüberΣ.

→ Ein0L-SystemGist ein TripelG= (Σ, ω, P), wobei

ΣdasAlphabet,ωdasAxiomund

P Σ×Σdie Menge derProduktionen.

→ Eine Produktion(a, χ)∈Pwird alsa→χgeschrieben. Der BuchstabeaheißtVorgängerundχNachfolgerdieser Produktion.

→ FürjedenBuchstabena∈Σexistiert eine Produktion (a, χ)∈P.

→ Ein0L-System heißtdeterministisch, wenn es für jeden Buchstabena∈Σnurgenau eineProduktion(a, χ)∈P gibt.

(23)

Administratives Natürliche vs. Formale Sprachen L-Systeme

D0L-SYSTEME (II)

Definition

Deterministische 0L-Systeme heißenD0L-Systeme.

Definition (Ableitung)

Sei µ = a1. . . am ein beliebiges Wort überΣ, dann kann ν = χ1. . . χmausµabgeleitetwerden, wenn

→ für allei= 1, . . . , m(ai, χi)∈P gilt, wobei

→ manµ νschreibt.

→ Ein WortνheißtvonGgeneriert, wenn es inendlichvielen Schritten aus dem Axiom abgeleitet werden kann.

23

(24)

D0L-SYSTEME (III)

Geben wir ausBequemlichkeitsgründenfür einen Buchstabena keine Produktion an, dann giltimplizit(a, a)∈P.

Achtung:Alle Regeln ausPwerdengleichzeitigangewendet.

Wird ein WortνvonG= (Σ, ω, P)generiert, dann können wir also

ω µ1 µ2 . . . µn=ν schreiben (kurz:ω * ν).

(25)

Administratives Natürliche vs. Formale Sprachen L-Systeme

EIN BEISPIEL

SeiG= (Σ, ω, P), wobei

→ Σ ={a, b, c},

ω =abcund

P ={a→aa, b→bb, c→cc}.

Mit Hilfe dieses D0L-Systems können Worte der Form a2nb2nc2n

fürn≥0abgeleitet werden.

Bemerkung:anist die Abkürzung füraaa . . . a| {z }

nmal

25

(26)

TURTLE-GRAPHIK

Seiδein beliebiger Winkel, dann werden die BuchstabenF,f,+ undwie folgt interpretiert:

F BewegedenStiftum die LängedundzeichneeineLinie f BewegedenStiftum die Längedundzeichne keine Linie

dreheumδGrad nachrechts + dreheumδGrad nachlinks

Mitδ= 90wirdFFFFFFF+F+FFFFFFin die Graphik

umgesetzt.

(27)

Administratives Natürliche vs. Formale Sprachen L-Systeme

EIN BEISPIEL

Beispiel (Kochsche Schneeflocke)

Gegeben seiG = (Σ, ω, P)mit AlphabetΣ = {F,+,−}, Axiom ω=Fund der Menge der Produktionen{F→F+F− −F+F}

Wir legenδ= 45fest. Für die Anzahl der Schrittenergibt sich:

n= 1 F+F− −F+F

n= 2

F+F− −F+F+F+F

− −F+F− −F+F− − F+F+F+F− −F+F

27

(28)

EIN ZWEITES BEISPIEL Beispiel (Drachenkurve)

Seiδ = 90 und das L-SystemG = ({Fr,Fl,+,−},Fl,{Fl Fl+Fr+,Fr → −FlFr}), dann ergibt sich

SowohlFlals auchFrwerden als „Bewege den Stift einen Schritt der Länge d und zeichne eine Linie“ interpretiert.

(29)

Administratives Natürliche vs. Formale Sprachen L-Systeme

WEITERFÜHRENDE LITERATUR

Przemyslaw Prusinkiewicz und Aristid Lindenmayer, The Algorithmic Beauty of Plants

unter

http://algorithmicbotany.org/papers/#abop Die folgenden Graphiken wurden diesem Buch entnommen:

29

Referenzen

ÄHNLICHE DOKUMENTE

Aufbauend auf den in der „Einführung in die Computerlinguistik“ erworbenen Grundkenntnissen bietet dieses Seminar eine Einführung in die Theorie der Automaten und formalen

Aufbauend auf den in der „Einführung in die Computerlinguistik“ erworbenen Grundkenntnissen bietet dieses Seminar eine Einführung in die Theorie der Automaten und formalen

Inhalt/Seminarplan: Ziel der Veranstaltung ist es, elementare Kenntnisse über die Theorie von Automaten und formalen Sprachen zu vermitteln.. Diese Theorie liefert die

head: left hand side of a rule body: right hand side of a rule clause: rule or fact.. predicate: collection of clauses with

5 Der Hund, der den Vogel, der den Wurm, der den Rasen, der den Garten bedeckte, durchquerte, fraÿ, jagte, starb... Allgemeine Form: der Hund (der den maskulines Nomen) n

Gruppe 4: Beschreiben sie an Beispielen, wie man endliche Automaten zur Konkatenation zweier regulärer Sprachen und zur Vereinigung und zur Schnittmenge zweier Sprachen bildet, und

Gruppe 4: Beschreiben sie an Beispielen, wie man endliche Automaten zur Konkatenation zweier regulärer Sprachen und zur Vereinigung und zur Schnittmenge zweier Sprachen bildet, und

• *mer d'chind de Hans es huus lönd hälfe aastriiche wir die Kinder AKK Hans AKK das Haus AKK ließen helfen anstreichen wir die Kinder-AKK Hans-AKK das Haus-AKK