什么是NFA(不确定的有穷自动机)和DFA(确定的有穷自动机)

本文介绍了有穷自动机的基本概念,包括定义、转换图、DFA(确定的有穷自动机)和NFA(非确定的有穷自动机)的区别与等价性,以及如何从正则表达式构建NFA。DFA每次输入对应一个结果,而NFA的输入可能对应多个结果。DFA和NFA可以识别相同语言,且NFA可以通过子集法转化为DFA。
摘要由CSDN通过智能技术生成

 本节知识点是《编译原理》第三章-词法分析,学习参考教材为清华大学出版社《编译原理》第三版:

前情提要:

字母表∑1和∑2的乘积( product):

  ∑1∑2 ={ab|a ∈∑1, b ∈ ∑2}

  例: {0, 1} {a, b} ={0a, 0b, 1a, 1b}

字母表∑的n次幂( power):长度为n的符号串构成的集合

  ∑0 ={ ε }
  ∑n =∑n-1 ∑ , n ≥

  例: {0, 1}3 ={0, 1} {0, 1} {0, 1}={000, 001, 010, 011, 100, 101, 110, 111}

字母表的正闭包(positive closure):长度正数的符号串构成的集合:

  ∑+ = ∑ ∪∑2 ∪∑3 ∪…

  例:{a, b, c, d }+ = {a, b, c, d,aa, ab, ac, ad, ba, bb, bc, bd, …, aaa, aab, aac, aad, aba, abb, abc, …}

字母表的克林闭包(Kleene closure):任意符号串(长度可以为零)构成的集合:

  ∑* = ∑0 ∪∑+ = ∑0 ∪∑ ∪∑2 ∪∑3 ∪…

  例:{a, b, c, d }* = {ε, a, b, c, d,aa, ab, ac, ad, ba, bb, bc, bd, …, aaa, aab, aac, aad, aba, abb, abc, …}

一、【 有穷自动机 】:

1、定义

 有穷自动机 ( Finite Automata,FA )由两位神经物理学家MeCuloch和Pitts于1948年首先提出,是对一类处理系统建立的数学模型
 这类系统具有一系列离散的输入输出信息和有穷数目的内部状态(状态:概括了对过去输入信息处理的状况)
 系统只需要根据当前所处的状态和当前面临的输入信息就可以决定系统的后继行为。每当系统处理了当前的输入后,系统的内部状态也将发生改变

2、Finite Automata的典型例子:

 电梯控制装置
 输入:顾客的乘梯需求(所要到达的层号)
 状态:电梯所处的层数+运动方向

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值