04.09.03. endlicher Automat – Accept

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!

Überlege dir nun wie das Prädikat fsa_accept aussehen soll.

Wann soll das Prädikat fsa_accept gelingen?

Kommentare:
  1. "nicht von „einen fsa“ sprechen sondern von DEM fsa. Alle Unteraufgaben noch mal in Ruhe lesen und korrigieren."

Schreibe einen Kommentar