Jan 30, 2007

[New Version] v0.2b - Transposition tables

  • Transposition tables are implemented along with a new draw detection scheme
  • There is now a zobrist key field in the Board-class, the key is updated when making and unmaking moves, but can also be generated from scratch with the static getZobristKey-method in the Zobrist-class
  • Changed pv search so it is only used if a best move has been found
  • Sorting moves is now done with a much faster bubble-sort method
  • Changed move generation slightly and added a new filterQuis-method which adds the right values to the captures
  • Quiescent search now re-uses the moves generated in the alphaBeta method
  • Mediocre is now developed in Eclipse so the folders look a bit different
  • The .bat-files now point to "/bin/" so they work as long as they are kept in the original folder (you should not have to update the path in them anymore)
  • Sorting methods are completely rewritten, based on orderingValue
  • Preliminary orderingValues are added to moves at generation time
  • Move-objects now have a orderingValue used in sorting
  • Implemented fixed depth search, call Engine.search() with depth>0 to use, call with depth=0 for time control mode
  • The line input can now be used to play games with fixed depth (5 for now) if you enter moves on the form "e2e4" etc. It is still very crude and is supposed to be used for testing
  • Plus many minor tweaks and changes

Note: Although I have tested this version extensively I am quite sure there is still a bug or two hiding, feel free to report any odd behaviour you might find. Also I wanted to get this out as fast as possible so some of the new code lack comments, and there might be some trace code still left in. Nothing that effects the play though.

Thanks to Casper W. Berg, Mark Lefler and Gary on TalkChess.com who helped me with a few bugs.


I forgot to change the version numbers in the release. This is now fixed.

1 comment:

Anonymous said...

I have tested Mediocre 0.2b on one game and it works well. I will do the "quick test" again this evening to see if we can see any improvement with this kind of test. The real test was of course the one you did: making matches between the two versions of mediocre. And the improvement was great, good work!

The version you have in developement looks also very good!!

If you wish that I help you in testing, you can always send me an email with the version of Mediocre for which you want some test (before release for example). I can also run mediocre against some other UCI engine to see what happen.