Endliche Automaten

  • Hallo,


    brauche mal wieder eure Hilfe.


    Ich schaue mir gerade endliche Automaten an und versteh da einige Punkte nicht so richtig.
    Es geht hier um einen endlichen Automaten. Mit 3 Zuständen, wobei 1 Anfangszustand ist und 3 der Endzustand.
    Um Euch zu verdeutlichen, was ich meine, hier mal ein Bild:



    Meine Frage ist nun.


    1:
    Das "a" von " 1 " in Richtung " 2 " geht.. leuchtet mir ein..Frage: Gibt es da ausnahmen ?


    2:
    Weshalb, dreht das "b" , da bei der "1" eine Ehrenrunde ?


    3:
    Weshalb, zeigt das zweite "b" von "2" auf "1" und nicht anders rum ?


    4:
    Weshalb machen "a" und "b" ebenfalls eine Ehrenrunde bei "3" ?
    Weshalb reitet kein "b" auf einem Pfeil von " 2" nach "3" ?
    /* Meine Idee:
    bei "3" wird gezeigt, dass das Wort aktzeptiert wurde.

  • 1: MWn nicht.
    2: So lange b kommt, wird Zustand 1 beibehalten/ausgeführt
    3: Wenn Zustand 2 aktiv ist und ein 'b' kommt, geht es über zu Zustand 1
    4: Weil Zustand 3 nur durch ein 1 aktiviert wird, wenn Zustand 3 aktiv ist, kann kein anderer Zustand mehr aktiviert werden

  • Okay.. 2. verstehe ich fast.. eine Frage dazu noch..
    Als erstes lese ich ja ein "a" ein.. welche auf die "2" zeigt.. Wieso gehts dann nicht von der "zwei" aus mit dem b weiter, sondern da "b" macht eine extra runde.. ?

  • Ui, ein Semester her und schon wieder fast alles vergessen^^
    Soweit ich noch weiß muss bei Automaten immer ein Zustandsübergang jeder Art von jedem Zustand aus weggehen. Das was du da hast ist ja nur ein Beispiel, aber vielleicht hilft dir das wenn du dir einen Automaten für irgendwas realistisches anguckst, z.B. einem Geldautomaten (bei uns beliebtes Beispiel).


    Beim Posten solcher Bilder wäre ich übrigens vorsichtig, da sie meistens urheberrechtlich geschützt sind.

  • Okay.. 2. verstehe ich fast.. eine Frage dazu noch..
    Als erstes lese ich ja ein "a" ein.. welche auf die "2" zeigt.. Wieso gehts dann nicht von der "zwei" aus mit dem b weiter, sondern da "b" macht eine extra runde.. ?


    Du startest bei 1 und liest ein 'a' ein. Dann kommst du zu 2. Wenn du dann ein 'b' einliest, kommst du wieder zu 1. Jetzt kannst du drölfmillionen 'b's einlesen, und bleibst bei 1, wenn du dann aber wieder ein 'a' liest, kommst du zu 2. Wenn du a b a einliest, kommst du ge nau so zu 2, wie wenn du a b b b b b b b b b b b b b b b b a einliest.

  • S3cret :
    Ja das stimmt wohl, unsere Übungsaufgaben sind alle mit Copyright versehen.. Die Präsi allerdings nicht. Und zur Sicherheit ist ja der name vom Prof angegeben..


    Siqin :


    Zitat

    Wenn du dann ein 'b' einliest, kommst du wieder zu 1


    Meinst du damit den Pfeil von der " 2 " zur " 1 " ? Wenn ja, dann verstehe ich auch den Nachfolgenden Satz..


    Wenn ich a eingebe, komme ich zur 2.. nun gebe ich ein b ein.. komme wieder zu 1, wenn ich nochmal ein b eingebe würde ich immer noch bei der 1 bleiben und eine ehrenrunde drehen..
    also muss jetzt ein a kommen damits weiter geht.. ABER


    Gehen wir nochmal zurück zum Anfang:


    Ich gebe ein a ein.. Komme also zur 2, nun gebe ich ein b ein.. WIESO geht der wieder zurück zur 1 ? Der kann doch gleich zur 3 gehen.. Das versteh ich noch nicht..


    Zweites Problem:


    NOchmal von Anfang:
    Ich gebe ein a ein, komme zur 2, gebe ein b ein, komme zurück zur 1. um weiterzukommen gebe ich nun ein a ein.. somit käme ich zur 3.
    Wieso machen dann a UND b eine ehrenrunde ?





    _____________________________________________________________________________________________________________




    So zusätzlich noch ein weiteres Problem. Folgende Aufgabe habe ich.. aus Copyright Gründen, muss ich es ein wenig anders machen...
    Es geht um die Kommentar Funktion /* Blbabala */


    Ich sol einen EA entwickeln, über das Eingabealphabet = {/,*,a} läuft.
    Jetzt frage ich mich:


    1. Wie viele Zustände hat das Ding und vor allem, wie bekomme ich des raus ?
    2. Wie mit welchem würde ich Anfangen ? Meine Idee wäre mit /
    da ein Kommentar ja auch mit /* eingeleitet wird.
    Und nu ?
    Wäre schön, wenn mir da jmd. helfen kann..
    LG

  • Also diese Ehrenrunde sind einfach nur eingebaut. Das ist von Maschine zu Maschine anders. Es könnte auch sein, dass man von 2 zu 3 nur mit b kommt und mit a dann zu 1. Das ist einfach nur die Aufgabe. Das ist nicht bei jeder so.


    Beim anderen Problem ist es genau das selbe. Die "Ehrenrunden" sind einfach so eingebaut worden. Bei einer Endlichen Automaten kann eine Funktion nur aufhören, wenn sie im Endzustand ist. Da Ihr damit wrsl gerade erst angefangen habt, wurde die Aufgabe so gestellt, dass du immer im Endzustand bleibst, sobald du einmal drinnen warst.
    Bei einer anderen Aufgabe könnte es dann wieder heißen, dass du von 3 aus mit A wieder zu 2 kämest. Das ist alles abhängig von der Aufgabe.