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.