Ja bih analizirao taj skup od 50k reči i uzeo sve reči dužine 8+ i izračunao verovatnoću pojavljivanja svakog slova u tim rečima i onda koristio te verovatnoće u favorizovanju određenih slova u "slučajnom" izboru.
I onda na osnovu izračunatih verovatnoća izračunaš neki trešhold i biraš 8,9 slova sa verovatnoćom koja je ista ili veća od tog trešholda, i ostala 3,4 nasumice... Zbog prirode našeg jezika će samoglasnici imati veću verovatnoći od suglasnika, pa će ti trebati i neka provera da bude određen procenat samoglasnika u odnosu na suglasnike.
Cenim da će dosta da ti popravi prosečan slučaj da bude veći broj reči u opticaju favorizovanjem slova kao što su t,n,s,a,i,o,m,r umesto f, dž, š, i sl
Mislim da i prava slagalica ima sličan sistem, stim što verovatno imaju neke malo ozbiljnije pretpostavke o jeziku, tipa 4 prednjenepčana, 4 usna, 4 strujna slova i sl