steins058596 发表于 2022-10-6 18:57:00

关于控制依赖有些问题


尊敬的专家您好:
在图A-2中,如果删除掉B8-B7这条有向边,B8作为某条路的终点存在(比赛数据中确实有多个终点),那么B5与B6,B7,B8,B3,B4间是否存在控制依赖,B1与B3、B8间是否存在控制依赖?

Aminn 发表于 2022-10-7 13:21:13

有一条路径是B1-B5-B8就结束了,不经过B3,。那么B1和B3不构成依赖关系吗?

aoyama 发表于 2022-10-7 11:06:34

D题专家 发表于 2022-10-7 10:21
删掉B8-B7,B5与B6、B7、B8、B3、B4均存在控制依赖,B1与B3不存在控制依赖,B1与B8存在控制依赖。

专家您好,删掉B8-B7后,B1只有部分路径经过B3了,请问为什么B1不控制B3呢?

D题专家 发表于 2022-10-7 10:21:15

删掉B8-B7,B5与B6、B7、B8、B3、B4均存在控制依赖,B1与B3不存在控制依赖,B1与B8存在控制依赖。

D题专家 发表于 2022-10-7 11:14:56

aoyama 发表于 2022-10-7 11:06
专家您好,删掉B8-B7后,B1只有部分路径经过B3了,请问为什么B1不控制B3呢?

删除B8-B7,B1出发有两条边B1-B2和B1-B5,B1-B2起始的路径下游通过B3,B1-B5起始的路径下游也通过了B3,故B1与B3不构成控制依赖。进一步可参考帖子“关于控制依赖的进一步解释”

凌风whb1 发表于 2022-10-7 14:30:11

D题专家 发表于 2022-10-7 11:14
删除B8-B7,B1出发有两条边B1-B2和B1-B5,B1-B2起始的路径下游通过B3,B1-B5起始的路径下游也通过了B3, ...

有一条路径是B1-B5-B8就结束了,起始于B1,但不经过B3,。那么B1和B3不构成依赖关系吗?

D题专家 发表于 2022-10-7 14:33:29

凌风whb1 发表于 2022-10-7 14:30
有一条路径是B1-B5-B8就结束了,起始于B1,但不经过B3,。那么B1和B3不构成依赖关系吗?

参考可参考帖子“关于控制依赖的进一步解释”,只看B1-B5

凌风whb1 发表于 2022-10-7 22:01:49

D题专家 发表于 2022-10-7 14:33
参考可参考帖子“关于控制依赖的进一步解释”,只看B1-B5

专家您好,您刚刚说,去掉B8B7边后,B1跟B3没有依赖,
是不是可以认为:B1的每条出边都存在能到达B3的路径,则认为从B1出发的路径,全部路径到达B3,所以B1跟B3没有依赖,
请问是不是这个意思?

凌风whb1 发表于 2022-10-8 12:41:15

D题专家 发表于 2022-10-7 14:33
参考可参考帖子“关于控制依赖的进一步解释”,只看B1-B5


专家您好,您说去掉B8B7边后,B1跟B3没有依赖,
是不是可以认为:B1的每条出边都存在能到达B3的路径,则认为从B1出发的路径,全部路径到达B3,所以B1跟B3没有依赖,
请问是不是可以按照上述理解?
那么是否控制依赖的定义变成:当从基本块A出发的路径,A每条出边都存在一条能达到B的路径,则AB无控制依赖,否则AB构成控制依赖

D题专家 发表于 2022-10-8 14:20:46

凌风whb1 发表于 2022-10-8 12:41
专家您好,您说去掉B8B7边后,B1跟B3没有依赖,
是不是可以认为:B1的每条出边都存在能到达B3的路径, ...

对于B1和B3无控制依赖你的理解是对的,但你对控制依赖的定义不完备。可以这样表述,当从基本块A每条出边都存在一条能到达B的路径,或者所有出边都不存在到达B的路径,则A和B不构成控制依赖,否则A和B构成控制依赖。
关于控制依赖定义,我在帖子“关于控制依赖的进一步解释”中有进一步说明。
页: [1]
查看完整版本: 关于控制依赖有些问题