Bestimme die den folgenden Mengen zugeordneten regulären Ausdrücke:
- Alle Wörter über {a, b, c}, in denen ein a vorkommt
- Alle Wörter über {a, b, c}, in denen genau ein a vorkommt
- Alle Wörter über {a, b, c}, in denen das erste a vor dem ersten b steht
Es sei der reguläre Ausdruck ´R = ((a * (a+b+c)^(**)) * c)´ gegeben. Untersuche, ob die Wörter ´ab´, ´ac´, ´bc´, ´abc´, ´abcabc´ in ´M(R)´ liegen.
"Teil 1\n\nEs ergeben sich folgende reguläre Ausdrücke:\n\n1. ´R_1 = ((((a+b)+c)^(\\) \* a) \* ((a+b)+c)^(\\))´\n2. ´R_2 = (((b+c)^(\\) \* a) \* (b+c)^(\\))´\n3. ´R_3 = ((((c^(\\) \* a) \* (a+c)^(\\)) \* b) \* ((a+b)+c)^(\\))´\n\n\nEs gilt dann:\n\n´M(R_1) = {a, b, c}^(\\) {a} {a, b, c}^(\\)´\n´M(R_2) = {b, c}^(\\) {a} {b, c}^(\\)´\n´M(R_3) = {c}^(\\) {a} {a, c}^(\\) {b} {a, b, c}^(\\)´\n\n\nWegen des Vorkommens von ´{a}´ in ´M(R_1)´ muss ein Wort aus ´M(R_1)´ mindestens ein ´a´ enthalten. Davor und dahinter können beliebige Wörter über ´{a,b,c}´ stehen, womit gesichert ist, dass mindestens ein ´a´ vorkommt (es können aber auch mehrere ´a´s vorkommen).\nIm Gegensatz zu ´M(R_1)´ können bei ´M(R_2)´ vor und hinter dem ´a´ nur Wörter über ´{b,c}´ stehen, die also kein weiteres ´a´ enthalten. Folglich enthält jedes Wort aus ´M(R_2)´ genau ein ´a´.\nBei ´M(R_3)´ können vor dem ersten ´a´ nur ´c´s stehen, daher steht vor dem ersten ´a´ kein ´b´.\n\n(Der angegebene Ausdruck geht davon aus, dass mindestens ein ´a´ und mindestens ein ´b´ vorkommen soll, da die Aufgabenstellung von einem ersten ´a´ bzw. ´b´ spricht. Sollte man davon ausgehen, dass dies nicht sein muss, so ist\n\n´((((((c^(\\) \* a) \* (a+c)^(\\)) \* b) \* ((a+b)+c)^(\\))+((c^(\\) \* a) \* (a+c)^(\\))) + c^(\\))´\n\nein Ausdruck, der die Menge beschreibt.)\n\n\nTeil 2\n\nDie zum Ausdruck gehörende Menge ist ´M(R) = {a} {a,b,c}^(\\) {c}´. In ´M(R)´ liegen also alle Wörter, die mit ´a´ beginnen und mit ´c´ aufhören.\nSomit sind die Wörter ´ac´, ´abc´, ´abcabc´ in ´M(R)´ und ´ab´ und ´bc´ nicht.\n"
Teil 1
- ´((((a+b)+c)^(**) * a) * ((a+b)+c)^(**))´
- ´(((b+c)^(**) * a) * (b+c)^(**))´
- ´((((c^(**) * a) * (a+c)^(**)) * b) * ((a+b)+c)^(**))´
Teil 2
In ´M(R)´:
- ´ac´
- ´abc´
- ´abcabc´
Nicht in ´M(R)´:
- ´ab´
- ´bc´
HPI, 2014-05-13, Theoretische Informatik 2, Blatt 6, Aufgabe 1
2014-07-22 16:41:59 UTC
2014-07-22 16:41:59 UTC