- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人对构建两个给定DFA的并集的算法有一个简单的描述吗?例如,假设我们在{0,1}上有两个DFA,其中
{w|w has an odd number of characters}
w has states A and B
delta | 0 | 1
----------------
A | B | B
----------------
B | A | A
{x|x has an even number of 1s}
x has states a and b
delta | 0 | 1
----------------
a | a | b
----------------
b | b | a
delta | 0 | 1
----------------
Aa | Ba | Bb
----------------
Ab | Bb | Ba
----------------
Ba | Aa | Ab
----------------
Bb | Ab | Aa
最佳答案
要理解的关键是,您必须同时运行两个DFA,或者通常必须在联合DFA中维护两个DFA的状态。
这就是为什么您必须为联合DFA创建新状态作为原始状态的直接乘法。这样,您就可以为原始DFA中的每个状态组合都拥有一个状态。
然后可以直接计算新DFA的转换规则。例如,如果您处于状态Ab,并且输入为0,则第一个DFA将进入状态B,第二个DFA将进入状态b,因此该输入的联合DFA的下一个状态将为Bb。
当您需要合并两个或更多DFA时,此方法适用于每种情况。产生的DFA可能不是最佳的,但是稍后您可以使用任何喜欢的算法将其最小化。
关于union - 您如何构建两个DFA的并集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4449950/
我最近在读一篇论文 Algorithms to Accelerate Multiple Regular ExpressionsMatching for Deep Packet Inspection关于
我正在备考,完成了图中这个任务 通常,从 NFA 到 DFA 的转换对我来说很容易。我从 NFA 创建一个转换表,并为每个"new"组合状态创建一个新列等等(看看我的尝试解释得更好) 不知何故,我对
我正在练习我的 DFA,我遇到了这个似乎非常复杂的问题。我试着把它分成两个较小的问题,我有一个答案,但它看起来不适合我。 有人可以帮助我,或者至少给我一些提示。 顺便说一下,它们都是接受状态。 我能想
正如标题所示,我希望有人帮助我编写 NFA 到 DFA 的转换的代码。我只需要伪代码。我试过用谷歌搜索,甚至找到了整个源代码,但是几乎没有资源可以帮助我给我一个正式的方法(用书面文字,而不是通过图片)
我有一个关于 DFA 最小化的问题。所以我使用了众所周知的技术将正则表达式转换为 NFA,然后使用 goto/closure 算法从中构造 DFA。现在的问题是如何将其最小化?我在这里看过有关它的课文
我已经在纸上编写了DFA,并希望将其转换为一组正则表达式。有人知道这样做的好工具吗? 最佳答案 从我的Google小搜索中,我找到了JFLAP。他们也有关于how to Convert FA to r
一个多小时以来,我一直在尝试不同的方法来解决这个问题,但我感到非常沮丧。 问题是:给出以下每种语言在 Sigma = {0,1} 上的正则表达式和 DFA。 a). {w ∈ Σ* | w 包含偶数个
我正在学习如何使用配对表法(系统化约简法)来约简 DFA。这是我们要约简的 DFA。 第一步是在表格中布置 DFA: 0
有人能告诉我所附的 DFA 是否正确吗? 我想为具有字母 Σ ={a, b} 的语言提供 DFA 我需要 DFA ----> A={ε, b, ab} 最佳答案 不,有多种原因: 您的自动机 bab
我的程序应该为二进制字符串实现 dfa...dfa 是一台一次只能处于一种状态的机器(当您输入字符串时,机器应该使用它,并且在最后一步它应该到达最终状态。如果是这样,我们说该字符串被机器接受)...这
我想创建一个 O(1) 复杂度的自动机的转换函数。我在考虑使用 HashMap 或 Binary tree 。那些想法好吗?你有什么建议吗?感谢您的关注:) 最佳答案 如果您确实需要对转换函数进行持续
我有一个 DFA A 和一个 CFG G,然后我必须检查 G 是否生成了 A 不接受(被 A 拒绝)的无限单词,以及一个不错的复杂度时间。 我想用 CFG 构造一个图,如果它包含有向循环,则生成无限语
我正在查看将 DFA 转换为正则表达式的时间复杂度分析“Introduction to the Automata Theory, Languages and Computation”,第 2 版,第
我需要生成一个确定性有限自动机 (DFA),它是从满足以下属性的所有可能的 DFA 中选出的。必须选择均匀分布的 DFA。 DFA 必须具有以下四个属性: DFA 有 N 个节点。 每个节点都有 2
我有一个 DFA (Q, Σ, δ, q0, F) 和一些“不关心的转换”。这些转换模型符号已知在某些情况下不会出现在输入中。如果采取任何此类转换,则结果字符串是否被接受都无关紧要。 是否有一种算法可
我有一个程序,它只是将所有状态作为一组状态作为输入。然后下一个输入是状态集合中的初始状态,然后是最终状态集合。 接下来是我在状态之间进行的一组转换。 例如:q0,1,q1 这意味着在输入 1 上存在从
在修改封闭源代码游戏时,我在运行时修改机器代码以跳转到我自己的代码中。为了以通用方式执行此操作,我使用模式匹配来查找我想要修改的代码位置。 (模式仅由字符/字节和通配符组成,其中字节可以变化。)通过从
从这个语法开始:https://stackoverflow.com/a/14287002/1082002我会实现一个简单的语法来接受和评估这样的简单语言: { if a==c { a
有了 DFA 的图表,如何将其转换为图灵机?我是否必须找到 DFA 接受的语言,然后创建图灵机?或者有直接的方法吗? 谢谢你。 最佳答案 DFA 中的每个转换读取输入的一个字符,跟随一个转换,然后移动
我希望在我的词法分析器中实现一个 DFA 最小化器,但我似乎无法生成一个看起来不像它已经是表达式的最小 DFA 的 DFA。 我正在从 NFA 构建 DFA,该 NFA 是使用后缀正则表达式中的汤姆森
我是一名优秀的程序员,十分优秀!