- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第03章 有穷状态自动机-16、17、18节课-2013-10-15课件
图3-5 接受语言 {x000| x ? {0, 1}*} ?{x001| x ? {0, 1}*}的DFA 定义3-6 设M = (Q, ?, ?, q0, F)为一个FA,对?q ? Q,能引导FA从开始状态q0 到达q的字符串的集合为 set(q) = {x| x ? ?*, ?(q0, x) = q} 根据状态进行划分 根据图3-5所给的DFA, set(q0) = {x| x? {0, 1}*, x = ?或x以1但不包括001结尾} set(q1) = {x| x? {0, 1} *, x = 0或x以10结尾} set(q2) = {x| x? {0, 1} *, x = 00或x以100结尾} set(q3) = {x| x? {0, 1} *, x以000结尾} set(q4) = {x| x? {0, 1} *, x以001结尾} 它们是对{0, 1}*的划分 例3-5 构造一个接受语言{x | x ? {0, 1}*, 且当把x看成 二进制数时,x模3与0同余}的DFA 分析:模3同余自然就构成了二进制数的一个划分。 该划分导致3个集合: {3n| n为非负整数},其元素包括{0, 11, 110, 1001,…}; {3n + 1| n为非负整数},其元素包括{1, 100, 111, 1010,…}; {3n + 2| n为非负整数} ,其元素包括{10, 101, 1000, 1011,…}。 例3-5(续) 先画出如下三个状态。 q0 : 希望能代表{3n| n为非负整数} q1 : 希望能代表{3n + 1 | n为非负整数} q2 : 希望能代表{3n + 2 | n为非负整数} 例3-5(续) 当 x = 3n时, x0 = 2*3n + 0,仍然应由q0代表 x1 = 2*3n + 1,应由q1代表 当 x = 3n + 1时, x0 = 2*(3n + 1) + 0 = 6n + 2,应由q2代表 x1 = 2*(3n + 1) + 1 = 6n + 3,应由q0代表 当 x = 3n + 2时, x0 = 2*(3n + 2) + 0 = 6n + 3 + 1,应由q1代表 x1 = 2*(3n + 2) + 1 = 6n + 3 + 2,应由q2代表 例3-5(续) 其状态转移图(部分)如下所示: 例3-5(续) 应将q0设置为终止状态。 空句子不可能代表二进制数,所以应设置一个新的状态qs作为初始状态,在qs下读入0应转到状态q0 ,读入1则应转到状态q1。 例3-5(续) 其完整状态转移图如下所示: 思考 为表示模3与1同余,应怎样画状态图? 模4与0同余呢? 练习(补充) 构造一个接受语言{x | x ? {0, 1}+, 且当把x看成二进制数时,x模4与0同余}的DFA 习题评讲 例3-4 接受语言{0n1m2k |n, m, k ? 1}的DFA q0 : 启动状态,未读入任何字符 q1 : 已读入一个或多个0 q2 : 到达q1状态后读入一个或多个1 q3 : 到达q2状态后读入一个或多个2 例3-4(续) 出现该语言不能接受的序列时进入陷井状态qt (t表示trap) 注意 当FA进入陷井状态后,就无法离开。 用画图的方式构造FA比较方便、直观。 可以先根据语言的主要特征画出其 “主体框架”,再考虑一些细节要求。 FA的状态具有一定的记忆功能,不同的 状态对应于不同的情况。 FA的记忆功能 如:构造语言 {x000y| x, y ? {0, 1}*}的FA时,需要记忆已经读入0个连续的0,已经读入1个连续的0,已经读入2个连续的0,已经读入至少3个连续的0等至少4个状态。 当需要记忆无穷个状态时,就无法构造相应的FA。如语言 {0n1n| n ? 1} 。 语言 {0m1n| m, n ? 1} 需要4个状态。 例3-6 例 3-6 构造一个DFA,它接受的语言L={x|x∈{0,1}*,且对x中任意一个长度不大于5的子串a1a2…an, a1+a2+…+an≤3,n≤5} 。 输入串为 a1a2…ai…ai+4ai+5…am 例3-6(续) 当i=1,2,3,也就是M读到输入串的第1、2、3个字符时,它需要将这些字符记下来。 因为a1……ai可能需要用来判定输入串的最初4~5个字符组成的子串是否满足语言的要求。 当i
您可能关注的文档
最近下载
- 学前儿童学习与发展核心经验健康领域.pdf
- 新人教版七年级下册英语U4词汇分类循环训练单(学生版).docx
- 2023年下半年教师资格证《高中生物》真题及答案.pdf VIP
- 电子版个人简历模板简历表格 个人简历.docx VIP
- 国家秘密载体印制资质现场审查保密知识测试试题库.pdf VIP
- 2025年新疆乌鲁木齐市高考数学二模试卷(理科)+答案解析(附后).pdf VIP
- 我的家乡黑龙江双鸭山.pptx
- 初级注册安全工程师考试(安全生产法律法规)考点重点资料梳理.pdf VIP
- (最全)山东省2016建筑工程消耗量定额.pdf
- 2025年徐州工业职业技术学院单招职业技能测试题库(历年真题).docx VIP
文档评论(0)