tag:blogger.com,1999:blog-65317715319662376392024-02-06T21:45:51.881-08:00PrédateurThe blog of the UCI compatible chess engine Prédateur.JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-6531771531966237639.post-59707147136819773452012-02-08T14:04:00.000-08:002012-02-08T14:27:53.834-08:00Prédateur 2.2.1 "Bugfix" released<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGx867lSYBp-iInBNUq298ZiKq0VJx5YXScNUIH1RovyF8oGpKpbJtMJNd-qPktJlyvb_dqY5Nsqqpeu4EeZBPraL68of7pPTIgB7VblqY2OrO4E8f6Yj9dcsKHMf4CKkbUC1YsagVlpKv/s1600/bugfix.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/AVvXsEiGx867lSYBp-iInBNUq298ZiKq0VJx5YXScNUIH1RovyF8oGpKpbJtMJNd-qPktJlyvb_dqY5Nsqqpeu4EeZBPraL68of7pPTIgB7VblqY2OrO4E8f6Yj9dcsKHMf4CKkbUC1YsagVlpKv/s200/bugfix.jpg" width="184" /></a></div>
<br />
Because of constant pressure from Ruxy, Leo and Graham, and because the x32 version of Prédateur 2.2 was consistantly outplayed by Fernando Villega's Moron 1.0, I had no choice but to release this Prédateur 2.2.1 bugfix version.<br />
I couldn't help but to temper with other things here and there, so its strength might be slightly different (more in the downside than in the upside).<br />
(For some reasons, and because of the hurry, the Mac versions are a bit slow...)<br />
Have fun with it and thank you all for your patience! :)<br />
<br />
<b>What changed:</b><br />
<ul>
<li>fixed the ponder mode bug</li>
<li>fixed the time bug</li>
<li>x32 version works again</li>
<li>corrected a PST that mistakenly wasn't identical for both sides</li>
<li>a few tweaks here and there</li>
<li>Prédateur doesn't stop searching when it finds a mate anymore. That way it keeps searching while it still has time and maybe find a shorter one.</li>
<li>made all uci options lowercase (does CuteChess still protest?)</li>
<li>new binary added: MacOSX PPC</li>
</ul>
<br />
<br />JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com8tag:blogger.com,1999:blog-6531771531966237639.post-81021360441357097282012-01-04T13:29:00.000-08:002012-01-05T03:11:27.723-08:00Prédateur 2.2 released<div class="" style="clear: both; text-align: left;">
</div>
<div class="" style="clear: both; text-align: left;">
<a href="http://www.buzzle.com/img/articleImages/307825-25115-36.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="133" src="http://www.buzzle.com/img/articleImages/307825-25115-36.jpg" width="200" /></a>Since a little bit more than a year and a half, I've been working on a C++ "rewrite" of Prédateur. So this latest pascal version of my engine might well also be the last one, as the C++ version is getting mature and closer to delivery. This 2.2 version is most of all a speedup/bugfix release. Testers will tell, but I think the Elo boost might be bewteen +50/+100 compared with Prédateur 2.1.</div>
<div class="" style="clear: both; text-align: left;">
The archives includes binaries for :</div>
<div class="separator" style="clear: both; text-align: left;">
- win 32</div>
<div class="separator" style="clear: both; text-align: left;">
- win 64</div>
<div class="separator" style="clear: both; text-align: left;">
- Mac Intel</div>
<div class="separator" style="clear: both; text-align: left;">
- MorphOS PPC</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Here's what have changed:</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li>A lot of speedup everywhere, made possible by using Intruments, XCode's code profiling tool.</li>
<li>The promotion "bug" is fixed, so Olivier and Leo should be happy, now ;)</li>
<li>Many ply-variables have been gathered into fieldbits, speeding up many parts of the engine.</li>
<li>The search has been polished and finely tuned.</li>
<li>Prédateur now understands the "go nodes xx" command.</li>
<li>Time management and response improved (Prédateur can now play games will less than 200ms per move).</li>
<li>perft is now available to everyone.</li>
<li>More binaries in the archive: MorphOS PPC added.</li>
<li>Many tidbits here and there I don't even remember.</li>
</ul>
<div>
Have fun, and happy new year 2012! :)</div>
<br />
<br />JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com0tag:blogger.com,1999:blog-6531771531966237639.post-35832681827028399192011-05-18T06:17:00.000-07:002011-05-18T06:17:06.180-07:00Prédateur 2.1 released, now x32, x64 and Mac!<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMKvQNEPOCFJJq1p4Ydtckx6NsEyrBhBNXkY_Kqt8A22K3YVbK_3sBQt7fi6-0fk139wzP17py7IayYAwZmzUpxxUiE5SkeZEnmwWz6I31l71wA4So746BsYO6MGCXdEcp9rZTBHsaXoOD/s1600/Chess.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMKvQNEPOCFJJq1p4Ydtckx6NsEyrBhBNXkY_Kqt8A22K3YVbK_3sBQt7fi6-0fk139wzP17py7IayYAwZmzUpxxUiE5SkeZEnmwWz6I31l71wA4So746BsYO6MGCXdEcp9rZTBHsaXoOD/s200/Chess.jpg" width="200" /></a></div><br />
This new version of Prédateur wasn't meant to be public, as it is only slightly stronger than the prvious version (maybe +50 Elo), when I prefer to release new versions when they are significantly stronger than older ones. But it turns out that I started to rewrite Prédateur using C++ and bitboards, so I had this last pascal version sitting in my harddrive, with some improvements and bugfixes. So I decided to release it anyway. Also, it now comes in three flavors : Win32, Win64 and MacOSX (the Mac version can't "listen" to commands while thinking, so I desabled the ponder mode or it would go into an endless search, unable to answer to a "ponderhit" command). The Mac version will work with Sigma Chess and Jose, but will make Stockfish's interface crash, for some reason I don't know.<br />
<br />
Enjoy this new release, before the new generation of Prédateur. :)<br />
<br />
Note: this 2.1 version of Prédateur is not to be confused with the "2.1" that entered Olivier Deville's latest OpenWar, which should actually be seen as "2.0.1".<br />
<br />
<b><u>What changed since last update ?</u></b><br />
<br />
- Prédateur now prunes a tad less, but (hopefully) in a smarter way :<br />
it should diminish search instability and weird moves that<br />
sometimes happened.<br />
- memory-overuse by hash tables fixed (thanks, Joost!)<br />
- in a general way, diminution of the memory footprint : Prédateur<br />
now uses "only" 6 mb of non-hash memory.<br />
- speeded up the move generator, especially the check routine<br />
- some evaluation modifications: Prédateur should now try to<br />
target your king a bit more... be careful!<br />
- Mac OSX version. (Ponder mode disabled).<br />
- some other bugs fixed, here and there.JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com0tag:blogger.com,1999:blog-6531771531966237639.post-77481976182378341742011-02-02T06:11:00.000-08:002011-02-02T06:14:55.798-08:00Facebook Fan Page for Prédateur<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHsyNY6Ey2rXl_ZjgykskNUD-5_jNRZegXa1Rm4P0aDhsQiYTEw4uUoCR8nqYpyrTOQIatJGYAbGVya1osBxDLl3qlxSy8mO0O4bvJeKJvTUtvRP9Uq_28kI_8Q-A-bE1zbKVELKcGirgm/s1600/facebook.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHsyNY6Ey2rXl_ZjgykskNUD-5_jNRZegXa1Rm4P0aDhsQiYTEw4uUoCR8nqYpyrTOQIatJGYAbGVya1osBxDLl3qlxSy8mO0O4bvJeKJvTUtvRP9Uq_28kI_8Q-A-bE1zbKVELKcGirgm/s200/facebook.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5569094798970949554" /></a>Prédateur now has a Facebook Fan Page. You can "like" Prédateur by clicking the like button on the right column, and join the Fan club page by <a href="http://www.facebook.com/pages/Predateur-Chess-Engine/185415648159697">clicking on this link</a>. :)JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com0tag:blogger.com,1999:blog-6531771531966237639.post-22750718228413874092010-12-23T14:18:00.000-08:002010-12-23T14:33:33.132-08:00Prédateur 2.0 Released - Merry Christmas to all!!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiQ_xObM_ssEnMfrXPmnPvpiwhZ9kd-dFnl196qojuUXV54D4JsncKo2hLdy4RmM1bH-YnDlgIaCNxOuO-dIw9ATLk32WXNrgpHp7iG5O__yxwQiHAIYiTmcz5B6rFnphzr3MpVGfF1Pmx/s1600/merry_christmas.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiQ_xObM_ssEnMfrXPmnPvpiwhZ9kd-dFnl196qojuUXV54D4JsncKo2hLdy4RmM1bH-YnDlgIaCNxOuO-dIw9ATLk32WXNrgpHp7iG5O__yxwQiHAIYiTmcz5B6rFnphzr3MpVGfF1Pmx/s200/merry_christmas.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5554006508566834338" /></a><br />Merry Christmas to all! :) To celebrate our Savior's birth, I give you the produce of two years of episodic efforts : Prédateur 2.0.<div><br /></div><div>Among improvements and novelties, you'll find :</div><div><div>- ponder mode added</div><div>- Internal Iterative Deepening</div><div>- "Distance to mate" pruning</div><div>- Late Move Pruning</div><div>- "avoid null-move" in the hash table</div><div>- pawn-hash</div><div>- switched from verified null move to simple null move</div><div>- no more recapture nor pawnpush extensions</div><div>- Late Move Reduction finely tuned</div><div>- devided the search into a root and branchs ones</div><div>- much smarter output (PrÈdateur won't spam you anymore)</div><div>- improved time management</div><div>- passers and backward pawns recognition added to eval (still basic)</div><div>- LOTS of bugs suppressed here and there (especially in the hash tables</div><div> management).</div></div><div><br /></div><div>You can download it on the top-right of this page. If you use it on a daily basis and find it usefull, please consider showing the developer some support by hitting the "PayPal Donate" button. ;)</div><div><br /></div><div>I wish you all a joyful Christmas 2010 and a very happy new year 2011! Have fun with Prédateur! :)</div>JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com0tag:blogger.com,1999:blog-6531771531966237639.post-28325963199195182612010-11-26T06:24:00.001-08:002010-11-26T06:26:08.533-08:00A Logo for Prédateur<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc5DnhHuX9hnUHzi8wfEARaNv3dT3rBW9Y_5U22VHahFRRNsIHmtwrGR0VAGJpg06F47bqUfAD5kX30a_6UXWazh9U3TQn4ZpENkRc3wq1uIzb2t3bBZ0DyiCSkb53wcr-I8eZjSr8CA_z/s1600/predateur-d.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 100px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc5DnhHuX9hnUHzi8wfEARaNv3dT3rBW9Y_5U22VHahFRRNsIHmtwrGR0VAGJpg06F47bqUfAD5kX30a_6UXWazh9U3TQn4ZpENkRc3wq1uIzb2t3bBZ0DyiCSkb53wcr-I8eZjSr8CA_z/s200/predateur-d.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5543864242794045506" /></a>I just noticed that Dusan Stamenkovic, from the website <a href="http://www.chessmosaic.com/LogoCollection1.html">ChessMosaic</a>, made this nice looking logo for Prédateur. Thanks Dusan! :DJuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com0tag:blogger.com,1999:blog-6531771531966237639.post-41822668701115416072009-03-13T19:08:00.000-07:002009-03-13T19:11:02.469-07:00<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-ne1Pypxq8T18BnQqhCfVRL5jw-bf1RwrivJo0l8dyYYIeBt9uuNO1XkfrdpZwHyyyMuQXQjUGhF_azPpwCLYbgblEUf-dqs-FlxLpryJzM9S7gU6Mc18j4Wj8MqeKUa38fkaALrHIg7l/s1600-h/FicsBanner.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 194px; height: 130px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-ne1Pypxq8T18BnQqhCfVRL5jw-bf1RwrivJo0l8dyYYIeBt9uuNO1XkfrdpZwHyyyMuQXQjUGhF_azPpwCLYbgblEUf-dqs-FlxLpryJzM9S7gU6Mc18j4Wj8MqeKUa38fkaALrHIg7l/s200/FicsBanner.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5312859552323655154" /></a>You can now play against Predateur online, on the Free Internet Chess Club (FICS).<div>To do that, just go to this adress : <a href="http://www.freechess.org/">http://www.freechess.org</a></div><div>There you can download an interface and register the server (you can play as a guest, too). It's totally free.</div><div>Predateur's account on FICS has ... 'Predateur' for name.</div>JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com0tag:blogger.com,1999:blog-6531771531966237639.post-81828208290215306312008-10-23T10:46:00.000-07:002008-10-24T03:57:23.597-07:00Prédateur's first competition in Chesswar<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJRvEzWc17MVcLQDhe3JeA0BNTfZ0jvm5EgvCHA48XB6C94r08OY423DDIEabBcSHK-yCcBWpH1REG9VX5fM8OHw0yTirQbBU8767C7ucV918zLRxvipb2eyC9PRAsudMOCu7cLq3_ScgU/s1600-h/Heineken-Cup.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJRvEzWc17MVcLQDhe3JeA0BNTfZ0jvm5EgvCHA48XB6C94r08OY423DDIEabBcSHK-yCcBWpH1REG9VX5fM8OHw0yTirQbBU8767C7ucV918zLRxvipb2eyC9PRAsudMOCu7cLq3_ScgU/s200/Heineken-Cup.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5260407473939992690" /></a>Prédateur entered <a href="http://www.open-aurec.com/chesswar/">Olivier Deville's 13rd Chesswar tournament</a> for the first time and scored <a href="http://www.open-aurec.com/chesswar/Chesswar013/Chesswar013PSt.htm">5.5 points out of 11 (+4-4=3)</a>. Average result for an average ranking : <a href="http://www.open-aurec.com/chesswar/Chesswar013/Chesswar013PSt.htm">87/194</a> and a 1575 perf. I'm quite glad anyway, as it's a good result for a first try. I'll try to reach the top 10 next year!<div>You can watch <a href="http://julien.marcel.free.fr/chessview/Chesswar13.htm">in a fancy online interface</a> all of the 11 games Prédateur played <a href="http://julien.marcel.free.fr/chessview/Chesswar13.htm">by clicking here</a>.</div><div>One last word : thank you <a href="http://www.open-aurec.com/chesswar/">Olivier</a> for organizing and running this great event ! It's much appreciated !</div>JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com0tag:blogger.com,1999:blog-6531771531966237639.post-85550878517664445032008-07-07T11:56:00.001-07:002008-07-07T13:45:37.571-07:00Prédateur 0.1.5 : Harder, Faster, Better<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_lj4UAVY3rj6elmfSuHVBam6A2HRVB0cTet33A2z7Z3Um7J1VQNVx1xVKQSiU904jn4y56_SSfLi3ElObTn_mZyAKSOY6_YDThFaInvEkST0SQfrth_3cX-ArK65jfjqAe3YsW3yqJJ_z/s1600-h/wobble_chess_set.jpg"><img id="BLOGGER_PHOTO_ID_5220348107291295602" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_lj4UAVY3rj6elmfSuHVBam6A2HRVB0cTet33A2z7Z3Um7J1VQNVx1xVKQSiU904jn4y56_SSfLi3ElObTn_mZyAKSOY6_YDThFaInvEkST0SQfrth_3cX-ArK65jfjqAe3YsW3yqJJ_z/s200/wobble_chess_set.jpg" border="0" /></a><br /><div>There we go! A new release For Prédateur. Several major bugs were corrected while many improvements were made. As you can see <a href="http://julien.marcel.free.fr/temp/confidentiel/T_Predateur0.1.5.jpg">on this link</a>, this version is really improved. <a href="http://julien.marcel.free.fr/chessview/Predateur015.htm">The games</a> for <a href="http://julien.marcel.free.fr/temp/confidentiel/T_Predateur0.1.5.jpg">this tournament</a> can be seen <a href="http://julien.marcel.free.fr/chessview/Predateur015.htm">on this page</a>.</div><div><br /><strong>New Functionalities :<br /></strong>- Verified Null-Move (tested working)<br />- Threat Extension<br />- Check Extension<br />- Singular Reply Extension<br />- Recapture Extension<br />- Pawn Push Extension<br />- Late Move Reduction (Thanks Dany!)<br />- Futility Pruning<br />- Extended Futility Pruning<br />- UCI command "go movetime xxxx", making possible to use Prédateur<br />with "x seconds per move" time ratings<br />- UCI command "go depth x", making possible to use Prédateur with<br />"search up to x plies" types "time" ratings<br /><strong>Modifications :<br /></strong>- Small tuning of the evaluation function.<br /><strong>(Hopefully) corrected bugs :<br /></strong>- Gigantic bug that made Prédateur play its last analyzed move before<br />the end of time instead of its best move found (as a result,<br />Prédateur was nearly playing randomly when in lack of time).<br />- Big bug in the hash tables : Prédateur did not take into account the<br />side to move when storing/retrieving positions in the hash.<br />- Small bug in the null-move that made it a R3 NM instead of a verified R3 NM.<br />- Various other unlisted small bugs.</div><div></div><div><strong>Special thanks to Dany, Harald, Pradu and Andres!</strong></div>JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com0tag:blogger.com,1999:blog-6531771531966237639.post-90117293741894294022008-06-25T13:57:00.001-07:002008-06-25T14:23:47.651-07:00Prédateur 0.1.4r2 bugfixed<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUU_QztL_UWDMNNEnndVNfEQ8xQpSzf1ujcnyM7JYcdzA33emZfZDKvt6ASar7XVDhOenI3cMZLNqoizjazhHZsvaOLCBQELVSeVZkQDESPMk5OfXAq98xwZ2nRFnmKd9ykCEYnvpTy2Hu/s1600-h/bug.jpg"><img id="BLOGGER_PHOTO_ID_5215926305198089314" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUU_QztL_UWDMNNEnndVNfEQ8xQpSzf1ujcnyM7JYcdzA33emZfZDKvt6ASar7XVDhOenI3cMZLNqoizjazhHZsvaOLCBQELVSeVZkQDESPMk5OfXAq98xwZ2nRFnmKd9ykCEYnvpTy2Hu/s200/bug.jpg" border="0" /></a><br /><div></div><br /><p>The last release had a serious bug that prevented Prédateur from checkmating its opponents or see the checkmates. Its strength was thus severely severed. I'm sorry for those of you who bothered testing it. I took more time to test this one in depth before releasing it.</p><p>This is actually not a bugfix version only. Here is a list of the changes :</p><ul><li>added a special time manager to handle 1) games with no time increment 2) <a href="http://hem.bredband.net/larsis/index.html">grumpy testers</a></li><li>fixed an horrible bug in the checkmate handling</li><li>a first try with null-move (verified null-move)</li><li>total hash default size reduced to 64Mb (48 main + 16 quiesce). You can change those default sizes in the uci options.</li></ul>JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com0tag:blogger.com,1999:blog-6531771531966237639.post-10300893707790177682008-06-21T06:57:00.001-07:002008-06-21T17:16:04.626-07:00Prédateur 0.1.4 escaped!<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGd0Fwe8e-AB_68QF7i1hpvoT1Z76UBx2DsWzOMx5zQ9VzRb_EO_u5VwL4_lPqWgGrupiOScTK0ZOBXT2NMv2Gw5GO8k1sPiWMaTFsZJN4VzaWg_W5G0lO0u5uQljhO9uoIZ8avARCViUf/s1600-h/light_chess2.jpg"><img id="BLOGGER_PHOTO_ID_5214333704489644722" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGd0Fwe8e-AB_68QF7i1hpvoT1Z76UBx2DsWzOMx5zQ9VzRb_EO_u5VwL4_lPqWgGrupiOScTK0ZOBXT2NMv2Gw5GO8k1sPiWMaTFsZJN4VzaWg_W5G0lO0u5uQljhO9uoIZ8avARCViUf/s200/light_chess2.jpg" border="0" /></a><br /><div>Beware! The latest Prédateur just escaped and seemed to be in a playfull mood last time I met him...</div><div></div><div><br />This update is quite a major one. Maybe not in the playing strength (test will tell) but certainly from a user point of view. The code has been seriously cleaned up too and made ready for future improvements. I decided to postpone its translation to bitboards, as I could triple its speed by improving the current move generator. Here comes a summary of changes and improvements :</div><div><br /><strong>New functionalities :<br /></strong>- takeback implemented<br />- Prédateur now polls the console during its search and reacts to "stop" and "quit"<br />- Prédateur now handles FEN strings, though only allowing legal positions (Predateur can thus now be used as an analyse tool)<br />- UCI options uci Main_Hash added, allowing the user to set the main hash table size, and the uci option Quiesce_Hash that does the same for the quiescence search hash table<br />- Search extension for forced moves (that way Prédateur sometimes find deeper mate sequences)<br />- Algorythm to checkmate the naked king.<br />- perft tests implemented : Prédateur passes it successfully for all the test positions I tried (command : "perft x", x being the depth)<br />- a readme file<br /><strong>Modifications :</strong><br />- The quiescence search hash table is back (small speed improvement)<br />- Evaluation function modified and speeded up :<br />-> penalty for isolated pawns<br />-> towers on (semi-)opened columns<br />-> pieces-square tables<br />-> attempt to develope minor pieces in the opening<br />- Check test and move generator partly rewrote.<br />Result : >+100% nps compared with Prédateur v0.1.3b2!<br />- Moves lists now sorted with quicksort instead of bubble sort. (+15% nps!)<br />- Better move ordering (Prédateur plays around 1.1 moves out of 30!)<br />- Time use slightly improved (?)<br /><strong>Corrected bugs :</strong><br />- Yet another mate bug fixing attempt (the ultimate one?)<br />- bugs removed from the Restaure() function (castle flags might got lost)<br />- Another big bug eradicated from the Restaure() routine : Non initialized to zero, it made Prédateur compute lots of useless stuff.<br />- perft allowed me to correct several bugs :<br />-> the check test only took into account original knights, not pawns turned into knights - fixed<br />-> en passant capture broken - fixed</div>JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com3tag:blogger.com,1999:blog-6531771531966237639.post-41979771357225932842008-05-19T06:04:00.000-07:002008-05-19T06:19:42.313-07:00Prédateur 0.1.3b2 released<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQY690uKrHD_6Gir77L2pRblsCztOFBnF1MdfZKwgKzbpH7Ze4db5cRX-KqIoKupLHqPh8DACHdMJO5Fq4UzY3DGv8QUeew_D7bi1Z60Zbs02wUBYWOoyHA993mQyU2kvJ5oOrGxk_7PkT/s1600-h/chess.jpg"><img id="BLOGGER_PHOTO_ID_5202074456185656562" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQY690uKrHD_6Gir77L2pRblsCztOFBnF1MdfZKwgKzbpH7Ze4db5cRX-KqIoKupLHqPh8DACHdMJO5Fq4UzY3DGv8QUeew_D7bi1Z60Zbs02wUBYWOoyHA993mQyU2kvJ5oOrGxk_7PkT/s200/chess.jpg" border="0" /></a><br /><div></div><br /><p>I now decided to release the last fully working version of Prédateur (that is, with no known bugs).</p><p>Amongst the improvements since v0.1.1 :</p><ul><li>- transposition tables<br />- many speedups<br />- checkmate bug corrected : Prédateur should now always give the mate when there's one in range, and try to escape any checkmate menace it detects<br />- more accurate info line<br />- Evaluation function deeply modified, with many new euristics (wich might make it play even worse, hehe ;-) )<br />- alpha beta move ordering improved.</li></ul><p>I don't have the sources of this very specific version anymore, as the last sources I have for this Prédateur "classic" version are the ones for v0.1.3b4, which sadly has a bad bug making Prédateur selects bad variations from time to time (but even once in a game is enough to lose the game).</p><p>This version is untuched since nearly two months, as I'm in the process of rewriting Prédateur from scratch using bitboards.</p>JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com5tag:blogger.com,1999:blog-6531771531966237639.post-12144063041162875002008-05-16T15:17:00.000-07:002008-05-17T09:35:20.957-07:00You wanted it, you get it<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJTGfJcNSDHmhP6yJ4K_eraxMrnSceokl4sezIQz0zRczTYBctoME5wLasHxxSZg14mgGGufKJCwA8E_8vuRtWH2JwpDFaAc71bQiw_WaRj1OPNmwaZSMb45WGn1AMox79Enr8-U2NF7Ob/s1600-h/pendu1.jpg"><img id="BLOGGER_PHOTO_ID_5201103746332120290" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJTGfJcNSDHmhP6yJ4K_eraxMrnSceokl4sezIQz0zRczTYBctoME5wLasHxxSZg14mgGGufKJCwA8E_8vuRtWH2JwpDFaAc71bQiw_WaRj1OPNmwaZSMb45WGn1AMox79Enr8-U2NF7Ob/s200/pendu1.jpg" border="0" /></a><br /><div>All right... due to <a href="http://64.68.157.89/forum/viewtopic.php?t=21022">shameless and harsh popular pressure</a>, I decided to release the old Prédateur 0.1.1.</div><div>This was a one month old version, so don't complain about any bugs you would find in this early version.</div><div>I must add that it was purely designed for engine to engine gantlets, and so lacks some uci commands to force it to play and so on...</div><div>I hope you'll have some fun toying with this early version anyway. =)</div><div>Download link on the right.</div>JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com0tag:blogger.com,1999:blog-6531771531966237639.post-17160492083892265292007-08-29T10:32:00.000-07:002007-08-29T10:42:35.083-07:00New... and last release of Prédateur under this shape<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCviLekBjpHaHkGg06txrs9S2bRlgxNdqodKGiXHZVpB-L70KKU__pDYm8xhXbz-gQm_ZkTpCp6UluPFhMR6tkdN_9xdnlUcI2jPb1exXQHag5KNaIBrod9HRvQbxxz6PbkO_aE_rXfC2j/s1600-h/turn_back.jpg"><img id="BLOGGER_PHOTO_ID_5104177191967879426" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCviLekBjpHaHkGg06txrs9S2bRlgxNdqodKGiXHZVpB-L70KKU__pDYm8xhXbz-gQm_ZkTpCp6UluPFhMR6tkdN_9xdnlUcI2jPb1exXQHag5KNaIBrod9HRvQbxxz6PbkO_aE_rXfC2j/s200/turn_back.jpg" border="0" /></a><br /><div>Today I decided to stop keeping modifying Prédateur so I can set a breakpoint to this branch of the sources. I did so because I consider my move generator to be really too slow. It computes about 1 million moves per second for a reasulting search of 100-120KNodes/s. When one consider that engines like <a href="http://www.zipproth.de/jetchess/">JetChess</a> generate nearly 700 millions moves per second, one can just decide to change the design of ones engine. So starting from now, I'll write a new move generator from scratch for Prédateur and go back to the current developement point when I'll had managed to get a decent one.</div><div> </div><div>Regarding this last release of Prédateur "One", version 0.1.2, it implemented Hash Tables (one for the AlphaBeta search and one for quiescence search), and benefited from several speed enhancements. Calculation speed is nearly doubled compared with Prédateur 0.1.1.</div>JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com2tag:blogger.com,1999:blog-6531771531966237639.post-2559156608542164352007-08-27T15:07:00.000-07:002007-08-28T11:24:57.531-07:00That first win<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO5__m5sF69fGYbdt0uc92dFfwmg8z4yV4nS4GDd60P8u3lXBU_wm878L_6BC67bvpHkANlIAPStIlxyWzZwwrQYeJ8XA2gYc-eMgk19M_3BEneUJIahyphenhyphengghEkiS84gjsnzedJgHTcnZ2a/s1600-h/Chess3.jpg"><img id="BLOGGER_PHOTO_ID_5103506253651734754" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO5__m5sF69fGYbdt0uc92dFfwmg8z4yV4nS4GDd60P8u3lXBU_wm878L_6BC67bvpHkANlIAPStIlxyWzZwwrQYeJ8XA2gYc-eMgk19M_3BEneUJIahyphenhyphengghEkiS84gjsnzedJgHTcnZ2a/s200/Chess3.jpg" border="0" /></a> You can watch this first game Prédateur won against TSCP <a href="http://julien.marcel.free.fr/chessview/Predateur.htm">at this adress</a> (java applet).<br />This was version 0.1.1 of Prédateur, that didn't implemented hash tables yet. Now Prédateur does, which allows it to search nearly 2-3 plies deeper during the middle game.JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com0tag:blogger.com,1999:blog-6531771531966237639.post-12119881844578274072007-08-27T14:16:00.001-07:002007-08-28T02:24:08.242-07:00Yet another chess engine...<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAgT4KzioXtKsBX5b8_yFX2_e3lEbqB09aWkKYF32gasgD07yBXgClNSNcXh6rQVElL6KypndYdHn24SarOyLxoZCwqTJ2mnnn-iaLMKwXZEA_hHD5btSdvZ-TxY1MOqmEhWpySrgIderk/s1600-h/chess.jpg"><img id="BLOGGER_PHOTO_ID_5103493342980042962" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAgT4KzioXtKsBX5b8_yFX2_e3lEbqB09aWkKYF32gasgD07yBXgClNSNcXh6rQVElL6KypndYdHn24SarOyLxoZCwqTJ2mnnn-iaLMKwXZEA_hHD5btSdvZ-TxY1MOqmEhWpySrgIderk/s200/chess.jpg" border="0" /></a><br /><div></div><br /><p>... but this one is mine!</p><p>Chess programming is actually the main reason why I bought my first computer, an Amiga 500, fifteen years ago : my best friend told me it was impossible to code a chess program in Amiga basic. I bought the Amiga and started working. Two months of hard coding later, I had won the bet : my program was playing chess. Well, kinda. It took twenty minutes for it to play a very bad move, with a two-plies search. But that was a begining.</p><p>What happened during the following fifteen years, then ? Not much. I got too busy with my law studies and so on to take it any further. Though the routines for my moves generator can be traced back to 2001 and so is my minimax search and my alpha-beta pruning.</p><p>As I had time during this summer vacation, I started it all again and... voilà! After a month of happy coding, I have now a full working UCI chess engine wich ranges around 2000 Elo. That's a good start for a first try, though I probably won't publish any binary until the engine reaches at least 2500 Elo. Up to now, it can defeat engines like Tom Kerrigan's TSCP. Oh my! I got so joyfull when it won its first game against TSCP!</p><p>Prédateur is the name. It's coded in FreePascal under Lazarus IDE. The source code is about 2500 lines long and it computes a small 100KNodes/s on my Dual-Core Pentium D running at 2.8GHz. Not that much, eh? But it's just the beginning and it improves each day. I'm quite proud of my move ordering though, making it able to compete with engines that computes four-five more nodes per second.</p>JuLieNhttp://www.blogger.com/profile/16525523544609548556noreply@blogger.com0