📝 Automata

42篇技术文档
  将RE自动转换为FA

📅  最后修改于: 2020-12-17 06:58:37        🧑  作者: Mango

将RE转换为FA要将RE转换为FA,我们将使用一种称为子集方法的方法。此方法用于从给定的正则表达式获取FA。该方法如下:步骤1:使用带有NF动作的NFA设计给定正则表达式的转换图。步骤2:将此带ε的NFA转换为不带ε的NFA。步骤3:将获得的NFA转换为等效的DFA。范例1:根据给定的正则表达式10 +(0 + 11)0 * 1。解决方案:首先,我们将为给定的正则表达式构造过渡图。第1步:第2步:...

  雅顿定理

📅  最后修改于: 2020-12-17 06:59:29        🧑  作者: Mango

雅顿定理Arden定理对于检查两个正则表达式的等效性以及将DFA转换为正则表达式很有用。让我们看看它在DFA转换为正则表达式中的用途。以下算法用于构建给定DFA的正则表达式形式。1.令q1为初始状态。2.状态数为q2,q3,q4…. qn。最终状态可能是某个qj,其中j <= n。3.设αji代表从qj到qi的过渡。4.计算qi使得如果qj是开始状态,则我们有:5.同样,计算最终给出正则表达式“ ...

  自动摩尔定律机

📅  最后修改于: 2020-12-17 07:00:23        🧑  作者: Mango

摩尔机摩尔机是一种有限状态机,其中下一个状态由当前状态和当前输入符号决定。给定时间的输出符号仅取决于机器的当前状态。摩尔机器可以由6个元组(Q,q0,∑,O,δ,λ)描述,其中,范例1:摩尔机的状态图为摩尔机的转换表是:在以上的摩尔机器中,输出用/分隔每个输入状态。 Moore机器的输出长度大于输入长度1。输入:010过渡:δ(q0,0)=>δ(q1,1)=>δ(q1,0)=> q2输出:1110...

  自动测量机

📅  最后修改于: 2020-12-17 07:01:14        🧑  作者: Mango

机器Mealy机器是一种机器,其中输出符号取决于当前输入符号和机器的当前状态。在Mealy机器中,对于每个状态,用每个输入符号表示输出,并用/分隔。 Mealy机器可以用6个元组(Q,q0,∑,O,δ,λ')描述范例1:针对二进制输入序列设计Mealy机器,以便如果它具有子字符串101,则机器输出A;如果输入具有子字符串110,则输出B,否则输出C。解决方案:对于设计这样的机器,我们将检查两个条件...

  从Mealy机到Moore机的转换

📅  最后修改于: 2020-12-17 07:02:08        🧑  作者: Mango

从Mealy机到Moore机的转换在Moore机器中,输出与每个状态相关联,在Mealy机器中,输出沿带有输入符号的边给出。为了将Moore机器转换为Mealy机器,将状态输出符号分配到输入符号路径。但是,当将Mealy机器转换为Moore机器时,我们将为每个新的输出符号创建一个单独的状态,并根据传入和传出的边缘进行分布。以下步骤用于将Mealy机器转换为Moore机器:步骤1:针对每种状态(Qi...

  从摩尔机到Mealy机的转换

📅  最后修改于: 2020-12-17 07:43:17        🧑  作者: Mango

从摩尔机到Mealy机的转换在Moore机器中,输出与每个状态相关联,而在粉状机器中,输出沿带有输入符号的边给出。的摩尔机和米利机装置两者的机器的等价生成用于同一输入的字符串相同的输出字符串。我们无法直接将摩尔机转换为等效的Mealy机,因为对于给定的输入,Moore机的长度比Mealy机长一倍。为了将Moore机器转换为Mealy机器,将状态输出符号分配到输入符号路径中。我们将使用以下方法将Mo...

  自动机上下文无关语法| CFG

📅  最后修改于: 2020-12-17 07:44:26        🧑  作者: Mango

上下文无关语法(CFG)CFG表示无上下文语法。它是一种形式语法,用于以给定形式语言生成所有可能的字符串模式。上下文无关的语法G可以由四个元组定义为:哪里,G是语法,由一组生产规则组成。它用于生成语言的字符串。T是终端符号的最终集合。用小写字母表示。V是非终结符的最终集合。用大写字母表示。P是一组生产规则,用于将字符串的非终结符(位于生产左侧)替换为其他终结符或非终结符(位于生产右侧)。S是用于导...

  自动机派生

📅  最后修改于: 2020-12-17 07:45:24        🧑  作者: Mango

推导推导是一系列生产规则。它用于通过这些生产规则获取输入字符串。在解析期间,我们必须做出两个决定。这些如下:我们必须确定要替换的非终端。我们必须确定将替换非终端设备的生产规则。我们有两个选择来决定使用生产规则放置哪个非终端设备。1.最左派生:在最左侧的派生中,将扫描输入,并用生产规则从左到右替换输入。因此,在最左边的推导中,我们从左到右读取输入字符串。例:生产规则:输入值最左边的推导是:2.最右派...

  自动机派生树

📅  最后修改于: 2020-12-17 07:46:22        🧑  作者: Mango

衍生树派生树是用于给定CFG的给定生产规则派生的图形表示。这是显示如何从一组给定的生产规则中获取某些字符串的推导的简单方法。派生树也称为解析树。解析树遵循运算符的优先级。最深的子树首先遍历。因此,在父节点的运算符拥有的子树运算符较少的优先级。解析树包含以下属性:根节点始终是指示开始符号的节点。从左到右读取派生。叶节点始终是终端节点。内部节点始终是非终端节点。范例1:生产规则:输入值第1步:第2步:...

  语法中的自动机歧义

📅  最后修改于: 2020-12-17 07:47:17        🧑  作者: Mango

语法歧义如果对于给定的输入字符串,存在不止一个最左导数或不止一个最右导数或不止一个解析树,则文法是不明确的。如果语法不是模棱两可的,那么就将其称为模棱两可。如果语法有歧义,则不利于编译器的构造。没有方法可以自动检测并消除歧义,但是我们可以通过重写整个语法而不会歧义来消除歧义。范例1:让我们考虑带有生成规则的语法G解:对于字符串“ 3 * 2 + 5”,上述语法可以通过最左侧的派生生成两个解析树:由...

  自动机明确语法

📅  最后修改于: 2020-12-17 07:48:13        🧑  作者: Mango

明确的语法如果文法不包含歧义,则文法可以是明确的,即对于给定的输入字符串,文法不包含一个以上最左导数,一个以上最右导数或一个以上解析树。要将歧义语法转换为歧义语法,我们将应用以下规则:1.如果在生产规则中使用了左关联运算符(+,-,*,/),则在生产规则中应用左递归。左递归表示右侧最左边的符号与左侧的非终结符相同。例如,2.如果在生产规则中使用了权限关联运算符(^),则在生产规则中应用权限递归。右...

  CFG的自动机简化

📅  最后修改于: 2020-12-17 07:49:09        🧑  作者: Mango

简化CFG如我们所见,各种语言可以有效地由上下文无关的语法表示。并非所有语法都总是经过优化的,这意味着语法可能包含一些额外的符号(非终结符)。有了多余的符号,不必要的增加了语法的长度。简化语法意味着通过删除无用的符号来减少语法。简化语法的属性如下:G的每个变量(即非终结点)和每个终结点都出现在L中某个单词的派生中。X→Y不应有任何产物,其中X和Y是非末端的。如果ε不是语言L,则不必是X→ε。让我们...

  自动机乔姆斯基的范式(CNF)

📅  最后修改于: 2020-12-17 07:50:09        🧑  作者: Mango

乔姆斯基的范式(CNF)CNF代表Chomsky范式。如果所有生产规则都满足以下条件之一,则CFG(上下文无关文法)为CNF(乔姆斯基范式):开始生成符号ε。例如,A→ε。一个非终端生成两个非终端。例如,S→AB。生成终端的非终端。例如,S→a。例如:语法G1的生成规则满足为CNF指定的规则,因此语法G1在CNF中。但是,语法G2的生成规则不满足为CNF指定的规则,因为S→aZ包含终止符,然后是非...

  Greibach自动机范式(GNF)

📅  最后修改于: 2020-12-17 07:51:04        🧑  作者: Mango

格赖巴赫范式(GNF)GNF代表Greibach范式。如果所有生产规则都满足以下条件之一,则CFG(上下文无关语法)为GNF(Greibach范式):起始符号生成ε。例如,S→ε。生成终端的非终端。例如,A→a。一个非终端生成一个终端,后面跟着任意数量的非终端。例如,S→aASB。例如:语法G1的生成规则满足为GNF指定的规则,因此语法G1在GNF中。但是,语法G2的生成规则不满足为GNF指定的规...

  下推式自动机

📅  最后修改于: 2020-12-17 07:52:01        🧑  作者: Mango

下推式自动机(PDA)下推自动机是一种实现CFG的方式,与我们为常规语法设计DFA的方式相同。 DFA可以记住有限数量的信息,而PDA可以记住无限数量的信息。下推自动机只是NFA的“外部堆栈存储器”扩展。堆栈的添加用于向Pushdown自动机提供后进先出的内存管理功能。下推式自动机可以在堆栈上存储无限量的信息。它可以访问堆栈上的有限信息。 PDA可以将元素推到堆栈的顶部,然后从堆栈顶部弹出一个元素...