Random Number Generation Avoiding Human Error in the Keyboard

In summary, the conversation discusses the need for a methodology or equation for generating a random alpha numeric serial or incremental, which avoids using two characters that are close to each other on a keyboard. This method is used by banks to reduce human error in typing. The group also discusses the possibility of using a drop list or a KNN algorithm for validation, but it is mentioned that these methods may not be future proof. It is suggested that the system should allow for filtering to narrow down the number of options for users to select from and reduce the need for direct user input.
  • #1
chris288
3
0
Hi All

Im hoping I am in the right area to ask this?!?

Im looking for someones help. Is there a standard methodology or known equation for generating a random alpha numeric serial or incremental, which does not allow two characters to be used in sequence to each other which are near each other on the keyboard. Iv attached two pictures below, which shows if you select a green key, the surrounding would not be allowed...

I have a vague memory this is what a number of banks do to generate account numbers in aid of reducing human error on typing.

View attachment 5580
View attachment 5581

The reason for this is at my company we are changing the way we create part numbers, but at present mistyping is a issue for ordering as all our part numbers are incremental i.e. LR000123, LR000124, LR000125.

Any help would be much appreciated.
 

Attachments

  • Keyboard1.png
    Keyboard1.png
    5.4 KB · Views: 62
  • Keyboard2.png
    Keyboard2.png
    5.4 KB · Views: 61
Technology news on Phys.org
  • #2
chris288 said:
Hi All

Im hoping I am in the right area to ask this?!?

Im looking for someones help. Is there a standard methodology or known equation for generating a random alpha numeric serial or incremental, which does not allow two characters to be used in sequence to each other which are near each other on the keyboard. Iv attached two pictures below, which shows if you select a green key, the surrounding would not be allowed...

I have a vague memory this is what a number of banks do to generate account numbers in aid of reducing human error on typing.

The reason for this is at my company we are changing the way we create part numbers, but at present mistyping is a issue for ordering as all our part numbers are incremental i.e. LR000123, LR000124, LR000125.

Any help would be much appreciated.
I'd argue your looking at the problem in the wrong way. The real question should be why are you having people type in the part numbers instead of selecting them from a list?

That being said bank/credit card numbers do not avoid numbers being side by side on a keyboard or keypad. They likely use some form of error detection code, such as a Hamming Code, to define the numbers. Depending on how the Hamming Code is setup it can detect a certain number of errors in the code, and can even correct a smaller number of such errors.
 
  • #3
squidsk said:
I'd argue your looking at the problem in the wrong way. The real question should be why are you having people type in the part numbers instead of selecting them from a list?

That being said bank/credit card numbers do not avoid numbers being side by side on a keyboard or keypad. They likely use some form of error detection code, such as a Hamming Code, to define the numbers. Depending on how the Hamming Code is setup it can detect a certain number of errors in the code, and can even correct a smaller number of such errors.

Thanks. I can understand where your coming from but we have over 500k part numbers at present and this needs to be future proof... so a methodology that can run on for years to come, so a drop list isn't feasible. Even using a drop list for validation, if the keys are close we are still prone to "fat fingers" when typing in a part number.

Im thinking something like the KNN algorithm but a Non-KNN approach if that makes sense?
 
Last edited:
  • #4
chris288 said:
Thanks. I can understand where your coming from but we have over 500k part numbers at present and this needs to be future proof... so a methodology that can run on for years to come, so a drop list isn't feasible. Even using a drop list for validation, if the keys are close we are still prone to "fat fingers" when typing in a part number.

Im thinking something like the KNN algorithm but a Non-KNN approach if that makes sense?

Having people type in a product number is not future proof. I never said all products needed to be seen at the same time on the list nor that the list had to be dropdown list. The system should allow for filtering to allow for users to narrow the focus down so that there are fewer products listed and hence you don't need to scroll through 500K+ entries. If I order a book from amazon I don't need to scroll through all X million book entries to find the one(s) I want, similarly there's no need for your users to do the same thing.

Anybody who does serious programming will tell you that user input, especially typing, is one of the most error prone ways of getting input. To future proof you want to get away from direct user input especially on critical area like what parts should be ordered.
 
  • #5
Ho Chris288! Welcome to MHB! ;)

A standard solution is to add one more digit to each number that is a checksum. It will detect 1 or even more typing errors and it will also detect swapping of digits.
It's for instance used for bar codes and the ISBN numbers of books.
 
  • #6
squidsk said:
Having people type in a product number is not future proof. I never said all products needed to be seen at the same time on the list nor that the list had to be dropdown list. The system should allow for filtering to allow for users to narrow the focus down so that there are fewer products listed and hence you don't need to scroll through 500K+ entries. If I order a book from amazon I don't need to scroll through all X million book entries to find the one(s) I want, similarly there's no need for your users to do the same thing.

Anybody who does serious programming will tell you that user input, especially typing, is one of the most error prone ways of getting input. To future proof you want to get away from direct user input especially on critical area like what parts should be ordered.

Im fully on board with you and we are working to remove use input but with our global rollout it we looking to be years off :(, the issue is this type of solution you mention isn't available for us as we are using SAP and due to development policies we wouldn't be able to get the change through, so our only control is what number is generated and trying to address it there. Hope this makes sense.

- - - Updated - - -

I like Serena said:
Ho Chris288! Welcome to MHB! ;)

A standard solution is to add one more digit to each number that is a checksum. It will detect 1 or even more typing errors and it will also detect swapping of digits.
It's for instance used for bar codes and the ISBN numbers of books.

Hi, Thanks for this i'll have a look into this. I am not 100% on how it works and if it requires functionality. The issue is we are trying to address this in SAP and material entry level :( lol
 
  • #7
chris288 said:
Hi, Thanks for this i'll have a look into this. I am not 100% on how it works and if it requires functionality. The issue is we are trying to address this in SAP and material entry level :( lol

Let's pick an example.

Suppose we have the number $000123$ as in your previous post.
We add a checksum digit $c$ at the end, so we have $000123c$.
Each digit gets multiplied by respectively 7, 6, 5, 4, 3, 2, 1, the results get added together, and then we take the remainder after dividing by 11.
The checksum digit $c$ is such that it results in $0$.

That is, we calculate:
$$7\cdot 0 + 6\cdot 0 + 5\cdot 0 + 4\cdot 1 + 3 \cdot 2 + 2 \cdot 3 + 1 \cdot c \bmod 11
= 16 + c \bmod 11 = 5 + c \bmod 11 = 0
$$
where $\bmod$ is the remainder after dividing by the number after.

It follows that the checksum digit $c = 6$.

So the number we use is $0001236$ instead of $000123$.
When someone types in the number, we calculate the result again and verify if it is indeed $0$.
If it is not, there is a typing error that needs to be corrected.
 

1. How does random number generation avoid human error in the keyboard?

Random number generation uses algorithms and computer programs to generate numbers without any input from a human. This eliminates the possibility of human error in the keyboard, such as accidentally typing the wrong number or hitting the same key multiple times.

2. What are some common human errors that can occur during keyboard input?

Some common human errors during keyboard input include typing the wrong number or letter, pressing the same key multiple times, and accidentally hitting the wrong key due to muscle memory or typing too quickly.

3. How accurate is random number generation in avoiding human errors in the keyboard?

Random number generation is highly accurate in avoiding human errors in the keyboard, as it relies on mathematical algorithms and computer code rather than human input. This reduces the chances of errors significantly.

4. Can human input still affect random number generation?

In most cases, human input does not affect random number generation. However, there are certain types of random number generators that may use human input, such as using a person's mouse movements or keystrokes to generate numbers.

5. How can random number generation be used to improve data accuracy?

By eliminating the potential for human error, random number generation can significantly improve data accuracy. This is especially important in fields where precise and unbiased data is crucial, such as scientific research and financial analysis.

Similar threads

  • Programming and Computer Science
Replies
1
Views
644
  • Programming and Computer Science
Replies
9
Views
2K
  • Programming and Computer Science
Replies
19
Views
2K
Replies
1
Views
3K
  • Set Theory, Logic, Probability, Statistics
Replies
7
Views
349
Replies
88
Views
7K
  • Programming and Computer Science
Replies
1
Views
2K
Replies
10
Views
2K
Writing: Input Wanted Number of Androids on Spaceships
  • Sci-Fi Writing and World Building
Replies
9
Views
506
Replies
6
Views
2K
Back
Top