well i think i use your second point, i use the same exact tables that PeSTO engine uses, but as i mentioned before, i do add some extra features to the evaluation, not only the piece-square-tableslithander wrote: ↑Sat Jul 17, 2021 1:15 pm PeSTO literally means "Piece Square Tables Only" but it's also the name of the strongest engine that uses such a simple evaluation and has made the approach popular. The set of values that PeSTO uses (or used at some point) have been posted on this forum by the author. So I think there are two interpretations where you could say an engine uses PeSTO:
(1) It uses tapered eval based on PSTs only and no other evaluation terms.
(2) It uses tapered eval based on PSTs only AND also uses the PST values from PeSTO which were published on this forum.
I personally first used PeSTO in the sense of (2) but never published that version.
Then I tuned my own set of PST-values which look and play distinctly different so version 0.4.1 of MinimalChess used PeSTO in the sense of (1).
Afterwards I added a 13th table for another dynamic, mobility and attacks based evaluation term so I'd say now I'm just using a simple tapered evaluation in version 0.5.
PeSTO's Evaluation Function, different"bestmove" for each depth
Moderators: hgm, Rebel, chrisw
-
- Posts: 157
- Joined: Fri Apr 30, 2021 7:19 am
- Full name: Pedro Duran
Re: PeSTO's Evaluation Function, different"bestmove" for each depth
-
- Posts: 883
- Joined: Sat Mar 13, 2021 1:47 am
- Full name: Amanj Sherwany
Re: PeSTO's Evaluation Function, different"bestmove" for each depth
If you add any other eval term, then your psqt arrays are no longer optimal. As they are designed to work with exactly no other eval termspedrojdm2021 wrote: ↑Mon Jul 19, 2021 2:49 amwell i think i use your second point, i use the same exact tables that PeSTO engine uses, but as i mentioned before, i do add some extra features to the evaluation, not only the piece-square-tableslithander wrote: ↑Sat Jul 17, 2021 1:15 pm PeSTO literally means "Piece Square Tables Only" but it's also the name of the strongest engine that uses such a simple evaluation and has made the approach popular. The set of values that PeSTO uses (or used at some point) have been posted on this forum by the author. So I think there are two interpretations where you could say an engine uses PeSTO:
(1) It uses tapered eval based on PSTs only and no other evaluation terms.
(2) It uses tapered eval based on PSTs only AND also uses the PST values from PeSTO which were published on this forum.
I personally first used PeSTO in the sense of (2) but never published that version.
Then I tuned my own set of PST-values which look and play distinctly different so version 0.4.1 of MinimalChess used PeSTO in the sense of (1).
Afterwards I added a 13th table for another dynamic, mobility and attacks based evaluation term so I'd say now I'm just using a simple tapered evaluation in version 0.5.
-
- Posts: 157
- Joined: Fri Apr 30, 2021 7:19 am
- Full name: Pedro Duran
Re: PeSTO's Evaluation Function, different"bestmove" for each depth
well... bbc's engines uses the same approarch that i'm using and it works, bbc's uses the pesto tables + the mobility, pawn structre, and so on...amanjpro wrote: ↑Mon Jul 19, 2021 2:56 amIf you add any other eval term, then your psqt arrays are no longer optimal. As they are designed to work with exactly no other eval termspedrojdm2021 wrote: ↑Mon Jul 19, 2021 2:49 amwell i think i use your second point, i use the same exact tables that PeSTO engine uses, but as i mentioned before, i do add some extra features to the evaluation, not only the piece-square-tableslithander wrote: ↑Sat Jul 17, 2021 1:15 pm PeSTO literally means "Piece Square Tables Only" but it's also the name of the strongest engine that uses such a simple evaluation and has made the approach popular. The set of values that PeSTO uses (or used at some point) have been posted on this forum by the author. So I think there are two interpretations where you could say an engine uses PeSTO:
(1) It uses tapered eval based on PSTs only and no other evaluation terms.
(2) It uses tapered eval based on PSTs only AND also uses the PST values from PeSTO which were published on this forum.
I personally first used PeSTO in the sense of (2) but never published that version.
Then I tuned my own set of PST-values which look and play distinctly different so version 0.4.1 of MinimalChess used PeSTO in the sense of (1).
Afterwards I added a 13th table for another dynamic, mobility and attacks based evaluation term so I'd say now I'm just using a simple tapered evaluation in version 0.5.
-
- Posts: 883
- Joined: Sat Mar 13, 2021 1:47 am
- Full name: Amanj Sherwany
Re: PeSTO's Evaluation Function, different"bestmove" for each depth
Works doesn't mean works optimally. You can try it yourself. Remove all evaluation terms in your engine but the PeSTO arrays, and mrun a match between this version and the version with PeSTO and other eval terms. And see who will win the match (please have a long match of at least 1000 games)pedrojdm2021 wrote: ↑Mon Jul 26, 2021 6:12 am well... bbc's engines uses the same approarch that i'm using and it works, bbc's uses the pesto tables + the mobility, pawn structre, and so on...
-
- Posts: 174
- Joined: Thu Nov 26, 2020 10:06 am
- Full name: Niels Abildskov
Re: PeSTO's Evaluation Function, different"bestmove" for each depth
You are mostly right, but I would add that tuning the new eval terms will fit them to the PSQT arrays. When optimizing parameters in the evaluation function, they are optimized in such a way that they fit all other parameters. This is because the constant parameters also have a constant contribution to the overall error, so you can only reduce the part of the error that your un-optimized values gives.
Therefore, it should definitely be possible to add new terms (like pawn structure, mobility etc..) to PeSTO piece square tables, but it would require a - relatively - good optimization algorithm to gain elo from it. I don't know if all that tuning would be worth it though...