Scrambling คำในรูปแบบที่รู้จักอย่างน้อย


13

เป้าหมายของฉันคือการนำเสนอผู้เล่นด้วยคำที่มีสัญญาณรบกวนที่ควรจัดลำดับใหม่กลับคืนสู่รูปแบบดั้งเดิม:

OELHL -> สวัสดี

ฉันต้องการอัลกอริทึม scrambling ที่ใช้คำที่กำหนด (> 3or4 ตัวอักษรอาจมีช่องว่าง) และเปลี่ยนเป็นรูปแบบที่รู้จักได้น้อยที่สุด

ในขณะที่การเคลื่อนย้ายตัวอักษรทุกตัวรอบ ๆ ใช้งานได้อย่างแน่นอนฉันสังเกตเห็นว่าสับไม่ได้ทั้งหมดเท่ากัน แต่บางคนจำได้ดีกว่าคนอื่น ฉันกำลังโพสต์คำถามนี้ในกรณีที่มีคนรู้ถึงอัลกอริทึมที่ดีกว่า (อาจขึ้นอยู่กับภาษาศาสตร์) ที่ ~~ รับประกันรูปแบบที่เป็นที่รู้จักน้อยที่สุด


3
บางทีคุณอาจลองทำให้แน่ใจว่าไม่มีจดหมายอยู่ในตำแหน่งเดิมใช่ไหม
user1306322


3
" รูปแบบที่รู้จักได้น้อยที่สุด " คุณกำหนดได้อย่างไร รู้จักกับใคร
Nicol Bolas

1
@Nicol Bolas รูปแบบสับที่ทำให้ยากที่สุดที่จะคาดเดาสิ่งที่คำสั่งคือเพียงแค่มองมัน
user26471

4
@nicolbolas ฉันคิดว่าประเด็นของคำถามคือการถามว่ามีการวิจัยหรือสิ่งใดก็ตามที่อยู่ในบรรทัดเหล่านั้นเพื่อสร้างแนวปฏิบัติที่ดีที่สุดโดยทั่วไปสำหรับปัญหาประเภทนั้น
Tetrad

คำตอบ:


26

ในขณะที่เพลง "Cmairbgde Uirenvtisy" เป็นเพลงที่ได้รับความนิยมเป็นอย่างมาก Trehe ได้รับการต่อต้านจากคนอื่น ๆ

Tihs sduty sohws taht arpapent lteter szie pyals a rloe การใช้wpckelgraihsสอดแนมเพื่อบ่อนทำลายความสัมพันธ์ของเบ็ตเท็นที่จะปลดเปลื้อง pniot ที่ wihch a wrod นั้น undersootd

ดังนั้นวิธีการ dlveeop tihs มัน aglorithm หรือไม่? ฉัน tihih trehe เป็น smoe baisc stspe:

  1. Asisgn a szie vlaue เพื่อ ecah leettr
  2. สำหรับ gdev wdro:
    1. Rembmeer the szie vaule สำหรับ ecah leettr posioitn
    2. Raniomdze ตัวอักษรที่มีความละเอียด folwoling:
    3. อย่าทำตัวเป็นคนแรกและคนอื่น ๆ เพื่อ remian ใน potion retpecsive
    4. พยายาม aiovd planicg lertets itno "solt" ของพวกเขา smae szie

Tehre เป็น otehr sttaregies คุณสามารถ emlpoy, thuogh ฉัน hvae no raseerch เพื่อ bcak up คนโง่, jsut ความกล้าหาญของฉัน:

  • Aptemtt ถึง maxzmiie Leveishtenn ตั้งอยู่ระหว่าง oiigrnal และ modefiid wrod Tihs colud maxiimze diuficflty สำหรับการคำนวณ wrod (Pehraps ใช้Seeuqnce Alimngent )
  • ย้อนกลับกลิ่นอายของ ltteers berofe scramilbng, tehn mvoe ecah ltteer jsut sapces ไม่กี่รูปแบบในตำแหน่ง onigiral ของมัน (Mbyae slhgitly sclambred bacwkards wrod คือ mroe diffucilt?)

ต้องการการแปลหรือไม่


ในขณะที่การศึกษา "Cmabrigde Uinervtisy" ที่เป็นที่นิยมน่าจะเป็นการหลอกลวงแต่ก็มีงานวิจัยบางส่วนในหัวข้อนี้

การศึกษาครั้งนี้แสดงให้เห็นว่าขนาดตัวอักษรที่ชัดเจนมีบทบาท การใช้wickelgraphsพยายามอธิบายความสัมพันธ์ระหว่างชุดตัวอักษรเพื่อทำความเข้าใจในจุดที่เข้าใจคำศัพท์

ดังนั้นวิธีการพัฒนาสิ่งนี้เป็นอัลกอริทึม? ฉันคิดว่ามีขั้นตอนพื้นฐานบางอย่าง:

  1. กำหนดค่าขนาดให้กับตัวอักษรแต่ละตัว
  2. สำหรับคำที่กำหนด:
    1. จำค่าขนาดสำหรับตำแหน่งจดหมายแต่ละตัว
    2. สุ่มตัวอักษรด้วยข้อ จำกัด ต่อไปนี้:
    3. ไม่อนุญาตให้ตัวอักษรตัวแรกและตัวสุดท้ายอยู่ในตำแหน่งที่เกี่ยวข้อง
    4. พยายามหลีกเลี่ยงการวางตัวอักษรลงใน "slot" ที่มีขนาดเท่ากัน

มีกลยุทธ์อื่น ๆ ที่คุณสามารถใช้แม้ว่าฉันจะไม่มีการวิจัยเพื่อสำรองข้อมูลต่อไปนี้เป็นเพียงความคิดของฉัน:

  • พยายามเพิ่มระยะห่างสูงสุดของLevenshteinระหว่างคำดั้งเดิมและคำที่ปรับเปลี่ยน สิ่งนี้สามารถเพิ่มความยากลำบากสูงสุดในการจดจำคำนั้น (อาจใช้การจัดตำแหน่งลำดับ )
  • กลับคำสั่งของตัวอักษรก่อนที่จะตะกายแล้วย้ายตัวอักษรแต่ละตัวเพียงไม่กี่ช่องว่างจากตำแหน่งเดิม (บางทีคำที่มีสัญญาณรบกวนเล็กน้อยไปข้างหลังนั้นยากกว่า?)

5
ฉันกำลังไปที่ +1 จนกระทั่งฉันเห็นว่าคุณให้คำแปล ;)
เทรเวอร์พาวเวลล์

1
แอพพลิเคชั่นที่ดีที่สุดของสไตล์ในการตอบกลับเคย! :)
Tim Holt

ปีนี้ฉันไม่เคยเบื่อเลย
Blue Wizard

2

นี่ไม่ใช่วิธีการแก้ปัญหาสากล แต่บ่อยครั้งหากมีคำที่เป็นแอนนาแกรมมากกว่าการแย่งกันทำให้การค้นหาคำต้นฉบับยากขึ้น เมื่อสมองของคุณถูกล็อคเข้ากับคำเดิมมันยากที่จะเอาคำนั้นออกจากหัวของคุณ

เช่นพระราชกฤษฎีกา -> ถอยห่างอาจจะยากกว่า ecdeer -> ถอยห่าง

อีกจุดหนึ่ง (แม้ว่าฉันไม่แน่ใจว่าจะใช้งานได้อย่างไร) ก็คือการลบตัวอักษรทั่วไป หากแอนนาแกรมมี 'q' และ 'u' ในคำตอบคุณต้องการแยกพวกมันออกจากคำถาม ตัวอย่างอื่น ๆ อาจรวมถึง 'th', 'ing' ฯลฯ ในทางกลับกันหากตัวอักษร 't' และ 'h' อยู่ในคำตอบ แต่ไม่ได้อยู่ติดกัน สมองของคุณจะคิดคำโดยอัตโนมัติด้วย 'th'

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.