<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The Applied Games Group Blog : computer Go</title><link>http://blogs.technet.com/apg/archive/tags/computer+Go/default.aspx</link><description>Tags: computer Go</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Silicon Minds Challenge (+ submission sample) </title><link>http://blogs.technet.com/apg/archive/2007/12/23/silicon-minds.aspx</link><pubDate>Sun, 23 Dec 2007 22:47:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2673521</guid><dc:creator>apg</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.technet.com/apg/comments/2673521.aspx</comments><wfw:commentRss>http://blogs.technet.com/apg/commentrss.aspx?PostID=2673521</wfw:commentRss><description>&lt;P&gt;On the&amp;nbsp;8th December 2007&amp;nbsp;the &lt;A class="" title="Silicon Minds" href="http://www.dreambuildplay.com/main/" mce_href="http://www.dreambuildplay.com/main/"&gt;Silicon Minds challenge&lt;/A&gt;&amp;nbsp;was launched at the &lt;A class="" title=MALAGA href="http://research.microsoft.com/mlp/apg/malaga.aspx" mce_href="http://research.microsoft.com/mlp/apg/malaga.aspx"&gt;Machine Learning and Games&amp;nbsp;workshop&lt;/A&gt;&amp;nbsp;of the &lt;A class="" href="http://nips.cc/" mce_href="http://nips.cc/"&gt;NIPS conference&lt;/A&gt; in the picturesque Canadian ski resort of Whistler. &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The challenge is to&amp;nbsp;push the limits of Artificial Intelligence while building a game with &lt;A class="" title="XNA Game Studio 2.0 Getting Started" href="http://creators.xna.com/Education/GettingStarted.aspx" mce_href="http://creators.xna.com/Education/GettingStarted.aspx"&gt;XNA Game Studio 2.0&lt;/A&gt;.&lt;/LI&gt;
&lt;LI&gt;The main prize an opportunity to interview for an internship with &lt;A class="" href="http://research.microsoft.com/cambridge/" mce_href="http://research.microsoft.com/cambridge/"&gt;Microsoft Research Cambridge&lt;/A&gt;, &lt;A class="" title=Rare href="http://www.rareware.com/" mce_href="http://www.rareware.com/"&gt;Rare Ltd&lt;/A&gt; or &lt;A class="" title=Lionhead href="http://www.lionhead.com/" mce_href="http://www.lionhead.com/"&gt;Lionhead Studios&lt;/A&gt;.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;The&amp;nbsp;submission entry period lasts&amp;nbsp;until the 27th January 2008.&lt;/LI&gt;
&lt;LI&gt;Full details of the competition are available at the&amp;nbsp;DreamBuildPlay&amp;nbsp;website: &lt;A href="http://www.dreambuildplay.com/"&gt;http://www.dreambuildplay.com&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The contest is to be judged on 3 criteria:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN class=bold&gt;Game A.I. (60%)&lt;/SPAN&gt; – Game A.I. will be evaluated based on how it serves the game design, and how it contributes to the game experience. Novelty and originality of the AI is appreciated but not required: a novel use of an existing state-of-the AI method is in itself considered to be innovative. General applicability of the AI concepts/techniques is also valued.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN class=bold&gt;Fun Factor (20%)&lt;/SPAN&gt; – The fun factor will be evaluated based on how the game design creates a positive user experience. This may include how intellectually challenging, relaxing, stimulating or satisfying the game is. A key indicator for the fun factor will be the desire to keep playing.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN class=bold&gt;Production Quality (20%)&lt;/SPAN&gt; – Make your game world as polished as possible and hook your judges with exciting, entertaining action. Production quality will be evaluated based on how seamless the overall game play is, the quality of the assets used, and the structure, readability and level of documentation of the code.&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;The submission must include the following:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Your finished game in .ccgame XNA Creators Club Game Package form.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The source code and content of your game.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;A design summary.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Three screenshots of your finished game.&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;To this end over the last week we have been having fun creating a mini-sample submission attached based on the &lt;A class="" title="Board Game Go" href="http://en.wikipedia.org/wiki/Go_%28board_game%29" mce_href="http://en.wikipedia.org/wiki/Go_%28board_game%29"&gt;board game Go&lt;/A&gt; demonstrating:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Using Monte Carlo methods to score&amp;nbsp;the board - thanks to David Stern. &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Some&amp;nbsp;well documented source - thanks to Ralf Herbrich. &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;A sample design&amp;nbsp;summary - thanks to Thore Graepel.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Reused code and graphics - thanks to the &lt;A class="" title="Minjie sample" href="http://creators.xna.com/Headlines/minigames/archive/2007/03/07/Minjie.aspx" mce_href="http://creators.xna.com/Headlines/minigames/archive/2007/03/07/Minjie.aspx"&gt;XNA Minjie board game&amp;nbsp;sample&lt;/A&gt;. &lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;Disclaimer: The mini-game sample itself actually uses a rule based AI and should not be seen as an example of AI or&amp;nbsp;game quality - more a sample of documentation quality and&amp;nbsp;the submission files required.&lt;/P&gt;
&lt;P mce_keep="true"&gt;What&amp;nbsp;we do hope is that you will find the sample a useful reference on how to document your code (specifically the XGoLibrary project), how to comment code you have&amp;nbsp;taken from other sources and how to write the design summary.&lt;/P&gt;
&lt;P mce_keep="true"&gt;On coding standards, if you are starting afresh for the competition we suggest you take a look at the MSDN&amp;nbsp;section &lt;A class="" title="Design Guidelines for Class Library Developers" href="http://msdn2.microsoft.com/en-us/library/czefa0ke(VS.71).aspx" mce_href="http://msdn2.microsoft.com/en-us/library/czefa0ke(VS.71).aspx"&gt;".Net Framework General Reference -&amp;nbsp;Design Guidelines for Class Library Developers"&lt;/A&gt; for guidance. In summary this is what we would like to see in the code:&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Readability chosen over raw performance.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Short understandable classes and functions.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;A consistent &lt;A class="" title="Naming Guidelines" href="http://msdn2.microsoft.com/en-us/library/xzf533w0(VS.71).aspx" mce_href="http://msdn2.microsoft.com/en-us/library/xzf533w0(VS.71).aspx"&gt;naming convention&lt;/A&gt;.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Good &lt;A class="" title="XML Documentation Comments (C# Programming Guide)" href="http://msdn2.microsoft.com/en-us/library/b2s063f7.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/b2s063f7.aspx"&gt;C# XML&amp;nbsp;comments&lt;/A&gt;.&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;Don't forget though 60% of the score is based on Game AI... hope you enjoy the contest - we are really looking forward to seeing your submitted games.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Last&amp;nbsp;but not least&amp;nbsp;a quick special thanks to Joaquin Quiñonero Candela for working so hard organising the challenge.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Update 1&lt;/STRONG&gt;: We have noticed that the PDF still had some review comments; they are removed now. Also, rendering during the scoring was accidently reset to constant black (rather than an alpha value proportional to the expected propability of the territory outcome). Finally, we slightly refined the passing algorithm of the AI: If the human player passes then the AI uses the Monte Carlo scorer to estimate whether or not each piece is already determined in colour up to a probability of at least 80%. If so, the AI passes already.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Update 2&lt;/STRONG&gt;: We have noticed a couple of further bugs and easy improvements that can be made: The rule-based AI would start to fill in own eyes if the eye is either on the side of the board or in one of the four corners. This was not intended and has been fixe now. Also, the Monte Carlo sampling can be sped up significantly by only checking for move validity and "eye-ness" after a random move from the list of empty vertices has been determined. Checking a vertex for being empty is a lot faster than checking if a move is valid on that vertex.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2673521" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/apg/attachment/2673521.ashx" length="3503129" type="application/x-zip-compressed" /><category domain="http://blogs.technet.com/apg/archive/tags/Xbox+360/default.aspx">Xbox 360</category><category domain="http://blogs.technet.com/apg/archive/tags/Machine+Learning/default.aspx">Machine Learning</category><category domain="http://blogs.technet.com/apg/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.technet.com/apg/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.technet.com/apg/archive/tags/computer+Go/default.aspx">computer Go</category><category domain="http://blogs.technet.com/apg/archive/tags/XNA/default.aspx">XNA</category><category domain="http://blogs.technet.com/apg/archive/tags/Games/default.aspx">Games</category></item><item><title>Erik van der Werf on AI Techniques for the Game of Go</title><link>http://blogs.technet.com/apg/archive/2006/12/13/erik-van-der-werf-on-ai-techniques-for-the-game-of-go.aspx</link><pubDate>Wed, 13 Dec 2006 12:58:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:554026</guid><dc:creator>apg</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.technet.com/apg/comments/554026.aspx</comments><wfw:commentRss>http://blogs.technet.com/apg/commentrss.aspx?PostID=554026</wfw:commentRss><description>&lt;P&gt;&lt;IMG title="Erik van der Werf at APG" style="WIDTH: 140px; HEIGHT: 187px" height=187 alt="Erik van der Werf at APG" hspace=5 src="http://blogs.technet.com/photos/apg/images/554023/281x375.aspx" width=140 align=left vspace=5 border=5 mce_src="http://blogs.technet.com/photos/apg/images/554023/281x375.aspx"&gt;&lt;/P&gt;
&lt;P&gt;Erik van der Werf came and visited the Applied Games group on November 27th/28th 2006. Erik gave a very interesting &lt;A class="" title="Erik's presentation slides on computer Go" href="http://erikvanderwerf.tengen.nl/pubdown/ait4go.ppt" mce_href="http://erikvanderwerf.tengen.nl/pubdown/ait4go.ppt"&gt;presentation&lt;/A&gt; with an overview of his work on computer Go. The focus of his work was on search techniques (solving 5x5 Go) and on machine learning techniques for territory and move prediction. &lt;A class="" title="Erik's homepage" href="http://erikvanderwerf.tengen.nl/" mce_href="http://erikvanderwerf.tengen.nl/"&gt;Erik's homepage&lt;/A&gt; contains a lot of material on his work including his publications and an online version of his PhD thesis&lt;/P&gt;
&lt;P&gt;We had a lot of interesting discussions, in particular on how to use machine learning to guide game tree search. Erik made us aware of the importance of life &amp;amp; death features for territory prediction. Also, he shared a lot of insights on search, in particular, the importance of transposition tables. He also played Go with our pattern-based Go&amp;nbsp;engine Liberty. Fortunately, he treated Liberty with mercy and gave it nine handicap stones. Liberty&amp;nbsp;ended up winning but also clearly demonstrated its lack of knowledge about life &amp;amp; death, search, and connectivity. If you are interested you can read our paper on &lt;A class="" href="http://www.icml2006.org/icml_documents/camera-ready/110_Bayesian_Pattern_Ran.pdf" mce_href="http://www.icml2006.org/icml_documents/camera-ready/110_Bayesian_Pattern_Ran.pdf"&gt;Bayesian Pattern Ranking for Move Prediction in the Game of Go&lt;/A&gt;&amp;nbsp;which describes the inner workings of Liberty.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Unfortunately, Erik&amp;nbsp;is currently not working on computer Go professionally. Instead, he works&amp;nbsp;on improving&amp;nbsp;hearing&amp;nbsp;aids at &lt;A class="" title="GN Resound" href="http://www.gnresound.com/" mce_href="http://www.gnresound.com/"&gt;GN Resound&lt;/A&gt;, which involves challenging signal processing tasks on low-power&amp;nbsp;processors.&amp;nbsp;While he is continuing working on computer Go in his spare time, it would be great if he found his way back to full-time computer Go sometime in the future. After all,&amp;nbsp;improved search and machine learning are two promising directions for computer Go.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SMALL&gt;Thore Graepel&lt;/SMALL&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=554026" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/apg/archive/tags/Machine+Learning/default.aspx">Machine Learning</category><category domain="http://blogs.technet.com/apg/archive/tags/computer+Go/default.aspx">computer Go</category></item></channel></rss>