1、有限自动机 3.6,3.3 有 限 自 动 机,3.3.1 不确定的有限自动机(简称NFA) 一个数学模型,它包括: 1、有限的状态集合S 2、输入符号集合 3、转换函数move : S ( ) P(S) 4、状态s0是唯一的开始状态 5、F S是接受状态集合,识别语言 (a|b)*ab 的NFA,一个符号标记离开同一状态有多条边,状 态,NFA的转换表,3.3 有 限 自 动 机,识别语言 (a|b)*ab 的NFA,3.3 有 限 自 动 机,例 识别aa*|bb*的NFA,3.3.2 确定的有限自动机(简称DFA) 一个数学模型,包括:,1、有限的状态集合S 2、输入字母集合 3、转换函
2、数move : S S,且可以是部分函数 4、唯一的开始状态 s0 5、接受状态集合F S,识别语言 (a|b)*ab 的DFA,3.3 有 限 自 动 机,一个符号标记离开同一状态只有一条边,3.3 有 限 自 动 机,例 识别 (a | b)* a b 的DFA,3.3 有 限 自 动 机,例 识别 (a | b)* a b 的DFA,DFA,NFA,练习,叙述0(0|1)*0和(|0)1*)*描述的语言 一个语言的非形式定义是:字母表0,1上所有不含字串001的0和1的串,写出定义该语言的正则表达式,练习,构造一个DFA,他接受=0,1上的0和1的个数是偶数的字符串。 构造一个DFA,他接受=0,1上能被5整除的二进制数。简单起见,00101也是可以被接受的。 构造一个DFA,他接受=0,1上所有大于5的二级制数。 有/*开始,*/结束的串构成C语言的注释,中间没有*/,画出接受注释的DFA。,练习,某系统下合法的文件名为 device:name. extension 其中第一部分和第三部分可以省略,画出识别这种文件名的DFA。,重点,有限自动机 不确定有限自动机(NFA) 确定有限自动机(DFA) 初步掌握通过描述,绘制有限自动机的状态转换图,