<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-336308386934546555.post3488586796642816981..comments</id><updated>2009-12-28T00:00:16.436+08:00</updated><title type='text'>Comments on C for Coding: Programming Puzzles, Chess Positions and Huffman C...</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.cforcoding.com/feeds/3488586796642816981/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/3488586796642816981/comments/default'/><link rel='alternate' type='text/html' href='http://www.cforcoding.com/2009/12/programming-puzzles-chess-positions-and.html'/><author><name>William Shields</name><uri>http://www.blogger.com/profile/18356811199950883367</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-336308386934546555.post-8847801040224016944</id><published>2009-12-28T00:00:16.436+08:00</published><updated>2009-12-28T00:00:16.436+08:00</updated><title type='text'>Very interesting post which I have to investigate ...</title><content type='html'>Very interesting post which I have to investigate a little bit further. As it seems you are using CPT I just wanted to leave a short note that CPT 4 is using the huffman coding instead of the simple FEN (for example) which was used in previous versions to save database space.&lt;br /&gt;&lt;br /&gt;Stefan</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/3488586796642816981/comments/default/8847801040224016944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/3488586796642816981/comments/default/8847801040224016944'/><link rel='alternate' type='text/html' href='http://www.cforcoding.com/2009/12/programming-puzzles-chess-positions-and.html?showComment=1261929616436#c8847801040224016944' title=''/><author><name>Stefan</name><uri>http://www.blogger.com/profile/06193709795748789633</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.cforcoding.com/2009/12/programming-puzzles-chess-positions-and.html' ref='tag:blogger.com,1999:blog-336308386934546555.post-3488586796642816981' source='http://www.blogger.com/feeds/336308386934546555/posts/default/3488586796642816981' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-336308386934546555.post-8522707991530287419</id><published>2009-12-09T23:34:06.441+08:00</published><updated>2009-12-09T23:34:06.441+08:00</updated><title type='text'>The piece position encoding can be further optimiz...</title><content type='html'>The piece position encoding can be further optimizied. For example, for eight pawns, the pawns are interchangeable, yielding only (48!/(40!*8!)) different pawn configurations. This kind of optimization is used in endgame table bases. Even if you use the simpler encoding, like 48^8/8!, you save some 16 bits per side. The same goes for the pieces (to a lesser degree), which brings a reduction by a factor of 2! for each piece pair which sums up to 3 bits per side on a full board. And there is of course the special case of the bishop, which has only 32 squares to visit, but two different base-square-colors. This is usually handled by treating the white-squared bishop and and black-squared bishop as different pieces for the purpose of counting.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/3488586796642816981/comments/default/8522707991530287419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/3488586796642816981/comments/default/8522707991530287419'/><link rel='alternate' type='text/html' href='http://www.cforcoding.com/2009/12/programming-puzzles-chess-positions-and.html?showComment=1260372846441#c8522707991530287419' title=''/><author><name>drhirsch</name><uri>http://www.blogger.com/profile/10919861063391740606</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.cforcoding.com/2009/12/programming-puzzles-chess-positions-and.html' ref='tag:blogger.com,1999:blog-336308386934546555.post-3488586796642816981' source='http://www.blogger.com/feeds/336308386934546555/posts/default/3488586796642816981' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-336308386934546555.post-6035975365501465127</id><published>2009-12-08T11:21:10.400+08:00</published><updated>2009-12-08T11:21:10.400+08:00</updated><title type='text'>The solution you hint at in passing, where all pos...</title><content type='html'>The solution you hint at in passing, where all possible legal moves are calculated, and the encoded value simply selects which one was played, is very efficient - if (at a guess) there are on average around 50 possible legal moves from any position, then you only need on average 6 bits per move.&lt;br /&gt;&lt;br /&gt;This could then possibly be improved upon by some form of Huffman encoding combined with an algorithm for determining which moves were most likely, however that is adding a lot of complexity.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/3488586796642816981/comments/default/6035975365501465127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/3488586796642816981/comments/default/6035975365501465127'/><link rel='alternate' type='text/html' href='http://www.cforcoding.com/2009/12/programming-puzzles-chess-positions-and.html?showComment=1260242470400#c6035975365501465127' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.cforcoding.com/2009/12/programming-puzzles-chess-positions-and.html' ref='tag:blogger.com,1999:blog-336308386934546555.post-3488586796642816981' source='http://www.blogger.com/feeds/336308386934546555/posts/default/3488586796642816981' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-336308386934546555.post-1673316306528045720</id><published>2009-12-08T02:08:15.479+08:00</published><updated>2009-12-08T02:08:15.479+08:00</updated><title type='text'>Outstanding post, but the link to the question on ...</title><content type='html'>Outstanding post, but the link to the question on SO is broken. Also, I think you mean &amp;quot;specifies&amp;quot; not &amp;quot;species&amp;quot;.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/3488586796642816981/comments/default/1673316306528045720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/3488586796642816981/comments/default/1673316306528045720'/><link rel='alternate' type='text/html' href='http://www.cforcoding.com/2009/12/programming-puzzles-chess-positions-and.html?showComment=1260209295479#c1673316306528045720' title=''/><author><name>Dour High Arch</name><uri>http://dourhigharch.pip.verisignlabs.com/</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.cforcoding.com/2009/12/programming-puzzles-chess-positions-and.html' ref='tag:blogger.com,1999:blog-336308386934546555.post-3488586796642816981' source='http://www.blogger.com/feeds/336308386934546555/posts/default/3488586796642816981' type='text/html'/></entry></feed>