Moderator: Andres Valverde
Wander Ferreira Jr wrote:Hi,
I have a new version of my engine, Goyaz (http://wferreirajr.googlepages.com/index-en.htm), and I got about 100% of speed-up in the nps (nodes per second) compared to version 2.
It became better and some people (including myself) noticed it in the games.
However, I got an e-mail saying that the nps is the same of version 2 and it lost performance (maybe because of the increasing in the code size).
Could it be possible that this difference be explained by the computers being differents?
The changes that increased the nps were in my eval function: it doesn't scan all the board again, but only change the value of the position based on the "from" and "to" squares (it's only a piece-square table evaluator).
I don't see how this could increase the speed in some systems and do nothing in others.
Could someone help me?
Thanks!
[Event "Computer chess game"]
[Site "Pentium IV"]
[Date "2007.08.31"]
[Round "-"]
[White "umax1_6w"]
[Black "GOYAZ"]
[Result "1-0"]
[TimeControl "40/120"]
1. Nc3 e6 2. e4 Qf6 3. Nf3 Nc6 4. Bc4 Qg6 5. O-O Qh5 6. d4 Bd6 7. e5 Bb4 8.
Nb5 Ba5 9. Bd2 a6 10. Nc3 Nge7 11. Ne2 Bxd2 12. Qxd2 Qf5 13. Bd3 Qh5 14.
Ng3 Qh6 15. Qxh6 gxh6 16. Nh5 d6 17. Nf6+ Kd8 18. Bxh7 Nd5 19. Nxd5 exd5
20. Bd3 Be6 21. h4 Kc8 22. a4 dxe5 23. dxe5 a5 24. Kh2 Nb4 25. Nd4 c5 26.
Nxe6 fxe6 27. Rac1 Rg8 28. Bb5 Rg4 29. Kh3 Re4 30. f4 Na2 31. Ra1 Nb4 32.
Rf2 d4 33. Kg3 Nd5 34. Bc4 Ra7 35. Bxd5 exd5 36. Kg4 Re3 37. Kf5 Kd7 38.
Rc1 Ra8 39. Kg6 Ra6+ 40. Kf5 Kc8 41. c4 dxc4 42. Rxc4 Rc6 43. Rfc2 d3 44.
Rc1 b6 45. R4c3 Rc7 46. Kg6 d2 47. Rd1 Re4 48. Kxh6 Rd7 49. Rc2 Re2 50. g4
Re4 51. Kg5 Re2 52. b3 Rg7+ 53. Kf5 Rd7 54. Kg5 Rg7+ 55. Kf5 Rxg4 ???? 56. Kxg4
Rg2+ 57. Kf3 Rh2 58. Kg4 Rg2+ 59. Kf3 c4 ???? 60. Kxg2 Kd7 61. Rxc4 Ke6 62. Rxd2
Kf5 63. Kf3 Kg6 64. Rd7 Kh5 65. Rc6 Kxh4 66. Rh6#
{White mates} 1-0
[Event "Computer chess game"]
[Site "Pentium IV"]
[Date "2007.08.31"]
[Round "-"]
[White "umax1_6w"]
[Black "GOYAZ"]
[Result "1-0"]
[TimeControl "40/60"]
1. Nc3 e6 2. e4 Qf6 3. Nf3 Nc6 4. Bc4 Qg6 5. O-O Qh5 6. d4 Bd6 7. e5 Na5 8.
exd6 Nxc4 9. dxc7 Qa5 10. Qe1 Qxc7 11. Nd5 Qd6 12. Nc3 Nb6 13. Ne4 Qd5 14.
Bf4 Nc4 15. b3 Qf5 16. Bd6 Qd5 ???? 17. bxc4 Qxc4 18. Be5 Kf8 19. Nd6 Qxc2 ????
20. Rc1 Qd3 21. Rxc8+ Rxc8 22. Nxc8 Ne7 23. Qb4 Kg8 24. Nxe7+ Kf8 25. Ng6+ Kg8
26. Qf8#
{White mates} 1-0
H.G.Muller wrote:Obviously there is something wrong with your rep-draw code here: uMax 1.6, not recognizing rep-draws, falls in a repeat cycle despite its overwhelming Pawn front, but as soon as Goyaz can bring about the repeat it gives away a Rook instead (twice!).
Wander Ferreira Jr wrote:Yes, I know what is wrong. I am just trying to find a way to solve it:
If it finds a position that already happened, it evaluates it as zero and stops the search on that node.
I think that the horizon effect is the cause of many of those moves, since I have absolutely no quiescense search, no extensions and no reductions.
H.G.Muller wrote:Don't bother about looking for other bugs, then. Without a QS you cannot expect sensible play, as at any search depth the aim of the engine will become to capture a high piece just before the horizon. The search just doesn't converge at all (although I have heard claims that not having QS can be compensated by 4 plies of full-width search).
So concentrate on getting the QS running. If the error is as bad as you say, you shouldn't have much trouble tracking it down. (I know the effect! )
Wander Ferreira Jr wrote:H.G.Muller wrote:Obviously there is something wrong with your rep-draw code here: uMax 1.6, not recognizing rep-draws, falls in a repeat cycle despite its overwhelming Pawn front, but as soon as Goyaz can bring about the repeat it gives away a Rook instead (twice!).
Yes, I know what is wrong. I am just trying to find a way to solve it:
If it finds a position that already happened, it evaluates it as zero and stops the search on that node.
If the game is already in a position that is a repeat (as in that game), all nodes are zero and it takes the first one (and here my ordering routine finishes me: captures are allways put in first, so if there is a repetition, Goyaz tends to capture even protected pieces).
I am rewriting my repetition recognization routine, but, for now, it is used only in some cases, to make the damage not so big.
About the other bugs, I am creating some type of debug file and will see what is happening. I think that the horizon effect is the cause of many of those moves, since I have absolutely no quiescense search, no extensions and no reductions.
With the quiescense search I have made (and with my null-moves), I can't take back the moves very well and, in no time, my engine's board is full of doubled kings, a lot of knigths, white and black pieces sharing the same square and so on... (this is the reason why I don't use neither of them)
I will have to make it work if I wan't more playing strength...
Thanks for the tips. I will concentrate more in this bugs.
bob wrote:Wander Ferreira Jr wrote:H.G.Muller wrote:Obviously there is something wrong with your rep-draw code here: uMax 1.6, not recognizing rep-draws, falls in a repeat cycle despite its overwhelming Pawn front, but as soon as Goyaz can bring about the repeat it gives away a Rook instead (twice!).
Yes, I know what is wrong. I am just trying to find a way to solve it:
If it finds a position that already happened, it evaluates it as zero and stops the search on that node.
If the game is already in a position that is a repeat (as in that game), all nodes are zero and it takes the first one (and here my ordering routine finishes me: captures are allways put in first, so if there is a repetition, Goyaz tends to capture even protected pieces).
That's broken. How can you possibly have a repetition after playing a capture?
Uri Blass wrote:I understood that he explained that he has a bug and his program simply assumes that every move is a draw after repetition so it simply evaluate every move as 0.00 and plays the first move.
Capture certainly can happen after repetition.
Return to Programming and Technical Discussions
Users browsing this forum: No registered users and 10 guests