我想为人们分配数字作为他们的ID。由于这些数字必须被记住,手动输入,并经常写在纸上,我想确保选择这些数字是为了减少错误记忆或错误键入一个人的ID以及意外键入另一个人的ID的风险。ID必须是数字的,因为它们也必须以条形码编码。
较小的例子:对于10个人来说,使用数字1到10可以很容易地输入错误,比如5而不是4。相反,如果人们被分配了16,29,31,48,57,62,75,83,94,这种风险应该降低,因为每个数字都没有有效的直接邻居,任何数字在任何位置都是唯一的,并且错误记住另一个有效数字的可能性较小。
实际上,我需要使用六位数的数字将数字分配给1000人。
我正在寻找一种算法,可以选择这些数字。优选地,它将考虑可记忆性和错误地写入或输入另一个有效数字的风险。不幸的是,我不能立即描述如何衡量这两个因素。我希望有一些标准的解决方案,我只是无法找到缺乏关键字。
我也考虑过校验和,但它们在纸上不起作用。将第二个数字分配给参与者,以便错误的输入可以被不匹配捕捉到,这是不可行的,并且在纸上也面临类似的困难。
发布于 2020-04-04 16:45:10
您已经进入了error correction和error detection代码的领域。选择您的poison。
最简单的方法是指定一个数字作为control digit,这样您就可以很容易地检测出一个打字错误。对于1000个人和6个数字(1,000,000个数字),您可以拥有2个这样的数字,并允许轻松检测2个打字错误。
https://stackoverflow.com/questions/61025486
复制相似问题