FA模拟算法问题

时间:2014-05-13 05:07:10

标签: algorithm state-machine

我有这个语法,我的教授给了我。它被设置为识别由有限状态自动机定义的字符串。它应该被转换为识别输入的最长有效前缀。

//This would output valid if the whole string is valid not the longest

read input;
state = init;
while not end of input
{
  state = move(state,symbol);
  readnextInput();
}
if state is in (F):Final States print (valid);
else print(invalid);

我尝试将“& state is in (F)”添加到while条件中。但这将识别最短的有效前缀。

这可能是什么问题?我应该定义一个堆栈并在每个字符串到达​​最终状态时将其推出并将最后一个字符串作为解决方案弹出来吗?

1 个答案:

答案 0 :(得分:1)

您是否尝试使用有限自动机匹配签名? 如果是这样,那么this论文可能对你有所帮助,就像我为多种模式搜索所做的那样。