计算理论导论(决策计算与语言)Decision Computation and Language-INT201(其二)

这一章开始正式内容:

第一部分 自动机与语言

第一章 正则语言

1.1 有穷自动机

即FA( finite automata),我们目前学的分为两部分,DFA和NFA,即确定有穷自动机和非确定有穷自动机,但不管如何分类,它们都是自动机但一种。这边我就跳过那些引言和例证,直接从形式定义(Formal Defination)开始进行讲述:

首先,它是一个5元组(概念在上一部分讲过),即:

下面是详细解释:

第一个就是该自动机所拥有的状态的集合,即:有多少种状态,该集合就拥有多少元素。

第二个就是字母表,这样说可能比较抽象,将其与第三个结合,就比较好理解了,即

         该自动机具有多个状态,当接收一个字符(也可以是各种可接受变量、常量)时,如果该字符存在于该状态机的字母表中,则该状态机会遵循相应规则转化为其应有状态,否则,该状态机会拒绝接收该字符、字符串(也可以是对该字符串不进行响应)。而该状态机可接受并响应的字符,即存在于该字母表中但元素。

第三个有一些函数基础的人都会好理解一些,即一个2元组。就像初中、高中学的函数坐标一样(x,y)对于任何/相应的自变量x,y都会产生任何/相应的变化。作用到自动机中,则可以看成:对于任何可被接受但字符,自动机都会产生相应的变化(响应状态下),→前面的为元组,就像线性代数里面的两个元组的差积一样,会分别从两个集合中各取一个元素组成2元组。相应的,对于每个二元组,自动机都会跳转到相应但的状态。

第四个则是该状态机的初始状态。

第五个为接受状态(也可以称之为结束状态,即完成了对整个输入的字符串的核验,且该字符串被自动机接受)。

此外,还有非形式的描述(状态图),下面是一个简单的状态图:

可以看到,10,110,100,010,0110,01110,000111000,0101010,都是该自动机可以识别的语言,即:以0或1开始且以0结束,且中间夹杂任意个任意数量的0和1的字符串。

在这边穿插一个小定义:如果一个语言被一台有穷自动机识别,则称它是正则语言。

完成了对自动机的形式和非形式定义,接下来就是对其的计算进行形式定义:

下面以一道例题举例:

        对于上面描述的自动机M1,且令w是字符串

0110101010010

        由于当M1对w计算时进入的状态序列是

q1 q2 q2 q1 q2 q1 q2 q1 q2 q1 q1 q2 q1

        它满足上述3个条件,根据计算形式的定义,M1接受w。

M1的语言是:L(M1)={w | 以0或1开始且以0结束,且中间夹杂任意个任意数量的0和1的字符串}。

有穷自动机的定义到此结束,下面我会介绍它的不确定性和期间最重要的正则语言。

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

enosouces

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值