{"id":590,"date":"2019-01-17T21:09:21","date_gmt":"2019-01-17T08:09:21","guid":{"rendered":"http:\/\/www.paradicesoftware.com\/blog\/?p=590"},"modified":"2025-01-01T18:45:30","modified_gmt":"2025-01-01T05:45:30","slug":"help-me-five-hundred-ai","status":"publish","type":"post","link":"http:\/\/www.paradicesoftware.com\/blog\/2019\/01\/help-me-five-hundred-ai\/","title":{"rendered":"Help me! Five Hundred AI"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Since releasing the Paradice Five Hundred game all those years ago, one of the most consistent pieces of feedback I receive is that the AI partners and opponents don&#8217;t play optimally.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This.. is very likely true. I&#8217;m limited in that I can only design a computer player that plays as well as I know how to play, I&#8217;m not the best player by any means, and to be honest, I don&#8217;t have any group of players in my current city that I could even play with to get any better.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Previously, commenters have offered to assist me in improving the AI, but the advice has turned out to be in the form of vague statements involving things like &#8216;common sense&#8217; or &#8220;why doesn&#8217;t it do X&#8221; which are, without the context of the hand, are quite simply not specific enough to program! So I would like to issue a challenge. I&#8217;ve created a Decision Tree diagram that represents how the AI currently makes it&#8217;s decisions; here it is:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.paradicesoftware.com\/blog\/wp-content\/uploads\/2019\/01\/Playing_logic.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"436\" src=\"http:\/\/www.paradicesoftware.com\/blog\/wp-content\/uploads\/2019\/01\/Playing_logic-1024x436.png\" alt=\"\" class=\"wp-image-589\" srcset=\"http:\/\/www.paradicesoftware.com\/blog\/wp-content\/uploads\/2019\/01\/Playing_logic-1024x436.png 1024w, http:\/\/www.paradicesoftware.com\/blog\/wp-content\/uploads\/2019\/01\/Playing_logic-300x128.png 300w, http:\/\/www.paradicesoftware.com\/blog\/wp-content\/uploads\/2019\/01\/Playing_logic-768x327.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Paradice Five Hundred &#8211; Card Playing Logic (click to enlarge)<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Help me make this better!<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;d like to play Five Hundred against computer opponents, but you&#8217;re frustrated by the way they currently play, I encourage you to click into and scroll around the current diagram.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Where you find errors in how the AI plays &#8211; feel free to write create a new section of logic (ideally draw it as a similar diagram, but I&#8217;ll settle for anything readable) and make it really clear EXACTLY where in the decision tree you&#8217;re replacing, and make sure every scenario from that point downwards is covered. Once I receive something, I&#8217;ll update the back-end code and release a new version, which you can then play!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To make the above decision tree, I used a tool called SmartDraw (free 7 day trial online), but really, you could use Powerpoint, Excel, or even just use Paint and edit the existing image. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;ve created something, leave a comment below with somewhere you&#8217;ve uploaded the image, or just your email address and I&#8217;ll get in touch.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since releasing the Paradice Five Hundred game all those years ago, one of the most consistent pieces of feedback I receive is that the AI partners and opponents don&#8217;t play optimally. This.. is very likely true. I&#8217;m limited in that I can only design a computer player that plays as well as I know how<\/p>\n","protected":false},"author":2722,"featured_media":589,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,44],"tags":[43,84,79],"class_list":["post-590","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code","category-five-hundred","tag-43","tag-ai","tag-five-hundred"],"_links":{"self":[{"href":"http:\/\/www.paradicesoftware.com\/blog\/wp-json\/wp\/v2\/posts\/590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.paradicesoftware.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.paradicesoftware.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.paradicesoftware.com\/blog\/wp-json\/wp\/v2\/users\/2722"}],"replies":[{"embeddable":true,"href":"http:\/\/www.paradicesoftware.com\/blog\/wp-json\/wp\/v2\/comments?post=590"}],"version-history":[{"count":2,"href":"http:\/\/www.paradicesoftware.com\/blog\/wp-json\/wp\/v2\/posts\/590\/revisions"}],"predecessor-version":[{"id":592,"href":"http:\/\/www.paradicesoftware.com\/blog\/wp-json\/wp\/v2\/posts\/590\/revisions\/592"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.paradicesoftware.com\/blog\/wp-json\/wp\/v2\/media\/589"}],"wp:attachment":[{"href":"http:\/\/www.paradicesoftware.com\/blog\/wp-json\/wp\/v2\/media?parent=590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.paradicesoftware.com\/blog\/wp-json\/wp\/v2\/categories?post=590"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.paradicesoftware.com\/blog\/wp-json\/wp\/v2\/tags?post=590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}