のような短い可変長の 10 進数があります#41551
。これは、人間によって手動で転写されます。タイプを間違えると望ましくない結果が生じるため、最初に考えたのは、Luhn アルゴリズムを使用してチェックサムを追加することです -- #41551-3
. ただし、それはエラーを検出するだけで、修正はしません。別のチェック ディジットを追加すると、1 桁のエラーを検出して修正#41515-3?
できるようになるため、 (転置エラー) を指定すると、正しい#41551
.
ハミング コードのようなものが適切な場所のように思えますが、それらを 2 進データではなく 10 進データに適用する方法を理解できませんでした。この使用を目的としたアルゴリズムはありますか、またはハミング/リードソロモンなどをこの状況に適応させることはできますか?