Theoretische und technische Informatik - ganz praktisch
Herzlich willkommen auf der Question/Answer-Plattform zu Grundlagen der Informatik II. Wir wünschen Ihnen viel Spaß beim Lernen und Diskutieren!
Loggen Sie sich mit Ihrem KIT-Account (u...) ein, um loszulegen!
Beachten Sie auch diese Informationen zum Schnelleinstieg.
(Nicht-KIT-Studierende beachten bitte diese Informationen.)

Aufgabe 27b): Regulärer Ausdruck

+1 Punkt
42 Aufrufe
Hallo,

kann es sein, dass der reguläre Ausdruck in der Lösung nicht ganz richtig ist?

Müsste nicht 0*1(0+1)1*0(1*+01*01*)* richtig sein? Also in der letzten Klammer noch 1* ergänzt, da die 1 Schleife nach Rückkehr in den s8 noch durchgeführt werden könnte?

Zudem hab ich mich gefragt, ob die etwas umständliche Variante von 0*1(0+1)((1*01*)+(1*01*01*01*)*) auch funktioniert?

Vielen Dank im Voraus.
Gefragt 6, Feb 2016 in Band I, Kapitel 3 von uodsn uodsn Lernwillige(r) (1,000 Punkte)  

2 Antworten

+1 Punkt
 
Beste Antwort
Hallo uodsn!
 

Die Musterlösung stimmt und die in deinem ersten Lösungsvorschlag eingefügte 1* ist nicht nötig, da man die möglichen unendlich vielen Einsen (Schleife in s8) einfach dadurch erzeugen kann, dass man die letzte Klammer des regulären Ausdrucks nochmals "aufruft" und mithilfe des 1* beliebig viele Einsen erzeugt.

Dein erster Lösungsvorschlag ist damit nicht falsch, aber unnötig lang.

Dein zweiter Lösungsvorschlag ist jedoch falsch, da hier z.B das Wort 010 erzeugt werden kann, mit dem man aber im Nicht-Endzustand s1 landet.

Ich hoffe das hilft dir weiter!

Viele Grüße,

Janine (Tutorin)
Beantwortet 7, Feb 2016 von uedqi uedqi Tutor(in) (108,510 Punkte)  
ausgewählt 7, Feb 2016 von uodsn uodsn
+1 Punkt
$01^*0$ durch $01^*01^*$ in der letzten Klammer zu ersetzen ist nicht notwendig, da die letzte optionale Folge von Einsen auch durch eine weitere Ausführung der letzten Klammer mitinbegriffen ist. Durch den * hinter der Klammer kann diese beliebig oft ausgeführt werden.

Die zweite vorgeschlagene Variante funktioniert leider nicht, da sie beispielsweise das Wort 10  1010101 1010101 enthält, für welches der Automat bei Ausführung keinen Endzustand erreicht.
Beantwortet 7, Feb 2016 von uwdll uwdll Tutor(in) (102,360 Punkte)  
...