Vector First One Bit Search Using Tree Structure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for finding the first 1 bit in a vector are time-consuming, especially for large vectors, as they require iterating over the entire vector, leading to inefficient processing.

Innovation Solution

The method groups vector bits into pairs and uses a tree structure to identify the presence and position of the first 1 bit, reducing the time complexity by scaling with the number of levels rather than the vector length, allowing for faster search operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional iteration methods are used to find the first 1 bit in a vector, then the search is simple to implement, but the processing time increases linearly with vector length making it time-consuming for large vectors

Engineering Contradiction:
Improvesearch speedVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the vector into pairs of adjacent bits and processes them in parallel using a tree structure. Each node in the tree represents a pair of bits and determines whether a 1 bit is present and its position. This segmentation allows the search to proceed simultaneously across multiple portions of the vector rather than sequentially, reducing processing time from linear to logarithmic complexity relative to vector length.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical tree structure that adds a dimensional aspect to the search process. Instead of a single linear scan through the vector, the search traverses multiple levels of the tree where each level processes pairs of bits in parallel. This dimensional transformation enables concurrent evaluation of multiple bit positions, significantly improving search speed for large vectors.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If the vector is processed using a tree structure with multiple levels, then the search time scales with the number of levels rather than vector length, but the device complexity increases

Engineering Contradiction:
Improvesearch speedVSAvoidstructure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the search function into reusable tree nodes, each handling a pair of bits. This modular segmentation allows the complex search operation to be broken down into identical, simple units that can be instantiated in parallel. The tree structure is built by recursively combining these segments, making the overall system manageable despite the increased complexity from multiple levels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal tree node structure that performs multiple functions: determining presence of 1 bit, identifying position, and enabling parallel processing. Each node in the tree is functionally equivalent and can operate independently on its pair of bits, then combine results with sibling nodes. This universality simplifies the implementation of the complex multi-level structure by using identical building blocks throughout.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20230280980A1Find first function
Publication Date: 2023.09.07 IMAGINATION TECH LTD
  • US20230280980A1 patent drawing
  • US20230280980A1 patent drawing
  • US20230280980A1 patent drawing

AI summary

A method for finding the first one bit in a vector groups the bits of the vector into pairs of adjacent bits. Within each pair of two the presence or absence of a one bit is identified and the position determined. There may be multiple levels so a second level groups has inputs based on the determinations from the two pairs. Based on the inputs the presence of absence of a one bit is determined and, if present, the position within the respective bits of the vector. This can be repeated over multiple levels.