Searching for tactics

by ChessBase
3/29/2004 – While comprehensive "fuzzy" database searches for tactics are outside the capabilities of digital computers, you certainly can use ChessBase 8 to find plenty of tactical positions -- all you need are a little imagination and some know-how. You'll find some ideas and examples in this week's installment of ChessBase Workshop.

ChessBase 17 - Mega package - Edition 2024 ChessBase 17 - Mega package - Edition 2024

It is the program of choice for anyone who loves the game and wants to know more about it. Start your personal success story with ChessBase and enjoy the game even more.


Computers are fast and getting quicker all the time, but there are still some tasks that are just too much for the typical PC. One of these is searching a chess database to find tactical themes using generic terms like "pin" or "fork". You can't just fire up a database program, type "find all pins", and get a set of results -- it's just too "fuzzy" a search. A program would have to do some sort of "bean count", a numeric evaluation of every position in the database, in order to determine whether or not a "pin" exists in that position. So, at least for the present, we're limited to searches for specific pins, such as a White Bishop on c4 pinning a Black Rook on f7 to the Black King on g8. (In theory, you could also do a text search for the word "pin" but that assumes that every pin is clearly labelled as such by text annotations, and that's not very likely to be the case).

But you can still gather a lot of information by defining tactical themes in other ways such as providing parameters that a computer program (in this case ChessBase 8) can understand. It just takes a bit of logical thought and maybe a dash of creativity.

For example, let's say that you want to look at Knight forks. While you can't just click a "Knight fork" button in the program, you can call up a lot of material from the database by breaking the idea of a Knight fork down a bit further. What's the most forcing brand of Knight fork? One that involves checking the enemy King, of course. And unless we're subscribing to the Nimzovitchian idea of "the threat being stronger than the execution", this also implies that the fork will be followed by a capture. This allows us to break the idea of a "Knight fork with check" down into a sequence of events:

  1. The Knight checks;
  2. The opposing King moves out of check;
  3. The forking Knight captures the other forked piece or pawn.

It seems pretty simple but it actually requires us to think a bit "outside the box". Note that Step One says nothing about a "fork": it's just a simple Knight check. But by adding the other two steps (the checked King moving rather than getting out of check by having something capture the offending Knight, followed by the Knight capturing), we've actually added the additional parameters of a successful Knight fork. Now the trick will be to figure out how to tell ChessBase 8 that this is what we want it to find.

Right-click on a database icon and select "Search" from the popup menu. When the Search mask appears, click the "Manoeuvers" tab; this provides us a dialogue in which we can define the three steps listed earlier. Click the radio button next to "W", then select "N" (for Knight) in the pulldown right below the "W". Leave the question marks to the right of "N" alone -- we don't care about starting and ending squares -- but do put an x in the box next to "Check". We've just defined the first of our three steps: a White Knight moves and checks the Black King.

Now let's do our second step. Click the "Insert/New" button; this tells CB8 that you want to specify a new maneuver. Click the radio button next to "B" (for Black) and use the pulldown in the line below it to select "K" (for King). Here again you'll want to leave the question marks alone, so this maneuver is done. The Black King moves. That's it.

Now on to the third step. Click the "Insert/New" button again. Click the "W" radio button, then pick "N" from the pulldown menu, and this time put a check in the small box after the second set of question marks; this designates a capture. Finally drop down to the "Length" field and make the value a "3". When you're finished, your Search mask should look like this:

Then just click "OK" and CB8 will provide a list of all games which meet the criteria. Note, though, that there is a fly in the ointment: it's possible that the capturing Knight (in the third part of the maneuver) will be White's other Knight and may have nothing whatsoever to do with the original fork (i.e. the second Knight might be capturing on a completely unrelated square elsewhere on the board). Obviously you'll just want to disregard results like these (but we'll look at a possible solution a bit later).

You'll notice some games in which, after the third step, Black responds by capturing the White Knight (in other words, the White Knight didn't "get away with it"). You can filter out those games by adding an optional fourth step to our list of maneuvers. Click "Insert/New" and then the box next to "Not". Then select "B" (for Black). In the pulldown for selecting a piece, choose the question mark, then put a check in the small box after the second set of question marks, then choose "N" from the pulldown just to the right:

Translated into English, what you've just told the program is that the fourth part of the maneuver can't be a move in which Black captures a White Knight. While the forking Knight might get captured later (I found a lot of games in which Black could have made the capture immediately but chose to defer it), you'll at least be filtering out the games in which the Knight gets bumped off right away.

You can apply the same principle to other kinds of tactics. As another example, let's think of a typical "X-ray attack": a Black Bishop checks, the White King moves, then the Bishop captures whatever was on the same diagonal behind the enemy King. So our original three maneuver search would look like this:

Here again we might get some results similar to the Knight fork example: i.e. the second Black Bishop is the one that makes an unrelated capture. Of course, if this is a matter of great concern, we can filter out those games by using the "Material" tab in the Search mask and specifiying that Black is to have just one Bishop on the board. If we want only games in which the Bishop gets away with the capture (or at least ones in which White defers the capture of the Bishop until later) we can use the "Not" toggle and add a fourth maneuver in which White doesn't capture the Bishop.

While "fuzzy" tactics searches aren't possible in CB8, you can still identify a lot of tactical themes by using the Search mask. Just break your tactical theme down into steps and then see if you can find a way to specify these parameters as specific maneuvers. I think you'll be surprised by the amount of material you'll uncover.

Until next week, have fun!

© 2004, Steven A. Lopez. All rights reserved.

Reports about chess: tournaments, championships, portraits, interviews, World Championships, product launches and more.


Rules for reader comments


Not registered yet? Register