• 沒有找到結果。

11.2 有穷自动机

N/A
N/A
Protected

Academic year: 2021

Share "11.2 有穷自动机"

Copied!
21
0
0

加載中.... (立即查看全文)

全文

(1)

11.2 有穷自动机

确定型有穷自动机 (DFA)

非确定型有穷自动机 (NFA)

转移的 NFA(

-NFA)

(2)

确定型有穷自动机

定义 确定型有穷自动机 (DFA) 是一个有序 5 元组 M = Q,,,q0,F , 其中

(1) 状态集合 Q: 非空有穷集合

(2) 输入字母表 : 非空有穷集合 (3) 状态转移函数 :QΣ→Q

(4) 初始状态 q0Q (5) 终结状态集 FQ

控制器

an

ai

a2

a1

(3)

DFA 接受的语言

扩张到 Q* *:Q*→Q, 递归定义如下

qQ, a 和 w* *(q,)=q

*(q,wa)= (*(q,w),a)

定义  w*, 如果 *(q0,w)F, 则称 M 接受 w.

M 接受的字符串的全体称作 M 接受的语言 ,

L(M),

(4)

DFA 接受的语言 ( 续 )

例 1 M= {q0

, q

1

},{a}, ,q

0

,{q

1

}

(q

0

, a)=q

1

, (q

1

, a)=q

0

为偶数 为奇数

0 1

0 q , n

n , ) q

a , (q

δ n

为偶数 为奇数

1 0

1 q , n

n , ) q

a , (q

δ n

(5)

非确定型有穷自动机

定义 非确定型有穷自动机 (NFA) M = 〈 Q,,,q0,F 〉 ,

其中 Q,, q0, F 的定义与 DFA 的相同 , 而 : Q →P(Q)

(6)

实例

→q0 q1 *q2 q3 *q4 0

1

{q0 , q3}  {q2} {q4} {q4} {q0 , q1} {q2} {q2}  {q4} 例 2 一台 NFA

(7)

NFA 接受的语言

(q,w)( , )

p

a p

*:Q*→Q 递归定义如下 : qQ, a 和 w* *(q,)={q}

*(q,wa)=

定义  w*, 如果 *(q0 ,w)∩F≠, 则称 M 接受 w. M 接受的字符串的全体称作 M 接受的语言 , 记作 L(M),

L(M)={ wΣ*| *(q0 ,w)∩F≠ }

(8)

例 2 ( 续 )

L(G) = { x00y, x11y | x,y{0,1}*} w δ*(q0 ,w)

1 10 101 1011 10110

{q0, q1} {q0, q3} {q0, q1} {q0, q1 , q2} {q0, q2 , q3}

(9)

DFA 与 NFA 的等价性

用 M=Q,, ,q0,F   模拟 M=Q,,,q0,F  Q=P(Q), q0={q0}

F={ AQ | A∩F≠}

AQ 和 aΣ,

( A, a)

( p,a)

定理 对每一个 NFA M 都存在 DFA M  使 得

L(M)=L(M )

(10)

模拟实例

NFA M DFA M

δ 0 1

→q0 q1

*q2

{q0, q1} {q0} {q2}   

δ 0 1

→{q0} {q1}

*{q2} {q0,q1}

*{q0,q2}

*{q1,q2}

*{q0,q1,q2}

{q0, q1} {q0} {q2}    {q0,q1,q2} {q0} {q0,q1} {q0} {q2}  {q0,q1,q2} {q0}

(11)

模拟实例 ( 续 )

δ 0 1

→{q0} {q0,q1}

*{q0,q1,q

{q0, q1} {q0} {q0,q1,q2} {q0} {q0,q1,q2} {q0}

不可达状态 : 从初始状态出发永远不可能达到的状态 删去所有的不可达状态 , 不会改变 FA 接受的语言 . 如 M 中的 {q1},{q2},{q0,q2},{q1,q2} 和都是不可达状态 ,

删去这些状态得到 M

(12)

带  转移的非确定型有穷自动机

ε 转移 : 不读如何符号 , 自动转移状态 .

-NFA: :Q(∪{ })→P(Q)

定理 对每一个 -NFA M 都存在 DFA M  使得 L(M)=L(M)

DFA, NFA -NFA 接受同一个语言类

(13)

用 DFA 模拟-NFA

-NFA M=Q,,,q0,F , qQ

q 闭包 E(q): 从 q 出发 , 经过 转移能够到达的

有状态 , 递归定义如下 (1) E(q) 包含 q;

(2) 如果 pE(q), 则 (p, )E(q).

例 3 -NFA M 0 1

→q0 q1

{q1}  {q2}  {q2} 

q E(q)

q0 q1

{q0,q2} {q1}

(14)

用 DFA 模拟-NFA( 续 )

模拟的方法与用 DFA 模拟不带 的 NFA 的方法基本相同 , 只是要用 E(q) 代替 q.

用 DFA M=Q,, ,q0,F   模拟 -NFA M=Q,,,q0,F  Q=P(Q), q0=E(q0)

F ={AQ | A∩F≠}

AQ 和 aΣ,

A

q

a p t

q E p

t p t

E r

a A

( , ) { ( ) | , ( ), ( , )}

使

构造 DFA M 时不需要对不可达状态进行计算 , 做法如下 : 从 q

0= E(q0) 开始 , 对每一个 a 计算 的值 , 然后对每一个新出

(15)

模拟实例——例 3( 续 )

0 1

→q0 q1

*q2

{q1}  {q2}  {q2}    {q0}

0 1

→*{q0,q2} {q1}

{q1}   {q0,q2}  

-NFA M DFA M

ε ε

(16)

11.3 有穷自动机和正则文法 的等价性

-NFA

模拟右线性文法

用右线性文法模拟 DFA

(17)

有穷自动机和正则文法的等价性

定理 设 G 是右线性文法 , 则存在 -NFA M 使得

L(M)=L(G); 设 M 是 DFA, 则存在右线性文法 G 使

得 L(G)= L(M).

定理 下述命题是等价的 : (1) L 是正则语言 ;

(2) 语言 L 能由右线性文法生成 ;

(3) 语言 L 能由左线性文法生成 ;

(4) 语言 L 能被 DFA 接受 ; (5) 语言 L 能被 NFA 接受 ;

(18)

用  -NFA 模拟右线性文法

设右线性文法 G=V,T,S,P 

-NFA M=Q,,, q0 , F  构造如下 : Q=V∪{qf }, q0={S}, F={qf },

={ T *-{ } | 存在 A→BP 或 A→P }

AV 和∪{},

若 A→BP, 则 (A, ) 中含有 B;

若 A→P, 则 (A, ) 中含有 qf;

∪{}, (qf ,)= 

(19)

模拟实例

L(G)=L(M)={ (11)m0n | m1, n0} G=V,T,S,P 

V={A,S}

T={0,1}

P: S→11S S→11A A→0A

A→

-NFA M=Q,,, S, {qf}  Q ={A, S, qf}

Σ ={11, 0}

11 0

→S A

*qf

{S,A}    {A} {qf}   

(20)

用右线性文法模拟 DFA

设 DFA M=Q,,,q0,F 

右线性文法 G=V,T,S,P  构造如下 : V=Q, T=Σ, S=q0

qQ 和 aΣ,

(q,a)=p, 则有产生式 q→ap 若 qF, 则有产生式 q→

(21)

模拟实例

0 1

→q0 q1

*q2

q1 q0 q2 q1 q0 q2

DFA M G =V,T,S,P

V={q0,q1,q2}, T={0,1}, S= q0 P: q0→0q1 q0→1q0

q1→0q2 q1→1q1 q2→0q0 q2→1q2 q2

L(M)=L(G), 它们是所有含 3k+

2 (k0) 个 0 的 0,1 串组成的集

參考文獻

相關文件

Nos quadros os totais não perfazem o somatório de todos os valores, devido a arredondamentos Figures may not add up to the total stated due to rounding in

按缴纳物业转移印花税及建成年份统计的住宅单位每平方米平均成交价(不包括尚待重估价

按缴纳物业转移印花税及建成年份统计的住宅单位每平方米平均成交价(不包括中间移转及尚待重估价值的楼

经营费用:包括自用物料、水费、燃料、电费、保养及维修、场所租金、机器及设备租金、机动车租赁、连司机的

由第三者提供予企業使用之商品及服務總數。包括:自用物料、水費、燃料、電費、保養

经营费用:包括自用物料、水费、燃料、电费、保养及维修、场所租金、机器及设备租金、机动车租赁、连司机的汽车租

The Seed project, REEL to REAL (R2R): Learning English and Developing 21st Century Skills through Film-making in Key Stage 2, aims to explore ways to use film-making as a means

经营费用:包括消耗品、水费、燃料、电费、保养及维修、场所租金、机器及设备租金、机动车租赁(包括租用机动车连司