当前位置:文档之家› 形式语言与自动机的关系

形式语言与自动机的关系

形式语言与自动机的关系研究新疆师范大学数理信息学院数学03-6班摘要:形式语言的直观意义,自动机的直观意义,形式语言的定义,形式语言的特征,语法的分类,自动机的定义,自动机的分类,各种自动机的定义,形式语言和自动的的关系,自动机的对语言的例子基本关键词:形式语言的定义;自动机的定义;形式语言和自动机的关系1,形式语言的直观意义α→的直观地讲,形式语言是用来精确描述语言和它结构的手段。

它一重写规则βα,均为字符串。

重写规则就是在包含α的字符穿中遇见规则左边的形式来表示,其中,βα时,α部分重新写为右边的β。

这样一个初设的字符串通过不断地运用重写规则,就可以到另一个字符串。

通过选择不同的规则并且以各种不同的顺序来运用最这些规则,如果指定一个初始符,某规则以其为左部,一组规则就可以构成一个语法。

2,形式语言的定义形式语法是一个四元组G=(N, V , P, S ),其中N 是非终结符的有限集合,有时也称变量,它们相当于各种句法范畴。

V 是终结符的有限集合,若语法生成的是自然语言,这些终端语符就相当于这种语言中具体的词,终端 语符集 这种语言的词库,P 是以重写规则的有限集合,基本形式P }{βα→,即""βα改写为,其中箭头表示指令,一条规则就是一个机械性的操作程序,用来演算它联系着的两侧语符集或语符序列之间的关系,而S 是一个特定的初始符;3,语法的分类乔姆斯在他的著名【文章】中根据重写规则将语法分成四类:正则语法,上下文有关语法,上下文无关语法;有这些语法生成的语言是正则语言,,上下文有关语言,上下文无关语言,递归数集合。

a 如果P 中的规则,满足如下的形式:x A Bx A →→或,,其中,A,B 是非终结符,x 是终结符,则G 称为正则语法(简称为FSG )。

b 如果P 中的规则,满足如下的形式:α→A ,其中,A 是非终结符, α是由N 和V 中字符所组成的字符串(或可表示为()*∈V N α,*意味着它右边的字符可以重复0到任何 多次),则G 称为上下文无关语法(简称为CFG )。

d 如果P 中的规则,满足如下的形式:αγββα→A ,其中,A 是非终结符,γβα,,,是字符串,且γ至少包含一个字符,则G 称为上下有无关语法(简称为CSG )。

d 如果P 中的规则,满足如下的形式:其中,α,β是字符串,则G 称为无限制重写系统。

对于以上任何一种语法,两个字符串之间一次派生关系⇒可定义为:如果y x →是P 中的规则,βαβαy x ⇒。

字符串α,β有多次派生关系*⇒则是说,通过多次应用一次派生关系,从α可派生出β,并记为α*⇒β: n αβαα==,0,而对n i i n i +⇒-=αα,1,....0。

给定以语法,其语言定义为所有合法终结字符串的集合。

合法终结字符串是指由初始符S 出发,运用重写规则而派生得终结字符串,即,(){}ααα**;⇒∈=S V G L例子:假设G=(N, V , P, S), N={S, A} , V={0, 1}, P={0,0,1→→→A A A A S } 则 ,{}110)(≥=m G L m是正则语法,在V={0, 1}上它所对应的正则表达式是100*。

形式语言的特征:⑴ 高度抽象化(采用形式化的手段,专用符号,数学公式来描述语言的,结构关系,这种关系是抽象的)。

⑵是一套演绎系统(形式语言本身的目的就是要用有限的规则来推导语言中无限的句子)。

⑶具有算法的特点4,自动机的直观意义,如果说语法时用来精确描述语言的和它的结构,那么自动机便是用来机械地刻画对输入字符串的处理过程。

最初,自动机(automation )得得提出时用来解决一个数学上的难题,后来又被试图模仿人的感觉和思维。

自动机有非常简的部件和操作组成:输入/输出带时用来存放输入字符串以及输出字符(它们可以时同一带,也可以是不同一条带),读/写头用来阅读输入/输出带上目前所处理的字符及位置,在带上写下一个字符,并可以在带上向左或向右移动一个位置,让读/读写头做出相应的操作,改变自己的状态,并最终决定是否接受输入字符串为合法。

当给定以字符串时,自动机通过自己的读/写头扫描,修改这一字符串,并改变自己的状态。

如果自动机顺利地进入终止状态,且输入/输出带 满足一定的条件,我们称自动机接受这一字符串。

这个过程称为识别。

5,自动机的定义5.1定义:确定有限自动机是以个 七元组()F U I Q M ,q ,,,,,σδ=,其中{}是自动机内部状态s s Q =,且Q 是有限集合 }{是输入字符αα=I ,且I 是有限集合{}是输出字符u u U =,且U 是有限集合δ是 定义域为 I Q ⨯,值域为Q 的状态转移函数 σ是 定义域为 I Q ⨯,值域为U的有限集合q 为初始状态 Q F ⊆为终止状态给定一字符串 n a a a a ...10=初始时,有限自动机M 处于状态0q ,从0a 开始,根据状态转移函数δ转移到另一状态),(001a q q δ=,根据输出函数σ在一输出带上印出字符()00,a q σ,并 将读/写头在输入/输出带上各向右移动一格。

此时,M 便处于状态1q ,读字符1a 。

重复以上步骤,一直到M 读完n a ,如果,M 处于某中移终止状态,即F 的一个元素,那么,我们就称M 接受字符串a ;否则,M 读完n a 但不处于任一终止状态,或者,在其过程中δ没有定义,我们称M 不接受字符串a 。

由M 定义的语言()M T 就是被M 接受的字符串全集5.2定义:下推自动机是一个()∑Γ=F Z q Q M ,,,,,0,0δ,其中 }{是一个内部状态s s Q =,且Q 是有限集合 }{∑=是输入带上字符u u ,且∑是有限集合{u u =Γ是栈上字符},且 Γ是有限集合Q q ∈0为初始状态Γ∈0Z 为栈中一个特殊符号,表明栈底Q F ∈为终止状态集}{()Γ⨯⨯∑εδ Q 是定义域为,值域为∑⨯*Q 的有穷子集的状态转移映照。

5.3定义:图灵机是一个七元组 ()∑-Γ=F q Q M ,0,,,,,δ,其中}{是一个内部状态s s Q =,且Q 是有限集合 }{∑=是输入带上字符u u ,且∑是有限集合 }{∑=ΓB ,B 表示空白字符;δ是定义域为∑⨯Q ,值域为}{∑⨯⨯S L R Q ,,转移函数,R, L 和 S 分别指右移一格,左移一格以及停止不动;— 属于Q-I 的空格元素0q 为初始状态;Q F ∈为终止状态集给定字符串a ,存放域 它的输入/输出带上,开始时,M 处于状态0q ,它的读/写头扫描着a 的最左字符。

根据转移函数δ的定义,即对于目前状态及正扫描着的字符,M 改变当前状态,读/写头扫描的字符,以及读/写头的位置。

重复这个步骤直至M 进入某一终止状态;或者,在其过程中δ没有定义,即M 停止工作。

前者称之为M 接受字符串a ,后者称之为M 不接受字符串a 。

严格地讲,我们对于M 的每个情况,定义格局为(q ,a ,i ),这里,Q q ∈,a 是字符串,i 是整个数,表示读/写头相对于a 左端的距离。

图灵机M 通过如下转移动作引起格局变化;假设()11,,....,21+≤≤n i i A A A q n 是当前M 的格局,如()(),1,,,,n i A q R A p i ≤≤=δ则()()1,........,,....,112121++-i A AA A A A q M i A A A q n i i n即M 的读/写头在i 位置上原来的i A 就消失了,并且读/写头向右移动一格,从i 变化为1+i 。

如果()(),2,,,,n i A q L A p i ≤≤=δ则 ,()()1,......,,...,112121---+i A AA A A A q M i A A A q n i i n即M 的读/写头在i 位置上原来的i A 就消失了 ,并且读/写头向左移动一格(从i 变化为i-1);当i=n+1,即M 的读/写头超出原字符串的右端,注释空白符时,如果()()B q R A P ,,,δ=,则,()()2,...,1,...,2121++n A A A A q M n A A A q n n 如果()()B q l A p ,,,δ=,则()()n A A A A q M n A A A q n n ,...,1,...,2121+。

对两个格局X,Y ,如果XMY ,称Y 是由通过一次动作而得。

如果,Y 是由X 通过次数动作而得,则记为*_*由图灵机M 接受的 语言则定义为:(){()1,,,0*d q a a M T ∑∈=5.4定义:线性带线自动机是一个七元组()∑-Γ=F q Q M ,,,,,,0δ,其中{}是自动机的内部状态s s Q =,且,Q 是有限集合 }{∑=是输入带上字符u u ,且∑是有限集合}{∑=ΓB ,B 表示空白字符; δ是定义域为∑⨯Q ,值域为}{∑⨯⨯S L R Q ,,转移函数,R, L 和 S 分别指右移一格,左移一格以及停止不动;— 属于Q-I 的空格元素;0q 为初始状态;Q F ∈为终止状态集和一般的图灵机不同的是∑含有两个特定符号,,⊄$,分别是输入字符左右两端的标志,他们的作用是组织读/写头移出左右两界。

其他部分和图灵机略有不同。

形式语言与自动机的关系形式语言学也称代数语言学,它研究一般的抽象符号系统,运用形式模型对语言即人工语言,自然语言进行精确描述和它结构的手段,而自动机是用来机械地刻画对输入的语符序列进行检验和识别的处理过程。

从识别能力的角度上,有限自动机,下推自动机,带线自动机和图灵机分别等于正则语言,上下文无关语言,上下文有关语言,和递归可数集合。

更确切地说,如果()S P V N G ,,,=是正则语言,则,存在有限自动机()F q U I Q M ,,,,,,σδ=,使得()()G L M T =;反之也然,对下推自动机,带线自动机,图灵机和上下文无关语言,上下文有关语言,和递归可数集合等其他三种情况,这种等价关系也成立。

例子:下面看自动机的对语言的识别过程;自动机()∑-Γ=F q Q M ,0,,,,,δ,{}B b a ,,,#=Γ, {}10,q q Q =; {}b a ,=∑,其中,# 做出语符,{}0q F =;(){()()()()}()}0110000,,#,,#,,,,q L q q q a q L q b →→→=δ;如果输入序列baaab ,自动机的识别过程如下;a) 当M 在 0q 时,读入字符b ,纸带上向左移,控制器还处于状态0qb) 读写头读入字符a ,输出语符 #,纸带没有移动,控制器处于状态1qc) 读写头在状态 1q 读 # 时,纸带向左移,控制器处于状态0qd) 读写头读入字符a ,输出语符 #,纸带没有移动,控制器处于状态1qe) 读写头在状态 1q 读 # 时,纸带向左移,控制器处于状态0qf) 读写头读入字符a ,输出语符 #,纸带没有移动,控制器处于状态1qg) 读写头在状态 1q 读 # 时,纸带向左移,控制器处于状态0qh) 读写头读入字符b ,纸带上向左移,控制器还处于状态0qi) 停下当识别完语符列baaab 后,自动机正好停止在终止状态0q ,所以语符列baaab 被此自动机所接受,因此baaab是一个语句。

相关主题