19得票2回答
在Haskell中的有限自动机

如何在Haskell中表示有限自动机?它的数据类型会是什么样子? 在我们学院,自动机被定义为一个5元组(Q, X, delta, q_0, F) 其中Q为自动机的状态集,X是字母表(这部分是否必要尚不确定),delta是从(Q,X)取2元组并返回状态/-s(在非确定性版本中)的转移函数,F是...

12得票4回答
Aho-Corasick算法的可扩展性

我希望能从一个关键词短语的数据库中(这些短语是从维基百科文章标题中提取的)搜索文本文档中的关键词短语。(例如,给定一个文档,我想知道是否存在任何对应的维基百科文章)。我了解到了Aho-Corasick算法。我想知道为数百万个条目构建Aho-Corasick自动机是否高效且可扩展。

11得票3回答
将多个正则表达式合并为一个自动机

假设我有一个正则表达式列表(从外部源-文件、数据库等读取)。我想检查哪些正则表达式与一个字符串匹配。 我可以遍历所有这些正则表达式并进行匹配,但列表可能很大,这是一个关键操作。 我可以将所有这些正则表达式合并为一个(用|分隔),但问题是我只能识别第一个匹配的正则表达式,而无法得到全部匹配的...

10得票3回答
两个自动机之间的等价性

确定两个自动机之间的等价性,哪种方法最好或最容易? 即,如果给定两个有限自动机A和B,如何确定它们是否都识别相同的语言? 它们都是确定性的或都是非确定性的。

10得票1回答
用C++实现一个模拟非确定有限状态自动机的代码

我正在为自动机理论做一项作业,我需要通过确定一个确定型有限自动机的转移函数来确定一个单词是否被接受。 我有这个输入文件: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 acddd...

7得票1回答
Datalog计算类?

Datalog并不是图灵完备的。 但是它的计算类别是什么呢? 它是否等同于有限状态机或下推自动机(即上下文无关)...还是介于两者之间?

7得票3回答
在C++中设计一个非确定性有限自动机(NFA)(输出不正确)

我正在做一个模拟非确定有限状态自动机的作业,就像我在这个帖子中解释的那样。我已经从文件tarea4.in读取了以下输入: 1 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 5 aaabcccc aabbbbcdc ab...

7得票2回答
实现一个非确定有限状态自动机(NFA)

我将尝试在Java中开发一个执行非确定有限状态自动机的模拟器。第一个命令行参数是定义该机器的文本文件,第二个参数是输入字符串。如果它接受该字符串,它会打印到标准输出“accept”,后跟可以结束的接受状态列表。如果它拒绝,则输出“reject”,后跟所有可能的结束状态列表。 例如,下面是一段...

7得票1回答
有没有可以像自动机一样使用的单子?

我正在编写一个流转换器,将输入数据类型转换为输出数据类型。由于输入是由用户制作的,因此事件之间存在一些时间差。因为每个输入都需要加载一些资源,所以我想要“预测未来”,即将所有可能的输入发送到主计算中,并根据结果预加载资源。 目前,每个输入后始终只有一个输出,但最终可能会变得有趣而改变这种情况...