Regulärer Ausdruck |
marie m
Eroberer
Dabei seit: 08.06.2013
Beiträge: 57
|
|
Hi! Ich hätte mal eine Frage... Ich muss ein DFA kreieren von Sprache von den regulären Ausdruck ({{a,b}*,(0,c)*})*.. Könnte ihr sagen welche Sprache das ist?
|
|
14.12.2013 17:05 |
|
|
Karlito
Kaiser
Dabei seit: 11.04.2011
Beiträge: 1.461
|
|
Hallo Marie,
nein, ist er nicht, da du die Alternative {aa, aba, 0} nicht beachtest. Außerdem wäre dein Automat kein DFA, da nicht für alle Eingaben eine Transition von jedem Knoten aus exisitieren. Weiterhin ist der Startzustand nicht gekennzeichnet.
Edit: Erstelle zuerst einen NFA.
VG,
Karlito
|
|
15.12.2013 17:09 |
|
|
marie m
Eroberer
Dabei seit: 08.06.2013
Beiträge: 57
|
|
Bedeutet die Alternative {aa, aba, 0} dass es jeweils auch nur aa, oder nur aba, oder nur 0 sein kann?
|
|
15.12.2013 17:42 |
|
|
Karlito
Kaiser
Dabei seit: 11.04.2011
Beiträge: 1.461
|
|
Nicht "auch", sondern ausschließlich. Auf b* darf nur eins der drei Möglichkeiten (gleichzeitig) folgen (und muss sogar, da sonst der Finalzustand nicht erreicht wird).
VG,
Karlito
|
|
15.12.2013 17:52 |
|
|
Karlito
Kaiser
Dabei seit: 11.04.2011
Beiträge: 1.461
|
|
Hallo Marie,
bis auf die Tatsache, dass der Startzustand noch nicht gekennzeichnet ist, ist der Automat korrekt.
Eine optimierung könnte man noch einbauen: der zweite Finalzustand ist nicht notwendig. Eine Kante zurück zum ersten Finalzustand mit der Eingabe "b" wäre ausreichend.
Noch zwei Anmerkungen:
- Es ist kein DFA
- Normalerweise sollte man den Zuständen noch Namen geben. (War dir hier sicher nur zu aufwändig)
VG,
Karlito
|
|
15.12.2013 18:47 |
|
|
marie m
Eroberer
Dabei seit: 08.06.2013
Beiträge: 57
|
|
Danke für deine Hilfe!!!
|
|
28.12.2013 00:54 |
|
|
|