tag:blogger.com,1999:blog-78857988242878219492024-02-19T17:56:22.101-08:00mACE ChessA little space to track the efforts spent on my hobby: Chess ProgrammingThomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.comBlogger163125tag:blogger.com,1999:blog-7885798824287821949.post-13852985684182425342019-10-08T00:57:00.002-07:002019-10-08T00:57:57.559-07:00Deep iCE 4.0 is available<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZp_voyGS1KCc2q9LBmJ8iR6P3kYGW84Wtju6q2LQlL7et4UoTOSsBsdvQkfX6uLShJWZ2fx3YPfdDfR4gzXsxNuqTimPSDIMMBfD7Yllp4jwh7crw4Ncw9SyIFmNpE-tjdATxqBa9V3U/s1600/ice4-page.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="241" data-original-width="700" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZp_voyGS1KCc2q9LBmJ8iR6P3kYGW84Wtju6q2LQlL7et4UoTOSsBsdvQkfX6uLShJWZ2fx3YPfdDfR4gzXsxNuqTimPSDIMMBfD7Yllp4jwh7crw4Ncw9SyIFmNpE-tjdATxqBa9V3U/s640/ice4-page.jpg" width="640" /></a></div>
<div id="chesstext" style="-webkit-text-stroke-width: 0px; color: black; font-family: Arial,Verdana,Helvetica,sans-serif; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin: 0px; orphans: 2; padding: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
It's been a while since iCE 3 was released in 2016. It was the outcome of several years of developing, testing and tuning. It played at a reasonable strength and had almost all features a chess
engine should have. It missed only one feature that was asked about a lot, the ability to use more than 1 core for the calculation.</div>
<span style="background-color: white; color: black; display: inline; float: none; font-family: "arial" , "verdana" , "helvetica" , sans-serif; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
</span><br />
<span style="background-color: white; color: black; display: inline; float: none; font-family: "arial" , "verdana" , "helvetica" , sans-serif; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
</span><br />
<div id="chesstext" style="-webkit-text-stroke-width: 0px; color: black; font-family: Arial,Verdana,Helvetica,sans-serif; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin: 0px; orphans: 2; padding: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
Sometimes it seemed that people cared more about this feature
than actual strength. iCE was never allowed to play into the Top Chess Engine Championship (TCEC) although it was stronger than most of the participating engines. Maybe to save some 32 core engines
from embarressment being beaten by a single core one (not that I actually care about that).
</div>
<span style="background-color: white; color: black; display: inline; float: none; font-family: "arial" , "verdana" , "helvetica" , sans-serif; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"> </span><br />
<span style="background-color: white; color: black; display: inline; float: none; font-family: "arial" , "verdana" , "helvetica" , sans-serif; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
</span><br />
<div id="chesstext" style="-webkit-text-stroke-width: 0px; color: black; font-family: Arial,Verdana,Helvetica,sans-serif; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin: 0px; orphans: 2; padding: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
As an engine author I was not really interested in this feature as it is just means the engine calculates faster instead of smarter. But as all the other engines supported it, it felt more and more
like a missing feature. So I decided that iCE 4 will support multi processor calculation, although this required a rewite of some vital parts of the engine.</div>
<span style="background-color: white; color: black; display: inline; float: none; font-family: "arial" , "verdana" , "helvetica" , sans-serif; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"> </span><br />
<span style="background-color: white; color: black; display: inline; float: none; font-family: "arial" , "verdana" , "helvetica" , sans-serif; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
</span><br />
<div id="chesstext" style="-webkit-text-stroke-width: 0px; color: black; font-family: Arial,Verdana,Helvetica,sans-serif; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin: 0px; orphans: 2; padding: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
</div>
<span style="background-color: white; color: #ff6600; display: inline; float: none; font-family: "arial" , "verdana" , "helvetica" , sans-serif; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: bold; letter-spacing: normal; line-height: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">It is done now and iCE can call itself now Deep iCE.</span><br />
<span style="background-color: white; color: #ff6600; display: inline; float: none; font-family: "arial" , "verdana" , "helvetica" , sans-serif; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: bold; letter-spacing: normal; line-height: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><br /></span>
<span style="background-color: white; color: black; display: inline; float: none; font-family: "arial" , "verdana" , "helvetica" , sans-serif; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">The new engine version is available at my <a href="http://www.fam-petzke.de/cp_ice_en.shtml">website</a></span><br />
<u><span style="color: #000120;"></span></u><span style="font-family: "arial" , "helvetica" , sans-serif;"></span><br />
<span style="background-color: white; color: black; display: inline; float: none; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="background-color: transparent; font-family: "arial" , "helvetica" , sans-serif;">As large parts have been rewritten it might contain still one or more bugs I was not able to detect in my tests. So use at your own risk 😏</span></span><br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com4tag:blogger.com,1999:blog-7885798824287821949.post-83196295051050441202017-03-24T03:47:00.000-07:002017-03-24T03:47:08.026-07:00Standard Algebraic Notation Headache<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
<br />
In iCE I actually never bothered with the Standard Algebraic Notation described by FIDE. The UCI protocol uses Long Algebaric Notation (LAN) which is much simpler to implement in a chess program.<br />
<br />
For SAN you have to implement a move generator, move making code, check and mate detection. And this all to just output a given move on the screen. For LAN output all you need is a table with the square names (0 = A1, 1 = B1, ... 63 = H8) and the piece letters for promotion (n,b,r,q).<br />
<br />
The core engine functionality does not require SAN implementation however I have some helper functions e.g. running an EPD test suite or the simple output of the divide function (divide counts the resulting positions that are reached up to a given depth for all legal moves in a position) where it would be nice to have the output correctly.<br />
<br />
So to not get out of programming practice I implemented SAN output in iCE. It is still not fully correct as it will include the source file or rank if two pieces can reach a target square even if one of the pieces is pinned. But this will not keep me wake at night.<br />
<br />
Here is how it looks now. Probably no one except me will ever see such output but that is the point in chess programming. You mainly do it for yourself. <br />
<br />
<span style="font-size: small;"><span style="font-family: "Courier New",Courier,monospace;">position fen b3k1r1/4p3/4K3/8/R5R1/8/8/6R1 w - - 0 1<br />divide 5<br />move divide #<br />------------------<br />Rxa8# 0<br />Rxg8# 0<br />Ke5 384.173<br />Kf5 316.308<br />Rga1 212.167<br />Rb1 263.331<br />Rc1 260.142<br />Rd1 230.933<br />Re1 235.617<br />Rf1 233.239<br />------------------<br />Rh1 254.486<br />R1g2 170.818<br />R1g3 183.832<br />Raa1 209.972<br />Ra2 244.058<br />Ra3 242.493<br />Rab4 199.705<br />Rac4 188.081<br />Rad4 159.635<br />Rae4 99.606<br />------------------<br />Raf4 144.555<br />Ra5 241.343<br />Ra6 204.052<br />Ra7 205.495<br />R4g2 244.212<br />R4g3 258.546<br />Rgb4 294.265<br />Rgc4 302.132<br />Rgd4 282.184<br />Rge4 204.924<br />------------------<br />Rgf4 300.731<br />Rh4 359.710<br />Rg5 224.460<br />Rg6 166.798<br />Rg7 168.936<br />Total Nodes of 35 moves : 7.690.939, Time : 0.062 sec</span></span><br />
<br />
<br />
<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-52531838759849547672016-11-18T00:55:00.000-08:002016-11-18T00:55:19.690-08:00City Championship 2016 in Leipzig, Germany<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzySvK2tec7awWcZnNdlMJOxs3o76qV12BRyDyrky5upnna3Ei7HvgROAMUM19NB5cOZIEqvNTtCXSDYogZIWfEejRWl5fyxxym9kBaMTmkDDzw9amVHJnRJPHq90YpkHl8X8E-3ilzqk/s1600/20161113_192433.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzySvK2tec7awWcZnNdlMJOxs3o76qV12BRyDyrky5upnna3Ei7HvgROAMUM19NB5cOZIEqvNTtCXSDYogZIWfEejRWl5fyxxym9kBaMTmkDDzw9amVHJnRJPHq90YpkHl8X8E-3ilzqk/s400/20161113_192433.jpg" width="225" /></a></div>
<div style="text-align: left;">
Last weekend in Leipzig the yearly city championship for kids U8 - U18 took place. Although my younger son Julian is only 8 years they both played in the U12 division as he is already qualified for the upcoming district championship in the U10. This means he had to play one division up this time and he took this as an opportunity for training against stronger players.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Time control was 60 minutes for the game which is for kids already quiet a long time. The first matches were usually already over 5 minutes after the round started. Good thing is that no match is decided by time trouble. </div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
My kids did very well. After 5 games little Julian was leading the U12 but lost then game 6 against his brother after a long exhausting fight and then also game 7.</div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
Finally Jonas, my elder son, did win the division and Julian finished 3rd. So for both a very successful tournament. Julian is with the 3rd place now additionally qualified for the U12.</div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
For me it means I need a week vacation in February when the district championships in U10 and U12 take place. But time for my kids is never wasted.</div>
<div style="text-align: left;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnO2VnMyXJNUDdBXVCuPNTpOqFQ6KWT94vuiBCBhHwiCEZR5OZWnm6Yomg0T_tPTKbJN-3pNuJwn4Zv1kalJxV2_9ZkiBgF3uu-JLEBEGJszA-sGF0q_KemaCrF0DFsRV_IOVVit_fNoQ/s1600/20161113_104902.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnO2VnMyXJNUDdBXVCuPNTpOqFQ6KWT94vuiBCBhHwiCEZR5OZWnm6Yomg0T_tPTKbJN-3pNuJwn4Zv1kalJxV2_9ZkiBgF3uu-JLEBEGJszA-sGF0q_KemaCrF0DFsRV_IOVVit_fNoQ/s640/20161113_104902.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Jonas vs. Julian Petzke, duel of the brothers in Round 6 at board 1</td><td class="tr-caption" style="text-align: center;"><br /></td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<div style="text-align: left;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_eh_VHKf35zjpePBeDIiKKiatLHK442MLrAi2Z6xNujkrJauxkQV7lG5C64_OtJdkJ4Q5PM1mGhzINr7inPfGPtRU7k9ER2UxxP8TUaxruLdKDDuTrcA5Axil-dFAf-jbkOO8UTyC4Xo/s1600/20161113_140821.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_eh_VHKf35zjpePBeDIiKKiatLHK442MLrAi2Z6xNujkrJauxkQV7lG5C64_OtJdkJ4Q5PM1mGhzINr7inPfGPtRU7k9ER2UxxP8TUaxruLdKDDuTrcA5Axil-dFAf-jbkOO8UTyC4Xo/s640/20161113_140821.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Proud winners</td></tr>
</tbody></table>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-67122297938776379442016-08-24T02:25:00.002-07:002016-08-24T02:25:32.524-07:00None at all said Mr. Prosser<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZHQvf2L-PQ2A68nr0OqwfGM6UsIIg2Hg2372gZ7x-ZyZKj2x55LQFBVj3ERnwNv4sptAHBeESSuT8lrEVYrnPWLtDzDVLG5TP3DJJ9WRaI2PtjY7CilC7Zem88rhZ9HkHrs4ydtd-MSY/s1600/shaker.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZHQvf2L-PQ2A68nr0OqwfGM6UsIIg2Hg2372gZ7x-ZyZKj2x55LQFBVj3ERnwNv4sptAHBeESSuT8lrEVYrnPWLtDzDVLG5TP3DJJ9WRaI2PtjY7CilC7Zem88rhZ9HkHrs4ydtd-MSY/s640/shaker.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">White moves and wins</td></tr>
</tbody></table>
Until now iCE contained endgame reconizers that help him to decide whether a position with 4 or 5 pieces is drawn or can be won. Those recognizer usually consisted of a set of rules. The rules where built in a way that a position can be classified as either DRAW or UNKNOWN. UNKNOWN means it can still be a draw but one the recognizer does not know. If he classifies it as DRAW this is certain and search can be terminated in that node. This cuts the tree very nicely because a lot of branches are just cut off. iCE is often reaching max search depth in drawn positions quickly.<br />
<br />
In order to not tell false positives (classify a position as DRAW which is not) the recognizer code was very complicated. It had to spot all the exceptions. Even KNNK is not necessarily always a DRAW.<br />
<br />
A lot of effort went in to assembling all those rules but now I finally decided to test how much damage it does if I throw them away. And the answer is<br />
<br />
<span class="st"><span style="font-size: large;">None at all.</span></span><br />
<br />
<span style="font-family: Arial, Helvetica, Comic Sans; font-size: x-small;">"By a
strange coincidence “None at all” is exactly how much suspicion the
ape-descendant Arthur Dent had that one of his closest friends was not
descended from an ape, but was, in fact, from a small planet somewhere
in the vicinity of Betelgeuse." D. Adams.</span><span class="st"></span><br />
<br />
So I trowed them out and replaced them by a scaling factor for each endgame type that scales the score towards a draw, sometimes depending on some easy knowledge (e.g. wrong rook pawn). Maybe iCE will play a bit more stupid in endgames but it does not hurt its overall playing strength. So I take the chance to remove 16.000 lines of code (6000 lines real code and 10.000 lines for additional tables that contain positions with exceptions).<br />
<br />
A big step towards simplification.<br />
<br />
The git protocol<br />
<br />
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">D:\Docs\cpp\ice\ice>git merge eg-simplify<br />Updating cd74337..3d18b03<br />Fast-forward<br /> endgame.cpp | 144 <span style="color: red;">-</span><br /> endgame.h | 23 <span style="color: red;">-</span><br /> eval.cpp | 66 <span style="color: #38761d;">+</span><span style="color: red;">-</span><br /> eval.h | 52 <span style="color: #38761d;">+</span><span style="color: red;">-</span><br /> evaleg.cpp | 6044 <span style="color: #38761d;">++</span><span style="color: red;">------------------------------</span><br /> krkp.h | 10947 <span style="color: red;">----------------------------------------------------------</span><br /> version.h | 6 <span style="color: #38761d;"></span></span></span><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"><span style="color: #38761d;">+</span></span></span><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"><span style="color: red;">-</span><br /> 7 files changed, 399 insertions(+), 16883 deletions(-)<br /> delete mode 100644 krkp.h</span></span><br />
<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com3tag:blogger.com,1999:blog-7885798824287821949.post-37186694848395481722016-07-08T05:57:00.002-07:002016-07-08T06:00:51.121-07:00Switching compiler for my iCE engine<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixfdHIk_QqEgdejEb9F45o7Cqpmefqfh91dwYuZa4RuW20eFDK-iVt3JayqzXzpuBkFPLKtf9dg6_9a8aEWhXbGlMAunlN1tzY30l9a4tl2MAkGA0sFAlgUBTLkgNtWipy_570wibRh84/s1600/visual_studio-900x252.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="111" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixfdHIk_QqEgdejEb9F45o7Cqpmefqfh91dwYuZa4RuW20eFDK-iVt3JayqzXzpuBkFPLKtf9dg6_9a8aEWhXbGlMAunlN1tzY30l9a4tl2MAkGA0sFAlgUBTLkgNtWipy_570wibRh84/s400/visual_studio-900x252.png" width="400" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
As I recently upgraded my development machine to Windows 10 I thought it is now time also to switch to a more recent compiler. So far I was using Visual Studio 2010 for compiling iCE which is now a bit outdated.<br />
<br />
After a clean Windows 10 setup I installed the Visual Studio 2015 Community Edition and imported my sources. Overall it was pretty painless. I got one easy to fix syntax error that VS2010 did not report and several warnings about potentially dangerous type conversions.<br />
<br />
The later are not really a problem as it was converting constant values and I knew it worked but to get rid of the warning I fixed it.<br />
<br />
Now it compiles nicely and the resulting executable is at least as fast as before. So whenever I feel the urge to try something out in iCE I'm still able to do it.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtOIzxxl9zzibvNvY6EMxINcx_Q7AoSpyNRqL67VfYkfRxTNDl04Q4OsypzhQj_XzPr802Rq54BM4ovXSMKvMZ4U-bj_UeP_B2E7xrEU1KVgA9DF8Oll9cKWjh8YefRt4d_A63HerHncQ/s1600/iCE.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtOIzxxl9zzibvNvY6EMxINcx_Q7AoSpyNRqL67VfYkfRxTNDl04Q4OsypzhQj_XzPr802Rq54BM4ovXSMKvMZ4U-bj_UeP_B2E7xrEU1KVgA9DF8Oll9cKWjh8YefRt4d_A63HerHncQ/s320/iCE.jpg" width="320" /></a></div>
But currently summer is way more attractive and to hot for iCE.Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-26558246098894625492016-06-13T05:04:00.000-07:002016-06-13T05:04:14.799-07:00Brain ChessThis weekend I had the pleasure to escort my boys to the City Championship in Chess and they did exceptionally well in their age class U8 and U10. Julian managed to win the U8 and Jonas missed the tournament victory only by half a Buchholz point in the U10.<br />
<br />
Congratulations. You are making progress much faster than me with my engine.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaeiVak-eZ-0gIkNEiMp6miTxhG3jn7ty0d6Qjh21aQbQwgPey9TMDmcd0UOBcCeFf8o9M9IUaFwXqZx7TUKW3fwLO4EpADpoa9-UwosGvvwJVMhAWTIWKuo61GeJ0htA4qYNmB6Mxee4/s1600/20160611_120848.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaeiVak-eZ-0gIkNEiMp6miTxhG3jn7ty0d6Qjh21aQbQwgPey9TMDmcd0UOBcCeFf8o9M9IUaFwXqZx7TUKW3fwLO4EpADpoa9-UwosGvvwJVMhAWTIWKuo61GeJ0htA4qYNmB6Mxee4/s640/20160611_120848.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Julian Petzke (U8) playing Board 1 in the final round</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn7YL_hn99lvINBw2pxP-YHdu7iwZX_8kWxxN6meXcgUhe4i7goFcFXGH50E4Gfz7zhx77KFTlR1ckHaRqX7gQuU3J_ebfqPtz42iuaau87VtrAyfPSgmgCQj0IQV-Y5j6miqwea5e-D4/s1600/20160611_132202.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn7YL_hn99lvINBw2pxP-YHdu7iwZX_8kWxxN6meXcgUhe4i7goFcFXGH50E4Gfz7zhx77KFTlR1ckHaRqX7gQuU3J_ebfqPtz42iuaau87VtrAyfPSgmgCQj0IQV-Y5j6miqwea5e-D4/s640/20160611_132202.jpg" width="360" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span class="thequote">Size matters not. Look at me. Judge me by my size, do you? Hmm? Hmm. And well you should not. - Yoda</span></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZOq5dKtp3Kja_MMC_klxOA9udLs66YISHBj5SnwZ51IFaor66SjfhxlZD2bc_MV7XK4ShjFik0m3aNaPLntPGoE1oHQtEnF4v3lzDpBGm5UHQo-v9Ah9Or9h_0QlKzApuBoD7Z3vllpw/s1600/20160611_133057.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZOq5dKtp3Kja_MMC_klxOA9udLs66YISHBj5SnwZ51IFaor66SjfhxlZD2bc_MV7XK4ShjFik0m3aNaPLntPGoE1oHQtEnF4v3lzDpBGm5UHQo-v9Ah9Or9h_0QlKzApuBoD7Z3vllpw/s640/20160611_133057.jpg" width="360" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Jonas Petzke coming in at 2nd place in U10</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeyLEamXn5_UDqzmRsF7KtlTWDxZSlDwjZCbtFnkBdBN4fslTdAqKT9aYjYq5ojvJz71Wjd_cBUay8L8AClEF5bgbunyTVQoE6LyHqs2d06Hhxc5Iw22HP8yMWZ-D00NzcArdBCkNbAw0/s1600/20160611_134351.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeyLEamXn5_UDqzmRsF7KtlTWDxZSlDwjZCbtFnkBdBN4fslTdAqKT9aYjYq5ojvJz71Wjd_cBUay8L8AClEF5bgbunyTVQoE6LyHqs2d06Hhxc5Iw22HP8yMWZ-D00NzcArdBCkNbAw0/s640/20160611_134351.jpg" width="360" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Jonas and Julian Petzke enjoying their success</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeyLEamXn5_UDqzmRsF7KtlTWDxZSlDwjZCbtFnkBdBN4fslTdAqKT9aYjYq5ojvJz71Wjd_cBUay8L8AClEF5bgbunyTVQoE6LyHqs2d06Hhxc5Iw22HP8yMWZ-D00NzcArdBCkNbAw0/s1600/20160611_134351.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeyLEamXn5_UDqzmRsF7KtlTWDxZSlDwjZCbtFnkBdBN4fslTdAqKT9aYjYq5ojvJz71Wjd_cBUay8L8AClEF5bgbunyTVQoE6LyHqs2d06Hhxc5Iw22HP8yMWZ-D00NzcArdBCkNbAw0/s1600/20160611_134351.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeyLEamXn5_UDqzmRsF7KtlTWDxZSlDwjZCbtFnkBdBN4fslTdAqKT9aYjYq5ojvJz71Wjd_cBUay8L8AClEF5bgbunyTVQoE6LyHqs2d06Hhxc5Iw22HP8yMWZ-D00NzcArdBCkNbAw0/s1600/20160611_134351.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeyLEamXn5_UDqzmRsF7KtlTWDxZSlDwjZCbtFnkBdBN4fslTdAqKT9aYjYq5ojvJz71Wjd_cBUay8L8AClEF5bgbunyTVQoE6LyHqs2d06Hhxc5Iw22HP8yMWZ-D00NzcArdBCkNbAw0/s1600/20160611_134351.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeyLEamXn5_UDqzmRsF7KtlTWDxZSlDwjZCbtFnkBdBN4fslTdAqKT9aYjYq5ojvJz71Wjd_cBUay8L8AClEF5bgbunyTVQoE6LyHqs2d06Hhxc5Iw22HP8yMWZ-D00NzcArdBCkNbAw0/s1600/20160611_134351.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com1tag:blogger.com,1999:blog-7885798824287821949.post-91296020077551468852016-02-15T09:03:00.002-08:002016-02-15T09:03:36.652-08:00Chess Engine Parameter Tuning<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAEgCAIAAADjXjd2AAAgAElEQVR4nO2deXcj13nm83WaZAMgtgK4dBNLbdgLtWHnvvWCbjYX9UL1RtmyZLc6HSuhRxlHslbLLWsi2xM7iXLaSuw5VuSxbHnGjuJFE0uWY+m05SUfYP64VYVCoQBegAWg2PX+Ds5xm4Saj1kXj67f+97n/bPXX3/9XQAAAMBmvP7663/27rvvzgAAAAA249133wWDBgAAsCNg0AAAADYFDBoAAMCmgEEDAADYFDBoAAAAmwIGDQAAYFPAoAEAAGwKGDQAAIBNAYMGAACwKWDQAAAANgUMGgAAwKaAQQMAANgUMGgAAACbAgYNAABgU8CggeFw8WWT9NuXL0aGrQsAbAQYNDAEIpHqnTd6NOiIYu0vX4yAmwMPOGDQwBBoGPTLF7v+Z8GgAccABg0MgQ4GrX7rjTtV3S77jTvVSGTGpDDyxp1q4+svX1T+kTfuVJW/rXmn3vh6+59iqq3x98K/FYABAgYNDAEMgzYpf8wcZNCGN7croxz4UxriIhH9mzV/B4DBAAYNDAFzfzRaZ7P5qrtX0xKHZtBaFTuivk/7d4D696J9cpufony38TNmGttw5Z0AMDDAoIEhgGPQjXJEsyN3Mmjdfjyi83X1h+r+ydafots2G/5CqG8AwwIMGhgCOCUOiwy68bauDFrn71DfAIYGGDQwBAZo0LodtL60fKBBN/75Oy9DfQMYEmDQwBCwwqCbHNPEoLUiivrFRk060qEG3fD9pioM1DeAYQAGDQyBDhdVDjboiL5lo9lem+3e9LIi+ms7d3EoP7e5AW9wvx0AUAGDBoZDu6veBxq07isHGPRMS6edrsdD+ykXG29p/sdbd9kAMGDAoAEngtnabOjwA4ABAwYNOBEcg9Y20FDfAIYFGDTgRHAM2nCfEAAGDxg0AACATQGDBgAAsClg0AAAADYFDBoAAMCmgEEDAADYFDBoAAAAmwIGDQAAYFPAoAEAAGwKGDQAAIBNAYMGAACwKWDQAAAANgUMGgAAwKaAQQMAANiUgw06Eins3b137+5eQc30qu/fU1C/WNi7q3xlv274x1u/1eHNAAAAgMYBBh2J1Pfv3d2r791VvThSUP6MjHu/3vhP5c2FRjZj67c6vBkAAADQg1Xi0Ex5xmjQd/cKyn+gd+r/bPiv6M8d3gwAAADo6dqgZ3Q1iv26Ut8AgwYAALCcXgy6vn/v3n69vn9PK1qAQQMAAFhO1wbdledaYtBnzpzh7YckScOWYAKowgdU4QOq8BEEoUsT7kQvBq11XyjHfH0+JLx27doh/gf2C57nhy3BBFCFD6jCB1ThY60qnC6OBvt1pXnD0GanvQntiPXma/iW6Vc6AwaND6jCB1ThA6rwGahB94ahZn1IwKDxAVX4gCp8QBU+R8Cg6/tWNjiDQeMDqvABVfiAKnyOgEFbCxg0PqAKH1CFD6jCBwzaFjhhcVgFqMIHVOHjBFVg0D3ihMVhFaAKH1CFjxNUgUH3iBMWh1WAKnxAFT5OUAUG3SNOWBxWAarwAVX4OEEVGHSPOGFxWAWowgdU4eMEVWDQPeKExWEVoAofUIWPE1SBQfeIExaHVYAqfEAVPk5QBQbdI05YHFYBqvABVfg4QRUYdI84YXFYBajCB1Th4wRVYNA94oTFYRWgCh9QhY8TVIFB94gTFodVgCp8QBU+TlB15A06YvYaAE5YHFYBqvABVfg4QdVRNWjFiyMzkchMZOZk0yuifb2Plu2ExWEVoAofUIWPE1QdbNBKQr8u31mX4q/EijYy/NVhKxqt3+rwZlMMBt2w5pmT0ZmT0ZmTsUjTK6p+3WjZlvq1ExaHVYAqfEAVPk5QhTNR5e5evRHArw2tarxngCOv9NYci5yMR07GIyfI5ldceZ2MN1u2cZd9OL92wuKwClCFD6jCxwmqup5J2Dotpd9DYzWD1twZWTMZOUFHT9CRaSY6zaovJjrNRKfpyDQdPUFHT1DRJsu20K+dsDisAlThA6rwcYKq7g26ZUjh4Ay64c4nqOgJJjqdiE2nYlPp2FQmPpWJTWZik5n4VCo2lYpNJWNTiehUIqa4NrJsC/3aCYvDKkAVPqAKHyeo6smgm6d6D8CgeZ4XeF7g86KQlwWuKOTKQnZWzMyJqUUptSwldK/kopRcEFNzYmpOSs+K6ZqYromZqpipCJmKmC0L2ZKQLQm5opArCLmCwMkCJwucxHOSkJeEvMjnRT4vaC+BFwT003mBb1AoFHj7AarwAVX4gCp8ZFnu0oQ7cSiDPtBzLdxBo+1zPHKSip5go9Pp2BQXnyhQoSodnGcCC2xgIRGYZwKzTKBEExIZEuJhnpzIkxNcHL0mc/HJbGwyE59K97y/1h02Cg74t7dVgCp8QBU+TlDVUw1aOeVT/9T/Q8LIjHIwGI+coCPTqdhULj5RoIlF1n82OX4h7d5Mu7fSrs20u570rCR8VSZYIEMyGZKpsESGZCokU2GJCktUWCTDPDnBxSdy8clMbDIdx6mHKOeNerMWBF5fCbEJTliyVgGq8AFV+AzUoCMtJecZsz45fdud+k8p5mv4lulXOqMZdCxykoycYKPTmfikTIUXWf/5lOdy9vjV3Nj13Mj13Mi13OiV7Nhm2r2W8M4ywRJFlCiixgTn2cAi419i/Yusf54J1JhgiQ7pnHoiF5/MtvFrOmpu1iKfj5rVrIeLE5asVYAqfEAVPkPYQXdLa6fHYdAMGtU3ErFpLj5RYYJnk+OXs8ev50ZvciN7+WPodYMb2c2NbSTdy6y/RgfnmMBawns+5dnKuLczLm2Xvcz6qnRQpkISGRbIME+GeXKCJyfyunqI5temZi0LnH5nbXrAOHicsGStAlThA6rwOQIGXd/Hql1gojdoOnoiGZ3iyYlZOnAh7bmaG7vJjdwuj791a/4Hf7703xYn9rhj13OjOxnXWsK3lAicSno30+7d3Ni13Kh+l30h7V5LeGtMsEgRMhWSyZBMhgp0qEiFCmo9RKTC+XiYI5s215pZl8ScYWfdoWA9MLN2wpK1ClCFD6jC5wgYtLUgg442G/Q8E9hMu6/mRve4Yz96cvW/Xtv7r9f2Pnp+8+7C2JOF0Z2M61TSu5bwXUi5d3NjN3Mje9yxpl12dux8yrPI+is0UaKIEk3MMsEF1r/E+pcS/iXWv8j4Z5lAGZ03qoeNufiEZtY1MYPMWqtZdyhYD8ypnbBkrQJU4QOq8AGDNhr0e09fQAb9p1d27z88jl7/e8P7jVXvc3PuJwtje9yx2yXjLns7415J+GaZYFVfCUm7t9Ou7YxrK+0+pz9vpMIiGRbIsNIcEp9YkFJaGQTVrJUDxjani4NxaicsWasAVfiAKnwcatDmJY7s2E1u5Jn1md+8cPGTV67+4JHcm3XXz3c8mk1rr4/+Zh2Z+K++dGGPO3Y9N4LKILNMcIENnEqolRBu9Dpnct5YpIgCFSpQRJEKFelQkQqtSQwqg6CadSY2mY5NpmJTyfaniwNwaicsWasAVfiAKnwcbdBmh4Rq+YI7tscdu5kb2c2NbWc8j0nelxbHv3vWg/z6T1/e1HbZH+163rng+dqK54mCr54JLCf8G/pKCHrpzhuXWH+VJspUUxlksxhDZZASTYhkWGipgWgFa1QDGYxTO2HJWgWowgdU4eNcg27XZqccAHIj17jR3dzYVtp1KuFdSvjXEt6djOt6bvTT+ZGvb0Tuf/nSH7969T+f4Ayb65/vjH/3rOfry64vVkZbKyE7GddqwjfLBObZwHrCu5F0ozLIXmVqK6OWQfQNIfFwHnWDkEorSCY2lYqp2+o+O7UTlqxVgCp8QBU+zjVo/UUVLj5RoIkl1n82Ob6Zdm9nXNtp11bafT7lWU9459jALNNma8wde4wf+e8V1/9Y9ry14f3gcpNZ//FLSiXk189eeFxQKiHrCd9Swn8q4d1Ku7QyyK0qoS+D1JhgQWsIoUIFKlSgQuhqDDpjzMYmMqha3U+ndsKStQpQhQ+owseJBj3TctU7E5vKxycKdKjGBBeYRvfFAuOfZYJliihTxBwTXEt4N1O64jI3cj3X2GUvsIFZJvBw3vfcnPuN066fbLn1lZD7D4+/u+35u1XP7aL3TKq5IYQ7drsa0JdBlIYQOlSilasxS2zjakyVDhboEB8Pc/pzxT44tROWrFWAKnxAFT5ONWi0iY6cjEdO0NETidh0JjaVi08IZFiiwjIV1o7vZDJUoEJFKlSiiFlDe0batZ12b6Tc60nvHBuo0sFZJria8KFKyB537Jn1mY9euvj7V67+8rPGSsgPL4x/c9X1VEkpg7zz5JpJQwhlcjXmQtp9Njm+zPpQtdpw0bwrpz4QJyxZqwBV+IAqfBxq0DPNcaN09AQbnU7GpjKxyWx8kotP5uMTPDkhkBM8GRbIsEiGZSpcIENVmkD72WXWv5LwLbO+RdY/p+6yq3RwqU0l5GZu5Avl499Y8fzwQpNT/+FLnRpC1ttcjdlIuVcSvipNyBS6ZR7O98GpnbBkrQJU4QOq8HGwQbdEQtPRaTY6nYhOpWJT6fhUOjaZjU/m4pO5+AQXn8iTEwI5IZBhmQqh/XWJCpWoUIkmimrDXInWVUKy5pWQpYR/I+3966r7n9Zdv9hpKoO8f8nzvbrruTn3Jc43z7ZUvfNKe8mN3MiV7Nj5lGeB9ZdpQqZCkhLkhC6aoyvm7Z165kTTzZf2pQ8nLFmrAFX4gCp8nGvQM/qRV+q8KwrNVUFOHZtORKeSMcWvM6pfc/EJbX+NNtciGZaosKQUQ4gaE1hLeM+plZAdXSVkng3MMYE1XRnkpTMzH79k0hDy063xb655/7rq3uNarsbkj13jRrcz7hXWhzr2SjRRpokyTZTUyoxEhXkynG/ZUyuXX/CK1E5YslYBqvABVfg42qBnDBNjI02TCalo0xCsdn6t7a/5eFggwxIZlqm2lZAKFayZlUFuVwN73LHPy6MvL7j+V338t1eayiA/2XL/6qk1tNF+7+lGJWQ12bi7uMj6V1jfSsK3zPqXWP8cE6jQhEyGBDKcJ5WWanT5BV1TRDdf2pY+IpBS3R2gCh9QhY/TDRqh2bRhtjcy64P9Ojap+vUEhzbX8aZKSJkmUCWkZCiDqA0hT1QJQ0PIVd5/d8n7403lHqNWCfn9V648PzuqdezNMYEF1r+e9G6k3NsZ905aaRA8l/Ksso2b5VpLtYlTty9SC3zePtmnGk74IFkFqMLHCaoONmiUsX+vOT5U+xr6r60J0Rqt3+rwZlNMDVqRoTm1atZd+XUy2rS5blRC4mGRDEtmZRCtIeSR8tR2RiuD+Gu6hpBH+dHnZ0ff3o398SuX/uvVq5/8Rf7+w+MfXh7/9mnPnZJX31J9PaeUvK9xo7vNN8tRnVpUMkCUIjWaCKMvUhv21JBSjQ+owgdU4TP4wP67e3VjvnN9/+7e3r4Sz9//iSoHvkc/41Vv1gf6tX5z3VwJ6VQGWUn4tovRFaUMEqhQwTJNVBmTSsjnC6PfWj2ujwf57ZXxfznjeXbW9SluVN80orRUp9xLrL9CE0U6VKJDRYoo0mr7oHLtJczFJ7KG40S1+mGeUo3dpdcnnPBBsgpQhY8TVHU98mpGHUsYqSsGPbCp3vgc4NcNs24uXnc060ZDCB0qUaHTMq2c8tEEctISRcwxgXVd7tKN3MiNnNIQ8qjofmXJ+2/buvymXc8PtoP/9vnFt5tvlq8kfDUmWFHv2uhDUBeU9I+Q0HqcGJ1io9MlIYuT0DRgnPBBsgpQhY8TVHU/kzBS2Lu7X49E7GzQRv1t/FrbXHcwa6UMEpvMxJSGENQNsiIlJDKsm3kYKlKhEt24GrOddu9kXDsZF6qEnEp4F1j/HBO4mvd9bUWJcNJuln/8/OZTpVF9S3WNDs6xgfVkI/1jO9MYB1Ohg9pxotJMHZ9MxyYNKdXddun1CSd8kKwCVOHjBFVdG7TmqoM0aN5SBO0l8ILAC3xe4PMinxf5vCTkJZ6TeE4WuILAFYRcUciVhGxZyFaETFXM1MT0rJieE1MrZW5RSi1KyWUpuSwlVqTEqpxYk9hTMnO2QG0U4tvF2HYxul2M7hSim8XY+QJ5tkCfk6mdYuSRyuStKvE3C4GPXtjS3yz/5UXvq+vE1fLMOZncKJCXSpGb5anHquHPVolbNeJWlfhshfhMJXy9PP1QMXq2QK1JzKqcWJESy3JyWUouSqnVUm5eTM2J6ZqQroqZipgtCdmikCvwOVngJJ6ThLzI59H/ZEFQfg/9plAo9P+HdA2owgdU4SPLctc23J7uDFo5MNSzX7f/DroDTTvrlrYQ/c5aO2BENZCamDEtWItkWCJDBbUVpEwTFYZAc1sqFFFjgisJ33bGrd0s/80LF3/3ytV3Pp17/5JHK1L//brvUclnvN/YMg6mzBDF9inVua669GCMgD0AVfg4QVUvNWjli3UbHRJaAoZZN2ogJTF3YMEa1UBQNkiBChXpUIUmFln/RtK9mxu7gWbd6m6WP107/i9nGseJv3xo/JurrjvyiCEEVbnzkvDN0sFKc526KaU6HuY7d+nNnIh1HHprlV874YNkFaAKHyeowuni0G+XdearGvTMzIz2JsWydeZr+JbpVzozMIPW065mrW2rZYHrVLDWbjCSE3zTxUWihlqq0+4r2bFrOZOb5ecygS/UfPrjxN9+cb31zsu6llKd7JRS3S6eqWk614y6p241a0ipHiygCh8nqOrLRRXTHXfPDMWg9bSadXTmpMjnTU8XGTUeJKluq/VOrbbrBVcSvnNJz1bGmLGntVSvJXyfk1xvnHZ9eLnpzsuri2OPC6MHplRrY8tlKiRRYS2eKaeWPtL6gS9NjR+KWVs499YJHySrAFX4OEFVXwy6vo9Vu8Bk6AatoXdqQeAPKFhr2+pmp+bJCZEMl2lilgksGm+WByp0sEITteYQ1H/Yiv7+5cadl/sPj/90e/xvl72fEtunVOvq1AUqpMUziercW32RWuun1iaUWzv31gkfJKsAVfg4QdVRveo9dASexylYo6NFg1Nz8cl8PCxS4YLuZrnSUk0RxTYhqI8Lx16aG3uz7vpQNwXmVxc93znjfmlu7E7Za5pSXaODJYootcQzFaiQSIXz8TCnzVHUzNrqubdO+CBZBajCxwmqwKB7RP8YDipYqwWQiC4cVd9VHVfSqyV1XFZr+of+zstW2nW74P27Ne/Pd0yGdf3HM00p1TUmWKGJihrPtKyLZ5plAmWakMiQENf6qSdy8Ul0qNjD3Fuc35V9AFX4gCp8wKBtQbvHYLqtNu6po01OjXo/9MeJcvM4mO20eydtcudlPeH7nOT6+vLxf9/26FOq36y7nq2N6e+8zGvxTOpkGXSWqI9nEsmwoLwmeN3cW1Swxpon0MamnfBBsgpQhY8TVIFB98iBj8H0aFFzahRjzbQpUqM5XgUyVGWCC+q2dyXhW2F9S6zfdFiXllKt1al/ddHz6rJ3IxtYYAMm8Uy6ibconklrqdYiqlEZhCfDB01+MdlQd/W7GgqgCh9QhQ8YtC3AfwwGp27UqWfMSx/ahlqIh8WWOy9lhkA1ZdM69e1q4JY48tWF4z/TxTO9teF9bs6zxxtnemkTb5dYPxojgFqqlxnfspr+gVKqm8sgJu162oY6GjHZTTvhg2QVoAofJ6gCg+6RHh5Dhw11h9KHvkiN7ry0q1MbUqqv5r3/c833/y426tRv1l2vrvn1d15QPNOqWUu1UgZpTaluN08gMk1FVZtu3ko74YNkFaAKHyeoAoPukcM8hh5KH2qRWhnZJVFhmTSmVO+kXY9UprQ6tdZS/Zdl73fPegxniR8+e+HzhcYYgdaWatMyCGrXk5rb9bJxJaWajU3TUcWmYzqbhjkv+IAqfJygCgy6Rw7/GHBLH8ipdXtqVKfm26dUozp1hQ5WaXRxEY0RGHl1ceyTFzf18UzvX/J8r+55bn68taW6tQxSUUfMFCnUEai066GU6lx8IhObTMZQ7odSm0YVD0Hghz40oBUnfLytAlThAwZtCyx8DJ1LH1RzSJPhKjnaUxcMKdVqnbqsxjNpZ4nPrM/89sWLv3/l6s8ea8QzKfnUVzzvXPB8a/X4V5Z9339i4QemKdU0UaGCc+rRJSpVLzD+GhMs0iE+Hs7FJ9PxqUR0itFtpUU+b3p4OFyc8PG2ClCFDxi0LejH4jjYqdtcJVdnlodXpYRMhWU1mwnFMy3p45m4pnimx6WxZ2rub6553902aan+6PnNvyqO4KdUl2hCJMNcfCITm0yhikdkmoyckHguZnZ4OFyc8PG2ClCFDxi0Lejf4ujYn3fAVfJFKaXUqdVrL0WKmDWLZ7rGNeKZlhL+9YT3Kud6ujL2+trx371gLIP80ynPEwXfLBPUd+wppeqcUqreSLlXEr4KTaBpL1ndVrog5FoPD4du0074eFsFqMIHDNoWDGBxmDp126vk0alUbGpWTDeuvcTDAhmW1X7qVdZ3LtUcz5RE8UyBWSaw1lwG+c0LFz955er/eTT33kONMsgHl8f/bs37iOAxSanOjVzJjp1LeRZYf1GN0MupW+mKmKUj01TEeHgIkxJbAVX4OEEVGHSPDHJx4FwlR3vqspA17aeWyFCFJuaYAIqNXmb9y6xvgfXPMcEyRdTo4BKrtFS3lkHuFI5/fcWjjz9954LnpbmxppTq/LFr3Oh22r3C+io0oZ0c5smJXHxyVkwno/rDQ1vYtBM+3lYBqvAZtEErU1R08aGtgc6NOSv7dcM/3vqtDm82BQxaT+er5AU+1/6CohrPpJ4olmhCuTpIN8ogu23KIAtsYJsLfHPN+2s1qumTZ0xSqlcTvipNlFB3B6lspRellFbxsI9NO+HjbRWgCp/BB/bf3avrhsYW9vYNg1QelIkqXTH0xWHapScJ+Q5dern4JEeqJ4rxsNjcUm1eBmlJqb7KuV5ZOP6LHbeW/vG7r1z5dH5EH89UpogiRZQodK0mvCIlBHKCi09k4koOtR1seuhP0BRQhY8TVB1i5JXqsEd6JmHP2Gdx6G1a4PMHd+m1GaUom5VBFln/HBOsUCYp1V/fiGgp1e895Hm6chztoFE3XpkOVtDddJo4LdNFOiRTIRTrYRObts8T1AOq8HGCqkMYtPpFMGibEEEp1R279LTej1azzseVyy+GMoh2OcU0/eOp0ui/bysHif9yxrOR9deYYJUOzrOBpYR/hfWh6zPq3RlCIkPK+eGwbdqGT3AGVHWDE1T1aNCqLUdmzFxYe5tVBs3bD3uOfC8UCgLPKy+BF/i8wOdFPi8JeYnnJJ6TBa4gcAUhVxRyJTFXFrIVMVsRMjUxUxPTc2J6XkwtSqlFKbUsJZfl5KqUWJUTazK7LrOnZPpcgbxYjN4oTz1WDX+uQjxRJZ6oEp+rEK+tBz+84r3/8Pivr3j/ZvnERpG8VIpcL5/Yq0w9Upl6tHbyZnn6avnkQ8Xo2QK9JrMrUmJRSi5IqTkpXRPSFSFTFrJFIVcQOJnnJCEv8nmBzwsCL/Tzd9W3v7t3QBU+9lQly3I3DnwAPRo0qm6gP8MO2j7oVR3UpWe+s26de6vFn+pTqjeS7u2MeyfjQq+NlHsn6/3uOS/aSn/v3Pi1vBulm97IjdyqEde40V011qPGBGVS3+ZhupvWR5j2ZStt/ydoH0AVPtaq6tqg0TGf3ljhkNA+mKpqcmoMs2bazBPQuqprTHCB9a+wvtWEbzXpW0n4lhL+eTZQpYNPVvwfXB6///D4h5fHvzI/1piUqIv10CYlSm1smmlJ8+jHNfEj9ASHDqjCZ6AGHYloPXWoL87wBcWpDY13evNt7clr/UpnwKDxOVAVvllr2+pkdCodn8qoNi2SYZkKFekQyqeu0kSNDlaZoJbNtJn1vXVeqUr/5CLxoz9faDcpEWUtyeo8FyUbD0WYxqaZ1mA8S7fSR/QJDgVQhc8QdtDdYnqo2DNg0Ph0paqtWUea40/Vm4rpmMGmlePEEh3ShtJq4Xkvz4+9f8mjxXroe6WVVjyaKKNEJ8Y4ypYjzYLx2oxrGczvamCAKnycoKovBl3fx6pdYAIGjU/PqswL1opTKxtqg03ra9NFKlRUw/PUW+MjjwvHPn5e6ZX+493db6wcf5RvGHQVjbJFQanqKNtFxj/LBkqtwXiRE/GZEzFLyx0P2BPsK6AKnyNg0NYCBo2PJaraRDU123R8KqseIYpkWCLRkJdQlSZWWN92xq1PN9UmJX54efzvVj2b2cYo21MJ70bKvZ1x76gzXFAwXpkOomC8tG4rbSh32OF3ZTmgCh8nqAKD7hEnLA7DTUWDTSejyu3EvG4rXaaJRTXdVD8p8YuV0R9faOQufXPddyXvbzfKVh+Mhya2oKo0Ci+NW1SSdsITtApQhQ8YtC1wwuJAmNo0qk0nYtOpGIr7ULbSMhmq6WM9uNEbucakxNuy+/VTXs2mf7Ax/uysq2mGS0swnpa41FTusKK7wzlP8PCAKnzAoG2BExaHHoNNK0eIKJhJrXjk46gVT0k3VSYlZlyPVKZQrzSalHg6Fby75PtADV167yHPK6s+/ShbLRivTBOyLrwUlTv03R2H8WinPcHDAKrwAYO2BU5YHK2oZ4knI2pbHonaPHRbaYGckEllUuKyetV7hfUtJfxzbKCqduOdSflenHejvGnTZg8tGE+mQhIV1nI8UqYl6e5t2plPsDdAFT5g0LbACYujHSYVD7OtdIEOlahQmSbOSHSVJio0UaaC5eZuvOu5kVcXx/7wktLs8YkuGG816asxjXZpiVTKHVl0n0VXku5tnpaTn2C3gCp8wKBtgRMWR2caNq1tpdHhoRptqvXhrUmsFsBUNBtl++z6zP0vK8F4v9hxP1kY04LxyjRRoogiRegDpnPxyXRsUj+atod5WvAE8QFV+IBB2wInLI4DabuV1ioe5GSenFiWkqLa5oGm2SqjbFuC8X6x44aiWI0AACAASURBVL7/8PhHu56na+6lhF8xaPVKCwqYlqiwEA9r87TQVto4TwvDqeEJ4gOq8AGDtgVOWByYmG6lGV2ax7yY0ocuSfpRtqlGptKN3MgeN/YvZ5RuvL9d8VVQqDQdrDJB5W4LQ5RpokCHRCW2dDJtvHOIa9PwBPEBVfiAQdsCJywOfLTDw6j+8FDdTVfFjBa6xKuhS0WKqDGBtYT3fMpjCMZ7elZpxftO3beSVKKltWAmNE2xShMyGUKDWprmaam76aY8PDObhieID6jCBwzaFjhhcXRLS8XjJErIK4k5Q+gSr4YuVZngAtMIxltVg/FuCP4PLo3ff3j8p1vjVzjvRqrh4Ntp9/mUZ431VpmgvgkvE59Mx6fU6bTTVGtsabNNwxPEB1ThAwZtC5ywOHrA7FbLSVngmkKX1GviAjkhkaEipQvGY4I1JogqG5u54M92vPcfHv/15fG/LB7XyiBolK0WLV2gCJRZimw6qxY9UB6eUveYMZnVMvTflSmgCh8nqAKD7hEnLI6eMaR5iHzeeE081rgmrgXjoVQ81IeHWvHOpv0/2BhHx4avLY1pFw5v5lqipamQZtNcXKlNpwzp0s02Ldjjd2XAJk/QAKjCZ9AGjTL27+niQwt7d7V86HZf0ejqzaaAQeNjK1WaTQt8/oBr4vGwSCkx00WUQarOqL2Uc3/njPv+w+O/uxn6zVNLP7qz1CFaGg0Rl8iwEFecOhNrO6tF4PP9mANwSGz1BDVAFT6DD+y/u1fXTVTpZkgKTFQZMPZUJfB8p2viatO0SIYl1IfXklx6d2Hs988otw0/fPaAaGktXVp//7B1Voso5Hu43tJv7PkEQRU+Qyhx6AP4uxozCDMJB4ydVbW7Jp6ITadjU1m13KEkl1JEjQ6uJhWD3uOO/cczF5BB/+mV3Z9sub9QHOsQLb2S8C2x/jmmeY5486wWWeAOc1O8T9j5CdoNJ6gCg+4RJywOq9Crar3bgqrSKdWjBTKMTg4rDLHC+rbT7mucEi39mxcu/v6Vq7/9c04ZTVv3fEbyto2WTrvPpTyrrK9KK80eeXIiR6q16dh0SciZnh8OF/s/QfvgBFVHw6B5+2HPke9HRZXA84LAC3xeEvKywBWEXFnI1sTMnJRelFLLcnJVTpwuMBcK8WulE49VwreqwdvVAHr9RS3wD2f8v7mi9Eq/+5D/6ZXp3XLkZnnqsUr4cxXiiSpxq0Z8tko8VglfL00/VIrWZWpNYlbkxLKcXJRSc2JqVkzPF/mykC0KuYLASTwnCnmBRy9eGMqvief5o/ME7YA9Vcmy3KUJd+JoGHSX/6MGAe+Af3tbhakqbSsdi5yMzyglabW7Y4InJyQyVKWJVdZ3Ie2+kh27lhu9zo3cyI2gaOndnOu5uXHUh4da8f5x3f3n0mgjWrpljrjclOYxMSeltcK0cTrt8LbSR+gJDh0nqOraoOGQEOGExWEV7VQZTg6pyAla1yjNxydEMlyhgysJ37mkZyvt3k67djKu7Yxbi5au0cHbJf8PL4xrQwD+dTP4zp0FLVpaa/aoKqFLSnipQIYXpSTKmG4a1zLsisfReoLDxQmqcLo4GuzXIzMzM9qXtP2v4St68z3wzQcCBo3PUVSl3RFvROKpHXhcfEIkw2WamGMCS6wfnf61RkuvJXyfkdzfOeP+aLcxR/xXX2pp9qCIIkWU6BCy6VU5IZDhvHq3xdCKF+0pwvTwHMUnOCycoKovF1X0O+7DAwaNzxFV1Zzj0ZQunYtP5uNhiQoX1XTpCtM2WvqWOPKROkf8T6/s/vNp1+PCqL7Zo0wHka1XGOK0TKN4PKGlFc+04jEYmz6iT3AoOEFVXwy6vo9Vu8AEDBqfo6uqc7o0R06q8R1hmWxES6NuvJVE0xzx/3zx4h/UOeIf7Xq+tuI5n9bmiAeWEspOfLsYXWZ882xTK166Q4TpQCoeR/cJDh4nqIKr3j3ihMVhFZiqWiLxWtKl4xPaBHHULo2ipbU54je4xvzZO/LI98+5UWH6Py6Of3HWp7XiodClR8pTjVY8JiirW2klzcPs8uEAbPpIP8EB4wRVYNA94oTFYRVdqeqQLp2OKWF4eXKCJ8OiYtOEYY64vtnjtuz+3xtqQ972+F8UXVr89BNV4ho3uptt5C7Jao+HatPGy4cDKEw/AE9wYDhBFRh0jzhhcVhFt6rapUuzmk2ru2k+HpZ0c8TPoTni6Ua0NGr2+GzB92/bSpvH98+5b4kje9yx29WA1op3PuVZZP1oiLg+Gw/NqNUuH/Y2W6uvv6vBAKrwAYO2BU5YHFbRmyrjncOZE62zWnK62NIKTcyzxmaPeTZQo4OzTHA14fvqkvvDy+P3Hx7/+Abxi79cfOfJtaZWPFYZIl7QteIZLh+2K0xbaNMP0hPsN05QBQbdI05YHFbRsyqTdGm9TceUI0Q1XVrJwyvTRIUmlDnidLCi6/R4XBj97hmX1or369bcJYooUkQRteKRqk2r+aXNhem+nB8+YE+wrzhBFRh0jzhhcVjFIVWZDgFAs1ro6LQ2qyUbn8wru2ml06OkGyKuz116/0uN3KW3N9x35NGmYDyaKFPBijr/sESFilRIpML5eDinn63Vn/PDB/IJ9gknqAKD7hEnLA6rsESVqU1r6dJaQx7aTeuOEEMlOlSliRW2qRXvNy9c/P1XG7lLf7/mOZ9WeqWrKBgvoQbjsb4l1j/LBEo0IbYPL7Xq/PABfoKW4wRVYNA94oTFYRUWqjLMaolGTIYApGOTOXJSa8iTqVCZJhZY//mUZzfbaMW7XQ08Lhz7xzXXR7ue+w+Pf3B5/As1f9U0GC/jPpf0rCR8FTrYLrzUqvPDB/4JWogTVIFB94gTFodVWK7KaNOGIQCob7ppiHioygTXWO8myl3iRq9zI09UCdSKt8e7vndO6fH48Zb3cWl8K93oxrvOjVzLjV7Jjl1Iu1dZX5UmUMd0n84PHfIELcEJqsCge8QJi8Mq+qfKfAiArm9am04rk6Eq3dSK90hlSp+79Gkp8NMtNXHpnOdzgi4YL3/sBjeymx07n/IssP4yTUhkSFTHtZhdbOndpp32BA+DE1SBQfeIExaHVfRblekRonJTPKoUpvMod4lp5C5tF6NaK56Wu/TsnPfXl5Uxtffqge8/0QjGu8Y1dePpw0sVmzaeH/Zi0858gr3hBFVg0D3ihMVhFYNR1TqrxVCY5shJXteKd1qm9blLWjfeDd79xmnX/YfHtW68955udOOtJn01JlhCwXjqmFqRDAtoRm28dUZtdzbt5CfYLU5QBQbdI05YHFYxMFVmnR7GwjSqeIhkeFVOFKhQiQoVKaJIGYPx/qo48rsXlGC8P9y98lRpVN8uXWluxSvTRJEOyVTIMKO2B5t2+BPsCieo6sWgGxHRujErWmK04c2t3+rwZlPAoPEBVTPNhWnTQA9UmF6SktqM2iId0oLxdjIurRvv45cu/UkNxnvrnPtTgms10RyMp59R2xyM15tNwxPExwmqujZoLeu5MRwFJqrYBlClcWBhek5MoY5piQpLVKhAhcpMIxjvZk7pxvt0fuQbK8fRHfGPrnheXfauJQNNrXgZ1067GbUH2nSLU8MTxMcJqg5p0Hf3ChGYSWgfQJWBDoXpmphJN0eYFihillaD8XJj17jRGzklGG+PH/vWmgf1eHxwefy5uZZWvJZgvEaaRwebbnFqgeeHPlm8FVhX+Ay/xKHVKNAELDBo+wCqWmlXmC4JWX2EKU9OSGS4QIaqTHAt4T2f8mynleRoLRhvM+d746wP2fTPdjzP1cY6zKgtUCGpg02rfdPaZXHk1AKf1/bU9nFqWFf4DN+g6/v37u3X6/v3tKJFvw2atx/2HPkOqtohKK+8wOdFIS/xXLUoFYVcWchWhMysmJ4TU4tSallOrsnsWZneKMS3i7HtYnSnEN0pRjeLsfMFsi5T52Tq8wvTP9lRbPrdK+GfPLnyzpNrz52J364GPlch9ipTO8XoWZk6LTPrMrMus2sSuyonVqTEkpRclFLzUrompqtCpixkS2KuKOQKAicLnMRzEs+Vi7LI55FOQVBkDx07PMFW7KlKluWu7LQzXRt0V54LO+gBA6o6o99KS0JeycZrviPOkxMiGSroRiCigI6ybkbtTsb1wuzx9y81ZtT+xzMtwXg0UaaIEkWUtdAlOlSgQiIV5tR4vJS6oUaxHlT0REHg4oYMpsEORTTFPk9QjxNU9WLQWveFcswHh4S2AVThgGxa4PMdZmtpIxALlDEYT2vF+3R+5D+fawTj3TtlnFFbQblLrNLsscz6F3W5SyjFNKNz6kRsuiRk6cg0pdapW9PyhmLTdnuCCCeo6v6QMNJok9Pa7LTGO7Qj1puv4VumX+kMGDQ+oAoT9TiubSuePsoDJS4VqVCJIqo00c2M2k65SzIZEtSLiDn1ynhNSCdjU4nYtFKnbhNqOmCbtuETnHGGqr5cVNE6PSz528Cg8QFV+PA836EVL6FmTHPqbloiQ3JzK55hRu2bdZfW5vHiov9UKnAq4dWaPa5zLblLarOHSCp3EXlyYlFKcfHJbGwyHZ9Kqml5SuPHTB8nuRz4uxrUj+oCJ6jqi0HX97FqF5iAQeMDqvDRVLX2eLRGeWgZ0zIZ6jCj9nHJpc2o/eDy+P9Y9uzxjZZqQ+4SavYoUqECRZTUIvWaxMhk2LROffgkpsP/rmyFE1TBVe8eccLisAr7qzJvxTPLmBZReCndaUbtp6XAj7cUm/5o13PvlOsLNe9bt+a13CVlCmLCN0sHKxQxxwQXWP8y61tm/ZvF2CKj1qnjYZ6cyJGTmVh3t136+ruyD05QBQbdI05YHFZxVFQZbNokYzqmdUy3nVGrBeM9UfD98IKSX/oHs9yl9YRvlgnMs4H1pHcj6d5Ku7fTrr3ylFanRpcSD77t0n+bPipP0A6AQdsCJywOqzhaqg6M8sh0nFGrD8bbybieLIy+WXf96ctK7tIf7+6+tjT2hDSKDHop4dfq1KhacqtKaHXqNfagS4ktt136ZNNH6wkOFzBoW+CExWEVR1EVzvmhfkZtQW3FK6nBeKu63KWvnJ355OVLf3pVafa4//D4z7Y931j1PlHwbWc8+uiP29VAa53a/FJiI366780eR/EJDgswaFvghMVhFUdXVVfnh1owXpEiqnRwKeHfSBlzl16aG3uzrkxB1F4/2HC/tjT21Jz3rVvz7zy5ZqhT1+hgiSLQJReZVOKn1ea8yXRscgDNHkf3CQ4eMGhb4ITFYRVHWhX++SHqmFZHiRNzqNkjZcxd2s2NbaVdtwvery57/+9Ww6a7uJRINy4l5uNh7sBmj0M79ZF+ggMGDNoWOGFxWMUDoArz/LAxSpwMlShilg40cpfSrp2MS5uCuMD655jAesJ3g3e/PD/2Zt31x5c2tUuJ3z3jQnXqDpcSl1j/LBMoa80e8Ym2zR5mTt2VWT8AT3BggEHbAicsDqt4YFThnB8im0Yx0ygbD7XQNZo9WP8cG6jSwdnmOvULp2c+funSH7/aqFN/r+75jOQ98FJip2YPwymiwamxzfqBeYIDAAzaFjhhcVjFA6bqgPNDtJtGRY94WJ+7hKKXygxRoohSmzr17Wrgr4oj3z3jblSoL3hvFX3tLiV2SqCOT6mzxhsb6njkpCHgFMesH7An2FfAoG2BExaHVTyQqow2PXNCv5tGtemsFugRD6PoJdTvIVNt69RPVAlUp76Wd//tsveDy4pN//u258X5450vJbY2e2TbZOZ1a9YP5BPsE2DQtsAJi8MqHlRVJueHepuOTSdjU+k4Kk9rpY8JgQyLap26SBE1RqlTo0uJj1SmtDr1POtfYINfqPl/vqPY9HsPeb52yv/9JxZaLyVqzR5FKiTrZo0bMvOSUTWJqRuzhjkv+IBB2wInLA6reLBVmbV5nCQjJ6joCToyzWpOrdtTowAmngxL6OI4Q2h16u1iFF1KnNNdSlxL+J6bc7/3kEff7KG/lNhh1niBCglkWNBl5mVik+n4lBZwimPWAp83HDDawa8f7HWFAIPuEScsDqtwgipTm0Z908ip0Z5aq35k4pM55UZi03yA0zJdYQhktchk9QnUz8+OfvKi2uxxd/dbq8cf5RWDRmeJcy2zxufZQJUmZCokkWGBDPPxcL57s5aEfNMBo1kxZPCW7YR11YtBRyL6SGdlLOE9dUyh4c2t3+rwZlPAoPEBVfj0Q5Xeps2dOnqCiU6zberUEhlelRNoREBRNyJgRdfs8cz6zMcvXfyjLoH679c8W1nfHBNYMJs1fj7lWUt4a0ygSDWK1ErAaTzMkxP5uHLnpdWsW+a8KN0gWkNIdKh+7YR11WNgPxoXq3wFJqrYBlCFT19VtXfqxnVEWufUqE7NxSeWpKRy4YVS7iVWaGKJNTZ77HHHniqNfv9co9njH075rua9+lnjN3Ij17jR3dzYZsq9lvDOMcESrRSp9QGnRSpUoEISGeaVIS9NO2tUsy4LWSY6TUcMm+tGMcRYvG7puYYIp97o3qBbwvhhJqF9AFX4DEBVxMyp9dtqynCiGJucE1P6Cy8SGSpSxGz7S4mPiu7XT3k1m/4/W54XZ4/rZ43fzI3s5sY2Uu6lhL9KB8sUUW4OOF1K+JdY/xwTqNCETIZEszLIrJhOxaaSxs31NB090WrZ5n7dTds1Jk5YV90btFbeQEWKgUz1xpc3MJywOKwCVHVy6hmt+jHNRqcrQiYdb1x4EdBcRDKkNXtsp90oflpLoF5g/Rey/q+ven+t9uT9+hrx3l8t/uhOo9NjJ+NaTfhmmWCVDs6pAafbafe2ducl5UFDXooUIbeUQRalFBef4OKTyuY6NpmOTZlYttkWu61fH3pz7YR11ZNBNw+NHYBB8/bDniPfQRU+w1IloJfAC3xe4PMin5eEvMRzssAV+NxsUSwL2YqQqQnpOSm9IKUWpeSKlFiT2bMyvVGIbxdj28XodjG6U4huFmPnC2Rdps7J1E4x8mh18rV1/y8vNjo9fvfi5j+e8T27FHykMrlTjJyTyY0CeakUuVmeeqwS/myVuFUjbtWIz1aIxyrh66Xpi6VovUCdkul1mV2XmdMF5pREr8vM2VJ6TWJW5cSylFiSkotSakFKzYupOTE1J6VnxXRNTNfETFXMVIRMRcyWhWxJyJaEXFHIFYRcQeBkgZN4TuI5SciLQl7k84L+Jai/Fp4XsH+T9lxXsizj2+mBHMqgD/Rc2EEPGFCFz9BVmdapZYEz3kuMa1PGG80eFUZNoKaCleZOjz3u2PtfaswaV/bUl8e/c9b732q+q7yvtZy9xx27wamVENZfo4OGMshWIYrKIPqGENQTwpMT2kkjF5/MqQMVDfvrluaQ9ptr7PPGoT9BU6xV1VMNWjnlU/8Eh4S2AVThYxNVBpsW+bwh19R8yjiKNqVCRTpUoogaHTTMGv/NCxfv37363euZe6dcP99pSjf96IrnnQue19eOv7Lq+8HtpjsvasdeY87LtjbnJe0+pzaElCgC3YeUyZBMhgrqSaNMhSUqrGbsTeTik+gqo/688eBiCLZl2+QJGhiyQc+Y9cnp2+5mlD48xXwN3zL9SmfAoPEBVfjYTRXyHUHgTeOnGykf6EZiXL2OSIUK6qzx8ynPbnbsBjeylzceEt7Iu//7rO+fTnu1S4n6Oy8fP795d6HjnJcacY0b3c3qGkIookSHSjQxSwcXWP+SetiIBiqWaUIiQwIZ5skJ5byRbNSvMYvXB7b0ofuNNrk1ozF8gz6Q1k6PwwAGjQ+owseeqhTTaTMlQOuezimDAhob6hoTXGO9F9LuK9mxa7nR67mR65zSZreVdp1KeBfYwCwTWEv4bvDupytj31o9fv+FTUMl5JcPjb9+yvtU1fspoWXOS3NDSI0JVqjgnO6e+nbatZ1RMvbQeWOBDLWeN2rFkKZmPrz+EENVRLnfaI9bMxpHwKDr+1i1C0zAoPEBVfjYWRVWyod6yUVt9ghV6eBKwncu6dlKu7czru20ayvt3ki61xNe04BTVAn53StX/3Uv+2bd9f6lpkrI+5c8b9Zd3zrjf+fOgn7Oi9YQssAGTiW8m2m3ttG+nmvK2JtlgiWKMG+7psJCYy6MUgzp1B9iZtkSz3VbFRnYE7QKuOrdI3b+eNsNUIWPXlWnlA/1kkvTKWI8XKKJWSawyPiXEkrNYYH1zzLBshZwqt55ucGNtLZLf0rw/M2s940z47+66DGUQX73wuY/n3Z9ffn454uuS5xvng0st2SlNjL21PPGKm1su0ajBgznjby+GKL5Napft2/pKwq5bqsiAzBrMGhbYP+Pt30AVfi0qmqX8oHGbrXWPUQqLFFh3X3xUIEiCmrAqXLnJe3eRZUQzlgJWUr41xPenYzrCWn07sLYx88byyDa6/sb3m+f9nxz1fXFyugXat63bs3jnDeifb3hvFEiG3fQ9f0h5patVkUqQqbbqoihEXswT/AwgEH3yFH5eNsBUIVPO1Vt7o631j3UW+PkZF6N+DAEnFaZ4CrrO5fybGUUx9xGlZCkd16tU7eWQd64mnl1cewf1lw/vDCuP2k0bLR/+/yF52dHHxfanjcq/z5QyyDovLGoTllUmkM6WrZWxZ4XU9kYKox0UchuMus+2DQYtC04Wh/v4QKq8Omsql3Eh3lmXnwqows41Xo/ZDJUoYk5JoBaL5ZZ/zLrW2D9c0ywTBFVXfSH1hBiOCRcTvjn2cBjkve5Ofc3V10/vuD+/Yttzxtv5k3arpsuoKOeEIooai+6Ua3WW7ZMKrMOUEvfqsSiWnbj1PGgqoh+skw00hePBoO2BUfx4z0sQBU+mKoOSDfVitRmZp2PK1HUuk7qUIkmChRRpEIlqlEG0RpCblUJJXcp7V5PKg0hreeNn7xy9Uefyr294f7wctP++r2HPG/WXf/ztP/Hd4xt16tqknVJ/zL4NUUU6VAJdXwzalcf698sxBYY/ywTKKGuPoyqiDpRd5qKKhN1LfdoMGhbcKQ/3gMGVOHTlaoDM/M6mDUqWCtlEHJC1JVB0KzbVbbRELJXmdKSS+eYQIUK1nQDFU3PGx8T3W3PG1/c/OfTrr9dOv75om7UQMtLb9llijB29WVce5WpzbQ6Obe5q6/dRcdsbDITn0rGlMHneo8eyhM8EDDoHnkAPt4DA1Th05uqjpl5eDtrcpLTDeWSyFBZawhh/ZvFGGoIqemuqMxhnzfekUdfXWx73vjTrfFvn/E9v+D/TCFwIRdsdeoyTVToIDpsbHT1oX19S1efvipivOhIhiUqzKOhurGpREzxaKXWMdQn2A4w6B55kD7e/QZU4XMYVU2ZeT2ZtdpbjTbXYdQQIpPhNYlpGB8ZkpSL5kSNCXR73nj/7tU3rmZeWxp747T7hxeMh43o9eZ539dWfU/P+68JgaWkMlbGZAJ6LdDo6ku6l1h/hW5URUwvOi4w/hoTLNChfHwiE5tilVqHlZtoMGhb8OB9vPsHqMLHKlWHMetkzFC2nlwQU6gegrbYvNoZ0sN5Y+sh4RYXfEQKPL/g//YZ30+2vK1+/cGl8X8973t12fvivPuvy2OPC8dul8bfujXfen2mxgRRbaRMm5REtjOuzbT7bHJ8ifUXaIKLT6RiU3RkOh45oXbgWQAYtC14sD/e1gKq8OmHqq7NOjLNNPt1TcygobdomiJy7d7OG69rc17Syka7QhvLGteEwF+U/S8v+t887/t/F0222J88o5SzP3z2wlOlUePkXLUk0nTRMadcdLycPX4+5Vlk/TIVzsQn2eg0qVWirfhtg0HbAud8vA8PqMKn36o6m7XWDdK8uT5REnNM6xYbTb/t8rxxO+MynDfqzwNNC9DLSeKG6H92zvv3a553Lng+vDz+py8by9k/3R7/9hnvi4v+60JgLWVeEkFb+Ou5kcvZ42eT4xUmyMUnEjFdlcOK3zAYtC1w5se7N0AVPoNUZWrWZn59UhY4g2XT0cYuO9nNeaN2Ab3GBEs0UaJD+nY61GBXarZsFHit7+p74fTMRy9d/MNXr/7bZ3I/2XK3brF/e6XNRceliZvcyNXs2IW0Z5YO8OREMjpFg0EfBjBofEAVPqBKT6SjX4t8PhppsmzDLpvBPm8s6K+fkCFJd/dEuZtuZtlV00NC3fWZz4ju2yXfi4v+79R9P9sxFrK1Dr/3nr6wxx27mhvdTLvnmSaDjj5IBh0p7N3VBTq3JkRrtH6rw5tNAYPGB1ThA6o6YPBrlFJt2GJHI72cN3JqPUQ5byQbN9El1a9bLbtEqV19KfdutjmlWu3q08rZaMdtetHxt1++4giDru/f3dvbV+L5YaKKbQBV+IAqfHhdNH6HkgjOeaO+eK0dNnLN/SGtll2g0DXCwFrCe06Nn0ZzXrQ8VeTOJbOSiNbh99ql9INf4kBjCSN1xaBhJqF9AFX4gCp8TFX1dt6oL17rt9iG/pBWy5aUzGulqw9NSlxmfPo8Va0qUjVcdMwfU14P/CFhJFLYu7tfj0TAoIctwQRQhQ+owudAVfjnjUbLbr/FbrVsbYIMqn6sy0yJaspTbXT76S466jv8rubGHvA2O81VB2nQvP2w58h3UIUPqMKnK1WC/iXwgsALfB69RPQS8hJ68ZwscLLAFQSuIOSKQq4o5EpiriRky0K2ImYrQqYqZmpipiakZ8X0nJieE1MLYmpRSi1KqfVybllKLkvJZSmxLCVWpMSqnFiV2FWJXZfZUzJzrkA9VIxeLZ28WZneK0/dLE/dKE/vlma2ivFTBWZBTNXETEnIyQInKgotQJZlfDs9kO4MGpWQm9ivww7aPoAqfEAVPodR1aF4jbXFbl8VmRXTHaoi2kVHrcNvkfXPM4EqEyxQIS4+kX6wr3prO2g4JLQPoAofUIWPtaoOPG/s3NKnVUUqYrZzVQRddEQdfuglkuE8NZGNTaRjU+yDHZakpzWQjwAABnxJREFUGfTMzEx9X9lPK5atM1/Dt0y/0hkwaHxAFT6gCp++qsLZYjdbtuLXBSHXaYutWjby6yzKGo1NpmNTiegU4+S40QgqXlj0PxoMGh9QhQ+owmfAqjCrIpKQx6qKxKYTUcM0rBNk5ER8xqmB/fV9rNoFJmDQ+IAqfEAVPkNXZWrZAp8/uCqic20qeoKKNKy5T2MJj4BBWwsYND6gCh9QhY/dVCGnFtD1GayqyEnDhG/1zTA09tCAQeMDqvABVfjYX1XnqojxFZnphzW3qjo8YNA9Yv8lax9AFT6gCp/OqiLtX0NU1S1g0D1yFJfssABV+IAqfJygCgy6R5ywOKwCVOEDqvBxgiow6B5xwuKwClCFD6jCxwmqwKB7xAmLwypAFT6gCh8nqAKD7hEnLA6rAFX4gCp8nKAKDLpHnLA4rAJU4QOq8HGCKjDoHnHC4rAKUIUPqMLHCarAoHvECYvDKkAVPqAKHyeoAoPuEScsDqsAVfiAKnycoAoMukecsDisAlThA6rwcYKqXgy6NdC5MWdlv254c+u3OrzZFDBofEAVPqAKH1CFz5ANOlLY2zcMUoGJKrYBVOEDqvABVfgMfweN0BwWZhLaB1CFD6jCB1ThYxuDVsemgEHbB1CFD6jCB1ThYwuDVm05MmPmwtrbwKAHDKjCB1ThA6rwsYVBo+oG+vMADJq3H4VCYdgSTABV+IAqfEAVPrIsd2unHej+kDBS2LvbNJAbDgntA6jCB1ThA6rwsVZV9watNdnpOu0MjXd6823tyWv9SmfAoPEBVfiAKnxAFT5DNmgctPNDS/42MGh8QBU+oAofUIXPETDo+j5W7QITMGh8QBU+oAofUIXPETBoawGDxgdU4QOq8AFV+IBB2wInLA6rAFX4gCp8nKAKDLpHnLA4rAJU4QOq8HGCKjDoHnHC4rAKUIUPqMLHCarAoHvECYvDKkAVPqAKHyeoAoPuEScsDqsAVfiAKnycoAoMukecsDisAlThA6rwcYIqMOgeccLisApQhQ+owscJqsCge8QJi8MqQBU+oAofJ6gCg+4RJywOqwBV+IAqfJygCgy6R5ywOKwCVOEDqvBxgiow6B5xwuKwClCFD6jCxwmqwKB7xAmLwypAFT6gCh8nqLLGoAt7d5WM5/36gd/q8GZTwKDxAVX4gCp8QBU+tjNomKhiH0AVPqAKH1CFj+0MGobG2gdQhQ+owgdU4QMGbQucsDisAlThA6rwcYIqMOgeccLisApQhQ+owscJqo6AQV+6dIm3H/Yc+Q6q8AFV+IAqfCRJOoydGjgCh4QAAADOxJo2u/q+0jiHdsR68zV8y/QrAAAAQCt9uagSQcWLCOyOAQAAeqcvBl3fh9oFAADAYTkCV70BAACcCRg0AACATQGDBgAAsClg0AAAADYFDBoAAMCmgEEDAADYFFsbdLfJ0f2g9VrN4ROuLSFS2LtrM1WRiP63FbGJKk3TPbU3f4iqItpjU28J4Ijpt7xWVXZY9q2qZmyw7FtV9XXZ29eg7XApPFLY20d3IzUxtrm8Xt+/u7e3f9cgb3iqtB/Z+IodVKl3pho/e3iqlL+/3rjGhSOm3/JMVQ192beqQgx32Zv8rvq87O1r0D3EKvUP7TdrSfyTBXrq+/f265G6slLtoKr1+qitVEXUPw1dlf4XhSNmMPJMb/8OfdkbVNlk2etV9XvZg0FjoT2GoX+8Z5R/ae/XI5Ghr9QmVY1Swr176lZ16KpmdP/vEm1zhq7qKBn0sJd9kxXaZtk3qerzsgeDPhht82WqavA6tZ8y9JWqB+1u0J/RvssOqpCYe/v1+v497f9ugkF3VqV8xQbL3vR3NfRlbzTofi57MOiDQb/3dqoG/fGOaDvCxr+2h65qpnmlDtdr9NjHATWOikHbYdkbjhBssuzbGXQ/nqB9DdoWh4SRwt7dplhUOxx8NcTU7XRI2PiJhaEfx2mgH4j+3KinDlWVsYI57ENCE1W2WfbmhZdhL/s2T7Avy96+Bj1jg+To5gKTIsM+CdfaSrWJqsYmR+eJw1XVtPNSP1TDUhVpKVhiiumrvFZVdlj2pr8r5VvDW/amqvq67G1t0AAAAE4GDBoAAMCmgEEDAADYFDBoAAAAmwIGDQAAYFPAoAEAAGwKGDQAAIBNAYMGAACwKWDQAAAANgUMGgAAwKaAQQMAANiUd99998/efvvtdwEAAACb8fbbb/9//DVNbwGJsuIAAAAASUVORK5CYII=" /><br />
<br />
Currently I have only limited time for my project and I also want to take a bit of a break from programming. So after my release of iCE 3 I decided to go back to an area where I'm not so involved. I thought it is time to do a little evaluation parameter tuning again. Here the computer does the stuff on its own.<br />
<br />
My idea was now to not tune the whole set but to keep the current values for material. Those are dominant terms (if the pawn value is badly wrong the eval is bad even if it has a good weight for the rook on a half open file). So if I keep the material values the other minor terms get more pressure and maybe they converge to a better set.<br />
<br />
As the only tuning method that worked for me so far is the population based incremental learning (a GA type of optimization) I used this one. I used a population size of 256 and let the tuner run for almost 1500 generations.<br />
<br />
After every 100 generations I took the current state of the tuning and let it run a small match (3000 games) against the base version.<br />
<br />
<img alt="" src="data:image/png;base64,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wV0vIHQEdhGABSOA2RiYB4FlAwtG9tOgnSQ7V6Zdd+Jd9y1byGXQpOXRgSAZCQkjYSEYEYJREmpdQjAqBCPCSJjQvfOeuTMBvAjAghHAbAzMg8CygQUjEA4Jd1HtBk0sjyaOTQfJSKjrClJrtiMbe+LOBPAiAAtGALMxMA8CywYWjLzoBk3stOiAQOwrMNK67BvpffbOnQngRQAWjABmY2AeBJYNLBgZAoOmCjhO3ePa7aLBngK7CMCCEcBsDMyDwLKBBSNDY9D7L7CLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMMIMemACuwjAghHAbAzMg8CygQUjzKAHJrCLACwYAczGwDwILBtYMLK/Br2w3qRq1A1CSCDg3NBsNupGIEAIMeoN65b1hW0fkBm0B4EFI4DZGJgHgWUDC0b20aADRn2d+rJRbzTXFwKBQGBh3fZl5z6tf2o26kag/+MRwgzak8CCEcBsDMyDwLKBBSMQQhyO+XYbtFFv0M11x9f9xAzag8CCEcBsDMyDwLKBBSMgDJpar7VNbgt6MIMegMCCEcBsDMyDwLKBBSMDNmgnoLy+YG2TA7Y9u+/m7KmZQQ9AYMEIYDYG5kFg2cCCkX3fQVMn7nn7+sJzG/SxY8c0qDIMY78RegssmAaYjYF5EFg2sGCapum6vnM73VbPc0gYMOqN3u5s/0vgeQ8JmZiYmJj66XkM2pVTR4POrYw6VwykIxWPiYmJicmb9rlQhYmJiYmpn5hBMzExMQEVM2gmJiYmoGIGzcTExARUzKCZmJiYgIoZNBMTExNQMYNmYmJiAipm0ExMTExAxQyaiYmJCaiYQTMxMTEBFTNoJiYmJqD66quv/uX3v//9V0xMTExMwPT73//+/wcukNvqCEp1XAAAAABJRU5ErkJggg==" /> <br />
<br />
After 100 generations the set was already only 50 ELO worse than the base version. This is pretty fast considering the fact that except from material all weights started from random values and converged to a set that gets about 3000 ELO on the CCRL scale. Over time the tuner was able to improve the set a bit further.<br />
<br />
In the final iteration the final set was at -6 ELO (16000 games). After I optimized the build for the new set (the base version was also optimized) the new set was at +3 ELO.<br />
<br />
In the tuning run the tuner played 750.000 games at very fast time controls. <br />
<br />
So it confirms the method works but it is not able to improve the weights any further significantly. However it is better than the Texel method for iCE. After minimizing the evaluation error using this method the engine lost 24 ELO.<br />
<br />
I think I will try some other methods in the future and hopefully can squeeze out a bit more than 3 ELO.<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com1tag:blogger.com,1999:blog-7885798824287821949.post-54952299348347734322016-02-09T08:48:00.002-08:002016-02-09T08:48:12.610-08:00District Chess Championship U8<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_CDOV55iR0HyaGXx8eVZOXZckspjHZ8xQ8l5GfY0Yttfgoh8IByII2cHO8CqVUBSe7XR0qVZYcI04Xoq4an8y4-tu7K7VkhPw-Cx58mvgOtNudVvMPppEX6R0xSO6SfBLJGsyqLXm4yc/s1600/20160209_154532.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_CDOV55iR0HyaGXx8eVZOXZckspjHZ8xQ8l5GfY0Yttfgoh8IByII2cHO8CqVUBSe7XR0qVZYcI04Xoq4an8y4-tu7K7VkhPw-Cx58mvgOtNudVvMPppEX6R0xSO6SfBLJGsyqLXm4yc/s400/20160209_154532.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Julian Petzke (2nd from left) among the runner ups (2nd places) in the District Chess Championship 2016 </td></tr>
</tbody></table>
<br />
Julian, my younger son, just played a good tounament and with 6 out of 7 points he finished 2nd. Only 1 buchholtz point was the distance to the 1st place. Anyway. Well done!<br />
<br />
Time control was 75 minutes for 40 moves and 15 minutes for the rest of the game. This is an eternity for such young kids. And probably halve the games were already finished after 30 minutes. Julian was among the ones that took their time which was probably a good part of his success. <br />
<br />
Now he is qualified for the U8 Chess championship of Saxony. <br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-68709477156512626042016-02-01T01:29:00.001-08:002016-02-01T01:29:09.786-08:00G 6 - International Gsei Web Tournament III ed.<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAKWVYKM6WCVTu9q7zOIWVf6AHY-klhAAhHC8enu6VxXX0RteXMRWnzk5toLu170NhMy2mfxa1sjJuAc-x_fIzJKjKH-EhRadlpoph59oTzpzl5W5Qy4hC1OIWn9RCCXVJ0tk14mANsXc/s1600/gsei.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAKWVYKM6WCVTu9q7zOIWVf6AHY-klhAAhHC8enu6VxXX0RteXMRWnzk5toLu170NhMy2mfxa1sjJuAc-x_fIzJKjKH-EhRadlpoph59oTzpzl5W5Qy4hC1OIWn9RCCXVJ0tk14mANsXc/s1600/gsei.png" /></a></div>
<br />
iCE played this January as guest engine in the <a href="http://www.g-sei.org/i-g-w-t/">G6 - International Gsei Web Tournament III ed</a>. It had a good start and only lost in the semi final against the later winner Chiron, a commercial Italian engine with 2:4. In the game for 3rd place iCE scored an incredible 6:0 victory against Senpai, the new engine by <a class="wiki_link" href="https://chessprogramming.wikispaces.com/Fabien+Letouzey">Fabien Letouzey.</a><br />
<br />
Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-61621225586420326762016-01-18T02:56:00.001-08:002016-01-18T02:56:44.981-08:00iCE wins division 2 in Grahams Amateur Tournament<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLh2KjIRyTMdrWVHbzsShCOO71-2nyOpKKU6FJB3iFozKrzGAUhC-460w9JIJrPm8JUV2vakNgpwzXb70Ce5nB28chg3-61Qbk7C03PgDUbWgM4CqT2WZysL64FXxo0qzkgeF8AYLVJ5E/s1600/d2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLh2KjIRyTMdrWVHbzsShCOO71-2nyOpKKU6FJB3iFozKrzGAUhC-460w9JIJrPm8JUV2vakNgpwzXb70Ce5nB28chg3-61Qbk7C03PgDUbWgM4CqT2WZysL64FXxo0qzkgeF8AYLVJ5E/s640/d2.png" width="640" /></a></div>
<br />
Five years ago early iCE started in the lowest divison 7 of this touranment. Now it is finally entering the top league. It was a long journey.<br />
<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-67775959957659453812016-01-07T01:15:00.000-08:002016-01-10T08:47:48.316-08:00iCE 3 ELO gain<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjiAaE6xNDbWnVB_AS_Q70zgo0UqN4n34MbFuRivA_akvH3z4xuM9c5OZngOZ30cg3qV3qwESRS5MvkuCW13KjFSQ_FmGPU9jXVwMqJ0kjDAKge71mtWIIgSbZuABhej26YZAGh_am0o0/s1600/elo.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjiAaE6xNDbWnVB_AS_Q70zgo0UqN4n34MbFuRivA_akvH3z4xuM9c5OZngOZ30cg3qV3qwESRS5MvkuCW13KjFSQ_FmGPU9jXVwMqJ0kjDAKge71mtWIIgSbZuABhej26YZAGh_am0o0/s1600/elo.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">iCE ELO gain (absolute values relate to the private ELO list of Lars Hallerström)</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<style>
.shadow {
-webkit-box-shadow: 6px 0px 20px #756F6F; /* Saf3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
-moz-box-shadow: 6px 0px 20px #756F6F; /* FF3.5 - 3.6 */
box-shadow: 6px 0px 20px #756F6F; /* Opera 10.5, IE9, FF4+, Chrome 6+, iOS 5 */
}
/* table */
table {
margin: 0 0 1em;
background: #FFF;
border-collapse: collapse;
border-top: 1px solid #336;
border-bottom: 0px solid #336;
border-left: 0px solid #336;
border-right: 0px solid #336;
}
/* caption = table title/heading */
caption {
text-align: left;
font: bold small-caps 120%/1.3 "trebuchet ms",Helvetica,Arial,Sans-Serif;
color: #336;
margin: .3em 0;
}
/* reduced font size to save space */
tr { font-size: 100%; }
/* tinted rows */
tr.odd {
background: #BBF;
}
tr.even {
background: #FFF;
}
td.odd {
background: #BBF;
}
/* table cells */
th {
font-weight: normal;
padding: .5em .7em;
text-align: center;
vertical-align: middle;
}
td {
font-weight: normal;
padding: .2em .9em;
text-align: left;
vertical-align: middle;
}
div.cb {
background-color: black;
color: white;
font-size: 80%;
text-align: center;
border-bottom: 1px solid black;
border-top: 1px solid black;
border-left: 1px solid black;
border-right: 1px solid black;
}
div.cw {
//background-color: white;
font-size: 80%;
text-align: center;
border-bottom: 1px solid black;
border-top: 1px solid black;
border-left: 1px solid black;
border-right: 1px solid black;
}
div.cf {
text-align: center;
font-size: 80%;
background-color: #FFFF66;
border-bottom: 1px solid black;
border-top: 1px solid black;
border-left: 1px solid black;
border-right: 1px solid black;
}
div.res {
font-weight: bold;
text-align: center;
font-size: 100%;
}
div.res-thin {
text-align: center;
font-size: 90%;
}
td.result {
font-weight: bold;
text-align: center;
font-size: 120%;
}
td.score {
font-weight: bold;
text-align: right;
font-size: 140%;
}
td.name {
text-align: center;
}
td.details {
font-weight: bold;
text-align: left;
font-size: 80%;
}
td.info {
color: #336;
text-align: left;
font-size: 80%;
}
/* color for column headings */
thead {
background: #99C;
white-space: nowrap;
}
</style> <br />
The first testing results are now available. I rely envy those guys for their hardware. Looks like iCE 3 gained something in the area of about 140 ELO. This number matches the early results from the CEGT tests so is pretty reliable, at least for TC of up to 5 minutes per game.<br />
<br />
Below is the attached cross table. Thank you, Lars, for running the test!<br />
<br />
<div align=center>
<table>
<caption>Tournament M5 Cross Table at Round 40</caption>
<tbody>
<thead><tr><th>Pos</th><th>NAME</th> <th>Rtg</th> <th>Fed</th> <th>Pts</th>
<th>Results</th>
<th>Pct</th>
<tr class=even>
<td>1</td><td>Ice 3.0 (64)</td><td>2980 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/de.png" alt="GER"></td><td class="score">607.5</td><td><div class="res-thin">+451 =313 -236</div></td><td><div class="res-thin">60,75%</div></td></tr>
<tr class=odd>
<td>2</td><td>Rybka 4.1 SSE42 (64-4cores)</td><td>3169 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/se.png" alt="SWE"></td><td class="score">30.0</td><td><div class="res-thin">+24 =12 -4</div></td><td><div class="res-thin">75,00%</div></td></tr>
<tr class=even>
<td>3</td><td>Critter 1.6a (64-4cores)</td><td>3199 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/sk.png" alt="SVK"></td><td class="score">29.0</td><td><div class="res-thin">+20 =18 -2</div></td><td><div class="res-thin">72,50%</div></td></tr>
<tr class=odd>
<td>4</td><td>Hannibal 1.5 (64-4cores)</td><td>3086 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/it.png" alt="ITA"></td><td class="score">24.5</td><td><div class="res-thin">+15 =19 -6</div></td><td><div class="res-thin">61,25%</div></td></tr>
<tr class=even>
<td>5</td><td>Texel 1.05 (64-4cores)</td><td>3066 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/se.png" alt="SWE"></td><td class="score">24.0</td><td><div class="res-thin">+17 =14 -9</div></td><td><div class="res-thin">60,00%</div></td></tr>
<tr class=odd>
<td>6</td><td>Chiron 2 (64-4cores)</td><td>3109 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/it.png" alt="ITA"></td><td class="score">23.0</td><td><div class="res-thin">+18 =10 -12</div></td><td><div class="res-thin">57,50%</div></td></tr>
<tr class=even>
<td>7</td><td>Spike 1.4 (4cores)</td><td></td><td><img class="shadow" height="20" width="30" src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/UN_flag.png/320px-UN_flag.png" alt=""></td><td class="score">21.5</td><td><div class="res-thin">+12 =19 -9</div></td><td><div class="res-thin">53,75%</div></td></tr>
<tr class=odd>
<td>8</td><td>Senpai 1.0 sse42 (64-4cores)</td><td>3052 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/fr.png" alt="FRA"></td><td class="score">20.5</td><td><div class="res-thin">+13 =15 -12</div></td><td><div class="res-thin">51,25%</div></td></tr>
<tr class=even>
<td>9</td><td>Gaviota 1.0 (64-4cores)</td><td>2951 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/ar.png" alt="ARG"></td><td class="score">19.5</td><td><div class="res-thin">+9 =21 -10</div></td><td><div class="res-thin">48,75%</div></td></tr>
<tr class=odd>
<td>10</td><td>Ex 7.88b (64-4cores)</td><td>2866 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/us.png" alt="USA"></td><td class="score">18.5</td><td><div class="res-thin">+9 =19 -12</div></td><td><div class="res-thin">46,25%</div></td></tr>
<tr class=even>
<td>11</td><td>Arasan 18.1 (64-4cores)</td><td>2914 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/us.png" alt="USA"></td><td class="score">17.5</td><td><div class="res-thin">+8 =19 -13</div></td><td><div class="res-thin">43,75%</div></td></tr>
<tr class=odd>
<td>12</td><td>SmarThink 1.80 (64)</td><td>2988 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/ru.png" alt="RUS"></td><td class="score">17.0</td><td><div class="res-thin">+10 =14 -16</div></td><td><div class="res-thin">42,50%</div></td></tr>
<tr class=even>
<td>13</td><td>BobCat 7.1 (64-4cores)</td><td>2800 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/nl.png" alt="NED"></td><td class="score">16.5</td><td><div class="res-thin">+9 =15 -16</div></td><td><div class="res-thin">41,25%</div></td></tr>
<tr class=odd>
<td></td><td>Spark 1.0 (64-4cores)</td><td>2981 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/nl.png" alt="NED"></td><td class="score">16.5</td><td><div class="res-thin">+10 =13 -17</div></td><td><div class="res-thin">41,25%</div></td></tr>
<tr class=even>
<td>14</td><td>Cheng 4.37 rc0 (64-4cores)</td><td>2887 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/cz.png" alt="CZE"></td><td class="score">15.0</td><td><div class="res-thin">+10 =10 -20</div></td><td><div class="res-thin">37,50%</div></td></tr>
<tr class=odd>
<td></td><td>Crafty 25.0 JA (64-4cores)</td><td>2892 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/us.png" alt="USA"></td><td class="score">15.0</td><td><div class="res-thin">+8 =14 -18</div></td><td><div class="res-thin">37,50%</div></td></tr>
<tr class=even>
<td>15</td><td>Scorpio 2.7.6 JA (64-4cores)</td><td>2887 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/et.png" alt="ETH"></td><td class="score">14.0</td><td><div class="res-thin">+8 =12 -20</div></td><td><div class="res-thin">35,00%</div></td></tr>
<tr class=odd>
<td>16</td><td>Sjeng WC2008 (64-4cores)</td><td>2912 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/be.png" alt="BEL"></td><td class="score">13.5</td><td><div class="res-thin">+8 =11 -21</div></td><td><div class="res-thin">33,75%</div></td></tr>
<tr class=even>
<td>17</td><td>Tornado 7 (64-4cores)</td><td>2944 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/de.png" alt="GER"></td><td class="score">10.5</td><td><div class="res-thin">+6 =9 -25</div></td><td><div class="res-thin">26,25%</div></td></tr>
<tr class=odd>
<td>18</td><td>Deuterium 14.01 (64)</td><td>2946 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/ph.png" alt="PHI"></td><td class="score">8.0</td><td><div class="res-thin">+5 =6 -29</div></td><td><div class="res-thin">20,00%</div></td></tr>
<tr class=even>
<td>19</td><td>Pedone 1.3 (64-4cores)</td><td>2699 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/it.png" alt="ITA"></td><td class="score">7.5</td><td><div class="res-thin">+5 =5 -30</div></td><td><div class="res-thin">18,75%</div></td></tr>
<tr class=odd>
<td>20</td><td>Rodent 1.7 (64)</td><td>2883 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/pl.png" alt="POL"></td><td class="score">7.0</td><td><div class="res-thin">+3 =8 -29</div></td><td><div class="res-thin">17,50%</div></td></tr>
<tr class=even>
<td>21</td><td>Octo 5190 (64-4cores)</td><td>2865 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/de.png" alt="GER"></td><td class="score">6.5</td><td><div class="res-thin">+3 =7 -30</div></td><td><div class="res-thin">16,25%</div></td></tr>
<tr class=odd>
<td></td><td>Ktulu 9</td><td></td><td><img class="shadow" height="20" width="30" src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/UN_flag.png/320px-UN_flag.png" alt=""></td><td class="score">6.5</td><td><div class="res-thin">+2 =9 -29</div></td><td><div class="res-thin">16,25%</div></td></tr>
<tr class=even>
<td>22</td><td>Fruit 2.3.1</td><td>2937 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/ro.png" alt="ROU"></td><td class="score">6.0</td><td><div class="res-thin">+2 =8 -30</div></td><td><div class="res-thin">15,00%</div></td></tr>
<tr class=odd>
<td>23</td><td>Bug2 1.9 (64-4cores)</td><td>2829 </td><td><img class="shadow" height="20" width="30" src="http://flags.fmcdn.net/data/flags/small/br.png" alt="BRA"></td><td class="score">5.0</td><td><div class="res-thin">+2 =6 -32</div></td><td><div class="res-thin">12,50%</div></td></tr>
<tr class=even><td> </td></tr>
<tr class=even><td class="details" colspan="2">Tournament start</td><td class="info" colspan="3">05 Jan 2016 00:00</td></tr>
<tr class=even><td class="details" colspan="2">Latest update</td><td class="info" colspan="3">10 Jan 2016 17:45</td></tr>
<tr class=even><td class="details" colspan="2">Site/ Country</td><td class="info" colspan="3">Skrutten644</td></tr>
<tr class=even><td class="details" colspan="2">Level</td><td class="info" colspan="3">300</td></tr>
</tbody></table>
</div>
Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-49011158487551742222016-01-03T23:23:00.000-08:002016-01-03T23:23:05.578-08:00iCE 3 gets released<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfkiTg-y9RAcv4X80DhbGLMPnqVUZtyHRKAnq9fb1bfLoVYQjMbsBPXhhsZUVSAWc15DyAx6BSemHFt0_a1qG1N7akZgNB-P2WlNKJ5idNGLa2rNH2uRjtam4kJM6JATx12hiVhVD0980/s1600/ice-3-chess.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfkiTg-y9RAcv4X80DhbGLMPnqVUZtyHRKAnq9fb1bfLoVYQjMbsBPXhhsZUVSAWc15DyAx6BSemHFt0_a1qG1N7akZgNB-P2WlNKJ5idNGLa2rNH2uRjtam4kJM6JATx12hiVhVD0980/s640/ice-3-chess.png" width="640" /></a></div>
<br />
I'm finally ready to release version 3 of my little chess engine project. It is still only single core as I haven't found the motivation to implement SMP. I'm still on the way to make the engine smarter not faster. So SMP is maybe something for the next release then.<br />
<br />
<span style="font-size: large;">What did change in v3</span><br />
<br />
<div id="chesstext">
<b>UCI Options Cleanup</b> The UCI options of iCE are restructured and renamed. Details can be found here: <a href="http://macechess.blogspot.de/2015/07/ice-3-uci-options.html">iCE 3 UCI Options</a></div>
<br />
<div id="chesstext">
<b>Multi PV support</b> iCE is now supporting Multi PV mode.</div>
<br />
<div id="chesstext">
<b>Bugfix</b> The ponder protocol implementation is fixed. In Shredder GUI it did not work.</div>
<br />
<div id="chesstext">
<b>Evaluation:</b> A bit of weight tuning was perfromed. However most changes failed or had only minor impact.</div>
<br />
<div id="chesstext">
<b>Search Changes:</b> iCE 2 added History
Heuristics, Late Move Pruning, Razoring and Counter Move Heuristics.
For iCE 3 I optimized the conditions a bit further to make smarter
pruning decisions.</div>
<br />
<div id="chesstext">
<b>Books:</b> I finally touched my book
code again. It was necessary as the books contained some errors coming
from changes to the internal move format. I also improved the book
building framework
to use perfromance data of
iCE in certain lines.</div>
<br />
<div id="chesstext">
<b>Time Management:</b> I changed the algorithm for time allocation to not use all available time on the last move before TC.</div>
<div id="chesstext">
<br /></div>
<div id="chesstext">
<span style="font-size: large;">What do you get</span> </div>
<div id="chesstext">
<br /></div>
<div id="chesstext">
I make 3 versions of iCE available</div>
<ul>
<li>ice3-x64-modern - This is the release you probably want to use. It makes use of some HW instructions found on recent CPU.</li>
<li>ice3-x64 - This is the fall back release if your HW doesn't support the instructions used in the modern compile</li>
<li>ice3-x32 - As the name suggests, if you still on a 32 bit platform like Windows XP use this one</li>
</ul>
The versions along with new books can be found at my download site<br />
<br />
<a href="http://www.fam-petzke.de/cp_download_en.shtml">http://www.fam-petzke.de/cp_download_en.shtml</a><br />
<br />
<span style="font-size: large;">How to use </span><br />
<br />
iCE is only a chess engine so it integrates into a graphical interface and communicates with it via a protocol. All interfaces that support the UCI (Universal Chess Interface) are usable. Among the available interfaces are<br />
<ul>
<li><a href="http://www.shredderchess.de/schach-download/demo-download/download-shredder-classic-4-windows.html">Shredder Classic GUI</a></li>
<li>Fritz GUI</li>
<li><a href="http://playwitharena.com/">Arena</a></li>
</ul>
The above interface are tested in at least some version, but others should work as well. Pick your favorite choice. <br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTQ5X4YHUjVoHyipH09EIvGo0-ZlekooobLUgtSitCFpzpPA7a3UaqW5xfYCx8UA0joeV_bodF24ifIZKpc5lZNoIZCXAF1-HWCfWrWubifUIKORw_eeZEidVv1s2JXaZRnRbZhUNAuHI/s1600/icevsshredder.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="465" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTQ5X4YHUjVoHyipH09EIvGo0-ZlekooobLUgtSitCFpzpPA7a3UaqW5xfYCx8UA0joeV_bodF24ifIZKpc5lZNoIZCXAF1-HWCfWrWubifUIKORw_eeZEidVv1s2JXaZRnRbZhUNAuHI/s640/icevsshredder.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">iCE 3 playing in the Shredder GUI</td></tr>
</tbody></table>
Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-4591230615972483612016-01-02T06:18:00.000-08:002016-01-02T06:18:01.866-08:00Short Algebraic Notation Madness<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidUojW22JoKbzzDe3rsKwPskBjTSTued8-Lv791RaKAuCixV-ifsorNFHAHqWjh1w38WA2TMijV3MfI8WifnFm3AVWm32yKlEw2KEXrA_PWGZijTU_Va5xnhOuRsQg4zaiEIdpXEek7kI/s1600/book.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidUojW22JoKbzzDe3rsKwPskBjTSTued8-Lv791RaKAuCixV-ifsorNFHAHqWjh1w38WA2TMijV3MfI8WifnFm3AVWm32yKlEw2KEXrA_PWGZijTU_Va5xnhOuRsQg4zaiEIdpXEek7kI/s640/book.png" width="640" /></a></div>
Chess games collections are usually stored in PGN and the moves are given in SAN (Short Algebraic Notation). This is meant to make it more readable for a human reader but for a human writer it is sometimes hard to follow the complicated rules especially if he writes the score sheet while playing a game.<br />
<br />
For me as a programmer the existence of SAN is also really annoying. LAN (long algebraic notation) would make life much easier. The problem with SAN is the handling of move ambiguity. As usually the source square of a move is not given it must be calculated using the current layout of the board (which piece of the given type can travel to the target square).<br />
<br />
So in order to translate SAN into a binary move object with (source and target square) a corresponding board class is needed which implements operations like get me all squares a bishop can travel to from source sq x. What makes it even more difficult is the rules for handling cases when more than one piece can travel to a certain square. Then file or rank of the source square are given, sometimes even both.<br />
<br />
But not enough. If two pieces can reach the target square from a source square then the source file or rank indicator rule is not applied if one of the pieces is pinned and cannot move.<br />
<br />
A lot of code is needed to handle all the special SAN cases and I estimate that a a fair number of club level written score sheets are not correct either.<br />
<br />
So why am I complaining. My just published new books contain some errors as I was not handling the "two pieces can reach the target square but one of them is pinned to the king" case correctly. I fixed my book code and I'm in the process of rebuilding the books now.<br />
<br />
So an update is coming soon.<br />
<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com3tag:blogger.com,1999:blog-7885798824287821949.post-67553389923787104702015-12-30T08:28:00.005-08:002015-12-30T08:28:59.380-08:00New books published<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXVtSC5lkJOSr6lPkMzo9x_y-f40RnefCfxkHOZbXMD1hA1zuNF4eWR0bYfMlj03LLt4-sNXal-ruv578f13Bf7uWOgqTpNY7yPw3dfLKMZFMj-98OxS-C5HBVAoBE6LBhESaQE9hgIoM/s1600/books.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXVtSC5lkJOSr6lPkMzo9x_y-f40RnefCfxkHOZbXMD1hA1zuNF4eWR0bYfMlj03LLt4-sNXal-ruv578f13Bf7uWOgqTpNY7yPw3dfLKMZFMj-98OxS-C5HBVAoBE6LBhESaQE9hgIoM/s1600/books.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">http://www.fam-petzke.de/cp_download_en.shtml</td></tr>
</tbody></table>
<br />
The mentioned new books for iCE version 1, 2 and the soon coming version 3 are now online. They can be downloaded from my <a href="http://www.fam-petzke.de/cp_download_en.shtml" target="_blank">website</a>.<br />
<br />
<br />
<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-25285102217366916212015-12-29T05:00:00.001-08:002015-12-29T05:00:26.731-08:00New books for iCEI finally extended my book building framework to include iCE performance data for certain lines. In the past the database just consisted of lines played by strong programs. Lines that were played successfully more often received a higher chance to be selected in game play.<br />
<br />
I now added win/draw/loss statistics that I collected when two similar versions of iCE played each other. For the starting position it now looks like this <br />
<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="color: #20124d;"><b>FEN: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1</b></span><br />EndGame Id: UNKNOWN<br /><br />Played moves :<br /><br />DataBase Content:</span><br /><span style="font-family: "Courier New",Courier,monospace;">No Move Prob Played Perf % Wins Draws Losses<br />------------------------------------------------------------------------<br /> 1 e2e4 44 38.031 51.59 25.021 41.387 22.208<br /> 2 d2d4 41 36.392 53.22 24.494 40.629 19.076<br /> 3 c2c4 8 7.283 53.06 8.104 13.541 6.388<br /> 4 g1f3 6 5.019 52.99 8.173 13.948 6.463<br /> 5 g2g3 1 487 51.69 989 1.543 874<br /> 6 b2b3 0 298 51.93 250 417 216<br /> 7 b2b4 0 281 45.18 18 39 26<br /> 8 f2f4 0 275 45.80 116 259 161<br /> 9 b1c3 0 201 50.78 105 182 99<br />10 c2c3 0 132 75.00 7 4 1<br />11 e2e3 0 124 56.00 25 34 16<br />12 g2g4 0 13 0.00 0 0 0<br />13 d2d3 0 12 56.82 7 11 4<br />14 a2a3 0 3 42.65 6 17 11<br />15 h2h3 0 2 0.00 0 0 0<br />16 f2f3 0 1 0.00 0 0 0<br />17 a2a4 0 1 0.00 0 0 0<br /><br />Book Content:<br /><br />No Move Prob<br />--------------------<br /> 1 e2e4 44<br /> 2 d2d4 41<br /> 3 c2c4 8<br /> 4 g1f3 6<br /> 5 g2g3 1</span><br />
<br />
When we dive into one line, eg the sicilian after 1. e4 c5 we come to<br />
<span style="color: #20124d;"><b><br /></b></span>
<span style="font-family: "Courier New",Courier,monospace;"><span style="color: #20124d;"><b>FEN: rnbqkbnr/pp1ppppp/8/2p5/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2</b></span><br />EndGame Id: UNKNOWN<br /><br />Played moves : e2e4 c7c5<br /><br />DataBase Content:<br /><br />No Move Prob Played Perf % Wins Draws Losses<br />------------------------------------------------------------------------<br /> 1 g1f3 86 12.764 51.21 9.042 14.326 8.279<br /> 2 b1c3 6 981 48.10 925 1.713 1.066<br /> 3 c2c3 6 935 52.21 678 1.295 566<br /> 4 g1e2 1 184 49.87 97 181 98<br /> 5 g2g3 1 88 45.18 27 49 38<br /> 6 f2f4 0 74 46.33 108 239 144<br /> 7 b2b3 0 71 46.18 63 116 83<br /> 8 d2d4 0 53 43.94 29 58 45<br /> 9 d2d3 0 51 46.33 92 157 119<br />10 c2c4 0 33 38.10 2 12 7<br />11 a2a3 0 17 44.64 8 9 11<br />12 b2b4 0 15 37.50 1 4 3<br />13 f1c4 0 10 25.00 0 1 1<br />14 b1a3 0 9 55.92 23 39 14<br /><br />Book Content:<br /><br />No Move Prob<br />--------------------<br /> 1 g1f3 93<br /> 2 c2c3 7</span><br />
<br />
The database shows that the move 2. Nc3 is a common variation but iCE scores less than 50% with it, which is a bad score for white. So this move is now no longer copied into the book. If however iCE is playing black and the opponent selects this move it still knows how to continue<br />
<span style="font-family: "Courier New",Courier,monospace;"><br /></span>
<span style="font-family: "Courier New",Courier,monospace;"><span style="color: #20124d;"><b>FEN: rnbqkbnr/pp1ppppp/8/2p5/4P3/2N5/PPPP1PPP/R1BQKBNR b KQkq - 1 2</b></span><br />EndGame Id: UNKNOWN<br /><br />Played moves : e2e4 c7c5 b1c3<br /><br />DataBase Content:<br /><br />No Move Prob Played Perf % Wins Draws Losses<br />------------------------------------------------------------------------<br /> 1 b8c6 65 566 51.30 555 862 505<br /> 2 d7d6 22 192 52.18 383 601 326<br /> 3 e7e6 9 77 52.51 145 253 119<br /> 4 a7a6 2 18 48.60 40 93 45<br /> 5 g7g6 2 17 50.00 18 37 18<br /> 6 b7b6 0 2 0.00 0 0 0<br /> 7 g8f6 0 1 0.00 0 0 0<br /><br />Book Content:<br /><br />No Move Prob<br />--------------------<br /> 1 b8c6 65<br /> 2 d7d6 22<br /> 3 e7e6 9<br /> 4 a7a6 2<br /> 5 g7g6 2</span><br />
<br />
I think it makes sense to build the books this way, it probably does make a difference ELO wise but anyway as a human I try to avoid lines I don't feel comfortably with also.<br />
<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-27701700219303051782015-12-14T06:53:00.000-08:002015-12-14T06:53:11.222-08:00Oh, very clever, Worf. Eat any good books lately? <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdsNfpDKciZC3FiBWSYoeq4PC4Y6W1K4djg_JKyaJx1NmDHE1SoV1EqzSxq8nZuF2Yl7p8sw6ooKawI965sN28AiG6WR7J_EP_vADTPgvKF92f6bIVkpoownWVEPIhpOFs_ZFqzz5RRdA/s1600/lolli.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdsNfpDKciZC3FiBWSYoeq4PC4Y6W1K4djg_JKyaJx1NmDHE1SoV1EqzSxq8nZuF2Yl7p8sw6ooKawI965sN28AiG6WR7J_EP_vADTPgvKF92f6bIVkpoownWVEPIhpOFs_ZFqzz5RRdA/s640/lolli.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Problematic position from the two knights defence - the book lists two correct moves again </td></tr>
</tbody></table>
<br />
As the YAT tournament revealed some problems with the old opening books of iCE I put opening books at the top of my todo list. The code is very old, more than 3 years and goes back to version 0.3. iCE was here available only as 32 bit program with an estimated strength of 2460 ELO.<br />
<br />
So it was time to modernize that anyway.<br />
<br />
I decided not only to fix the illegal moves (related to changes in en passent handling between version 0.3 and 2.0) but to rebuild the books. I also want to tailor the books towards iCE's playing style.<br />
<br />
What does this mean?<br />
<br />
A human chess player will play openings that lead to positions that he is comfortable with, like positions full of tactics if he is skilled tactical player or quiet ones if he is not. He will avoid openings were he struggles. The books of iCE don't handle that. The probability that a move is selected from the list of possible moves only depends on the probability that with this move a game played by strong engines later was won. It ignores the playing style of iCE as this information currently is just not present.<br />
<br />
I plan to extend the data structure of the book building framework to store move performance data of iCE and use this performance data in the book building process.<br />
<br />
<br />
I don't expect a huge impact on playing strength but it seems like the proper way to do it and is much more interesting than tuning values to death. <br />
And as holidays are coming I will find some time to do it, hopefully.<br />
<br /><br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-51367254266021449392015-12-07T04:10:00.000-08:002015-12-07T04:10:51.302-08:00Opening Book Struggle<img alt="" height="400" src="data:image/png;base64,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v/2N2xByx6ler+/vNw3TaTWa7h4yTNfe2tra1NykVjeqVA28DQn57jsy89+/8IJLQx19T5k3b15wcLATN61//dd/pWa+ddd+F4U6+ev2eOwsJbaX/hSJGT78fn/ivJQKEbMBAAAAMMP4Bewoa+w7mVJ3KtWUtD0yZtt6P7ATCXxvmysiBOupQjPGV9+E2hEhqKHsefPmXRWGGsqOiIj48ccf//KXv1DLfebZ56iMTTx8PPI3v3mamuA//uM/9h/Y/8033xz++vChrw999dXBL7/88vPPP9+/f/9nn366b9++PXv3frJ798cff7xz504fHx/yriV+q5zSIykZhTPWBVdvJbku1M3YnrIhaLOLQp38dXs8dpYS28v6Ka+ZZMeuPVIqVCBmAwAAAGBm8QvYUdbYezK5zpS001QeGbPfWrTYXed5Vu8Bti9CuCtmL1q81I4I4eD6X7lq9TdnErmzPXwyeslSP0fm/MofFzilR+iXxbqa9RsCXBfqZqwV//f311wU6uSv2+Oxs5TYXvrDGmeYd9/7QEqFCsRsAAAAAMwsJGafSFaeTKkjl45rPDFmu+skT6FQ/O2//9cVEcJdMVuhUNyMf2BrhLB7Wa8vfONgyCnxVffpwe+pW5ftwCk9Ql3ZPgP86le/Ss544opQ9+25pDVr1xPfWbPunTXr/N9Z5//O2tX+a1b7r3l79Ttvr35n1dv+K1etXrFq9YpVby9fucpvxaply1ctW75yqd+KpcuWL126fPESv8VLli1avPStRUvefGvxG28uWvjGW68vfPO119947fU3/v7a639/7bX/+8dri5b4uSjUyV+3x2NnKbG9M7ZrcPnf/3tVYoWI2QAAAACYSSwx2zyg7ZExW/66/dTfpRHii69DRfz869ADh0IOHAo5cDBk/1ff7f/qyGdfHvnmx4tHzsRKX4GHjt/af/jE1p37tmzf+8G2vZu3ffL+R7vf3/px8NZd727ZuWnzjqDN2wPf2xYQ/NHG4A83bNq6PmjLuqAP1gYIXrosvckpGYXfh534PuzEsbAToT8cD/3h+BAfcyIAACAASURBVNHvfzp67Mejx8JCjoV9Fxp25OgPR45+fyTk2Dchx7757tjhI6GHvz369TdHD33z3cHDR776+siXh7794uA3n391+MBXX+//4uv9nx/87PODn+7/at/+L/d+9sWeTz//ZN/+3Xv3f7zns12f7Nu5e9/lmwkIdZ6r29ckeoQlYjYAAAAAZhi/gB2ljb0nkpRU0kbMxgmrmG5fk+gR9IjMdfuaRI+wRMwGAAAAwAxDYvbxpFoqaWsGELNxwiqs29ckegQ9InPdvibRIywRswEAAAAwwzBidpLyRLJSMzCCmI0TVkHdvibRI+gRmev2NYkeYYmYDQAAAIAZxi9gR6m693hS7fGk2hNJtZyYndVFWdWOmI0TVkQI2en2NYkeQY/IXMRsAAAAAMww1Gj28eTa48mI2Thhtabb1yR6BD0ic92+JtEjLBGzAQAAADDDyD1mAwAAAA6CmA0AAACAmcQSs81JW0YxG0IIIZSPiNkAAAAAkIIpZifXUkm7BzEbQggh5IqYDQAAAAApIGZDCCGEkkTMBgAAAIAU/AJ2lJGYbU7aiNkQQgghj4jZAAAAAJACidknkpVU0mbF7G5KxGwIIYTeLGI2AAAAAKTgF7CjrLHvRHLd8WTl8WTl8SQlYjaEEELII2I2AAAAAKRAxewTycoTycrjyYjZHuPtvOnp6enpvNNurwTyebpmenp6errmiNsr8XI/y2w1H++ws7hbjz9qIWYDAAAAQAq0mE1EzPYYPf6EdZaLmC0LT97onJ6enm5NOOnuSuAXs+CohZgNAAAAAClwYnadBjHbQ/T4E9ZZLmK2LMRuIis9vjsQswEAAAAgBb+AHWVN3hWzTaNbNDw0CFEnrKZ/THvyyev7CVpGnxTddntJjnSK529d3E7xxIYwu6Mz8333l+Sktnh4j3juUQsxGwAAAABSMMXsFC+K2QxNQcIjz7+p89SaI+uosVPtjc/cXpjNHimanp6mRevTNZ4Zs009Yro+2bNHs5nXWntwWzx++JTeilnTHaR4Tzz8ImYDAAAAQAokZp9MqaOStlfEbFOus+DBJ6zm/OCxccL0hCqP/IKAIeubDg/OQtxO8dity4Mrpzl7Ni1md3hgQxCzAQAAACAFL4zZ5uEUMl7qged5rIawYrbnPerJg7uAofkSa3NDPLpdpuLZeGBYnQ0xexZtWojZAAAAAPAKGDE7xRtiNuvEzgPP88xiNFtmzp5NaxZ1iufuF3Rnz6aFmA0AAAAAr4CK2cQTKbM+ZjPzA3uYyJNknLB6ckPMD6WbLfdme26EEOuUdSdvdHpi6p4VMXv2bFoe3xDEbAAAAABIwRyz670mZjOfn9za6bnpdHY8eZinU6anPfZJ46YvcWZpp3jk4PbsiNmzZtNCzAYAAACAV+CNMRtCCD1XT750xeNFzAYAAACAFFgx+yRiNoQQylju9fxw5kTMBgAAAIAUTDE7tf5kaj0J24jZEEIoL1m/Qeh5PygwW0TMBgAAAIAU/AJ2lDf1nSIxO7X+ZEo9YjaEEELII2I2AAAAAKRgjtmqU6n1JGxrBkYRsyGEEEK2iNkAAAAAkAJiNoQQQihJxGwAAAAASIEWs1WmmK1HzIYQQgg5ImYDAAAAQAqmmJ2mOpVmStqI2RBCCCGPiNkAAAAAkIJLYjYAAAAwK5lGzAYAAACANUjMPm2J2SqHYjYAAAAwu0HMBgAAAIA4fgE7ypv7TTE7TXUqzbGYDSGEEHqn34WehBBCCCH8LvSklZgdkdVNWY2YDSGEEAoIAAAAAEDwC9hR0dx/Jq3hTJrqdJrqNGI2hBBCCCGEEEJot6aYnd5wJt2UtBGzIYQQQgghhBBCO2XE7PSGM2kNiNkQQgghhBBCCKGdsmN2OmI2hBBCCCGEEEJoryRmn0XMhhBCCCGEEEIIHdcUs++qz6arEbMhhBBCCCGEEEKH9AvYUdE8gJgNIYQQQgghhBA6QUvMvqs+i5gNIYQQQgghhBA6ol/AjoqWgXN3G8+ZkrbaCTH7EgAAADCrmZ7Gxx8AAAAA+DHF7HuN5+42kjFtrVNi9jQAAAAwS7kkHLPdXRoAAAAA3I9fwI5KF8Vst4/UQwghhK5QPGa7vTwIIYQQuldLzL7XeO5u47m7jYjZEEIIoZiI2RBCCCEUkcTs8yRm30PMhtAduuumEY+DdWDx2hrcBdpObztiNoQQQgiFNMXs+03n7zUhZkP7DQ09vmfPnu0yZs+ePaGhx92+oni9dOmS22vwCLlRxztr8Ob1L5+2I2ZDCCGEUEh2zL6HmA1t9+vDIT/++GN3d/ekjOnu7v7xxx+/PhzCKr7wSeu9B1m37yTOsPQavCquOKIcYp4cavDm9S+ftiNmQwghhFBIesw+j5gN7XP37t0ajWZ8fHxQxoyPj2s0mt27d7OKb23T9OgGXPuoQQ6I2fYph5gnhxq8ef3Lp+2I2RBCCCEU0i9gR2WL/vz9JpP3mhCzoc1u3759cnLS3TnaOpOTk9u3b2cV39qmcUpsljiofvtOImK23coh5smhBm9e//JpO2I2hBBCCIUkMfvC/WbEbGi/27dvn5iY0MueiYkJl8ZsKTkfMdsR5RDz5FCDN69/+bQdMRtCCCGEQvoF7Khs1V+433yBP2Znd1MiZkMhScwekD0ujdkTExP9TBat2st6ZWJiAjHbEeUQ8+RQgzevf/m0HTEbQgghhEL6BeyoatVfyGi+8KD5/IOm8/ebtINjJGb/QTc0EZHdQ1ndbvAL2CllpjjP8DZJzO6XPa6O2X00Nnx0nUh/ETHbQeUQ8+RQgzevf/m0HTEbQgghhEL6BeysatVfyGi58KDlwoPm8w+atYNjz/77H2Y8ZodPKxTT/uGm/w33n1YoTJpezJheoLC8qFBMH8hgzCHjgOCfWG/n+atoVQsOWF7xN8+EvEhfKP11q/oLTc+3xPCZ3CYyphf42/yu7du3j4+P9wqgUqnmz5+flZUlNIEQWVlZ8+fPV6lUtr5RiPHxcUkxWxXmqwhOsTFmj42NdZvZfricLvX62NiYLGN2ir9CQe19tI0hbIGC4Mu3T/H8NeOAr4L1YniwQhHsrG3YSswLDzYvndYc/lak+JOqeN9Cm9uCAyrbapCiyEJ516G5jwiWkizz4XRQRtgCvuJdu/6ltpq2PdBWBbsVvOvfNe2yr+12xGx/4c+LAwsEPvUWTGeYNgz+zy+ej0v+9W+eINzalLxSHw32vR1CCCH0Mi0x25S0W9wUs2keWMB3YpExvUAkxJLTEX/z2znR1N/813B/y8wlVUJb6IEFtJlwTnd4lys4W4H5sJaoDjdNOWNSK8omxWN2VFTUhg0bDh06ZGsqdk/MTiHn/TbH7KGhoXJrDA0NyTBmZxzw5UvCKf4KhcI/Ra2eDvdXKBaEZVj9Kwm0/ilqterAAipNpfg7LxeJxTxaAMs44GvObAKtCA9W+KcIvIVImuCCmC22UKF1qDqwgNYK3qaxelBuMZtWD70jeCoXX/+zIGabD7D04z/9U8/yuvnbYTINb8zm/7jkXbpjMdu+jwYIIYTQayUxOzyjNdyctN09mi10BiAes2nSTzvYMzf/m51s/Xn+nXFgWrGAttCM6QXCpybk/Ib9V1r4Z31fwDsf9hLV0xkHphccMA9x+5tOuSwrgTtEL2FKenNYU1qGUxbY1n0kZuv4aG9vX7hwYXx8/PLly9vb23U6XWZm5sKFC5ctW0YGsKKiosiUmZmZv/zlL+kvZmZmzp8/v76+3t/fn3qF/l6FQuHv76/T6err63/1q18pFIpf/epX9fX1vJXodDqrMTslWKFQ+Ial2DOaPSQN+cVsS1pj7pLBlrHW8GDekUbBv5KMZD1K2azUmEeVJ1BnxgFfdlSjT0kC8AJf3kTnhNFsgYUypa3DjLAF3MkkxHVLrCV/JS/6By9Q8CVYJ65/8ZZaOoKxndAVXP/S20UGwzmNpV0sILTmpbbdwZht+VDjfCoxJljA+RCxrFXhwCzw6cD+kOW9zovzeUH/aMgQfzvfJwuEEELohdJjNknabo7Zgt/HS4vZ/gq+wWpOzKafl5AlhpvfTj97OBBOWyhJsOazDdaZDf9yzeMS4fSzK6H5cJeong73t5wVkfnT87w/N8Nbm9LSfNrliPRxeEdGs7V8kGDc1ta2evXqyMhI8sovf/nLgwcParXayMjIv/zlL21tbXV1dfPnz8/MzCQTzJ8/v66ujvpHZGQkNT35h1arbWtrW7hwIXnL6tWryesHDx5cvXo1byVardalF41L1xUxmx4e2JcWi8sb4dTcXMScRuyvKf4KZnbiyeF2KjHmWWKnQJ3h/uwmM5JqRtgChe+BcP6BUyfGbJ54zLsOw4MVCt8FC1jhUNpoNr1/yVD5grAMxlC589c/j/wdYbkSnrEJiax/6e0il6MvCMsw7x3+4QIp3d62OytmUx8T7OnNE5Bbh7gfjiLD10KfDoyYTftUpdfA83lh7UXW98jcTxYIIYTQ2zTF7Iet4Q9bSdh2c8wWP+Gw3NUmfOE3dw6MoWbu1/8k35rPQiyX8PkzzkLITOhnJLT7UcWuwaNuxgtXi82Hu0TyIlUYYxT6APMEizkqwpqSf8TD6gmWLW7fvt1oNKr5+PTTTz/99FO1Wn3hwoXly5er1erk5OS5c+cWFxez/k1RXFz84osvFhcXU38tLi5evHhxdXX1xo0bk5OTWXMuLi6eO3cueZ16L28xRqPRFTHbjmeey2g0W2BA1ZJM+KYR/6uaFfzExmxtU1LMI/nKP0W4TtWBBTyD8+YhffMV2gLXJzstZjMWyiO1Dkkr+MIhFVM5gdlUfMqBBbQmsEPmDMZsy8XwZNHs0Ev7xkF0/UtvF/3WbmY4t+/aCqfHbOr4zz4CK9gxmFzWxA3VQh+XIp8O9JjNmMzaBWXcmM2/FIFPFgghhNDb9AvYWdU6eFE+MdvB0Wz6rPhf4TuHOLDAfBJDGwdm3xAuPBPx7+zJqQbjdmvOfPiXmDG9gHybwFwcOd1hrSjTOZDwlDMQs1UcKisrfXx8qNGqp5566smTJ4mJiXPmzHny5IlKpaL/W6VS+fn58U5ZWVn56quvXrt2bdGiRZWVleSNr776Kvn3kydPnnrqKWopv/jFLxITE7nFqFQqF8XsaU8ezWYEUcZ+ZPdoNv8ETrmf1nrMswxsCteZEbaAPtjOfIsl77k0ZrPq5FXw0neRjMqcPyuEuzFmmytXKBTkanCha+CtrH/p7WJslrQ7IxgPXbNhDTgtZtM0X1vB/AThjjZnTC9YMB0ueTTbyqcD83OHLhXmbY7Z1ASI2RBCCKF6Wk1idtvgxYdtconZjt+bLSVm8zyl3H863J9zHxql+eyBN2aLRVPq5jrmt/6s+fAvMZx5nfkBxnqQ4Wh2PQcShisqKsj/+vn5nTt3joTnwsJCMgH5d2Fh4VNPPXXu3Dn6i/Qp9+3b9/bbb+/bt6++vr6iouLVV19NTEwksy0sLHzxxRfJZOK4NGZPSkN292ZzIpzpUluH7s2WkMPt0lrM471enVMnef4Z/1tMT95iwBxwdkbM5tQp3jX0C6TNL1q5oICK8byDum6J2Yx2CT0aPcXK+pfeLoEJKAW/YJLcdjtjNvcAyzpEC1zUzfgc4X2jpWm2j2ZbmydGsyGEEEKbpGK2aUD7Yau7Yzbfo1NZJxxCb2d/tPPdQsb/pHHmA11Zrws9aTycbxqWVFvojeKfD2du5EJBqnW8I+1W780mLbKcIVk7GbI7ZhsMBiWHPXv2nDlzhvrfM2fOLFu2LD4+fs6cOQUFBUqlkvo368Vf//rX8fHxvC+S2e7Zs4e+oGXLlpFXzpw586c//amsrIxbjFKpNBgMrovZExMTejOsH/SiXpfj72YLPrqZ7xndrLtq+f7Kk+Jm6N5skpBZC+Kpk/b8M963WFkzDkdNvoUyB64565D1pPHgcGZ5Eh6Bxn6Lmy8a52ww4k2wp13se7Mt9+rTn5Emi5jN/YDgfuqFm76BZW2rIh+XNt2bbeXzQuQBH3z3ZiNmQwghhLSYbUra7o/ZapFfEOVcbkdJv/4tnDtPa7+bzfN8cjVPhPbnzkT4Wa+Mq+/o48y88+Es0fT8M+q9TnrSOPf8iX4yRP0Eq03dJxSz33rrLRKSCQUFBXPmzAkJCeHGbBKeydjVyy+//PLLL585c4b+17KyMjK3goIC+iXiCoViz5491Iu/+MUvSBR3S8zup7Hho+tE+otyjNlCTxpX0y/QNecfejKx8rvZlgg3Q08aZ1wMrBCp0/L8M6G30Jrv/JjNu1DaiuVdh7TbsGlZVOT3t+nFM+9MdtdotqVdtGF8gR8JF17/0tsl8KRx+kqz6UYGl8ZsNesqKs5RmpqA+/nF83GpFvx0YF8yFm7lvaw7yRWK6XApTxo/YHmLrdsYhBBCODv0C9hZ3TZ48VHbxUempK1z++9mQ7bMiO6cKZ0qidk1riQ2NnbdunUOzkRqzLYdErP7mCxatZf1iixjNvnxJGsXMJvlPqPbmirG06oc09GIO1tqcJee1HbnPRFAqO12xGwIIYQQeokkZkeQmP2o7eLDNsRs+ekJMXt4eLjKZezevfsXv/hFTEyMg/MZHh52XcweGxvrtsbY2JgMYzYZKZUUnjPCFgg/GVtgmwx21lC2Wh4xTw41uEtPajtiNoQQQgjdpzlmt0c8aiNhGzEb2iyJ2RWyx6Uxe0gasozZHqMcYp4cavDm9S+ftiNmQwghhFBIKzH7UnYPJWI2FHL79u1DQ0PlsmdoaMh1Mdu9P+jlJcoh5smhBm9e//JpO2I2hBBCCIUkMftSZvulR+2XHrVFIGZDO9y9e3dra6tOpyuVMTqdrrW1dffu3aziW9s0PboBx5O2rbGcXoNXxRVHlEPMk0MN3rz+5dN2xGwIIYQQCmmJ2eakjZgNbfbw4ZAffvihvb1d4oXTbqG9vf2HH344fDiEVXxT00hbT78j2jSUTUmvwaviiiPKIebJoQZvXv/yaTtiNoQQQgiF9AvYWd02dJnE7Mz2S5ntusFxxGxos4cOHdm9e/d2GbN79+5Dh464fUXx6lVxxRHlEPPkUIM3r3/5tB0xG0IIIYRC+gXsrG4fupzZcTmz4zJiNoRuEUhHDutNDjW4C7SdiJgNIYQQQhFNMTur43IWYjaEEEIoQcRsCCGEEIroF7CzhhWzhxCzIYQQQmERsyGEEEIoIonZV0wxu+NyZgc9Zo/bHbMBAACAWYxQzAYAAAAAYMTsrI7LWU6K2fY9exlCCCH0CIVittu/PocQQgih2zXF7OzOK1mdvDG72+6Y7a6n1AAAAAAuBTEbQgghhCJaYnZ25xVuzI7I6r6U1W13zD6bVO7ucyEAAABAkNHR0ba2tq6urt7e3n4aAwMD5L8Uer1+cHBQo9FMS4jZB78NgxBCCKHX6hews6Z9GDEbAACAN+K6mO3ulgEAAADAbTBidnbnlaxO3pjdjZgNAABg9uFtMXtwcNDdJQCZ9oI8q/I25NkL8qxKHE+s2RG8rb3uYnBwUPqq9gvYWdMxfDW766o5abNjNvFSVjdiNgAAgFkGYjaYeeTZC/KsytuQZy/IsypxPLFmR/C29roLe2J2TtfV7C7EbAAAAN4FYjaYeeTZC/KsytuQZy/IsypxPLFmR/C29roLW2N2reSYPYyYDQAAYDbhbTFbr9e7uwQg016QZ1Xehjx7QZ5VieOJNTuCt7XXXej1eumr2hKzc7rIpeP8MTsCMRsAAMCsQyhmDw0NGQyGoaEhxGzgdOTZC/KsytuQZy/IsypxPLFmR/C29roLvV4/MDAgcWJGzM7puprdhZgNAADAW+CN2YODgwaD4aWXXqInbcRs4Czk2QvyrMrbkGcvyLMqcTyxZkfwtva6Czti9rWc7ms53TKI2aowXwXBN0wl6a+W13jf4jZIXcEp1l90PinBlqVIWD+cqlKCzW8RrpW8yTxLVZivxPVvU220QsTmLm0ydjOlbzlOLEPirJjlWd0lOL2UEmzH/iC2QjjVmKYQWpClnfZsdYLvElicPQcB64vjrlvrrZKyX9B3AUn7mnD9AmUwKpe2Idm/R0utzdXzdwBuzCYZ++mnn/7P//zPNWvWUEl7dsRs6ecHwHXIsxfkWZW3Ic9ekGdV4nhizY7gbe11F+SGMokTm2J2rjlm53T1ui9mW84/U4LFzk4tf7WcT85QgpUGde7Me44+gzHb+vrhVEU7/xU7FTadvJv+ak/MtlYb41xauHulTcbfTClbjhPLkDgrDpL7jjG9jTlEfIUwO9jyf/yBh7mrSqtcYEqe9/HnNxsPAtYWx61QFeZLb5T9+wVrF7C+r1ldjJXKWe8SaLW9e7TU2lw9fwdgxWySsZ977rmFCxfu27cvNDT0m2++IUnbu2N2SjD/viyTj10PQ54nxDZWZWvvq8J8ZTUcIlNmxbbhXOw8zshzTboOb2uvuyAxe3JySsrE4jF7IiK7h7K63eAX6MqYTT/z5eZs8b86NjriVOjDZNRxgfdFaXDH8Glny/RmmycMDuaJEMIn/CJViWQRMj9fX3YZzqqN8xp/B0uaTLyZoluOE8sQn0Z4QFYss/M1ShXmq/D1Fd8bzEvz9RW65kK8O6gNgyTO4GBfeuVW0iNv5dL2X97FiVc+zbtuxRfHV6ElZYsitF9Y2QUE9jWBrUK4i8U2dStfQti4R9tcm6vn7wCsmG0wGFauXLlnz57w8PCYmJjU1NSHDx+mpKQYDAYnxWzWFzUznVT5v4anV6EK8+WpT7ROBCgbkT4YMj09zbr8RqEQ6xHGBSw2blkCVbGuiaF6GjHbJXjUtsGFsRAn9be5OTZuQTauSSmwTwWYB0s3I9Be3i3EMbx7VyZXvUmN2YE7azsM1/J6ruUSu+UTs5mbgthfnX0RoUOkBPuGqdjntLwvSoB24sm3AmivsUYYuQPpvJf2ilZldTTbNyws2DKMSL+O2NHapMRUyZOJNNPKluPEMkSnoa0rqdu2QKPIIT9FNEXasakwq7dMRGbAjkvio9kCO4iUzwD+xVlbUTzrVnxxfBWmBJu/lRCtUGi/EFvn3BUsUrl4F9u/qdu2R9tRm6vn7wC8o9lc7BvNnpiYHBkdZ5oQpNgUFKTwCa2h/jeOPY2rnJyc6urW8FRVfcyHKiN+k0JBlVdz1OfPR6ut1Vl9zMfnWNVMtcLTFewFQXlXPs+LcUEKBa0j4oIUiqAEh6uitoHxkdHxkfhN5kXYuuky5wNt6wUh3bttcKX3cs1RH0VQvOOrxdwcW44ztq9J6cWYG0g/bLpb4fa64CPGiw/4ZD13dHZNTk4ZR8asyonZPW6L2YxzQ87pufhfBV5zI7xnujbHbMbJN/89nbTzT/ZpKwPh9SM6XCpUrHl55CstnhTmWG1OjdmizZQwZu/ymG1z3wj93fw9q+QReqmbCmswg7kn8l0HbPUWCWblVgbAGZWJXHbMU7nwKLG1xTEqJP9D+8JL/Osn9n5hZZ3z7mv8W4WULubZaqwfemzZo+2pzdXzdwCX/qCX4EmP5fyMdg4Uv4naxZxxbip0itAjHqXigv58NP6YDzkFt5xOmb4dIDC/I6g56kPVbX6XgjUllNILQkqLUjwn/bRIYH9V7JjN+YaItgHQN132ZkCbT/UxH2wbtvWCkO7dNrgytpa4IJHtwTSBGe7XedS/BY4zTl6TkjV908T8EoGndbz7Rc1Rnz8fDSWHememX+H28mwhVaF/pq/DOOprX55WcI/8tnXELJOsZ3tiNtGNMduB0WzhF92GE2M2A9aZKfW/nMtTpV2VKlQVPVUIV2YKEJzhJcdrm8mYbS3lujxmC1dmdYPhRkHW2KmVRkndVIQGY7lf/TBTkMQQK1ifWGGSvmyTHi+tVGj1+MOaG3O/EFvnAvua8BHEahdz3yrhyGPzHm1jba6evwO4NGaPT0xyPnfjAxWb4kbG4oIUPkdrqP81VoX6KHxCqqhpqH8708nJqY7OLr6qxiqP+vgcrTGO1IT4bIozV2V+kZSkCIwbM5pK3RRHa4uxKtTHJ7SS2UDjyJhxpCbExyUN8WhFekHA+EDmmUBgHGs9jxlHxoxxmxRB8az3xgWZe83+qmpCfLhL5ytghLVt0LbnoHjLxmCZBkrvBSHdu21wpe/yzG2Ae1igVxW3iVM59W/e44zT16QNxgUpfHx8aKvU2kHPss3XhPgouH3hyi3H6hbCWc+MVvAd+W3piFkmWc/tHZ1TUzbE7Ot5muuWmD0xgzGbGsbwDVM5dG/2LI7ZghGAfoui1SFKW2K2hIvwactLCWbeLOmU2kRiKn2bkZJmBZtpdc04tQzWGqOna8ECrG7T9EZxv5OxHmPt6Q560OYbXmasaJu+3OEui68wkdFsK1/P8SIxZtPDsbQNhr5fCK9z4X1NykUF/HUI7NHiBx5b9mh7anP1/B3AXTHbfMpi/l/mebD0M2A7ThH4Tz1JAVWhPkHxxpGxuCCfkCp6GUJnYJyzrrhNrI5yRUM8WruiFDeXzmTMpseGmhAfzpk6o9N5tmfLfI5uUiBj29MLQrp32+BK/1KGVgPvYaEq1Ic1mYfEbPYaFjrocfcLl33zKBqzefY48/e8tO9S+VvBd+T3+pht22h2J4nZpqTdOzyTMZsB89ZJ2gWa1Gu8f2VPKAskxGyqYu4/mO/gDAzyXYvKO94oaf2wSuUbXJOSu5xdGyN/WMnI1ifjXfnCm5hLyrBMY4kMtLRKC8tiSVKkUcyXBZO0Hd3BqIS2hdBGIXkHG6V+60FbOqs6bmZmL8TKhsS3bnkXZ2XdWnK22AYjtF/wXw4gMJAtUjl/j4hXzjexg3u0HbW5ev4O4LaYbTrRCZ3JmD01NdXe0Slw6hkfqNgUF7eJdu4VynfKO2Y9ZrtgrGY2KdoLvEqLUjyjxDZcFiFcFTsYmM/Lad8QcbcT/pitUARt7VBWYwAAIABJREFUCsQ3L/b0gpDu3Ta4UltLTYiPwnwtjPhhwTTc6tzRbNvXpE1yYja3dbz7hctitnB7+WM27Xtecz38fYSYzbOebRrNVnYarudrqKTtxphNjx98wxrcvzLGOOSTsaedFrOnqVNS9rk5fWCNdrqqUDAfZSxh/fBURcdq/qenBefWRq9F5Kxa2mTsHuFZusBXEU4sgz0kx7pMlrUyrH91ZFfMtqM7WMGGioqki7mP/uZstFYrpy1deEhTYHFWNiS+dcuzOGsVMi9gEKhQ6PsI3nXOu69Zq5xvQdYqlzLIb+MebXNtrp6/A7g2Zo9PGIyjTOMDFUGxln8rFOR/K0N9FD4hlaMG1r+d6uTUVFt7J19VowZjdYiPQkGvwcfHxye0gqfs6hAfMpn5xcpQH2ajAuNMs60I8aH+DSX0Aq/0lS/2YmygQmHpstHYQIUiMN7hqqjuppZL+tdcQFyQZSlxQTzbszE+MDCeudkosFXY2AtCunfb4ErfWugdzXNYoB8cKkJ8fEKqDcb4QGqzobYl/uOM09ekTbLWMN9Bj3e/YO9NTlO4vbxbiGkbCAykFcl/6OY78tvSEbNMsp7b2jsnp6akTC+zmM1HCn6XE8xSVO7+TQTe2y8A8CrcGrNHK0J8FNT/VoZSl1u6KISIn3oyijHGByoUPiHVfGVzYjY5a1eYT9xpDVF469mY3b3AJ/fuSu6LpvVcQb+RWnKOEq2qmnNvNlUVs/cVCkVgUCDf9uwTUs0NYPTUBz1z2+DKjJFkGxA6LNBfMW8MliIt25LAccbJa9ImOdmV76DHt1+4JWbz7r8k/DM/a3hawXvkt6EjZpn2xezIfM11Yp5GZjFbFeaLkA2AE2EMqSNkA29ndHT0yZMn0dHRZ5mcO3eO/Jfi1q1bJSUlNsXssfGJYcOIfJycnGppbZdbVd6mPHtBnlV5m/LsBXlWNftqRnvlL1nPLa3tk5NTUqY3x2xtpExjNgAAAOAyRkdHo6Oj29vbjWbID2X39vZqtb0ajbanR9PZ2dXc3FJWVnHnzh2bYvbo2PjQsFE+Tk5ONbe0ya0qb1OevSDPqrxNefaCPKuafTWjvfKXrOfmlrbJySkp0yNmAwAA8F5GR0dPnz5NBezBwaEBvb6/f6CtraO5uVXd2Fxfry6vqMrOya+srD556iRiNpyVvSDPqrxNefaCPKuafTWjvfLXkZhNkjZiNgAAAG+BxGwygj00NDQwoO/r69fpetXq5rq6hprausrKmoLHRZmZuWVlFTbH7NHxwSGDfJycnGxqbpVbVd6mPHtBnlV5m/LsBXlWNftqRnvlL1nPTc2tk5OTUqanxWwiYjYAAACvgYrZw8PDev0gydg9Pdq6+obqamV5eVVxcXl+/pNHj3JKS8ttjdkjo2P6wWH5ODE52djUIreqvE159oI8q/I25dkL8qxq9tWM9spfsp4bm1omJielTG8lZl9CzAYAADB7QcyG6AXZVuVtyrMX5FnV7KsZ7ZW/dsbsAm1kAW/MzkHMBgAAMGtxacyuBgAAAIBXQmJ2VIE2ypy0EbMBAAB4Cy6N2RPyY3x83N0lAJn2gjyr8jbk2QvyrEocT6zZEbytve5ifHxc+qq2GrM1l3I0lxCzbYb8NjHtJ79Tgq3/UnFKsHN+yJh3PoxfS+avIyWYVrP1gkXaKPxb5xLKEJicM6HQrFRhvnyzFZsVo3ha9Zb3CJdpY4to7+FfS7RCHNsYhDYn3pZaq8ryd/Mc6auZmqXlzc7amAFwMS6N2QAAAADwThgXjRdoIwt4Y3YOYrZNcEOHJcAyoizf+xxOJqbYxxuzqRd5oyitNqsFc9pIm2NKsJVsLl4GuynBKfwJUGhWvDOVPCtWOywrwSktmp7mzaTMvzGCrEjsFcX6ZsAsVawq3lmyVxRjSQJLB0B+IGYDAAAAwOnQYzYZ00bMdhD6YCRPBBWLYSStBAf7csZmyZwY7xUYnFWF+Sp8fYVypuVFWno2zyk4OJhnSXwF87WRHsdFUqlwGaJDx3xVCM2KvO7rKzAva0GYmo9LWsS36oRLY3134ITNgLel4lWxqvH1ZZZBH82ntdvq0gGQB4jZAAAAAHA6EmO25lKOBjFbGinBvmEq9kCkDaPZnFRFvYUd+zgDz6Z8E5YiOJzLTHussV+yeCmj2XxtFKiODU8Z7OzIebfAKL/orBQ8vSA8K9652t8i9qA6o7f4C+POif2SczYDoXkLV8V5Q1gw7dsMntFsaUsHQCZQMZv8aLZO16vRaLu7e2pr6ysra0pLK548KcnNe5zxMAsxGwAAAAASYd+bLRazOxCzpSMQ8MRHC+lphRG5OO/lT32qMF+FIjhF7KppGrShbPodtsyvBsQKZraR9n/0vM7/Jho8Y+b8yZ7zmoR7s3nXk/VvOmhpXWLMFl+xnLfbE7OdsxnwtVS8Km4xqjBf8yg2N2ZLWzoAsoHE7OHhYZKxe3o0XV09HR1dlZXVpaXlT4pK8vMLs7LzHmRkImYDAAAAQCJ+gTuVncaoAh1itnPhiaASLxrnjVC0cW7u3OmLtHJzMmfUmjGtOSFJLFj4EWi+vr6ioZR1iTXrymNGZuZfOWKzshqzBTMz8xFfto9mc1esUIvsi9nO2Ax4WypaFc+sVWG+jOFqviF8xGzgIYyOjt64caO9vV2v1/f19et0Oq1Wp9Fo1erG+vqGunqVUllXU6Osqqp5/PjJ9evXEbMBAAAAYBXEbBfBSCxSx0WFRrMtNxuLjPdyYx1zCs6wNfdGX+bdzVYLFk5l0u9kNs/deiizGrOpKeyM2Zzrye24N1tgxfK/R/Te7JRgy7cPjG9EHNwMeFsqXpVQeb7cmC1l6QDIi9HR0fz8/Bs3bpw8dVLc69ev37t3DzEbAAAAAFahx2xr92YjZtuAhNFsbkZi35vNeofA9d3cPGdlNHuaMZrJOxhrx2g266JxoZgrYQiaVZFgYLZpNFt8VvzDu3xPGrfSIt4Vy12HgoGWNS5My6lO2gwEBrJ5qhJvqenKBb57s8WWDoDsGB0dbWtr6+rq6u3t7acxMDBA/kuh1+sHBwcRswEAAABgFVrMJiJmOwfhC6pFRon5njTOHVimD3HzDxhaj9k8NyEr6E8a5y3YWhstFfFed82eiDN3viXSJucf++WZlcBottis6E/apk/BbZK0Lw7ojyXjW6TYuDG7WbTQ7YTNQKil3Kqkf6GAmA08GcRsAAAAADgdxGwAZA153pi7qwBg1oKYDQAAAACng5gNAADAe0HMBgAAAIDT4cRsHSNmX87RXEbMBgAAMEtBzAYAAACA00HMBgAA4L0gZgMAAADA6SBmAwAA8F4QswEAAADgdPwCdyq7rMVsImI2AACAWQZiNgAAAACcDmI2AAAA7wUxGwAAAABOxxSzHwvE7Cu5WsqaDsNyxGwAAACzCMRsAAAAADid5YE7lV3GG4W9Nx4TdX2I2QAAALwExGwAAAAAOB1LzCY+7kXMBgAA4C0gZgMAAADA6SBmAwAA8F4QswEAAADgdBCzAQAAeC+I2QAAAABwOuyYXUiP2cOI2QAAAGYziNkAAAAAcDqI2QAAALwXxGwAAAAAOB3EbAAAAN4LYjYAAAAAnI61mJ2nvZKHmA0AAGB2gpgNAAAAAKeDmA0AAMB7QcwGAAAAgNNBzAYAAOC9IGYDAAAAwOlIi9l52it5iNkAAABmG6yYPTg4aOBjaGgIMRsAAAAAEkHMBgAA4L2wYrbBYHjllVfmz58/f/78559//i9/+UtwcHBoaKjBYEDMBgAAAIBEELMBAAB4L7yj2StXrtywYcO+ffuuX7/+8OFDjGYDAAAAwCYQswEAAHgv3HuzSdLevXv3zZs3i4qKSMbGvdkAAAAAkA5iNgAAAO+FxOzu7u6+vj7qaWdDQ0MGgyE6OprK2IjZAAAAAJAOYjYAAADvhcRsrVbb39+vpzE8PGw0GoeHh6lXBgcHh4aGELMBAAAAYBXEbAAAAN4Lidl9fX0kSIswNDSEmA0AAAAAKYjG7CHEbAAAALMZErMHBga4oZqK1nQQswEAAABgFWsxOxcxGwAAwKyFxGxuoh4eHib/ZYGYDQAAAACrIGYDAADwXkjM5sZpIRCzAQAAAGAVCTE7FzEbAADA7ITEbI0tTEuL2RBCCCH0Wq3E7Mu5Gipp2xGzAQAAgNmH1ZgNIYQQQm/WesymkratMRtCCCGcrSJmQwghhFBISTGbJG3pMRsAAACY9eDjDwAAAAC8uCRmQwghhBBCCCGE3qnUmH05V4OYDSGEEEIIIYQQimtDzK5GzIYQQgghhBBCCEVFzIYQQgghhBBCCJ0mYjaEEEIIIYQQQug0EbMhhBBCCCGEEEKnKRyzn/+Dbnjicp6WsrrDsDxol9srhhBCCCGEEEIIZevyoF08Mft5c8y+kqelrEHMhhBCCCGEEEIIRV0etKuuy3izsJdSMGaXthiOnru5PGgXhNBi4M7lgTv9iAE7lm3ctmT9R0vWfbh43dbFa4lblqzb6rdx24rAHave3bU6eLf/+3vWbN679oN967Z8anIrtNctn679YN+azXvXbN7zznufrH5319tBO1YGbFux8cPlGz5cvmGr3/qtfuu2LF27ecma95e8E7zYP3jR6ncXrd701upNb70d9OaqwDdWBixcuXHhio0LV2x4ffmG15dveH3FxoUrA958O+it1Zve8n+XuMhk8CL/4MXvBC/yf/et1UFvrgpcuDLANLF/8OI17y9dt2V5wEcrg3aufm/3O5v3rtm8d80He9d+sG/NB6TC3auDP1797q63N+1cFbRjZdD2lYHbVgR8tHwjKXXL0nWbl6x5f/E7pqUsXvPekjXvL1m7ecna95esfX/JmvfN/7t5ybrNS9Z9sJTpsnVblq2n+8GydR8sXbd5ydr3l6x5b8ma95eu/8Bvw9blAdtWBm1fGbRz1aadbwfvWh38MamKFLYycPuKgI/81m9lzmrL0nUfmFYjrYyl67f4bfhwRcC2VUE73353F3F18K633921apOpgcsDPvTbsHXZ+i1L1m1esnbz0nUfLFu/ZdmGrX4bP/Tb+OHyjR8tD/hoRcBHKwK2EVcGblsZuH1l4PaVQdtXBu1YGbRjldmVppW2fWXgtpVk+o3byNJXv/ux/3ufrNm8l+xca7FbQQih17rl07Vm12ze6//+J28H7165aefywO3LNny0ZN3Wt9ZsfuudzW+t2bxozZZFa7cuXvfhkvUfLdu4zS9gBzmjI2d37j/JhJ7s9+dvVbRLi9l3qwdKWww1HZTGmg5jTaewHfZpqLZLS0lQ2nq2Sfs6xYrtEh12hrwbDGNLrnVA81oarm4bqmzVVzQPlDf3lzf1lzf1lTf1VTT3V7fplR3D9d1GVc9og3asUTfR1DvZ3DfV3DfV3DfZ5KC9E1Js5FXHdZylWjeu1vI6Rmyw4qgkNQxVfJr+qh0lczYtnXq9e0TVZajrGFK265VtA7VtA7WtA7Wt/TWtfdUtvdXNuqombWWjprJRU6HuqVB3lzd0l6k6y1SdpfUdpXXtJXXtJcr2YmVbSV17aX1nuaq7Qt1T0aipbNRUNnFs7Klo6C5XdZXWd5SpOssbuisaNVXNuprWfmXHoKrb0Kgda+qdaOqbaO6baOmfbOmbbO6baOqdaNKNN2nHGrWjas2IWmNs6DGouobrOwfrOvTK9v6a1j5TnU3aqmZtdbOuuqW3mtRP2dpX3dpXw7G2td9iW39tW7+yrb+2rb+2ta+mlbyxt7atX9mhr+scrO8aVnUbVN2Ghh4jw26DqmuorkOvbBugz7DGNBNddbO2miqspa+mtV/Zrq/rHFJ1G1Q9RlWPQdVjaOgxqHoMqm5DfddwfedQXYde2T5Q09Zvrry/tq2/tl2v7NArO/R1HYN1nUN1nUP1nUP1XcNEUpuq26DqNpolMzTUdw7XdQ4pOwaVHXplu762TV9Ldq4ug6pnlGwSjbrxRp3ALsCzwYvI2RGEJHuElGkE5dl31BZNMyFNM0k1rW+CHAqa+yab+6aa+6dabLdVxAFn2z/Vyimgma7p2DjV5GKbxe2XbB+rZvYhmjreqnUT1rYNq0fUMZEjp+Dxs0fIEXHru41CqrqN3OlJAWrtWKN2rFE33qQbJ1tpc99Ec99kS98kY5Nz+qbF2cxmTKE9q9m0Y0429ZkPROR4Yvr0tPSjtZ4aVfXwfzKyPyIlKvhxLGULtKLpqMWr+HHSihPi0g/gat2EWjuh1k40aMbqe0aUXYaajqHqNn1Fc39Zo65EpSlWaYpVmpIGbalaV9rYV97UX9EyUNmqr2obrGobIjrpFNQ2q9qHqQIctJrVhI5h5gmwoZbYaaBOaJVW7fIA6+RhRbvxoXKQHrN1JGa/+PIrp8OvJJb105M2y6t5OpP5wuYJekXEXO1l272SqxWbJ+RRsHMZ5mppPaKRZI5Vey4Rs6XYHSHFrO6IrC6aptcvWey5nNNzOafncq7mSq7mSi7ZjIm6q/m6a7Z4vaD3ekEv+ffVPO3VPM3lnO6IzI4LGa1n7zWdTlefTms4naY6nVZ/7m7DpUetkXndt4t6Y0v18RXDSdUjqcrx9PrJ9PrJ9PqJNEmO81s3nlo3nlo3lqocSxFzNKV2NKV2NJntSHLtSHLNSBJDY1I1w8RqQ2K1IbGKbULVcELVcELlcHzlkKAVQ/EVg3FWLR+MK9dTxlKW6WPLBmLLBmLL9LFl+lgyQcVgfMVgfMVQQsVQXPlgXNlAXGl/bEnvncKeW3kdUVktkZlN1x81XXvUeO2h+mqG6sr9+kv3aiPSqi+mVoWnVFxILj+fVHYuqeRMQtGpuMJTMQUn7+SfiM7/6Xbej7dyf7qdfyq28GxiyYXUiovpVRfTqy+mV1+8Wx1xtzoinVh1Ma3yfHLZ2YTi03FPTscVnUsqDU+runS/7lpm4838ztgSXVLVcKpyNL1u7K5q/H7D5P2GyXuq8bv1Y+l1Y2nKkdQaY2r1cErVUFL5QHyJNqaw63Ze242cpuuPGi7fV15Mq7qYXnnpbs3l+8orD1VXHzVcfdhw9aHK5KOGa4/U1zIbidcfqdlmNkZmNkZmNUVmN0VmNUZmqq8/ariaUX/toSoyq+lGbuutxx3Rhd13nvTEFGlii7VxJbq4El18iS6+RBdXpLlT2HkzrzUyqynykfr6o4brDxuuPWy4mlF/5YHy8v2aS3erL92tunSv5vJ95eUH9VcfqaNyWm7ld9x50hNbrKWMKdbeKeq5U9gd/bjzVn77jdyW61lNVx81XH3UcD2rMTK7JSq37WZ+x62CrujH3XcKu+8U9sQ80cQU62KKdbElvXElffFl/Qnl+sQKiwnlA7ElvXcKNbfzu27mddzIaYvMbr3+qOV6VuvNvK7oJ9rYsoGEiqHEquHkamNK7ahpm1eOUht/inlrF5GxI1RzdwQRDWaFp6kyJIhbORzPZ0LlcALZ6aoNSdXGpBpjUo0xuWYkuXY0RTmaqhxLrRtLqxtPqx9PV03cVU3eVU3ebZi8R/O+ekqKD3httNkMjowJzHMmC71HbJi62zB1t2EqnaiaSldNpbnYdCk2SFA1la6apExTTabVT6bVT6TWT6TWjacox5KVY8m1o2S7SqweYW0YwtsAOX6yFTlyWo6fliPnQEzZQEypkP2Ud0r6uEYX94p4p7j3TkkvmTKmpC+mtD+2rD+ufCC+Qp9QOZRUNZxcY0ipNaYqR9LMx8N7qol7DRP3Gybvqyft3sAkKbQ9u0zuDkX2vruqifT68fT68bS6sVTlaErtSHKNManakEB9Ppo7UUJ/DcSYu5Wp6fMxlrMxCCj4Wcy7yfFo+ogXO2SJKHosFXEksUZM89F7NKl6NLF6NLFqJKFqJK58OLqkP+qx9mpuZ8SjlnN3G04k1/wQW37sTtn3seVh8VU/JtQcT647ldZw9l7T+YzW8Eft4Y86LmZ2XszsZJ5VzpwXs7ouZnaRGngNf9QhImviiKzOiKyuS9ndl7O7L+d0X87puZLTcyVXczVPe42Yr72Wr7teoLte0Btp1cdiRjnsDZaF9nhTlqZXDZwOv/Liy68oVvqv/+0Lryi7jOIBzHrSFo7ZoknbnpiNpO2qmG0O206N2ZrLORrJMbvnUnaP7THbkrQjWDE7h8RsetLW2Zy0hWP2uXvNZ+42So7Zk+mqCWlhWyBp14+n1o1bi9mmpM2J2aN8MVsgaXNitilpVw4niMTsSs55oWDMZp8vsk4WyckEdYoQXzEYXz4UX6Y3xezi3ujCnlv5nVHZrZFZzZFZzZGZzdczm649bLz6sOHKA9Xl+3WX7tVeultz6W5NRHr1xbTq8NTKC8nl55JLzyaVnEksOZNQfDq+6ExCyfmU8vD06kv36y4/qL+SwePlB3UR92oj0qvCUyvCUysj7tVeyVBdy2yMym2LfqKJL+tPrjak1Y3erR+/p5ogZ5P3GybvN0zcU03cNeXt0TTlSGr1cFJ5f3yJ9k5h1628VlPSflB3+b7yaobqWqY6Mrs5Kscs9e/clhu5rTdyW2/ktkTltERlt0RlN0dlN0dmN0dmt0Rmt0TltNzIbbmZ13ozzzRNZHZzVE7LzbzW24877hR2xxRpYlkZu7Q3vrQ3rlgXU9h9u6D9Rm5LVHZzZFZTZFZTZGbj9Ufqaw9VJGxfua+8klF/9VHDtczGyJzmm/nt0Y+7Yoq1cSW6WJPa2BJtbLE2pkgTU9Rzp7D7dkHnzbxWUvzN3Lab+R23C7vvPNHEFGliirSxJb1xpX3xZf0JZf0J5QOJFfrEisGkquHkakNKjTGlxphSY0ipNiRXDcWXDcQW6aIf99wq6LyZ1xGV0x6Z1RqV3XaroPtOkS6uTJ9QMZRUZRCO2bYmbfZeYCVsm5OwyGmiAzHbkrQTSSU1xuTakRRm0k6vn0hXTdwlYdsSs6fuORKzbQ9CVmJ2IzuW0GP2DCdt62FbSszmT9rmmE2Sdu2oUNLmbgYJ9KTNF7atHzlNB0+ryY0es/mStmjMNiftPmbSHogr18dXDCaakrYxpXbElLTrqaQ9yUjargjbMx6zeZK2OWbfVU3cZSbtpBpjYtVwQuVQfMWg6ZtoU6/ZnbQHLN9ES4nZAklbasy2hO2ZjNlWkjbtS1LPjtnmpC0Ys8WT9sVMbtLuupTNTNq5PVeppJ2vvZavvS4xaYvGbMeTNjtmz6Kkreoe+e0Lr/z3//5DEfTeh889/4ez4VfyGoasBjCxpI2YLWtdFrOlhW2bYrbUYW2xMW3TEDpjTNvumE2TN2afSVdLjtmT6SpnjGl7dMwWGtPmj9m0E4VyErMHTDG7oPNmTltUdsuN7JYb2S1R2a1R2S2R2SR1N13PbLye2XgtU33tkfrqo4arD1VXTOO0tZfu1Ubcrb2YXhtxV3n5Qf21RyTitkTltNzIaTXbQozKbo7Marz2SH01Q3X1oep6VlNUTuvN/I7owp64kt7EysHU2pH0+rG75GyScQY2eb9h8l7DBBncTlOOpFQNJZb3mca089tv5rREZjdGZjVG5TTfzGu7nd8RXdB522TH7YKO6ILO6MddNE2v3y7ouFXQfqug/VZBx+3HHdGFnXcKu+4UdkUXdkY/7rhd0EEF7DhzqI4v7U0oI/YllPcllPcnlPXGFWtjCrujH3fezm+/ld92M6+NyupRZHg8qzEqu/lGbsvNvLZb+R13CrtjirVxpb0JZX3xJntNlvbGl+riSrQkbN8q6LxV0Bld2H2nSBtboosr7Y0r7Y83RevBpMqhJHJSXm1IqTGk1IykKkfTlGNpytE05WhqjTG5ajihXB9X0nunsOd2Qfet/K6buZ1ROe03cjujCzUxxb3x5YOJVYakKmNyjTG5lh6t7Y7Z/GPagkmbOoMUPom0I2YnsGI2GdMmo9k1I8m1I6aYTUvajIxtCrGSxrTFIoRjMVtoTFssaavkMaYtMWYzkzaJ2UTumDZ3QNtzx7QtMbu4905Jb0xpX2xpf1zZQDyVtKtpY9p1o+n1Y/SYTZw1Y9q8MZtK2tSYNjWgnVhlMIftIVPSltJfTojZThrTtjdsOxCzpY1pV4/M+pgtfUw7wtwQS9LOJklbczVPdmPazorZckvahY3DZ8OvPPf8H95askLx6RffrNnw7lO//s3Z8CvKLmNSuYSrx3HpuKfqskvHrSdtmy4ddzxmsy8dp64et/vScfnEbOlJe/ZcOk5idpk+jpyUFPdFF2puFXTdyGuPymm7kdt2M7f9Zl77zdyOm3ntN/M6buZ33Mpvv5XfcSu/41Zex828jpt57Tdy227ktkbltpJEbR71bb9V0Hn7cXd0YTe5vpoYY/bOk+7ox123CzrJ3KIfd5GrpuNL+xIrBlOqjWl1o3dV4+ZrIznnYdTIdv1Yao0xpXKQJO3YIs2dwi4yz9uPu+486Ykp0sYW62KLdbRLsnWxJToyCh1brIst0sYWaWiF9cSQq8GLNHHFWmJssWnsOr5El1DWm1Den1gxwLByIKlSn1SpT6ocSCjviy/tjSvWxlLzLOymxfV2EvXvFHbHPOmJKdLGlegSyvtoc9AnVTBMLB9IKOsnQ+UkXceX9yeWDySZBruGkquGUqqGU6oNqTXGlJqR1NrRNOVounIsvW48vX48vY5caT+aWmNMqhyML+2PLdLeKeyJfmwK27cLuu8U6cgV40nVhqRqY0rNSErtaKpyNFXpkkvHRa8ep5Kwqy4dTxC4dJyE7bS6Mcal4yrnXTrujLDNm3+sJu3Zdum4ZUx7RmO2aHjrF0/a1ge0zVePcy4dH0ysIkmbjGmPpteNkct8TIfHBhfHbLcnbdql4yRpp9WPpyrpSXs4oXKIDGubLx3Xe8yl4+4Z07YSsxNNMXvEo2N2hEsvHc/uvpzTPesvHZdJ0k6vGlB1j5wNv/LUr3/zj4WLgt77UPHN0eMf7/tyzYZ3n3u1DBgOAAAClElEQVT+D7994ZVTF67ohieE7HVMkTnrhuxVfLbQbu3uEac57rD8G4yDm3HvsKk27eCYVj+m0Y9SavWjusGx3uHxPsNEv2Gy3zg1MDKlH/lZP+psR37Wj/w8YL9TkjSK2W/FSZdoMNlnmOgbnugbHudzot9gk5P9xskBYc3Lneg3TNCmZHfuIMNps6ZXzL02ZZktswyRAmiVsIsfMFp7I1/P6i39y33LxABr/TD+anq7kObNgzE9tVCzP1vk27D1ZBOlr3bDRJ+5sziztbo7SNvaXaToTiS0NzH+yp7nzwMiK9DktN6yBcpR/SyR/+BsfQucsSOqwQ4n+kQ1HTPpmhdH3zf1nM8+zrFxVir0Yc3oeps7y0WfpyatbnvWtX6Um5Ejbb9xqs8w2Ts80Ts0rhsc0+pHNQMjPf3G7n5jd7+xp9/YMzDSMzCi0Y9q9WPawTHt4Lh20PFTzRmSVMurxPPh3iEnnAA73b5Z5KkLV377wivPPf+HfyxcFPDuBx/u2Kv48XTEwSM/fLzvy3fWBS1auuLZ5/8AIeTx3+m+/MxvX37mty89Pf+lp+e/SPfZ37703L+/POd3f5j7u1fm/v6P815YMO+FBfNf/H+gM1ww/4UFZJXO+/0f5/7+lbm/e2Xu7/4wh8+5v3uFx9+bZfzvH2113u//OO8FU+fyOp/4ollG2VTlr/BU+3thaQ2ZY5a/mZZZCRRvlm8C7qKZb3yBV9LAP857gTb/FySspRcXiHYxrSRzi6h58r0dQgih92n+4Jj7+z/O+d0rzz1PztNeenr+i7+Z98Jv5v7+N/Ne+M28F56e9+LT81985rcvPfPbl5/995cZ53VuP8mEs8K//s+rbyzyCwze+uGOvXv2H/r/AZ0rVoswJ2XaAAAAAElFTkSuQmCC" width="640" /><br />
<br />
In Ed Schroders YAT tournament iCE experienced an unexpected program termination, which is the euphemistic way of saying it damn crashed. First I though it might be related to my implementation of the permanent brain protocol which contains a known bug in version 2 release 2240. But it wasn't.<br />
<br />
iCE did crash while playing book moves in the Two knights defence, which is an opening that I know to a certain extent as I recently taught my sons the Lolli Attack lines (which I prefer over the Fried Liver attack). At the 11th move the only book move (100%) was the en passent capture 11... exd3 and here it crashed.<br />
<br />
Problem was that the book was build for version 0.3 of iCE and never changed. However I did change the internal structure how iCE stores chess moves later on. The bit positions that indicate an en passent capture and those that indicate a promotion were changed. Now the move that iCE finds in the book has an invalid structure if it is an en passent capture or promotion. Fortunately promotions are not so common in the opening but ep captures seem at least to be common enough to show up.<br />
<br />
So I have to change my book building code and rebuild the books to fix that which is not a quick fix. I have to live with the problem for the YAT tournament and hope that iCE will not chose a lot of erroneous lines. <br />
<br />
But fixing the book code made it at the top of my todo list. I'm happy to have learned about this problem before I release version 3 of iCE which I intend to do early next year.<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-4311368010666630052015-12-04T07:15:00.000-08:002015-12-04T07:15:52.404-08:00YAT<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZU5p4BI7YrAxEqDCNaaBDSeU-Ff698yB_G2QTBNz_i_5djBY9nud8vSNi7N6UIp6ISbajkG602Jh47oQyBxytsia_QQMkO-zKp2uTkYjUfIDlGsv8Ajgv6-Rvgcf739vewNB4ZSIepx8/s1600/a4265a4119-yat.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZU5p4BI7YrAxEqDCNaaBDSeU-Ff698yB_G2QTBNz_i_5djBY9nud8vSNi7N6UIp6ISbajkG602Jh47oQyBxytsia_QQMkO-zKp2uTkYjUfIDlGsv8Ajgv6-Rvgcf739vewNB4ZSIepx8/s200/a4265a4119-yat.png" width="200" /></a></div>
Ed Schroder is running a little tournament called YAT where iCE participates. <a href="http://rebel13.nl/misc/yat.html" target="_blank">On his website</a> he states<br />
<br />
<span style="font-weight: bold;">YAT</span><span> is a computer-computer tournament that emulates a human-human tournament or a SSDF | ICGA | CSVN | CCT tournament as close as possible in the sense that opening books are allowed, all kind of learning is allowed, opponent preparation is allowed and last but not least that engine authors have the right to know the name and elo rating of the opponent.</span><br />
<br />
<span>The test run (cross table below) has finished and iCE ended in the middle as expected from its ELO rating. Now the real fun begins </span><br />
<br />
<style>
body {margin:15px; font:12px Verdana,Arial; background:#fff}
.shadow {
-webkit-box-shadow: 6px 0px 20px #756F6F; /* Saf3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
-moz-box-shadow: 6px 0px 20px #756F6F; /* FF3.5 - 3.6 */
box-shadow: 6px 0px 20px #756F6F; /* Opera 10.5, IE9, FF4+, Chrome 6+, iOS 5 */
}
/* table */
table {
margin: 0 0 1em;
background: #FFF;
border-collapse: collapse;
border-top: 1px solid #336;
border-bottom: 0px solid #336;
border-left: 0px solid #336;
border-right: 0px solid #336;
}
/* caption = table title/heading */
caption {
text-align: left;
font: bold small-caps 120%/1.3 "trebuchet ms",Helvetica,Arial,Sans-Serif;
color: #336;
margin: .3em 0;
}
/* reduced font size to save space */
tr { font-size: 100%; }
/* tinted rows */
tr.odd {
background: #BBF;
}
tr.even {
background: #FFF;
}
td.odd {
background: #BBF;
}
/* table cells */
th {
font-weight: normal;
padding: .5em .7em;
text-align: center;
vertical-align: middle;
}
td {
font-weight: normal;
padding: .2em .9em;
text-align: left;
vertical-align: middle;
}
div.cb {
background-color: black;
color: white;
font-size: 80%;
text-align: center;
border-bottom: 1px solid black;
border-top: 1px solid black;
border-left: 1px solid black;
border-right: 1px solid black;
}
div.cw {
//background-color: white;
font-size: 80%;
text-align: center;
border-bottom: 1px solid black;
border-top: 1px solid black;
border-left: 1px solid black;
border-right: 1px solid black;
}
div.cf {
text-align: center;
font-size: 80%;
background-color: #FFFF66;
border-bottom: 1px solid black;
border-top: 1px solid black;
border-left: 1px solid black;
border-right: 1px solid black;
}
div.res {
font-weight: bold;
text-align: center;
font-size: 100%;
}
div.res-thin {
text-align: center;
font-size: 90%;
}
td.result {
font-weight: bold;
text-align: center;
font-size: 120%;
}
td.score {
font-weight: bold;
text-align: right;
font-size: 140%;
}
td.name {
text-align: center;
}
td.details {
font-weight: bold;
text-align: left;
font-size: 80%;
}
td.info {
color: #336;
text-align: left;
font-size: 80%;
}
/* color for column headings */
thead {
background: #99C;
white-space: nowrap;
}
</style>
<br />
<table>
<caption>Tournament YAT-general-repetition Cross Table</caption>
<tbody>
</tbody><thead>
<tr><th>Pos</th><th>NAME</th> <th>Pts</th>
<th>Te</th>
<th>Wa</th>
<th>Ar</th>
<th>An</th>
<th>iC</th>
<th>Pr</th>
<th>Va</th>
<th>Zu</th>
<th>S-B</th>
</tr>
<tr class="even">
<td>1</td><td>Texel 1.06a</td><td class="score">9.5</td><td><div class="res">
X</div>
</td><td><div class="res">
0</div>
</td><td><div class="res-thin">
1=</div>
</td><td><div class="res">
=</div>
</td><td><div class="res-thin">
1=</div>
</td><td><div class="res-thin">
11</div>
</td><td><div class="res-thin">
11</div>
</td><td><div class="res-thin">
11</div>
</td><td><div class="res-thin">
40,5</div>
</td></tr>
<tr class="odd">
<td>2</td><td>WaDuuttie</td><td class="score">9.0</td><td><div class="res">
1</div>
</td><td><div class="res">
X</div>
</td><td><div class="res-thin">
01</div>
</td><td><div class="res-thin">
==</div>
</td><td><div class="res-thin">
01</div>
</td><td><div class="res-thin">
11</div>
</td><td><div class="res-thin">
11</div>
</td><td><div class="res">
1</div>
</td><td><div class="res-thin">
46,5</div>
</td></tr>
<tr class="even">
<td>3</td><td>Arasan 1.81x</td><td class="score">7.0</td><td><div class="res-thin">
0=</div>
</td><td><div class="res-thin">
10</div>
</td><td><div class="res">
X</div>
</td><td><div class="res-thin">
=0</div>
</td><td><div class="res-thin">
==</div>
</td><td><div class="res">
1</div>
</td><td><div class="res">
1</div>
</td><td><div class="res-thin">
11</div>
</td><td><div class="res-thin">
32</div>
</td></tr>
<tr class="odd">
<td>4</td><td>Andscacs 0.83</td><td class="score">6.5</td><td><div class="res">
=</div>
</td><td><div class="res-thin">
==</div>
</td><td><div class="res-thin">
=1</div>
</td><td><div class="res">
X</div>
</td><td><div class="res">
0</div>
</td><td><div class="res-thin">
1=</div>
</td><td><div class="res-thin">
01</div>
</td><td><div class="res-thin">
1.</div>
</td><td><div class="res-thin">
35</div>
</td></tr>
<tr class="even">
<td>5</td><td>iCE 2</td><td class="score">6.5</td><td><div class="res-thin">
0=</div>
</td><td><div class="res-thin">
10</div>
</td><td><div class="res-thin">
==</div>
</td><td><div class="res">
1</div>
</td><td><div class="res">
X</div>
</td><td><div class="res-thin">
0=</div>
</td><td><div class="res">
=</div>
</td><td><div class="res-thin">
11</div>
</td><td><div class="res-thin">
31,5</div>
</td></tr>
<tr class="odd">
<td>6</td><td>ProDeo 2.0</td><td class="score">4.5</td><td><div class="res-thin">
00</div>
</td><td><div class="res-thin">
00</div>
</td><td><div class="res">
0</div>
</td><td><div class="res-thin">
0=</div>
</td><td><div class="res-thin">
1=</div>
</td><td><div class="res">
X</div>
</td><td><div class="res-thin">
1=</div>
</td><td><div class="res">
1</div>
</td><td><div class="res-thin">
19</div>
</td></tr>
<tr class="even">
<td>7</td><td>Vajolet2 2.0</td><td class="score">4.0</td><td><div class="res-thin">
00</div>
</td><td><div class="res-thin">
00</div>
</td><td><div class="res">
0</div>
</td><td><div class="res-thin">
10</div>
</td><td><div class="res">
=</div>
</td><td><div class="res-thin">
0=</div>
</td><td><div class="res">
X</div>
</td><td><div class="res-thin">
11</div>
</td><td><div class="res-thin">
12</div>
</td></tr>
<tr class="odd">
<td>8</td><td>Zurichess</td><td class="score">0.0</td><td><div class="res-thin">
00</div>
</td><td><div class="res">
0</div>
</td><td><div class="res-thin">
00</div>
</td><td><div class="res-thin">
0.</div>
</td><td><div class="res-thin">
00</div>
</td><td><div class="res">
0</div>
</td><td><div class="res-thin">
00</div>
</td><td><div class="res">
X</div>
</td><td><div class="res-thin">
0</div>
</td></tr>
</thead></table>
Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-39934947220007491692015-11-23T01:01:00.001-08:002015-11-23T01:01:34.006-08:00My successful kids<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
Last weekend my sons played the official city championship of the city of Leipzig in the age categories U8 and U10. Both did very well, Julian my younger son finished 3rd place with 5.5/7 and Jonas even managed to score 6.5/7 and became city champion. <br />
<br />
<table border="0" style="width: 100%;">
<tbody>
<tr>
<td><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgysGyFb_AReBTkalT4Lhpe63-SOHVsiAeb_uJ0Mq0e7OCcpQ4EsAGqw7B0kFAah-K-FluEEdf0VO5hN7ME6UDxdHeFGDIRPgWPTY6y9-MQL-qcpbjmvGEn9_hmdda3zDPugS-uKfY8_1c/s1600/20151122_122003.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgysGyFb_AReBTkalT4Lhpe63-SOHVsiAeb_uJ0Mq0e7OCcpQ4EsAGqw7B0kFAah-K-FluEEdf0VO5hN7ME6UDxdHeFGDIRPgWPTY6y9-MQL-qcpbjmvGEn9_hmdda3zDPugS-uKfY8_1c/s400/20151122_122003.jpg" width="225" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Julian Petzke, 3rd place U8</td></tr>
</tbody></table>
</td>
<td><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFljNXLAyr44CgRAJyWi1ZHj8h7cvo4wcxUB_FXEU2BKSHmEzxNE3Ut3vLDe9AdDfcw8BuqMZbGszS4RT1H9gfwMS4b2WJn8xBZr-bJO3o_IMpE0QBNaxoPUma7eQzncLWN5umwMYHiQs/s1600/20151122_131814.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFljNXLAyr44CgRAJyWi1ZHj8h7cvo4wcxUB_FXEU2BKSHmEzxNE3Ut3vLDe9AdDfcw8BuqMZbGszS4RT1H9gfwMS4b2WJn8xBZr-bJO3o_IMpE0QBNaxoPUma7eQzncLWN5umwMYHiQs/s400/20151122_131814.jpg" width="225" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Jonas Petzke, 1st place U10</td></tr>
</tbody></table>
</td>
</tr>
</tbody></table>
<br />
Congratulations and a big thanks to their trainers.<br />
<br />
Probably in the near future you will make dad look rather stupid when you play a game of chess with him.<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-45599168696481680862015-11-19T02:16:00.001-08:002015-11-19T02:17:52.075-08:00A little tournament and a cross table<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkXEu4UkT3Zye4Zp5wL83lfsipzhSOc1wAVzpCzomslJnOFtS_45FdOj7qNnhlEXEro3rPtdxeojE3sGY60L8qfof2XzhH8q8ZVv2uFOnLR13y7rokXVSrhXa2K5AJeXICTnbGRxjlnEo/s1600/karpov.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkXEu4UkT3Zye4Zp5wL83lfsipzhSOc1wAVzpCzomslJnOFtS_45FdOj7qNnhlEXEro3rPtdxeojE3sGY60L8qfof2XzhH8q8ZVv2uFOnLR13y7rokXVSrhXa2K5AJeXICTnbGRxjlnEo/s640/karpov.png" width="640" /></a></div>
<br />
iCE just played a little tournament in France. The tournament includes several hundred engines grouped in different divisions according to their strength. iCE was seeded in division Karpov, which is the second highest division and managed to finish among the best three.<br />
<br />
<a href="http://aloheac.perso.neuf.fr/Ligue_Karpov.htm" target="_blank">http://aloheac.perso.neuf.fr/Ligue_Karpov.htm</a><br />
<br />
It means it will play in the Kasparov division (the highest) next time. Probably it will lose most of the games there, this division is very tough. But it will be fun watching.<br />
<br />
PS.: I'm also posting this to try out the new cross table HTML generator of shaker. Unfortunately the table is to big (its width) to fit into this blog. So I have to make an image out of it, but otherwise it works. Yeah !<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-61659740059870490582015-11-02T00:17:00.000-08:002015-11-02T00:17:36.120-08:00Chess move list ordering<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs9qXOPM6UpxLVmfUapwqYSOxB8XWpN4Vd7DNAWjIsaTxyjhzKLarMmqB4dWEMlTJCBZi2v8hrb4aYegNuRoxcSx_O5Uor2BzOysdhWjZD9MPhE0K784txOqfAOCkHt0-G4TXsXKKZc_c/s1600/sort.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="289" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs9qXOPM6UpxLVmfUapwqYSOxB8XWpN4Vd7DNAWjIsaTxyjhzKLarMmqB4dWEMlTJCBZi2v8hrb4aYegNuRoxcSx_O5Uor2BzOysdhWjZD9MPhE0K784txOqfAOCkHt0-G4TXsXKKZc_c/s320/sort.png" width="320" /></a></div>
Recent performance profiling of iCE showed that iCE spends a significant time just sorting the moves.<br />
<br />
In iCE moves get assigned an order value that expresses their likelihood of being best. Depending on the kind of move this value might come from the expected material win (Static Exchange Evaluation), from its attacking value (victim vs attacker) or by the history of the move in previous searches.<br />
<br />
After a value has been assigned to the moves in the current move generation stage they have to be ordered in descending order.<br />
<br />
An alternative to sorting would be to just always pick the next best move from the list each time a move is accessed but this is a bit more messy. I like the cleanness of processing an ordered list.<br />
<br />
As the number of moves in each stage is usually small insertion sort is used instead of the typical used quicksort. The algorithm for insertion sort is rather simple and I have implemented it in the TMovelist class of iCE. C++ already provides a sort algorithm with std::sort but this was significantly slower than my implementation.<br />
<br />
To speed up the ordering I thought about special sort implementations for short lists. So first I performed an analyses what move lists usually are processed. Statistics shows that 85% of the lists have 8 or less elements. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigw2IhFsjiILWSKzXlD84Wf1fbP7xoidDbB38Ph3NTLv4q9o0gAYwBK2Xvzb6Jc8d0O10RThoyrOjePqzsPkCjJ1YCBdyj9Qh1v_c11uKrk-GlZsGYVi1D5wkmMuNN3pqoBxHlzQaYvYs/s1600/lists.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigw2IhFsjiILWSKzXlD84Wf1fbP7xoidDbB38Ph3NTLv4q9o0gAYwBK2Xvzb6Jc8d0O10RThoyrOjePqzsPkCjJ1YCBdyj9Qh1v_c11uKrk-GlZsGYVi1D5wkmMuNN3pqoBxHlzQaYvYs/s1600/lists.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Move list length statistics. The last column stands here for 9 and more moves</td></tr>
</tbody></table>
<br />
For a fixed and small number of elements exists a technique called sorting net to sort the elements by just by a fixed sequence of element compares and swaps.<br />
<br />
To sort a list of 4 elements the following sorting network can be used<br />
<br />
<pre>SWAP(0, 1); SWAP(2, 3); SWAP(0, 2); SWAP(1, 3); SWAP(1, 2);</pre>
<br />
SWAP(a, b) compares a with b and swaps them if they are out of order. For more elements the sequence of swaps gets longer, so for 10 elements already 32 SWAP operations are necessary.<br />
<br />
As the statistics looked promising I implemented the sorting networks for lists up to 12 elements and used my insertion sort algorithm for the remaining longer lists. Overall I got a small overall speedup, less than I hoped for. But profiling showed that although only 15% of the lists are longer than 8 elements, sorting them takes most of the time.<br />
<br />
I kept the change anyway as I is not really complex and actually I like the concept.<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-8081887375290708082015-10-10T00:39:00.002-07:002015-10-10T00:39:14.329-07:00Use your time wisely<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPga0DHHfocQE7qPpz0wSY9ndt6fSRxMLeSuwsaDRQxlfvyUYPytVt74Dy2AIGjvrXso9ReeM9Lo_6cfoWKyRf-dx2N4Z0-pNTqaAermW0_3WpfwzqryTzfI43ZAHkC10iEIAtmjyGxvs/s1600/clock2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPga0DHHfocQE7qPpz0wSY9ndt6fSRxMLeSuwsaDRQxlfvyUYPytVt74Dy2AIGjvrXso9ReeM9Lo_6cfoWKyRf-dx2N4Z0-pNTqaAermW0_3WpfwzqryTzfI43ZAHkC10iEIAtmjyGxvs/s1600/clock2.jpg" /></a></div>
A very old part of iCE is the time management module. As soon as I had it robust enough so that my engine does not lose on time anymore I left it alone.<br />
<br />
Its mechanism is actually pretty simple. In the usual time control with x moves in y minutes it just divides the remaining time by the number of remaining moves to come up with a desired time for a move. It allows stretch to allow the engine to finish an iteration.<br />
<br />
Also if there is still some time left but probably not enough to finish at least one move of a new iteration it does not start it.<br />
<br />
This mechanism dates back to iCE 0.3 and hasn't been changed since. Recently I revisited the code and tried to improve it. Surprisingly it turned out to be very difficult to come up with something better than the simple mechanism above. Also it does not make sense to test changes with my usual set of very fast games. To play enough games to get some statistical confidence here takes much much longer.<br />
<br />
One idea that failed was to allocate more time for early moves. This is a very common scheme in other engines but it did not help in iCE. Maybe I haven't tested it enough but none of my versions passed the regression test.<br />
<br />
A small success was a little change to the time allocation for the last moves before the next time control. Nothing to write home about. The improvement was about 6 ELO with an error margin of 8. So there is even a chance for a small regression but I keep the change as I like the code and think it makes more sense than the previous allocation.<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-82346142703666711732015-07-14T08:45:00.000-07:002015-07-14T08:45:21.801-07:00iCE 3 UCI Options<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGiy3O3MED9P17VpS10NfQJxYvEEEGDi-m9dWm3VKobLjSHbiQA23uQYOUYMKi16FtRxdZ6GS_tV6VMWnBO6ohvrc7GbasWwvSTMtrYiWGEpBqWImHiP89jaiJjo4Fo7LTVdi7lbZmqiA/s1600/shaker-opt.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGiy3O3MED9P17VpS10NfQJxYvEEEGDi-m9dWm3VKobLjSHbiQA23uQYOUYMKi16FtRxdZ6GS_tV6VMWnBO6ohvrc7GbasWwvSTMtrYiWGEpBqWImHiP89jaiJjo4Fo7LTVdi7lbZmqiA/s640/shaker-opt.png" width="640" /></a></div>
<br />
While I was adding MultiPV to iCE I spent some time reworking the whole UCI options in iCE. For version 3 I tried to improve the naming of the options and also changed some of the functionality.<br />
<br />
Here is an overview of the options for the next version<br />
<br />
<b>Clear Hash: </b>As the name suggests clears the main hash and all other caches incl. pawn, evaluation and material cache.<b></b><br />
<br />
<b>Ponder: </b>Tells iCE that the game is run in ponder mode. This has a slight influences on the time iCE allocates for a move.<br />
<br />
<b>Hash: </b>The size of the main hash in MB. The whole memory footprint of iCE is bigger as it allocates a fixed amount of memory for other caches (e.g. eval or pawn) <br />
<br />
<b>OwnBook: </b>Tells iCE that it should use an external book in <b>"ibf"</b> format. This is a special proprietary format. Books of different sizes are available on my homepage. If OwnBook is set to true <b>Book File </b>has to point to the book.<br />
<br />
<b>Fallback to Internal Book: </b>If iCE gets no external book (OwnBook = false) or the Book File option does not point to a valid book iCE can fallback to a small internal book that contains some common main lines. It is just part of the chess knowledge of iCE but some testers complained about this behavior. So setting this option to false will remove all opening knowledge in iCE. This is however not recommended as iCE runs then in a mode it was not designed for and tested in.<br />
<br />
<b>Output Search Depth Info: </b>iCE will output search progress in UCI format (e.g. info depth 2 seldepth 2 score cp 107 nodes 42 nps 41999 time 0 multipv 1 pv e2e4 g7g6 hashfull 0 tbhits 0)<br />
<br />
<b>Output Total Times and Nodes: </b>iCE will summarize the previous search statistics at the end of each search (e.g. info time 93 nodes 8796 nps 94580)<br />
<br />
<b>Output Current Move Info: </b>iCE will output the move it currently calculates. This causes a lot of traffic between engine and GUI and messes up the console mode. But some user like to see that info in a GUI.<b> </b><br />
<br />
<b>MultiPV:</b> The number of PV lines iCE will output. Makes only sense for analyzing games or positions. It should not be used in game play as it makes the engine much weaker if set to a value larger than 1.<br />
<br />
<b>CommandFile: </b>Setting this option will cause iCE to read a series of commands from an external file and execute them. This is more an internal option that I use for tuning and most likely not relevant for other users. <br />
<br />
<b>Console Mode</b>: If set to true iCE will switch the output format of search depth info into something more readable if iCE runs in console mode. If connected to a GUI it should be set to false as the GUI otherwise will probably not understand the output of iCE anymore<br />
<br />
<b>Console mode = false:</b><br />
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">go depth 8<br />info depth 1 seldepth 0 score cp 116 nodes 20 nps 20000 time 0 multipv 1 pv e2e4<br /> hashfull 0 tbhits 0<br />info depth 2 seldepth 2 score cp 107 nodes 42 nps 41999 time 0 multipv 1 pv e2e4<br /> g7g6 hashfull 0 tbhits 0<br />info depth 3 seldepth 3 score cp 73 nodes 133 nps 133000 time 0 multipv 1 pv e2e<br />4 d7d5 d1h5 hashfull 0 tbhits 0</span> </span></span><br />
<br />
<b>Console mode = true:</b><br />
<span style="font-size: small;"><span style="font-family: "Courier New",Courier,monospace;">setoption name console mode value true<br />go depth 8<br /> 1/ 0 0:00 1.16 1. e4 (20)<br /> 2/ 2 0:00 1.07 1. e4 g6 (42)<br /> 3/ 3 0:00 0.73 1. e4 d5 2. Qh5 (133)<br /> 4/ 4 0:00 0.31 1. e3 d5 2. d4 e6 (348)<br /> 5/ 6 0:00 0.40 1. e3 e5 2. d4 Qf6 3. Nc3 (768)<br /> 6/ 7 0:00 0.31 1. e3 d5 2. d4 e6 3. Bd2 Bd7 (1.760)</span></span><br />
<br />
So when version 3 is released (later this year probably) then the uci options of iCE are hopefully more meaning and useful.Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-25307289602490479332015-06-15T08:19:00.000-07:002015-06-15T08:19:40.515-07:00City Championship - Lipsiade 2015<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkNYcDuAp2kt39LTi3yM772bds9rah7rNW2AUCDxbA36tmDzZzYEK_l_lyd2EwRPwmrpG_KOkmgSU9EwWOchrDotV6tSGHpEULQpnd4lq7mdx_1bVqWgX8pNdb3jpyCN-eg7uLHbMa7ls/s1600/Lipsiade+2015.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkNYcDuAp2kt39LTi3yM772bds9rah7rNW2AUCDxbA36tmDzZzYEK_l_lyd2EwRPwmrpG_KOkmgSU9EwWOchrDotV6tSGHpEULQpnd4lq7mdx_1bVqWgX8pNdb3jpyCN-eg7uLHbMa7ls/s200/Lipsiade+2015.jpg" width="200" /></a></div>
My two boys, who use my little Chess GUI to do some tactics training participated here in the local city chess championship for kids called Lipsiade. Julian (7), my younger son, played in the U8 league, and Jonas (9) played in the U9.<br />
<br />
Both did fairly well. Julian finished 2nd place with 4.5/5 pts and Jonas finished 4th place with 3.5/5. So it seems the training pays off a bit.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWkrtph8oy_txwfXRw98U3e5srhhQ9fmXwEnLVYtHMjBxnzbMJeJxLdEzpYtj-fXm92_zQkAno7vlnar8rJRd1XxeiWK-IkW7Wgq6gCucorb65ajhFU6QSlDvQXaAMqSHG3jRoVxiOMfE/s1600/DSC04186.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWkrtph8oy_txwfXRw98U3e5srhhQ9fmXwEnLVYtHMjBxnzbMJeJxLdEzpYtj-fXm92_zQkAno7vlnar8rJRd1XxeiWK-IkW7Wgq6gCucorb65ajhFU6QSlDvQXaAMqSHG3jRoVxiOMfE/s640/DSC04186.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Julian Petzke</td><td class="tr-caption" style="text-align: center;"> </td><td class="tr-caption" style="text-align: center;"> </td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGqM3klClsgvUwhVpi90_aFx-dvbJFxvy29ad4_YdlGrpr-7I2A34AN2wuVybVD0O9MWBFV-0z9tZzQ5Me6M4iTv1lJH59ZIaqSxmpri1Uyjadjjcwxqw42htgPI0z3ke766vkFH5Gl0Q/s1600/DSC04184.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGqM3klClsgvUwhVpi90_aFx-dvbJFxvy29ad4_YdlGrpr-7I2A34AN2wuVybVD0O9MWBFV-0z9tZzQ5Me6M4iTv1lJH59ZIaqSxmpri1Uyjadjjcwxqw42htgPI0z3ke766vkFH5Gl0Q/s640/DSC04184.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Jonas Petzke</td><td class="tr-caption" style="text-align: center;"><br /></td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi34cher0qmvfwibc2ktNWpk4gM2_A6RDnYw1k9y6xYCKoLamkMX77p4sM8SWAYoVTcqsueIr3BlF0CEn7Ps04FvGUij3irNEPAf-ECne7A5qCW-I8rpmnZFulBQbE1Yabj3ak3tHivhKA/s1600/DSC04193.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi34cher0qmvfwibc2ktNWpk4gM2_A6RDnYw1k9y6xYCKoLamkMX77p4sM8SWAYoVTcqsueIr3BlF0CEn7Ps04FvGUij3irNEPAf-ECne7A5qCW-I8rpmnZFulBQbE1Yabj3ak3tHivhKA/s640/DSC04193.JPG" width="480" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBTeNi2t-vBdjTOZWkYcJwa9ssyeiCA_b8odA9hz6Hc_66TFB3yib-Ai9k8UBY9VttR9Gx8TYcdR3eoem9rrGm1x9scBqqhMd6iT7O5EGld1RLNsooBIe2eVswHjMuoZWs7l0ih4NZPpU/s1600/DSC04191.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBTeNi2t-vBdjTOZWkYcJwa9ssyeiCA_b8odA9hz6Hc_66TFB3yib-Ai9k8UBY9VttR9Gx8TYcdR3eoem9rrGm1x9scBqqhMd6iT7O5EGld1RLNsooBIe2eVswHjMuoZWs7l0ih4NZPpU/s640/DSC04191.JPG" width="480" /></a></div>
<br />
Boys, I'm proud of you.<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0tag:blogger.com,1999:blog-7885798824287821949.post-60505663726671027402015-06-06T10:00:00.000-07:002015-06-06T10:00:07.492-07:00Nullmove Blindness<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikyBGoGdDEG88oPdfIgzCDo1YOVbrxdLd72dLwJZpOWfzxRHrAjk6rfKazPxQjdfN-SWPktBzEFLAwljtFqg1a-83y9Q4V-4tC-_gtquFgZDzcEeAkAEOy59099BZ1mgsjAQO1762wT68/s1600/M3.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikyBGoGdDEG88oPdfIgzCDo1YOVbrxdLd72dLwJZpOWfzxRHrAjk6rfKazPxQjdfN-SWPktBzEFLAwljtFqg1a-83y9Q4V-4tC-_gtquFgZDzcEeAkAEOy59099BZ1mgsjAQO1762wT68/s1600/M3.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">White moves and Mates in 3 (1. Rh5 h6 2. h4 Kh2 3. Rh3#)</td><td class="tr-caption" style="text-align: center;"><br /></td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
From time to time I challenge iCE with some Mate in X problems. Usually iCE has no problems solving them, at least if the Mate is not to far away. But lately I encountered a position (above) where iCE surprisingly struggled.<br />
<br />
It is a Mate in 3 but iCE solves it as a Mate in 5.<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">iCE 3.0 v386 x64/popcnt [2015.6.1]<br />position fen 8/7p/8/8/3p4/3P2RR/6PP/5K1k w - - 0 1<br />analyze depth 20<br />Analysing 14 moves up to depth 20<br /><br />g3g7 mate 5 1. Rg7 h6 2. Rg8 h5 3. Rg7 h4 4. g4 hg 5. hg<br />g3g5 mate 5 1. Rg5 h6 2. Rg8<br />g3g8 mate 5 1. Rg8 h6 2. Rg6 h5 3. Rg7<br />h3h5 mate 5 1. Rh5 h6 2. Rh3 h5 3. Rg7 h4 4. g4 hg 5. hg<br />..</span><br />
<br />
Mate is Mate in in game play it will not really matter if it takes 2 moves longer. But it is kind of embarrassing for a 2900 ELO engine to not be able to solve a Mate in 3. <br />
<br />
I looked into the problem and it turned out to be a combination of 2 things. <br />
<ol>
<li>iCE is doing a Mate distance pruning in the root node. This means if it finds a Mate in 5 it will stop search at ply 10 because searching more plies should not find shorter Mates. This was true for early versions of iCE but as it is now having such an aggressive reduction and pruning scheme more plies will reveal shorter mates (when formerly reduced or pruned moves turn out to be good).</li>
<li>The null move reduction was to high if a forced Mate was found, pruning away possible better candidates.</li>
</ol>
So I turned off Mate distance pruning in the root position and also reduced the null move reduction to not exceed a certain threshold. This seems to fix the problem at least for this position.<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">iCE 3.0 v392 x64/popcnt [2015.6.4]<br />position fen 8/7p/8/8/3p4/3P2RR/6PP/5K1k w - - 0 1<br />analyze depth 18<br />Analysing 14 moves up to depth 18<br /> </span><br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="color: red;"><b>h3h5 mate 3</b></span> 1. Rh5 h6 2. h4 Kh2 3. Rh3<br />f1f2 mate 4 1. Kf2 h6 2. Rg7 h5 3. Rc7 h4 4. Rc1<br />..</span><br />
<br />
A final regression test with 16000 games showed that the patched version is very likely not weaker than the previous one. It scored (W/L/D) 4300-4181-7515.<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">Rank Name Elo + - games score oppo. draws <br /> 1 iCE 3.0 v392 x64/popcnt 1 4 4 16000 50% -1 47% <br /> 2 iCE 3.0 v386 x64/popcnt -1 4 4 16000 50% 1 47% </span><br />
<br />
Patch committed.<br />
<br />Thomashttp://www.blogger.com/profile/12758727706662242193noreply@blogger.com0