Fast Sort Engine Using Monotonic Function for Radix Sorting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Radix sort algorithms are limited in their application to sorting integers and strings, and they do not effectively handle non-decreasing and non-increasing monotonic functions, which are essential for modern computational needs.

Innovation Solution

A fast sort engine applies a monotonic function to the elements of an input array and uses the least significant digit (LSD) radix sort to sort the monotonic function values and corresponding indices, allowing for rapid sorting with linear runtime complexity, even when dealing with non-integer data types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional radix sort is used, then integer and string sorting is efficient, but it cannot handle non-integer data types and monotonic functions

Engineering Contradiction:
Improvedata type compatibilityVSAvoidsorting efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a monotonic function as an intermediary that transforms non-integer data types into numerical values. This mediator enables the radix sort algorithm to process diverse data types (floats, strings, complex objects) by converting them into a numerical domain where radix sort can operate efficiently, thus resolving the contradiction between adaptability and efficiency

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter domain of the input data by applying a monotonic function transformation. This parameter change converts data from various types into a standardized numerical range that radix sort can handle, maintaining sorting efficiency while expanding data type compatibility

Inventive Principle:
Principle #35Parameter changes

2Productivity

If general sorting algorithms are used, then all data types can be sorted, but the runtime complexity exceeds linear time

Engineering Contradiction:
Improvesorting speedVSAvoidruntime complexity
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs a preliminary action by applying a monotonic function transformation to convert all input data into numerical values before the sorting process begins. This pre-processing step enables the subsequent radix sort to operate in linear time, achieving both high productivity and minimal time loss

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If monotonic function transformation is applied, then non-integer data can be sorted efficiently, but additional computational steps are required

Engineering Contradiction:
Improvehandling of non-integer dataVSAvoidalgorithm complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The monotonic function serves as a mathematical intermediary that bridges non-integer data and the radix sort algorithm. While this adds a transformation step, it maintains algorithmic simplicity by using a well-defined mathematical function rather than complex data structure manipulations, thus managing complexity while expanding adaptability

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11281427B2Fast sort engine
Publication Date: 2022.03.22 COHEN IDO DOV
  • US11281427B2 patent drawing
  • US11281427B2 patent drawing
  • US11281427B2 patent drawing

AI summary

A method of sorting an array of data elements, the method includes assigning values associated with a monotonic function to the data elements, and sorting the array of data elements by sorting the monotonic function values using a least significant digit (LSD) Radix sort.