Most Important Evaluation Terms

Discussion of chess software programming and technical issues.

Moderator: Ras

Carbec
Posts: 162
Joined: Thu Jan 20, 2022 9:42 am
Location: France
Full name: Philippe Chevalier

Re: Most Important Evaluation Terms

Post by Carbec »

chrisw wrote: Mon May 01, 2023 11:08 am Only count moves to safe squares.
I don't get it. Even if a square is controlled by an ennemy pawn, Why not count it ? Because if a ennemy piece land there, Im attacking it.
JoAnnP38
Posts: 253
Joined: Mon Aug 26, 2019 4:34 pm
Location: Clearwater, Florida USA
Full name: JoAnn Peeler

Re: Most Important Evaluation Terms

Post by JoAnnP38 »

Carbec wrote: Mon May 01, 2023 6:25 pm
chrisw wrote: Mon May 01, 2023 11:08 am Only count moves to safe squares.
I don't get it. Even if a square is controlled by an ennemy pawn, Why not count it ? Because if a ennemy piece land there, Im attacking it.
In general, you just don't count squares defended by enemy pawns, because the exchange already starts out as a negative. That seems to work well as a good compromise, but you are correct. If you had unlimited CPU why not count all moves that aren't losing? I also only consider piece mobility and I don't count pawn moves.
chrisw
Posts: 4624
Joined: Tue Apr 03, 2012 4:28 pm
Location: Midi-Pyrénées
Full name: Christopher Whittington

Re: Most Important Evaluation Terms

Post by chrisw »

Carbec wrote: Mon May 01, 2023 6:25 pm
chrisw wrote: Mon May 01, 2023 11:08 am Only count moves to safe squares.
I don't get it. Even if a square is controlled by an ennemy pawn, Why not count it ? Because if a ennemy piece land there, Im attacking it.
Whether you get it or not is not relevant. Only results count, and many results come from quite counter-intuitive things.
Anyway, what's to stop from testing? Texel tune and test with and without. If without offends you but performs better, well, you can choose.
Carbec
Posts: 162
Joined: Thu Jan 20, 2022 9:42 am
Location: France
Full name: Philippe Chevalier

Re: Most Important Evaluation Terms

Post by Carbec »

Hi,

No offense taken. I am currently trying to improve my evaluation, which is extremely basic at the moment.
I am doing it manually; I saw that many developpers use some sort of automatic tuning. It seems its the thing to do,
but I don't have the slightest idea to begin; but google is my friend))
chrisw
Posts: 4624
Joined: Tue Apr 03, 2012 4:28 pm
Location: Midi-Pyrénées
Full name: Christopher Whittington

Re: Most Important Evaluation Terms

Post by chrisw »

Carbec wrote: Tue May 02, 2023 9:22 am Hi,

No offense taken. I am currently trying to improve my evaluation, which is extremely basic at the moment.
I am doing it manually; I saw that many developpers use some sort of automatic tuning. It seems its the thing to do,
but I don't have the slightest idea to begin; but google is my friend))
Using Python.
Make a vector of all your evaluation constants.
Evaluate 10 plus million varied quiet positions (either by running them past a strong engine, or scoring them 0,1 based on eventual game result).
Any well known regression analysis algorithm will generate you a best fit.
JohnWoe
Posts: 529
Joined: Sat Mar 02, 2013 11:31 pm

Re: Most Important Evaluation Terms

Post by JohnWoe »

I only use these.

1. Mobility
2. PSQT
3. King safety
4. Bishop pairs
5. Tempo
6. Some simple endgame stuff like KPK

I think it's much better to have a fast and simple ( bug free ) evaluation than a massive w/ 1,000,000 terms which take forever to tune.
Tho king safety is the most important, but impossible to model w/ HCE. I find search and evaluation are the same. You can search deeper w/ fast and simple evaluation. Vs searching shallower with big evaluation.
chrisw
Posts: 4624
Joined: Tue Apr 03, 2012 4:28 pm
Location: Midi-Pyrénées
Full name: Christopher Whittington

Re: Most Important Evaluation Terms

Post by chrisw »

Carbec wrote: Mon May 01, 2023 6:25 pm
chrisw wrote: Mon May 01, 2023 11:08 am Only count moves to safe squares.
I don't get it. Even if a square is controlled by an ennemy pawn, Why not count it ? Because if a ennemy piece land there, Im attacking it.
Incidentally, you would pick that up (attacking an enemy piece that could land on the square) when you calculate the mobility of enemy pieces (on which it would have a negative effect).
AngularMomentum
Posts: 18
Joined: Mon Apr 10, 2023 6:33 am
Full name: Jayden Joo

Re: Most Important Evaluation Terms

Post by AngularMomentum »

elpapa wrote: Sun Apr 30, 2023 9:14 pm Mobility is important as well.
On a slightly different note, do you know how to implement mobility efficiently? My NPS goes from 17mil to 10mil average because of calculating all the sliders in every leaf node.
Robert Pope
Posts: 563
Joined: Sat Mar 25, 2006 8:27 pm
Location: USA
Full name: Robert Pope

Re: Most Important Evaluation Terms

Post by Robert Pope »

I store mob[LIGHT] and mob[DARK] from the two most recent ply where I generated moves. It may be off by a piece capture or two, but it's in the right ballpark, and there's no computational cost.
AngularMomentum
Posts: 18
Joined: Mon Apr 10, 2023 6:33 am
Full name: Jayden Joo

Re: Most Important Evaluation Terms

Post by AngularMomentum »

Robert Pope wrote: Wed Jul 19, 2023 4:12 am I store mob[LIGHT] and mob[DARK] from the two most recent ply where I generated moves. It may be off by a piece capture or two, but it's in the right ballpark, and there's no computational cost.
Is this a response to my comment? If so, put a quote so it's more clear.

Wouldn't every leaf node stemming from the same depth 1 node have the exact same mobility value for the enemy (The mobility for the side to move is already calculated because the quiscence search always makes sure that there no captures availivable before evaluating so we can get each piece's attack maps).