解释Arden定理在理论计算机科学中的应用。
Arden定理有助于检查两个正则表达式的等价性。
Arden定理
设P和Q是输入集Σ上的两个正则表达式。正则表达式R如下所示:
R=Q+RP
其唯一解为**R=QP*。**
证明
设P和Q是输入字符串集Σ上的两个正则表达式。
如果P不包含ε,则存在R使得
R= Q+RP-----------------------公式1
我们将用QP*替换公式1中的R
考虑公式1的右边(R.H.S)
= Q+QP*P
=Q(ε+P*P)
=QP* 因为根据恒等式R*R=R*
因此,R=QP* 得证。
为了证明R=QP*是唯一解,我们现在将公式1的左边(L.H.S)替换为Q+RP
然后它变成,Q+RP
但是,R可以再次被替换为Q+RP
因此,
Q+RP = Q+(Q+RP)P
=Q+QP+PP2
再次,用Q+RP替换R
=Q+QP+(Q+RP)P2
=Q+QP+QP2+RP3
因此,如果我们继续用Q+RP替换R,我们将得到:
Q+RP=Q+QP+QP2+………+QPi+RPi+1
=Q(ε+P+P2+…….+Pi)+RPi+1
从公式1
R = Q(ε+P+P2+…….+Pi)+RPi+1 ---------------公式2
其中i>=0
考虑公式2
R= Q(ε+P+P2+…….+Pi)+RPi+1
R= QP*+RPi+1
设w是一个长度为i的字符串
在RPi+1中没有长度小于i+1的字符串。
因此,
- w不在集合RPi+1中
- R和QP*表示相同的集合。
因此,已证明
R=Q+RP 有唯一解
R=QP*
广告