Kurs:Wirtschaftsinformatik WS09 10 Modelle der Informatik/Uebungsblaetter/Uebung1+2 WS2006

Übungsblatt 1 & 2 Bearbeiten

Aufgabe 1: Begriffe und Definitionen Bearbeiten

1. Definieren Sie die Begriffe Alphabet, Wort und Sprache! (1-2)

  • Alphabet: eine Menge von Zeichen (Symbolen, Buchstaben)
  • Wort: endliche Zeichenkette von Symbolen eines Alphabets
w = a1, a2, a3, …, ak (ein Wort der Länge k)
leeres Wort = ε (Länge 0)
  •   = Menge aller Worte inklusive ε
  •   = Menge aller nicht-leeren Worte
  • Sprache: Teilmenge von  

2. Nennen und erläutern Sie die Bestandteile einer Grammatik! (1-8)

Eine Sprache L(G) wird definiert durch eine Grammatik G = (N, T, P, S), wobei gilt:

  • N sind die nichtterminalen Symbole (Variable),
  • T sind die terminalen Symbole (Terminale), wobei T   N = ∅,
  • P sind die Produktionsregeln der Form α   β, wobei

α ∈  , β ∈ (N   T)*,

  • S ∈ N ist das Startsymbol, ein spezielles nichtterminales Symbol

3. Wie stehen die Begriffe Grammatik und Sprache miteinander in Beziehung? (1-7) Bearbeiten

Eine Grammatik ist ein System zur Ableitung von Worten einer Sprache.

4. Was beschreibt die Chomsky-Hierarchie? (1-15ff) Bearbeiten

Die Chomsky-Hierarchie beschreibt eine Hierarchie von vier Grammatiktypen zur Erzeugung von formalen Sprachen:

  • Typ 0-Sprache (rekursiv aufzählbar): keine Einschränkungen bezüglich der Produktion
  • Typ 1-Sprache (kontextsensitiv): auf der linken Seite vom Produktionspfeil sind Terminal- und Nichtterminalsymbole erlaubt

α1Aα2   α1βα2 , wobei A ∈ N, α1, α2 ∈ ( N   T )*, ß ∈  

  • Typ 2-Sprache (kontextfrei): auf der linken Seite vom Produktionspfeil ist nur ein Nichtterminalsymbol erlaubt

A  􀃆 β, wobei A ∈ N, β ∈  

  • Typ 3-Sprache (regulär): analog zu Typ2, jedoch dürfen Worte entweder nur von links nach rechts

(rechtsregulär) oder nur von rechts nach links (linksregulär) erzeugt werden

A   aB oder A   a, wobei A, B ∈ N und a ∈ T

5. Worin unterscheiden sich kontextfreie und kontextsensitive Grammatiken ? Bearbeiten

Der Unterschied zwischen diesen beiden Grammatiken besteht darin, dass bei einer kontextfreien Grammatik auf der linken Seite vom Produktionspfeil nur ein nichtterminales Symbol erlaubt ist, während bei einer kontextsensitiven Grammatik ein oder mehrere nichtterminale und terminale Symbole erlaubt sind.

Aufgabe 2: Grammatiken Bearbeiten

Gegeben sei folgende Grammatik mit dem Startsymbol S:

  • N = {S, A, B}
  • T = {a, b, c}
  • P = {S   abc, S   aAbc, Ab  bA, Ac   Bbcc, bB  Bb, aB   aaA, aB   aa}

1. Welchen Typ hat die Grammatik bzgl. der Chomsky-Hierarchie ? Bearbeiten

Die Grammatik ist kontextsensitiv, da auf der linken Seite der Produktionsregeln sowohl Zeichen aus N und aus T vorkommen.

2. Zeigen Sie, dass die von dieser Grammatik erzeugte Sprache gegeben ist durch die Sprache Bearbeiten

L(G) = {  | n>0 } = {abc, aabbcc, aaabbbccc, …}!

  • S   abc
  • S   aAbc   abAc   abBbcc   aBbbcc   aabbcc   aaAbbcc
) analoger Aufbau, Rekursion)

Aufgabe 3: Grammatiken Bearbeiten

Gegeben sei der folgende Auszug aus einer Grammatik:

<Expression>   <number>
<Expression>   ( <Expression> )
<Expression>   <Expression> + <Expression>
<Expression>   <Expression> - <Expression>
<Expression>   <Expression> * <Expression>
<Expression>   <Expression> / <Expression>
<number>  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

1. Wie lautet die Definition der entsprechenden Grammatik, welchen Typ hat sie ? Bearbeiten

G = (N, T, P, S)
N = {<Expression>, <number>}
T = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +. -, *, /, (, )}
S = <Expression>
P = siehe oben

Es handelt sich um eine Typ 2-Grammatik (kontextfrei), da auf der linken Seite der Produktionsreageln nur ein Nicht-Terminalsymbol vorhanden ist.

== 2. Prüfen Sie, ob folgende Worte Elemente der durch die Grammatik beschriebenen Sprache sind: (1+2)*3, (1-2)+(4-13), -1, (-1)*(+1), 3-1++2 ==

  • (1+2)*3:
S   <Expression>
<Expression> * <Expression>
( <Expression> ) * <Expression>
( <Expression> + <Expression>) * <Expression>
( <number> + <number> ) * <number>
(1+2)*3
  • (1-2)+(4-13):
keine zweistelligen Zahlen ableitbar
  • -1
keine negativen Zahlen ableitbar
  • (-1)*(+1)
keine negativen Zahlen ableitbar,
+-Operator ist in dieser Grammatik ein binärer Operator
  • 3-1++2
kein doppeltes-Pluszeichen ableitbar