写作理由
因为当时看龙书的时候,感觉前一部分看的头痛欲裂,结果在不想看的时候,又来了一堆公式,当时就没看下去了,但是事后还是觉得弄懂了比较好,就算是对以前的数学知识的复习吧。
公式推导
龙书的第387页到达定值的转移函数为:
fd(x)=gend∪(x−killd)
f
d
(
x
)
=
g
e
n
d
∪
(
x
−
k
i
l
l
d
)
当存在两个转移函数时,求组合函数:
f1(x)=gen1∪(x−kill1)f2(x)=gen2∪(x−kill2)
f
1
(
x
)
=
g
e
n
1
∪
(
x
−
k
i
l
l
1
)
f
2
(
x
)
=
g
e
n
2
∪
(
x
−
k
i
l
l
2
)
这里主要使用到了一个性质,即:
A−B=A∩B¯¯¯¯
A
−
B
=
A
∩
B
¯
求 f2(f1(x)) f 2 ( f 1 ( x ) ) :
f2(f1(x))=gen2∪(gen1∪(x−kill1)−kill2)=gen2∪(gen1∪(x∩kill1¯¯¯¯¯¯¯¯¯)−kill2)=gen2∪((gen1∪(x∩kill1¯¯¯¯¯¯¯¯¯))∩kill2¯¯¯¯¯¯¯¯¯)=gen2∪(gen1∩kill2¯¯¯¯¯¯¯¯¯)∪(x∩kill1¯¯¯¯¯¯¯¯¯∩kill2¯¯¯¯¯¯¯¯¯)=gen2∪(gen1−kill2)∪(x−kill1−kill2)(852)(853)(854)(855)(856)
(852)
f
2
(
f
1
(
x
)
)
=
g
e
n
2
∪
(
g
e
n
1
∪
(
x
−
k
i
l
l
1
)
−
k
i
l
l
2
)
(853)
=
g
e
n
2
∪
(
g
e
n
1
∪
(
x
∩
k
i
l
l
1
¯
)
−
k
i
l
l
2
)
(854)
=
g
e
n
2
∪
(
(
g
e
n
1
∪
(
x
∩
k
i
l
l
1
¯
)
)
∩
k
i
l
l
2
¯
)
(855)
=
g
e
n
2
∪
(
g
e
n
1
∩
k
i
l
l
2
¯
)
∪
(
x
∩
k
i
l
l
1
¯
∩
k
i
l
l
2
¯
)
(856)
=
g
e
n
2
∪
(
g
e
n
1
−
k
i
l
l
2
)
∪
(
x
−
k
i
l
l
1
−
k
i
l
l
2
)
所以整个基本块的转移函数为:
fB(x)killBgenB=genB∪(x−killB)=kill1∪kill2∪kill3∪⋯∪killn=genn∪(genn−1−killn)∪(genn−2−killn−1−killn)∪⋯∪(gen1−kill2−kill3−⋯−killn)(857)(858)(859)(860)
(857)
f
B
(
x
)
=
g
e
n
B
∪
(
x
−
k
i
l
l
B
)
(858)
k
i
l
l
B
=
k
i
l
l
1
∪
k
i
l
l
2
∪
k
i
l
l
3
∪
⋯
∪
k
i
l
l
n
(859)
g
e
n
B
=
g
e
n
n
∪
(
g
e
n
n
−
1
−
k
i
l
l
n
)
∪
(
g
e
n
n
−
2
−
k
i
l
l
n
−
1
−
k
i
l
l
n
)
∪
⋯
(860)
∪
(
g
e
n
1
−
k
i
l
l
2
−
k
i
l
l
3
−
⋯
−
k
i
l
l
n
)