Mi objetivo es presentarle al jugador una palabra codificada que debería reordenarse en su forma original:
OELHL -> HOLA
Quiero un algoritmo de codificación que tome cualquier palabra (> 3 o 4 letras, puede contener espacios) y la convierta en la forma menos reconocible.
Si bien mover aleatoriamente cada letra ciertamente funciona, noté que no todas las mezclas son iguales, algunas son más reconocibles que otras. Estoy publicando esta pregunta en caso de que alguien conozca un mejor algoritmo (tal vez basado en la lingüística) que ~~ garantice la forma menos reconocible.
game-design
algorithm
usuario26471
fuente
fuente
Respuestas:
A pesar de que la plpuoar "Cmairbgde Uirenvtisy" era un haox , probablemente se ha investigado mucho.
Te ssuty sohws taht arpapent lteter szie plys a rloe. El uso de wpckelgraihs trata de descifrar la relación entre los letrets para desenmascarar y el pniot en el que se encuentra un wrod es insuficiente.
Entonces, ¿cómo hacerlo no es un agloritmo? Tnihk trehe are smoe baisc stspe:
Hay otras estadísticas que puedes emolpo, aunque no tengo que perseguir a los infieles, pero mi opinión:
¿Necesitas una traducción?
Si bien el popular estudio "Cmabrigde Uinervtisy" probablemente fue un engaño , se han realizado algunas investigaciones sobre este tema.
Este estudio muestra que el tamaño de letra aparente juega un papel importante. El uso de wickelgraphs intenta describir la relación entre conjuntos de letras para comprender el punto en el que se entiende una palabra.
Entonces, ¿cómo desarrollar esto en un algoritmo? Creo que hay algunos pasos básicos:
Hay otras estrategias que puede emplear, aunque no tengo ninguna investigación que respalde lo siguiente, solo mis pensamientos:
fuente
Esta no es una solución universal, pero a menudo si hay una palabra que es un anagrama en lugar de una codificación, esto hace que encontrar la palabra original sea más difícil. Una vez que su cerebro está bloqueado en la palabra original, es difícil sacar esa palabra de su cabeza.
es decir, decreto -> retroceder podría ser más difícil que ecdeer -> retroceder.
Otro punto (aunque no estoy seguro de cómo implementarlo) es eliminar pares de letras comunes. Si un anagrama tiene 'q' y 'u' en la respuesta, desea separarlos en la pregunta. otros ejemplos pueden incluir 'th', 'ing', etc. Por el contrario, si las letras 't' y 'h' están en la respuesta pero no una al lado de la otra, ponerlas juntas en la pregunta lo hace más difícil; tu cerebro piensa automáticamente en palabras con 'th' en ellas.
fuente