Computer Chess Club Archives


Search

Terms

Messages

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

Author: vladan

Date: 04:16:45 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?
>
>http://www.gothicchess.org/gothic_vortex.html
>
>Excerpt from the page:
>
>The Gothic Vortex 80-bit Engine
>
>Usually terms like "32-bit" and "64-bit" are bounced around quite a bit in
>computer trade journals. To the average, everyday computer user, such terms
>constitute "jargon"; they remain elusive and somewhat nebulous. In fact, if you
>asked your 10 geekiest friends to explain the terms, you may get 10 different
>answers.
>
>Basically, "bit" is a contraction for binary digit. So, "one bit" is a single
>digit in the binary number system. In binary, or "Base 2", there only exists 1's
>and 0's. To represent a number such as 23 using only 1's and 0's, you need to
>figure out how to expand it in binary form. 23 in "Base 10" = 16 + 4 + 2 + 1 in
>"Base 2". This number is written as 10111 which means (1 x 16) + (0 x 8) + (1 x
>4) + (1 x 2) + (1 x 1). You can see that this requires 5 binary digits, so 23 in
>"Base 10" requires 5 bits in "Base 2" in order to store the number.
>
>Such a scheme may seem ridiculous and inefficient. Why require 5 numbers in base
>2 when you only need 2 numbers in base 10? The answer is: speed!
>
>Computers are capable of performing operations at the bit level at extraordinary
>speeds. So, parsing through 5 bits to compute the base 10 equivalent requires
>time measured in nanoseconds (billionths of a second!) or even faster.
>
>You might think that eventually you would "run out of" bits when you start
>dealing with very large numbers. But, quite surprisingly, even your age in
>seconds can be stored using only 32 bits. If you live to be 70 years old, which
>is about 2,209,032,000 seconds, you are just about 2 years past the 31-bit mark.
>In other words, 32 binary digits would be sufficient to store the number of
>seconds in about 136 years!
>
>Contemporary chess programs are able to exploit the rapid binary calculations
>performed by the computer by representing the pieces on the board in a rather
>unusual fashion. Programmers use many variables comprised entirely of 32-bit or
>64-bit constructions that can actually be sent to routines that do the
>equivalent of generating chess moves. Such a program is usually called a
>Bitboard Move Generator. Since the regular chess board contains 64 squares, it
>makes sense to use 64-bit constructions to optimize the speed at which the
>program executes. 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?
>
>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.
>
>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.
>
>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!


Just one question:

How it is possible to build efficient 80-bit move generator without 80-bit
registers ?? Now way, in my opinion...

Rgds.  Vladan, Axon programmer







This page took 0 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.