1. 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
  2. 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.

Approach

"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"


Solution
  • Teil 1

    1. ´((((a+b)+c)^(**) * a) * ((a+b)+c)^(**))´
    2. ´(((b+c)^(**) * a) * (b+c)^(**))´
    3. ´((((c^(**) * a) * (a+c)^(**)) * b) * ((a+b)+c)^(**))´

    Teil 2

    In ´M(R)´:

    • ´ac´
    • ´abc´
    • ´abcabc´

    Nicht in ´M(R)´:

    • ´ab´
    • ´bc´
  • URL:
  • Language: Deutsch
  • Subjects: theoretical computer science
  • Type: Name
  • Duration: 30min
  • Credits: 5
  • Difficulty: 0.5
  • Tags: hpi regular expression
  • Note:
    HPI, 2014-05-13, Theoretische Informatik 2, Blatt 6, Aufgabe 1
  • Created By: ad-si
  • Created At:
    2014-07-22 16:41:59 UTC
  • Last Modified:
    2014-07-22 16:41:59 UTC