Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Automatentheorie » Vollständigen endlichen Automat für regulären Ausdruck + Reguläre Grammatik erstellen » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
Karlito

Hallo FHDresden4Life,

deine Grammatik sieht korrekt aus. Ein * sorgt nicht für das Auftauchen eines epsilon, eher noch ein Endzustand... Zwingend wird ein Epsilon bei Typ3-Sprachen erst, wenn die Sprache das leere Wort enthält.

Gruß,

Karlito
FHDresden4Life

Zitat:
Original von Karlito
Hallo FHDresden4Life,

das mit dem epsilon kann man so machen. Du hast aber noch ein kleines Fehlerchen in deiner Lösung. [latex]Z_4\rightarrow cZ_2[/latex] muss zu [latex]Z_4\rightarrow aZ_2[/latex] werden. Ist sicher nur ein Copy-Paste-Fehler...

Gruß,

Karlito



Guten Morgen,

ich sollte meine Grammatik vereinfachen und komme nun auf dieses Ergebnis im Anhang.

Ist sie soweit korrekt? ich dachte wenn ein * in einer RegEx vorkommt wäre ein Epsilon zwingend notwendig.

Gruß
Karlito

Hallo FHDresden4Life,

das mit dem epsilon kann man so machen. Du hast aber noch ein kleines Fehlerchen in deiner Lösung. [latex]Z_4\rightarrow cZ_2[/latex] muss zu [latex]Z_4\rightarrow aZ_2[/latex] werden. Ist sicher nur ein Copy-Paste-Fehler...

Gruß,

Karlito
FHDresden4Life

Zitat:
Original von Karlito
Hallo FHDresden4Life,

[latex]<br />
\begin{array}{rll}<br />
S \rightarrow & aT &<br />
T \rightarrow & b & \text{ab als Wort in der Sprache enthalten}<br />
T \rightarrow & c & \text{kann nicht stimmen, da sonst ac als Wort in der Sprache wäre}<br />
T \rightarrow & dS & \text{adb wäre so ein Wort der Sprache}<br />
\cdots &  & <br />
\end{array}<br />
[/latex]

Edit: Schau Dir doch noch mal an wie ich die Grammatik erstellt habe, es ist wie gesagt eigentlich nur abzulesen...

Hier der Anfang:
[latex]<br />
\begin{array}{rl}<br />
Z_0 \rightarrow & aZ_1<br />
Z_0 \rightarrow & eZ_6<br />
\cdots & <br />
\end{array}<br />
[/latex]

Gruß,

Karlito


Okay, ich habe die Prozedur wohl verstanden.
Ich frage mich nur ob ich die Endzustände ebenfalls Kennzeichnen darf, wie ich es in meinem Beispiel via Epsilon getan habe.

Meine Fertige Grammatik ist im Anhang.

Gruß
Karlito

Hallo FHDresden4Life,

[latex]<br />
\begin{array}{rll}<br />
S \rightarrow & aT &<br />
T \rightarrow & b & \text{ab als Wort in der Sprache enthalten}<br />
T \rightarrow & c & \text{kann nicht stimmen, da sonst ac als Wort in der Sprache wäre}<br />
T \rightarrow & dS & \text{adb wäre so ein Wort der Sprache}<br />
\cdots &  & <br />
\end{array}<br />
[/latex]

Edit: Schau Dir doch noch mal an wie ich die Grammatik erstellt habe, es ist wie gesagt eigentlich nur abzulesen...

Hier der Anfang:
[latex]<br />
\begin{array}{rl}<br />
Z_0 \rightarrow & aZ_1<br />
Z_0 \rightarrow & eZ_6<br />
\cdots & <br />
\end{array}<br />
[/latex]

Gruß,

Karlito
FHDresden4Life

Guten Abend,

also mein Automat wurde so abgenommen, war korrekt - Vielen Dank!

Ich musste allerdings feststellen, dass mit Regulärer Grammatik jene aus der Chomsky-Hierarchie (Stufe 3).

Ich habe dass mal stellenweise versucht anhand meines Automaten und kam zu folgendem Ergebnis:

S -> aT
T ->; b
T -> c
T -> dS
S -> eT
S -> eS
T -> epsilon
T -> f
T -> fS
T ->; gS


Ich weiß nicht ob das korrekt ist, hat jemand eine Idee?


Liebe Grüße
Karlito

Ja klar kannst Du den Papierkorbzustand in dein Beispiel einbauen. Laut der Definition die ich kenne ist, das was Du gezeichnet hast auch kein DEA. in einem DEA gibt es von jedem Zustand für jede Eingabe einen (eindeutigen) Übergang. Und da kommt der Papierkorbzustand ins Spiel.
FHDresden4Life

Kann ich diesen Papierkorbzustand anhand meines Beispiels an jeder Stelle einabeuen? Oder gibt es bestimmte Kriterien?
Karlito

Zitat:
Original von FHDresden4Life
Stimmt die Reihenfolge der Zustandsbezeichnungen? Also Z1 bis Z8 oder ist die Reihenfolge irrelevant?


Die Reihenfolge und Bezeichnung ist irrelevant. Verschiedene Zustände sollten nur verschiedene Namen haben.

Zitat:
Original von FHDresden4Life
Desweiteren soll dieser Automat vollständig sein, dh. er soll Fehlerbehandlungen enthalten... Davon hab ich absolut keinen Schimmer, hast du irgendwelche Ratschläge diesbezüglich?


Man führt dafür einen neuen Zustand ein, den so genannten Papierkorbzustand. Danach führt man für alle ungültigen Eingaben von allen Zuständen eine neue Kante zu diesem Papierkorbzustand ein. Weiterhin eine reflexive Kante vom Papierkorbzustand für alle möglichen Eingaben.

Gruß,

Karlito
FHDresden4Life

Zitat:
Original von Karlito
Der Automat passt so. Die Grammatik läuft im prinzip genau so wie vorher. Einfach ablesen. Probier es doch mal bitte.

Gruß,

Karlito


Alles klar, ich mach mich ran.

Habe allerdings noch zwei andere Fragen.

Stimmt die Reihenfolge der Zustandsbezeichnungen? Also Z1 bis Z8 oder ist die Reihenfolge irrelevant?

Desweiteren soll dieser Automat vollständig sein, dh. er soll Fehlerbehandlungen enthalten... Davon hab ich absolut keinen Schimmer, hast du irgendwelche Ratschläge diesbezüglich?
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.