Could EGTB make an Engine "weaker"?

Discussion of chess software programming and technical issues.

Moderator: Ras

voyagerOne
Posts: 154
Joined: Tue May 17, 2011 8:12 pm

Re: Could EGTB make an Engine "weaker"?

Post by voyagerOne »

Well the top 5 engines are a league of their own.
The 2700~ engines are "like playing humans" in the top 5 perspective.

I personally believe if an engine dose player profiling it will significantly increase its Elo.

I recall that Stockfish's ELo gets hurt when testing vs. weaker engine. Maybe what we discussed is why.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Could EGTB make an Engine "weaker"?

Post by bob »

voyagerOne wrote:Well the top 5 engines are a league of their own.
The 2700~ engines are "like playing humans" in the top 5 perspective.

I personally believe if an engine dose player profiling it will significantly increase its Elo.

I recall that Stockfish's ELo gets hurt when testing vs. weaker engine. Maybe what we discussed is why.
Not going to work here. The issue is simple. You search to a deep depth and fail low. You play the move that was best before the fail low, hoping your opponent won't see the winning move. With a computer program, this is NOT going to happen if the program is a top-tier program. Do you REALLY believe a weaker program would spot something that a much stronger program would not?

Against humans, who are much weaker tactically than the computers, this strategy does work. I used to do this in Cray Blitz, in a version I only used to play blitz against human GM players. Using that, plus a basically very strong program on very fast hardware, we went for several years at ACM events without losing or drawing a single game against a human, and we typically played 50 games minimum during those tournaments, after the rounds ended...

I added it for this reason. At the 1984 US Open, we were invited to enter Cray Blitz in the speed tournament. We did. We blew through GM/IM/Master players like nobody's business. And when we played a 1900 player, we inexplicably threw away our queen and lost. Gutman (Korchnoi's second at the human WC event that year) said "Computer made horrible blunder." I asked "What should it have played?" He responded "Take the rook". I reset to that position and played his move and it announced a mate in 11 for the opponent. Gutman was stunned. And apparently the ONLY move that avoided the mate was to sac the queen, unfortunately against a human that would never have found the mate. I went back and re-read Berliner's description and added it immediately, but it had to be compiled in as I did not want to do that in a computer vs computer game...
User avatar
phhnguyen
Posts: 1542
Joined: Wed Apr 21, 2010 4:58 am
Location: Australia
Full name: Nguyen Hong Pham

Re: Could EGTB make an Engine "weaker"?

Post by phhnguyen »

Not sure what you will do in the opposite cases: the weaker (by lucky openings) has a better score in term of evaluation but that position is a draw by EGTB. Should your search return a draw or a lose for the monster?
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Could EGTB make an Engine "weaker"?

Post by Don »

bob wrote:
Don wrote:
voyagerOne wrote:Let say we have a monster engine with 8-piece database.
Its playing against a weaker engine and towards end game the Eval is +.60 for the monster engine. The monster engine is surely going to win.

But wait...using TB the best outcome is a draw. The path to the draw is extremely difficult to find using search. So the monster plays a "sub-optimal" move, creating easier paths for the draw. The results then ends in a draw.

Without the TB the monster will win the game...since both engines are blind to the crazy path for a draw.

Thoughts?
This is a classic problem even without databases. In a famous computer chess game from decades ago a superior deeper searching program found it was getting checkmated and played a move which delayed the mate (causing it to take longer.) But the delaying move was a sacrifice that the weaker program would easily refute. Had it "bluffed" by playing the move it would have played before discovering the mate, the inferior program would not have seen the mate and would have surely lost.

As a result of this game an algorithm was proposed to deal with it. If you suddenly find a major score drop which will cause a lost games in one iteration, play the move you would have played on the previous iteration.

I have no idea how helpful that idea is.

Don
I think that was Berliner's idea. Works against humans. Not so well against computers...
If you only do that when you are losing outright, there is little downside though. Let's say your score is about even and on the final iteration before you make your move the score drops to -6 pawns and the programs prescribes a different move. The move you were going to play becomes the "swindle" move and you might as well play it, against human or computer.

Will it save the day against a computer? Probably not, but it's not going to hurt since you are going to lose in either case. But if the move doesn't lose outright it's probably best to accept the inferior position if there is still some fight left in the position.

Don
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Could EGTB make an Engine "weaker"?

Post by Don »

Don wrote:
bob wrote:
Don wrote:
voyagerOne wrote:Let say we have a monster engine with 8-piece database.
Its playing against a weaker engine and towards end game the Eval is +.60 for the monster engine. The monster engine is surely going to win.

But wait...using TB the best outcome is a draw. The path to the draw is extremely difficult to find using search. So the monster plays a "sub-optimal" move, creating easier paths for the draw. The results then ends in a draw.

Without the TB the monster will win the game...since both engines are blind to the crazy path for a draw.

Thoughts?
This is a classic problem even without databases. In a famous computer chess game from decades ago a superior deeper searching program found it was getting checkmated and played a move which delayed the mate (causing it to take longer.) But the delaying move was a sacrifice that the weaker program would easily refute. Had it "bluffed" by playing the move it would have played before discovering the mate, the inferior program would not have seen the mate and would have surely lost.

As a result of this game an algorithm was proposed to deal with it. If you suddenly find a major score drop which will cause a lost games in one iteration, play the move you would have played on the previous iteration.

I have no idea how helpful that idea is.

Don
I think that was Berliner's idea. Works against humans. Not so well against computers...
If you only do that when you are losing outright, there is little downside though. Let's say your score is about even and on the final iteration before you make your move the score drops to -6 pawns and the programs prescribes a different move. The move you were going to play becomes the "swindle" move and you might as well play it, against human or computer.

Will it save the day against a computer? Probably not, but it's not going to hurt since you are going to lose in either case. But if the move doesn't lose outright it's probably best to accept the inferior position if there is still some fight left in the position.

Don
When I said "accept the inferior position" I meant accept the choice that the computer wants to play if it's not losing outright.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
Uri Blass
Posts: 11206
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Could EGTB make an Engine "weaker"?

Post by Uri Blass »

bob wrote:
Don wrote:
voyagerOne wrote:Let say we have a monster engine with 8-piece database.
Its playing against a weaker engine and towards end game the Eval is +.60 for the monster engine. The monster engine is surely going to win.

But wait...using TB the best outcome is a draw. The path to the draw is extremely difficult to find using search. So the monster plays a "sub-optimal" move, creating easier paths for the draw. The results then ends in a draw.

Without the TB the monster will win the game...since both engines are blind to the crazy path for a draw.

Thoughts?
This is a classic problem even without databases. In a famous computer chess game from decades ago a superior deeper searching program found it was getting checkmated and played a move which delayed the mate (causing it to take longer.) But the delaying move was a sacrifice that the weaker program would easily refute. Had it "bluffed" by playing the move it would have played before discovering the mate, the inferior program would not have seen the mate and would have surely lost.

As a result of this game an algorithm was proposed to deal with it. If you suddenly find a major score drop which will cause a lost games in one iteration, play the move you would have played on the previous iteration.

I have no idea how helpful that idea is.

Don
I think that was Berliner's idea. Works against humans. Not so well against computers...
Did you test it against computers that are 200-300 elo weaker.
I think that the idea can work if you outsearch the opponent(when it is not important if the opponent is human or computer).