问题标签 [automata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2940 浏览

theory - 上下文无关语言问题(Pumping Lemma)

我知道这与编程没有直接关系,但我想知道是否有人知道如何将泵引理应用于以下证明:

证明L={(a^n)(b^n)(c^m) : n!=m}不是上下文无关语言

我对应用抽水引理非常有信心,但这真的让我很恼火。你怎么看?

0 投票
3 回答
33731 浏览

regex - 将正则表达式转换为 CFG

如何将一些常规语言转换为其等效的上下文无关语法?是否有必要构造对应于该正则表达式的 DFA 或者是否有一些规则可以进行这种转换?

例如,考虑以下正则表达式

01+10(11) *

如何描述上述RE对应的语法?

0 投票
2 回答
18005 浏览

regex - 正则表达式匹配 0 和 1 的字符串,没有 '011' 子字符串

我正在研究一个问题(来自Hopcroft、Motwani 和 Ullman的自动机理论、语言和计算机简介0)来编写一个正则表达式,该表达式定义一种由s 和s的所有字符串组成的语言,1不包含 substring 011

答案(0+1)* - 011正确吗?如果不是,那么正确的答案应该是什么?

0 投票
2 回答
280 浏览

javascript - 如何在 JavaScript 中制作稳定的自动机?

我正在开发一个 javascript 游戏,我有一个自动机系统来控制游戏时间和精灵动画,以及帮助路径查找系统进行计时等。我的问题是在慢速浏览器上,我用来计算时间的 javascript 循环不是很准确。它往往会跳来跳去。我有办法强制循环以 30 fps 持续运行吗?

基本上我需要一种方法让我的自动机循环以 1/30 秒的速度运行。

0 投票
9 回答
5278 浏览

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

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

我发现我不熟悉的东西清单似乎很短。例如,从该主题的 Wikipedia 条目中的自动机列表中,课程涵盖了一半,而另一半则主要与课程未涵盖的一种语言有关。

此外,在研究该理论的应用时,我得到了几乎相同的结果:编程语言语法、编译器、文本搜索等等。

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

0 投票
2 回答
88 浏览

grammar - 一组输出的两种不同语法

你能给我两种不同的语法来输出相同的单词集吗?

插图:

给定字母表 {0,1} 上的语法 A 和 B,如果语法 A 可以产生单词 0101001,那么语法 B 也可以。如果语法 B 可以产生 0101111,那么语法 A 也可以。如果语法 A 不能产生 01001 那么 B 也不能。

但这里的问题是语法 A 和 B 彼此不同,即它们使用完全不同的算法。那么他们产生的输出集合不仅仅是另一个输出的适当子集。意思是说它们对应的一组输出必须具有相同的基数。可能它们具有不同的复杂性等级,但这没关系。如果可以的话,如果您能给我提供字母 {0,1} 上的语法,就像经典的图灵机一样,我将不胜感激。

0 投票
1 回答
258 浏览

grammar - 这种语言的正确语法是什么?

我有这种语言:

{a n b m | m+n 是偶数}

什么是正确的语法?

0 投票
2 回答
1062 浏览

deterministic - 如果一种语言 (L) 被 n-state NFA 识别,那么它是否也可以被不超过 2^n 个状态的 DFA 识别?

我是这么想的,因为上限是 2^n,并且鉴于它们都是有限机器,n 状态 NFA 和具有 2^n 或更少状态的 DFA 的交集将是有效的。

我在这里错了吗?

0 投票
1 回答
586 浏览

fsm - 描述 DFA 或 NFA 的语法

是否存在用于描述 NFA 或 DFA 的转换表的标准语法?

0 投票
6 回答
1867 浏览

.net - .NET 中的 Levenshtein DFA

下午好,

有谁知道 .NET 中的 Levenshtein DFA(确定性有限自动机)的“开箱即用”实现(或易于翻译)?我有一个非常大的字典,其中包含超过 160000 个不同的单词,并且我想给定一个初始单词w ,以有效的方式在 Levenshtein 距离最多 2 个w找到所有已知单词。

当然,有一个函数可以计算给定单词的一个编辑距离处的所有可能的编辑,并将其再次应用于这些编辑中的每一个,可以解决问题(并且以一种非常简单的方式)。问题是效率 --- 给定一个 7 个字母的单词,这已经需要 1 秒多的时间才能完成,我需要更高效的东西---如果可能的话,就像 Levenshtein DFA 一样,一个需要 O( | w| ) 步骤。

编辑:我知道我可以通过一点学习来构建自己的解决方法,但目前我无法阅读 Schulz 和 Mihov 的 60 页长的文章。

非常感谢你。