The Generic Tree Module
A generic tree contains nodes. Each node has at least six items: the node's name, a question, three pointers to successors,
and a model index. A tree is used to compute a model index from a sequence of tagged monophones in a context. This is done
by descending the tree, starting at any node, answering the node's question, repeatedly selecting the approproate successor
node according to the answer to the question until one out of two conditions is met: The node's question is empty, or the
question can't be answered and there is no successor defined for that case. Every question can be answered in three
different ways: "yes", "no", and "don'töknow". Each answer corresponds to one successor node. When the descending is
finished, the final node's model index is returned as the result. Both, the senones tree and the topology tree use a generic
tree as their subobject. The only difference is their interpretation of the resulting model index. The senones tree treats
is as a senone index, the topology tree treats it as a topology index. If you want to examine a tree you can use it's
trace method. There are also Tcl scripts for visualizing a tree.
The generic tree module implements two object classes: Tree and TreeNode.
Tree nodes can't exist on their own, they can only be created in the context of a tree. When a Tree object is
created it creates it's own embedded Questions subobject, and builds it up dynamically. Maybe that's why you were
missing referrences to questions in other people's training and testing scripts.
Further information about the module: