我做了自动机理论的任务,我必须确定是否一个字是由过渡功能的确定性有限自动机接受或不
我有这个输入文件:
6 8 0 2
2
5
0 0 a
0 1 a
1 1 b
1 2 c
1 3 c
3 4 d
4 4 d
4 5 d
3
aaabcccc
aabbbbcdc
acdddddd
与4个整数的输入开始时,首先是状态自动机的数目,其次是自动机的转换的数量,所述第三数量是初始状态,然后最终状态的数量。 然后来最终状态(在本例中的最终状态是2和5)。
然后来N行(N是转变的数量),每个2点的整数和字符,I,J和C,表示其中过渡,即,从状态变为状态i到与字符C.状态j以下这条线来与一个整数S,其中将包含字符串进行测试,则S线与各个串的数目。
这个程序的输出应该是:
Case #2:
aaabcccc Rejected
aabbbbcdc Rejected
acdddddd Accepted
应该说,如果字符串被接受或拒绝。 到目前为止,我只编码和输入工作。
我不知道怎么会是最方便的代表自动机 。 我应该简单地使用数组? 我将适用于阵列逻辑是什么? 有没有办法做到这一点无需事先知道自动字母? 我需要一个数据结构来表示自动机? 我有点坚持了这项任务,并希望一些想法,一些伪代码或想法去做。 在另一种语言的代码? 我不想解决方案,因为我要尽我的任务,但如果我可以使用一些帮助