Oswald, bei folgender Sprache:
L = {vw | v ∈ {a,b}*, w ∈ {c}*, |vw| ist gerade}
Wenn ich dafür einen regulären Ausdruck angeben soll.
Da dachte ich an
r1 = ( c* ((a+b)*c*) (a+b)* )*
Meine Absicht ist, dass entweder aus dem Tupel (a,b) a oder b geschrieben wird, und dann ein c. Dann ist die Anzahl = 2. Bei (a+b)*c*. Ist denn meine Interpretation von (a+b)*c* so richtig, dass möglicherweise entweder ein a oder ein b gelesen wird, und dann möglicherweie ein c?
Oder heißt es bei (a+b)*, dass man daraus auch abbbbaaba ableiten könne, bevor überhaupt erst das c* gelesen wird?
Und: ich darf ja z.B. keinen regulären Ausdruck z.B. mit (a+b)^+ angeben, oder? Denn die Sprache L hat ja definiert, dass v ∈ {a,b}*, w ∈ {c}*
Laut meinen Unterlagen bedeutet (a+b) = Wort a oder Wort b.
(ab) heißt Wort a gefolgt von Wort b.
(a)* heißt: Wort a wird 0 oder mehrere Male wiederholt.
Wenn jetzt (a+b)*, heißt das dann für mich, die Reihenfolge muss nicht beachtet werden, und daraus kann man dann z.B. abbbbaaba ableiten. Was auch logisch ist, wenn man sich die Maschine dafür aufmalt. Dan hat man einen Startzustand, der gleichzeitig Endzustand ist, mit einem Pfeil auf sich selbst, wo dran steht: a,b
Dann frage ich mich aber, wie ich korrekt einen regulären Ausdruck für die Sprache L angeben kann.