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)
--- Typ 1 Grammatik angeben (http://www.informatikerboard.de/board/thread.php?threadid=199)


Geschrieben von Pampelmuse am 27.05.2007 um 16:08:

  Typ 1 Grammatik angeben

Hallo,
habe ein Problem ich möchte zu L={a^i b^j c^k | i,j,k >= 1 und (2i=j und 2j=k)}

eine Grammatik vom Typ 1 (kontextsensitiv) angeben, die die Sprache L erzeugt.

Ich versuch dies mit Abbildungen finde aber nix wegen der abhängigkeit von einander.

Also für a^n b^2n

a^n b^2n kriege ich das noch hin durch
S-> aSbb |abb

Aber mir fällt nix für
a^n b^2n c^4n ein .



Geschrieben von kiste am 29.05.2007 um 19:41:

 

Mhh wie wärs mit

S-> aSbbC |abbcccc
Cb -> bC
Cc -> cC
cC -> ccccc



Geschrieben von Pampelmuse am 01.06.2007 um 11:33:

 

S-> aSbbC |abbcccc
so läßt sich doch
aabbccccbbC erstellen dies ist aber nicht in der Sprache.
Werde die Lösung der Übungsgruppe demnächst hier präsentieren.



Geschrieben von qwertz am 01.06.2007 um 14:54:

 

Bei solchen Sprachen empfiehlt sich immer die Verwendung von Läufervariablen (hier: Y,Z).

Folgende Grammatik müsste funktionieren:

S -> abbcccc | aXbbcccc

Xb -> bY

Yb -> bY

Yc -> Zbbccccc

bZ -> Zb

aZ -> aa | aaX

Ich hatte keine Zeit das ausführlich zu testen, aber bis i=3 funktioniert sie, also gehe ich mal davon aus, dass sie auch für i>3 geht.



Geschrieben von Pampelmuse am 03.06.2007 um 11:39:

 

Passt alles ganz gut.
Das ist der Hammer wäre überhaupt nicht darauf gekommen , nicht schlecht danke für den Beitrag.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH