04.09.01. endlicher Automat – Verstehen

Gegeben sei der folgende endliche Automat:

Dieser Automat akzeptiert die Sprache aller Sequenzen über dem Alphabet {a,b}, die eine gerade Anzahl von a’s beinhalten.

Repräsentiere diesen Automaten in Prolog und schreibe ein Prädikat fsa_accept/1, das als Argument eine Liste nimmt und gelingt, wenn die Liste eine von dem Automaten akzeptierte Sequenz ist.

?- fsa_accept([a,b,a,a,b,b,a]).
true.
?- fsa_accept([a,a,c]).
false.
?- fsa_accept([a,b]).
false.

Teil dieser Aufgabe ist auch, sich das Datenformat, in dem der Automat in Prolog repräsentiert wird, auszudenken! fsa_accept ruft also andere Prädikate auf, die man auch selbst implementieren muss.

Bearbeite die folgenden Fragen, um der Lösung einen Schritt näher zu kommen!

Welcher ist der Start- und welcher der Endzustand in der obigen Abbildung des Automaten?

Welche Übergänge gibt es bei diesem Automaten?

Welche Teile des Automaten muss die Prolog-Implementierung NICHT explizit kennzeichnen?

Noch keine Kommentare eingereicht. Bitte hilf uns diese Aufgabe zu verbessern.

Schreibe einen Kommentar