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.)

Reguläre Ausrücke - Alternative Lösung

+1 Punkt
45 Aufrufe
Ich habe eine Alternativlösung, kann aber nicht sagen, ob diese auch richtig ist.

a= ø( (00*) + ( (02)*2* + (01)*2*)* )

Erklärung: Ich kann das leere Wort darstellen, danach wählen in den Endzustand s4 zu gehen oder zwischen s2 und s3 zu wählen. Ich kann so oft 02 schreiben, wie ich möchte und immer so viele 2en wie ich möchte nach 02 hinzufügen. Das gleich für 01. Ich kann dies so oft machen wie ich möchte und dabei immer zwischen 01 und 02 wählen.

grüße
Gefragt 12, Feb 2016 in 2011-N-01 von uagll uagll Lernwillige(r) (1,100 Punkte)  

Eine Antwort

+1 Punkt
Hallo uagll,
leider stimmt dein regulärer Ausdrucks nicht ganz, da dieser z.B. auch das Wort w=222 beschreibt, indem wir (02)* bzw. (01)* gar nicht schreiben und anschließend beliebig viele 2er schreiben. Um dies zu verhindern, musst du wie in der Musterlösung sicherstellen, dass mindestens einmal die (01) oder (02) durchlaufen wird (also ohne "*"), sodass wir in einen Enduzustand gelangen (dies gilt natürlich nur für den Fall, wenn du am Ende in s1 gelangen möchtest).

Anschließend könntest du den hinteren Teil deines regulären Ausdrucks dazu verwenden, weitere Zyklen zu durchlaufen.

Ich hoffe das hilft dir weiter!

Viele Grüße,

Tim (Tutor)
Beantwortet 12, Feb 2016 von ukean ukean Tutor(in) (103,140 Punkte)  
Bearbeitet 13, Feb 2016 von ukean ukean
...