Scrambling parola nella forma meno riconoscibile


13

Il mio obiettivo è presentare al giocatore una parola confusa che dovrebbe essere riordinata nella forma originale:

OELHL -> CIAO

Voglio un algoritmo di confusione che prende una determinata parola (> 3 o 4 lettere, può contenere spazi) e la trasforma nella forma meno riconoscibile.

Mentre spostare casualmente ogni lettera in giro funziona sicuramente, ho notato che non tutti i riordini sono uguali, alcuni sono più riconoscibili di altri. Sto pubblicando questa domanda nel caso in cui qualcuno conosca un algoritmo migliore (forse basato sulla linguistica) che ~~ garantisce una forma meno riconoscibile.


3
Forse potresti provare ad accertarti che nessuna lettera rimanga nella sua posizione originale?
user1306322


3
" forma meno riconoscibile " Come lo definisci? Riconoscibile per chi?
Nicol Bolas,

1
@Nicol Bolas è la forma mescolata che rende più difficile indovinare quale sia la parola ordinata semplicemente guardandola.
user26471

4
@nicolbolas Penso che il punto della domanda sia chiedersi se ci siano state ricerche o cose del genere per formare le migliori pratiche generali per quel tipo di problema.
Tetrad

Risposte:


26

Con il plpuoar "Cmairbgde Uirenvtisy" il dovere era probabilmente un disordine , trehe è stato più facile da ottenere.

Tihs sduty sohws to the arpapent lteter szie pyals a rloe. L'uso di wpckelgraihs attmepts per debcrivere la relazione tra le fitte di letret per intralciare e il pniot quando un wrod è sottostimato.

Quindi, come dirlo ad un agloritmo? I tnihk trehe are smoe baisc stspe:

  1. Asisgn a szie vlaue to ecah leettr
  2. Per un gievn wdro:
    1. Rembmeer the szie vaule for ecah leettr posioitn.
    2. Raniomdze le lettere con le folli tentazioni:
    3. Non dire la frist e lsat leettr a Remian nella loro pozione reticente
    4. Tentativo di far piangere il virus non è la "sotta" della loro smae szie.

Altre sono le staregie che puoi abbracciare, ma io non ho nessuna fretta di cogliere il fasto, ma spegni il mio cuore:

  • Aptemtt a maxzmiie la dittanza di Leveishtenn tra il wigr di oiigrnal e modefiid. Tihs colud maxiimze the diuficflty per riconziare il wrod. (Pehraps usa Seeuqnce Alimngent )
  • Invertire l'odore degli ltteers berofe scramilbng, tehn mvoe ecah ltteer jsut alcune sapienze formano la sua posizione onigirale. (Mbyae bachkards sgualciti accecati che è mroe diffucilt?)

Hai bisogno di una traduzione?


Mentre il popolare studio "Cmabrigde Uinervtisy" era probabilmente una bufala , ci sono state alcune ricerche su questo argomento.

Questo studio dimostra che la dimensione apparente delle lettere gioca un ruolo. L'uso dei wickelgraph tenta di descrivere la relazione tra insiemi di lettere per comprendere il punto in cui una parola viene compresa.

Quindi come svilupparlo in un algoritmo? Penso che ci siano alcuni passaggi di base:

  1. Assegna un valore di dimensione a ciascuna lettera
  2. Per una determinata parola:
    1. Ricorda il valore della dimensione per ogni posizione della lettera.
    2. Randomizza le lettere con le seguenti restrizioni:
    3. Non consentire alla prima e all'ultima lettera di rimanere nella rispettiva posizione
    4. Tentativo di evitare di inserire lettere nello "slot" della stessa dimensione.

Ci sono altre strategie che puoi adottare, anche se non ho alcuna ricerca a sostegno di quanto segue, solo i miei pensieri:

  • Tentativo di massimizzare la distanza di Levenshtein tra la parola originale e quella modificata. Ciò potrebbe massimizzare la difficoltà di riconoscere la parola. (Forse usa Sequence Alignment )
  • Invertire l'ordine delle lettere prima di rimescolarle, quindi spostare ciascuna lettera di alcuni spazi dalla sua posizione originale. (Forse la parola leggermente arretrata all'indietro è più difficile?)

5
Stavo per fare +1 fino a quando non ho visto che hai fornito una traduzione. ;)
Trevor Powell

1
Migliore applicazione di uno stile a una risposta MAI! :)
Tim Holt

Quest'anno non mi sono mai divertito così tanto.
Mago blu

2

Questa non è una soluzione universale, ma spesso se c'è una parola che è un anagramma piuttosto che una confusione ciò rende più difficile trovare la parola originale. Una volta che il tuo cervello è bloccato sulla parola originale, è difficile toglierti quella parola dalla testa.

cioè il decreto -> recede potrebbe essere più difficile di ecdeer -> recede.

Un ulteriore punto (anche se non sono sicuro di come implementarlo) è rimuovere le coppie comuni di lettere. Se un anagramma ha "q" e "u" nella risposta, si desidera separarli nella domanda. altri esempi potrebbero includere 'th', 'ing' ecc. Al contrario, se le lettere 't' e 'h' sono nella risposta ma non l'una accanto all'altra, metterle insieme nella domanda rende più difficile; il tuo cervello pensa automaticamente alle parole con "th" in esse.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.