Mieszanie słowa w najmniej rozpoznawalną formę

13

Moim celem jest przedstawienie graczowi zaszyfrowanego słowa, które należy zmienić z powrotem do oryginalnej postaci:

OELHL -> CZEŚĆ

Chcę algorytmu szyfrującego, który bierze dowolne słowo (> 3 lub 4 litery, może zawierać spacje) i zamienia je w najmniej rozpoznawalną formę.

Chociaż losowe przenoszenie każdej litery z pewnością działa, zauważyłem, że nie wszystkie losowania są równe, niektóre są bardziej rozpoznawalne niż inne. Zadaję to pytanie na wypadek, gdyby ktoś wiedział o lepszym algorytmie (być może opartym na językoznawstwie), który ~~ gwarantuje najmniej rozpoznawalną formę.

użytkownik26471
źródło
3
Może możesz spróbować upewnić się, że żadna litera nie pozostanie w pierwotnej pozycji?
user1306322
3
najmniej rozpoznawalna forma ” Jak to zdefiniować? Kto jest rozpoznawalny?
Nicol Bolas
1
@Nicol Bolas to tasowana forma, która sprawia, że ​​najtrudniej jest odgadnąć, co to jest uporządkowane słowo, patrząc na nie.
user26471
4
@nicolbolas Myślę, że chodzi o to, aby zapytać, czy przeprowadzono jakieś badania lub cokolwiek podobnego, aby stworzyć ogólne najlepsze praktyki dla tego rodzaju problemu.
Tetrad

Odpowiedzi:

26

Wihle the plpuoar "Cmairbgde Uirenvtisy" sduty był prawdopodobnie haox , trehe został ponownie przywrócony do smaku itno tihs tpoic.

Tihs sduty sohws taht arpapent lteter szie pyals a rloe. Zastosowanie wpckelgraihs attmepts do debcrise relacji beewten Stes z letrets do undtrseand się pniot na wihch wrod jest undersootd.

Więc jak to zrobić aglithm? Tnihk trehe are smoe baisc stspe:

  1. Asisgn a szie vlaue to ecah leettr
  2. Dla gievn wdro:
    1. Rembmeer the szie vaule for ecah leettr posioitn.
    2. Raniomdze litery z ograniczeniami folwolingowymi:
    3. Nie idź do pierwszego i lsat leettr, aby zapamiętać w odwrotnej potencji
    4. Próba aiovd planicg lertets itno „solt” ich smae szie szie.

Są inne rzeczy, które możesz wdrożyć, ale ja nie mam rasera, żeby sprowokować foollwinga, ale z całą mocą:

  • Aptemtt to maxzmiie Leitsishtenn ditsance między oiigrnal i modefiid wrod. Tihs colud maxiimze the diuficflty for rechgnioing the wrod. (Pehraps używa Seeuqnce Alimngent )
  • Odwróć odtera Litters berofe scramilbng, tehn mvoe ecah ltteer jsut kilka sapces z jego onigiralnej pozycji. (Mbyae slhgitly sclambred bacwkards wrod jest mroe diffucilt?)

Potrzebujesz tłumaczenia?


Chociaż popularne badanie „Cmabrigde Uinervtisy” było prawdopodobnie mistyfikacją , przeprowadzono pewne badania na ten temat.

To badanie pokazuje, że widoczna wielkość liter odgrywa pewną rolę. Zastosowanie wickelgraphs próbuje opisać związek między zestawami liter, aby zrozumieć punkt, w którym słowo jest rozumiane.

Jak więc przekształcić to w algorytm? Myślę, że jest kilka podstawowych kroków:

  1. Przypisz wartość rozmiaru do każdej litery
  2. Dla danego słowa:
    1. Zapamiętaj wartość rozmiaru dla każdej pozycji literowej.
    2. Losuj litery z następującymi ograniczeniami:
    3. Nie pozwól, aby pierwsza i ostatnia litera pozostały na swoim miejscu
    4. Staraj się unikać umieszczania liter w „gnieździe” tego samego rozmiaru.

Istnieją inne strategie, które możesz zastosować, chociaż nie mam badań, które mogłyby poprzeć następujące, tylko moje przemyślenia:

  • Spróbuj zmaksymalizować odległość Levenshteina między słowem oryginalnym a zmodyfikowanym. Może to zmaksymalizować trudność w rozpoznawaniu słowa. (Być może użyj wyrównania sekwencji )
  • Przed szyfrowaniem odwróć kolejność liter, a następnie przesuń każdą literę o kilka odstępów od pierwotnej pozycji. (Może nieco zaszyfrowane słowo do tyłu jest trudniejsze?)
MichaelHouse
źródło
5
Miałem +1, dopóki nie zobaczyłem, że dostarczyłeś tłumaczenie. ;)
Trevor Powell
1
Najlepsze zastosowanie stylu do odpowiedzi KIEDYKOLWIEK! :)
Tim Holt
Nigdy w tym roku nie byłam tak ciężka.
Blue Wizard
2

Nie jest to uniwersalne rozwiązanie, ale często, jeśli istnieje słowo, które jest anagramem, a nie mieszanką, utrudnia to znalezienie oryginalnego słowa. Kiedy twój mózg zostanie zablokowany na oryginalnym słowie, trudno jest wyrzucić to słowo z głowy.

tzn. dekret -> cofnąć może być trudniejszy niż ecdeer -> cofnąć.

Kolejną kwestią (choć nie jestem pewien, jak to zaimplementować) jest usunięcie typowych par liter. Jeśli anagram ma w odpowiedzi „q” i „u”, chcesz je oddzielić w pytaniu. inne przykłady mogą obejmować „th”, „ing” itp. I odwrotnie, jeśli litery „t” i „h” znajdują się w odpowiedzi, ale nie obok siebie, połączenie ich w pytaniu utrudnia; twój mózg automatycznie myśli o słowach z „th” w nich.

timcdlucas
źródło