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)
---- formale Sprachen (http://www.informatikerboard.de/board/board.php?boardid=12)
----- Wortmenge L (http://www.informatikerboard.de/board/thread.php?threadid=1182)


Geschrieben von Lisa23 am 14.03.2012 um 12:12:

  Wortmenge L

Kann mir bitte jemand sagen wie ich so eine Aufgabe angehen muss wie man diese Wortmenge lesen würde.
Ich hab bei wikipedia gelesen das Kontextfreie Grammatiken als Regel immer
A--->a
B--->aAa
D--->z

haben also das links immer ein Nichtterminierendes Symbol alleine steht.
und das das bei Kontextsensitiven Grammatiken es auch immer ein Nichtterminierendes Symbol links vom Pfeil sein muss aber das da auch 2 stehen dürfen oder eines.


Mfg
Lisa



Geschrieben von Karlito am 14.03.2012 um 20:05:

 

Hallo,

das beste ist meist, wenn man Dinge, die man schon kennt wiederverwendet smile

Du kennst ja bereits eine Grammatik für die Sprache [latex]a^nb^n[/latex]

Noch ein kleiner Tipp:

[latex] a^nb^{n+m}a^m = (a^nb^n)(b^ma^m)[/latex]

Und nun nur noch ein wenig Lego smile (Hab auch 15-30 min gebraucht)

Zum Nachweis:
für Kontextfreie Sprachen gilt, dass ein Kellerautomat angebbar sein muss. Hier kann einer angegeben werden der folgendermaßen funktioniert:
- Lege Elemente auf den Keller solange a gelesen werden.
- Entferne Elemente vom Keller solage b gelesen werden und Kellerstartsymbol nicht erreicht ist
- Bei erreichen des Kellerstartsymbols, lege neue Kellersymbole auf den Keller, solange b gelesen wird
- Lösche Kellersymbole, solange a gelesen wird.
- Akzeptiere wenn eingabe = epsilon und Kellerstartsymbol auf dem Keller...

Wobei es schwierig sein kann, einen solchen Automaten anzugeben. Der Nachweis, dass eine Sprache definitiv nicht Kontextfrei ist, lässt sich über das Pumping-Lemma für Kontextfreie Sprachen führen.

VG,

Karlito



Geschrieben von Lisa23 am 14.03.2012 um 20:43:

 

wieso kenne ich bereit eine sprache für a^n*b^n
ich weiss gar nicht was damit gemeint ist kannst du mir das bisschen näher erklären.



Geschrieben von Karlito am 14.03.2012 um 21:11:

 

Hallo Lisa,

ich dachte du hättest die Sprache anhand deiner anderen Frage bereits erkannt.

Es kann natürlich sein, dass ihr Kellerautomaten noch nicht hattet. Dann vergiss einfach was ich darüber geschrieben habe. Was den Nachweis der Nichterkennbarkeit angeht, kenne ich keine andere Methode.

Ich denke jetzt sollte es klarer sein, oder?

VG,

Karlito


Forensoftware: Burning Board, entwickelt von WoltLab GmbH