Weak engine

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Henk
Posts: 7216
Joined: Mon May 27, 2013 10:31 am

Weak engine

Post by Henk »

Played this game with white. Skipper always plays Nd5. Then you get a King on e6 and game is lost for black.

[pgn]
[Event "Computer Chess Game"]
[Site "HP"]
[Date "2015.01.27"]
[Round "-"]
[White "gebruiker"]
[Black "SkipperWinb"]
[Result "1-0"]
[TimeControl "300"]
[Annotator "1... -0.32"]

1. e4 Nc6 {-0.32/10 6} 2. Nf3 e5 {-0.43/10 6} 3. Bc4 Nf6 {+0.08/9 6} 4. Ng5
d5 {+0.13/9 6} 5. exd5 Nxd5 {+0.14/9 6} 6. d4 exd4 {+0.81/8 5} 7. O-O Be7
{+0.61/8 5} 8. Nxf7 Kxf7 {-0.21/9 5} 9. Qf3+ Ke6 {+0.08/9 5} 10. Re1+ Ne5
{-0.13/8 5} 11. Bf4 Bf6 {-0.59/9 5} 12. Nd2 b5 {-0.36/9 5} 13. Bb3 h5
{+0.65/8 5} 14. Bxe5 Bxe5 {-2.53/9 5} 15. Rxe5+ Kxe5 {-3.64/9 4} 16. Re1+
Ne3 {-3.77/9 4} 17. fxe3 Bf5 {-1.38/9 4} 18. exd4+ Kf6 {-13.63/9 4} 19.
Re6+ Kf7 {-13.94/10 4} 20. Qxf5+ Qf6 {-18.34/10 4} 21. Rxf6+ Ke8
{-23.08/10 5} 22. Qxb5+ c6 {-24.07/10 5} 23. Qxc6+
1-0
[/pgn]
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Weak engine

Post by zullil »

Henk
Posts: 7216
Joined: Mon May 27, 2013 10:31 am

Re: Weak engine

Post by Henk »

History repeating. What's the next step. What happened to your engine ?

Maybe I should add more randomness to prevent from playing same game all the time. I don't get an ego boost if I play the same game over and over again.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Weak engine

Post by zullil »

Henk wrote:History repeating. What's the next step. What happened to your engine ?

Maybe I should add more randomness to prevent from playing same game all the time. I don't get an ego boost if I play the same game over and over again.
My engine has been in suspended animation. Too busy for a while. Might find some time to resume work, but for me it's all for fun. My goal is to create an engine that can beat me (which shouldn't be hard to do).
Stan Arts
Posts: 179
Joined: Fri Feb 14, 2014 10:53 pm
Location: the Netherlands

Re: Weak engine

Post by Stan Arts »

Why not revert back to movegeneration, a clean alpha beta search and start over from there probably eliminating some bugs?

Quite useful to start over fresh a couple times when it comes to computerchess. Because you must be a super genius to get something bug free, 2500 or up working well in one go. (Not counting all the cloners.)

I'm not so I'm already on my 4th from scratch effort. 5 if you count the complete search rewrite for Neurosis a couple years ago which was completely ineffective so no one even knows about that. Hopefully hitting 2500 this time and ofcourse I think I will each time I start, even with my first nested loop 1-2-3-4 ply(ish) pseudo chess thing but then I found out computerchess is hard.
My 2nd effort StansChess that had some sort of alpha beta is probably around or below Skipper's level and makes some outright blunders here and there but I remember back then someone commented those seemed quite human so that must be considered a feature. Etc.
xmas79
Posts: 286
Joined: Mon Jun 03, 2013 7:05 pm
Location: Italy

Re: Weak engine

Post by xmas79 »

Stan Arts wrote:Why not revert back to movegeneration, a clean alpha beta search and start over from there probably eliminating some bugs?

Quite useful to start over fresh a couple times when it comes to computerchess. Because you must be a super genius to get something bug free, 2500 or up working well in one go. (Not counting all the cloners.)

I'm not so I'm already on my 4th from scratch effort. 5 if you count the complete search rewrite for Neurosis a couple years ago which was completely ineffective so no one even knows about that. Hopefully hitting 2500 this time and ofcourse I think I will each time I start, even with my first nested loop 1-2-3-4 ply(ish) pseudo chess thing but then I found out computerchess is hard.
My 2nd effort StansChess that had some sort of alpha beta is probably around or below Skipper's level and makes some outright blunders here and there but I remember back then someone commented those seemed quite human so that must be considered a feature. Etc.
I went different way. When I started to work on my engine I tried to develop it bug free directly from the beginning. I actually have a bug free move generation (I still here and then perft on various positions posted here on talkchess, and always get perfect results), a bug free Alpha Beta plus obvious bells and whistles (QS, null moves, LMR, check extensions etc...) , and a very simple and bug free evaluation function, albeit it is NOT tuned. The key idea was: "I'm going to implement this, do it and stop engine development until this is exactly as it shoud be: RIGHT". In this way, before adding any single thing I ensured the rest was ok.

From an alghoritmic point of view my engine seems to be bug free. The real problem of such approach is that R=2 or R=3 in null move does not move the engine from its point, since the strength of an engine is BOTH in search and eval. However, IMHO this development pattern turned out to be good, even if adding a new search "thing" would not produce any ELO gain. Of course adding risky things in search is completely useless, as their effectiveness cannot be tested in any way.... Eval and search heavily interfere (or better cooperate...). Every search and eval parameter is actually roughly guessed (being sometimes completely out of range), but I expect that when I will decide to tune the engine, the ELO gain will be huge.
jorose
Posts: 358
Joined: Thu Jan 22, 2015 3:21 pm
Location: Zurich, Switzerland
Full name: Jonathan Rosenthal

Re: Weak engine

Post by jorose »

Oh, Im still in the "no king safety" phase myself and it is glorious! On top of that my engine is currently tuned so he is not particularly fond of material and loves activity (people who faced him in his debut, HGM's tournament last Saturday, might agree) which makes it particularly entertaining to follow his games.

The following example was played today between my current version and a 3 week old version (which is still a bit materialistic). The position after 23.Nf4 is a thing of beauty imo =)

[pgn]
[Event "Computer Chess Game"]
[Site "jonathan-ThinkPad-X230"]
[Date "2015.01.28"]
[Round "7"]
[White "TheMachine v1.00a"]
[Black "TheMachine v1.00"]
[Result "1-0"]
[TimeControl "120+1"]
[Annotator "5. +0.31 4... -0.06"]

1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Qh4 {-0.06/10 4} 5. Qd3 {+0.31/9 4}
Bc5 {+0.13/9 4} 6. Be3 {+0.26/9 4} Nb4 {-0.10/9 3} 7. Qe2 {+0.63/9 3} Qxe4
{-0.10/9 3} 8. Nc3 {+1.26/10 3} Qg6 {-0.27/10 4} 9. a3 {+1.26/9 4} Na6
{-0.21/9 4} 10. b4 {+1.19/8 4} Be7 {-0.22/8 4} 11. Nd5 {+1.23/8 4} c6
{+0.00/9 3} 12. Nf4 {+1.27/9 3} Qf6 {-0.03/9 4} 13. Nh5 {+1.19/9 4} Qg6
{-0.31/9 3} 14. O-O-O {+1.23/8 3} d5 {+0.10/8 3} 15. h3 {+0.98/8 3} b5
{+0.03/8 3} 16. Qf3 {+1.55/8 3} Kf8 {-0.08/9 3} 17. Bd3 {+1.97/9 3} Qd6
{-0.34/10 3} 18. Bf4 {+1.90/9 3} Qd7 {-0.34/9 3} 19. Rhe1 {+1.90/8 3} Qb7
{-0.31/8 2.9} 20. Kb1 {+2.36/8 2.9} h6 {-0.24/8 3} 21. Re3 {+2.40/8 3} Bd7
{-0.18/7 2.6} 22. Be5 {+2.30/7 2.6} f6 {-0.89/8 2.8} 23. Nf4 {+2.75/8 2.8}
g5 {-1.45/9 2.6} 24. Bxf6 {+4.19/9 2.6} gxf4 {-3.19/9 2.6} 25. Bxh8
{+4.01/9 2.6} Bd6 {-3.11/9 2.5} 26. Ne2 {+4.31/9 2.5} Ne7 {-4.42/9 2.8} 27.
Nxf4 {+5.89/9 2.8} Kg8 {-4.77/9 2.6} 28. Bd4 {+6.33/8 2.6} Nf5 {-6.48/9 3}
29. Qg4+ {+7.58/9 3} Kf8 {-9.78/9 2.5} 30. Qg6 {+10.62/8 2.5} Be5
{-13.21/9 2.7} 31. Bxe5 {+17.48/9 2.7} Nc7 {-16.35/8 2.8} 32. Bd6+
{+536870.84/9 2.8} Nxd6 {-536870.84/10 2.7} 33. Qxh6+ {+536870.84/9 2.7}
Kf7 {-536870.84/10 2.3} 34. Qh7+ {+536870.84/9 2.3} Kf8 {-536870.84/10 2.2}
35. Ng6# {+536870.84/9 2.2}
{Xboard adjudication: Checkmate} 1-0
[/pgn]