Kelimeyi en az tanınabilir forma sokmak


13

Amacım oyuncuya orijinal haliyle yeniden sıralanması gereken şifreli bir kelime sunmak:

OELHL -> MERHABA

Herhangi bir kelime (> 3 veya 4 harf, boşluk içerebilir) alır ve en az tanınabilir forma dönüştüren bir karıştırma algoritması istiyorum.

Her harfi rastgele hareket ettirirken kesinlikle işe yararken, tüm karışıklıkların eşit olmadığını, bazılarının diğerlerinden daha tanınabilir olduğunu fark ettim. Birisi en az tanınabilir formu garanti eden daha iyi bir algoritma (belki de dilbilime dayalı) biliyorsa bu soruyu gönderiyorum.


3
Belki de orijinal konumunda hiçbir harf kalmadığından emin olabilirsiniz?
user1306322


3
" en az tanınabilir form " Bunu nasıl tanımlıyorsunuz? Kime tanınabilir?
Nicol Bolas

1
@Nicol Bolas, sıralı kelimenin sadece ona bakarak ne olduğunu tahmin etmeyi en zor hale getiren karıştırılmış formudur.
user26471

4
@nicolbolas Sorunun amacı, bu tür bir sorun için genel en iyi uygulamaları oluşturmak için herhangi bir araştırma veya herhangi bir şey olup olmadığını sormaktır.
Tetrad

Yanıtlar:


26

Wihle plpuoar "Cmairbgde Uirenvtisy" sduty lkiely bir haox , trehe smoe resaerch itno tihs tpoic olmuştur.

Tihs sduty, arpapent lteter szie bir rloe pyals sohws. Wpckelgraihs attmepts'in ilişkiyi azaltmak için kullanımı, bir perdenin zayıf olduğu ve gerilmenin pniot'un yetersiz kaldığı ilişkiyi ortaya çıkardı.

Peki bir aglorithm nasıl dlveeop? Ben tikoh trehe smoe baisc stspe vardır:

  1. Asisgn bir szie vlaue için ecah leettr
  2. Bir gievn wdro için:
    1. Ecah leettr posioitn için szie vaule Rembmeer.
    2. Folwoling sonuçları ile harfleri Raniomdze:
    3. Fetiş ve lsat leettr'i tehir retpecsive potision'ında remian'a almayın
    4. Aiovd planicg lertets kendi smae szie "solt" itno deneyin.

Tehre size emlpoy olabilir otehr sttaregies, thuogh Ben foollwing kadar bcak hiçbir raseerch hvae, benim tsoughth jsut:

  • Oiigrnal ve modefiid wrod arasındaki Leveishtenn ditsance'ı maksimize etmek. Tihs, elektrodu yeniden tanımlamak için diuficflty'yi maksimuma çıkarır. (Pehraps Seeuqnce Alimngent kullanır )
  • Ontefe befefe scramilbng'in odenderını ters çevirin, mvoe ecah ltteer sadece birkaç sapmasını onigiral pozisyonundan oluşturur. (Mbyae, dağınık mı?

Bir çeviriye mi ihtiyacınız var?


Popüler "Cmabrigde Uinervtisy" çalışması muhtemelen bir aldatmaca olsa da, bu konuda bazı araştırmalar yapılmıştır.

Bu çalışma , görünür harf boyutunun rol oynadığını göstermektedir. Wickelgraph'ların kullanımı, bir kelimenin anlaşıldığı noktayı anlamak için harf setleri arasındaki ilişkiyi tanımlamaya çalışır.

Peki bunu bir algoritmaya nasıl geliştirebiliriz? Bence bazı temel adımlar var:

  1. Her harfe bir boyut değeri atayın
  2. Belirli bir kelime için:
    1. Her harf konumu için boyut değerini hatırlayın.
    2. Harfleri aşağıdaki kısıtlamalarla rastgele sıralayın:
    3. İlk ve son harfin kendi konumunda kalmasına izin verme
    4. Harfleri aynı boyuttaki "yuvaya" yerleştirmekten kaçının.

Kullanabileceğiniz başka stratejiler de var, ancak aşağıdakileri destekleyecek bir araştırmam yok, sadece düşüncelerim:

  • Orijinal ve değiştirilmiş sözcük arasındaki Levenshtein mesafesini en üst düzeye çıkarmaya çalışın . Bu, sözcüğü tanıma zorluğunu en üst düzeye çıkarabilir. (Belki Sıra Hizalama kullanın )
  • Harmanlamadan önce harflerin sırasını ters çevirin, ardından her harfi orijinal konumundan sadece birkaç boşluk hareket ettirin. (Belki biraz geriye doğru karıştırılmış kelime daha zordur?)

5
Bir çeviri sağladığınızı görene kadar + 1'leyecektim. ;)
Trevor Powell

1
HERHANGİ bir cevap için bir stilin en iyi uygulama! :)
Tim Holt

Bu yıl hiç bu kadar zor olmamıştım.
Mavi Büyücü

2

Bu evrensel bir çözüm değildir, ancak genellikle bir karıştırmadan ziyade anagram olan bir kelime varsa, orijinal kelimeyi bulmayı zorlaştırır. Beyniniz orijinal kelimeye kilitlendikten sonra, o kelimeyi kafanızdan çıkarmak zor.

yani kararname -> geri alma ekdeer -> geri almaktan daha zor olabilir.

Bir başka nokta da (nasıl uygulanacağından emin olmasam da) ortak harf çiftlerini kaldırmaktır. Bir anagramın cevabı 'q' ve 'u' ise, bunları soruda ayırmak istersiniz. diğer örnekler arasında 'th', 'ing' vb. sayılabilir. Tersine, 't' ve 'h' harfleri cevaptaysa, fakat birbiri ardında değilse, bunları soruda bir araya getirmek zorlaşır; beyniniz kelimeleri 'th' ile otomatik olarak düşünür.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.