Korsord (Krypto)
Tidsfördriv
Korsord är ju kul. Sett ur ett högre perspektiv är det förstås fånigt att en konstruktör av ett korsord lägger ner tid på att skapa det, och sen lägger tusentals personer ner varsin timma på att lösa det.Jag spenderade några regniga kvällar på att göra ett program som löser krypton så jag slipper göra det själv. Meningslöst? Är det att förstöra nöjet? Ja, kanske, men jag behöver inget suddgummi…
Krypto
Den typ av korsord som ofta kallas krypto är den enklaste formen av kryptering. Varje bokstav har ersatts av en siffra och det är upp till lösaren att lista ut vad som är vad. Vet man bara vilket språk kryptot är skrivet i är det egentligen en lätt uppgift. Det är trögast i början, men har man klarat av några enstaka bokstäver så ökar farten mot slutet.Ordlista
Precis som alla andra korsordslösare behöver programmet ett ordförråd. Jag har lagt in en stor ordlista i en databas. Förutom ordet i klartext har jag beräknat dess ”generiska” motsvarighet och lagt denna i en separat kolumn, till exempel så här:| Klartext | Generisk |
| knipslug | ABCDEFGH |
| terror | ABCCDC |
| inflammation | ABCDEFFEGAHB |
Som exempel, Om 3-12-9-9-4-9 finns i ett krypto blir dess generiska motsvarighet ABCCDC, då skulle rätt svar kunna vara ”terror”. Eller drygt hundra andra ord, men det är i alla fall en bra reduktion från de ∼402 000 som finns i hela ordlistan.
Hastighet
Hade man inte haft generiska strängar plus mönstermatchning kanske man låtit datorn slumpvis pröva alla möjliga kombinationer av våra tjugonio bokstäver för att se om alla lösningar matchar ordlistan. Antalet sätt att numrera bokstäverna blir astronomiskt stora, ungefär en 9:a med trettio nollor efter. Datorer är snabba, men att bara chansa fram tecknen på detta sätt skulle nog ändå ta många år.Med mitt lilla program tar ett normalstort krypto, säg 20×20 rutor, runt en halv minut att lösa, och det var ändå på en gammal trött 475 MHz laptop i seklets början.
Svårigheter
Om ett ord inte finns i ordlistan blir det värre för programmet; det kan då inte använda detta ord för att matcha i databasen. Svårt är det också om det inte finns tillräckligt med ”långa” ord. Det är de långa orden som jämförs ”generiskt” först då det inte bör finnas så många ord med samma generiska mönster. T.ex. finns det bara ett enda svenskt ord som matchar det generiska mönstret ABCCDEDFADC (som i ett krypto kanske motsvarats av siffrorna 1-2-3-3-4-5-4-6-1-4-3). Vilket ord är det?Provkör
Här kan du få hjälp med förslag på ord som passar in på ett visst sökmönster. Antag att du i ett krypto har ett ord på 8 bokstäver med sifferföljden 8-12-9-7-1-20-8-7. Du vet att tredje bokstaven ska vara N och den femte R. Då skriver du i rutan nedanför 8-12-N-7-R-20-8-7 och trycker på Sök. Har du inga ”säkra” bokstäver går det att bara skriva in siffrorna, men du kan då få fler förslag än du har nytta av. Högst 200 förslag visas.Obs! Om du inte löser ett sifferkrypto utan ett ”vanligt” korsord kan du också använda sökrutan här. Fyll i så fall i de kända bokstäver du har och sätt en punkt för varje okänd ruta. T.ex r.v.r...a, inga mellanslag eller siffror här.