Computer Chess Club Archives


Search

Terms

Messages

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

Author: blass uri

Date: 12:04:02 07/12/99

Go up one level in this thread



On July 12, 1999 at 13:51:11, blass uri wrote:

>
>On July 12, 1999 at 13:29:47, KarinsDad wrote:
>
>>On July 12, 1999 at 12:41:18, blass uri wrote:
>>
>>[snip]
>>>>>>
>>>>>>#include
>>>>>>#include
>>>>>>main()
>>>>>>{
>>>>>>clrscr();
>>>>>>char x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,i,j;
>>>>>>long double k,n=0;
>>>>>>long double m[65];
>>>>>>m[0]=1;
>>>>>>for (i=1; i>  m[i]=m[i-1]*i;
>>>>>>for (x1=0; x1> for (x2=0;x2>   for (x3=0;(x3>     for (x4=0;(x4>       for (x5=0;(x5>       x1+x2+x3+x5>       ;x5++)
>>>>>>{
>>>>>>k=m[x2]*m[x3]*m[x4]*m[x5];
>>>>>>i=0;
>>>>>>if (x2>2) i=i+x2-2;
>>>>>>if (x3>2) i=i+x3-2;
>>>>>>if (x4>2) i=i+x4-2;
>>>>>>if (x5>1) i=i+x5-1;
>>>>>>printf("%Lf\n",n);
>>>>>>for (y1=0; y1> for (y2=0;y2>   for (y3=0;(y3>     for (y4=0;(y4>       for (y5=0;(y5>       y1+y2+y3+y5>       ;y5++)
>>>>>>	{
>>>>>>	 j=0;
>>>>>>	 if (y2>2) j=j+y2-2;
>>>>>>	 if (y3>2) j=j+y3-2;
>>>>>>	 if (y4>2) j=j+y4-2;
>>>>>>	 if (y5>1) j=j+y5-1;
>>>>>>	 if ((i<=2*(15-y1-y2-y3-y4-y5)+(15-x1-x2-x3-x4-x5))&&
>>>>>>	     (j<=2*(15-x1-x2-x3-x4-x5)+(15-y1-y2-y3-y4-y5)))\
>>>>>>	   n=n+(m[48]/(m[x1]*m[y1]*m[48-x1-y1]))*(m[64-x1-y1]/\
>>>>>>	 (k*m[y2]*m[y3]*m[y4]*m[y5]*m[62-x2-x3-x4-x5-y2-y3-y4-y5]));
>>>>>>	}
>>>>>>}
>>>>>>
>>>>>>printf("%Lf\n",n);
>>>>>>}
>>>>>>
>>
>>[snip]
>>
>>>some numbers:
>>>The upper bound:
>>>3.70106301212072366*10^46
>>>29 pieces on the board:2.18...*10^46
>>>28 pieces on the board 9.45...*10^45
>>>30 pieces on the board 4.58...*10^45
>>>
>>>Uri
>>
>>Uri,
>>
>>How exactly did you take into account promotions?
>
>
>i=0;
>if (x2>2) i=i+x2-2;
>if (x3>2) i=i+x3-2;
>if (x4>2) i=i+x4-2;
>if (x5>1) i=i+x5-1;
>
>i is a lower bound for the number of promoted white pawns.
>j is a lower bound for the number of promoted black pawns by the same idea.
>
>if ((i<=2*(15-y1-y2-y3-y4-y5)+(15-x1-x2-x3-x4-x5))&&
>(j<=2*(15-x1-x2-x3-x4-x5)+(15-y1-y2-y3-y4-y5)))
>
>is the condition I proved about the number of promoted pawns by my post of bad
>and good pawns.

It is clear to me that the bound can be improved.
For example I did not use the fact that if the number of pieces is 32 then all
the pawns are bad pawns.

If we count the number of pawn structure that white has x10 white bad pawns
and x11 white good pawns and black has y10 black bad pawns and y11 black good
pawns then we can use this information to find a better bound.

The idea is for every x10,x11,y10,y11 to count the number of possible pawn
structures and use i+x11,j+y11 instead of i,j because the condition that
I posted is right for good and promoted pawns and not only for promoted pawns

The only problem is to count the number of pawn structure whwn we know the
number of bad and good pawns for each side.

I think that if there is not a simple formula for it(I do not see a simple
formula) then a program can count it.

Uri



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.