字符串(1) 字母表: 任意非空有穷集合 (字符)串: 连接: ={0,1} ={a,b,c,…,x,y,z,空格}

Slides:



Advertisements
Similar presentations
2009 套读自考本科简介 —— 抓住机遇,用知识改变命运 目 录 二、提升学历、提升自身素质的途径选择 三、高教自考和套读自考本科介绍 四、我校自考套读本科情况介绍 一、就业状况 五、我校今年招生专业介绍.
Advertisements

交流材料 杨献超. 杨献超,籍贯浙江永嘉, 1994 年 12 月入伍, 1997 年 9 月考入解放军 理工大学,天气预报专业,大专。 2000 年 7 月毕业,分配到海军舟山 基地工作, 2003 年 8 月调到温州海 军快艇十六支队政治部工作, 2011 年副营职转业,安置在温州市安全 生产监察支队,现在市安监局综合.
专题复习 --- 走进名著 亲近经典 读完《鲁滨孙漂流记》这本精彩的小说 后,一个高大的形象时时浮现在我的眼 前,他就是勇敢的探险家、航海家鲁滨 孙。他凭着顽强的毅力,永不放弃的精 神,实现了自己航海的梦想。 我仿佛看到轮船甲板上站着这样的一 个人:他放弃了富裕而又舒适的生活, 厌恶那庸庸碌碌的人生,从而开始了一.
课件说明 课题 : 国歌 课型 : 综合 课时 : 一课时 突破口 : 通过不同国家国旗的竞猜游戏, 导入我 国的国旗国歌, 并以器乐和声乐两种不同形式 的作品达到体会歌曲内涵的目的, 从而更好地 演唱歌曲.
2 、 5 的倍数的特征 重庆市九龙坡区玉清寺小学 徐顺平 人教版小学数学五年级下册
說 劍 《莊子‧雜篇》─ 第 一 組 賴泊錞 謝孟儒 張維真 羅苡芸
德 国 鼓 励 生 育 的 宣 传 画.
第四章:长期股权投资 长期股权投资效果 1、控制:50%以上 有权决定对方财务和经营.
控制方长投下的子公司,需要编制合并报表的演示思路
藉由經營權異動入主上櫃公司規章修正宣導 證券櫃檯買賣中心 上櫃監理部
复习: :对任意的x∈A,都有x∈B。 集合A与集合B间的关系 A(B) A B :存在x0∈A,但x0∈B。 A B A B.
这是一个数字的 乐园 这里埋藏着丰富的 宝藏 请跟我一起走进数学的 殿堂.
人民版必修三专题三复习 近代中国 思想解放的潮流 灵石中学 易吉华.
第二节 时间和位移.
2009年广播影视人事人才统计年报业务培训 广东省广电局人事处 2010年1月6日
共通能力科研習計劃書 簡 報 篇.
判断推理,必须学会这些 主讲老师:小胡胡 2016年3月25日20:00 YY频道:
第四章 账户及复式记账的应用 教学目的与要求:本章内容属于会计实务部分。通过本章的教学,使学生掌握制造企业经济业务的核算内容及账务处理,进一步加深对复式记账原理的理解,熟练掌握借贷记账法在制造企业的实际应用。 教学重点:运用借贷记账法对制造企业的经济业务进行账务处理。 教学难点:利润的核算;期末各账户之间的相互结转。
彰显语文教育特性 立意学生能力发展 ——《语文》新教材第三册解析
复习回顾 a a×a a×a×a a a×a×a= a×a= 1.如图,边长为a厘米的正方形的面积 为 平方厘米。
人力资源市场统计工作介绍 人力资源市场与人员调配处 郭俊霞 2014年12月.
忠孝國小自立午餐老師的叮嚀 教師指導手冊.
省科技业务管理阳光再造行动介绍及2014年广东省、广州市项目申报预备会
南宁市兴宁区社区档案整理办法 南宁市兴宁区档案局 2010年 地址:南宁市厢竹大道63号兴宁区政府4楼
中国建筑钢结构施工企业诚信评价建设管理办法
山东大学资产清查 山东大学 资产清查工作讲解 2016年3月.
104年振聲國中 志願選填個別序位 說明會 104年06月08日 輔導室關心您.
劳动保障监察法律政策实务问题解析 刘纪斌 二O一五年五月 TEL: TEDA和谐企业交流QQ群:
初中《思想品德》课程改革 回顾·现状·展望
编 译 原 理 指导教师:杨建国 二零一零年三月.
第三章 词法分析 赵建华 南京大学计算机系 2009年2月.
第四章 时间序列的分析 本章教学目的:①了解从数量方面研究社会经济现象发展变化过程和发展趋势是统计分析的一种重要方法;②掌握时间数列编制的基本要求;③理解和掌握水平速度两方面指标的计算及运用④理解和掌握长期趋势分析和预测的方法。 本章教学重点:现象发展的水平指标和速度指标。 本章教学难点:现象变动的趋势分析。
基因分离规律习题课.
“08高考化学学业水平(必修科目)测试的命题和教学对策研究”
伴性遗传.
第三节 函数的求导法则 一 函数的四则运算的微分法则 二 反函数的微分法则 三 复合函数的微分法则及微分 形式不变性 四 微分法小结.
第二章 导数与微分 第二节 函数的微分法 一、导数的四则运算 二、复合函数的微分法.
课标教材下教研工作的 实践与思考 山东临沂市教育科学研究中心 郭允远.
国产动画 ——童年的回忆.
大綱: AAA 性質 SAS 性質 SSS 性質 顧震宇 台灣數位學習科技股份有限公司
第五章 时序逻辑电路 5.1 时序逻辑电路的分析方法 5.2 常用时序逻辑 5.3 时序逻辑电路的设计方法 本章小结.
正则表达式 描述模式的手段 例: (01)0* = ({0}{1}){0}* = {0,1}{0}* 《理论计算机科学基础》
如何寫工程計畫書 臺北市童軍會考驗委員會 高級考驗營 版.
第二、三章习题讲解
2.3 正则表达式 主要内容: 1.正则表达式和正则集; 2.正则表达式和有限自动机的相互转化。.
黄土高原的水土流失 标题 水土流失的原因 水土流失的危害 治理措施 参考文献 小组成员.
规范教学,提升质量,迎接评估 ——学校教学管理制度解读
12.3.1运用公式法 —平方差公式.
自动机与形式语言 报告人:姜勇刚 郑奘巍.
苏 教 版 五 年 级 数 学(上) 用字母表示数 青阳体仁小学 胡春雅.
材料二甲 授課教師:王致傑 老師 (學420、分機5305)
离散数学─归纳与递归 南京大学计算机科学与技术系
复习.
白城师范学院经济管理系 成 本 会 计 学 制作:吴威名.
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
词法分析
1.2 子集、补集、全集习题课.
1.设A和B是集合,证明:A=B当且仅当A∩B=A∪B
第三章 函数的微分学 第二节 导数的四则运算法则 一、导数的四则运算 二、偏导数的求法.
上杭二中 曾庆华 上杭二中 曾庆华 上杭二中 曾庆华.
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
十二年國民基本教育- 104年中投區適性入學宣導 時間:104年11月12日
§2 方阵的特征值与特征向量.
第二章 形式语言与自动机 Part II自动机.
主讲教师 欧阳丹彤 吉林大学计算机科学与技术学院
§12-5 同方向同频率两个简谐振动的合成 一. 同方向同频率的简谐振动的合成 1. 分振动 : 2. 合振动 : 解析法
第三章:词法分析 戴新宇 南京大学 计算机科学与技术系.
高   学科 第五章 曲线运动 1、曲线运动 涪陵一中物理组.
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
2.2.2双曲线的简单几何性质 海口市灵山中学 吴潇.
Presentation transcript:

字符串(1) 字母表: 任意非空有穷集合 (字符)串: 连接: ={0,1} ={a,b,c,…,x,y,z,空格} x=01001, w=madam 连接: xw=01001madam xx=x2=0100101001 《理论计算机科学基础》

字符串(2) 串长度: |x|=5, |w|=5, |xw|=10 空串: , ||=0, x0= 子串: 子序列: 空串空格: |空格|=1 子串: ada是madam的子串 子序列: m,d,m是m,a,d,a,m的子序列 《理论计算机科学基础》

语言(1) * = { x | x是上有穷长度的串 } + = { x | x是上正有穷长度的串 } 《理论计算机科学基础》

语言(2) 语言: 串的集合 空语言:  语言连接: A* 空串语言: {} 空串:  AB = { xy | xA且yB } {}A=A{}=A A=A=. 《理论计算机科学基础》

标准序 先短后长, 等长逐位比较 1={0,1}, 0<1 1*={, 0, 1, 00, 01, 10, 11, 000, 001,… } 2={a,b,c,…,x,y,z}, a<b<c<…<x<y<z 2*={,a,b,c,…,x,y,z, aa,ab,…,ay,az,ba,…,bz, ca,…cz,…,za,…zz,aaa,…,zzz,aaaa,…… } 《理论计算机科学基础》

商场自动门(1) 关 前 后 《理论计算机科学基础》

商场自动门(2) 开 前 后 《理论计算机科学基础》

商场自动门(3) 关 前 后 《理论计算机科学基础》

商场自动门(4) 开 前 后 《理论计算机科学基础》

自动门控制器-状态图 后 满 空 前 后 满 前 关 开 空 《理论计算机科学基础》

自动门控制器-状态表 后 满 空 前 后 满 前 关 开 空 空 前 后 满 关 开 《理论计算机科学基础》

有穷自动机 状态图 状态, 初始状态, 接受状态 转移, 输入符号 1 1 q1 q2 q3 0,1 《理论计算机科学基础》

有穷自动机M1 1 1 q1 q2 q3 0,1 1 q1 q2 q3 《理论计算机科学基础》

M1在1101上运行 1 q1 q2 q3 单向只读输入带 $ 1 1 1 $ 单向只读头 q1 q2 q3 有穷状态控制器 1 $ 单向只读头 q1 1 q1 q2 q3 q2 q3 有穷状态控制器 《理论计算机科学基础》

M1在1101上运行 1 q1 q2 q3 单向只读输入带 $ 1 1 1 $ 单向只读头 q1 q2 q3 有穷状态控制器 1 $ 单向只读头 q1 1 q1 q2 q3 q2 q3 有穷状态控制器 《理论计算机科学基础》

M1在1101上运行 1 q1 q2 q3 单向只读输入带 $ 1 1 1 $ 单向只读头 q1 q2 q3 有穷状态控制器 1 $ 单向只读头 q1 1 q1 q2 q3 q2 q3 有穷状态控制器 《理论计算机科学基础》

M1在1101上运行 1 q1 q2 q3 单向只读输入带 $ 1 1 1 $ 单向只读头 q1 q2 q3 有穷状态控制器 1 $ 单向只读头 q1 1 q1 q2 q3 q2 q3 有穷状态控制器 《理论计算机科学基础》

M1在1101上运行 1 q1 q2 q3 单向只读输入带 $ 1 1 1 $ 单向只读头 q1 q2 q3 有穷状态控制器 1 $ 单向只读头 q1 1 q1 q2 q3 q2 q3 有穷状态控制器 《理论计算机科学基础》

M1在1101上运行 1 q1 q2 q3 单向只读输入带 $ 1 1 1 $ 单向只读头 q1 q2 q3 有穷状态控制器 1 $ 单向只读头 q1 1 q1 q2 q3 q2 q3 有穷状态控制器 《理论计算机科学基础》

M1接受哪些串? 1 q1 q2 q3 1 1 q1 q2 q3 0,1 从初始状态到接受状态的路径上标注的字符串 1 0*1 0*1 1* 1 1 q1 q2 q3 1 q1 q2 q3 0,1 从初始状态到接受状态的路径上标注的字符串 1 0*1 0*1 1* 0*1 1*00 0*1 1*(00)* 0*1 1*(01)* 《理论计算机科学基础》

有穷自动机的形式定义 定义2.1: 有穷自动机M=(Q,,,q0,F) L(M)={w* | (q0,w)F} Q: 有穷状态集 : 输入字母表 : QQ, 转移函数 (: Q*Q, 扩展转移函数) q0Q: 初始状态 FQ: 接受状态(终结状态) L(M)={w* | (q0,w)F} 《理论计算机科学基础》

例2.2 M2=({q1,q2},{0,1},, q1,{q2}) 1 q1 q2 1 1 q1 q2 1 1 q1 q2 1 q1 q2 L(M2) = { w | w以1结束 } 《理论计算机科学基础》

例2.3 M3=({q1,q2},{0,1},, q1,{q1}) 1 q1 q2 1 1 q1 q2 1 1 q1 q2 1 q1 q2 L(M3) = { w | w=或w以0结束 } 《理论计算机科学基础》

例2.4 a b b q1 q2 a a b a s a b r1 r2 b L(M4) = { w | w开头和结尾符号相同 } 《理论计算机科学基础》

例2.5 q1 0, <RESET> 2, <RESET> 1 q0 1 2 2 1, <RESET> q1 0, <RESET> 2, <RESET> 1 q0 1 2 2 1, <RESET> q2 L(M4) = { w | 最后一个<RESET>之后w的数字之和是3的倍数 } 《理论计算机科学基础》

例2.6(推广例2.5)  = { 0, 1, 2, <RESET> } Ai = { w |最后一个<RESET>之后w数字之和是i的倍数 } L(Bi)=Ai; 自动机 Bi = ? Bi = ( Qi, , i, q0, {q0} ) Qi = { q0, q1, q2, … , qi-1 } i( qk, 0 ) = qk i( qk, 1 ) = qk+1(mod i) i( qk, 2 ) = qk+2(mod i) i( qk, <RESET> ) = q0 《理论计算机科学基础》

计算的形式定义 M=(Q,,,q0,F); 计算: 状态序列r0,r1,…, rn; 接受计算: M接受w M识别(接受)的语言: 输入串w=w1w2…wn; 计算: 状态序列r0,r1,…, rn; r0=q0; (ri,wi+1)=ri+1; (i=0,1,…,n-1) 接受计算: M接受w rnF; M识别(接受)的语言: L(M)={ x | M接受x } 《理论计算机科学基础》

正则语言 正则语言: L=L(M) M是有穷自动机 《理论计算机科学基础》

例2.8(续例2.5) L(M5) = { w | 除了<RESET>将计数重新置0外, w符号之和模3为0 } 输入: w = 10<RESET> 22<RESET>012 计算: q0, q1, q1, q0, q2, q1, q0, q0, q1, q0 《理论计算机科学基础》

设计有穷自动机 状态: 需要记住的东西 转移: 根据输入符号, 从一种状态到另一种状态 《理论计算机科学基础》

例 L(E1)={ w | w中有奇数个1 }, ={0,1} 《理论计算机科学基础》

例 L(E1)={ w | w中有奇数个1 }, ={0,1} qeven qodd 《理论计算机科学基础》

例 L(E1)={ w | w中有奇数个1 }, ={0,1} 1 qeven qodd 1 《理论计算机科学基础》

例 L(E1)={ w | w中有奇数个1 }, ={0,1} 1 qeven qodd 1 《理论计算机科学基础》

例2.9 L(E2)={ w | w中含有子串001 }, ={0,1} 《理论计算机科学基础》

例2.9 L(E2)={ w | w中含有子串001 }, ={0,1} q q0 q00 q001 《理论计算机科学基础》

例2.9 L(E2)={ w | w中含有子串001 }, ={0,1} 1 0,1 1 q q0 q00 q001 1 0,1 1 q q0 q00 q001 1 《理论计算机科学基础》

例2.9 L(E2)={ w | w中含有子串001 }, ={0,1} 1 0,1 1 q q0 q00 q001 1 0,1 1 q q0 q00 q001 1 《理论计算机科学基础》

正则运算 设A,B是两个语言,正则运算是: 定理: 正则语言对正则运算封闭. 并 AB={x | xA或xB} 连接 AB={xy | xA且yB} 星号 A*=A0A1A2A3… ={}AAAAAA… ={x1x2…xk| k0且每个xiA} 定理: 正则语言对正则运算封闭. 《理论计算机科学基础》

对补运算的封闭性 定理: 正则语言对补封闭. 证明思路 1 1 q1 q2 q3 0,1 M1 1 1 q1 q2 q3 0,1 M2 1 1 q1 q2 q3 0,1 M1 1 1 q1 q2 q3 0,1 M2 《理论计算机科学基础》

对补运算的封闭性 定理: 正则语言对补封闭. 证明: 设正则语言L=L(M), M=(Q,,,q0,F). 令F’=Q-F. (q,a1…ak)=(…((q,a1),a2),…,ak) x, xL(M)  (q0,x)F  (q0,x)F’  xL(M’)  L(M’)=*-L(M)= L(M)c. # 《理论计算机科学基础》

对并运算的封闭性 定理2.12: 正则语言对并封闭. 证明思路 $ 1 1 1 $ 《理论计算机科学基础》

对并运算的封闭性 定理2.12: 正则语言对并封闭. 证明: 设正则语言Li=L(Mi), Mi=(Qi,,i,qi,Fi), i=1,2. 令Q3=Q1Q2; q3=(q1,q2); 3((r1,r2),a)=(1(r1,a),2(r2,a)); F3=(F1Q2)(Q1F2). M3=(Q3,,3,q3,F3). L1L2=L(M1)L(M2)=L(M3). # 《理论计算机科学基础》

对交运算的封闭性 定理: 正则语言对交封闭. 证明思路一: 推论: 布尔运算: 交, 并, 补 正则语言对布尔运算封闭. 正则语言对差,对称差封闭. 《理论计算机科学基础》

对交运算的封闭性 定理: 正则语言对交封闭. 证明思路二: $ 1 1 1 $ 《理论计算机科学基础》

对交运算的封闭性 定理: 正则语言对交封闭. 证明: 设Li=L(Mi), Mi=(Qi,,i,qi,Fi); i=1,2. 令Q3=Q1Q2; q3=(q1,q2); 3((r1,r2),a)=(1(r1,a),2(r2,a)); F3=F1F2. M3=(Q3,,3,q3,F3). L(M3)=L(M1)L(M2)=L1L2. # 《理论计算机科学基础》

对连接运算的封闭性 定理2.13: 正则语言对连接封闭. 证明思路 $ 1 1 1 1 $ 《理论计算机科学基础》

对连接运算的封闭性 定理2.13: 正则语言对连接封闭. 证明思路 $ $ 1 1 1 1 $ 《理论计算机科学基础》

对连接运算的封闭性 定理2.13: 正则语言对连接封闭. 证明思路 $ $ 1 1 1 1 $ 《理论计算机科学基础》

对连接运算的封闭性 定理2.13: 正则语言对连接封闭. 证明思路 $ $ 1 1 1 1 $ 《理论计算机科学基础》

对连接运算的封闭性 定理2.13: 正则语言对连接封闭. 证明: Mi=(Qi,,i,qi,Fi); i=1,2,3. L(M3)=L(M1)L(M2). Q3=Q1P(Q2). 扩展定义 :P(Q)P(Q), (R,a)={(s,a)|sR}. q3=(q1,s). 3((r1,r2),a)=(1(r1,a),2(r2,a)t). {q2},若q1F1 {q2},若1(r1,a)F1 , 否则. ,否则. F3={ (r1,r2) | r2F2 }. # s= t= 《理论计算机科学基础》

对星号运算的封闭性 定理2.24: 正则语言对星号封闭. 证明思路 $ 1 1 1 1 $ 《理论计算机科学基础》

对星号运算的封闭性 定理2.24: 正则语言对星号封闭. 证明思路 $ $ 1 1 1 1 $ 《理论计算机科学基础》

对星号运算的封闭性 定理2.24: 正则语言对星号封闭. 证明思路 $ $ 1 1 1 1 $ 《理论计算机科学基础》

对星号运算的封闭性 定理2.24: 正则语言对星号封闭. 证明思路 $ $ $ 1 1 1 1 $ 《理论计算机科学基础》

对星号运算的封闭性 定理2.24: 正则语言对星号封闭. 证明思路 $ $ $ 1 1 1 1 $ 《理论计算机科学基础》

对星号运算的封闭性 定理2.24: 正则语言对星号封闭. 证明思路 $ $ $ 1 1 1 1 $ 《理论计算机科学基础》

对星号运算的封闭性 定理2.24: 正则语言对星号封闭. 证明: ? 非确定性 《理论计算机科学基础》

非确定性(nondeterminism) 确定型(deterministic)计算 下一个状态是唯一确定的 非确定型(nondeterministic)计算 下一个状态可以不唯一确定 移动, 多种选择(含0种选择) 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

非确定型计算 非确定型计算 移动和多种选择产生不同备份 无法移动时, 该备份就消失 有一个备份接受, 整个计算就接受 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(0) $ 1 1 1 $ q1 q4 q2 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(1) $ 1 1 1 $ q1 q1 q4 q2 q4 q2 q3 q3 0,1 0,1 1 0,  1 q1 q2 1 $ q1 q1 q4 q2 q4 q2 q3 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(2) $ 1 1 1 $ q1 q1 q1 q4 q2 q4 q2 q4 q2 q3 q3 q3 0,1 0,1 1 1 $ q1 q1 q1 q4 q2 q4 q2 q4 q2 q3 q3 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(3) $ 1 1 1 $ q1 q1 q1 q4 q2 q4 q2 q4 q2 q3 q3 q3 0,1 0,1 1 1 $ q1 q1 q1 q4 q2 q4 q2 q4 q2 q3 q3 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(4) q1 $ 1 1 1 $ q4 q2 q1 q1 q1 q3 q4 q2 q4 q2 q4 q2 q3 q3 1 $ q4 q2 q1 q1 q1 q3 q4 q2 q4 q2 q4 q2 q3 q3 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(5) $ 1 1 1 $ q1 q1 q1 q4 q2 q4 q2 q4 q2 q3 q3 q3 0,1 0,1 1 1 $ q1 q1 q1 q4 q2 q4 q2 q4 q2 q3 q3 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(6) $ 1 1 1 $ q1 q1 q1 q4 q2 q4 q2 q4 q2 q3 q3 q3 0,1 0,1 1 1 $ q1 q1 q1 q4 q2 q4 q2 q4 q2 q3 q3 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(7) q1 $ 1 1 1 $ q4 q2 q1 q1 q1 q3 q4 q2 q4 q2 q4 q2 q3 q3 1 $ q4 q2 q1 q1 q1 q3 q4 q2 q4 q2 q4 q2 q3 q3 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(8) q1 $ 1 1 1 $ q4 q2 q1 q1 q1 q3 q4 q2 q4 q2 q4 q2 q3 q3 1 $ q4 q2 q1 q1 q1 q3 q4 q2 q4 q2 q4 q2 q3 q3 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(0) $ 1 1 1 $ q1 q4 q2 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(1) $ 1 1 1 $ q1 q4 q2 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(2) $ 1 1 1 $ q1 q4 q2 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(3) $ 1 1 1 $ q1 q4 q2 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(4) $ 1 1 1 $ q1 q4 q2 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(5) $ 1 1 1 $ q1 q4 q2 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(6) $ 1 1 1 $ q1 q4 q2 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(7) $ 1 1 1 $ q1 q4 q2 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(8) $ 1 1 1 $ q1 q4 q2 q3 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(0) $ 1 1 1 $ 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(1) $ 1 1 1 $ 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(2) $ 1 1 1 $ 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(3) $ 1 1 1 $ 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(4) $ 1 1 1 $ 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(5) $ 1 1 1 $ 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(6) $ 1 1 1 $ 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(7) $ 1 1 1 $ 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上计算(8) $ 1 1 1 $ 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

N1在1101上的计算树 拒绝 q1 1 q1 拒绝 拒绝 q1 1 q2 q3 1 q3 q1 1 q2 q4 接受 1 1  q1 拒绝 拒绝 q1 1 q2 q3 1 q3 q1 1 q2 q4 接受 1 1  q1 拒绝 1 q3 1  q2  q3 1 1 接受 q4 q4 q4 0,1 0,1 1 0,  1 q1 q2 q3 q4 《理论计算机科学基础》

N1接受的语言 L(N1) = { w | w包含子串101或11 } 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

例2.14 L(N2)={w|w倒数第3个字母为1} ={0,1} 《理论计算机科学基础》

例2.14 L(N2)={w|w倒数第3个字母为1} ={0,1} 非确定型: 猜测倒数第3个字母 q1 q2 q3 q4 《理论计算机科学基础》

例2.14 L(N2)={w|w倒数第3个字母为1} ={0,1} 非确定型: 猜测倒数第3个字母 0,1 1 0, 1 0,1 q1 《理论计算机科学基础》

例2.14 L(N2)={w|w倒数第3个字母为1} ={0,1} 非确定型: 猜测倒数第3个字母 0,1 1 0, 1 0,1 q1 《理论计算机科学基础》

例2.14 L(N2)={w|w倒数第3个字母为1} ={0,1} 确定型: 记忆最后3个字母 q000 q100 q010 q110 《理论计算机科学基础》

例2.14 L(N2)={w|w倒数第3个字母为1} ={0,1} 确定型: 记忆最后3个字母 q000 q100 q010 q110 1 q000 q100 q010 q110 1 1 1 1 1 1 q001 q101 q011 q111 1 1 《理论计算机科学基础》

例2.14 L(N2)={w|w倒数第3个字母为1} ={0,1} 确定型: 记忆最后3个字母 q000 q100 q010 q110 1 q000 q100 q010 q110 1 1 1 1 1 1 q001 q101 q011 q111 1 1 《理论计算机科学基础》

例2.14(比较) 0,1 1 0, 1 0,1 q1 q2 q3 q4 q000 q100 q010 q110 1 1 1 1 1 1 q001 q101 q011 q111 1 1 《理论计算机科学基础》

例2.15 一元字母表上语言称为 筹码集(Tally Sets)   N3 《理论计算机科学基础》

例2.15 L(N3) = { 0k | k是2或3的倍数 }   N3 《理论计算机科学基础》

例2.16 N4接受, a, baba, baa, 拒绝b, bb, babba. a b q1 q2 a a, b  q3 N4 《理论计算机科学基础》

NFA的形式定义 定义2.17: 非确定型有穷自动机 N = (Q,,,q0,F), 其中 Q: 有穷状态集 : 输入字母表; ( ={} ) : QP(Q), 转移函数 q0Q: 初始状态 FQ: 接受状态(终结状态) 《理论计算机科学基础》

例2.18 N1=(Q,,,q1,F); Q={q1,q2,q3,q4}; ={0,1}; F={q4}; 表 1  q1 1  q1 {q1} {q1,q2}  q2 {q3} q3 {q4} q4 0,1 0,1 1 0,  1 q1 q2 q3 q4 N1 《理论计算机科学基础》

NFA计算的形式定义 NFA N=(Q,,,q0,F) 计算: 状态序列 r0,r1,…,rm 接受计算: M接受w: 存在接受计算 输入w=w1w2…wm 计算: 状态序列 r0,r1,…,rm r0=q0 ri+1(ri,wi+1) (i=0,1,…,m-1) 接受计算: rmF M接受w: 存在接受计算 L(M)={x | M接受x} 《理论计算机科学基础》

N1在1101上的计算 计算1: q1,q1,q1,q1,q1 计算2: q1,q1,q1,q1,q2 拒绝 q1 1 计算6: q1,q2 q1 计算7: q1,q2,q3,q4,q4,q4 拒绝 拒绝 q1 1 q2 q3  1 q3 q1 1 q2 q4 接受 1 1  q1 拒绝 1 q3 1  q2  q3 1 1 接受 q4 q4 q4 0,1 0,1 1 0,  1 q1 q2 q3 q4 《理论计算机科学基础》

NFA与DFA的等价性 等价: 两台机器识别同样的语言. 《理论计算机科学基础》

NFA与DFA的等价性 等价: 两台机器识别同样的语言. 定理2.19:每台NFA都有等价DFA. 《理论计算机科学基础》

NFA与DFA的等价性 定理2.19:每台NFA都有等价DFA. 证明思路: 给定NFA, 构造等价DFA 用DFA模拟NFA 闭包: 设NFA有k个状态, 则共有2k个不同状态子集合 闭包: 对每个状态子集合, 经移动 可到达的新状态子集合 《理论计算机科学基础》

例2.21(续例2.16) N4=({1,2,3},{a,b},,1,{1}) 求等价的DFA. 1 b a  a 2 3 a,b 《理论计算机科学基础》

例2.21 写出子集状态 1 b a  a 2 3 a,b  {1} {2} {1,2} {3} {1,3} {2,3} {1,2,3} 《理论计算机科学基础》

例2.21 求闭包 E({1})={1,3} 1 b a  a 2 3 a,b  {1} {2} {1,2} {3} {1,3} {2,3} {1,2,3} 《理论计算机科学基础》

例2.21 添加转移 1 b a  a 2 3 a,b a,b a b  {1} {2} {1,2} b a a,b b b a a a {3} {1,3} {2,3} {1,2,3} a b b 《理论计算机科学基础》

例2.21 初始状态 接受状态 不可达状态 1 b a  a 2 3 a,b a,b a b  {1} {2} {1,2} b a {3} {1,3} {2,3} {1,2,3} a b b 《理论计算机科学基础》

例2.21 删除不可达状态 {1}, {1,2}; 1 b a  a 2 3 a,b a,b  {2} b a b b a a a {3} {1,3} {2,3} {1,2,3} a b b 《理论计算机科学基础》

NFA与DFA的等价性 定理2.19: 每台NFA都有等价DFA. 证明: 设NFA N=(Q,,,q0,F), 构造 DFA M=(Q’,,’,q0’,F’), L(M)=L(N). 令Q’=P(Q). 对RQ’和a, E(R)={q | 从R出发沿0个或 多个移动可达q }; ’(R,a)=UrRE((r,a)). q0’=E({q0}). F’={RQ’ | RF}. # 《理论计算机科学基础》

推论2.20 推论2.20: 一个语言是正则的, 当且仅当有一台NFA识别它. 《理论计算机科学基础》

对正则运算的封闭性 定理2.22: 正则语言对并封闭. 《理论计算机科学基础》

对并运算的封闭性 定理2.22: 正则语言对并封闭. 证明思路: N N1   N2 《理论计算机科学基础》

对并运算的封闭性 定理2.22: 正则语言对并封闭. 证明:设NFA Ni=(Qi,,i,qi,Fi) 识别Ai, i=1,2. 构造NFA N=(Q,,,q0,F)识别A1A2. 令Q=Q1Q2{q0}; F=F1F2. 《理论计算机科学基础》

对连接运算的封闭性 定理2.23: 正则语言对连接封闭. 《理论计算机科学基础》

对连接运算的封闭性 定理2.23: 正则语言对连接封闭. 证明思路: N1 N2 N   《理论计算机科学基础》

对连接运算的封闭性 定理2.23: 正则语言对连接封闭. 证明:设NFA Ni=(Qi,,i,qi,Fi) 识别Ai,i=1,2. 构造NFA N=(Q,,,q1,F2)识别A1A2. 令Q=Q1Q2; 《理论计算机科学基础》

对星号运算的封闭性 定理2.24: 正则语言对星号封闭. 证明思路: N1 N   《理论计算机科学基础》

对星号运算的封闭性 定理2.24: 正则语言对星号封闭. 证明思路: N1 N    《理论计算机科学基础》

对星号运算的封闭性 定理2.24: 正则语言对星号封闭. 证明思路:设 A1=L(N1), A1*=L(N), NFA N1=(Q1,,1,q1,F1). 构造 NFA N=(Q,,,q0,F). Q=Q1{q0}; F=F1{q0}; 《理论计算机科学基础》