Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: 3.70..*10^46 is the upper bound

Author: KarinsDad

Date: 11:53:58 07/13/99

Go up one level in this thread


On July 12, 1999 at 18:01:29, blass uri wrote:

[snip]
>
>After a capture of white we see that  white can get at most 2 good pawns and
>After a capture of black we see that  white can get at most 1 good pawn(the same
>as black can get after a capture of white).
>

Uri,

Well, I am still having problems understanding your concept of good vs. bad
pawns, but I guess that it is just a different paradigm. I do understand the
statement you made above here and how it applies to the i/j comparison in your
program (and how the comparison works and that it is correct), so I guess that's
the important thing.

So, if I got it correctly, 3.70^46 is the upper bound so far.

The placement of the kings is not 64 x 63 = 4032 possibilities, but rather 4 x
60 + 24 x 59 + 26 x 55 = 3086 possibilities. I did not see where you segregated
the kings out so that illegal possitions of one king in the square next to the
enemy king would be eliminated. So, the upper bound should change to 3.70^46 *
3086 / 4032 = 2.83^46.

Now, side to move, en passant, and castling has to be added (adding the 50 move
rule seems a little much).

Side to move is one bit, en-passant can be effectively considered to be one bit
(although this bit is not needed if the case cannot exist) and castling can
easily be used to modify the 3086 king/king positions. For example, adding
castling states to the kings can be done via adding 3 more king positions to
each side (can castle kingside, can castle queenside, can castle both), so: 3086
+ 3 * 59 (white can castle, black cannot) + 3 * 59 (black can castle, white
cannot) + 3 * 3 (both can castle) = 3449 possibilities. Actually, this number is
a little large since there are some illegal positions here such as if black's
king is in check by white's rook when castling is allowed and it is white to
move, but I didn't bother to yank them out.

So, 3.70^46 * 3449 / 4032 (kings and castling) * 2 (side to move) * 2
(en-passant) = 1.267^48. This can be stored in 160 bits exactly (1.4615^48 is
approximately equal to 2 to 160th power).

Also, your program does not take into account illegal positions such as the side
to move's king being in check via 2 knights or the side to not move's king being
in check. I doubt any upper bounds program could.

However, if your program is correct, it is nice to know that the information can
be stored in 160 bits. Unfortunately, all of my recent undertakings in this area
have convinced me that it will not be done via conventional bitwise compressions
and possibly an enumeration can be done on a 160 bit value to extract any
possibility (but what a nightmare!!).

KarinsDad :)






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