答案 0 :(得分:0)
嗯,据我所知,为NFA生成等效DFA的算法将DFA的状态集视为NFA状态集的幂集;也就是说,如果我们的NFA具有状态q0
和q1
,则我们的DFA将具有状态{}, {q0}, {q1}, {q0, q1}
。然后,我们按以下方式添加制作:如果NFA在q
上从q'
转换为a
,则DFA会从p
转换为{{1在p'
上a
是与NFA状态集相对应的状态,该状态集可以通过与NFA状态的p'
对应的集合中的任何状态来访问在输入p
上。对我们来说:
a
只能导致自己;这是一个死态。在{}
或{}
上将{}
转换为0
。1
包含{q0}
,q0
或q0
位于q1
,0
无处可见。 1
上的{q0}
到{q0, q1}
以及0
上的{q0}
到{}
的转化。1
包含{q1}
,q1
或q0
位于q1
,1
无处可见。 0
上的{q1}
到{q0, q1}
以及0
上的{q1}
到{}
的转化。1
包含{q0, q1}
和q0
。 q1
q0
或q0
q1
0
q1
无处可去;在{q0, q1)
上将{q0, q1}
转换为0
。 q1
q0
或q1
1
q0
1
无效{q0, q1}
;因此,{q0, q1}
上的1
转换为 0 | 1
{} | {} | {}
{q0} | {q0,q1} | {}
{q1} | {} | {q0,q1}
{q0,q1} | {q0,q1} | {q0,q1}
。这是一张表:
0,1
/ \
| |
\ v
{q0} -0-> {q0,q1} <-1- {q1}
\ /
\ /
\-1--> { } <--0-/
这是一张图表:
{q0}
请注意,在此构造中,最终状态是DFA的任何状态,对应于包含NFA接受状态的集合。对我们而言,接受状态为{q0,q1}
和q0
,因为{q0}
是NFA中唯一的接受状态。
在这种结构中还要注意,初始状态是对应于仅包含NFA初始状态的集合的状态;对我们来说,var number = $("#number").val();
var range = 5;
var points = Math.ceil(number / range) + 1;
alert(points + ' points!');
。