04.09.02. endlicher Automat – Vertiefung

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!

Wie könnte eine Übergangsfunktion des Automaten in den Wissensbasis aussehen?

Nun brauchen wir ein Prädikat fsa. Was genau sollte dies machen?

Jetzt, da wir wissen, was das Prädikat fsa machen soll, müssen wir schauen wie genau wir dies implementieren!

Nach den Informationen der letzten Fragen, wie müsste nun das Prädikat informal aussehen?

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

Schreibe einen Kommentar