Can you make codes that fit our systems and needs?
Yes. The codes can be adapted.
How can those codes be used in our system?
That obviously depends on your system.
There are 3 main categories of adaptation:
1. The codes are used directly, as is.
2. Your codes are translated to our codes, which can be fixed.
After fixing, they are translated back again.
3. You codes are stored in a database, for translation or search.
How many errors can be fixed?
That is adjustable. Most examples here are designed for fixing 2 errors.
Can all errors be corrected?
Nothing can stand infinite destruction,
so the codes obvously have their limits, which are adjustable.
The running example here has the following properties:
1 error : Always corrected.
2 errors: Almost always corrected.
3 errors: Often has several possible corrections.
Why is the running example limited to fixing just 2-3 errors?
Mainly because the codes should be as short as possible. Tougher
codes are longer, which means they are harder to write, read, speak,
and listen to, and therefore get more errors, and are more expensive
to use and produce due to larger work load for all involved.
How much longer do the hardened codes get?
5 extra digits is the absolute minimum necessary to stand 2 errors.
This means that just 1 out of 100 000 random numbers correspond to
a correct code, which is the property that makes error correction
possible.
The running example of 15 digit codes is precisely 5 digits longer
than the sequential numbers they are made from, of which there
were 10 000 000 000, i.e. 10 digits.
Can you guarantee the correction of 2 errors?
Yes. The codes will then need 9-10 extra digits, and will almost
always stand 4 errors. It also requires more computation.
How long does it take to correct these errors?
1 or 0 errors are fixed at a rate of 50-250 codes per second.
The rate of production of hardened codes is the same.
This is on an ordinary server. A bigger one does it faster.
What about codes with both digits and letters?
That can also be made, and corrected.
Can the codes be encrypted?
Yes. They already are.
Can the codes be delivered in a sorted sequence?
Yes, but that means they have to be pre-calcualted,
which will take some time.
Our errors are different from others. Can you fix them?
Yes, after they have been measured and analyzed.
An example of this:
Řit has a system that provably fixes 4 errors or less, in just
12 digits, provided that the errors are neighboring keys
on a numeric key-pad.
We already have an error detection system.
(Telepay, Modula-10, Luhn)
Can it be combined with your codes?
Yes. This is such a system,
for Norwegian bills.
How does your system compare against Telepay, Modula-10, Luhn?
Those systems can detect 90% of errors, while this Řit system
can detect 99.999% of errors.
There are many types of simple errors that those systems cannot
detect, while Řit codes provably detects all single and double errors,
and provably corrects all single errors.
These properties can be custom fit with Řit codes.
Can other kinds of errors be corrected?
Yes, if the codes are adapted to them.
For instance: If 2 different codes are used by 2 different
departments or companies, a code in the wrong department could be
corrected to the right department, even if there are other errors too.
An example of this is using the ID number on a bill to correct
for errors in the account number as well as errors in the ID number
itself.
Can you correct bar codes?
Yes, but it would be necessary to design new bar codes for this,
and reprogram bar code readers.
What kind of person are you, developing stuff like this?
Mathematician and physicist, M.Sc. I have work experience with
cryptography, math, programming, system administration, patenting.
How hard was it to develop these codes?
Very hard. It took several years. Gave me head aches as well.
Do you do all this alone?
No. Consultants are used for customer specific changes.