Adam Slaski

Jak grać w Haseła

Stworzyłem niedawno polską wersję popularnych Wordli, czyli Haseła. Podstawowe pytanie brzmi teraz: jak grać, żeby wygrać. Moim zdaniem najważniejsze jest dobre otwarcie, czyli takie które da nam największą szansę na dużo trafień.

Po pierwsze, najpopularniejsze litery w naszym języku to: a, o, i, e, k, u, r, m, n, s, l, y itd. Można zatem spróbować zaczynać od słowa, które zawiera stosunkowo dużo liter z początku tej listy np. adieu lub oazie. Jeśli nie trafiliśmy wystarczająco wielu liter, by próbować odgadnąć hasło, w drugim kroku można zaryzykować kurom.

Postanowiłem podejśc do sprawy naukowo i napisałem prosty program, który spośród całego słownika dopuszczalnych słów wybierze optymalne otwarcie. Co dkoładnie liczę? Do głowy przyszły mi dwie metryki, które można dowolnie ze sobą połączyć.

Metryka podstawowa czyli ile liter dane słowo zapali na klawiaturze. Jeden punkt za każdą literę. Sumujemy dla danego słowa po wszystkich dopuszczalnych hasłach i w ten sposób uzyskujemy wynik.

Punktacja w petryce podstawowej kształtuje się następująco:

Słowo Metryka podstawowa
aurom 1
nikle 2
sztyc 1
plażą 2
dębów 0
manie 2

Zgodnie z metryką podstawową spośród wszystkich słów w słowniku najlepszym słowem na otwarcie jest okrai.

Metryka pozycyjna polega jak nietrudno się domyślić na zliczaniu zielonych liter. Dodatkowo rozważam metrykę łączoną, polegającą na zsumowaniu wyników metryk podstawowej i pozycyjnej.

Zobaczmy to na przykładzie. Poniżej zrzut ekranu z przegranej partii, w której gracz nie odgadł hasła slang.

screenshot

Słowo Metryka podstawowa Metryka pozycyjna Metryka łączona
aurom 1 0 1
nikle 2 0 2
sztyc 1 1 2
plażą 2 2 4
dębów 0 0 0
manie 2 0 2

W ten sposób wyliczyłem optymalne otwarcia. Czoło tabeli kształtuje się następuąco:

Miejsce podstawowa pozycyjna łączona
1 okrai sarka mario
2 kolia warka kasie
3 kanio karki kanie

A co jeśli pierwsze słowo ujawni zbyt mało liter, by rozpocząć normalne zgadywanie? Z mojego doświadczenia wynika, że to częsta sytuacja, więc policzyłem również optymalne pary na otwarcie. Są to (podaję tylko liderów, tabele na końcu artykułu):

W tym miejscu warto się na chwilę zatrzymać i zwrócić uwagę na kilka rzeczy. Primo – w naszym zestawieniu nadzwyczaj dobrze wypadają słowa związane z narzekaniem. Ponadto wyjaśnijmy, że koan to buddyjska przypowieść, a sorek oznacza ryjówkę.

Co robimy dalej, jeśli dwa słowa dały nam niewiele albo wcale? Najlepiej byłoby policzyć wszystkie trójki słów i znaleźć optymalne. Niestety, wszystkie trójki to ogromna liczba! Takie obliczenia dalece przekraczają skromne możliwośći mojego laptopa. Zdajmy sobie sprawę, o jakiej skali mówimy. Dopuszczalnych wyrazów jest 28019. Każdą trójkę trzeba dodatkowo przemnożyć przez wielkość słownika, bo przecież sumujemy wartość obliczamy dla każdego możliwego hasła. To daje nam

2 8 0 1 9 4 = 6 1 6 3 2 6 0 5 0 9 1 2 3 3 8 3 2 1 28019^4 = 616326050 912338321

operacji do wykonania. Nawet gdyby założyć optymistycznie, że jesteśmy w stanie sprawdzić w sekundę miliard kombinacji, całe to obliczenie zajęłoby 19 lat.

W związku z powyższym przyjąłem założenie, że zaczynamy zawsze od dwóch dobrych słów i do nich ewentualnie dopasowyjemy trzecie, czwarte a nawet piąte. W ten sposób ustaliłem następujący katalog dobrych otwarć:

Metryka podstawowa:

Słowo 1 Liczba punktów
okrai 41799
kolia 40421
kanio 40398
amoki 40552
areko 40887
kalio 40421
armio 40460
miaro 40460
ramio 40460
ariom 40460
Słowo 1 Słowo 2 Liczba punktów
akrem inulo 71521
aurom nikle 71521
aliom runek 71521
akrom lunie 71521
akrom inule 71521
akron umiel 71521
akron lumie 71521
aurom klnie 71521
alium rekon 71521
aurom kelin 71521
Słowo 1 Słowo 2 Słowo 3 Liczba punktów
akrem inulo sztyc 94571
alium rekon sztyc 94571
aliom kurne sztyc 94571
aliom runek sztyc 94571
aurom nikle sztyc 94571
akron ulemi sztyc 94571
aurom kelin sztyc 94571
almei nurko sztyc 94571
alkom urnie sztyc 94571
almei runko sztyc 94571
Słowo 1 Słowo 2 Słowo 3 Słowo 4 Liczba punktów
akrem inulo sztyc pądów 111356
almei kronu sztyc pądów 111356
akron umiel sztyc pądów 111356
aliom runek sztyc pądów 111356
alium rekon sztyc pądów 111356
alkom urnie sztyc pądów 111356
aliom kurne sztyc pądów 111356
akrom lunie sztyc pądów 111356
alium nerko sztyc pądów 111356
alium norek sztyc pądów 111356
Słowo 1 Słowo 2 Słowo 3 Słowo 4 Słowo 5 Liczba punktów
akrem inulo sztyc pądów głębi 123135
aurom nikle sztyc pądów zgłęb 123135
aliom runek sztyc pądów głębi 123135
akrem inulo sztyc pądów zgłęb 123135
akrem inulo sztyc pądów wgłęb 123135
almei kronu sztyc pądów zgłęb 123135
akron umiel sztyc pądów wgłęb 123135
aliom nurek sztyc pądów zgłęb 123135
alkom urnie sztyc pądów głębi 123135
aurom nikle sztyc pądów wgłęb 123135

Metryka pozycyjna:

Słowo 1 Liczba punktów
sarka 13774
warka 13208
karki 13226
sarną 13578
parką 13739
parkę 13376
parka 13597
marką 13245
parea 13250
sarnę 13215
Słowo 1 Słowo 2 Liczba punktów
koany sarka 25216
koany parką 25181
kolią sarka 25085
kalia sorką 25085
kalka sorią 25085
kalią sorka 25085
kalką soria 25085
koany parka 25039
kanka sorią 25035
kanią sorka 25035
Słowo 1 Słowo 2 Słowo 3 Liczba punktów
kolią sarka piany 35929
kalia sorką pianę 35643
kolią sarka pianę 35643
kalka sorią piany 35929
kalia sorką piany 35929
kolia parką siany 35929
kalką soria piany 35929
koany parka sunią 35765
koany sarka pisią 35666
kaika sorią piany 35783
Słowo 1 Słowo 2 Słowo 3 Słowo 4 Liczba punktów
kolią sarka piany wunem 45030
kanką soria piany mulem 44925
kaika sorią piany wunem 44884
kalia sorką piany wunem 45030
kalka sorią piany wunem 45030
kolia parką siany munem 44925
kalka sorią piany munem 44925
kalką soria piany munem 44925
kanią sorka piany mulem 44925
kanka sorią piany mulem 44925
Słowo 1 Słowo 2 Słowo 3 Słowo 4 Słowo 5 Liczba punktów
kolią sarka piany wunem mesle 53216
kaika sorią piany wunem mesle 53070
koany sarka pinią mulem wetrę 53064
kalka sorią piany wunem mesle 53216
kalia sorką piany wunem mesle 53216
kalką soria piany wunem metce 53205
kanką soria piany mulem wetrę 53064
kolia parką siany wunem metce 53205
kaika sorią piany wunem belce 53182
kalka sorią piany wunem metce 53205

Metryka łączona:

Słowo 1 Liczba punktów
mario 52927
kasie 51071
kanie 51351
kanio 52707
kalio 52780
konia 51517
mareo 51748
naroi 51419
marei 51136
ramio 51097
Słowo 1 Słowo 2 Liczba punktów
manie sorku 94704
manku sorie 94704
marku sonie 94704
marko sunie 94289
kolie sarny 94229
korny salie 94229
kurio salem 94202
palie sorku 94171
karem sunio 94129
kurio sanem 94129
Słowo 1 Słowo 2 Słowo 3 Liczba punktów
kolie sarny muczą 126008
palie sorku dymną 124685
karem sunio wytlą 124600
kurio salem wytną 125310
korny salie muczą 126008
korny salie muczę 125228
palie sorku wytną 125279
palie sorku wymnę 124751
marko sunie wytlą 124760
kurie salom wytną 125175
Słowo 1 Słowo 2 Słowo 3 Słowo 4 Liczba punktów
palie sorku wytną muczę 149718
korny salie muczę wpitą 148759
kolie sarny muczą bitwę 148792
kurio salem wytną piczę 149257
palie sorku wytną meczę 149395
manku sorie wytlą piczę 149122
palie sorku wymnę tuczą 148916
korny salie muczę bitwą 148792
korny salie muczą bitwę 148792
palie sorku mętny widzą 148789
Słowo 1 Słowo 2 Słowo 3 Słowo 4 Słowo 5 Liczba punktów
kolie sarny muczę pełtą bidów 167961
palie sorku wytną meczę bidła 167305
palie sorku wytną muczę bidło 167072
palie sorku wytną muczę bidła 167628
korny salie muczę pełtą bidów 167961
kurom salie wytną piczę bodły 167625
kurio salem wytną piczę bodła 167695
kolie sarny muczę pełtą gidów 167307
kurom salie wytną piczę bodła 167560
kolie sarny muczą bitwę pedał 167486