{"id":2371,"date":"2018-10-30T12:56:07","date_gmt":"2018-10-30T09:56:07","guid":{"rendered":"http:\/\/spektrum.fi\/spektraklet\/?p=2371"},"modified":"2018-10-30T12:56:07","modified_gmt":"2018-10-30T09:56:07","slug":"extreme-hanggubbe","status":"publish","type":"post","link":"https:\/\/spektrum.fi\/spektraklet\/extreme-hanggubbe\/","title":{"rendered":"Extreme h\u00e4nggubbe"},"content":{"rendered":"<p>Dags f\u00f6r ett litet ordspel!<\/p>\n<p>Spelet liknar h\u00e4nggubbe eller h\u00e4ngman, i och med att du skall gissa ett ord som bara jag vet. Du kan gissa bokst\u00e4ver, ord eller delar av ord, exempelvis &#8221;kaff&#8221;.<\/p>\n<p>Jag m\u00e5ste svara p\u00e5 om din gissning finns i mitt ord. Om det dolda ordet \u00e4r &#8221;abrakadabra&#8221; och du gissar p\u00e5 &#8221;bra&#8221; svarar jag jakande, men om du gissar &#8221;arb&#8221; svarar jag nekande. Du f\u00e5r inte veta var i ordet din gissning f\u00f6rekommer.<\/p>\n<p>Fr\u00e5gan \u00e4r nu, vad \u00e4r det snabbaste s\u00e4ttet att klura ut ordet? N\u00e5gra l\u00f6sningar beskrivs nedan, l\u00e4s p\u00e5 egen risk!<\/p>\n<p>Att testa sig fram tar i genomsnitt <strong>1\/2 * b<sub>ord<\/sub><\/strong><strong><sup>n<\/sup>\/(b<sub>A<\/sub>! b<sub>B<\/sub>! &#8230;\u00a0b<sub>Z<\/sub>!)\u00a0<\/strong>f\u00f6rs\u00f6k, d\u00e4r<strong> b<sub>ord<\/sub><\/strong>\u00a0\u00e4r m\u00e4ngden olika bokst\u00e4ver som finns i ordet. Ordet &#8221;abrakadabra&#8221; tar ungef\u00e4r\u00a0<strong>1\/2 * 29<sup>11<\/sup>\/(5! 2! 2! 1! 1!) ~ 1.27 * 10<sup>13<\/sup><\/strong>\u00a0f\u00f6rs\u00f6k. Ett Twitter-meddelande som inkluderar siffror och sm\u00e5 bokst\u00e4ver kan ta upp till <strong>1.37 * 10<sup>210<\/sup><\/strong>\u00a0f\u00f6rs\u00f6k.<\/p>\n<p>S\u00e5 ist\u00e4llet f\u00f6r att bara hitta bokst\u00e4verna som f\u00f6rekommer i ordet och sedan testa oss fram, varf\u00f6r klurar vi inte ut alla 2-str\u00e4ngar (2 bokst\u00e4ver l\u00e5nga teckenstr\u00e4ngar) som finns i ordet? Kan vi d\u00e5 f\u00e5 reda p\u00e5 ordet snabbare? Svar: jo.<\/p>\n<p>Att klura ut alla 2-str\u00e4ngar kr\u00e4ver h\u00f6gst <strong>B + b<sub>ord<\/sub> * (b<sub>ord<\/sub>-1) \/ 2 <\/strong>eller i v\u00e4rsta fall <strong>B\/2 + B<sup><strong>2<\/strong><\/sup><\/strong><strong>\/2<\/strong>\u00a0gissningar, d\u00e4r <strong>B<\/strong> \u00e4r m\u00e4ngden anv\u00e4ndbara bokst\u00e4ver. Detta tar inte s\u00e5 v\u00e4rst l\u00e4nge, men vad har man f\u00f6r nytta av 2-str\u00e4ngar? Kan man med hj\u00e4lp av dessa bygga snabbt upp 3-str\u00e4ngar?<\/p>\n<p><a href=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/10\/AB_BR.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-2374\" src=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/10\/AB_BR.png\" alt=\"\" width=\"672\" height=\"362\" srcset=\"https:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/10\/AB_BR.png 672w, https:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/10\/AB_BR-300x162.png 300w\" sizes=\"(max-width: 672px) 100vw, 672px\" \/><\/a><\/p>\n<p>Genom att visualisera 2-str\u00e4ngar som en graf kan man sk\u00e4ra bort flera on\u00f6diga gissningar. Noderna i grafen \u00e4r alla 2-str\u00e4ngar vi k\u00e4nner till, och kanterna l\u00e4nkar str\u00e4ngarna till varandra s\u00e5 att f\u00f6ljande str\u00e4ng b\u00f6rjar med delstr\u00e4ngen som den f\u00f6rsta slutar med. Notera att m\u00e4ngden olika k-str\u00e4ngar av ordet inte kan vara mer \u00e4n <strong>n-k+1<\/strong>\u00a0(eller<strong> B<sup>k<\/sup><\/strong>\u00a0f\u00f6r den delen). M\u00e4ngden kanter i grafen kan inte vara mera \u00e4n <strong>(n-k+1) * B<\/strong>, eftersom varje nod har h\u00f6gst en kant per bokstav. 3-str\u00e4ngar kan forts\u00e4ttningsvis visualiseras som en graf, vilket till slut leder till en n-str\u00e4ng, vilket m\u00e5ste vara ordet vi s\u00f6ker efter.<\/p>\n<p><a href=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/10\/ABR_BRA.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-2375\" src=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/10\/ABR_BRA.png\" alt=\"\" width=\"382\" height=\"302\" srcset=\"https:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/10\/ABR_BRA.png 382w, https:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/10\/ABR_BRA-300x237.png 300w\" sizes=\"(max-width: 382px) 100vw, 382px\" \/><\/a><\/p>\n<p>Notera att grafen f\u00f6r alla 3-str\u00e4ngar i &#8221;abrakadabra&#8221; har blivit en stor \u00f6gla. I detta fall kan man gissa sig fram till l\u00f6sningen genom att v\u00e4lja en nod som startpunkt, och sedan \u00e5ka ett varv runt. I detta fall f\u00e5r man till n\u00e4st gissningarna &#8221;abrakadab&#8221;, &#8221;brakadabr&#8221; och &#8221;rakadabra&#8221;. Dessa skapar en simpel graf p\u00e5 3 noder som sedan leder till ordet vi letade efter, &#8221;abrakadabra&#8221;<\/p>\n<p>V\u00e4rsta m\u00f6jliga antalet gissningar f\u00f6r ord blir till sist:<\/p>\n<p><strong>B\/2 + B<sup>2<\/sup>\/2 + (n-1) B + (n-2) B + &#8230; + 1 B\u00a0= B\/2 + B<sup>2<\/sup>\/2 + \u00a0n<sup>2<\/sup>B\/2 &#8211; nB\/2<\/strong><\/p>\n<p>vilket vi kan avrunda glatt till <strong>n<sup>2<\/sup>B<\/strong>.\u00a0I verkligheten kr\u00e4vs det mycket mindre arbete, eftersom grafen som bildas snabbt blir en \u00f6gla (&#8221;abrakadabra&#8221; kr\u00e4vde\u00a0<strong>45 + B<\/strong> gissningar, och en 137 karakt\u00e4r l\u00e5ng meddelande kr\u00e4vde <strong>~2100 + B<\/strong> gissningar). Att r\u00e4kna ut det praktiska tidskravet av den presenterade algoritmen l\u00e4mnar jag som l\u00e4xa f\u00f6r l\u00e4saren.<\/p>\n<p>PS. Fresh Prince of Bel-Air theme orden (1788 tecken) l\u00f6ses p\u00e5 31446 gissningar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dags f\u00f6r ett litet ordspel! Spelet liknar h\u00e4nggubbe eller h\u00e4ngman, i och med att du skall gissa ett ord som bara jag vet. Du kan gissa bokst\u00e4ver, ord eller delar av ord, exempelvis &#8221;kaff&#8221;. Jag m\u00e5ste svara p\u00e5 om din gissning finns i mitt ord. Om det dolda ordet \u00e4r &#8221;abrakadabra&#8221; och du gissar p\u00e5 &hellip; <a href=\"https:\/\/spektrum.fi\/spektraklet\/extreme-hanggubbe\/\" class=\"more-link\">Forts\u00e4tt l\u00e4sa <span class=\"screen-reader-text\">Extreme h\u00e4nggubbe<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[87,42],"tags":[132],"_links":{"self":[{"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts\/2371"}],"collection":[{"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/comments?post=2371"}],"version-history":[{"count":17,"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts\/2371\/revisions"}],"predecessor-version":[{"id":2390,"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts\/2371\/revisions\/2390"}],"wp:attachment":[{"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/media?parent=2371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/categories?post=2371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/tags?post=2371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}