The File Menu


The File menu is concerned with loading and saving files, as well as starting and stopping the game.

Load Game

This tells the computer that you wish to resume a previously saved game. When you ask the computer to begin the game, you will be prompted to select a Chu Saved Game (.csg) file. The computer will then play through the moves of the game before displaying the board. You can repeatedly use the Take Back Last Move (CTRL-T) facility to move back through the game, but as yet, there is no facility to move forwards again (though you could make use of the Save/Load Position facility).

Save Game

This will save the current game into a Chu Saved Game (.csg) file. The game can later be replayed by using the Load Game facility.

You will be prompted to fill in certain information before saving the game. The five Comment fields are for your use, and are not interpreted in any way.

Save Position

This enables you to save the position in one of five different formats, or to print the position on your computer.

Save as Forsyth

This will save the game as a file in Forsyth notation. You will be prompted for the name of a .fsy file, in which to save the position.

The resulting file will contain only a single line of text. If you wish to look at the resulting Forsyth notation (for instance, you might wish to publish the position in an email), then you may prefer to use the Save as formatted Forsyth facility. The two formats differ only by the presence or absence of newline characters.

The lack of embedded newline characters in this particular format, makes it more suitable for sharing between different operating systems (which may have differing conventions for marking the end of a line).

Save as formatted Forsyth

This is identical to the Save as Forsyth facility (both use .fsy files), except that a newline character is written after each rank. This makes it more suitable for viewing (using a text editor, or file viewer), or for sharing via email.

A .fsy file can be hand-built using a text editor. Remember not to include any embedded white space (other than optional newlines at the end of a rank, which the computer ignores).

Save as augmented Forsyth

This facility saves the current position with all the necessary information for the computer to determine whether or not a piece may promote. You will be prompted for the name of a Chu Augmented Forsyth (.caf) file.

The format of this file is the same as the .fsy format (the computer does not write a newline character at the end of a rank, but if you are building one by hand (using a text editor), you may do so if you wish), with one difference:

After the abbreviation for a piece (other than a King, Free King, Lion, or any promoted piece), the computer writes two further digits.

The first digit is a zero, if this piece has not yet had a chance to promote. If the piece has had a chance to promote (but has declined), then this digit is a 1.

The second digit will be a 0 if the first digit is also a zero. If the first digit is a 1, then the second digit will be a 1 if the piece can freely promote on it's next move. Otherwise it will be a zero.

The augmented Forsyth facility is intended primarily for solving or analysing mating problems (a future version of the program will having a mating mode for the version 2 computer opponent). To set up one of the historical mating problems as a .caf file, follow the following procedure:

  1. Using a text editor, create a .fsy file, typing in the corrected Forsyth notation, as obtained from MSM in conjunction with supplement number four.
  2. Use the Load Position facility, to read in this position.
  3. Use the Edit Square facility (CTRL-left-mouse) to indicate any pieces that have declined to promote. The following conventions are assumed for the historic mating positions (deduced by Colin Adams from problem D86 and others, and accepted by Steve Evans and George Hodges):
  4. Save the position as a Chu Augmented Forsyth (.caf) file. D28 should be named D28.caf, for instance.

There are alternatives to this procedure. At one extreme, you could construct the entire .caf file by hand. At the other extreme, you could clear the board, and use the Edit Square facility to enter every piece. Take your pick.

Save as Chu set-up file

This option is for saving the initial set-up for various handicaps, especially the free set-up handicaps (Three Lions and Three or more pieces). You will be prompted for the name of a Chu set-up (.data) file. See handicaps for the naming convention that you must use.

Print as Graphic

This option will bring up a dialog that allowas you to graphically print the position, either directly to the printing subsystem, or to a file. On my system, printing to a file results in a postscript file, but it is not wholly correct.

Load Position

This facility allows you to load a position previously saved with the Save Position facility.

Load Forsyth

This option will prompt you for the name of a .fsy file, and will then load the position from the contents of the file. You should then use the Edit Square facility to indicate which pieces may not yet promote.

Load augmented Forsyth

This option will prompt you for the name of a .caf file, and will then load the position from the contents of the file.

New Game

This causes the program to load the position from the relevant set-up, Forsyth, or Chu augmented Forsyth file, so that the game is ready to begin.

Quit

This terminates the program.

The Edit Menu

This allows you to edit the game in some way (i.e. you may cheat).

Take back last move

This facility enables you to undo the effect of the last two moves (one from each side).

Clear the board

This facility removes all pieces from the board.

Change turn

This facility changes whose turn it is to move. After loading a position, the computer assumes it is Black's turn to move (as this is the convention for mating problems). If you need White to move first, then this is useful.

Pause

This stops the clock for the human player. The clock restarts when any mouse button is pressed.

The Settings Menu

This menu is used to alter the way the program behaves.

Internet

This menu is used for playing games across the Internet. See for the details.

Computer

This menu affects the way the computer opponent behaves.

Version

This menu allows you to choose from the Version 1 opponent or the Version 2 opponent. Always choose the Version 2 opponent if it is available on your system.

Opponent Plays Black

This option causes the computer opponent to play the Black side. It is also used when playing across the Internet.

Opponent Plays White

This option causes the computer opponent to play the White side. It is also used when playing across the Internet.

Memory Size

This brings up a dialog that let's you reserve how much memory is available for the Version 2 computer opponent to use for remembering positions that it has already examined (the transposition table). Allocating more memory make improve the speed of the computer a little. Do not allocate so much memory that the computer will need to page, as this will have a disastrous effect on the speed of the computer opponent.

Mating problem mode

In this mode, the program ignores time limits (and the lack of a Black King), and makes an exhaustive search for the fastest mate. See Mating Problem Mode. It is turned on automatically when you load a position from a Chu Augmented Forsyth file.

Set Search Parameters

This brings up a dialog that sets the parameters that the computer opponent uses to determine how much time to use for a move.

Extra Ply after capture

If you are using the Version 1 opponent, this causes the computer to look at least one more move ahead, if the last move it looked at was a capture. The Version 2 opponent always does this (i.e. it ignores this option).

Always promote

This option causes the Version 2 computer opponent to ignore moves where it (or you) decline to promote a piece. This causes it to run a little faster, but may cause it to miss the best move. I always use this option.

Supress repetition checking

This option causes the Version 2 computer opponent not to consider repetition when searching for legal moves. This causes it to play approximately 25% faster. If the computer eventually picks an illegal move as a result, then the program will cause it to try again, this time with this option forced off (in practise, this doesn't happen - I have never seen the computer attempt to rerpeat a position, as such a move is normally inferior (but I have seen Steve's program do it against me - the position was such that neither of us could afford to give way) - STOP PRESS - it just happened!). Thus the repetition rule will not be violated, but the computer may misread the best sequence. I always use this option.

In Mating mode, a "Black must vary" rule is used, regardless of this setting.

You can check on the effect of this option by turning on the Debugging option, Show Statisitcs. There are two relevant statistics:

Pieces

This menu lets you chose between Japanese pieces (Kanji), and International pieces (symbols diagrammatic of the move, along with the piece's abbreviation).

Show legal moves

If this option is turned on, then selecting a piece shows which moves are legal for that piece.

Influence

This menu enables you to choose the behaviour of the middle mouse button.

Show the influence of both sides

This highlights all the pieces, on both sides, that bear influence on the selected square irrespective of an intervening pieces.

Show the influence of only Black pieces

This highlights all the Black pieces that can currently make a legal move to this square (ignoring any restrictions imposed by the Lion-rule or the repetition-rule, and ignoring the presence of a Black piece on the square).

Show the influence of only White pieces

This highlights all the White pieces that can currently make a legal move to this square (ignoring any restrictions imposed by the Lion-rule or the repetition-rule, and ignoring the presence of a White piece on the square).

Look and Feel

This menu allows you to influence the appearance of graphical widgets.

Use the Java Look and Feel

This is the default on Linux. It is also known as the Cross-system Look and Feel. It is available on all systems.

Use the local system Look and Feel

This is the default on your system. It is identical to one of the other selections (Java on Linux).

Use the Motif Look and Feel

This is available on all systems.

Use the Microsoft Windows Look and Feel

This is only available on Micros**t Windows systems.

Use the Mac OS Look and Feel

This is only available on Mac OS systems.

Tournament mode

This simulates the touch-and-move rule, and otherwise causes you to lose the game if you do anything that might be uncharitably construed as cheating. It causes many facilities to be switched off, including the help facility. (It should probably cause even more facilities to be disabled - let me know if you think I've missed some).

To use this computer program as a fair test of your (or the computer's) strength at Chu Shogi, then it seems best to use this mode, along with a time limit of 2 1/2 or 3 hours each. I never use this mode, so my assesments of the computer's strength are not ot be trusted.

Set Time Limits

This brings up a dialog to allow you to set the time limits independently for each side.

Ignore the flag falling

If this is set, then neither player will lose on time. It is intended for Mating Problem Mode, (and it is turned on automatically when you load a position from a Chu Augmented Forsyth file) but you can use it for ordinary games, in which case when the flag falls, the clock is reset to 60 seconds (but the computer doesn't know this, so it will still be trying to make all it's moves in 60 seconds each).

Visual Alarm

If you enable this facility, then a dialog box will appear after the computer makes a move.

Magnification

This brings up a menu which enables you to choose the size of the board and pieces. You can also use the slider control at the bottom of the program's display to do this.

SaveSettings

This causes some of the current settings to be saved to the file chu.Properties. You can view this file to verify your saved settings. If you think there are any other settings that need saving, then please let me know.

Alfter Mode

This forces all settings to correspond to the conditions of the 2000 European Championship, to be held in Alfter.

Handicaps

Allows you to choose the handicap for a new game. This is ignored if you load a saved-game, or a saved-position.

Debugging

Various options that I find useful for debugging the action of the computer opponent.

Show statistices

After the computer makes a move, this option causes a window to pop up, displaying various statistics about the last move. If you really want to know what it all means (all statistics refer to the final iteration only, where this is significant):

Computer took x.yyy seconds to move
Well, I guess you can understand that - but note that this time will be less than the time used on the clock (unless less than 60 seconds were used), as it is an internal time.
Searched x nodes, scoring y
The computer examined x different positions (at various depths in the search tree), and concluded the position was y points in favour of the computer (a Pawn is worth 100, and a Lion, 4000).
Number of exact-score transpositions found: x
x is the number of times the computer found a match for the position it was examining in the transposition table, with an exact score. Therefore it did not have to search further to evaluate this position.
Number of lower-bound-score transpositions found: x
x is the number of times the computer found a match for the position it was examining in the transposition table, with a lower bound to the score, and this bound was sufficient that it did not have to search further to evaluate this position.
Number of upper-bound-score transpositions found: x
x is the number of times the computer found a match for the position it was examining in the transposition table, with an upper bound to the score, and this bound was sufficient that it did not have to search further to evaluate this position.
Total number of transpositions found: x, y%
x was the total of the three previous items. y is x expressed as a percentage of the total number of positions found.
Number of insufficient transpositions found: x
x is the number of times the computer found the position it was examining in the transposition table, but the previously evaluated bound on the score was insufficient to cause a cut-off in the search. Nevertheless, this near miss might have been beneficial, as the computer will add the move previously computed as best in this position, to the "killer list" - a list of good moves that it tries before other moves.
Number of hashing collisions: x
x is the number of times that the computer tried to store a position in the transposition table, and found another position with a different hash-code already present. In this case, what the computer does depends upon whether you have specified a Memory replication factor greater than one.

If you have not, then the computer replaces the existing position with the new position.

If you have, then the computer tries again at the next possible slot (up to the limit of the replication factor). If it cannot find a free slot, then it replaces one of the positions at random.

Number of hashing errors (checksums differ): x
This is similar to the previous statistic, except this time both positions had identical checksums. Please tell me if you ever see a non-zero count here, as it will increase my confidence that there are no spurious transposition matches (the checksum is computed differently from the hashcode, so I don't think it is effectively possible for them both to be the same when the real positions differ).
Number of transposition-table entries replaced: x
See two points above.
Number of illegal positions due to repetiton: x
x is the number of times that the computer decided a position was illegal by the repetition rule. If you are supressing repetition checking, then this will always be zero.
There are x entries in the transposition table, out of a possible y, z%
The figures are self-explanatory. They may be useful in deciding whether you want to allocate more memory to the transposition table.
Number of times the computer has been forced to retry (cumulative), due to illegal move: x
This will only be non-zero if you are supressing repetition checking. If it is more than one-quarter of the moves played (by the western count), then you will do better not to supress repetition checking.
Maximum depth searched (excluding selective search): x
This tells you how deeply the computer has searched for a move. (In fact, it will selectively search some lines deeper than this). x is dependent on the time allowance.

Log Statistics

This option wrties selected statistics to the file stats.log . In release 2.9, these statistics are respectively, the number of iterations, whether or not the search ran out of time, the greatest depth searched (selective search), the number of positions searched and the elapsed time (in milliseconds).

Show Principal Continuation

Turning this on shows the principal continuation that the computer found, after each move. It is turned on automatically when you load a position from a Chu Augmented Forsyth file, as it is necessary in Mating Problem Mode.

Log Search Results

If this is set, then every time the search function returns, the move found, and it's score, are written out to the log file (named on the next menu item). This is intended chiefly for mating problem mode, as it may be possible to work out side variations (as well as to see what the computer thinks of a particular move), although this is problematic (that is, I don't know of an algorithm for analysing the data). Logging additional events may be necessary for this Purpose. For the meaning of these additional events, inspect the source code in search.cpp.

Return to the Top