{"id":2425,"date":"2018-11-21T11:54:54","date_gmt":"2018-11-21T08:54:54","guid":{"rendered":"http:\/\/spektrum.fi\/spektraklet\/?p=2425"},"modified":"2021-07-09T02:19:28","modified_gmt":"2021-07-08T23:19:28","slug":"kalkylationer-pa-ett-go-brade","status":"publish","type":"post","link":"https:\/\/spektrum.fi\/spektraklet\/kalkylationer-pa-ett-go-brade\/","title":{"rendered":"Kalkylationer p\u00e5 ett go br\u00e4de"},"content":{"rendered":"<p>Jag t\u00e4nkte kombinera ett av mina favoritspel med programmering och se vad jag kommer p\u00e5. Spelet&nbsp; i fr\u00e5ga \u00e4r <em>go<\/em> (kinesiska: <em>w\u00e9iq\u00ed<\/em>) och&nbsp;\u00e4r &#8221;k\u00e4nt f\u00f6r sin strategiska m\u00e5ngfald trots sina enkla regler&#8221; [<a href=\"https:\/\/sv.wikipedia.org\/wiki\/Go_(br%C3%A4dspel)\">Wikipedia: Go (br\u00e4dspel)<\/a>].&nbsp;Reglerna till go kan f\u00f6rklaras p\u00e5 n\u00e5gra minuter; om du inte tror p\u00e5 mig s\u00e5 kan du kolla f\u00f6ljande video:&nbsp;<a href=\"https:\/\/www.youtube.com\/watch?v=5PTXdR8hLlQ\">Go &#8211; Basic Rules<\/a>.<\/p>\n<p>Du beh\u00f6ver egentligen bara veta f\u00f6ljande tre regler:<\/p>\n<ul>\n<li>Man spelar turvis p\u00e5 sk\u00e4rningspunkterna av go br\u00e4det.<\/li>\n<li>Stenar som vidr\u00f6r varandra r\u00e4knas till en grupp. Diagonala stenar vidr\u00f6r inte varandra.<\/li>\n<li>D\u00e5 en grupp av stenar inte vidr\u00f6r en enda tom punkt blir gruppen upp\u00e4ten.<\/li>\n<\/ul>\n<p>Med dessa simpla regler kan man t.ex. f\u00e5 till st\u00e5nd en &#8221;stege&#8221; som illustreras nedan:<\/p>\n<figure id=\"attachment_2428\" aria-describedby=\"caption-attachment-2428\" style=\"width: 719px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/1_turn.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-2428 size-full\" src=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/1_turn.gif\" alt=\"\" width=\"719\" height=\"681\"><\/a><figcaption id=\"caption-attachment-2428\" class=\"wp-caption-text\">En stege som v\u00e4nder p\u00e5 sig.<\/figcaption><\/figure>\n<p>Efter varje vita drag m\u00e5ste svart svara med att spela ut\u00e5t. Alla andra svarta drag leder till att vit kan omringa och \u00e4ta upp den svarta stegen.<\/p>\n<p>Med dessa simpla regler hittade jag p\u00e5 ett s\u00e4tt att r\u00e4kna saker &#8212; en go-kalkylator! Go-kalkylatorn fungerar p\u00e5 basis av stegarna jag n\u00e4mnde tidigare. Spelbr\u00e4dan kan vara av valfri storlek, och dit kan placeras vissa stenformationer p\u00e5 f\u00f6rhand.&nbsp;F\u00f6r att sparka ig\u00e5ng kalkylatorn spelar man en vit sten s\u00e5 att den p\u00e5b\u00f6rjar en stege.<\/p>\n<p>F\u00f6r kalkylatorn g\u00e4ller dock tv\u00e5 extra regler:<\/p>\n<ul>\n<li>Man skall spela &#8221;kortsiktigt&#8221; och &#8221;sn\u00e5lt&#8221; genom att alltid f\u00f6rs\u00f6ka h\u00e5lla alla sina egna grupper i liv, och att inte ge motst\u00e5ndaren chansen att skydda deras grupper.<\/li>\n<li>I fall det finns flera stegar spelar man dem i tur och ordning.<\/li>\n<\/ul>\n<p>S\u00e5 hur utf\u00f6r man ber\u00e4kningar? F\u00f6ljande saker kan utf\u00f6ras p\u00e5 stegen:<\/p>\n<figure id=\"attachment_2429\" aria-describedby=\"caption-attachment-2429\" style=\"width: 656px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/2_travel.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-2429 size-full\" src=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/2_travel.gif\" alt=\"\" width=\"656\" height=\"745\"><\/a><figcaption id=\"caption-attachment-2429\" class=\"wp-caption-text\">En stege som hoppar fem stenar \u00e5t v\u00e4nster.<\/figcaption><\/figure>\n<ul>\n<li>F\u00f6rflyttning och rotation (se ocks\u00e5 den f\u00f6rsta animationen)<\/li>\n<\/ul>\n<figure id=\"attachment_2430\" aria-describedby=\"caption-attachment-2430\" style=\"width: 656px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/3_duplicator.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-2430 size-full\" src=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/3_duplicator.gif\" alt=\"\" width=\"656\" height=\"745\"><\/a><figcaption id=\"caption-attachment-2430\" class=\"wp-caption-text\">En duplikator: en stege blir tv\u00e5.<\/figcaption><\/figure>\n<ul>\n<li>Duplikation<\/li>\n<\/ul>\n<figure id=\"attachment_2431\" aria-describedby=\"caption-attachment-2431\" style=\"width: 656px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/4_latch.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-2431 size-full\" src=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/4_latch.gif\" alt=\"\" width=\"656\" height=\"745\"><\/a><figcaption id=\"caption-attachment-2431\" class=\"wp-caption-text\">Denna formation l\u00e5ter bara den f\u00f6rsta stegen som n\u00e5r den forts\u00e4tta. M\u00e4rk att detta h\u00e4nder p\u00e5 grund av vitas sten p\u00e5 <strong>K10<\/strong>. F\u00f6r att spara tid och &#8221;print screen&#8221;-knappens anv\u00e4ndning placeras b\u00e5da stegens stenar samtidigt. Det fattas en extra svart sten fr\u00e5n <strong>K13<\/strong> f\u00f6r att f\u00e5 detta att fungera deterministiskt (utan val fr\u00e5n vitas sida).<\/figcaption><\/figure>\n<ul>\n<li>Val av den f\u00f6rsta stegen som n\u00e5r en punkt<\/li>\n<\/ul>\n<p>Den sista av dessa formationer m\u00f6jligg\u00f6r kalkyl. I animationen ovan f\u00f6ljer stegarna&nbsp;den logiska satsen &#8221;h\u00f6ger, och inte v\u00e4nster&#8221;. Det vill s\u00e4ga att en stege som utvidgas h\u00f6gerut skapas bara d\u00e5 n\u00e4r en stege kommer fr\u00e5n h\u00f6ger och ingen stege kommer fr\u00e5n v\u00e4nster.<\/p>\n<p>Med en &#8221;kontrollstege&#8221;, som s\u00e4tts ig\u00e5ng i b\u00f6rjan av programmet, kan man d\u00e5 skapa en steges X negation (&#8221;inte X&#8221;), som kan sedan anv\u00e4ndas f\u00f6r att r\u00e4kna satser som &#8221;X och Y&#8221; samt &#8221;Y eller Z&#8221;. Med andra ord kan man ber\u00e4kna alla simpla logiska satser.<\/p>\n<figure id=\"attachment_2436\" aria-describedby=\"caption-attachment-2436\" style=\"width: 903px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/AND.png\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-2436 size-full\" src=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/AND.png\" alt=\"\" width=\"903\" height=\"903\" srcset=\"https:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/AND.png 903w, https:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/AND-150x150.png 150w, https:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/AND-300x300.png 300w, https:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2018\/11\/AND-768x768.png 768w\" sizes=\"(max-width: 903px) 100vw, 903px\" \/><\/a><figcaption id=\"caption-attachment-2436\" class=\"wp-caption-text\">Denna formation \u00e4r ekvivalent med satsen &#8221;A och B&#8221;. Symbolerna <strong>A<\/strong> och <strong>B<\/strong> (p\u00e5 koordinaterna <strong>R11<\/strong> och <strong>N1<\/strong>) \u00e4r inputs f\u00f6r svart, och vitas drag vid fyrh\u00f6rningen skapar en kontrollstege. Outputten m\u00e4ts i triangel-punkten.<\/figcaption><\/figure>\n<p>Fast det skulle vara coolt att programmera en minir\u00e4knare p\u00e5 ett go-br\u00e4de s\u00e5 finns det \u00e4nnu problemet med korsande stegar. Utan m\u00f6jligheten att korsa stegar \u00e4r kalkylationspotentialen starkt begr\u00e4nsat. T.ex. kan man skapa en 1+1 adderare, men troligtvis inte f\u00f6r st\u00f6rre tal.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jag t\u00e4nkte kombinera ett av mina favoritspel med programmering och se vad jag kommer p\u00e5. Spelet&nbsp; i fr\u00e5ga \u00e4r go (kinesiska: w\u00e9iq\u00ed) och&nbsp;\u00e4r &#8221;k\u00e4nt f\u00f6r sin strategiska m\u00e5ngfald trots sina enkla regler&#8221; [Wikipedia: Go (br\u00e4dspel)].&nbsp;Reglerna till go kan f\u00f6rklaras p\u00e5 n\u00e5gra minuter; om du inte tror p\u00e5 mig s\u00e5 kan du kolla f\u00f6ljande video:&nbsp;Go &#8211; &hellip; <a href=\"https:\/\/spektrum.fi\/spektraklet\/kalkylationer-pa-ett-go-brade\/\" class=\"more-link\">Forts\u00e4tt l\u00e4sa <span class=\"screen-reader-text\">Kalkylationer p\u00e5 ett go br\u00e4de<\/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":[53,193],"_links":{"self":[{"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts\/2425"}],"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=2425"}],"version-history":[{"count":13,"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts\/2425\/revisions"}],"predecessor-version":[{"id":5866,"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts\/2425\/revisions\/5866"}],"wp:attachment":[{"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/media?parent=2425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/categories?post=2425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/tags?post=2425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}