【p10】DFA (NFA确定化) 以及DFA的最小化

终于到这里了

可能是最难的部分?反正是网课时长最长的部分

需要画表,所以最好还是跟着网课一边学一边操作,不然没啥印象,上完网课之后没啥效果

画表

表头是I,然后是有多少个终结符,再加多少个表头

I代表的是状态集合

I 0 I_0 I0 开始填, I I I 表示的是通过空可以到达的集合

现在对自己的自律没有一点信心哈哈,没有约束,自己其实挺难自我驱动的,还是得养成习惯之类的吧

换句话说,自己其实就是一个非常典型的普通人,不要对自己有太高的要求或者美化自己,面对残酷的现实

可能也是因为任务太难,太多,自己实力太弱小哈哈

通过终结符

集合里面的元素,一个一个尝试,看通过某个终结符,能不能到达下一个状态,如果可以的话,把能到达的状态加入到新的集合里面,经过空能到达的状态也加入到集合里面

给新的集合编号

我们把原来集合里面的每一个元素都进行一次操作,操作是看经过终结符,能不能到达新的状态,能到达新的状态,就把能到达的所有状态放到一个集合里面,新的集合和之前的集合不一样的话,就把新的集合编号

新建

假设出现了新的集合,需要新建一行表格

用新的集合作为第一列

进行和前面一样的操作

表格结束

直到不在出现新的集合,表示表格这个步骤结束了

根据表格画图

首先是给集合命名,之前集合的名字是 I 0 I_0 I0 , I 1 I_1 I1 ,现在我们可以把它们命名为, S S S 1 1 1 ,两个状态,我们知道, I 0 I_0 I0经过终结符 a a a b b b 可以到达状态 I 1 I_1 I1 I 1 I_1 I1 通过终结符 a a a b b b 也可以到达状态 I 1 I_1 I1 ,所以可以画出一个图来

DFA

上面这个就是 DFA

初态集和终态集

含有终态 Z Z Z 的集合叫做终态集

不是终态集的就是初态集

也就是说两者是一个对立的关系

非此即彼

某种操作

看两行元素对应位置的值是否相等,和数据库查询语言里面的合并有一点类似,但是,我相当于还没有开始学习数据库,所以当我没说哈哈

假设对应位置的数值都相等,表示这两个终态集的元素不可以进行区分,需要进行覆盖操作

覆盖操作

用下标小的元素覆盖下标大的元素

相当于舍弃下标大的元素

解决了之前一道题,感觉胸有成竹(其实还是就最基础的水平)

可能书上的题都不是很靠谱,主要还是做 ppt 上面的题更靠谱,英文看起来难受,主要看题目就行了,应该题目也不是很多

从现在开始,到一段时间之内,不要发动态了(指csdn动态)

结合几道例题,还有之前那个朋友的一道题,应该是完全清楚了,主要是要小心细致一些,把过程写的工整一些,有助于解题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

三冬四夏会不会有点漫长

一块钱也是支持

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

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

打赏作者

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

抵扣说明:

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

余额充值