有向无环图(DAG图)
一.基础知识
有向无环图:有向图+无环
简称:Directed Acyclic Graph(DAG图)
directed 径直的 [dəˈrektɪd]
acyclic 无环的 [ˌeɪˈsaɪklɪk]
graph 图 [ɡræf]

二.化简
找到重复部分

修改

再找

再改

再找

再改

完成
三.构建
为防止化简遗漏,通常需要自己构建
((a+b)* b*(c+d))+(c+d)* e)*((c+d)*e)
1.构建底层

2.按照运算符计算顺序依次构建
题目:{ (a+b)* [b*(c+d)] + (c+d)* e} * [(c+d)*e]
a+b
c+d

[b*(c+d)] 注意分层

题目:{ (a+b)* [b*(c+d)] + (c+d)* e} * [(c+d)*e]
(a+b)* [b*(c+d)]

题目:{ (a+b)* [b*(c+d)] + (c+d)* e} * [(c+d)*e]
(c+d)* e

题目:{ (a+b)* [b*(c+d)] + (c+d)* e} * [(c+d)*e]
{ (a+b)* [b*(c+d)] + (c+d)* e}

题目:{ (a+b)* [b*(c+d)] + (c+d)* e} * [(c+d)*e]
(c+d)* e 已算过
{ (a+b)* [b*(c+d)] + (c+d)* e} * [(c+d)*e]

通常正确构建,检查时无需修改,本题即是
3.检查。自底向上依次检查同层是否出现重复,若有修改
举例:
绿色部分,都是c+d去乘某个数

修改为

再如:
出现两个(c+d) * e

修改为:

四.进阶
( a * b ) * ( a * b ) * ( a * b ) * c
分步构建

检查删掉重复部分:同层3个a*b,保留一个(此处保留了中间的)

即:(通过练习可一步到位)

注:( a * b ) * ( a * b ) * ( a * b ) * c
刚刚我们是按照从左到后的顺序构建的,如果改变构建顺序,如:先计算 ( a * b ) * c会导致图不一样,因此考试中可能不会对此过深考察
五.练习

解:

答案:A
提醒:不要忘了x也可以合并,我们在构建过程中底层的每个顶点是只出现一次的
