📝 自动机理论教程

41篇技术文档
  DFA补充

📅  最后修改于: 2020-11-26 10:15:23        🧑  作者: Mango

如果(Q,∑,δ,q0,F)是接受语言L的DFA,则可以通过将其接受状态与其非接受状态交换来获得DFA的补码,反之亦然。我们将以一个示例并在下面详细说明-此DFA接受以下语言L = {a,aa,aaa,………….}在字母上∑ = {a,b}因此,RE = a+。现在,我们将其接受状态交换为其非接受状态,反之亦然,将得到以下结果:此DFA接受以下语言Ľ= {ε,b,ab,bb,ba,……}在字母上∑...

  无上下文语法介绍

📅  最后修改于: 2020-11-26 10:16:17        🧑  作者: Mango

定义-由有限的语法规则集组成的无上下文语法(CFG)是四元组(N,T,P,S),其中N是一组非终结符。T是一组端子,其中N = T = NULL。P是一组规则,P:N→(N∪T)*,即生产规则P的左侧确实具有任何右上下文或左上下文。S是开始符号。例语法({A},{a,b,c},P,A),P:A→aA,A→abc。语法({S,a,b},{a,b},P,S),P:S→aSa,S→bSb,S→ε语法({...

  上下文无关文法中的歧义

📅  最后修改于: 2020-11-26 10:16:41        🧑  作者: Mango

如果上下文无关文法G对于某个字符串w∈L(G)具有不止一个派生树,则称为歧义文法。从该语法生成的某些字符串存在多个最右或最左派生。问题检查语法G是否具有生产规则-X→X + X | X * X | X |一种是否模棱两可。解让我们找出字符串“ a + a * a”的派生树。它有两个最左边的派生。推导1–X→X + X→a + X→a + X * X→a + a * X→a + a * a解析树1-...

  CFL关闭属性

📅  最后修改于: 2020-11-26 10:17:08        🧑  作者: Mango

无上下文语言在-下关闭联盟级联Kleene Star手术联盟令L1和L2为两种上下文无关的语言。则L1∪L2为也上下文。例令L1= {anbn,n> 0}。对应的语法G1将具有P:S1→aAb | ab令L2= {cmdm,m≥0}。相应的语法G2将具有P:S2→cBb | ε联盟L1和L2,L= L1∪L2= {正Bn的}∪{CMd米}对应的语法G将具有附加产生式S→S1 | S2级联如果L1和...

  CFG简化

📅  最后修改于: 2020-11-26 10:17:55        🧑  作者: Mango

在CFG中,可能会发生派生字符串不需要所有生产规则和符号的情况。此外,可能会有一些零生产和单位生产。消除这些产生和符号被称为CFG的简化。简化基本上包括以下步骤-减少CFG撤除单位生产删除Null Productions减少CFGCFG分为两个阶段-阶段1-从CFGG推导等效语法G’,使得每个变量都推导一些终端字符串。推导程序–步骤1-包括所有符号W1,它们得出某个终端并初始化i = 1。第2步-...

  乔姆斯基范式

📅  最后修改于: 2020-11-26 10:18:30        🧑  作者: Mango

如果制作采用以下格式,则CFG格式为Chomsky正常格式-A→一个A→公元前S→ε其中A,B和C为非末端,a为末端。转换为Chomsky范式的算法-步骤1-如果起始符号S出现在右侧,则创建一个新的起始符号S’和一个新的生产S’→S。步骤2-删除空产品。 (使用前面讨论的Null生产移除算法)步骤3-删除单位生产。 (使用前面讨论的单位生产移除算法)步骤4-将每个产品A→B1…Bn(其中n> 2)...

  格赖巴赫范式

📅  最后修改于: 2020-11-26 10:19:09        🧑  作者: Mango

如果制作采用以下格式,则CFG格式为Greibach正常格式-A→bA→bD1…DnS→ε其中A,D1,…,Dn为非末端,b为末端。将CFG转换为Greibach范式的算法步骤1-如果起始符号S出现在右侧,则创建一个新的起始符号S’和一个新的生产S’→S。步骤2-删除空产品。 (使用前面讨论的Null生产移除算法)步骤3-删除单位生产。 (使用前面讨论的单位生产移除算法)步骤4-删除所有直接和间接...

  CFG抽注引力

📅  最后修改于: 2020-11-26 10:19:30        🧑  作者: Mango

引理如果L是上下文无关语言,有一个泵送长度p,使得任何字符串瓦特∈长度L≥P的可写为W = uvxyz,其中VY≠ε,|vxy | ≤p,并且对于所有i≥0,uvixyiz∈L。抽引引物的应用抽引引理用于检查语法是否与上下文无关。让我们举一个例子并说明如何检查它。问题找出语言L = {xnynzn| n≥1}是否与上下文无关。解令L是上下文无关的。然后,L必须满足泵激引理。首先,选择泵吸引理的数量...

  下推式自动机介绍

📅  最后修改于: 2020-11-26 10:20:06        🧑  作者: Mango

PDA的基本结构下推自动机是一种实现无上下文语法的方式,类似于我们为常规语法设计DFA的方式。 DFA可以记住有限数量的信息,而PDA可以记住无限数量的信息。基本上下推式自动机是-“有限状态机” +“堆栈”下推式自动机具有三个组成部分-输入磁带,控制单元,以及无限大小的堆栈。堆栈头扫描堆栈的顶部符号。堆栈执行两项操作-推送-在顶部添加一个新符号。弹出-顶部的符号被读取并删除。PDA可能会或可能不会...

  下推式自动机接受

📅  最后修改于: 2020-11-26 10:20:42        🧑  作者: Mango

有两种定义PDA可接受性的方法。最终状态可接受性在最终状态可接受性中,当在读取整个字符串后PDA处于最终状态时,PDA接受字符串。从起始状态开始,我们可以进行最终以任何堆栈值结束的移动。只要我们最终处于最终状态,堆栈值就无关紧要。对于PDA(Q,∑,S,δ,q0,I,F),最终状态F集合接受的语言是-L(PDA)= {w | (q0,w,I)⊢*(q,ε,x),q∈F}对于任何输入堆栈字符串x。空...

  PDA和上下文无关的语法

📅  最后修改于: 2020-11-26 10:21:11        🧑  作者: Mango

如果语法G是无上下文的,我们可以构建一个等效的不确定PDA,该PDA接受由上下文无语法G产生的语言。可以为语法G建立一个解析器。同样,如果P是下推式自动机,则可以构造等效的上下文无关文法GL(G)= L(P)在接下来的两个主题中,我们将讨论如何从PDA转换为CFG,反之亦然。查找与给定CFG对应的PDA的算法输入-A CFG,G =(V,T,P,S)输出-等效PDA,P =(Q,∑,S,δ,q0,...

  下推式自动机和解析

📅  最后修改于: 2020-11-26 10:21:54        🧑  作者: Mango

解析用于使用语法的产生规则派生字符串。它用于检查字符串的可接受性。编译器用于检查字符串在语法上是否正确。解析器接受输入并构建解析树。解析器可以有两种类型-自上而下的解析器-自上而下的解析是从顶部以开始符号开始的,并使用解析树派生一个字符串。自下而上的解析器-自下而上的解析从字符串的底部开始,并使用解析树到达开始符号。自上而下的解析器设计对于自上而下的解析,PDA具有以下四种转换类型:将产品左侧的非...

  图灵机介绍

📅  最后修改于: 2020-11-26 10:22:27        🧑  作者: Mango

图灵机是一种接受设备,它接受类型0语法生成的语言(递归可枚举集)。它由Alan Turing于1936年发明。定义Turing Machine(TM)是一种数学模型,由无限长的磁带组成,该磁带分为多个单元,在这些单元上提供输入。它由一个读取输入磁带的磁头组成。状态寄存器存储图灵机的状态。读取输入符号后,将其替换为另一个符号,更改其内部状态,并从一个单元格向右或向左移动。如果TM到达最终状态,则输入...

  接受的语言和确定的语言

📅  最后修改于: 2020-11-26 10:23:23        🧑  作者: Mango

如果TM为任何输入字符串w进入最终状态,则它接受一种语言。如果一种语言被图灵机接受,则它是递归可枚举的(由Type-0语法生成)。TM决定是否接受一种语言,并针对任何非该语言的输入进入拒绝状态。如果语言是由图灵机决定的,则它是递归的。在某些情况下,TM不会停止。这样的TM接受语言,但是并不能决定它。设计图灵机下面借助几个示例说明了设计图灵机的基本准则。例子1设计一个TM以识别由奇数个α组成的所有字...

  多带图灵机

📅  最后修改于: 2020-11-26 10:23:51        🧑  作者: Mango

多带图灵机有多个带,每个带都有一个单独的磁头。每个头可以独立于其他头移动。最初,输入在磁带1上,其他输入为空白。首先,第一个磁带被输入占用,而其他磁带则保持空白。接下来,机器读取磁头下方的连续符号,TM则在每个磁带上打印一个符号并移动磁头。多带图灵机可以正式描述为6元组(Q,X,B,δ,q0和F),其中-Q是一组有限的状态X是磁带字母B是空白符号δ是关于状态和符号的关系,其中δ:Q×Xk→Q×(X...