04.12. Endliche Transduktoren (Zusatzaufgabe)

Gegeben sei der folgende endliche Transduktor:

Dieser Transduktor akzeptiert Paare von Sequenzen über dem Alphabet {a,b}, wobei die zweite Sequenz aus der ersten hervorgeht, wenn man jedes zweite a durch ein b ersetzt.

Repräsentiere diesen Automaten in Prolog und schreibe ein Prädikat trans_accept/1, das als Argumente Listenpaare nimmt und gelingt, wenn das Listenpaar von dem Transduktor akzeptiert wird. Erstelle hierzu ein eigenes Prolog Programm und teste dieses eigenständig.

?- trans_accept([a,b,a],[a,b,b]).
true.
?- trans_accept([a,a,a,a],X).
X=[a,b,a,b].
?- trans_accept(X,[b,b]).
X=[b,b].
?- trans_accept(X,[b,a,b]).
X=[b,a,b],X=[b,a,a].
?- trans_accept([a,c],X).
false.
Noch keine Kommentare eingereicht. Bitte hilf uns diese Aufgabe zu verbessern.

Schreibe einen Kommentar