Permutation Generator Using Tracking Memory for Deterministic Sequences
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing permutation generators lack the ability to produce low-complexity, deterministic sequences of non-repeating numbers at predetermined times, which is essential for applications like chip card security operations.
Innovation Solution
A permutation generator that includes a memory to track used numbers, a receiver for random numbers, and a determiner that selects the next element from unused numbers using a tree search algorithm, ensuring sequence generation at predetermined times by restarting the sequence when all numbers are used.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a random number generator is used to generate non-repeating sequences, then the sequence appears random, but the generation time becomes unpredictable and complexity increases
Solution Approach 1:
The patent pre-generates and stores a large pool of random numbers in a memory structure (FIFO queue or array) before they are needed. This preliminary action allows the system to retrieve random numbers at predictable intervals without waiting for real-time generation, thus resolving the contradiction between randomness and predictable timing.
Solution Approach 2:
The patent introduces an intermediary buffer or queue structure that decouples the random number generation process from the sequence output process. This intermediary stores generated random numbers and serves them at predetermined times, allowing the generator to operate independently while maintaining predictable output timing.
2Device complexity
If a simple random number generator is used, then the device complexity is low, but the sequence cannot guarantee non-repeating numbers
Solution Approach 1:
The patent implements a feedback mechanism where the system tracks which random numbers have already been used in the sequence. A data structure (such as a boolean array or bitmask) records the usage status of each random number, and the selection process uses this feedback information to ensure only unused numbers are added to the sequence, guaranteeing non-repeating output.
Solution Approach 2:
The patent creates a copy or representation of the random number pool and its usage state in a manageable data structure. This copied representation allows the system to efficiently track and manage which numbers have been used without manipulating the actual random number generation process, maintaining simplicity while ensuring non-repeating sequences.
3Productivity
If numbers are selected from a large set without tracking, then the generation process is fast, but numbers may repeat in the sequence
Solution Approach 1:
The patent segments the large set of random numbers into a manageable structure with tracking capabilities. By dividing the problem into individual number tracking units (using arrays or bitmasks indexed by number value), the system can efficiently check and mark each number's usage status without slowing down the overall generation process significantly.
Solution Approach 2:
The patent changes the parameter state of numbers from untracked to tracked by introducing a usage status indicator (such as a boolean flag or bit) for each number. This parameter change allows the system to maintain fast generation speeds while ensuring non-repeating numbers through simple lookup and marking operations during the selection process.
Data Source
AI summary
According to one embodiment, a permutation generator is described comprising a memory configured to store, for each number of a predetermined set of numbers, whether the number has already been included in a number sequence; a receiver configured to receive a random number; a determiner configured to select a number from those numbers of the set of numbers that have not yet been included in the number sequence as next element of the number sequence based on the random number and an output configured to output the selected number as the next element of the number sequence.


