1.g4 opening is losing?

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

Moderators: hgm, Rebel, chrisw

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

Re: 1.g4 opening is losing?

Post by Ovyron »

Zenmastur wrote: Fri Feb 07, 2020 4:46 am It looks to be a mate in 60 to 70 moves (excluding the TB part. i.e. 60 to 70 moves before it converts to a purely TB position).
And I played into that because all white alternatives that I checked were losing faster, to the point Stockfish Depth 24 was being able to win against every white defense, so it's possible this:

1. g4 d5 2. g5

[d]rnbqkbnr/ppp1pppp/8/3p2P1/8/8/PPPPPP1P/RNBQKBNR b KQkq -

Is some mate in 110 to 120 moves (excluding the TB part).
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: 1.g4 opening is losing?

Post by zullil »

Zenmastur wrote: Fri Feb 07, 2020 4:46 am
zullil wrote: Thu Feb 06, 2020 8:59 pm
For example, this one is a draw, but Stockfish's static eval is +1.46. Imagine what might happen with, say, 9-man rook and pawn positions. And these wrong evaluations might "poison" the evaluations of all sorts of middlegame positions.

[d]8/4kp1R/8/4KP1P/8/1r6/8/8 w - - 0 1

Code: Select all

./stockfish 
Stockfish 060220 64 BMI2 by T. Romstad, M. Costalba, J. Kiiski, G. Linscott
position fen 8/4kp1R/8/4KP1P/8/1r6/8/8 w - - 0 1
d

 +---+---+---+---+---+---+---+---+
 |   |   |   |   |   |   |   |   |
 +---+---+---+---+---+---+---+---+
 |   |   |   |   | k | p |   | R |
 +---+---+---+---+---+---+---+---+
 |   |   |   |   |   |   |   |   |
 +---+---+---+---+---+---+---+---+
 |   |   |   |   | K | P |   | P |
 +---+---+---+---+---+---+---+---+
 |   |   |   |   |   |   |   |   |
 +---+---+---+---+---+---+---+---+
 |   | r |   |   |   |   |   |   |
 +---+---+---+---+---+---+---+---+
 |   |   |   |   |   |   |   |   |
 +---+---+---+---+---+---+---+---+
 |   |   |   |   |   |   |   |   |
 +---+---+---+---+---+---+---+---+

Fen: 8/4kp1R/8/4KP1P/8/1r6/8/8 w - - 0 1
Key: D3383250DDB43FBF
Checkers: 
eval
     Term    |    White    |    Black    |    Total   
             |   MG    EG  |   MG    EG  |   MG    EG 
 ------------+-------------+-------------+------------
    Material |  ----  ---- |  ----  ---- |  0.01  1.29
   Imbalance |  ----  ---- |  ----  ---- |  0.00  0.00
       Pawns | -0.11 -0.27 | -0.02 -0.07 | -0.08 -0.20
     Knights |  0.00  0.00 |  0.00  0.00 |  0.00  0.00
     Bishops |  0.00  0.00 |  0.00  0.00 |  0.00  0.00
       Rooks |  0.00  0.00 |  0.22  0.12 | -0.22 -0.12
      Queens |  0.00  0.00 |  0.00  0.00 |  0.00  0.00
    Mobility | -0.01  0.38 |  0.27  0.80 | -0.28 -0.42
 King safety | -0.63 -0.24 | -0.38 -0.05 | -0.24 -0.19
     Threats |  0.34  0.49 |  0.32  0.28 |  0.01  0.21
      Passed |  1.11  1.32 |  0.00  0.00 |  1.11  1.32
       Space |  0.00  0.00 |  0.00  0.00 |  0.00  0.00
  Initiative |  ----  ---- |  ----  ---- | -0.06 -0.29
 ------------+-------------+-------------+------------
       Total |  ----  ---- |  ----  ---- |  0.25  1.61

Total evaluation: 1.46 (white side)
What?

Who cares about it's static evaluation. Everyone knows, or should know that all static evaluations are flawed. If they weren't they would be know need to do any searching. PERIOD!

As it is SF finds the right move on ply one without the use of TB's. It gives a evaluation of 0.00 in less than 3 seconds on my machine at depth 39.

Regards,

Zenmastur
Right, all static evals are flawed. But they provide the evaluations at the leaves of the tree, right? So when an engine is searching some middlegame position at seldepth 99 and the search ends at the position above, what does the engine conclude? That this position is not a draw, and might be a position to play into.

Everyone should care about static evaluations. They "guide" the entire search.
Zenmastur
Posts: 919
Joined: Sat May 31, 2014 8:28 am

Re: 1.g4 opening is losing?

Post by Zenmastur »

zullil wrote: Fri Feb 07, 2020 10:49 am
Right, all static evals are flawed. But they provide the evaluations at the leaves of the tree, right? So when an engine is searching some middlegame position at seldepth 99 and the search ends at the position above, what does the engine conclude? That this position is not a draw, and might be a position to play into.

Everyone should care about static evaluations. They "guide" the entire search.
They don't guid the search in CC games. That is what the user is doing. That's why I use compound searches. The whole point of any search is to make up for the short comings of the flawed evaluation. So when you get to seldepth of 99 or greater it easy to see exactly where the engine is having trouble by looking at the lines of play given at each iteration. Simply see where the iterations vary. Walk the search down to that point and let it search from there. When that search is done, start to back up through the line of play one, two, or even more plies at a time and let the engine pull the much deeper and more accurate analysis in the TT up to the root position afew plies at a time. This method is very effective if you have enough TT.

Regards,

Zenmastur
Only 2 defining forces have ever offered to die for you.....Jesus Christ and the American Soldier. One died for your soul, the other for your freedom.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: 1.g4 opening is losing?

Post by zullil »

Zenmastur wrote: Fri Feb 07, 2020 11:17 am
zullil wrote: Fri Feb 07, 2020 10:49 am
Right, all static evals are flawed. But they provide the evaluations at the leaves of the tree, right? So when an engine is searching some middlegame position at seldepth 99 and the search ends at the position above, what does the engine conclude? That this position is not a draw, and might be a position to play into.

Everyone should care about static evaluations. They "guide" the entire search.
They don't guid the search in CC games. That is what the user is doing. That's why I use compound searches. The whole point of any search is to make up for the short comings of the flawed evaluation. So when you get to seldepth of 99 or greater it easy to see exactly where the engine is having trouble by looking at the lines of play given at each iteration. Simply see where the iterations vary. Walk the search down to that point and let it search from there. When that search is done, start to back up through the line of play one, two, or even more plies at a time and let the engine pull the much deeper and more accurate analysis in the TT up to the root position afew plies at a time. This method is very effective if you have enough TT.

Regards,

Zenmastur
Why don't you replace Stockfish's static eval function with a random number generator, and also stop using endgame tables. See how you perform in CC. :D All those numbers you see when you're doing whatever "centaurs" do are simply back-propagated static evals.
Zenmastur
Posts: 919
Joined: Sat May 31, 2014 8:28 am

Re: 1.g4 opening is losing?

Post by Zenmastur »

zullil wrote: Fri Feb 07, 2020 12:30 pm
Zenmastur wrote: Fri Feb 07, 2020 11:17 am
zullil wrote: Fri Feb 07, 2020 10:49 am
Right, all static evals are flawed. But they provide the evaluations at the leaves of the tree, right? So when an engine is searching some middlegame position at seldepth 99 and the search ends at the position above, what does the engine conclude? That this position is not a draw, and might be a position to play into.

Everyone should care about static evaluations. They "guide" the entire search.
They don't guid the search in CC games. That is what the user is doing. That's why I use compound searches. The whole point of any search is to make up for the short comings of the flawed evaluation. So when you get to seldepth of 99 or greater it easy to see exactly where the engine is having trouble by looking at the lines of play given at each iteration. Simply see where the iterations vary. Walk the search down to that point and let it search from there. When that search is done, start to back up through the line of play one, two, or even more plies at a time and let the engine pull the much deeper and more accurate analysis in the TT up to the root position afew plies at a time. This method is very effective if you have enough TT.

Regards,

Zenmastur
Why don't you replace Stockfish's static eval function with a random number generator, and also stop using endgame tables. See how you perform in CC. :D All those numbers you see when you're doing whatever "centaurs" do are simply back-propagated static evals.
Random number generator? Have you lost your mind?

They may not be perfect but they certainly aren't random. They are good enough that with a good search they are better than any human. So much so, that we are having a conversation about them.
Only 2 defining forces have ever offered to die for you.....Jesus Christ and the American Soldier. One died for your soul, the other for your freedom.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: 1.g4 opening is losing?

Post by zullil »

Zenmastur wrote: Fri Feb 07, 2020 12:40 pm
zullil wrote: Fri Feb 07, 2020 12:30 pm
Zenmastur wrote: Fri Feb 07, 2020 11:17 am
zullil wrote: Fri Feb 07, 2020 10:49 am
Right, all static evals are flawed. But they provide the evaluations at the leaves of the tree, right? So when an engine is searching some middlegame position at seldepth 99 and the search ends at the position above, what does the engine conclude? That this position is not a draw, and might be a position to play into.

Everyone should care about static evaluations. They "guide" the entire search.
They don't guid the search in CC games. That is what the user is doing. That's why I use compound searches. The whole point of any search is to make up for the short comings of the flawed evaluation. So when you get to seldepth of 99 or greater it easy to see exactly where the engine is having trouble by looking at the lines of play given at each iteration. Simply see where the iterations vary. Walk the search down to that point and let it search from there. When that search is done, start to back up through the line of play one, two, or even more plies at a time and let the engine pull the much deeper and more accurate analysis in the TT up to the root position afew plies at a time. This method is very effective if you have enough TT.

Regards,

Zenmastur
Why don't you replace Stockfish's static eval function with a random number generator, and also stop using endgame tables. See how you perform in CC. :D All those numbers you see when you're doing whatever "centaurs" do are simply back-propagated static evals.
Random number generator? Have you lost your mind?

They may not be perfect but they certainly aren't random. They are good enough that with a good search they are better than any human. So much so, that we are having a conversation about them.
Do you see now? Instead of an RNG, how about a static eval that calls all won R+P endgames draws, and all such drawn positions wins?

You'll see incorrect evals in the middlegame, and won't even consider investigating some winning moves. Static evaluation (including endgame tables) determine everything.

Current static evaluations are good. But nowhere near good enough to decide the theoretical value of 1.g4, no matter what human guidance is provided.
jp
Posts: 1470
Joined: Mon Apr 23, 2018 7:54 am

Re: 1.g4 opening is losing?

Post by jp »

Zenmastur wrote: Fri Feb 07, 2020 4:46 am
zullil wrote: Thu Feb 06, 2020 9:50 pm
Ovyron wrote: Thu Feb 06, 2020 9:48 pm Here's a 20men position where black wins by force:

3r2k1/1Br2ppp/1p6/p5P1/2bNP3/n1P1BP2/7P/R5K1 b - -

If you don't know how do I know no software or hardware would help you :D
I doubt you know. I have no doubt you think you know. :D
There won't be any proof tree because SF doesn't produce those and I don't have any software that does. Just SF analysis that either gives a mate or some that ends in TB score.
But, as we all know, SF (or any other engine) is not perfect (very, very far from perfection IMO), so it does not matter what the SF output is or isn't.

And just getting SF to announce mate in X is obviously a useful indicator in a practical game, but does not prove a mate in the way a TB does. I've often watched SF announce mate in 30, and then it keeps calculating, and suddenly it's gone to mate in 50, and then it keeps calculating, and it retracts any mate announcement. That means the mate in 30 was (according to its longer-calculating self) just wrong. I'm sure others have seen this behavior too.
jp
Posts: 1470
Joined: Mon Apr 23, 2018 7:54 am

Re: 1.g4 opening is losing?

Post by jp »

Zenmastur wrote: Fri Feb 07, 2020 11:17 am
zullil wrote: Fri Feb 07, 2020 10:49 am Right, all static evals are flawed. But they provide the evaluations at the leaves of the tree, right?

Everyone should care about static evaluations. They "guide" the entire search.
They don't guid the search in CC games. That is what the user is doing. That's why I use compound searches. The whole point of any search is to make up for the short comings of the flawed evaluation. So when you get to seldepth of 99 or greater it easy to see exactly where the engine is having trouble by looking at the lines of play given at each iteration. Simply see where the iterations vary. Walk the search down to that point and let it search from there. When that search is done, start to back up through the line of play one, two, or even more plies at a time and let the engine pull the much deeper and more accurate analysis in the TT up to the root position afew plies at a time. This method is very effective if you have enough TT.
Yes, of course the human half does something, but surely we can all agree that centaurs are imperfect? "Make up for the shortcomings of the flawed evaluation" doesn't mean the result is guaranteed perfection. It's more likely to have guaranteed imperfection. No one can check every single branch, so there's no way this process can guarantee perfection.


Zenmastur wrote: Fri Feb 07, 2020 4:46 am
zullil wrote: Thu Feb 06, 2020 5:40 pm
Ovyron wrote: Thu Feb 06, 2020 5:38 pm The job of the winning player is not to maximize the engine's eval or play the fastest way to mate, their job is to play into positions that are the easiest to win, and "only one move wins" positions would be hard to win by definition, and could be just tagged as draws and avoided.
And how will you even recognize such positions? Say those with 11 men? Or 19? :wink:
Any position in which you can't make progress gets tagged as such. No great mystery. If you can't make progress in a position don't play the line that leads to it. It's as simple as that!
When it's too simple to be true, it probably isn't true!

Again, no one can guarantee perfectly accurate and exhaustive tagging. This is assuming a magic tagging power that does not exist outside of TBs. Do you really think that one can perfectly judge "no progress" and not, for example, even once ever tag one of those longest wins as a draw? (With or without the 50-move rule. ICCF does not apply 50-move rule draws once the position is in TB territory, presumably because everyone is using TBs. But if there are unintelligible cursed wins, there are no doubt also unintelligible wins that are not cursed.)
Zenmastur
Posts: 919
Joined: Sat May 31, 2014 8:28 am

Re: 1.g4 opening is losing?

Post by Zenmastur »

zullil wrote: Fri Feb 07, 2020 12:53 pm
Do you see now?
No, I don't see.
Instead of an RNG, how about a static eval that calls all won R+P endgames draws, and all such drawn positions wins?
I've never seen an evaluation routine that scored all won R+P engames draws AND all such drawn positions wins? Have you? And, I fail to see what that has to do with this topic. If I ever did see one I'm sure I would avoid the program that it's embedded in.
You'll see incorrect evals in the middlegame, and won't even consider investigating some winning moves.
The last time I checked there are only three scores in chess. Winning, losing, and drawn. So every evaluation that isn't one of those, is by definition, wrong. This includes ALMOST all evaluations any engine spits out. But that's not the same as being useless.
Static evaluation (including endgame tables) determine everything.
So what your saying is, if I have ANY endgame table bases and I can search deep enough I can play perfect chess. Was that the point you were trying to make?
Current static evaluations are good. But nowhere near good enough to decide the theoretical value of 1.g4, no matter what human guidance is provided.
That assertion would be a difficult one to prove!

Regards,

Zenmastur
Only 2 defining forces have ever offered to die for you.....Jesus Christ and the American Soldier. One died for your soul, the other for your freedom.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: 1.g4 opening is losing?

Post by zullil »

Zenmastur wrote: Fri Feb 07, 2020 3:13 pm
zullil wrote: Fri Feb 07, 2020 12:53 pm
Do you see now?
No, I don't see.
Instead of an RNG, how about a static eval that calls all won R+P endgames draws, and all such drawn positions wins?
I've never seen an evaluation routine that scored all won R+P engames draws AND all such drawn positions wins? Have you? And, I fail to see what that has to do with this topic. If I ever did see one I'm sure I would avoid the program that it's embedded in.
You'll see incorrect evals in the middlegame, and won't even consider investigating some winning moves.
The last time I checked there are only three scores in chess. Winning, losing, and drawn. So every evaluation that isn't one of those, is by definition, wrong. This includes ALMOST all evaluations any engine spits out. But that's not the same as being useless.
Static evaluation (including endgame tables) determine everything.
So what your saying is, if I have ANY endgame table bases and I can search deep enough I can play perfect chess. Was that the point you were trying to make?
Current static evaluations are good. But nowhere near good enough to decide the theoretical value of 1.g4, no matter what human guidance is provided.
That assertion would be a difficult one to prove!

Regards,

Zenmastur
Not sure what to add. Hope my point is clear to others, and that someone else can expressed it better. Time for work!