14
G.Heyer Digitale Informationsverarbeitung 1 8. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr., ...) Vorteile gegenüber natürlichen Sprachen: • exakte Definition der zulässigen Ausdrücke und ihrer Bedeutung • keine Kontextabhängigkeit der Bedeutung • dadurch erheblich leichtere Verarbeitung Eine Sprache L besteht aus Wörtern über einem zugrundeliegenden A es gilt also: L Teilmenge von *. Die Syntax einer Sprache legt fest, welche Ausdrücke zur Sprache Die Semantik legt fest, was die Ausdrücke bedeuten. Endliche Sprachen können durch Aufzählen ihrer Elemente definiert für unendliche Sprachen braucht man endliche Beschreibung.

8. Formale Sprachen und Grammatiken

  • Upload
    gyala

  • View
    39

  • Download
    0

Embed Size (px)

DESCRIPTION

Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr., ...) Vorteile gegenüber natürlichen Sprachen: - PowerPoint PPT Presentation

Citation preview

Page 1: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung1

8. Formale Sprachen und Grammatiken

Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr., ...)

Vorteile gegenüber natürlichen Sprachen:• exakte Definition der zulässigen Ausdrücke und ihrer Bedeutung• keine Kontextabhängigkeit der Bedeutung• dadurch erheblich leichtere Verarbeitung

Eine Sprache L besteht aus Wörtern über einem zugrundeliegenden Alphabet , es gilt also: L Teilmenge von *.Die Syntax einer Sprache legt fest, welche Ausdrücke zur Sprache gehören.Die Semantik legt fest, was die Ausdrücke bedeuten. Endliche Sprachen können durch Aufzählen ihrer Elemente definiert werden,für unendliche Sprachen braucht man endliche Beschreibung.

Page 2: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung2

Formale SprachenFormale Sprache

Alphabet: geordneter Zeichenvorrat

Formale Sprache: Menge von Zeichenketten, die aus den Symbolen eines beliebigen Alphabets aufgebaut sind.

Zeichenkette: endliche Folge von Symbolen, die ohne Zwischenraum hintereinander geschrieben werden (Verkettung)

Wohlgeformtheit

Definition der zulässigen Zeichenketten einer Sprache durch induktive Definition

induktive Definition:

1. definitorische Anfangsbestimmung

2. generierende Bestimmung

3. Abschlußbestimmung

Page 3: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung3

Aussagenlogik

Aussagenlogik - Syntax

Eine atomare Formel hat die Form Ai (wobei i = 1,2,3):

(1) Alle atomaren Formeln sind Formeln.

(2a) Für alle Formeln F und G sind (F&G) und (FvG) Formeln.

(2b) Für jede Formel F ist ¬F eine Formel.

(3) Nichts ist eine Formel, was nicht als solche durch (1) und (2) bestimmt ist.

Page 4: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung4

Axiomensystem für Aussagenlogik

(A1) (A(B A))

(A2) ((A (B C)) ((A B) (A C)))

(A3) (( B A) (( B A) B))

Inferenzregel: Gilt A und A B, folgere B (modus ponens)

Page 5: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung5

Grammatiken

Formale Sprachen können durch Grammatiken beschrieben werden.Eine Grammatik G = (V, , P, S) besteht aus folgenden Komponenten:

• einer endlichen Menge V von Variablen (Nichtterminalsymbolen), • dem endlichen Terminalalphabet , • einer endlichen Menge P von Regeln , wobei und aus V und gebildet sind, • einer Startvariablen S aus V.

Die durch G erzeugte Sprache L(G) wird wie folgt definiert:Die Zeichenkette v heißt direkt ableitbar aus der Zeichenkette u (Notation: u => v) genau dann wenn u = xyz, v = xy'z und y y' P.=>* bezeichnet die reflexive und transitive Hülle von =>. Wir definieren: L(G) = {w * | S =>* w}

Page 6: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung6

Ableitungsbaum

1. Die Wurzel des Ableitungsbaums ist mit dem Startsymbol markiert.2. Ist ein Knoten mit einem Terminalsymbol markiert, dann ist er ein Blatt

und hat keinen Sohn. 3. Ist ein Knoten mit einem Nichtterminalsymbol X markiert, und hat er n

Söhne, die von links nach rechts mit X1, X2, ...,Xn markiert sind, so enthält die Grammatik die Regel

X X1, X2, ..., Xn

Die Folge der Blätter von links nach rechts gelesen ergibt ein Wort der Sprache.

Page 7: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung7

Chomsky Grammatik

Reguläre Sprachen (Typ 3)

Produktionsregeln der Form

X aY

X Ya

X aKontextfreie Sprachen (Typ 2)

Produktionsregeln der Form

X uYv

Kontextsensitive Sprachen (Typ 1)

Produktionsregeln der Form

uXv uYv

Unbeschränkte Sprachen (Typ 0)

Page 8: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung8

Rechtslineare Grammatik und endliche Automaten

Konstruktion eines nichtdeterministischen endlichen Automaten aus einer rechtslinearen Grammatik

Input: Rechtslineare Grammatik G=<N, T, P, SG>

Output: Nichtdeterministischer endlicher Automat NEA=<E, S, , s0, F>

BEGINE:=T; s0:= SG; S:= N{0}; F:={Y N Y e P} {0};

FOR EACH (Y,y) N x T DO (Y,y):= {Z N Y yZ P};

IF Y y PTHEN (Y,y):= (Y,y) {0}

END IF;END FOR;FOR EACH y T DO (0,y):= 0

END FOR;END.

Page 9: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung9

Typen von Grammatikeneine Grammatik heißt

• kontextsensitiv falls für alle Regeln w1 -> w2 gilt: |w1| ≤ |w2| (|w|: Anzahl der Variablen und Terminalzeichen von w)

• kontextfrei falls für alle Regeln w1 -> w2 gilt: w1 aus V• regulär falls zusätzlich gilt: w2 Terminalzeichen oder Terminalzeichen

gefolgt von Variabledurch Grammatiktypen erzeugbare Sprachen bilden echte Teilmengen

reguläre Sprachen

kontextfreie Sprachen

kontextsensitive Sprachen

alle Sprachen

rekursiv aufzählbare Sprachendurch beliebige Grammatiken erzeugbar

Chomsky-Hierarchie

Page 10: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung10

Eine Grammatik für die natürliche Sprache

<Satz><Subjekt><Artikel><Artikel><Artikel><Artikel><Attribut><Attribut><Attribut><Adjektiv><Adjektiv><Adjektiv><Substantiv><Substantiv><Prädikat><Objekt>

->->->->->->->->->->->->->->->->

<Subjekt> <Prädikat> <Objekt><Artikel> <Attribut> <Substantiv>

derdiedas

<Adjektiv><Adjektiv> <Attribut>kleinebissigegroßeHundKatzejagt<Artikel> <Attribut> <Substantiv>

P:

{<Satz>, <Subjekt>, <Artikel>, <Attribut>, <Adjektiv>, <Substantiv>, <Prädikat>, <Objekt>}

V:

:

<Satz>{der, die, das, kleine, bissige, große, Hund, Katze, jagt}

S:

Page 11: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung11

Eine Ableitung

=>=>=>=> =>=> =>=> =>=> =>=>=>=>

<Satz> <Subjekt> <Prädikat> <Objekt><Artikel> <Attribut> <Substantiv> <Prädikat> <Objekt>der <Attribut> <Substantiv> <Prädikat> <Objekt>der <Adjektiv> <Attribut> <Substantiv> <Prädikat> <Objekt>der kleine <Attribut> <Substantiv> <Prädikat> <Objekt>der kleine <Adjektiv> <Substantiv> <Prädikat> <Objekt>der kleine bissige <Substantiv> <Prädikat> <Objekt>der kleine bissige Hund <Prädikat> <Objekt>der kleine bissige Hund jagt <Objekt>der kleine bissige Hund jagt <Artikel> <Attribut> <Substantiv>der kleine bissige Hund jagt die <Attribut> <Substantiv>der kleine bissige Hund jagt die <Adjektiv> <Substantiv>der kleine bissige Hund jagt die große <Substantiv>der kleine bissige Hund jagt die große Katze

Page 12: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung12

Ein Ableitungsbaum

der kleine bissige Hund jagt die große Katze

<Satz>

<Subjekt> <Objekt><Prädikat>

<Artikel> <Artikel><Attr.>

<Attr.>

<Attr.>

<Adj.> <Adj.>

<Adj.>

<Subst.> <Subst.>

Page 13: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung13

Akzeption

1. Geht ein Automat = (E, S, u, s0, F) bei der Verarbeitung eines

Eingabewortes w E* in den Zustand sj über, wobei sj ein Finalzustand ist, dann hat w akzeptiert.

2. Die Menge aller Wörter wE*, die der Automat akzeptiert, nennt man

Sprache L() des Automaten.

Page 14: 8. Formale Sprachen und Grammatiken

G.Heyer Digitale Informationsverarbeitung14

Automaten und Sprachen

Automat endlicher Keller- linear b. Turing-Automat automat Automat Maschine

Sprach- reguläre kontext kontext- unbeschränkte

klasse -freie sensitive