Consider a randomly generated boolean equation
((((G)&(!D))&((!A)&(((E)|(!C))|(E))))&(((((G)|(G))&((!D)&(!D)))&(H))&((!A)&((!A)&(((!D)|(E))&(!D))))))
Tree represenation of above equation
You can check the decomposition of the above with k = 3
where k means decomposition with 3 unique variable.
Let us look at an example in diagram below for the meaning of k
The yellow cut defines a decomposition with k = 3
i.e the cut has 3 unique variables. For more details please have here.
Overall if we do a normal decomposition of above boolean equation it would take around 4 decomposition. You can have look at these slides here.
In our project we have developed a algorithm which can minimize this decomposition via properties of trees.
We manipulate the boolean equation which changes its tree respresentation without changing its meaning. Have a look at the change made by the our algorithm below.
This representation allows us to reduce the no of decomposition into 2. Have a complete look here.