形式语言与自动机的关系
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
形式语言与自动机的关系研究
新疆师范大学数理信息学院数学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 通过如下转移动作引起格局变化;