Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
--- Zur Sprache eine Grammatik definieren (http://www.informatikerboard.de/board/thread.php?threadid=3754)


Geschrieben von TheoRethisch am 01.11.2017 um 14:49:

  Zur Sprache eine Grammatik definieren

Hi,

ich habe eine Sprache gegeben und möchte hieraus die Grammatik ableiten. Grundsätzlich mal gefragt, gibt es da irgendwelche Tipps, wie man bei sowas vorgehen kann?

L = {b^(n)a^(m)b^(2n)|n,m Elemente der Natürlichen Zahlen}

Mein Ansatz wäre nun, nachzusehen, welche Wörter man bilden kann:
babb, bbabbbb, baaaabb, baaaaaaaaabb, ...

Daraus hätte ich jetzt das hier an regeln abgeleitet:

S -> BABB
A -> a | aA
B -> b | bB

Ist das so richtig? Ich würde mich sehr um eine Hilfestellung freuen!



Geschrieben von Karlito am 01.11.2017 um 17:16:

 

Hallo TheoRethisch,

ist leider nicht richtig, da man auch das Wort babbbbbbbbbbbbbbbbbbbbb ableiten könnte. Du beschränkst ja nicht wie viele Bs am Ende hinzukommen.

Bestimmt gibt es jede Menge Tricks für das Erstellen von Grammatiken, aber ich bin da auch nicht so Fit. Viel geht über Erfahrung. Man muss oft eben Kreativ sein Augenzwinkern

Du scheinst ja nicht eingeschränkt zu sein, welche Grammatik Du verwenden darfst. Schau dir mal das hier an:

[latex]<br />
S & \rightarrow & \varepsilon<br />
S & \rightarrow & bSbb<br />
S & \rightarrow & A<br />
A & \rightarrow & aA<br />
A & \rightarrow & \varepsilon<br />
[/latex]

Besten Gruß,

Karlito



Geschrieben von TheoRethisch am 01.11.2017 um 19:07:

 

Du beschränkst ja nicht wie viele Bs am Ende hinzukommen.

Ja genau das ist aktuell das Problem. Leider weiß ich da einfach nicht weiter...



Geschrieben von Karlito am 02.11.2017 um 07:06:

 

Öhm... Ich habe dir, wenn ich keinen Fehler gemacht habe, eine Lösung gepostet...

Schau dir mal die zweite Regel an. Was passiert, wenn man diese Mehrfach anwendetß

Gruß,

Karlito


Forensoftware: Burning Board, entwickelt von WoltLab GmbH