Meu objetivo é apresentar ao jogador uma palavra embaralhada que deve ser reordenada de volta à forma original:
OELHL -> OLÁ!
Eu quero um algoritmo de embaralhamento que pega qualquer palavra (> 3 ou 4 letras, pode conter espaços) e a transforma na forma menos reconhecível.
Embora mover aleatoriamente todas as letras funcione, notei que nem todos os embaralhes são iguais, alguns são mais reconhecíveis que outros. Estou postando esta pergunta caso alguém conheça um algoritmo melhor (talvez baseado em linguística) que garanta uma forma menos reconhecível.
game-design
algorithm
user26471
fonte
fonte
Respostas:
Embora a maior parte dos direitos "Cmairbgde Uirenvtisy" fosse apenas um haox , ela foi ainda mais pesquisada no momento.
Esse tipo de serviço mostra que arpapent lteter szie pyals e rloe. O uso de wpckelgraihs tenta descrever o relacionamento entre as letras e o subnível, e o problema em que uma palavra está subutilizada.
Então, como desviá-lo para um agloritmo? Eu tnihk trehe são smoe baisc stspe:
Há outras estratégias que você pode empregar, pois não tenho a menor chance de atacar os pés, apenas a minha ideia:
Precisa de uma tradução?
Embora o popular estudo "Cmabrigde Uinervtisy" tenha sido provavelmente uma farsa , houve algumas pesquisas sobre esse tópico.
Este estudo mostra que o tamanho aparente da letra desempenha um papel. O uso de wickelgraphs tenta descrever o relacionamento entre conjuntos de letras para entender o ponto em que uma palavra é entendida.
Então, como desenvolver isso em um algoritmo? Eu acho que existem alguns passos básicos:
Existem outras estratégias que você pode empregar, embora eu não tenha nenhuma pesquisa para fazer o seguinte, apenas meus pensamentos:
fonte
Esta não é uma solução universal, mas, muitas vezes, se houver uma palavra que seja um anagrama e não uma disputa, isso torna mais difícil encontrar a palavra original. Uma vez que seu cérebro está preso à palavra original, é difícil tirar essa palavra da sua cabeça.
isto é, decreto -> retroceder pode ser mais difícil do que a ecdeer -> retroceder.
Um outro ponto (embora não tenha certeza de como implementá-lo) é remover pares comuns de letras. Se um anagrama tem 'q' e 'u' na resposta, você deseja separá-los na pergunta. outros exemplos podem incluir 'th', 'ing' etc. Por outro lado, se as letras 't' e 'h' estiverem na resposta, mas não próximas umas das outras, colocá-las juntas na pergunta torna mais difícil; seu cérebro pensa automaticamente nas palavras com 'th' nelas.
fonte