public DecisionTree(TreeDescription treeDesc) : base(treeDesc)
 {
     inputsCount = treeDesc.GetInputsCount();
     outputCount = treeDesc.GetOutputsCount();
     maxDepth    = treeDesc.MaxDepth;
     root        = new Node();
 }
        public override ISolver Copy()
        {
            TreeDescription dtDescr = new TreeDescription(this.GetInputsCount(), this.GetOutputsCount(), this.maxDepth);
            DecisionTree    newDT   = new DecisionTree(dtDescr);

            newDT.root = this.root.Copy();
            return(newDT);
        }