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

Schöne Ferien!
 

 

Verständnisproblem mit regulären Ausdrücken

+2 Punkte
62 Aufrufe

Hallo,

könnte mir jemand erklären, wie ich auf den ersten Teil des Ausdrucks komme? 

α =(00*0 + Ø*)1(0 + 1)*0 + 00*(1 + 10 + Ø*)

Generell gehe ich so vor, dass ich Wege vom Anfangs- in die Endzustände und Zyklen suche. Allerdings ist mir noch nicht ganz klar, wie ich die gefundenen Einzelteile dann zusammenfüge und ob ich nur Zyklen vom Endzustand in den Endzustand oder beliebige Zyklen suche.

Wäre klasse, wenn mir da jemand auf die Sprünge helfen könnte!

Vielen Dank.

Gefragt 15, Okt 2014 in END-AZ von Lukas König Dozent (10,065,100 Punkte)  

Eine Antwort

0 Punkte
Hallo, 
 
das allgemeine Vorgehen ist eher so: 
 
-für jeden enzustand schaust du wie komme ich vom anfangszustand dahin und welche Teilwörter kann ich dann noch erkennen lassen, so dass ich immer wieder in diesem Endzustand lande. (kann wird dann also hier so clever gelöst, dass es mit dem leeren Wort per + verknüpft wird)
 
-wenn du das für jeden Endzustand hast, verknüpst du deine ganzen Teile mit +
 
-manchmal musst du dann noch schauen wie du es einrichtest, dass du mehrere verschiedene erkennbare Wörter kombinieren kannst
 
und immer vom nichtdeterministischen endlichen Automaten ausgehen, sonst macht man sich das leben unnötig schwer ;)
 
LG
 
Basti(Tutor)
Beantwortet 15, Okt 2014 von Lukas König Dozent (10,065,100 Punkte)  
Hallo und danke für die schnelle antwort.

Das mit dem leeren Wort verstehe ich allerdings noch nicht so ganz.

Wenn ich so vorgehe wie beschrieben, erhalte ich:

- für s1: 00*

- für s4: 00*1; 00*10; 1(1+0)*0

Zusammengefügt also 00*+00*1+00*10+1(1+0)*0 = 00*(Ø*+1+10)+1(1+0)*0

Dann fehlt mir aber immer noch der erste Teil mit (00*0 + Ø*) und die Verknüpfung über "mal".

Wo liegt der Fehler bzw. was habe ich veressen?

Viele Grüße.
Hallo,

-das ist erstmal ganz gut aber du könntest beispielsweise ja auch über s1 und wieder zurück zu s0 gehen (sogar beliebig oft) und dann erst irgendwann zu s4.

-genau das drückt der erste Teil aus. (kann dir jetzt da leider kein wort für angeben, da ndet...)

-das würde ich in den ersten Teil des beschriebenen Vorgehens einordnen da du ja wege suchst wie du in endzustände gelangst.

- das mit dem leeren Wort ist so gemeint, dass du beliebig oft zu s1 und wieder zurück zu s1 gehen kannst- musst es aber nicht(d.h. du schreibst einfach ein leeres wort)

LG

Basti(Tutor)
...