[vastaus aiempaan viestiin]
Kirjoittaja: | Seppo Mustonen |
---|---|
Sähköposti: | - |
Päiväys: | 19.1.2003 18:03 |
Reijon edellinen viesti osoitti hyvin, millaisesta ongelmasta kilpatehtävässä 2 oli kysymys. Ajattelutapani omissa ratkaisuyrityksissä oli hyvin samantyyppistä eikä sen vuoksi ole tarvetta enää selittää kaikkea mahdollista. Olin hankkinut sikäli etulyöntiaseman, että alunperin koodasin koko jutun C-kielisenä ohjelmanpalana Survon MARKOV- operaation yhteyteen: Esim. komento MARKOV TEACH SATTUMA / STATES=AMSUT RND=rand(1000011) johtaa täsmälleen samaan toimintaan kuin sukrokomento /SANO-SANA SATTUMA / STATES=AMSUT RND=rand(1000011) mutta kaikki tapahtuu huomattavasti nopeammin. Ajattelin alunperin (kuten Reijokin), että yleisesti ottaen hyvään ratkaisuun päästään yrittämällä jokaisessa kysymyksessä antaa sellainen vastaus, joka kasvattaa tavoitteena olevan sanan todennäköisyyttä mahdollisimman paljon. En saanut aivan selvää, miten Reijo toteutti tämän, mutta oma keinoni oli se ,että sukroa tulee (tilapäisesti) muuttaa siten, että se etsii itse - käymällä vaihtoehdot läpi - tuon parhaan vastauspistemäärän joka kysymyksen kohdalla. Todellisuudessa yleistin vastaavaa C-ohjelmaa ja sain ratkaisut, joissa SATTUMA tarvitsi 67 kysymystä ja SURVO 79 kysymystä. Kuten Reijo jo totesi, tämä menettely ei johda välttämättä parhaaseen tulokseen, vaikka sitä kannattaa käyttää johonkin rajaan ainakin vastailun alkupäässä. Itse päädyin kuitenkin muuntamaan raa'asti tätä vaiheittain maksimoivaa ratkaisutapaa siten, että (käyttäen toista satunnaislukugeneraattoria) muuntelin vastausta satunnaisesti "parhaan" ympäriltä eli käytin eräänlaista JITTER-tekniikkaa (kts. JITTER?) ja toistin automaattisesti MARKOV TEACH:ia eri siemenluvuilla yksinkertaisen sukron ohjaamana. Näin sain (kuten Reijo) SATTUMAn sanotuksi 45 kysymyksellä ja useillakin eri tavoilla, joista mikään ei ollut sama kuin Reijon vastaus. SURVOssakin pääsin (kovan yrittämisen jälkeen) vain yhdellä kysymyksellä Reijon ratkaisua lyhyempään tulokseen. Vaikka tehtävä olikin (todella hyvään ratkaisuun pyrittäessä) suhteellisen hankala, olisin silti odottanut enemmän vastaajia, sillä olen edelleen sitä mieltä, että pelkän intuitionkin avulla pääsee tulokseen, kuten Markku Verkasalo omilla hyvillä "yhden yön" yrityksillään osoitti. Teknisellä tasolla olisi tästä aiheesta paljon enemmänkin kerrottavaa, mutta ehkä siihen voitaisiin palata vaikkapa jonkin seminaaritilaisuuden yhteydessä, jos kiinnostusta riittää. Tässä ovat toistaiseksi parhaat tunnetut ratkaisut: Reijo Sund: RND=rand(1000011) STATES=AMSUT /SANO-SANA SATTUMA 1 SA 30 P=0.00000056953125 2 AA -15 P=0.00000105188091 3 UUSMS -30 P=0.00000105750021 4 ATMUUTUASSSM -30 P=0.00000139267329 5 TU 30 P=0.0000015558448 6 MS -30 P=0.00000162611683 7 ASMAUMMMSTAS -25 P=0.00000187895258 8 TU 0 P=0.00000199100014 9 AMUM 0 P=0.00000199100014 10 STTUMSU 30 P=0.00000199100014 11 USTTAU -30 P=0.00000351874956 12 U -30 P=0.00000421983112 13 TTTSU 10 P=0.00000482269086 14 SUSU -30 P=0.0000048747967 15 SA 30 P=0.00000515474306 16 MTTM -25 P=0.00000827320532 17 SMTTUA 30 P=0.0000084729532 18 T -30 P=0.00001287145587 19 S 30 P=0.00001573135527 20 SSU -15 P=0.00001731981953 21 S -15 P=0.00001740039801 22 STUAMSSTU -10 P=0.00001657594521 23 SSUTSTU 15 P=0.00001605711221 24 TMUMAAM 20 P=0.00001577437914 25 A -15 P=0.00001660505285 26 STU 30 P=0.00001659360314 27 STTUMA -5 P=0.00001920484868 28 SU 0 P=0.00001649174479 29 TUUSUATSA -15 P=0.00001649174479 30 TU 30 P=0.00001408026779 31 SAMTMTU -5 P=0.00001327027651 32 STUST 20 P=0.00001314021382 33 SA 25 P=0.00001284129892 34 SAMAAT 30 P=0.00001756693318 35 SSMAMTTSA 15 P=0.00002755996091 36 S 0 P=0.00003465461924 37 SAAM -15 P=0.00003465461924 38 SA 10 P=0.0000345190328 39 SATSA 20 P=0.00003807026721 40 TMAU 20 P=0.0000551126144 41 SUTMTUTA 0 P=0.00005410304487 42 SUMA 30 P=0.00005410304487 43 SA 10 P=0.00008513659063 44 SST 30 P=0.00008963742183 45 SATTUMA . P=0.00007588875386 Reijolla on tavallaan tässä ollut hyvää tuuria, koska SATTUMA ilmestyy tilanteessa, jossa sen todennäköisyys on vain luokkaa 0.00009. Omassa samanmittaisessa ratkaisussa vastaava todennäköisyys oli 0.00047 mutta vain hieman suurempi. Paras tuntemani SURVOn arvausjono on seuraava: RND=rand(1000082) STATES=AEHIJKLMNOPRSTUV /SANO-SANA SURVO 1 UPI -30 P=0.00000007543713 2 J -24 P=0.00000007762229 3 A -27 P=0.00000007868894 4 NIS -28 P=0.00000007990663 5 VVHLOTL -28 P=0.00000008648375 6 KPUNMNPURPV 30 P=0.00000009101237 7 RAHHO 30 P=0.00000010489642 8 IM -25 P=0.00000012513086 9 L -25 P=0.0000001269422 10 ELTNS -27 P=0.00000012880674 11 KNJJP -28 P=0.00000013740553 12 ARJV -28 P=0.00000014053086 13 SSUI 30 P=0.00000015603746 14 POPURRKT 30 P=0.00000026347926 15 LMV -30 P=0.00000032457891 16 RHPPNAOJNKI -27 P=0.00000035274598 17 ASM -28 P=0.00000036809509 18 MMTOLN -26 P=0.00000037635824 19 KUVVP -26 P=0.00000038629651 20 NTVJM -30 P=0.0000004051507 21 RRHAVER -27 P=0.00000041659056 22 JVT -25 P=0.00000046646689 23 NMAVKSKSSULUMN 30 P=0.00000047825819 24 O 30 P=0.00000056776916 25 AVOHPEKTAJPLNHH 30 P=0.00000067280142 26 KHP -30 P=0.00000086983222 27 PV -29 P=0.0000008827178 28 JUPSTJ -28 P=0.00000095577977 29 SS 30 P=0.00000098575288 30 JS -30 P=0.00000118613538 31 ELJNVRAMOLHIAA -28 P=0.00000125728672 32 IVLN -29 P=0.00000132297391 33 AK -25 P=0.00000136174868 34 J -30 P=0.00000137526957 35 N -27 P=0.00000138465713 36 KEIP -26 P=0.00000140393471 37 OJUO 30 P=0.00000141867005 38 RVINRPH 30 P=0.00000159011728 39 LKIKASSLUSNU -28 P=0.00000198081636 40 RNOV -27 P=0.00000226054466 41 N -30 P=0.00000244654153 42 UR 30 P=0.00000247486298 43 K -30 P=0.00000297708777 44 SKT 30 P=0.00000300363438 45 OA -27 P=0.00000377717953 46 AMPLT -25 P=0.00000393207256 47 V -28 P=0.00000396235761 48 O 30 P=0.00000415412155 49 P -29 P=0.00000466001503 50 NN -30 P=0.00000474969083 51 K -29 P=0.00000478984909 52 NVTUR 30 P=0.00000482067997 53 SKEM 30 P=0.00000562520056 54 SKSHMHTTTONHMLNE 30 P=0.00000691229169 55 RMVSI -30 P=0.00000806608843 56 SUE 30 P=0.00000849484909 57 SHHM 30 P=0.00001341495747 58 S 29 P=0.00001572526891 59 UHVU -30 P=0.0000175352626 60 SE 29 P=0.00001908778306 61 E -26 P=0.00002143428365 62 SMAOPKVMSHMMLKKSK 20 P=0.00002154912789 63 S 30 P=0.0000216165047 64 SJUVHUSURJTTO 30 P=0.00002259705258 65 SRUTT 30 P=0.00004409344321 66 SUK 30 P=0.00004508540702 67 SNUJHRKSUUMSI 30 P=0.000060617842 68 SKV -30 P=0.00007446324093 69 SURVO . P=0.00007609894447 Reijon yhtä askelta pitemmässä ratkaisussa viimeinen vaihe oli 70 SURVO . P=0.00019134690985 eli tässä tapauksessa taas minulla on ollut parempi onni matkassani. Se, joka ensimmäisenä pystyy edes jompaa kumpaa ratkaisua vielä parantamaan, ansaitsee jakamatta jääneen palkinnon. - Seppo
Vastaukset: |
---|
Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!