- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我要从两个更简单的 DFA 的交集构建一个 DFA。第一个更简单的 DFA 识别所有至少有三个 0 的字符串的语言,第二个更简单的 DFA 识别最多两个 1 的字符串的语言。字母表是 (0,1)。我不确定如何将两者结合起来构建更大的 DFA。谢谢!
最佳答案
这是一个总体思路:
最直接的方法是根据您看到的 1 的数量使用不同的路径来计算您的 0,这样它们彼此“平行”。每当你看到一个 1 时,从路径的一层移动到下一层,然后如果你看到第三个 1,则从最后一层移动到陷阱状态。根据分配的确切性质,你可以压缩这个,但是一旦有了基本布局,您就可以确定它。通常,您可以将第一个 DFA 中的状态与第二个 DFA 中的状态组合起来,以产生较小的最终结果。
Here's a more mathematical explanation :
Constructing automata for the intersection operation.
Assume we are given two DFA M1 = (S1, q(1) 0 , T1, F1) and M2 = (S2, q(2) 0 , T2, F2). These two DFA recognize languages L1 = L(M1) and L2 = L(M2). We want to design a DFA M= (S, q0, T, F) that recognizes the intersection L1 ∩L2. We use the idea of constructing the DFA for the union of languages. Given an input w, we run M1 and M2 on w simultaneously as we explained for the union operation. Once we finish the runs of M1 and of M2 on w, we look at the resulting end states of these two runs. If both end states are accepting then we accept w, otherwise we reject w.
构造新的转换函数时,最容易想到的方法是使用状态对。例如,考虑以下 DFA:
现在,我们可以通过同时遍历两个 DFA 来开始组合这些。例如,两者都从状态 1 开始。现在如果我们看到一个 a
作为输入会发生什么?那么,DFA1 将从 1->2,而 DFA2 将从 1->3。那么,在组合时,我们可以说交集将从状态“1,1”(两个 DFA 都处于状态 1)到状态“2,3”。状态 2 是 DFA1 中的接受状态, 状态 3 是 DFA2 中的接受状态,因此状态“2,3”是我们新的 DFA3 中的接受状态。我们可以对所有状态/转换重复此操作并结束:
这有意义吗?
引用:在 this assignment 中找到的图片来自康奈尔大学。
关于finite-automata - 为以下语言构建 DFA : all strings that have at least three 0s and at most two 1s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4024784/
有人能告诉我 Transducer 与 NFA 有何不同吗? 最佳答案 Transducers有两个磁带(输入和输出)。 NFAs只有一个。 关于automata - 换能器与NFA的区别,我们在St
我的教授希望我们能够快速判断给定的语言是否是常规的、上下文无关的但不是常规的,或者不是上下文无关的(换句话说,无需绘制 PDA、编写上下文无关语法并使用泵)上下文无关语言的引理)。 我知道一些技巧可以
如果您已经拥有该算法的伪代码,它们是否有任何有用的指南来描述图灵机的功能? 我正在修一门关于复杂性理论的类(class),我需要花一些时间来描述决定或接受某种语言(状态、转换等)的图灵机,尽管我知道如
如上所述,我有一个转换图,但我不知道如何找到它的语言,在我看来有很多可能性,但我一定是误解了。我的理解是,任何从初始状态到最终状态的词都被接受。当然,有很多不同的方法可以实现这一目标。阿布,阿布,阿布
换句话说,我为什么要了解它?我什么时候要说...哦,我需要为此了解下推自动机或图灵机。 我看不到 Material 的应用。谢谢 最佳答案 您应该了解自动机理论,因为它会帮助您了解给定系统中的计算可能
哪个是确定两个自动机之间等价的最佳或最简单的方法? 即,如果给定两个有限自动机 A 和 B,我如何确定两者是否识别相同的语言? 它们都是确定性的或都是非确定性的。 最佳答案 一种不同的、更简单的方法是
我正在为我的计算理论课做作业,对如何组合 2 个 DFA 有点困惑。这本书说它使用“交叉结构”来做到这一点,但我不确定那是什么。这里有2个例子: 最佳答案 这个想法非常简单,尽管我可以看到混淆的地方。
所以我正在学习一项关于下推自动机和上下文无关语言的测试,但我陷入了这个结构。 除了我将在下面解释的一个部分之外,这个自动机的每个部分都完全工作正常。 它需要识别的语言是:{ x#y#z#w | {0,
我正在学习如何使用配对表法(系统化约简法)来约简 DFA。这是我们要约简的 DFA。 第一步是在表格中布置 DFA: 0
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我正在尝试证明这种语言是否: L = { w={0,1}* | #0(w) % 3 = 0 } (number of 0's is divisble by 3) 经常使用抽水引理,但我找不到办法。我得
以下正则表达式有什么区别? (a U b)* 和 (ab)* 联合和串联的区别? 上面哪个正则表达式接受 'a' 总是在 'b' 之前的字符串? 请澄清.. 提前致谢。 最佳答案 (ab)* 表示序列
我正在寻找一些有限自动机、下推自动机和图灵机任务示例的良好来源(用于手动解决)。 我四处寻找,但没有发现什么特别的东西,所以我想知道是否有人有一些很好的例子。提前致谢。 最佳答案 你最好的选择可能是买
嗯 - 问题说的是什么。这是我一直听说的事情,但我还没有时间去研究它。 (更新)我可以查找定义……但为什么不(正如@erikson 指出的那样)深入了解您的真实经历和轶事。 Community Wik
我正在使用 SPIN 模型检查器 GUI - iSPIN。 GUI 附带了一个很好的自动机 View 生成器,但是为了查看完整的自动机,我需要放大/缩小。如果可能的话,我还想将该自动机保存在漂亮的图像
如果您不熟悉 LTL(线性时序逻辑),请跳过此问题!是的,LTL 对编程非常重要,因为它是我们用来验证程序的模型检查系统的核心。 鉴于这些命题符号及其含义... Gp - 总是 P Fp - 有时 P
问题:构建一个只接受那些不以 ba 结尾的单词的 FA。我想为这个问题画 DFA,但我不明白我该怎么做,请帮我画这个 最佳答案 步骤: 绘制以“ba”结尾的 DFA。 反转状态即 做出最终状态,非最终
我现在正在上一门关于计算理论的类(class)。我能很好地理解这些概念。我可以解决问题。而且,当我问我的讲师关于真实世界的应用程序时,他告诉我这些概念在编译器设计中肯定有用且必不可少。但是,至少要进行
我必须绘制一个 DFA,它接受包含 1101 作为子字符串的所有字符串的集合。我自己尝试了一个,但想确定它是否正确,但无法附加图像,因为我是新用户。 谢谢 最佳答案 这是一个简单的 DFA。它需要 5
在形式语言的乔姆斯基分类中,我需要一些 Non-Linear, Unambiguous and also Non-Deterministic 的例子上下文无关语言(N-CFL)? 线性语言 : 对于
我是一名优秀的程序员,十分优秀!