I am not sure if this was mentioned or thought of before but here is my thinking:
A lot of noise comes from "luck".
Let say A has a dominant position with .85 lead.
B found a way to capture a knight. A would have found this and possibly prevent this if it looked just 1 ply more.
B eventually won the game...even though A had a dominant position and a better eval.
So my idea is this:
If B sees a huge eval swing (B can capture a piece) then instead of playing this move it will pick the 2nd best move only if the 2nd move is close to the initial eval.
This will help eliminate "luck"/noise.
Any thoughts on my logic?
An idea regarding tuning evals..
Moderator: Ras
-
bob
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: An idea regarding tuning evals..
Berliner proposed such an idea 15 years ago. Has merit against humans. Computers don't overlook much. If your search says move X is best, it likely is, even if it is losing. There are several variations on the idea, but all violate the basic premise of minimax, and basically "hope" for a mistake by the opponent, rather than playing the absolute best move the search can come up with.voyagerOne wrote:I am not sure if this was mentioned or thought of before but here is my thinking:
A lot of noise comes from "luck".
Let say A has a dominant position with .85 lead.
B found a way to capture a knight. A would have found this and possibly prevent this if it looked just 1 ply more.
B eventually won the game...even though A had a dominant position and a better eval.
So my idea is this:
If B sees a huge eval swing (B can capture a piece) then instead of playing this move it will pick the 2nd best move only if the 2nd move is close to the initial eval.
This will help eliminate "luck"/noise.
Any thoughts on my logic?
-
voyagerOne
- Posts: 154
- Joined: Tue May 17, 2011 8:12 pm
Re: An idea regarding tuning evals..
I am not sure if we are on the same brain wave.Berliner proposed such an idea 15 years ago. Has merit against humans. Computers don't overlook much. If your search says move X is best, it likely is, even if it is losing. There are several variations on the idea, but all violate the basic premise of minimax, and basically "hope" for a mistake by the opponent, rather than playing the absolute best move the search can come up with.
This has nothing to do with improving search but fine tuning against evaluations.
EvalA is white.
EvalB is black.
Basically if evalB sees at the last depth that it can capture a piece from evalA then evalB will purposely play the next best move (knowing it inferior to the best play).
The logic here is that evalB says "Capturing that Piece is a Cheap shot...since evalA did not get a chance to see it."
The point is to remove luck factor when brute testing evals.
-
Evert
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: An idea regarding tuning evals..
I think the idea is flawed, although on some level it's not radically different from an idea I posted about last week (which did nothing according to the test I ran).voyagerOne wrote: Basically if evalB sees at the last depth that it can capture a piece from evalA then evalB will purposely play the next best move (knowing it inferior to the best play).
The logic here is that evalB says "Capturing that Piece is a Cheap shot...since evalA did not get a chance to see it."
The point is to remove luck factor when brute testing evals.
A few moves are good, many are pointless and some are downright bad. I tend to think about search as not being about finding a good move for yourself, but refuting the last move by the opponent. That's why you capture the most valuable piece first and that's why you try killer moves: you have a threat that the opponent failed to defend against, so you punish him relentlessly.
Yes, sometimes you'll misevaluate a position because of the horizon effect. It'll happen, there's very little that can be done about this. A deeper search will eventually see the problem and correct it.
-
rbarreira
- Posts: 900
- Joined: Tue Apr 27, 2010 3:48 pm
Re: An idea regarding tuning evals..
I think you are trying to cheat statistics here, and that usually doesn't end well. Just run enough games (make them fast if you have to) and such "luck factor" will be accounted for and therefore irrelevant for the final result.voyagerOne wrote:I am not sure if we are on the same brain wave.Berliner proposed such an idea 15 years ago. Has merit against humans. Computers don't overlook much. If your search says move X is best, it likely is, even if it is losing. There are several variations on the idea, but all violate the basic premise of minimax, and basically "hope" for a mistake by the opponent, rather than playing the absolute best move the search can come up with.
This has nothing to do with improving search but fine tuning against evaluations.
EvalA is white.
EvalB is black.
Basically if evalB sees at the last depth that it can capture a piece from evalA then evalB will purposely play the next best move (knowing it inferior to the best play).
The logic here is that evalB says "Capturing that Piece is a Cheap shot...since evalA did not get a chance to see it."
The point is to remove luck factor when brute testing evals.
-
Uri Blass
- Posts: 11216
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: An idea regarding tuning evals..
I see no logical reason to play the second best movevoyagerOne wrote:I am not sure if we are on the same brain wave.Berliner proposed such an idea 15 years ago. Has merit against humans. Computers don't overlook much. If your search says move X is best, it likely is, even if it is losing. There are several variations on the idea, but all violate the basic premise of minimax, and basically "hope" for a mistake by the opponent, rather than playing the absolute best move the search can come up with.
This has nothing to do with improving search but fine tuning against evaluations.
EvalA is white.
EvalB is black.
Basically if evalB sees at the last depth that it can capture a piece from evalA then evalB will purposely play the next best move (knowing it inferior to the best play).
The logic here is that evalB says "Capturing that Piece is a Cheap shot...since evalA did not get a chance to see it."
The point is to remove luck factor when brute testing evals.
It is possible that the opponent has a bug and let you to win a piece and in this case you are not going to take advantage of the bug and even if the opponent has no bug and the opponent found some tactics against your best move if you do not see the tactics by search then there is a big probability that the same tactics works also against the second best move.
The only idea that may be good is to use more time in case that you see a big evaluation change that improves your position(if you have +1 advantage and suddenly you see +3 evaluation then maybe it is a trap and with more time the search can find a better move and even if you are wrong and there is no trap you can probably win the game with less time)
-
Evert
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: An idea regarding tuning evals..
This, I think, could be interesting, but I would do it differently. If you are ahead, you will tend to get more ahead as you more and more overpower the other side. Where I would look for traps is if the evaluation suddenly jumps from being behind or equal to being ahead. Maybe your enemy just blundered, maybe he's laying a trap. On the other hand, if you're already behind, it may not change the result of the game in the end anyway.Uri Blass wrote: The only idea that may be good is to use more time in case that you see a big evaluation change that improves your position(if you have +1 advantage and suddenly you see +3 evaluation then maybe it is a trap and with more time the search can find a better move and even if you are wrong and there is no trap you can probably win the game with less time)
-
AlvaroBegue
- Posts: 932
- Joined: Tue Mar 09, 2010 3:46 pm
- Location: New York
- Full name: Álvaro Begué (RuyDos)
Re: An idea regarding tuning evals..
I think this is a terrible idea.
Let's say I modify an evaluation function so that the engine is a little more careful about keeping pieces on safe locations. In this case, I hope to reduce the probability of finding myself in situations where the opponent can capture a knight by some clever tactics, but the procedure you propose will not be able to measure the virtues of my modification, because it would dismiss those situations as "noise".
As someone said already, let statistics deal with noise. Anything you do to reduce noise is bound to introduce biases that you really don't want.
Let's say I modify an evaluation function so that the engine is a little more careful about keeping pieces on safe locations. In this case, I hope to reduce the probability of finding myself in situations where the opponent can capture a knight by some clever tactics, but the procedure you propose will not be able to measure the virtues of my modification, because it would dismiss those situations as "noise".
As someone said already, let statistics deal with noise. Anything you do to reduce noise is bound to introduce biases that you really don't want.
-
diep
- Posts: 1822
- Joined: Thu Mar 09, 2006 11:54 pm
- Location: The Netherlands
Re: An idea regarding tuning evals..
In a depth limited search how did you have in mind doing this?voyagerOne wrote:I am not sure if this was mentioned or thought of before but here is my thinking:
A lot of noise comes from "luck".
Let say A has a dominant position with .85 lead.
B found a way to capture a knight. A would have found this and possibly prevent this if it looked just 1 ply more.
B eventually won the game...even though A had a dominant position and a better eval.
So my idea is this:
If B sees a huge eval swing (B can capture a piece) then instead of playing this move it will pick the 2nd best move only if the 2nd move is close to the initial eval.
This will help eliminate "luck"/noise.
Any thoughts on my logic?
Say we are in position P which is the position after the openingsmoves
e4 Nf6 e5
From P we play d5 now exf6 wins a piece
yet our search would also consider Ne4 or Nd5 anyway avoiding the loss.
yet an important thing that our depth limited search sees is that Nf6 in the first place is a bad move after e4, because after e5 Nd5 then white has a great pawn in the center and blacks knight is on the run.
Whereas after d5 and not playing exf6 we would conclude that Nf6 is a great move for black against e4, as against whites pawn on e5 we have both a knight developed as well as a pawn on d5, which is for sure much better for our evaluation than only the pawn on e5.
So your proposed idea has a huge 'quiescent evaluation' scoring problem.
-
voyagerOne
- Posts: 154
- Joined: Tue May 17, 2011 8:12 pm
Re: An idea regarding tuning evals..
The whole idea is this:
Our depth is 6 plies.
Let say during evalA's turn the eval at ply6 is .50.
Now its evalB turns.
Iterative deepening at ply 5 we found a move that scores .58
Now iterative deepening at ply 6 we found a move that scores -1.70.
EvalA's didn't see this big eval swing because it was 1 ply deeper than its search (the capture was at depth 7).
So instead of playing this nice move...EvalB looks for the 2nd best move.
If the 2nd best move is .58 +/- 10 (close to the stable score) than evalB will play this otherwise it will play the best move.
The idea is to prove if EvalA position is superior. If EvalA can't recover its piece than evalB knows EvalA 's position is definitely week and will soon capture the piece...
This algorithm will be apply to both sides.
The whole idea is to get rid of "cheap shots".
Our depth is 6 plies.
Let say during evalA's turn the eval at ply6 is .50.
Now its evalB turns.
Iterative deepening at ply 5 we found a move that scores .58
Now iterative deepening at ply 6 we found a move that scores -1.70.
EvalA's didn't see this big eval swing because it was 1 ply deeper than its search (the capture was at depth 7).
So instead of playing this nice move...EvalB looks for the 2nd best move.
If the 2nd best move is .58 +/- 10 (close to the stable score) than evalB will play this otherwise it will play the best move.
The idea is to prove if EvalA position is superior. If EvalA can't recover its piece than evalB knows EvalA 's position is definitely week and will soon capture the piece...
This algorithm will be apply to both sides.
The whole idea is to get rid of "cheap shots".