Wie lautet die Grammatik zur gegebenen Sprache :
L= {a^n b^n+1) n>=0}
Ich weiss dass man a^n b^n so darstellen kann:
S->aSb|ab
Aber fwie funktioneiert das mit der oben angegebenen? Vielen Dank im Vorraus…
Wie lautet die Grammatik zur gegebenen Sprache :
L= {a^n b^n+1) n>=0}
Ich weiss dass man a^n b^n so darstellen kann:
S->aSb|ab
Aber fwie funktioneiert das mit der oben angegebenen? Vielen Dank im Vorraus…
Ziemlich analog zu deiner Grammatik für a^nb^n .
a^nb^(n+1) sagt aus, dass du am Ende immer ein b mehr haben musst. Im Fall n=0, hast du also genau ein b, was sozusagen dein Endfall ist
n=0: du machst 1 b
n=1: 1x aSb und am Ende b usw …
S -> aSb | b
Du kannst dich einem solchen Problem schrittweise nähern: Es soll genau ein b mehr geben als a. Welche Wörter sind also in der Sprache? b, abb, aabbb, aaabbbb…
Wenn du genau hinsiehst, ist die Sprache M := {a^n b^n : n \geq 0} darin enthalten, welche mit
S -> aSb|ε
beschrieben wird, gefolgt von einer „Sprache“, die nur ein b erzeugt:
S’ -> b
Diese beiden Sprachen kannst du verketten. Die Konkatenation zweier Sprachen mit den beiden Startsymbolen S und S’ funktioniert einfach so (C sei das Startsymbol der resultierenden Sprache):
C -> SS’
(… alte Produktionen der beiden Sprachen …)
Wie wäre es mit
S->aSb|b?
gruss, mofte
tut mir leid, da kann ich nicht helfen