I wanted to know how are the values for piece square table are determined for simplified evaluation function in chess A.I engines
Source :
https://medium.freecodecamp.org/simple-chess-ai-step-by-step-1d55a9266977
I wanted to know how are the values for piece square table are determined for simplified evaluation function in chess A.I engines
Source :
https://medium.freecodecamp.org/simple-chess-ai-step-by-step-1d55a9266977
They're mostly based on mobility, and have been modified by repeated test cases. Knights have more squares available when on the center 16 squares(8) than in the corner(2), therefore the central square have a higher value. After the computer plays many games, these values are adjusted based upon how well the pieces actually preformed on the various squares. Beginners are taught that the more centralized piece is better placed, and the computer is taught this basic rules via these tables.
Extra table talk: King Tropism is a table, usually written dynamically, that indicates king safety. It adds up the score of the squares around the king based upon how many times their attacked and defended.
Chess based table: The table being static is a poor valuation tool. The b5 square is normally a good place for the bishop. However, when there's no knight on c6, the bishop is useless on b5. In the French defense, where there's pawns on d5 and e6, the bishop is less than useless as it gives black both a target and the opportunity to exchange his bad bishop.
@Fred_Knight Well done.
I'm addressing OP's comment to Fred.
How are the values determined ? What method or algorithm is used to determine the values for Piece square table ? Is it some numbers based on our assumptions for a particular piece
Normally, engine authors determine the values by trial-and-error or/and parameter tuning. But, not here!
Have you notice the values are an increment of 0.5? They are just guesses based on simple chess understanding. The blog writer was typing in 0.5,1.0,1.5,2.0,-0.5... into the table, for educational purposes.