Outcome Metric Accumulation for Parallel Decision Trees
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Decision trees are processed sequentially, leading to slow and inefficient processing, particularly in distributed parallel computing systems due to memory and time requirements for storing results from earlier level nodes.
Innovation Solution
A distributed parallel computing system processes decision trees by performing node comparisons and outcome metric accumulation in parallel using a bank of processing elements, employing a generalized matrix-vector multiplication to identify the determined outcome.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If decision trees are processed sequentially with hierarchical node evaluation, then processing follows the natural tree structure, but processing speed becomes slow and inefficient
Solution Approach 1:
The patent segments the decision tree processing into independent parallel tasks by creating a task queue that contains all node evaluations as separate units. Each processing element can independently evaluate nodes from different levels simultaneously, breaking the sequential dependency while maintaining the tree structure through result accumulation.
Solution Approach 2:
The patent introduces a new dimensional approach by processing nodes across multiple levels in parallel rather than strictly following the hierarchical depth-first or breadth-first traversal. Processing elements work on nodes from different tree levels simultaneously, adding a parallel processing dimension to the traditionally sequential hierarchical evaluation.
2Productivity
If parallel processing is implemented across all nodes, then processing speed increases, but memory requirements increase due to storing results from all levels
Solution Approach 1:
The patent implements preliminary action by pre-allocating outcome vectors for all potential outcomes before processing begins. This allows results to be accumulated directly into pre-prepared storage structures, avoiding the need to dynamically allocate and manage large amounts of memory during parallel processing operations.
Solution Approach 2:
The patent enables discarding and recovering by allowing intermediate results from processing elements to be accumulated and then discarded once the final outcome is determined. The system can recover computational resources by terminating processing early once the outcome is clear, rather than completing all parallel evaluations.
3Reliability
If hierarchical processing is used with earlier level nodes determining later level processing, then the decision tree logic is maintained, but processing time increases due to sequential dependencies
Solution Approach 1:
The patent implements feedback mechanisms where processing elements continuously monitor the accumulated results and can signal when the outcome is determined. This feedback allows the system to maintain logical accuracy by verifying results against the decision tree structure while enabling early termination to reduce processing time.
Solution Approach 2:
The patent introduces dynamics by making the processing depth and scope adaptive rather than fixed. Processing elements can dynamically adjust their operation based on accumulated results, and the system can dynamically terminate processing early when the outcome is determined, rather than following a rigid sequential schedule.
Data Source
AI summary
An example computing device includes: a bank of processing elements; and a controller configured to: obtain an input vector having a plurality of input attributes, the input vector to be processed by a decision tree to identify a determined outcome; control the bank of processing elements to process the input vector to obtain a result vector, wherein each input attribute is processed by one of the processing elements in the bank to obtain a result, and wherein the result vector comprises a combination of the results; control the bank of processing elements to accumulate the result vector with an outcome vector for each potential outcome of the decision tree to obtain a respective outcome metric for each potential outcome; and select one potential outcome as the determined outcome of the decision tree for the input vector based on the respective outcome metrics for each potential outcome.


