Grundidee für diesen Kellerautomaten:
Es soll ein Kellerautomat zu einer Sprache gebildet werden, die folgende Wörter enthalten: w = a^m c^q b^n a^p, mit der Einschränkung, dass die Anzahl a's (vorne) gleich der Anzahl von b's und a's (hinten) sind. Zudem werden diese durch die c's getrennt, deren Anzahl aber gerade ist. Demnach:
1. Es werden alle a's in den Keller gelesen (um diese später mit den b's und a's zu vergleichen)
2. Anschließend werden die c's eingelesen, dabei wird immer ein c in den Keller geschrieben, und mit dem nächsten c wird dieses wieder aus dem Keller gelöscht. So können Sie überprüfen, dass die Anzahl der c's gerade bleibt.
3. Wenn nun das erste b auftritt, dann fangen Sie an, die a's, die am Anfang in den Keller geschrieben wurden, wieder zu löschen. Das gleiche wird für die anschließenden a's gemacht. Am Ende darf nichts mehr im Keller liegen, sonst stimmen die vorgegebenen Anzahlbedingungen nicht.
Das ist die Grundidee: Nun müssen Sie noch geeignete Zustandswechsel einführen, um zu gewährleisten, dass die Reihenfolge von a, c, b, a erhalten bleibt und hier nichts durcheinander gerät.
Zudem müssen Sie noch überprüfen, welche "Ausnahme"Übergänge Sie brauchen, wenn z.B. gar keine c's auftauchen oder keine b's, ... (siehe Einträge oben).
Ich hoffe, dass Ihnen das weiter hilft.
Freundliche Grüße
Friederike Pfeiffer