Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: CCT5, was there something missing?

Author: Robert Hyatt

Date: 18:06:17 01/20/03

Go up one level in this thread


On January 20, 2003 at 18:30:14, Uri Blass wrote:

>On January 20, 2003 at 17:12:14, Robert Hyatt wrote:
>
>>On January 20, 2003 at 15:38:00, Peter Skinner wrote:
>>
>>>With the lack of commercial products participating in the CCT, does it lose some
>>>of the luster in winning it?
>>>
>>>Of course there are always going to be "what ifs" when all participants do not
>>>play. Ferret was allowed to play without kibitzing any information. What would
>>>have happened if Fritz joined and did the same? Would the result have been the
>>>same?
>>
>>First, the _point_ was that the programs be operated automatically, rather
>>than manually.  Ferret met this point.  We discussed the kibitzing issue at
>>length here, but Bruce was not around and didn't notice it.  He _did_ kibitz
>>on the second day as he made the changes to his code to do this.
>>
>>He didn't strictly follow the rules, I agree.  But the explanation was quite
>>reasonable and he _did_ fix it.
>>
>>
>>
>>>
>>>It seems that there was allowances made for some, and not others. Why was this
>>>the case?
>>
>>You will have to ask the commercials why they chose not to attend.  I don't
>>claim to be able to read minds and have no idea what they were thinking when
>>they made their decision, nor do I have any idea why they made the decision
>>to not play.
>>
>>
>>
>>>
>>>I am sure if the rule had not been in place, the likes of Shredder, Fritz, and
>>>possibly Junior would have participated. Chess Tiger already has the ability to
>>>kibitz the pv from the program, so that was not Christophe's reasoning for not
>>>joining.
>>
>>The rule was enforced.  A couple of exceptions were made for the first few
>>rounds due to missed communication.  Not a big deal..  At least they were
>>automatic interfaces, which was _the_ major change for this event.  No manual
>>operation allowed.
>>
>>
>>
>>
>>>
>>>I think that if a program is automated is enough to play in the next CCT. If not
>>>then we might have the same result.
>>
>>adding kibitzing requires _one_ line of C code to a program.  IS that a big
>>stumbling block???
>>
>>Or is it just an "excuse"???
>
>At least for me it was more than one line of C code to add it and it was not a
>trivial task.
>
>I added the following function:
>
>void kibitzprintpv(void)
>{
>
>	if (kibitzing)
>	{
>
>		if (computer)
>			printf("tellics kibitz ");
>		else
>			printf("tellics whisper ");
>		if (hply<2)
>		printf("hello from Movei ");
>
>        printspecialpv(k,x);
>	}
>}
>


You can make something arbitrarily long.

However:

if (kibitz) printf("tell ics kibitz hello from movei\n");

will work just fine.

as will

if (kibitz) printf("tell ics kibitz score=%d  ply=%d pv=%s\n",score,ply,pv);




>I also added the function printspecialpv(k,x)
>
>k is the depth and x is the score and I needed to define them as global
>varaible(they were local varaible because movei clear it's hash tables between
>move and does not remember scores).
>
>
>I needed to define the function printspecialpv.
>The reason is that movei does not print details like nodes per second under
>winboard and print the time not in seconds but in milliseconds.
>
>I have printpv to printpv under winboard in a similiar way that tscp does it but
>I saw that other people print pv in a better way for ICC so I decided to use a
>function prints pv in a different way.
>
>My function printspecialpv does not work under winboard and  only after some
>hours of trying to something that will work both under winboard and under ICC I
>thought about the idea to use a special fuinction for ICC.
>
>Here are my 2 functions
>
>void printspecialpv(int k,int x)
>{
>	int j;
>	float ti;
>	if (UseBook==0)
>	{
>
>		printf("%6.2f",(float)x/100);
>		printf("/");
>		printf("%d",k);
>		ti=(float)(get_ms() - start_time)/1000;
>		if (ti>0)
>	printf(" time= %6.2f nps= %6.0f",ti, nodes/ti);
>	for (j = 0; j < pv_length[0]; ++j)
>		printf(" %s", move_str(pv[0][j].b));
>	printf("\n");
>	}
>	else
>		printf("book\n");
>	fflush(stdout);
>}
>void printpv(int k,int x)
>{
>	int j;
>		printf(" %d %d %d %d",k, x, (get_ms() - start_time) / 10, nodes);
>	for (j = 0; j < pv_length[0]; ++j)
>		printf(" %s", move_str(pv[0][j].b));
>	printf("\n");
>	fflush(stdout);
>
>}
>
>Uri


If you want to write it in that verbose a way, that is fine.  How long did it
take to write the code?  3 minutes?

That is the point.  It doesn't take hours, days or weeks.  It is minutes, and
not many of those.



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.