<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>GoTraxx Forum Rss Feed</title><link>http://www.codeplex.com/GoTraxx/Thread/List.aspx</link><description>GoTraxx Forum Rss Description</description><item><title>NEW POST: Maximum Blocks</title><link>http://www.codeplex.com/GoTraxx/Thread/View.aspx?ThreadId=13258</link><description>&lt;div class="wikidoc"&gt;
 &lt;br /&gt; &lt;br /&gt;Thanks for the correction; it was actually John Tromp &amp;lt;john.tromp@gmail.com&amp;gt; that posted the formula on the computer-go mailing list.&lt;br /&gt;
&lt;/div&gt;</description><author>tgiphil</author><pubDate>Wed, 31 Oct 2007 19:15:46 GMT</pubDate><guid isPermaLink="false">NEW POST: Maximum Blocks 20071031071546P</guid></item><item><title>NEW POST: Maximum Blocks</title><link>http://www.codeplex.com/GoTraxx/Thread/View.aspx?ThreadId=13258</link><description>&lt;div class="wikidoc"&gt;
I don't remember creating any generic formula for the maximum number of blocks on the board.  That formula may be the work of someone else.&lt;br /&gt;
&lt;/div&gt;</description><author>jhouse</author><pubDate>Wed, 31 Oct 2007 14:28:16 GMT</pubDate><guid isPermaLink="false">NEW POST: Maximum Blocks 20071031022816P</guid></item><item><title>NEW POST: Maximum Blocks</title><link>http://www.codeplex.com/GoTraxx/Thread/View.aspx?ThreadId=13258</link><description>&lt;div class="wikidoc"&gt;
Regarding the maximum number of blocks on a board:&lt;br /&gt; &lt;br /&gt;Jason House &amp;lt;jason.james.house@gmail.com&amp;gt;wrote:&lt;br /&gt; &lt;br /&gt;&amp;gt; which confirm yours. we also found a general formula &lt;b&gt;n^2 - floor((n^2+4n-16)/5)&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;Gunnar Farneback &amp;lt;gunnar@lysator.liu.se&amp;gt;wrote:&lt;br /&gt; &lt;br /&gt;&amp;gt; The formula can also be written &lt;b&gt;floor(4n(n-1)/5+4)&lt;/b&gt; for a slightly more compact expression.&lt;br /&gt; &lt;br /&gt;This may be useful when optimizing the tracking of adjacement blocks. &lt;br /&gt;
&lt;/div&gt;</description><author>tgiphil</author><pubDate>Wed, 01 Aug 2007 15:51:39 GMT</pubDate><guid isPermaLink="false">NEW POST: Maximum Blocks 20070801035139P</guid></item><item><title>NEW POST: GTPv3 &amp; Asyncronous responses</title><link>http://www.codeplex.com/GoTraxx/Thread/View.aspx?ThreadId=13257</link><description>&lt;div class="wikidoc"&gt;
Gunnar Farneback &amp;lt;gunnar@lysator.liu.se&amp;gt; wrote to the computer-go mailing list:&lt;br /&gt; &lt;br /&gt;This is in the same direction I've been thinking. To make it consistent&lt;br /&gt;with GTP version 2 and fully backwards compatible it can be designed&lt;br /&gt;like this:&lt;br /&gt; &lt;br /&gt;* Asynchronous responses from the engine are encoded like Paul proposes&lt;br /&gt;  but with &amp;quot;!&amp;quot; as first character (there is precedence in a protocol GTP&lt;br /&gt;  was originally inspired by). Naturally one response must be complete&lt;br /&gt;  before starting on another, whether synchronous or asynchronous.&lt;br /&gt; &lt;br /&gt;* Asynchronous messages may only be sent as responses to asynchronous&lt;br /&gt;  commands. Thus a GTP version 2 controller would never become confused&lt;br /&gt;  by asynchronous responses it knows nothing about since it would only&lt;br /&gt;  send synchronous commands.&lt;br /&gt; &lt;br /&gt;* Asynchronous responses have the same id as the command initiating&lt;br /&gt;  them. The id may as usual be omitted by the controller if it is&lt;br /&gt;  confident that it don't need it.&lt;br /&gt; &lt;br /&gt;* An asynchronous command must first be acknowledged by a synchronous&lt;br /&gt;  response (would usually be an empty response if there are no problems&lt;br /&gt;  and otherwise an error response).&lt;br /&gt; &lt;br /&gt;* An asynchronous command may additionally have zero, one, or multiple&lt;br /&gt;  asynchronous responses, depending on the nature of the command and the&lt;br /&gt;  situation. For example an asynchronous genmove command would normally&lt;br /&gt;  have one asynchronous response, but zero if the command is aborted. A&lt;br /&gt;  command requesting debug output could produce any number of&lt;br /&gt;  asynchronous responses.&lt;br /&gt; &lt;br /&gt;* Whether an engine is capable of doing asynchronous responses can as&lt;br /&gt;  usual be tested by known&lt;i&gt;command or list&lt;/i&gt;commands to see whether it&lt;br /&gt;  supports specific (asynchronous) commands.&lt;br /&gt; &lt;br /&gt;* The asynchronous genmove command would be named async_genmove. In&lt;br /&gt;  contrast to the normal genmove command it would only generate a move,&lt;br /&gt;  not actually play it. (To keep sanity and avoid undos when the&lt;br /&gt;  ordering of move generation and abort command depends on race&lt;br /&gt;  conditions.) &lt;br /&gt; &lt;br /&gt;* To abort the asynchronous genmove, the controller should send the&lt;br /&gt;  (synchronous) command abort&lt;i&gt;async&lt;/i&gt;genmove. If the engine has not&lt;br /&gt;  returned the asynchronous genmove response before responding to the&lt;br /&gt;  abort command, it is no longer allowed to return a move. I'm open for&lt;br /&gt;  discussion on the exact name and whether it should return an error if&lt;br /&gt;  the move had already been sent (I don't think it should).&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Example 1: Asynchronous genmove with an intervening synchronous command.&lt;br /&gt;           Command 3 is sent after receiving the asynchronous move.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Controller:&lt;/b&gt;&lt;br /&gt;1 async_genmove black&lt;br /&gt;2 version&lt;br /&gt;3 play black E5&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Engine:&lt;/b&gt;&lt;br /&gt;=1&lt;br /&gt;=2 4.0&lt;br /&gt;!1 E5&lt;br /&gt;=3&lt;br /&gt; &lt;br /&gt;Example 2: Asynchronous genmove, aborted. The controller plays an own&lt;br /&gt;           move instead.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Controller:&lt;/b&gt;&lt;br /&gt;1 async_genmove black&lt;br /&gt;2 abort_async_genmove&lt;br /&gt;3 play black C3&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Engine:&lt;/b&gt;&lt;br /&gt;=1&lt;br /&gt;=2&lt;br /&gt;=3&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Example 2b (BAD): Like example 2, but the engine makes an incorrect&lt;br /&gt;                  response.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Controller:&lt;/b&gt;&lt;br /&gt;1 async_genmove black&lt;br /&gt;2 abort_async_genmove&lt;br /&gt;3 play black C3&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Engine:&lt;/b&gt;&lt;br /&gt;=1&lt;br /&gt;=2&lt;br /&gt;!1 E5&lt;br /&gt;=3&lt;br /&gt; &lt;br /&gt;Example 3: Like example 2, but abort command comes too late.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Controller:&lt;/b&gt;&lt;br /&gt;1 async_genmove black&lt;br /&gt;2 abort_async_genmove&lt;br /&gt;3 play black C3&lt;br /&gt; &lt;br /&gt;Engine:&lt;br /&gt;=1&lt;br /&gt;!1 E5&lt;br /&gt;=2&lt;br /&gt;=3&lt;br /&gt; &lt;br /&gt;Example 4: Asynchronous genmove sent to an engine not supporting it.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Controller:&lt;/b&gt;&lt;br /&gt;1 async_genmove black&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Engine:&lt;/b&gt;&lt;br /&gt;?1 unknown command&lt;br /&gt; &lt;br /&gt;/Gunnar&lt;br /&gt;
&lt;/div&gt;</description><author>tgiphil</author><pubDate>Wed, 01 Aug 2007 15:46:50 GMT</pubDate><guid isPermaLink="false">NEW POST: GTPv3 &amp; Asyncronous responses 20070801034650P</guid></item><item><title>NEW POST: Open-source community development</title><link>http://www.codeplex.com/GoTraxx/Thread/View.aspx?ThreadId=12281</link><description>&lt;div class="wikidoc"&gt;
If you have a passion for both computer Go and C#, please consider joining the GoTraxx project development team by e-mailing the project coordinator.&lt;br /&gt;
&lt;/div&gt;</description><author>tgiphil</author><pubDate>Fri, 06 Jul 2007 19:57:07 GMT</pubDate><guid isPermaLink="false">NEW POST: Open-source community development 20070706075707P</guid></item></channel></rss>