String Processor Biased Output via Code-Word Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies, particularly Pseudo-Random Number Generators (PRNGs), fail to produce truly random and biased strings of bits, which are essential for cryptography and simulation applications, as they lack the inherent randomness required for secure key distribution and modeling of natural phenomena.

Innovation Solution

A string processor that takes an unbiased input string and outputs a biased string by comparing it to a code-word set, where the output probability of each value is defined by the number and length of corresponding code-words, allowing for user-defined bias and efficiency in bit usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If Pseudo-Random Number Generators (PRNGs) are used to generate random strings, then efficiency and bitrate are improved, but true randomness and statistical indistinguishability from natural processes are lost

Engineering Contradiction:
ImprovebitrateVSAvoidquality of randomness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a post-processing stage as an intermediary between the PRNG and the final output. This stage applies cryptographic hash functions or other randomness extraction techniques to the PRNG output, transforming it into a string that is statistically indistinguishable from true random processes while maintaining the efficiency benefits of PRNGs.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If standard PRNGs are used, then generation speed is improved, but the ability to produce biased strings with user-defined occurrence frequencies is lost

Engineering Contradiction:
Improvegeneration speedVSAvoidbias control
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic post-processing stage that can adapt its transformation parameters based on the desired output characteristics. By adjusting the seeding parameters or transformation functions in real-time, the system can generate biased strings with user-defined occurrence frequencies while maintaining high generation speed through efficient algorithms.

Inventive Principle:
Principle #15Dynamics

3Loss of energy

If bit usage is optimized to match entropy, then efficiency is improved, but complexity of the processing increases

Engineering Contradiction:
Improvebit usage efficiencyVSAvoidprocessing complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent employs parameter changes in the post-processing stage to optimize bit usage efficiency. By dynamically adjusting transformation parameters such as hash function selection, block sizes, or extraction rates based on the entropy characteristics of the input, the system achieves near-optimal bit efficiency while managing complexity through adaptive rather than statically complex architectures.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10095661B2String processor
Publication Date: 2018.10.09 KK TOSHIBA
  • US10095661B2 patent drawing
  • US10095661B2 patent drawing
  • US10095661B2 patent drawing

AI summary

According to one embodiment is a string processor configured to output a biased output string having a first output value and a second output value. The string processor is given an unbiased input string of at least two input values. The string processor has a processing unit and a memory device, the memory device stores a code-word set. The code-word set has a plurality of code-words, each code-word having at least one input value, and each output value has at least one corresponding code-word. The processing unit is configured to: compare a comparison string to the code-word set, wherein the comparison string includes an input from the input string; and assign an output value to the output string when the comparison string matches a code-word. The assigned output value is that to which the matched code-word corresponds. An output probability of an output value is defined by the number and length of the code-words corresponding to that output value; and the output probability of the first output value is larger than the output probability of the second output value.