对于龙书中的到达定值的传递方程公式的推导

写作理由

因为当时看龙书的时候,感觉前一部分看的头痛欲裂,结果在不想看的时候,又来了一堆公式,当时就没看下去了,但是事后还是觉得弄懂了比较好,就算是对以前的数学知识的复习吧。

公式推导

龙书的第387页到达定值的转移函数为:

fd(x)=gend(xkilld) f d ( x ) = g e n d ∪ ( x − k i l l d )

当存在两个转移函数时,求组合函数:
f1(x)=gen1(xkill1)f2(x)=gen2(xkill2) 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 )

这里主要使用到了一个性质,即:
AB=AB¯¯¯¯ A − B = A ∩ B ¯

f2(f1(x)) f 2 ( f 1 ( x ) )
f2(f1(x))=gen2(gen1(xkill1)kill2)=gen2(gen1(xkill1¯¯¯¯¯¯¯¯¯)kill2)=gen2((gen1(xkill1¯¯¯¯¯¯¯¯¯))kill2¯¯¯¯¯¯¯¯¯)=gen2(gen1kill2¯¯¯¯¯¯¯¯¯)(xkill1¯¯¯¯¯¯¯¯¯kill2¯¯¯¯¯¯¯¯¯)=gen2(gen1kill2)(xkill1kill2)(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(xkillB)=kill1kill2kill3killn=genn(genn1killn)(genn2killn1killn)(gen1kill2kill3killn)(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 )

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值