Moin,
ich sitze gerade an den Prozessgraphen für FGI II und komme da irgendwie nicht weiter.
Als Beispiel wird im Skript (Seite 134) folgendes gezeigt:
((a + b) *c) *d) ->^b c * d
Das ist noch recht klar.
Dann folgt die Aufgabe, einen Prozessgrapg für etwa folgendes herzuleiten:
((a + b)c + ac)d
Wie mache ich das denn nun?
((a + b)c + ac)d
Wie mache ich das denn nun?
Du gehst erstmal von außen nach innen vor, um zu gucken, was da denn steht. Also ganz außen ist das erstmal eine Nacheinanderausführung - erst muss der Klammerausdruck kommen, dann das d.
Also schaust Du Dir den Klammerausdruck an, das ist eine Alternative zwischen (a+b)c und ac.
ac wiederum ist eine Nacheinanderausführung (ich fange damit an, weil das die einfachere der beiden Alternativen ist), da bleibt dir nichts, als erstmal a auszuführen. Schreib also eine Transition a hin. Übrig bleibt das c, da Du Dich gegen die Alternative (a+b)c entschieden hast, und das d aus der äußeren Nacheinanderausführung (also insgesamt cd).
(a+b)c ist die andere Alternative. Das ist außen erstmal wieder eine Nacheinanderausführung, du musst auf jeden Fall erst (a+b) und dann c ausführen. a+b ist eine einfache Alternative: Du kannst jetzt die zwei Transitionen a und b aufschreiben und landest bei cd (c aus (a+b)c und d aus der äußeren Nacheinanderausführung).
Von den beiden cd's geht's über c zu d und von d über d zur Termination.
Alles verstanden? Sonst frag' ruhig gezielt bei den Stellen nach, die noch unklar sind.
Du lässt Dich durch den Umstand verwirren, dass vom Startzustand mehrere verschiedene Zustände über a erreichbar sind. Deswegen kann man nicht die Frage stellen, welches der nächste Zustand ist, wenn man die Aktion a ausführt. (vergleiche nichtdeterministische Automaten)
Mal eine davon etwas abweichende Frage; ich stehe gerade auf dem Schlauch:
Angenommen ich habe (a + b) * a * c
und ich führe a aus.
Dann dühre ich alle a aus?? - ja, oder?!
*VERWIRRT*
Dann dühre ich alle a aus?? - ja, oder?!
Nein.
(a + b) * a * c ---a---> a*c
Das kannst Du aus folgender Regel ableiten:
x ---v---> terminiert
---------------------
x*y ---v---> y
Mit x = (a+b) und y = (a*c).
Dann dühre ich alle a aus?? - ja, oder?!
Nein.
(a + b) * a * c ---a---> a*c
Das kannst Du aus folgender Regel ableiten:
x ---v---> terminiert
---------------------
x*y ---v---> y
Mit x = (a+b) und y = (a*c).
Danke!
Ich hatte sämtliche Dinge in Frage gestellt und war total verwirrt!! ;)
Hast Du nächste Woche Prüfung?
Dann berichte mal, wie es gelaufen ist, ich habe am Freitag Prüfung.
Dann berichte mal, wie es gelaufen ist, ich habe am Freitag Prüfung.
Ich muss mich korrigieren:
Ich habe Montag Klausur, nicht Prüfung… ;)