Overtly aggressive moves are justified only if your opponent has made a mistake. Just as a boxer must momentarily drop his guard before he throws a punch, unprovoked acts of aggression on the chessboard invite retribution - unless they are themselves the correct way to punish the opponent for a previous error.

That's why games between top grandmasters often tend to be on the dull side. There's nothing exciting about correctness. Even Kasparov keeps his aggressive intentions under restraint until he senses that his opponent has made a mistake. But how can you tell whether your opponent has done enough to justify your playing boldly?

Look at the diagram position, from Komarov-Razuvayev, Reggio Emilia, 1997. Black has just played 9...c6, which looks a little odd. When he has a nice open diagonal from b7 to f3 for his bishop, why block it? The answer must be that he has other plans for the bishop. His intention is to exploit White's undeveloped K-side by opening lines on the other wing. He'll play a5, then exchange pawns on b4 and rooks on a1. The bishop will come to a6, leaving White vulnerable on the a6-f1 diagonal, the a-file and having a weak b-pawn.

White, however, clearly thought 9...c6 outrageous. So Komarov decided to punish Black for his impudence. He continued 10.g4!? a5 11.g5 Nd5 12.Rg1!?

Was such aggression justifiable? Personally I'd never play anything as vulgar as 10.g4 and 12.Rg1, but perhaps that's why I was always better at drawing games than winning them. In this game, it certainly turned out well. Black must have missed the idea of 15.Rxg7+! until it was already too late. Had he seen it coming, he would probably have played 11...Ne8 instead of Nd5. Here are the full moves:

White: Komarov

Black: Razuvayev

1 Nf3 Nf6 16 Qg4 Kh8

2 c4 e6 17 Bxf6 Rxf6

3 Nc3 Bb4 18 Ng5 Nd7

4 Qc2 0-0 19 Rxe6 Rg6

5 a3 Bxc3 20 Qd4 N7f6

6 Qxc3 d5 21 Nf4 Nxf4

7 b4 dxc4 22 Qxf4 bxa3

8 Qxc4 b6 23 Qf3 Bg4

9 Bb2 c6 24 Qxc6 Rc8

10 g4 a5 25 Qa4 Re8

11 g5 Nd5 26 Rxa3 Bxe2

12 Rg1 axb4 27 Re3 Rxe3

13 Qd4 f6 28 fxe3 Bxf1

14 gxf6 Qxf6 29 Kxf1 h6

15 Rxg7 Kxg7 30 Qd4 1-0