When a convolution kernel is applied to sparse data, kernel dot products between almost the same instances become much larger than those between different instances.
first, the algorithm starts with a set of trees consisting of single nodes, and then expands a given tree of size (k − 1) by attaching a new node to this tree to obtain trees of size k. it would be inefficient to expand nodes at arbitrary positions of the tree, as duplicated enumeration is inevitable.