GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
tsito(1) FreeBSD General Commands Manual tsito(1)

tsito - XiangQi (Chinese Chess)

tsito [-cxboard] [-red] [-blue] [-nobook] [-depth search-depth] [-ts hash-table-bits]

Tsito plays XiangQi against the user or it referees two players. It can be used on the console (or an xterm) or can communicate through pipes to a GUI frontend. If used in a console it uses ASCII characters to display the board on the screen.

-cxboard
Tells tsito that it is communicating to a GUI, not a user. Output is less user friendly and more pragmatically useful.
-red
Tells tsito to play red.
-blue
Tells tsito to play blue; the default.
-nobook
Tells tsito not to use an opening book.
-depth search-depth
Tells tsito the maximum depth to use for searching the game tree. More means better play but slower responce.
-ts hash-table-bits
Tells tsito how many bits to use for indexing in the transposition table. The size of the table will be 2^hash-table-bits elements wide.

MOVE_TEXT
Moves can be entered at the prompt in place of commands. These moves are interpreted as the user's move and are made up of exactly 2 sets of 2 characters without any spaces. Each set of characters represent a square on the board, with the first set being the origin and the second being the destination. Ranks are labeled by numbers from 0-9 and files are letters from a-i; character sets are composed of file followed by rank. Moves are not case sensitive.

Example: h2e2 - This is the common opening move of red's right cannon moving to the center of the board.

cxboard
Tell tsito to start talking to a GUI.
console
Tell tsito to start talking to a human.
red
Tell tsito that the human player is red, tsito will play blue.
blue
Tell tsito that the human player is blue, tsito will play red.
force
Enter force mode; computer plays niether color and only checks entered moves for legality.
sd depth
Use max depth of 'depth' for search tree.
post
Display thinking.
nopost
Stop displaying thinking.
vomit
Prints the starting position, the current position, and entire move history for the current game to stderr.
go
Tell the engine to start playing the side to move.
force
Place the engine into 'force' mode. Engine plays neither side but acts as a referee.
undo
Take back the last move. This command is only available in force mode.
remove
Take back the last two moves - in other words take back YOUR last move. This command can be used in any mode.
?
If the engine is thinking about its next move this command forces it to make a move right now.
st seconds
Sets the count in seconds available for each side to make a single move. Counter is reset each time a legal move is made. If either side runs out of time during their move then the game is lost.
time
Shows the time available.
t
Shorthand for the 'time' command.
new
Resets the board to the default starting position and starts a new game.
setboard cfen
Sets the board based on the supplied 'cfen' notation position description and starts a new game. The supplied argument must match the 'CFEN' description below.
set option value
Sets engine specific option to value.

search value
Sets the search method to use for finding computer moves. Available values are: mtd - Very fast but not particularly stable (as in sometimes makes questionable moves). alphabeta (default)- Slow but very stable. negascout - Medium speed, questionable stability.
nullmove on/off
If this option is on (default) then the engine will use null moves to speed up the search.
verifynull on/off
If this option is on (default) then tsito will increase the null move reduction factor and verify all null move cutoffs. This increases search stability at some cost to the speed gained by the null move.
hash on/off
If this option is on (default) then tsito will use a transposition table to greately reduce the amount of search nodes that must be evaluated by saving calculations already made and using those values if the same position is found again.
hashadjust
If this option is on (off by default) then when tsito finds a position that it has seen before but has not search to the depth it wants to now it will adjust the alpha-beta window to try and increase cutoffs. This can cause some conflicts with null moves and is considered an unstable option. This option has no effect if the search method is mtd.
iterative
If this option is on (default) then tsito will search depths incrimentaly so that moves are ordered better. It is actually faster to search to each depth up to max depth instead of just searching to max depth the first time.

CFEN is my own version of the standard FEN notation altered to represent a chinese chess position. Like FEN it consists first of a string of characters representing the layout of the board. This string starts at a9 and stops at i0 (blue to red, left to right from red's side). Emty spaces are represented by integers that count how many consecutive spaces are empty. Pieces are represented by their respective character, blue is lower case whereas red is uppercase. Each rank is separated by a '/' character and space counts do not span multiple ranks. Folowing this layout description is a space followed by a 'b' or 'r' representing the side to move. Since there are no castling or en-pasant rights in chinese chess, these are not implemented. The half move count is also ommited.

Example: r2Rka1hr/4a4/e3e3c/p1p1C1p1p/9/6P2/P1P1P3P/2H3H1E/3RA4/1cEK1A3 r

Pieces: Pp - soldier (pawn) Cc - canon Rr - cart (rook) Hh - horse Ee - elephant Aa - guard (advisor) Kk - general (king)

The command set used in tsito is modeled after the xboard protocol by Tim Mann, which can be viewed at http://www.tim-mann.org/xboard/engine-intf.html

When using null window search methods like mtd and negascout then sometimes a null move can end up in the primary line. This happens rather often and on not so rare occasions it effects the search poorly. The only way to get rid of the bug is to either not use these search methods or turn off null move heuristics. I decided to leave that up to you, the user. If you find that it is often making stupid moves and you are beating it regularly because of this, try turning null moves off or using alphabeta as the search method. You may need to lower the search depth if you do this. Using null move verification does help quite a bit but does not get rid of the problem all together.

This man page writen by Noah Roberts

The origional tsito XiangQi engine was written by Noah Roberts as part of his senior project while enroled in the Computer Science department at St. Martin's College and Abby. The other members of the team, Scott Christian and Anthony Czyk, contributed related works including a Win32 GUI and documentation.


Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.