📄 3.3.1b.htm
字号:
<html>
<head>
<title>编译原理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link type="text/css" rel="stylesheet" href="../css/specification.css">
</head>
<BODY bgColor=Lavender>
<table align=right width=300>
<tr>
<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.3.1a.htm'" src="../images/previous.gif"></IMG></td>
<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.3.1c.htm'" src="../images/next.gif"></IMG></td>
</tr>
</table>
<br><br>
<table border=0>
<tr>
<td width=10></td>
<td colspan=2>
<p>
<img class="dingyi" src="img/dingli.gif">
<b>定理3,1</b> 对任何一个NFA M,都存在一个DFA M’,使</p>
<p>        L(M’)=L(M)</p>
<p> 证明的基本思想是由M出发构造等价的M’,办法是让M’的状态对应于M的状态集合。即若δ(q,a)={q<sub>1</sub>,...,q<sub>k</sub>},则把{q<sub>1</sub>,...,q<sub>k</sub>}作为一个整体看作M'中的一个状态,即Q’中一个元素。这里给出一个从DFAM构造DFAM’的算法,下面举例说明。</p>
<p>
<img class="dingyi" src="img/liti.gif">
<b>例3.2 </b>设NFA M=({0,1},{q<sub>0</sub>,q<sub>1</sub>},q<sub>0</sub>,{q<sub>1</sub>},δ),其中:
</p>
<p align="center">δ(q<sub>0</sub>,0)={q<sub>0</sub>,q<sub>1</sub>},δ(q<sub>0</sub>,1)={q<sub>1</sub>}<br>
<p align="center">δ(q<sub>1</sub>,0)=Φ,δ(q<sub>1</sub>,1)={q<sub>0</sub>,q<sub>1</sub>}
</p>
<p> 其中</p>
</td>
</tr>
<tr>
<td></td>
<td colspan=2>
<table>
<tr>
<td width=50></td>
<td>
<b>(a)</b>把Q中一切子集组成的集合作为M'的状态的集合Q'。<br>
此例中Q'={Φ,{q<sub>0</sub>},{q<sub>1</sub>},{q<sub>0</sub>,q<sub>1</sub>}}<br>
<b>(b)</b>q<sub>0</sub>’={q<sub>0</sub>} <br>
<b>(c)</b>M’的终态集合F’是Q子集中一切包含F中元素的集合所组成。<br>
此例中F’={{q<sub>1</sub>},{q<sub>0</sub>,q<sub>1</sub>}}
<br>
<b>(d)</b> δ’({q<sub>1</sub>,q<sub>2</sub>,...,q<sub>k</sub>},a)<br>
=δ(q<sub>1</sub>,a)∪δ(q<sub>2</sub>,a)∪...∪δ(q<sub>k</sub>,a),<br>
在此例中<br>
<table width="100%">
<tr>
<td>
δ'(Φ,0)=Φ<br>
δ'({q<sub>0</sub>},0)=δ(q<sub>0</sub>,0)={q<sub>0</sub>,q<sub>1</sub>}<br>
δ'({q<sub>1</sub>},0)=δ(q<sub>1</sub>,0)=Φ<br>
δ'({q<sub>0</sub>,q<sub>1</sub>},0)<br>
=δ(q<sub>0</sub>,0)∪δ(q<sub>1</sub>,0)<br>
={q<sub>0</sub>,q<sub>1</sub>}={q<sub>0</sub>,q<sub>1</sub>} <br>
</td>
<td>
δ'(Φ,1)=Φ<br>
δ'({q<sub>0</sub>},1)=δ'(q<sub>0</sub>,1)={q<sub>1</sub>},<br>
δ'({q<sub>1</sub>},1)=δ(q<sub>1</sub>,1)={q<sub>0</sub>,q<sub>1</sub>},<br>
δ'({q<sub>0</sub>,q<sub>1</sub>},1)<br>
=δ(q<sub>0</sub>,1)∪(q<sub>1</sub>,1)<br>
={q<sub>1</sub>}{q<sub>0</sub>,q<sub>1</sub>}={q<sub>0</sub>,q<sub>1</sub>} <br>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table align=right width=300>
<tr>
<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.3.1a.htm'" src="../images/previous.gif"></IMG></td>
<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.3.1c.htm'" src="../images/next.gif"></IMG></td>
</tr>
</table>
</BODY>
</html>
<html><script language="JavaScript">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -