Evaluate the pieces mobility

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Daniel Anulliero
Posts: 759
Joined: Fri Jan 04, 2013 4:55 pm
Location: Nice

Re: Evaluate the pieces mobility

Post by Daniel Anulliero »

F. Bluemers wrote:
Daniel Anulliero wrote:Hi all
Last week I put some evaluation of mobility in Isa . Very primitive scheme :
"every empty squares are ok " :?
Ihave four array , for each piece (Knight , bishop , rook , queen) :

Code: Select all

Knight table :
int p_mob[9] = {-10, -8, -6, -4, 0, 6, 8, 12, 15};

Bishop table : 
int p_mob[14] = {-10, -9, -8, -7, -5, -2, 0, 2, 4, 6, 8, 10, 12, 15};

Rook table:
int p_mob[15] = {-10, -9, -8, -7, -6, -5, -4, 0, 2, 4, 6, 8, 10, 12, 12};

Queen table : 
int p_mob[28] = {-10, -10, -9, -9, -8, -8, -7, -7, -6, -6, -5, -5, -4, -2,0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 12};
What do you think about these value ?
I don't know if I can have the same values for each pièces (from -10 to 12/15)

give me your advice about my scheme
Thanks !
for queenmob Dirty only used to count squares not attacked by enemy pawns,
It does this now for all pieces,but for the other pieces it seems a wash.
Fonzy ! nice to see you here ! :)
Thanks for your answer , I plan to do that way , of course , but Isa is in developpement , so weak (but 200 elo stronger than Jars and Yoda :wink: ) I work slowly ...

PS : don't feed the T##LL so much :wink:
best
dany
F. Bluemers
Posts: 868
Joined: Thu Mar 09, 2006 11:21 pm
Location: Nederland

Re: Evaluate the pieces mobility

Post by F. Bluemers »

Daniel Anulliero wrote:
F. Bluemers wrote:
Daniel Anulliero wrote:Hi all
Last week I put some evaluation of mobility in Isa . Very primitive scheme :
"every empty squares are ok " :?
Ihave four array , for each piece (Knight , bishop , rook , queen) :

Code: Select all

Knight table :
int p_mob[9] = {-10, -8, -6, -4, 0, 6, 8, 12, 15};

Bishop table : 
int p_mob[14] = {-10, -9, -8, -7, -5, -2, 0, 2, 4, 6, 8, 10, 12, 15};

Rook table:
int p_mob[15] = {-10, -9, -8, -7, -6, -5, -4, 0, 2, 4, 6, 8, 10, 12, 12};

Queen table : 
int p_mob[28] = {-10, -10, -9, -9, -8, -8, -7, -7, -6, -6, -5, -5, -4, -2,0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 12};
What do you think about these value ?
I don't know if I can have the same values for each pièces (from -10 to 12/15)

give me your advice about my scheme
Thanks !
for queenmob Dirty only used to count squares not attacked by enemy pawns,
It does this now for all pieces,but for the other pieces it seems a wash.
Fonzy ! nice to see you here ! :)
Thanks for your answer , I plan to do that way , of course , but Isa is in developpement , so weak (but 200 elo stronger than Jars and Yoda :wink: ) I work slowly ...

PS : don't feed the T##LL so much :wink:
best
dany
OK,no more feeding! :-)
If you want to skip some time tuning you can do the lookuparrays later.
I used to add up all the squares and multiply with a constant(4).
This worked actually pretty well.
The downside is that once in a while a piece with 0 mob is not penalized enough.
That is why I now exclude the pawnattacked squares together with using a lookuparray.
Last edited by F. Bluemers on Mon Apr 25, 2016 6:22 pm, edited 2 times in total.
Henk
Posts: 7220
Joined: Mon May 27, 2013 10:31 am

Re: Evaluate the pieces mobility

Post by Henk »

F. Bluemers wrote:
Henk wrote:LISTEN to the experts and start CLONING Stockfish NOW. No need to reinvent the wheel.
Who are these experts?
Any names?
Listen to the experts is cliché answer of Daniel Anulliero. But ok "Two wrongs do not make a right".
Daniel Anulliero
Posts: 759
Joined: Fri Jan 04, 2013 4:55 pm
Location: Nice

Re: Evaluate the pieces mobility

Post by Daniel Anulliero »

F. Bluemers wrote:
Daniel Anulliero wrote:
F. Bluemers wrote:
Daniel Anulliero wrote:Hi all
Last week I put some evaluation of mobility in Isa . Very primitive scheme :
"every empty squares are ok " :?
Ihave four array , for each piece (Knight , bishop , rook , queen) :

Code: Select all

Knight table :
int p_mob[9] = {-10, -8, -6, -4, 0, 6, 8, 12, 15};

Bishop table : 
int p_mob[14] = {-10, -9, -8, -7, -5, -2, 0, 2, 4, 6, 8, 10, 12, 15};

Rook table:
int p_mob[15] = {-10, -9, -8, -7, -6, -5, -4, 0, 2, 4, 6, 8, 10, 12, 12};

Queen table : 
int p_mob[28] = {-10, -10, -9, -9, -8, -8, -7, -7, -6, -6, -5, -5, -4, -2,0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 12};
What do you think about these value ?
I don't know if I can have the same values for each pièces (from -10 to 12/15)

give me your advice about my scheme
Thanks !
for queenmob Dirty only used to count squares not attacked by enemy pawns,
It does this now for all pieces,but for the other pieces it seems a wash.
Fonzy ! nice to see you here ! :)
Thanks for your answer , I plan to do that way , of course , but Isa is in developpement , so weak (but 200 elo stronger than Jars and Yoda :wink: ) I work slowly ...

PS : don't feed the T##LL so much :wink:
best
dany
OK,no more feeding! :-)
If you want to skip some time tuning you can do the lookuparrays later.
I used to add up all the squares and multiply with a constant(4).
This worked actually pretty well.
The downside is that once in a while a piece with 0 mob is not penalized enough.
That is why I now exclude the pawnattacked squares together with using a lookuparray.
Thanks again fonzy !
In fact, I want to penalise (so high) Isa's pièces with a small mobility because I noticed it has some mobility problems , mainly with his queen .
It want to activate his queen but sometimes the queen's mobility suddenly disapear dramaticaly ..