Thinker 5.2a released...

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Dann Corbit, Harvey Williamson

CThinker
Posts: 388
Joined: Wed Mar 08, 2006 10:08 pm

Re: Does the En Passant works?

Post by CThinker »

Marc MP wrote:This was played using winboardx (it was a completely bizarre game by the way!):

[White "Thinker 5.2B (passive)"]
[Black "Fruit 2.2"]
[Result "0-1"]
[TimeControl "180+3"]
[Annotator "3... -0.04"]
[Number "8"]

1. d4 Nf6 2. Bg5 Ne4 3. Bf4 g5 {-0.04/12} 4. Be3 d5 {-0.06/12} 5. Nd2
Bg7 {-0.10/12} 6. Nxe4 dxe4 {-0.17/11} 7. c3 Bf6 {-0.17/11} 8. Qb3
Nc6 {-0.11/11} 9. h4 gxh4 {-0.18/11} 10. Bf4 O-O {-0.22/10} 11. Bh6
Re8 {-0.03/11} 12. O-O-O a5 {+0.00/11} 13. a4 Ra6 {-0.05/11} 14. e3
Rb6 {-0.09/12} 15. Qa2 Bg4 {+0.01/12} 16. f3 Bf5 {-0.11/12} 17. g4
{User adjudication} 0-1

Fruit played hg3 ep. A message appeared saying something like: "Illegal capture rejected by first program". Did anyone noticed (working or not) e.p. capture by Thinker?
There is a bug in the move validation code. Most EP captures are validated correctly, except the ones that are like what you demonstrated. This is when the code thinks that the capturing pawn is pinned, when in fact is is not - the King and the potential attacker are on adjacent files, but the code thinks they are on the same file (that's the bug).

Sorry about that. I have ran thousands of games, and never hit this one.

I will prepare a fix and have it out in the next few days.
CThinker
Posts: 388
Joined: Wed Mar 08, 2006 10:08 pm

Re: Thinker 5.2a released...

Post by CThinker »

Andre van Ark wrote:Hi,

Thanks for the update Lance, and Werner thx for the help.

Lance, are you planning to release a SMP-version?

Best wishes,

André
I have had an SMP version for a long time now. I'm just now happy with its performance, so, I have not released it yet. It has been improving over time - I might actually have something out before the end of this year.
Marc MP

Re: Does the En Passant works?

Post by Marc MP »

CThinker wrote:
Marc MP wrote:This was played using winboardx (it was a completely bizarre game by the way!):

[White "Thinker 5.2B (passive)"]
[Black "Fruit 2.2"]
[Result "0-1"]
[TimeControl "180+3"]
[Annotator "3... -0.04"]
[Number "8"]

1. d4 Nf6 2. Bg5 Ne4 3. Bf4 g5 {-0.04/12} 4. Be3 d5 {-0.06/12} 5. Nd2
Bg7 {-0.10/12} 6. Nxe4 dxe4 {-0.17/11} 7. c3 Bf6 {-0.17/11} 8. Qb3
Nc6 {-0.11/11} 9. h4 gxh4 {-0.18/11} 10. Bf4 O-O {-0.22/10} 11. Bh6
Re8 {-0.03/11} 12. O-O-O a5 {+0.00/11} 13. a4 Ra6 {-0.05/11} 14. e3
Rb6 {-0.09/12} 15. Qa2 Bg4 {+0.01/12} 16. f3 Bf5 {-0.11/12} 17. g4
{User adjudication} 0-1

Fruit played hg3 ep. A message appeared saying something like: "Illegal capture rejected by first program". Did anyone noticed (working or not) e.p. capture by Thinker?
There is a bug in the move validation code. Most EP captures are validated correctly, except the ones that are like what you demonstrated. This is when the code thinks that the capturing pawn is pinned, when in fact is is not - the King and the potential attacker are on adjacent files, but the code thinks they are on the same file (that's the bug).

Sorry about that. I have ran thousands of games, and never hit this one.

I will prepare a fix and have it out in the next few days.
Well if that happens one game per 10K, I can live without... On the other hand I would immensely appreciate if your engine could output its PV in the usual way (i.e. so that we can analyze with it). Your engine plays in a somewhat unusual way for a program; far more speculative and aware of its attacking chances involving long-term sacrifices and attacking builds up! I've seen more than once Thinker 5.1 being reffered as the "Michael Tal" of computer chess, both on this forum and on the rybkachess.com forum. I understand that you may have others priorities like compatibility with hand held devices or with multi-core, and thank you for the new release, it is always appreciated!

Marc
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: Does the En Passant works?

Post by Ovyron »

Marc MP wrote:I would immensely appreciate if your engine could output its PV in the usual way (i.e. so that we can analyze with it).
Me too.
James Constance
Posts: 358
Joined: Wed Mar 08, 2006 8:36 pm
Location: UK

Re: Does the En Passant works?

Post by James Constance »

Ovyron wrote:
Marc MP wrote:I would immensely appreciate if your engine could output its PV in the usual way (i.e. so that we can analyze with it).
Me too.
Me too, too! :)
User avatar
Marek Soszynski
Posts: 580
Joined: Wed May 10, 2006 7:28 pm
Location: Birmingham, England

Re: Does the En Passant works?

Post by Marek Soszynski »

James Constance wrote:
Ovyron wrote:
Marc MP wrote:I would immensely appreciate if your engine could output its PV in the usual way (i.e. so that we can analyze with it).
Me too.
Me too, too! :)
I also.
Marek Soszynski
User avatar
Werner
Posts: 2863
Joined: Wed Mar 08, 2006 10:09 pm
Location: Germany
Full name: Werner Schüle

Re: Thinker 5.2a ponder - moves

Post by Werner »

Inside Arena you see the main line of Thinker after the move. The 2nd move is normally the ponder move.
When watching Thinker I often are wondering which move Thinker awaits:
it looks not like the best opponent move, it looks like random. With such ponder-moves Thinker has no advantage from pondering - its always the wrong move I see here.
I would like to see a comment from Lance to this main-line after the move.

I have made an example. In the following game I noted the 2nd move displayed from Thinker an manually wrote it down as comment in the notation (if possible). E.g. have a look at move 11. h4 pondering e8g8?

[D]r3k2r/pppnnppp/8/2P1p1q1/4P2P/2N2B2/PP3PP1/R2QK2R b KQkq h3 0 11

Werner

[Event "Thinker p"]
[Site "SPEEDSTER"]
[Date "2008.07.22"]
[Round "1"]
[White "(Passive)Thinker 5.2B x64"]
[Black "DeepSjeng27 1CPU"]
[Result "*"]
[BlackElo "2200"]
[Time "16:35:06"]
[WhiteElo "2200"]
[TimeControl "40/600:40/600:40/600"]
[Termination "unterminated"]
[PlyCount "60"]
[WhiteType "human"]
[BlackType "human"]

1. d4 d6 2. Nf3 Bg4 3. c4 Nd7 4. e4 e5 5. Be2 Be7 6. Nc3 Bxf3 7. Bxf3 Bg5
8. Bxg5 Qxg5 9. c5 {g8f6} dxc5 {-0.13/15 42 -0.13/15 42} 10. dxc5 Ne7
{-0.12/14 6 -0.12/14 6} 11. h4 {e8g8} Qf6 {-0.07/15 15 -0.07/15 15} 12. Qa4
{e8g8} Qc6 {-0.07/15 5 -0.07/15 5} 13. Qxc6 Nxc6 {-0.07/15 -0.07/15 0} 14.
Nd5 O-O-O {-0.07/15 -0.07/15 0} 15. Bg4 {c6b4} h5 {+0.12/16 16 +0.12/16 16}
16. Bh3 Kb8 {+0.12/16 +0.12/16 0} 17. Bxd7 {c6d4} Rxd7 {+0.36/17 17
+0.36/17 17} 18. O-O-O {d7d5} Rhd8 {+0.31/18 17 +0.31/18 17} 19. f3 {c6b4}
Nd4 {+0.37/17 14 +0.37/17 14} 20. b4 {c7c6} a5 {+0.45/17 20 +0.45/17 20}
21. bxa5 {c7c6} Rxd5 {+0.37/17 26 +0.37/17 26} 22. exd5 Rxd5 {+0.32/17 6
+0.32/17 6} 23. f4 {b8c8} Rxc5+ {+0.29/17 23 +0.29/17 23} 24. Kb2 {c5c2}
Rb5+ {+0.29/17 10 +0.29/17 10} 25. Kc3 Rxa5 {+0.29/17 +0.29/17 0} 26. fxe5
Nc6 {+0.29/17 +0.29/17 0} 27. Rd7 {a5c5} Nxe5 {+0.27/16 17 +0.27/16 17} 28.
Re7 g6 {+0.27/16 +0.27/16 0} 29. Re8+ Ka7 {+0.27/1 +0.27/1 0} 30. Re7
{a7b6} Kb6 {+0.16/16 29 +0.16/16 29} *
CThinker
Posts: 388
Joined: Wed Mar 08, 2006 10:08 pm

Re: Thinker 5.2a ponder - moves

Post by CThinker »

Werner wrote:Inside Arena you see the main line of Thinker after the move. The 2nd move is normally the ponder move.
When watching Thinker I often are wondering which move Thinker awaits:
it looks not like the best opponent move, it looks like random. With such ponder-moves Thinker has no advantage from pondering - its always the wrong move I see here.
I would like to see a comment from Lance to this main-line after the move.

I have made an example. In the following game I noted the 2nd move displayed from Thinker an manually wrote it down as comment in the notation (if possible). E.g. have a look at move 11. h4 pondering e8g8?

[D]r3k2r/pppnnppp/8/2P1p1q1/4P2P/2N2B2/PP3PP1/R2QK2R b KQkq h3 0 11

Werner

[Event "Thinker p"]
[Site "SPEEDSTER"]
[Date "2008.07.22"]
[Round "1"]
[White "(Passive)Thinker 5.2B x64"]
[Black "DeepSjeng27 1CPU"]
[Result "*"]
[BlackElo "2200"]
[Time "16:35:06"]
[WhiteElo "2200"]
[TimeControl "40/600:40/600:40/600"]
[Termination "unterminated"]
[PlyCount "60"]
[WhiteType "human"]
[BlackType "human"]

1. d4 d6 2. Nf3 Bg4 3. c4 Nd7 4. e4 e5 5. Be2 Be7 6. Nc3 Bxf3 7. Bxf3 Bg5
8. Bxg5 Qxg5 9. c5 {g8f6} dxc5 {-0.13/15 42 -0.13/15 42} 10. dxc5 Ne7
{-0.12/14 6 -0.12/14 6} 11. h4 {e8g8} Qf6 {-0.07/15 15 -0.07/15 15} 12. Qa4
{e8g8} Qc6 {-0.07/15 5 -0.07/15 5} 13. Qxc6 Nxc6 {-0.07/15 -0.07/15 0} 14.
Nd5 O-O-O {-0.07/15 -0.07/15 0} 15. Bg4 {c6b4} h5 {+0.12/16 16 +0.12/16 16}
16. Bh3 Kb8 {+0.12/16 +0.12/16 0} 17. Bxd7 {c6d4} Rxd7 {+0.36/17 17
+0.36/17 17} 18. O-O-O {d7d5} Rhd8 {+0.31/18 17 +0.31/18 17} 19. f3 {c6b4}
Nd4 {+0.37/17 14 +0.37/17 14} 20. b4 {c7c6} a5 {+0.45/17 20 +0.45/17 20}
21. bxa5 {c7c6} Rxd5 {+0.37/17 26 +0.37/17 26} 22. exd5 Rxd5 {+0.32/17 6
+0.32/17 6} 23. f4 {b8c8} Rxc5+ {+0.29/17 23 +0.29/17 23} 24. Kb2 {c5c2}
Rb5+ {+0.29/17 10 +0.29/17 10} 25. Kc3 Rxa5 {+0.29/17 +0.29/17 0} 26. fxe5
Nc6 {+0.29/17 +0.29/17 0} 27. Rd7 {a5c5} Nxe5 {+0.27/16 17 +0.27/16 17} 28.
Re7 g6 {+0.27/16 +0.27/16 0} 29. Re8+ Ka7 {+0.27/1 +0.27/1 0} 30. Re7
{a7b6} Kb6 {+0.16/16 29 +0.16/16 29} *
The PV output in Thinker is never accurate. This is because the PV output is simply from iterating though the hash table (which just gets overwritten with other moves all the time).
Uri Blass
Posts: 10102
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Thinker 5.2a ponder - moves

Post by Uri Blass »

CThinker wrote:
Werner wrote:Inside Arena you see the main line of Thinker after the move. The 2nd move is normally the ponder move.
When watching Thinker I often are wondering which move Thinker awaits:
it looks not like the best opponent move, it looks like random. With such ponder-moves Thinker has no advantage from pondering - its always the wrong move I see here.
I would like to see a comment from Lance to this main-line after the move.

I have made an example. In the following game I noted the 2nd move displayed from Thinker an manually wrote it down as comment in the notation (if possible). E.g. have a look at move 11. h4 pondering e8g8?

[D]r3k2r/pppnnppp/8/2P1p1q1/4P2P/2N2B2/PP3PP1/R2QK2R b KQkq h3 0 11

Werner

[Event "Thinker p"]
[Site "SPEEDSTER"]
[Date "2008.07.22"]
[Round "1"]
[White "(Passive)Thinker 5.2B x64"]
[Black "DeepSjeng27 1CPU"]
[Result "*"]
[BlackElo "2200"]
[Time "16:35:06"]
[WhiteElo "2200"]
[TimeControl "40/600:40/600:40/600"]
[Termination "unterminated"]
[PlyCount "60"]
[WhiteType "human"]
[BlackType "human"]

1. d4 d6 2. Nf3 Bg4 3. c4 Nd7 4. e4 e5 5. Be2 Be7 6. Nc3 Bxf3 7. Bxf3 Bg5
8. Bxg5 Qxg5 9. c5 {g8f6} dxc5 {-0.13/15 42 -0.13/15 42} 10. dxc5 Ne7
{-0.12/14 6 -0.12/14 6} 11. h4 {e8g8} Qf6 {-0.07/15 15 -0.07/15 15} 12. Qa4
{e8g8} Qc6 {-0.07/15 5 -0.07/15 5} 13. Qxc6 Nxc6 {-0.07/15 -0.07/15 0} 14.
Nd5 O-O-O {-0.07/15 -0.07/15 0} 15. Bg4 {c6b4} h5 {+0.12/16 16 +0.12/16 16}
16. Bh3 Kb8 {+0.12/16 +0.12/16 0} 17. Bxd7 {c6d4} Rxd7 {+0.36/17 17
+0.36/17 17} 18. O-O-O {d7d5} Rhd8 {+0.31/18 17 +0.31/18 17} 19. f3 {c6b4}
Nd4 {+0.37/17 14 +0.37/17 14} 20. b4 {c7c6} a5 {+0.45/17 20 +0.45/17 20}
21. bxa5 {c7c6} Rxd5 {+0.37/17 26 +0.37/17 26} 22. exd5 Rxd5 {+0.32/17 6
+0.32/17 6} 23. f4 {b8c8} Rxc5+ {+0.29/17 23 +0.29/17 23} 24. Kb2 {c5c2}
Rb5+ {+0.29/17 10 +0.29/17 10} 25. Kc3 Rxa5 {+0.29/17 +0.29/17 0} 26. fxe5
Nc6 {+0.29/17 +0.29/17 0} 27. Rd7 {a5c5} Nxe5 {+0.27/16 17 +0.27/16 17} 28.
Re7 g6 {+0.27/16 +0.27/16 0} 29. Re8+ Ka7 {+0.27/1 +0.27/1 0} 30. Re7
{a7b6} Kb6 {+0.16/16 29 +0.16/16 29} *
The PV output in Thinker is never accurate. This is because the PV output is simply from iterating though the hash table (which just gets overwritten with other moves all the time).

If the hash is even not accurate enough to give a move to ponder
then it may be better not to use hash in thinker because the hash can confuse thinker by telling it wrong moves to search first.

It also means that if you only fix that bug of bad order of moves thinker may be significantly stronger.

I do not use hash tables to get move to ponder but even in programs that use hash tables for this purpose usually the hash is at least accurate enough to give correct move to ponder because they do not use replace always method and do not replace hash entries with big depths that are more important.

Uri
Edsel Apostol
Posts: 803
Joined: Mon Jul 17, 2006 5:53 am
Full name: Edsel Apostol

Re: Thinker 5.2a ponder - moves

Post by Edsel Apostol »

Hi Uri,

The PV output in Thinker I think is just a hack to simply support that feature. Maybe what it contains is the last line the engine searched that was saved to the hash table. It has no value other than just pure random.

Lance could add PV support correctly in less than 5 minutes but its his choice not to, and I respect that.