A Chess forum. ChessBanter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » ChessBanter forum » Chess Newsgroups » rec.games.chess.computer (Computer Chess)
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

Tags: , , , , ,

Zebediah win against the Advance Level, Please Analyze?



 
 
Thread Tools Display Modes
  #31  
Old May 12th 08, 06:32 AM posted to rec.games.chess.computer
Peter Osterlund
external usenet poster
 
Posts: 153
Default Help Bot Advice adopted.

Sanny writes:

1. Nc3 d5 2. d4 Nf6 3. Bf4 e6 4. g3 Bb4 5. Bg2 Ne4 6. Bxe4 dxe4 7. e3 g5 8. Be5
O-O 9. g4 Nc6 10. Bg3 e5 11. d5 Ne7 12. Bxe5 Nxd5 13. Qe2 Re8 14. f4 exf3
15. Nxf3 Bxc3+ 16. bxc3 Bxg4 17. Bd4 c5 18. Bxc5 Nf4 19. Qf1 Qd5 20. Nxg5 Ng2+
21. Kf2 Qxc5 22. Kxg2 Qxg5 23. h4 Bf3+ 24. Kf2 Qxe3+ 25. Kg3 Bc6+ 26. Kh2 Qe5+
27. Kh3 Qe6+ 28. Kg3 Qd6+ 0-1

I guess that beginner level isn't intentionally making bad moves,
therefore my guess is a broken quiescence search.


When dis you played this game. I could not find any game against
Beginner Level. Have you not yet completed the game. Or may be you
played a month/ week ago when it was having bugs.


I played that game yesterday, but since I have already played 30
games, I'm only allowed to play the beginner level, and the games are
apparently not logged.

--
Peter Osterlund -
http://web.telia.com/~u89404340
Ads
  #32  
Old May 12th 08, 09:38 AM posted to rec.games.chess.analysis,rec.games.chess.misc,alt.chess,rec.games.chess.computer
Martin Brown
external usenet poster
 
Posts: 686
Default Help Bot Advice adopted.

Patrick Volk wrote:
On Fri, 9 May 2008 09:57:41 -0700 (PDT), Sanny
wrote:
Yes, I will see if that can be corrected. It is very difficult to
modify the code as changing one line of code brings new Bugs and then
a week is wasted in correcting the Bugs.


That statement tells me quite at least 2 things:

1) There's a lot of copy and paste in your code (parts tend to look
alike, with minor modifications... some question as to whether making
a change is the right one).


It would make sense to split the code into clean separate modules (even
if there was initially a slight performance penalty).

It is probably well worth profiling it to see exactly where it spends
all its time. Getting the thing to run faster would help a lot. You will
probably find that it spends all its time in the terminal node eval.

2) You're probably not using the benefits of Java. Your display might
be OO, but I doubt that your chess analysis part did. What I know
about some contemporary chess engines (the company I work for built
the boards for Deep Blue) is that they evaluate each space.


That is a hardware accelerator tactic which can consider all the squares
using a local sub processor per square. I don't think it works so well
on a PC.

You can score the piece count, but you also can score position...
Simplistically by how many squares are controlled. You only have 3
different kind of squares.


I get the impression it is already a bit better than that, but that
there is something horribly wrong with its quiessence search. Perhaps
because it thinks that pinned pieces can move or something... see the
game with the mobile phone.

Also I have to agree with what someone else said. For testing
purposes, you really should work on handling position notation. One of
the beauties of chess is the state of the game can store in so few
bytes (64 and be comfortable). If you have a position that is, say, a
mate in 5, you can try that position against different versions (and
load it against different opponents as well).


Regression testing at least means that you can be sure the program still
gets right all the test cases you have tested and fixed so far as well
as any new ones.

Checks and draws should be some sort of function... I forget whether
you play a particular sound when the person is in check, but you can
use it for that, and also to put a '+' in the notation (or '#' for
checkmate).


Human readable output needs a couple more tweaks and it would be OK.
Like for example putting the players and dates in the right sort of
brackets and format for standard engines to read.

Its like when we fly Kites. When the threads messup how difficult it
is to correct the jumbeled threads.

This Program is so large that if I have to read whole program line by
line, it will take me full day. So its very difficult to go through
all the codes and correct them.


Bulk spagetti code is not a viable programming model. It is time to
restructure the code and separate the evaluation, move generation and
alpha-beta search into clearly separate modules. Ultimately the majority
of the changes should be in eval once the other components are stable.

200K isn't that large, even for a one-person project.


It is large if there is no well defined overall structure.

Regards,
Martin Brown
** Posted from http://www.teranews.com **
  #33  
Old May 12th 08, 10:22 AM posted to rec.games.chess.computer
Martin Brown
external usenet poster
 
Posts: 686
Default Help Bot Advice adopted.

Peter Osterlund wrote:
Martin Brown writes:

Sanny wrote:

That game was played by EASY level. Heres a game by Advance Level
where Zebediah gave lots of sacrifices and win the game in just 34
moves.

In this game Zebediah was a knight ahead but later sacrificed its
knight to bring a quick end.


You mean that Getclub gifted him a knight and then played like a
patzer. This play is basically insane. There is something wrong with
either the evaluation function or the search algorithm.


I think the quiescence search is either not implemented at all or
somehow broken.


My instinct too. Some moves are otherwise inexplicable.

Just for fun, I played a game between GetClub (running
on a 2.4GHz Core2 CPU) and my mobile phone (I think it has a 400MHz
ARM CPU). I expected my phone to be tactically outplayed, but the
exact opposite happened. Here is the game:


Looking at Shredders computer analysis it is clear that the mobile phone
always had a deeper effective search than GetClub.
About what nominal rating is Glofiish chess?

[White "GetClub beginner level 10-20s/move"]
[Black "Glofiish X800, 15s/move"]
[Result "0-1"]


Yippee! Header data that will import into a CB chess engine..

1. Nc3 d5 2. d4 Nf6 3. Bf4 e6 4. g3 Bb4 5. Bg2 Ne4 6. Bxe4 dxe4


You have to wonder why it played BxN - cramping your own position is not
usually a good idea. I wonder if it thought 7. Nxe4 was possible (ie did
not see that the N was pinned in calculating the exchange)

Something harmless to continue developing like Bd2 would have been fine.

7. e3 g5 8. Be5
O-O 9. g4 Nc6 10. Bg3 e5


GetClub is steadily outplayed by an engine that sees deeper here.

10. a3 would be a better continuation. The line played helps black.

11. d5 Ne7 12. Bxe5 Nxd5 13. Qe2 Re8


We have to wonder why it thought 13. Qe2 was a good idea. It isn't.
h3,h4,a3,Kf1 would all be better (the position is already lost)

14. f4 exf3


ANother helpmate move. Not quite terminal but it greatly assists black.
I think a3 is obviously best with Bd4 or even O-O-O plausible.

15. Nxf3 Bxc3+ 16. bxc3 Bxg4 17. Bd4 c5


17. c4 looks better to me.

18. Bxc5 Nf4 19. Qf1 Qd5


Qd2 is better

20. Nxg5 Ng2+
21. Kf2 Qxc5 22. Kxg2 Qxg5 23. h4 Bf3+


OK. This position needs careful examination. The only viable move here
is Rg1 and I would expect most engines to find it. Anything else leads
inexorably to a mate. h4 is a mate in 10.

Interestingly this particular position produces one of the widest
spectrums of mate detected cutoffs I have seen from Shredder. Does
anyone know how to interpret them?
namely at 18 ply overnight infinite analysis
Rg1 -11.4
Qg1 -#211
e4 -#201
Qc1, Re1 -#177
h4 -#176
h3,Qd3 -#175
Qf4 -#172
Qe1, Qf2, Qe2 -#150
Qf3 -#149
(all the others are resolved to very quick mates)

NB it is odd that h4 stays at -#176 at 18 ply although after playing
"h4" explicitly the engine quickly finds the mate in 10.

24. Kf2 Qxe3+ 25. Kg3 Bc6+ 26. Kh2 Qe5+
27. Kh3 Qe6+ 28. Kg3 Qd6+ 0-1


I presume here that beginner level resigned when the mate came within
its event horizon (which seems surprisingly shallow).

I guess that beginner level isn't intentionally making bad moves,
therefore my guess is a broken quiescence search.


I am not sure. It is hard to decide what it thinks it is doing.

Sanny writes:

6. e2-e4{104} Nf6-e4{1978}
And now the final coup de grace. Suicide chess anyone ???


No it gives 2 points for killing 2 Center pawns and other 1 point for
white King Comming out unprotected. and Look at White position its
none of the pieces is developed.


Sanny what is the granularity of your evaluation function? You keep
talking about integral numbers of pawns as if that is the finest division.

Why a whole point for the unprotected king? Wouldn't a smaller value,
like 0.25 be better?


That is probably about right. Unless there is a forcing mate sequence -
some tricks for quickly breaking open a castled king rely on rook
sacrifice followed by a forcing sequence of checks to mate.

Regards,
Martin Brown
** Posted from http://www.teranews.com **
  #34  
Old May 12th 08, 06:01 PM posted to rec.games.chess.computer
Peter Osterlund
external usenet poster
 
Posts: 153
Default Help Bot Advice adopted.

Martin Brown writes:

Peter Osterlund wrote:
Martin Brown writes:

Sanny wrote:

That game was played by EASY level. Heres a game by Advance Level
where Zebediah gave lots of sacrifices and win the game in just 34
moves.

In this game Zebediah was a knight ahead but later sacrificed its
knight to bring a quick end.


You mean that Getclub gifted him a knight and then played like a
patzer. This play is basically insane. There is something wrong with
either the evaluation function or the search algorithm.


I think the quiescence search is either not implemented at all or
somehow broken.


My instinct too. Some moves are otherwise inexplicable.

Just for fun, I played a game between GetClub (running
on a 2.4GHz Core2 CPU) and my mobile phone (I think it has a 400MHz
ARM CPU). I expected my phone to be tactically outplayed, but the
exact opposite happened. Here is the game:


Looking at Shredders computer analysis it is clear that the mobile
phone always had a deeper effective search than GetClub.
About what nominal rating is Glofiish chess?


The phone runs Windows Mobile 6 and I installed CEBoard and a PocketPC
version of crafty. The program analyzes about 15k nodes/s. I don't
know what rating that translates to, but it's about 500 times slower
than crafty running on my desktop PC.

--
Peter Osterlund -
http://web.telia.com/~u89404340
  #35  
Old May 13th 08, 05:05 AM posted to rec.games.chess.analysis,rec.games.chess.misc,alt.chess,rec.games.chess.computer
Patrick Volk
external usenet poster
 
Posts: 176
Default Help Bot Advice adopted.

On Mon, 12 May 2008 08:38:04 +0100, Martin Brown
wrote:

Patrick Volk wrote:
On Fri, 9 May 2008 09:57:41 -0700 (PDT), Sanny
wrote:
Yes, I will see if that can be corrected. It is very difficult to
modify the code as changing one line of code brings new Bugs and then
a week is wasted in correcting the Bugs.


That statement tells me quite at least 2 things:

1) There's a lot of copy and paste in your code (parts tend to look
alike, with minor modifications... some question as to whether making
a change is the right one).


It would make sense to split the code into clean separate modules (even
if there was initially a slight performance penalty).

It is probably well worth profiling it to see exactly where it spends
all its time. Getting the thing to run faster would help a lot. You will
probably find that it spends all its time in the terminal node eval.


C&P is a consequence generally of wandering design. You find some code
that could work, and instead of re-factoring it to fulfill all cases,
you copy and modify it for each.

One of the levels of programming hell (hell not only to maintain, but
to test)!


2) You're probably not using the benefits of Java. Your display might
be OO, but I doubt that your chess analysis part did. What I know
about some contemporary chess engines (the company I work for built
the boards for Deep Blue) is that they evaluate each space.


That is a hardware accelerator tactic which can consider all the squares
using a local sub processor per square. I don't think it works so well
on a PC.


It used at least one processor per square. A PC could thread it, yeah,
not as fast, but it lends itself to replication.


You can score the piece count, but you also can score position...
Simplistically by how many squares are controlled. You only have 3
different kind of squares.


I get the impression it is already a bit better than that, but that
there is something horribly wrong with its quiessence search. Perhaps
because it thinks that pinned pieces can move or something... see the
game with the mobile phone.


Where A-B pruning comes in. At the level it's at, I don't think you're
going to find a queen sacrifice 4 plies down. Bail!


Also I have to agree with what someone else said. For testing
purposes, you really should work on handling position notation. One of
the beauties of chess is the state of the game can store in so few
bytes (64 and be comfortable). If you have a position that is, say, a
mate in 5, you can try that position against different versions (and
load it against different opponents as well).


Regression testing at least means that you can be sure the program still
gets right all the test cases you have tested and fixed so far as well
as any new ones.


Sanny's idea of regression testing is release, and saying how it's
improved 200%.


Checks and draws should be some sort of function... I forget whether
you play a particular sound when the person is in check, but you can
use it for that, and also to put a '+' in the notation (or '#' for
checkmate).


Human readable output needs a couple more tweaks and it would be OK.
Like for example putting the players and dates in the right sort of
brackets and format for standard engines to read.

Its like when we fly Kites. When the threads messup how difficult it
is to correct the jumbeled threads.

This Program is so large that if I have to read whole program line by
line, it will take me full day. So its very difficult to go through
all the codes and correct them.


Bulk spagetti code is not a viable programming model. It is time to
restructure the code and separate the evaluation, move generation and
alpha-beta search into clearly separate modules. Ultimately the majority
of the changes should be in eval once the other components are stable.


Exactly my point. His comments indicate he may not have painted
himself into the corner just yet, but there's probably no doorways or
windows around.
A program isn't philosophically a journey - it's more like a tour.
You have a list of sights to see.


200K isn't that large, even for a one-person project.


It is large if there is no well defined overall structure.


Very true.



Regards,
Martin Brown
** Posted from http://www.teranews.com **

 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Zebediah win against the Advance Level, Please Analyze? Sanny rec.games.chess.analysis (Chess Analysis) 29 May 13th 08 05:05 AM
Please Analyze the Advance Level best Game Sanny rec.games.chess.analysis (Chess Analysis) 6 April 23rd 08 10:47 AM
Please Analyze the Advance Level best Game Sanny rec.games.chess.computer (Computer Chess) 4 April 23rd 08 10:47 AM
Please Analyze the Advance Level best Game Sanny alt.chess (Alternative Chess Group) 4 April 23rd 08 10:47 AM
Please Analyze the Advance Level best Game Sanny rec.games.chess.politics (Chess Politics) 0 April 21st 08 10:01 AM


All times are GMT +1. The time now is 11:46 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.Content Relevant URLs by vBSEO 2.4.0
Copyright ©2004-2008 ChessBanter, part of the NewsgroupBanter project.
The comments are property of their posters.
Loans - Debt Consolidation - Mortgage Calculator - Per Insurance - Shares