stringtranslate.com

dígito de control

Un dígito de control es una forma de verificación de redundancia que se utiliza para la detección de errores en números de identificación, como números de cuentas bancarias, que se utilizan en una aplicación donde, al menos a veces, se ingresarán manualmente. Es análogo a un bit de paridad binaria utilizado para comprobar si hay errores en datos generados por computadora. Consta de uno o más dígitos (o letras) calculados mediante un algoritmo a partir de los otros dígitos (o letras) en la entrada de secuencia. [1]

Con un dígito de control, se pueden detectar errores simples en la entrada de una serie de caracteres (generalmente dígitos), como un solo dígito mal escrito o algunas permutaciones de dos dígitos sucesivos.

Diseño

Los algoritmos de dígitos de control generalmente están diseñados para capturar errores de transcripción humanos . En orden de complejidad, estos incluyen lo siguiente: [2]

Al elegir un sistema, la alta probabilidad de detectar errores se compensa con la dificultad de implementación; Los humanos entienden e implementan fácilmente los sistemas de dígitos de control simples, pero no detectan tantos errores como los complejos, cuya implementación requiere programas sofisticados.

Una característica deseable es que el relleno a la izquierda con ceros no debería cambiar el dígito de control. Esto permite utilizar números de longitud variable y cambiar la longitud. Si se agrega un solo dígito de control al número original, el sistema no siempre capturará errores múltiples , como dos errores de reemplazo (12 → 34), aunque, por lo general, se detectarán errores dobles el 90% de las veces (ambos cambios necesario cambiar la producción compensando cantidades).

Un método de dígito de control muy simple sería tomar la suma de todos los dígitos ( suma digital ) módulo 10. Esto detectaría cualquier error de un solo dígito, ya que tal error siempre cambiaría la suma, pero no detectaría ningún error de transposición (cambiar dos dígitos) ya que reordenar no cambia la suma.

Un método un poco más complejo es tomar la suma ponderada de los dígitos, módulo 10, con pesos diferentes para cada posición numérica.

Para ilustrar esto, por ejemplo, si los pesos de un número de cuatro dígitos fueran 5, 3, 2, 7 y el número a codificar fuera 4871, entonces se tomaría 5×4 + 3×8 + 2×7 + 7×1. = 65, es decir, 65 módulo 10, y el dígito de control sería 5, dando 48715.

Los sistemas con pesos de 1, 3, 7 o 9, siendo diferentes los pesos de los números vecinos, son ampliamente utilizados: por ejemplo, 31 31 pesos en códigos UPC , 13 13 pesos en números EAN (algoritmo GS1) y el 371 371 371 pesos utilizados en los números de tránsito de rutas bancarias de los Estados Unidos . Este sistema detecta todos los errores de un solo dígito y alrededor del 90% [ cita necesaria ] de los errores de transposición. 1, 3, 7 y 9 se utilizan porque son coprimos con 10, por lo que cambiar cualquier dígito cambia el dígito de control; usar un coeficiente que sea divisible por 2 o 5 perdería información (porque 5 × 0 = 5 × 2 = 5 × 4 = 5 × 6 = 5 × 8 = 0 módulo 10) y, por lo tanto, no detectaría algunos errores de un solo dígito. Usar pesos diferentes en números vecinos significa que la mayoría de las transposiciones cambian el dígito de control; sin embargo, debido a que todos los pesos difieren en un número par, esto no capta las transposiciones de dos dígitos que difieren en 5 (0 y 5, 1 y 6, 2 y 7, 3 y 8, 4 y 9), ya que 2 y 5 multiplica para obtener 10.

En cambio, el código ISBN-10 utiliza el módulo 11, que es primo, y todas las posiciones numéricas tienen pesos diferentes 1, 2, ... 10. Por lo tanto, este sistema detecta todos los errores de sustitución y transposición de un solo dígito (incluidas las transposiciones de salto), pero a costa de que el dígito de control sea posiblemente 10, representado por "X". (Una alternativa es simplemente evitar el uso de números de serie que dan como resultado un dígito de control "X"). En cambio, ISBN-13 utiliza el algoritmo GS1 utilizado en los números EAN.

Algoritmos más complicados incluyen el algoritmo de Luhn (1954), que captura el 98% de los errores de transposición de un solo dígito (no detecta 90 ↔ 09) y el algoritmo aún más sofisticado de Verhoeff (1969), que captura todas las sustituciones y transposiciones de un solo dígito. errores y muchos (pero no todos) errores más complejos. Similar es otro método basado en álgebra abstracta , el algoritmo de Damm (2004), que también detecta todos los errores de un solo dígito y todos los errores de transposición adyacentes. Estos tres métodos utilizan un solo dígito de control y, por lo tanto, no lograrán capturar alrededor del 10% [ cita necesaria ] de errores más complejos. Para reducir esta tasa de fallas, es necesario usar más de un dígito de control (por ejemplo, el control de módulo 97 que se menciona a continuación, que usa dos dígitos de control; para conocer el algoritmo, consulte Número de cuenta bancaria internacional ) y/o usar un gama más amplia de caracteres en el dígito de control, por ejemplo letras más números.

Ejemplos

UPC, EAN, GLN, GTIN, números administrados por GS1

El último dígito de un Código universal de producto , Número de artículo internacional , Número de ubicación global o Número de artículo comercial global es un dígito de control que se calcula de la siguiente manera: [3] [4]

  1. Suma los dígitos en las posiciones impares desde la izquierda (primero, tercero, quinto, etc., sin incluir el dígito de control) y multiplica por tres.
  2. Sume los dígitos (hasta el dígito de control, pero sin incluirlo) en las posiciones pares (segundo, cuarto, sexto, etc.) al resultado.
  3. Tome el resto del resultado dividido por 10 (es decir, la operación de módulo 10). Si el resto es igual a 0, utilice 0 como dígito de control y, si no es 0, reste el resto de 10 para obtener el dígito de control.

Una calculadora de dígitos de control GS1 y documentación detallada están en línea en el sitio web de GS1. [5] Otra página oficial de calculadora muestra que el mecanismo para GTIN-13 es el mismo para el Número de Ubicación Global /GLN. [6]

Por ejemplo, el código de barras UPC-A para una caja de pañuelos es "036000241457". El último dígito es el dígito de control "7", y si los demás números son correctos, el cálculo del dígito de control debe producir 7.

  1. Suma los dígitos impares: 0+6+0+2+1+5 = 14.
  2. Multiplica el resultado por 3: 14 × 3 = 42.
  3. Suma los dígitos del número par: 3+0+0+4+4 = 11.
  4. Suma los dos resultados: 42 + 11 = 53.
  5. Para calcular el dígito de control, tome el resto de (53/10), que también se conoce como (53 módulo 10), y si no es 0, reste de 10. Por lo tanto, el valor del dígito de control es 7, es decir (53/10 ) = 5 resto 3; 10 - 3 = 7.

Otro ejemplo: calcular el dígito de control del siguiente alimento "01010101010 x ".

  1. Suma los dígitos del número impar: 0+0+0+0+0+0 = 0.
  2. Multiplica el resultado por 3: 0 x 3 = 0.
  3. Suma los dígitos del número par: 1+1+1+1+1=5.
  4. Suma los dos resultados: 0 + 5 = 5.
  5. Para calcular el dígito de control se toma el resto de (5/10), que también se conoce como (5 módulo 10), y si no es 0, se resta de 10: es decir (5/10) = 0 resto 5; (10 - 5) = 5. Por lo tanto, el valor del dígito de control x es 5.

ISBN 10

El carácter final de un número de libro estándar internacional de diez dígitos es un dígito de control calculado de modo que multiplicar cada dígito por su posición en el número (contando desde la derecha) y tomar la suma de estos productos módulo 11 es 0. El dígito más lejano a la derecha (que se multiplica por 1) está el dígito de control, elegido para hacer la suma correcta. Puede que necesite tener el valor 10, que se representa como la letra X. Por ejemplo, toma el ISBN  0-201-53082-1 : La suma de los productos es 0×10 + 2×9 + 0×8 + 1× 7 + 5×6 + 3×5 + 0×4 + 8×3 + 2×2 + 1×1 = 99 ≡ 0 (mod 11). Entonces el ISBN es válido. Las posiciones también se pueden contar desde la izquierda, en cuyo caso el dígito de control se multiplica por 10, para comprobar la validez: 0×1 + 2×2 + 0×3 + 1×4 + 5×5 + 3×6 + 0×7 + 8×8 + 2×9 + 1×10 = 143 ≡ 0 (mod 11).

ISBN 13

ISBN 13 (en uso en enero de 2007) es igual al código EAN-13 que se encuentra debajo del código de barras de un libro. Su dígito de control se genera de la misma manera que el UPC. [7]

Alianza de ENT

El algoritmo NOID Check Digit (NCDA), [8] en uso desde 2004, está diseñado para su aplicación en identificadores persistentes y funciona con cadenas de letras y dígitos de longitud variable, llamados dígitos extendidos. Se usa ampliamente con el esquema de identificador ARK y se usa algo con esquemas, como Handle System y DOI . Un dígito extendido está restringido a caracteres betanuméricos, que son alfanuméricos menos las vocales y la letra 'l' (ell). Esta restricción ayuda a la hora de generar cadenas opacas que es poco probable que formen palabras por accidente y que no contendrán tanto O como 0, o l y 1. Al tener una base prima de R=29, el repertorio betanumérico permite que el algoritmo garantice la detección de cadenas únicas. errores de caracteres y transposición [9] para cadenas de menos de R=29 caracteres de longitud (más allá de los cuales proporciona una verificación ligeramente más débil). El algoritmo se generaliza a cualquier repertorio de caracteres con una base prima R y cadenas de menos de R caracteres de longitud.

Otros ejemplos de dígitos de control

Internacional

En los EE.UU

En Centroamérica

En Eurasia

En Oceanía

Algoritmos

Los algoritmos notables incluyen:

Ver también

Referencias

  1. ^ "¿Qué es el dígito de control? - Definición de Techinfo". Techinfo.com . Consultado el 16 de marzo de 2022 .
  2. ^ Kirtland, José (2001). Números de identificación y esquemas de dígitos de control. Materiales de recursos para el aula. Asociación Matemática de América. págs. 4–6. ISBN 978-0-88385-720-5.
  3. ^ "Calculadora de dígitos de control GS1". GS1 EE. UU. 2006. Archivado desde el original el 9 de mayo de 2008 . Consultado el 21 de mayo de 2008 .
  4. ^ "Cómo calcular un dígito de control manualmente". GS1.
  5. ^ "Calculadora de dígitos de control". GS1. 2005 . Consultado el 21 de mayo de 2008 .
  6. ^ "Calculadora de dígitos de control, en el sitio oficial de GS1 EE. UU.". GS1 EE. UU. Archivado desde el original el 21 de noviembre de 2016 . Consultado el 9 de agosto de 2012 .
  7. ^ "Manual del usuario de ISBN". Agencia Internacional del ISBN. 2005. Archivado desde el original el 29 de abril de 2014 . Consultado el 21 de mayo de 2008 .
  8. ^ Kunze, John A. "noid - Comandos del generador de identificadores opacos agradables". metacpan.org . Archivado desde el original el 22 de mayo de 2022 . Consultado el 15 de octubre de 2022 .
  9. ^ David Bressoud, Stan Wagon, "Teoría computacional de números", 2000, Key College Publishing
  10. ^ "OpenFIGI: Desbloquee el poder de la eficiencia con simbología abierta". AbrirFIGI . Archivado desde el original el 9 de agosto de 2022 . Consultado el 15 de octubre de 2022 .
  11. ^ "Tarjeta de Identificación Única" (PDF) . Gaceta Friki . Otoño de 2011. p. 16. Archivado desde el original (PDF) el 26 de junio de 2014.
    • URL alternativa
  12. ^ Chong-Yee Khoo (20 de enero de 2014). "Nuevo formato para los números de solicitud de propiedad intelectual de Singapur en IPOS". Blog de patentes de Singapur . Cantab IP. Archivado desde el original el 14 de julio de 2014 . Consultado el 6 de julio de 2014 .

enlaces externos