An element order independent comparison of hierarchically organized data
structures may be performed efficiently using a transformation operation
that orthogonally and recursively encodes child node information. In some
implementations, a hash table is defined for which values are encoded as
powers of two. Each value is therefore orthogonal when combined using
simple binary addition. At any particular node, a concatenation of
node-specific information with a sum of child-node hashes is, itself,
hashed and associated with the node. Orthogonal encodings ensure that a
combination (e.g., an additive combination) of values corresponding to
elements of a sub-hierarchy is insensitive to ordering of the elements.
Recursion can be employed to fold in information contributions at
successive layers of an information hierarchy.