regulärer Ausdruck < Mengenlehre < Logik+Mengenlehre < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 22:46 Do 17.05.2007 | Autor: | Gerd52 |
Aufgabe | Stellen Sie als reguläre Ausdrücke dar.
a) L={p | p {0,1}* und p beginnt mit 0, endet mit 1}
b) L={p | p {0,1}* und p enthält 11 genau einmal}
c) L={p | p {0,1}* und p enthält 11 mindestens einmal}
d) L={p | p {0,1}* und p enthält 11 höchstens einmal} |
Ist die Lösung richtig oder habt Ihr bessere Vorschläge?
a) 0(0|1)*1
b) ((0|1)*(11))
c) ((0|1)*(11)*)*
d) (0|1)*((0|1)*(11))
Gruß
Gerd
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:53 Sa 04.08.2007 | Autor: | Wiwie |
Hey Gerd52,
a) korrekt
b) nicht korrekt, da 11 hier durch Kleensche Sternbildung mehr als einmal vorkommen kann, außerdem sind Wörter, bei denen 11 nicht am Ende steht, ausgeschlossen. Richtig wäre: 0*(10(0)*)*11((0)*(10(0)*)*)*
Ist ziemlich kompliziert geworden, am besten malst Du es Dir in Form eines endlichen Automaten auf, dann ist es etwas einfacher zu kapieren...
c) Ist fast korrekt, Du hast nur nicht beachtet, dass mit diesem Ausdruck wegen des äußersten Sterns das leere Wort akzeptiert würde. Versuch's mal hiermit:
(0|1)*11(0|1)*
In den äußeren beiden Klammern können wegen der Sterne beliebig viele Wiederholungen der 11 vorkommen.
d) Daran beiße ich mir noch die Zähne aus ;)
Gruß
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:32 Mo 06.08.2007 | Autor: | Gilga |
Brutforce Ansatz :D für d)
(0*(10(0)*)*11((0)*(10(0)*)*)*) | (0*(10(0)*)*((0)*(10(0)*)*)* )
falls deine Lösung für b) Stimmt (bin zu faul das auszurechnen)
|
|
|
|