Download Senior Design I Documentation - University of Central Florida

Transcript
errors or attempt any illegal moves. When the computer moves, it takes a
noticeable amount of time to perform the calculation, but not terribly long. If the
computer opts to use the book, the move time is almost instant.
Faile does not include player versus player capability, which means adaptability
is an important factor. It must be possible to edit the source code to allow the
user to select a one or two player game. Based on a quick viewing of the main
function, faile.c, it seems relatively difficult to do this. The program was written
without consideration for this additional functionality, which could make this a
daunting task. For this reason, it would be far simpler to go with an engine that
includes a more dynamic implementation of this function, such as TSCP, which
allows the computer to be toggled on and off at any time.
Like many popular open source chess engines, Faile was written to be didactic,
and is easily digestible. Some documentation exists covering the hash tables and
opening book concepts in general, but there is nothing resembling a true manual.
The code has some comments, but not nearly as many as TSCP, making this a
less attractive candidate in this regard.
CPU (approx %)
Memory (MB)
Avg Response
Time (sec)
Player’s Move
<1
6.1
<1
Computer’s
Move
50
6.1
18.62
Table 3-5 Resources used by Faile 1.4
Section 3.2.5.4: Gerbil
Gerbil is a chess engine written by Bruce Moreland in 2001. It is written in C and
more sizeable than the previous chess engines discussed. It consists of 15 .C
files and 1 header file. It is published under the GNU General Public License,
meaning it is not necessary to obtain permission to use Gerbil. It was intended to
be run using WinBoard. It will still function in command line mode, but it does not
provide any sort of representation of a chess board, which is why the author
warns the user at the beginning to ―find a chess board unless you like to play
blindfolded.‖ It does not support player versus player mode, so this would have to
be added manually.
Gerbil does not score as well in the robustness category as the other engines. It
appears to work fine with WinBoard, but in our chess board, WinBoard will not be
used for obvious reasons. Therefore, it is of paramount importance that the
engine chosen operate smoothly in command line mode. When starting up
Gerbil, the engine instructs the user to enter ―protover 2‖ before doing anything
such as invoking a new game. Why this is necessary is unknown, but the engine
still appears to work whether or not one enters this command. The difference is
the notation the engine provides when carrying out its move. This uncertainty in
the program‘s operation should give a user pause, as it makes the engine seem
23 | P a g e