[D]8/8/2q4p/2k5/4Q3/5PP1/5K1P/8 w - - 0 91
I tested that most programs just do the Q exchange to win the game. But mine just do not want the Q exchange. I cannot figure out why?
I don't think any program need to treat this as an exceptional position.
I did these:
1) disable search tricks like razoring, LMR, futility, etc.
2) just use mat+pst evaluation
3) disable hashing, others...
Still to no avail. Anyone familiar with such search behavior?
Thanks,
Rasjid
simple search yet a bug ?
Moderators: hgm, Rebel, chrisw
-
- Posts: 588
- Joined: Thu Mar 09, 2006 4:47 pm
- Location: Singapore
-
- Posts: 588
- Joined: Thu Mar 09, 2006 4:47 pm
- Location: Singapore
Re: simple search yet a bug ?
Opps,
Maybe it is a very good sign.
When Rybka 1 was just released, it was well known that it cannot finish a game of kqk. I think I am on the right track
Rasjid
Maybe it is a very good sign.
When Rybka 1 was just released, it was well known that it cannot finish a game of kqk. I think I am on the right track
Rasjid
-
- Posts: 373
- Joined: Wed Mar 22, 2006 10:17 am
- Location: Novi Sad, Serbia
- Full name: Karlo Balla
Re: simple search yet a bug ?
Reduce penalty for king safety when only queens are on the board. Increase bonus for trading pieces if you have the advantage in materialChan Rasjid wrote:[D]8/8/2q4p/2k5/4Q3/5PP1/5K1P/8 w - - 0 91
I tested that most programs just do the Q exchange to win the game. But mine just do not want the Q exchange. I cannot figure out why?
I don't think any program need to treat this as an exceptional position.
I did these:
1) disable search tricks like razoring, LMR, futility, etc.
2) just use mat+pst evaluation
3) disable hashing, others...
Still to no avail. Anyone familiar with such search behavior?
Thanks,
Rasjid
Best Regards,
Karlo Balla Jr.
Karlo Balla Jr.
-
- Posts: 588
- Joined: Thu Mar 09, 2006 4:47 pm
- Location: Singapore
Re: simple search yet a bug ?
Your reply seems to indicate that some normal programs might also not do an immediate QxQ.Karlo Bala wrote:Reduce penalty for king safety when only queens are on the board. Increase bonus for trading pieces if you have the advantage in materialChan Rasjid wrote:[D]8/8/2q4p/2k5/4Q3/5PP1/5K1P/8 w - - 0 91
I tested that most programs just do the Q exchange to win the game. But mine just do not want the Q exchange. I cannot figure out why?
I don't think any program need to treat this as an exceptional position.
I did these:
1) disable search tricks like razoring, LMR, futility, etc.
2) just use mat+pst evaluation
3) disable hashing, others...
Still to no avail. Anyone familiar with such search behavior?
Thanks,
Rasjid
OK. I checked further with the linux programs with me. Homer, Hoichess - ok. Olithink fails - so I have company !
The problem is that mine still fails if I just eval() with mat + pst + imbalance bonus from material tables. My table has exchange bonus for a side up in material - scaling up as winning material goes down to zero. Still don't do an immediate QxQ.
I don't know about Olithink, but seems the author tries something different.
I'll see what I can do.
Rasjid.
-
- Posts: 588
- Joined: Thu Mar 09, 2006 4:47 pm
- Location: Singapore
Re: simple search yet a bug ?
I have tested all the other programs I have:-
SF, Robbo, Fruit, Hermann, phalanx, Roce, Crafty - all will do an immediate QxQ.
So it seems that most programs should be able to fine the best move in less than a second otherwise there is something that could be taken as a form of a bug.
So now only Olithink and my program fails.
Rasjid
SF, Robbo, Fruit, Hermann, phalanx, Roce, Crafty - all will do an immediate QxQ.
So it seems that most programs should be able to fine the best move in less than a second otherwise there is something that could be taken as a form of a bug.
So now only Olithink and my program fails.
Rasjid
-
- Posts: 4052
- Joined: Thu May 15, 2008 9:57 pm
- Location: Berlin, Germany
- Full name: Sven Schüle
Re: simple search yet a bug ?
Can you post the analysis (PVs) of your program for that position?Chan Rasjid wrote:I have tested all the other programs I have:-
SF, Robbo, Fruit, Hermann, phalanx, Roce, Crafty - all will do an immediate QxQ.
So it seems that most programs should be able to fine the best move in less than a second otherwise there is something that could be taken as a form of a bug.
So now only Olithink and my program fails.
Rasjid
Does your program have the ability to print the static evaluation of a given position so that you can compare the eval before and after the queen exchange? If the eval after exchanging queens is better than before then it is probably some search bug, otherwise it could be an eval problem.
Sven
-
- Posts: 588
- Joined: Thu Mar 09, 2006 4:47 pm
- Location: Singapore
Re: simple search yet a bug ?
Give me a little time.Sven Schüle wrote:Can you post the analysis (PVs) of your program for that position?Chan Rasjid wrote:I have tested all the other programs I have:-
SF, Robbo, Fruit, Hermann, phalanx, Roce, Crafty - all will do an immediate QxQ.
So it seems that most programs should be able to fine the best move in less than a second otherwise there is something that could be taken as a form of a bug.
So now only Olithink and my program fails.
Rasjid
Does your program have the ability to print the static evaluation of a given position so that you can compare the eval before and after the queen exchange? If the eval after exchanging queens is better than before then it is probably some search bug, otherwise it could be an eval problem.
Sven
My program lacks many such analytical facilities - Perft and fen JUST recently done in an old program!
Rasjid.
-
- Posts: 6401
- Joined: Thu Mar 09, 2006 8:30 pm
- Location: Chicago, Illinois, USA
Re: simple search yet a bug ?
Is the PST giving huge bonuses for centralization? Then engine may not want to exchange Q.Chan Rasjid wrote:Your reply seems to indicate that some normal programs might also not do an immediate QxQ.Karlo Bala wrote:Reduce penalty for king safety when only queens are on the board. Increase bonus for trading pieces if you have the advantage in materialChan Rasjid wrote:[D]8/8/2q4p/2k5/4Q3/5PP1/5K1P/8 w - - 0 91
I tested that most programs just do the Q exchange to win the game. But mine just do not want the Q exchange. I cannot figure out why?
I don't think any program need to treat this as an exceptional position.
I did these:
1) disable search tricks like razoring, LMR, futility, etc.
2) just use mat+pst evaluation
3) disable hashing, others...
Still to no avail. Anyone familiar with such search behavior?
Thanks,
Rasjid
OK. I checked further with the linux programs with me. Homer, Hoichess - ok. Olithink fails - so I have company !
The problem is that mine still fails if I just eval() with mat + pst + imbalance bonus from material tables. My table has exchange bonus for a side up in material - scaling up as winning material goes down to zero. Still don't do an immediate QxQ.
I don't know about Olithink, but seems the author tries something different.
I'll see what I can do.
Rasjid.
Gaviota score in this position is
Code: Select all
+-----------------+
| . . . . . . . . |
| . . . . . . . . |
| . . q . . . . p |
| . . k . . . . . | Castling:
| . . . . Q . . . | ep: -
| . . . . . P P . |
| . . . . . K . P |
| . . . . . . . . | [White]
+-----------------+
score
===> 2.75
Qxc6+
Kxc6
score
===> 2.51
f4
Kd6
score
===> 2.82
Code: Select all
+-----------------+
| . . . . . . . . |
| . . . . . . . . |
| . . q . . . . p |
| . . k . . . . . | Castling:
| . . . . Q . . . | ep: -
| . . . . . P P . |
| . . . . . K . P |
| . . . . . . . . | [White]
+-----------------+
analyze
********* Starts iterative deepening, thread = 0
set timer to infinite
219 1: 0.0 +2.85 46.Qxc6+ Kxc6 47.f4
1048 2: 0.0 +2.82 46.Qxc6+ Kxc6 47.f4 Kd5
1120 3 0.0 :-) 46.Qxc6+
4090 3: 0.0 +3.33 46.Qxc6+ Kxc6 47.f4 Kd5 48.f5
14945 4: 0.0 +2.93 46.Qxc6+ Kxc6 47.f4 Kd5 48.f5 Ke5
46048 5: 0.1 +2.93 46.Qxc6+ Kxc6 47.f4 Kd5 48.f5 Ke5 49.g4
48108 6 0.1 :-) 46.Qxc6+
51617 6 0.1 +3.50 46.Qxc6+ Kxc6 47.g4 Kd5 48.h4 Ke5 49.g5
hxg5 50.hxg5
96846 6: 0.2 +3.50 46.Qxc6+ Kxc6 47.g4 Kd5 48.h4 Ke5 49.g5
hxg5 50.hxg5
105536 7 0.2 +3.13 46.Qxc6+ Kxc6 47.f4 Kd5 48.Kf3 Ke6
49.Kg4 Kf6 50.f5
305443 7: 0.6 +3.13 46.Qxc6+ Kxc6 47.f4 Kd5 48.Kf3 Ke6
49.Kg4 Kf6 50.f5
320614 8 0.7 +3.42 46.Qxc6+ Kxc6 47.f4 Kd5 48.g4 Ke6 49.h4
Kf6 50.g5+ hxg5 51.fxg5+ Kg6
743833 8: 1.5 +3.42 46.Qxc6+ Kxc6 47.f4 Kd5 48.g4 Ke6 49.h4
Kf6 50.g5+ hxg5 51.fxg5+ Kg6
774290 9 1.6 +3.53 46.Qxc6+ Kxc6 47.f4 Kd5 48.g4 Ke6 49.h4
Kf6 50.g5+ Kf5 51.gxh6 Kg6 52.f5+ Kxh6
1574201 9: 3.2 +3.53 46.Qxc6+ Kxc6 47.f4 Kd5 48.g4 Ke6 49.h4
Kf6 50.g5+ Kf5 51.gxh6 Kg6 52.f5+ Kxh6
1640475 10 3.3 +3.58 46.Qxc6+ Kxc6 47.f4 Kd5 48.g4 Ke6 49.g5
hxg5 50.fxg5 Kf5 51.h4 Kg6 52.Kg3
3515716 10: 6.9 +3.58 46.Qxc6+ Kxc6 47.f4 Kd5 48.g4 Ke6 49.g5
hxg5 50.fxg5 Kf5 51.h4 Kg6 52.Kg3
3713558 11 7.2 +3.58 46.Qxc6+ Kxc6 47.f4 Kd5 48.g4 Ke6 49.g5
hxg5 50.fxg5 Kf5 51.h4 Kg6 52.Kg3 Kh5
Code: Select all
analyze
********* Starts iterative deepening, thread = 0
set timer to infinite
219 1: 0.0 +2.85 46.Qxc6+ Kxc6 47.f4
1048 2: 0.0 +2.82 46.Qxc6+ Kxc6 47.f4 Kd5
1120 3 0.0 :-) 46.Qxc6+
4090 3: 0.0 +3.33 46.Qxc6+ Kxc6 47.f4 Kd5 48.f5
12752 4: 0.1 +3.72 46.Qxc6+ Kxc6 47.g4 Kd5 48.g5 h5
13010 5 0.1 :-) 46.Qxc6+
29359 5: 0.1 +4.61 46.Qxc6+ Kxc6 47.g4 Kd5 48.g5 h5 49.g6
Ke6
30215 6 0.1 :-) 46.Qxc6+
31774 6 0.1 +5.08 46.Qxc6+ Kxc6 47.g4 Kd5 48.g5 h5 49.g6
Ke6 50.g7 Kf7
69384 6: 0.2 +5.08 46.Qxc6+ Kxc6 47.g4 Kd5 48.g5 h5 49.g6
Ke6 50.g7 Kf7
73319 7 0.2 +4.83 46.Qxc6+ Kxc6 47.g4 Kd5 48.g5 h5 49.f4
Ke6 50.f5+ Ke5
211585 7: 0.7 +4.83 46.Qxc6+ Kxc6 47.g4 Kd5 48.g5 h5 49.f4
Ke6 50.f5+ Ke5
216435 8 0.7 :-) 46.Qxc6+
221889 8 0.7 +5.53 46.Qxc6+ Kxc6 47.g4 Kd5 48.g5 h5 49.g6
Ke6 50.g7 Kf7 51.f4 Kg8
444268 8: 1.3 +5.53 46.Qxc6+ Kxc6 47.g4 Kd5 48.g5 h5 49.g6
Ke6 50.g7 Kf7 51.f4 Kg8
456863 9 1.3 :-) 46.Qxc6+
461485 9 1.3 :-) 46.Qxc6+
466099 9 1.3 :-) 46.Qxc6+
505126 9 1.5 +Mat_26 46.Qxc6+ Kxc6 47.g4 Kd5 48.g5 hxg5
<=TABLE
6547695 9: 16.3 +Mat_26 46.Qxc6+ Kxc6 47.g4 Kd5 48.g5 hxg5
<=TABLE
6557467 10 16.3 +Mat_26 46.Qxc6+ Kxc6 47.g4 Kd5 48.g5 hxg5
<=TABLE
24627196 10: 58.3 +Mat_26 46.Qxc6+ Kxc6 47.g4 Kd5 48.g5 hxg5
<=TABLE
24657455 11 58.3 +Mat_26 46.Qxc6+ Kxc6 47.g4 Kd5 48.g5 hxg5
<=TABLE
Miguel
-
- Posts: 778
- Joined: Sat Jul 01, 2006 7:11 am
Re: simple search yet a bug ?
I would guess it is an eval problem. Try doing a static evaluation of these two positions and see which your program thinks is better.
[d]8/8/2q4p/2k5/8/3Q1PP1/5K1P/8 w - - 0 1
[d]8/8/2q4p/2k5/8/3Q1PP1/5K1P/8 w - - 0 1
[d]8/8/2q4p/2k5/8/3Q1PP1/5K1P/8 w - - 0 1
[d]8/8/2q4p/2k5/8/3Q1PP1/5K1P/8 w - - 0 1
-
- Posts: 161
- Joined: Thu Jan 08, 2009 9:06 pm
- Location: San Francisco, USA
Re: simple search yet a bug ?
When analyzing in Plisk, for the first few plies it tries Qe3+ but then it find Qxc6 and sticks with it.
Also like Miguel said, notice how, as it searches deeper the score increases as well. So maybe your problem is depth? Or, if you have SEE maybe you value the trade as negative and somehow you prune the capture?
Regards,
Vlad.
Also like Miguel said, notice how, as it searches deeper the score increases as well. So maybe your problem is depth? Or, if you have SEE maybe you value the trade as negative and somehow you prune the capture?
Code: Select all
1 0:0 +3.61 1.Qf4 Qd5 (92/0)
2 0:0 +3.85 1.Qe3+ Kb5 2.g4 (983/61)
3 0:0 +3.72 1.Qe3+ Kb5 2.g4 Qd6 (1874/117)
4 0:0 +3.73 1.Qe3+ Kd5 2.Qd3 Ke6 3.g4 (6661/416)
5 0:0 +3.70 1.Qe3+ Kd5 2.Qd2 Kc5 3.g4 Qf6 (16610/535)
6 0:0 +3.80 1.Qe3+ Kd5 2.Kg2 Qe6 3.Qd3 Kc6 4.g4 (44077/565)
7 0:0 +3.79 1.Qe3+ Kd5 2.g4 Qe6 3.Qxe6 Kxe6 4.f4 Kf6 5.Ke3 (110970/711)
8 0:0 +3.83 1.Qe3+ Kd5 2.g4 Qe6 3.Qd2 Kc6 4.Kg2 h5 5.Qc3 Kd7 (214562/809)
9 0:0 +3.83 1.Qe3+ Kd5 2.Qd2 Ke5 3.g4 Qf6 4.Qe3 Kd5 5.Kg2 h5 (411336/849)
Pondering: Qxc6 (1/32)
10 0:1 +3.84 1.Qe3+ Kd5 2.Qd2 Ke5 3.g4 Qf6 4.Qe3 Kd6 5.h3 Qe6 6.Qf4 Kc6 7.Kg1 (993531/872)
Pondering: Qxc6 (1/32)
11 0:2 +4.26 1.Qxc6+ Kxc6 2.g4 Kd5 3.Ke3 Kd6 4.f4 Kd5 5.h3 Kd6 6.f5 Ke5 (2325365/882)
Pondering: Qe1 (30/32)
12 0:3 +4.16 1.Qxc6+ Kxc6 2.g4 Kd5 3.Ke3 Kd6 4.f4 Kd5 5.Kd3 Ke6 6.Kd4 Kf6 7.h4 (3272036/900)
Pondering: Qd4 (10/32)
13 0:5 +4.38 1.Qxc6+ Kxc6 2.g4 Kd5 3.Ke3 Kd6 4.f4 Kd5 5.Kd3 Kd6 6.Kd4 h5 7.gxh5 Ke6 (4895855/939)
Pondering: Kg2 (3/32)
Pondering: Qd4 (10/32)
14 0:9 +4.44 1.Qxc6+ Kxc6 2.g4 Kd5 3.Ke3 h5 4.gxh5 Ke6 5.h3 Kf6 6.Kf4 Kg7 7.Kg5 Kf7 8.f4 (8614184/943)
Pondering: f4 (2/32)
Pondering: g4 (4/32)
Pondering: Ke3 (5/32)
Pondering: Qd5 (11/32)
Pondering: Qf4 (20/32)
15 0:17 +4.58 1.Qxc6+ Kxc6 2.g4 Kd5 3.Ke3 Kd6 4.f4 Kd5 5.h3 Kd6 6.Kd4 Ke6 7.Ke4 Kd6 8.f5 Kc5 (16656353/967)
Pondering: f4 (2/32)
Pondering: g4 (3/32)
Pondering: Qc4 (14/32)
Pondering: Qe2 (16/32)
Pondering: Qg6 (22/32)
16 0:30 +4.76 1.Qxc6+ Kxc6 2.g4 Kd5 3.Ke3 Kd6 4.Ke4 Ke7 5.f4 Kf6 6.h4 Ke7 7.g5 h xg5 8.fxg5 Ke6 9.h5 (29109385/967)
Vlad.