Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: New 80-bit Chess engine Gothic Vortex. Your opinion please.

Author: Gerd Isenberg

Date: 02:07:43 10/16/03

Go up one level in this thread


On October 16, 2003 at 03:16:58, Axel Schumacher wrote:

>Hi,
>I stumbled across the new engine Gothic Vortex, which seems to be a 80 bit
>engine! What is your opinion to this approach?

Hi Axel,

an interesting chess vaiant with 10*8 board and two new pieces, the "Chancellor"
combines Knight and Rook, "Archbishop" Knight and Bishop.
I only know about the Archbishop in "Janusschach", also with 10*8 board, but
with two Archbishops per side between Rook and Knight in the initial position.

Some statements in the paper are questionable:

<snip>
>... However, not all computer operating systems perform native
>64-bit math manipulations. So, 64-bit program code is "emulated" by using pairs
>of 32-bit constructions.
>
>Such emulation slows down the overall performance by at least a factor of two.
>But what other choices does one have?

Considering internal datapathes are already 64-bit or more in current 32-bit
cpu's and 32-bit instructions are shorter and may processed simultaniously, that
statement seems to be too optimistic.

The problem with current 32-bit architectures like x86-32 is the lack of 32-bit
registers.

>
>It is possible to use an Array Move Generator. Most programmers who attempt to
>write something as complex as a chess program first build an Array Move
>Generator. On the plus side, an Array Move Generator is easier to program and
>debug. It also "makes sense" to think in terms of an Array Move Generator, since
>the computer instructions used to encode the program closely resemble the
>process a human player might use to do the same thing. On the minus side, an
>Array Move Generator is many times slower than a Bitboard Move Generator. A
>recent experiment showed that the Bitboard Move Generator in the Gothic Vortex
>program is about 30 times as fast as the Array Move Generator found in the
>Zillions-Of-Games engine.

Ok, i guess the "Array" Move Generator is simply a very "bad" implementation.
And as we all know Move Generation is at most a negligible part of a chess
engine.

>
>All of this was mentioned because Gothic Chess, with an 80 square board, is even
>more difficult to implement as a Bitboard Move Generator. There are no 80-bit
>operating systems, and the types of 80-bit instructions that are needed for
>maximum speed of execution are just not available. Writing code to handle the
>data as three discrete packets of 32-, 32-, and 16-bit chunks is so tedious that
>it almost defies a rational explanation.
>
>What is needed is an 80-bit emulation core, and this is very difficult to
>design.

"very difficult" is a bit exorbitant.
The most often needed bitwise operations (and,not,or,xor) are obvious same for
bitscan. Shifting is a bit more pain, but similar to implement like 64-bit
shifts with 32-bit register pairs.

>
>Just designing such a core was a huge project unto itself. Once the core was
>completed, the rest of the game shell had to be designed around it. Using
>something known as 45-degree rotated bitboards for an 80 square board and
>intelligent 80-bit register shifts, the Gothic Chess engine was hand crafted.
>The result was the equivalent of a Nitrous Oxide powered dragster.
>
>Gothic Vortex is capable of performing very deep searches in only a matter of
>seconds!

Why not? How deep is "very deep"?

Regards,
Gerd



This page took 0.02 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.