user16986: How to score a chess move, which techniques are used to figure out how good a move is?

user15296: Firstly, I would like to point out, you cannot figure out how good is the move, because no move can improve position, only make it worse. And the winner is usually the one who managed to "destroy" his position less than the opponent. So the questions should be: "how bad a move is"... =)
Secondly, I believe you cannot actually score a move. You can only score the original position and the resulting position and subtract the former from the latter  to find out how worse it became.
The position evaluation is quite big and complicated topic by itself. There are two ways -- static evaluation, when you just add up all pieces and some extra points for open lines, centered pawns and other things considered to be "good", and dynamic evaluation, when you start building a move tree, as far as you could, statically evaluate positions after a few moves and use min/max to derive the evaluation for the current position.
If you are interested, there are quite a few open source chess engines, starting from 100 lines of code, written in C, C++, Python and other languages, so you may easily choose the one you like and see how it works, maybe change a few lines and see what happens.

16986: <p>How to score a chess move, which techniques are used to figure out how good a move is?</p>
 15296: <p>Firstly, I would like to point out, you cannot figure out how <strong>good</strong> is the move, because no move can improve position, only make it worse. And the winner is usually the one who managed to "destroy" his position less than the opponent. So the questions should be: "how <strong>bad</strong> a move is"... =)</p>

<p>Secondly, I believe you cannot actually <code>score</code> a move. You can only score the original position and the resulting position and subtract the former from the latter  to find out how worse it became.</p>

<p>The position evaluation is quite big and complicated topic by itself. There are two ways -- static evaluation, when you just add up all pieces and some extra points for open lines, centered pawns and other things considered to be "good", and dynamic evaluation, when you start building a move tree, as far as you could, statically evaluate positions after a few moves and use min/max to derive the evaluation for the current position.</p>

<p>If you are interested, there are quite a few open source chess engines, starting from 100 lines of code, written in C, C++, Python and other languages, so you may easily choose the one you like and see how it works, maybe change a few lines and see what happens.</p>
