Searching from the starting position the new Mediocre reaches 7 ply in about 7 seconds, having calculated about 835,000 nodes.
Mediocre v0.21b reaches 7 plies in 1.5 seconds having calculated only 22,000 nodes. After 7 seconds v0.21b has reached a bit more than 8 plies and calculated about 100,000 nodes.
The conclusion is the new Mediocre is lightyears faster than the old version, perhaps not 10x faster (like the numbers suggest since there are other factors than the raw node count) but atleast 7-8 times faster.
Unfortunately somewhere along the way I severly messed up the move ordering, so the new Mediocre has to go through hundreds of thousands more nodes to reach the same depth.
This is obviously due to a bug somewhere in the code, I just have to find it.
But these results still look very promising.
2 comments:
Hello and congratulations :)
I also did a chess engine using java long ago and it was not so bad :) Right now I don`t even remember how to code in Java :)
About move generation and speed in general, there is something that you really need to fix: big loops (like i < 120) because you do use them not only when generating moves but also in the evaluation routine. For a chess game you have at most 32 pieces, 16 per side.. so when generating the moves your loop should not be bigger than 16!, also it is a good idea to track both kings positions, that way you won't need to scan the board looking for the king and then see if it is in check.
Hope that helps..
Keep the good work my friend :)
Kazer
ps: sorry for my english :(
Yes this look very promosing indeed. I hope that you will the bug soon to be able to test this new version which look much faster!
Post a Comment