3

I´m doing a research about how different conditions or situations affects the decision making process in chess. for example if the opponent ELO ranking affects the average time used for every movement.in the example, both variables are numerical and easy to know. However I´m struggling when it comes to define if a move is more passive or aggressive (specially after the opening theory).

I noticed that independently of playing style, there are some external factors that make us play more active (aggressive, taking more risk) or passive (defensive taking less risk). I read some articles that says it depends of the current position and the analyzer "strength" to determine with certainty, but that is too subjective for my purposes. there must be some some objective cues to help me.

I was thinking about the mobility (as in how many movements the player or the specific piece have after the last move) or/and if there is making or stoping a threat. what do you think? if there in other cues or method I could use to define if a move is passive or aggressive?

is there a software where I can analyze a complete game and give me this kind of output? Perhaps not if the movement was aggressive but maybe if it is making a threat or reaching more mobility than before

I also know that some softwares like chessmaster, use Ai "personalities" and some make passive or aggressive movements as their traits. can someone explain how the software choose a move that may not be the optimal but a passive one?

Ps. I´m sorry for the long explanation and I´m sorry if I made some grammar mistakes, English is not my first language.

thanks in advance

3

Let me answer your questions precisely and technically:

  • Q: I also know that some softwares like chessmaster...?

    Nobody knows for sure because Chessmaster is closed source. Fortunately, it's not hard to replicate Chessmaster personalities. There're several ways to do it:

    • Define different piece-square-table (PST) for each personality
    • Define different tuning parameters for each personality
    • Scale the attacking parameters and/or defending parameters with a constant
    • Give an appropriate Contempt value

It takes some work to create a new personality, but it should be just minor changes to a working chess engine.

The Stockfish engine had an UCI option for optimizating attacking and defending parameters. This was done by scaling the evaluation score accordingly. For example, if you scaled your own king safety score by a positive constant greater than 1, the engine would be more defensive.

  • Q: How to determine if a move is aggregative or defensive?

Tony, Brian and others gave good suggestions, but their suggestions are for human players and too abstract for a computer. If you want a computer to tell you whether a move is aggressive or defensive, you may need:

  • Null move
  • Monte-Carlo tree search

Null-move is simple and it's been implemented in various chess softwares. The idea is simple - if the move doesn't threaten anything, it should not be an aggressive move.

Monte-Carlo tree search goes even further. You can use it to determine the distribution of your payoff. If a move is aggressive, the margin error should be smaller. If a move is defensive, the margin error should be bigger.

  • Thanks for the answer! I'm not a programmer or having any skills on the matter. what I'm planning to do, generally speaking, is to analyze entire games and identify the aggressive moves vs the passive ones. is there any software I can use to obtain any index about both methods (null-move or monte-carlo tree search) you suggested? – Guillermo Mendoza Jan 2 '17 at 14:06
  • @GuillermoMendoza Not that I'm aware of, because there is no market to sell. – SmallChess Jan 2 '17 at 14:08
  • Also note that if a move is clearly the best move, then you shouldn't call it either aggressive or passive. A move should only be labelled if there was an alternative (at least almost as good) that wouldn't get the same label. – RemcoGerlich Jan 2 '17 at 19:52
1

I think that at the GM level, all moves are aggressive, after a fashion. All are designed to harm the opponent, even if a previous error has cost us the advantage.

Tal's moves may seem aggressive but frequently granted him remarkable defensive resources. Similarly, Petrosian's 'passive' style was anything but. They were elemental forces with wholly different styles.

I don't know how a chess program would rate one more as aggressive and another as passive, except for the obvious - checking may be deemed aggressive. Setting up a double attack may seem aggressive. Perhaps choosing the 2nd or 3rd best 'good' move would be considered passive. Or the lowest rated 'good' move that involved a pawn.

Perhaps a passive move is one that allows the other player the widest array of good responses. Yep, that rings true. That's my answer.

  • Yeah I like the last condition! The more good moves for opponent, the more passive is our play. Easy to be automated too. – hoacin Dec 31 '16 at 20:02
  • You nailed it with the last bit. That's the smartest answer I've read in days. – pokep Dec 31 '16 at 22:24
  • I would cut it on let's say moves 10-25 where is plenty of pieces in play and already some direct action. Not only it will save huge computational resources but starting positions and ending positions will produce a lot of data that will harm the overall result in my opinion. Endings are not fitting well with this idea in my opinion and I see little reason not to exclude them from calculations completely. Even 30 halfmoves per game on database with millions of games will cost months of processing time unless you are sitting on some heavy cluster. Year has around 30 million seconds. – hoacin Jan 1 '17 at 8:33
  • however I'm not sure about the last condition. That would imply that an aggressive move will leave the least amount of good responses right?. an aggressive move it is not always the best move. with that being said, It could be interesting to focus on just on the bad moves, the mistakes. and see if the nature of that mistakes was aggressive or was defensive. – Guillermo Mendoza Jan 1 '17 at 17:14
0

I would say a move is more aggressive if it involves one or more of the following:

1) Attacking an enemy piece, particularly a more powerful piece

2) Attacking a square near the opponent's king

3) Moving deep into enemy territory

4) Threatening to move deep into enemy territory

5) Moving forwards

I would say a move is more defensive if it involves one or more of the following:

1) Moving away from an attack by an enemy piece

2) Defending own piece

3) Defending a square near own king

4) Moving out of enemy territory

5) Moving backwards

-1

You want to define it for some automat system? This will be very hard work to do if it should reflect the real meaning of passivity.

If you want some easy parameter not very concerned about precision of result, these come to my mind:

  • Some function of target rank of piece.
  • Some function of long term material imbalance in games.

For more complex logic you should probably ask some engine developers but this is closer to science than to everyday work and without good reason they will probabbly not be very cooperative.

Edit: even though I like Tony Ennis answer more, this one is still viable as it will do the work with waaaaaay less CPU resources.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.