Histogram-Based Top Subset Selection Algorithm

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for selecting a top or bottom subset of data are inefficient, often requiring order-N or order-N^2 time, and are not well-suited for hardware implementations or modern processor memory architectures, especially when dealing with large datasets.

Innovation Solution

A computer-implemented method that generates a histogram based on the values of a subset of bits in the input set to determine a threshold value, allowing for the efficient extraction of a top or bottom subset by separating values using the histogram and anti-histogram units.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sorting algorithms are used to select top or bottom subset of data, then the selection can be performed, but the time complexity becomes order-N or order-N^2

Engineering Contradiction:
Improveselection speedVSAvoidtime complexity
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent transforms the selection problem from comparing individual element values to counting element frequencies. By changing the parameter from value comparison to frequency counting through histogram generation, the algorithm achieves sub-order-N time complexity while correctly identifying the top or bottom subset of data.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces a histogram as an intermediary data structure that counts the frequency of each value in the input set. This histogram serves as a mediator between the input data and the final selection, enabling efficient identification of top/bottom elements without direct comparison between all pairs of elements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If binary trees or heaps are used to achieve sub-order-N time, then selection speed improves, but the upfront cost of composing data structures becomes prohibitive

Engineering Contradiction:
Improveselection speedVSAvoiddata structure composition cost
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses a histogram data structure that is much simpler and cheaper to create than binary trees or heaps. The histogram can be built in a single pass through the data with simple counting operations, avoiding the complex node allocation and linking required by tree or heap structures. This disposable histogram is then used to directly determine the threshold value for selection.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Productivity

If traditional sorting-based methods are used, then selection is achievable, but the methods are not well suited for hardware implementations and modern processor memory architectures

Engineering Contradiction:
Improveselection capabilityVSAvoidhardware implementation suitability
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent replaces the mechanical comparison and swapping operations of sorting algorithms with a counting-based histogram approach. This substitution transforms the problem from one requiring complex control flow and data movement (difficult to implement in hardware) to one requiring simple counting and threshold comparison (easier to implement in hardware and optimized for modern processor architectures).

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9342511B2Fast selection in hardware or software
Publication Date: 2016.05.17 RAYTHEON CO

AI summary

In an exemplary embodiment, a computer-implemented method includes receiving an instruction to select an output set from an input set, where the output set is a top subset or a bottom subset of the input set, where the input set comprises a plurality of members, and where each member of the input set includes a plurality of bits. A first subset of the plurality of bits is selected. A histogram is generated, by a computer processor, based on the values in the first subset of the plurality of bits. A threshold value of the input set is determined, where the threshold value separates the values of the output set from the values of the remainder of the input set, and where the threshold value is based at least in part on the histogram. The output set is then extracted from the input set based on the threshold value.