computer-science - 自动机理论死了吗?

标签 computer-science automata

我喜欢我所学的自动机理论和形式语言类(class),所以很自然地我开始浏览互联网,了解自该类(class)所依据的书籍撰写以来发生的事情。

我发现我不熟悉的东西列表似乎很短。例如,从该主题的维基百科条目中的自动机列表中,一半是类(class)涵盖的,另一半主要与类(class)未涵盖的一种语言相关。

此外,在研究该理论的应用时,我得到的结果基本相同:编程语言语法、编译器、文本搜索,以及……仅此而已。

那么它真的死了吗?还是继续发展?该理论有新的应用吗?

最佳答案

自动机真的很有用。近 20 年前,我完成了软件工程和计算机科学学位。第一批类(class)之一是机器模型,其中涵盖了 FSA,并尝试了一些车床、可计算性、停止问题等。

每个人都认为这门类(class)要么无聊、无关紧要、太难,要么毫无意义。圆圈和弧线对任何人来说都没有什么意义,而只有这些圆圈和弧线的磁带有什么意义呢?硬盘出了什么问题?类(class)结束时,讲师给出了一份调查问卷——你认为这门类(class)在一个月、一年、十年后有多大用处。然后,我回答对他们所有人都没有用。现在它的实用性会随着时间的推移而增加,以“非常有用”结尾

我在日常工作中经常使用自动机,它们是解决某些类别问题的正确工具,几乎没有其他工具可以与之竞争。我使用它们来压缩数百万个单词列表+类别数据(好吧,相当平庸),并且还实现了一个扩展,其中符号是复杂对象,状态转换是谓词。这允许将一组复杂的规则编译为确定性 FST,并且所有规则同时确定性地评估,没有冗余计算。

我的投票仍然有意义!

关于computer-science - 自动机理论死了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2970798/

相关文章:

java - 如何将 NFA/DFA 转换为 java?

c++ - dfa 转换函数

algorithm - 从图中删除 3 条边后更新 MST

binary - 为什么 IEEE float 使用偏置形式计算指数?

compilation - 所有的编程语言都是按顺序阅读的吗?

java - 在Java中绘制自动机的有向边

context-free-grammar - L* 和 Σ* 之间的差异

ruby - 最大子数组 - 正确格式化输出

computer-science - 验证语法是否强 LL(2)

algorithm - 文本处理的形式化方法