Ja imam palindrom od 20000 riječi. I svake sekunde je sve veći i veći.

Zbog ograničenja dužine posta, nemoguće ga je ovdje kopirati ali se može pogledati na
http://ssbljk.com/palindrom-20004-2280.txt
Prvi preduslov za ovaj eksperiment je bilo pronaći odgovarajući rječnik. Najpribližnija stvar koju sam uspio pronaći je rječnik hrvatskih jezika koji je sastavio dr. Goran Igaly.
http://www.igaly.org/rjecnik-hrvatskih- ... imanje.php
Zatim je bilo potrebno napisati programče koje će tamburati riječi iz rječnika i sklapati od njih palindrome. Pošto ja volim da recikliram i ne izmišljam toplu vodu, našao sam da se Peter Norvig bavio istom problematikom prije nekih 11-12 godina tako da je njegovo rješenje poslužilo kao osnova.
http://norvig.com/palindrome.html
Nakon dorade Peterovog programa da bi mogao koristiti Goranov rječnik (onaj koji je Peter koristio je malo drugačijeg formata) sprava je proradila i za osam sati rada (28820 sekundi) generisala palindrom dužine 24674 riječi.
Taj generisani palindrom je malo bezveze jer program nije mogao koristiti tzv. naša slova (čćšžđ) tako da je valiki broj riječi izignorisan, a s druge strane, sam rječnik je bio pun nekakvih riječi kojima nije tu mjesto, sila skraćenica od po tri slova, nekakvih naziva itd.
Da bi palindrom učinili malo manje bezveznim, programčić je dodatno dorađen da može koristiti naše grafeme, a napisan je i drugi program koji će iz rječnika izbaciti dosta stvari.
Rezultat je sljedeći:
Originalni rječnik: 538593 riječi
Prerađeni rječnik: 531730 riječi
Razlika: 6863 izbačenih riječi
Izbačene riječi koje sadrže uzastopno dva ista slova (dosta stranih, ali ujedno je ovim stradalo i mnogo naših riječi tipa zoologija, crnooka, najjednostavniji i sl.)
Izbačene sve riječi koje ne sadrže neki od samoglasnika ili barem slovo R (obično neke stručne skraćenice i sl.)
Izbačene sve riječi koje su pisane isključivo velikim slovima (dosta složenih skraćenica tipa UNICEF i sl., mada su zaplatile i neke riječi koje su u rječniku greškom napisane velikim slovima)
Izbačene sve riječi koje sadrže znak "-" mada su time zaplatile i mnoge složenice.
Izbačene sve riječi koje sadrže slova "QWXY" - mnogo stranih riječi, kao i nekih skraćenica, te nekih rimskih brojeva.
Izbačene sve riječi koje u sebi sadrže brojeve
U rječniku je i dalje ostalo podosta riječi koje su strane, i koje su prilično besmislene tipa neki rimski brojevi, skraćenice i sl. ali nije bilo moguće da im se nađe neki zajednički sadržilac, a da ne zaplati veći dio smislenih riječi.
Sa novodorađenim programom i djelimično prečišćenim rječnikom rezultati na mojoj kanti su sljedeći:
Tokom prve sekunde rada, generisan je palindrom od 2463 riječi, nakon 10 sekundi 9008, a nakon prve minute palindrom je bio sastavljen od 13648 riječi. Onda je malo usporilo pa je nakon 5 minuta bio 14907 riječi, a ova verzija od 20004 riječi je generisana nakon 2280 sekundi odnosno 38 minuta. Nakon dva sata isti je na 24529 riječi... i raste...
Credits
- dr. Goran Igaly za rječnik.
- Peter Norvig za neke procedure koje su mi uštedile dosta razmišljanja.
Kada bi se rječnik dodatno isčistio od nepoželjnih riječi, kompletan palindrom bi bio dosta kvalitetniji.
