FB18 - Das Forum für Informatik

fb18.de / Bachelorstudieng / PM Formale Informatik

aufgabe 12.3

aufgabe 12.3 2006-07-02 16:12
xb7
weiß nicht, ob alle das so einfach finden und nur ich mich mal wieder dumm anstelle, gibt jedenfalls noch keinen thread…

also eine Kontextfreie Grammatik wird gesucht für die Sprache:

a "hoch r" b "hoch 2r - s" c "hoch s"

so wie ich das verstanden habe sehen die Wörter also so aus, dass die Anzahl von b's plus c's doppelt so groß ist, we die der a's
wobei die zahl der eigentlichen b's und c's wohl relativ egal ist, solange mindestens ein c vorhanden ist…

ich habe jetzt eine Produktion die so aussieht:

S -> ASBB | ¤
A -> a
B -> b | c

das Problem ist, dass ich nicht weiß, wie ich die b's und c's in die richtige Reihenfolge bringe, bzw. sicherstelle, dass überhaupt ein c da ist.
kontextfrei heißt doch, dass links nur ein Symbol stehen kann oder?

Re: aufgabe 12.3 2006-07-02 17:23
georg
so wie ich das verstanden habe sehen die Wörter also so aus, dass die Anzahl von b's plus c's doppelt so groß ist, we die der a's

Soweit richtig…

wobei die zahl der eigentlichen b's und c's wohl relativ egal ist, solange mindestens ein c vorhanden ist…

… aber was meinst du denn mit "eigentliche b's und c's"?

ich habe jetzt eine Produktion die so aussieht:

Nur zur Terminologie: Eine Produktion ist von der Form
A->w, das was du dort hingeschrieben hast, ist schon
eine Grammatik.

S -> ASBB | €
A -> a
B -> b | c

das Problem ist, dass ich nicht weiß, wie ich die b's und c's in die richtige Reihenfolge bringe, bzw. sicherstelle, dass überhaupt ein c da ist.

Das ist schonmal ein guter Ansatz (das € soll wohl für [img]http://mokrates.de/cgi-bin/texstring?%5Clambda[/img] stehen).
Wenn du dir die Wörter der Sprache ansiehst, wirst du feststellen,
dass hinten mit c's begonnen wird und ab irgendeiner Stelle mit
b's weitergemacht wird. Die Symbole b,c werden in deiner bisherigen
Grammatik von rechts nach links erzeugt: die B's, die am Anfang
erzeugt werden, sind für die rechtesten Symbole des Wortes
verantwortlich. In der Grammatik müsstest du also dafür sorgen,
dass zuerst c's erzeugt werden und dann irgendwann auf b's
umgeschaltet wird.

(Andere Möglichkeit: vielleicht fällt dir auf, dass man die
gewünschte Sprache aus der Sprache, die von deiner
bisherigen Grammatik erzeugt wird, durch einen regulären
Schnitt erhalten kann; mithilfe des Beweises dieser
Abschlusseigenschaft kannst du dir auch eine Grammatik für
die gewünschte Sprache konstruieren).

Hilft das schon weiter?

kontextfrei heißt doch, dass links nur ein Symbol stehen kann oder?
Kontextfreie_Grammatik.

Re: aufgabe 12.3 2006-07-02 18:06
Anonymer User
S -> aS1BBC | €
S1 -> aS1BB| €
….

so hab ich angesetz, da ich damit sicher gehe, dass ich immer doppelt soviele b als a habe!


Re: aufgabe 12.3 2006-07-02 18:18
UncleOwen
solange mindestens ein c vorhanden ist…

Nein, das nicht. Die natuerlichen Zahlen fangen bei 0 an.

Re: aufgabe 12.3 2006-07-03 22:56
SNowborn
kommt auf den Prof drauf an, bei Habel und ich glaube auch bei ihm fangen sie bei 1 an…

Re: aufgabe 12.3 2006-07-04 01:47
theorinix
kommt auf den Prof drauf an, bei Habel und ich glaube auch bei ihm fangen sie bei 1 an…

nicht wirklich: Logik-1 Folie 24 steht "natürliche Zahlen (einschließlich der Null)…"
und bei Jantzen's Einführungsfolie 73 kann man IN = {0,1,2,…} erschließen.
In Asteroth & Baier findet man zwar keinen Index dazu, aber auf Seiten 14/15 bei der Ackermannfunktion und der charakteristischen Funktion findet man auch, dass 0 zu den natürlichen Zahlen gehört.
Herr Jantzen hat das in seinen Vorlesungen ab und an wieder betont!

Also besser mit IN = {0,1,2,…} arbeiten (auch –> Klausur!)