Pregunta

El receptor es mi sitio web, el remitente es el mismo pero el medio es ruidoso, un usuario. Leerá un código alfanumérico de longitud 6 y luego ingresará el mismo código para identificar un recurso. Un buen uso para un código de corrección de errores, pensé, y en lugar de hacer la investigación, pensé en plantear la pregunta. O tal vez lo esté haciendo de manera incorrecta, ya que la situación es como enviar un diccionario perfecto junto con cada transmisión.

Los requisitos del código son simplemente:

  1. 6 dígitos alfanuméricos, para empezar hasta que se me acaben, de todos modos.
  2. Si el usuario se equivoca, aún debería poder identificar el recurso correcto.
  3. Ningún recurso es preferible al incorrecto.
  4. Fácil de codificar o tener bibliotecas gratuitas para .net

¿Alguna sugerencia?

Editar:

Me parece que la mitad de los requisitos se pueden cumplir eligiendo los códigos con prudencia, es decir, con suficiente distancia entre ellos. Esta estrategia se ve aún mejor cuando me doy cuenta de que cuanto más tiempo ha pasado desde que se generaron los códigos, es menos probable que se utilicen.

Los códigos no se escribirán directamente en mi sitio web, por lo que no puedo enviar comentarios de inmediato. De hecho, podemos asumir que, a menos que pueda verificar el código, ni siquiera puedo identificar al usuario, por lo que no puedo dar ningún comentario.

¿Fue útil?

Solución

Bueno, no, su primer enfoque de pedido debería ser verificar si el usuario ingresó el número correcto. Una persona que escribe mal un número o una cadena es el 99% del problema. Eso está bien establecido en la práctica, el dígito de control se utiliza en muchos códigos comunes, siendo UPC e ISBN los los que verías todos los días. Puede marcarlo, pueden volver a escribirlo.

Los códigos de corrección de errores también son comunes, pero tienen una aplicación muy diferente. Tradicionalmente se utiliza en medios de señalización digitales , con el objetivo de detectar y corregir errores de bits. Reed-Solomon es el gorila de cien libras allí, realmente puesto en el mapa por el CD de música.

Eso realmente no funciona bien en la práctica con un humano, introducirán al menos 6 bits de datos incorrectos al escribir mal una clave. Eso es muy difícil de corregir, tendrías que agregar muchos bits de redundancia a las letras adyacentes, lo que hace que sea más probable que el código esté mal escrito. La mejor manera de obtener códigos legibles por humanos es que el código tenga sentido para un humano. Algo que desencadena la respuesta "que parece incorrecto ". Como un nombre de pila, siempre que no seas hijo de Frank Zappa. Pero por lo demás, la base de códigos como letra-letra + números. Etcétera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top