ChessBrain is a very powerful distributed computing network. It is similar to SETI@home in that volunteers sign up to donate spare computing power from their PCs. The difference is that all that power is used, not in the search for extra-terrestrial life or to fold proteins, but to play the ancient game of chess.
Humans have been taking on computers in the game of chess
for years. Most notable are the matches between chess master Gary Kasparov and a
couple of mechanical monsters. IBM's Deep Blue, a "massively
parallel" supercomputer, beat Kasparov in 1997. Then, early in 2003,
Kasparov took on "Deep Junior," a less powerful computer than Deep
Blue, but one that "thinks more like a human," according to its
creators. That contest ended in a draw, offered to Kasparov by the computer. He
was derided by fans for accepting that draw.
The ChessBrain project, headed by Carlos Justiniano, is
working to create the world's largest chess computer. It's a non-profit project
designed to utilize distributed computing. Distributed computing is the science
of taking a large task, such as making decisions about the best chess moves to
make, and dividing it across hundreds of networked computers in order to
quickly and accurately provide results.
Now that the ChessBrain grid, or distributed network, is
complete, the computer is able to play against human and computer opponents. In
fact, ChessBrain has an account at freechess.org, and from time to time you may
see it seeking a match there.
The software used to run ChessBrain's distributed network
will be released under the GNU General Public License, but not until it is
completely finished, according to Justiniano's FAQ at the ChessBrain website.
"I have no intention of selfishly keeping this proprietary," he
writes. "Look at DeepBlue - dead. I hope that this effort becomes greater
in importance than anything I could possibly do to improve it further.
"My reasons for not releasing source code at this time
are entirely due to a fear that doing so may compromise the project. In
particular, I'm concerned about the possibility of rogue peernode serves which
submit inferior results. Think about this carefully..."
ChessBrain software has been ported to Windows, Linux, and Unix
(including the BSDs and MacOSX), and there are also versions for Java, Perl,
Flash, PHP, and SOAP.
Justiniano is an admitted chess freak, but that's not the
total raison d'etre for ChessBrain. "My love for the game goes back to my
early childhood when my mother taught me to play," he writes. "During
my youth, I played chess obsessively, and my devotion to chess study had an
adverse affect on my school grades." He realized he needed to get serious
about something, so entered the field of software development. His passion for
chess never went away, however, and about five years ago he decided to combine
chess and software development to create ChessBrain.
"Chess has been widely recognized as a useful method of
exploring computer science," writes Justiniano. Scientists and programmers
see chess as a very good tool for research on artificial intelligence. Because
the results of a chess game are easily determined and measured, it complements
scientific methods of research.
Justiniano also names the following benefits of chess:
- Chess is one of the oldest
and best understood games ever created. It has been said that more books
have been written about the game of chess than all other games combined.
- All possible moves can't be
analyzed up-front, and must be considered in a progressive and incremental
- Each chess move results in a
new problem that must be solved.
- Chess has standard rating
methods in which the strength of a player may be determined resulting in a
single numerical value. For example, in the United States, a chess master
is considered to be a player who has achieved a rating of 2200 or higher.
of this, Justiniano hopes that the ChessBrain project will aid research in
other areas where the ability to solve problems on the fly is needed, like
transportation, education, and surveillance.
parties can sign up to become a "node" in the ChessBrain network by
registering with ChessBrain and downloading a small application. Several
distributed computing "teams" are competing against each other to
determine the highest number of "jobs" processed for the network, as
well as the highest number of nodes and the highest total CPU time. On March 4th, ChessBrain reached a
peak of 147 CPU processors.