• Keine Ergebnisse gefunden

AUTOMATENTHEORIE UND FORMALE SPRACHEN

N/A
N/A
Protected

Academic year: 2022

Aktie "AUTOMATENTHEORIE UND FORMALE SPRACHEN"

Copied!
15
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

T SRQPON

M

L

KJIH GFEDCB7A89

V

6O0EKJ5Z2I1HRD8QGY9U3F

A M

AUTOMATENTHEORIE UND FORMALE SPRACHEN

Sommersemester 2015

17. April 2015

Prof. Dr. Steffen Reith

Theoretische Informatik

Studienbereich Angewandte Informatik HochschuleRheinMain

ADMINISTRATIVES

Notizen Notizen

(2)

Administratives Natürliche vs. Formale Sprachen L-Systeme

TERMINE

Vorlesung:

Donnerstag815-945im Hörsaal UDE-B002

Seminar:

Gruppe Zeit Raum

WI 1000-1130 UDE-F010 AI Grp A 1415-1545 UDE-F010 AI Grp B 1600-1730 UDE-F010

Die Veranstaltungen am23. Aprilmüssen aufgrund des

”Girls-Days“ ausfallen.

3

Administratives Natürliche vs. Formale Sprachen L-Systeme

ÜBER DEN DOZENTEN

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

→ Seit Sommersemester 2006 an der 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 Skype: immer!)

4

Notizen Notizen

(3)

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.

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

Administratives Natürliche vs. Formale Sprachen L-Systeme

WEITERE INFORMATIONEN ZUR VORLESUNG (II) Ersatztermine:

Werden dienstags stattfinden Skript:

Wird in (sehr) unregelmäßigen Abständen auf der Webseite der Vorlesung verbessert und erweitert (eine alte Version ist schon 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.

Eine eigene Mitschrift sollteangefertigt werden!

6

Notizen Notizen

(4)

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

Administratives Natürliche vs. Formale Sprachen L-Systeme

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

Notizen Notizen

(5)

PROGRAMMIERSPRACHEN - FORTRAN77

cErstellt von Gilberto E. Urroz

c00000000111111111122222222223333333333444444444455555555556666666666777 c23456789012345678901234567890123456789012345678901234567890123456789012 program function1

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

Warum haben wir heute Programmiersprachen mit

”schönerer“ Syntax?

9

Administratives Natürliche vs. Formale Sprachen L-Systeme

SPIELREGELN

Rechner und Handys sind zu Beginn der Veranstaltung aus

→ 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?

10

Notizen Notizen

(6)

NATÜRLICHE VS. FORMALE SPRACHEN

Administratives Natürliche vs. Formale Sprachen L-Systeme

NATÜRLICHE SPRACHEN

Natürliche Sprachen legen ihre Struktur durch

→ die Regeln einer Grammatik

→ und eine Menge von erlaubten 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?

Notizen Notizen

(7)

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

Administratives Natürliche vs. Formale Sprachen L-Systeme

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 korrek- ten 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.

14

Notizen Notizen

(8)

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

Administratives Natürliche vs. Formale Sprachen L-Systeme

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, . . .}

Notizen Notizen

(9)

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 einWort zu einer Sprache gehört. Die Rolle der

Erkenner spielen dieAutomaten, die wir in dieser Vorlesung studieren.

17

Administratives Natürliche vs. Formale Sprachen L-Systeme

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

18

Notizen Notizen

(10)

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 graphischverdeutlichen:

Katze Satz

jagt Subjekt

Attribut

Artikel Substantiv

Prädikat Objekt

Artikel Attribut Substantiv

Adjektiv Adjektiv

Der

verschlafene

Student die

kleine

19

L-SYSTEME

Notizen Notizen

(11)

L-SYSTEME

→ DieL-Systemewurden 1968 durchAristid Lindenmeyer als 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 nichtvon denumgebenden Buchstaben(Kontext) ab.

21

Administratives Natürliche vs. Formale Sprachen L-Systeme

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, χ)∈P wird alsa→χgeschrieben.

Der BuchstabeaheißtVorgängerundχNachfolger dieser Produktion.

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

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

22

Notizen Notizen

(12)

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 inendlich vielen Schritten aus dem Axiom abgeleitet werden kann.

23

Administratives Natürliche vs. Formale Sprachen L-Systeme

D0L-SYSTEME (III)

Geben wir ausBequemlichkeitsgründenfür einen

Buchstabenakeine Produktion an, dann giltimplizit(a, a)∈P. Achtung:Alle Regeln ausP werdengleichzeitigangewendet.

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

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

Notizen Notizen

(13)

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

Administratives Natürliche vs. Formale Sprachen L-Systeme

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.

26

Notizen Notizen

(14)

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 δ = 45 fest. Für die Anzahl der Schritte n ergibt 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

Administratives Natürliche vs. Formale Sprachen L-Systeme

EIN ZWEITES BEISPIEL

Beispiel (Drachenkurve)

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

Sowohl Fl als auch Fr werden als

”Bewege den Stift einen Schritt der Länge d und zeichne eine Linie“ interpretiert.

Notizen Notizen

(15)

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

Notizen Notizen

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