Page 1 of 2

Christmas Engine Quiz

PostPosted: 18 Dec 2008, 11:08
by Christopher Conkie
While you are eating your Christmas pudding with all those lovely ingredients, we thought you might like a little something to do......

:D

There is one question in our quiz.

Here goes.

Q.1 Which engine is this? (Obviously it's a recipe of personal taste....)

Code: Select all
.rdata:0000000000484090 0000000E C info depth %d                                                                                                                                                                                                                                               
.rdata:00000000004840A0 0000002D C info depth %d nodes %I64d time %.0f nps %.0f                                                                                                                                                                                                               
.rdata:00000000004840D0 00000036 C info depth %d nodes %I64d score cp %d time %.0f pv %s                                                                                                                                                                                                       
.rdata:0000000000484110 00000041 C info lowerbound depth %d nodes %I64d score cp %d time %.0f pv %s                                                                                                                                                                                           
.rdata:0000000000484160 00000041 C info upperbound depth %d nodes %I64d score cp %d time %.0f pv %s                                                                                                                                                                                           
.rdata:00000000004841A8 00000038 C info depth %d nodes %I64d score mate %d time %.0f pv %s                                                                                                                                                                                                     
.rdata:00000000004841E0 00000043 C info lowerbound depth %d nodes %I64d score mate %d time %.0f pv %s                                                                                                                                                                                         
.rdata:0000000000484230 00000043 C info upperbound depth %d nodes %I64d score mate %d time %.0f pv %s                                                                                                                                                                                         
.rdata:0000000000484278 00000023 C info currmovenumber %d currmove %s                                                                                                                                                                                                                     
.rdata:00000000004842A0 00000024 C info nodes %I64d time %.0f nps %.0f


Prize

One of these......

http://www.cakebaker.co.uk/bake-italian-christmas-cake.html

:wink:

Christopher

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 11:28
by Norman Schmidt
looks kinda like fruitcake (with a twist...)

...of course you can start with the basic recipe, change it a little, and end up with many flavorful and sumptuous offerings. i do especially like that italian christmas cake (with the candied fruit)....absolutely delicious!

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 11:44
by Christopher Conkie
Norman Schmidt wrote:looks kinda like fruitcake (with a twist...)

...of course you can start with the basic recipe, change it a little, and end up with many flavorful and sumptuous offerings. i do especially like that italian christmas cake (with the candied fruit)....absolutely delicious!


No two cakes are the same.....I like your twist analagy.....

Still sticking with Fruit?

Code: Select all
.rdata:0000000000483A60 00000022 C option name %s type %s default %s                                                                                                                                                                                                                           
.rdata:0000000000483A88 00000025 C option name %s type %s default %s %s


:?:

Christopher

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 12:28
by El Gringo
Christopher Conkie wrote:
Norman Schmidt wrote:looks kinda like fruitcake (with a twist...)

...of course you can start with the basic recipe, change it a little, and end up with many flavorful and sumptuous offerings. i do especially like that italian christmas cake (with the candied fruit)....absolutely delicious!


No two cakes are the same.....I like your twist analagy.....

Still sticking with Fruit?

Code: Select all
.rdata:0000000000483A60 00000022 C option name %s type %s default %s                                                                                                                                                                                                                           
.rdata:0000000000483A88 00000025 C option name %s type %s default %s %s


:?:

Christopher



Hi,

Fish and fruit are not a good receipt. Never tried rybka with bananas
:wink:

Best
Johan

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 12:57
by Christopher Conkie
El Gringo wrote:
Christopher Conkie wrote:
Norman Schmidt wrote:looks kinda like fruitcake (with a twist...)

...of course you can start with the basic recipe, change it a little, and end up with many flavorful and sumptuous offerings. i do especially like that italian christmas cake (with the candied fruit)....absolutely delicious!


No two cakes are the same.....I like your twist analagy.....

Still sticking with Fruit?

Code: Select all
.rdata:0000000000483A60 00000022 C option name %s type %s default %s                                                                                                                                                                                                                           
.rdata:0000000000483A88 00000025 C option name %s type %s default %s %s


:?:

Christopher



Hi,

Fish and fruit are not a good receipt. Never tried rybka with bananas
:wink:

Best
Johan


I think I know what you mean Johan.....

Code: Select all
   if (pv[0] == move && move_is_ok(pv[1])) {
      move_to_string(pv[1],ponder_string,256);
      send("bestmove %s ponder %s",move_string,ponder_string);
   } else {
      send("bestmove %s",move_string);
   }


Or maybe even.....

Code: Select all
  if (best_pv[0] == best_move && best_pv[1] != 0) {
    move_to_string(best_pv[1], ponder);
    fprintf(stdout,"bestmove %s ponder %s\n",string,ponder);
  }
  else fprintf(stdout,"bestmove %s\n",string);


Or put another way......

Code: Select all
.rdata:00000000004842F0 00000016 C bestmove %s ponder %s                                                                                                                                                                                                                                       
.rdata:0000000000484308 0000000C C bestmove %s


Obviously there are many ways to do this.....one mans......

Code: Select all
info currmovenumber %d currmove %s


Is anothers.......

Code: Select all
info currmove %s currmovenumber %d


So to summarise so far......we have fruit and fish on the menu. Is that correct?

:D

Christopher

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 13:25
by Christopher Conkie
Ok...one final clue.....

Code: Select all
Found %d CPUs\n


Tell me what you SEE.

8-)

Christopher

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 13:32
by Norman Schmidt
Christopher Conkie wrote:
Norman Schmidt wrote:looks kinda like fruitcake (with a twist...)

...of course you can start with the basic recipe, change it a little, and end up with many flavorful and sumptuous offerings. i do especially like that italian christmas cake (with the candied fruit)....absolutely delicious!


No two cakes are the same.....I like your twist analagy.....

Still sticking with Fruit?

Code: Select all
.rdata:0000000000483A60 00000022 C option name %s type %s default %s                                                                                                                                                                                                                           
.rdata:0000000000483A88 00000025 C option name %s type %s default %s %s


:?:

Christopher


No,
it's slighty different...

fruit defines 64-bit integers as S64_FORMAT:

#ifdef _MSC_VER
# define S64_FORMAT "%I64d"
# define U64_FORMAT "%016I64X"
#else
# define S64_FORMAT "%lld"
# define U64_FORMAT "%016llX"
#endif

here is the code when fruit prints a PV:
(as far as I know the only engine to use upper and lowerbounds here)
if (false) {
} else if (flags == SearchExact) {
send("info depth %d seldepth %d score cp %d time %.0f nodes " S64_FORMAT " pv %s",depth,max_depth,value,time*1000.0,node_nb,pv_string);
} else if (flags == SearchLower) {
send("info depth %d seldepth %d score cp %d lowerbound time %.0f nodes " S64_FORMAT " pv %s",depth,max_depth,value,time*1000.0,node_nb,pv_string);
} else if (flags == SearchUpper) {
send("info depth %d seldepth %d score cp %d upperbound time %.0f nodes " S64_FORMAT " pv %s",depth,max_depth,value,time*1000.0,node_nb,pv_string);

here is the data you presented:

.rdata:0000000000484110 00000041 C info lowerbound depth %d nodes %I64d score cp %d time %.0f pv %s
.rdata:0000000000484160 00000041 C info upperbound depth %d nodes %I64d score cp %d time %.0f pv %s

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 13:35
by Norman Schmidt
Christopher Conkie wrote:
Norman Schmidt wrote:looks kinda like fruitcake (with a twist...)

...of course you can start with the basic recipe, change it a little, and end up with many flavorful and sumptuous offerings. i do especially like that italian christmas cake (with the candied fruit)....absolutely delicious!


No two cakes are the same.....I like your twist analagy.....

Still sticking with Fruit?

Code: Select all
.rdata:0000000000483A60 00000022 C option name %s type %s default %s                                                                                                                                                                                                                           
.rdata:0000000000483A88 00000025 C option name %s type %s default %s %s


:?:

Christopher


No,
it's slighty different...

fruit provides a define for 64-bit (signed and unsigned) integers S64_FORMAT andd U64_FORMAT:

#ifdef _MSC_VER
# define S64_FORMAT "%I64d"
# define U64_FORMAT "%016I64X"
#else
# define S64_FORMAT "%lld"
# define U64_FORMAT "%016llX"
#endif

for ex, here is the info string code from fruit::
(the only source code I've seen that uses upper and lowerbounds, but there's probably others)
if (false) {
} else if (flags == SearchExact) {
send("info depth %d seldepth %d score cp %d time %.0f nodes " S64_FORMAT " pv %s",depth,max_depth,value,time*1000.0,node_nb,pv_string);
} else if (flags == SearchLower) {
send("info depth %d seldepth %d score cp %d lowerbound time %.0f nodes " S64_FORMAT " pv %s",depth,max_depth,value,time*1000.0,node_nb,pv_string);
} else if (flags == SearchUpper) {
send("info depth %d seldepth %d score cp %d upperbound time %.0f nodes " S64_FORMAT " pv %s",depth,max_depth,value,time*1000.0,node_nb,pv_string);

(without this define, you'd basically have (an exact) match)

here is the data you presented (from a different UCI info string):

.rdata:0000000000484110 00000041 C info lowerbound depth %d nodes %I64d score cp %d time %.0f pv %s
.rdata:0000000000484160 00000041 C info upperbound depth %d nodes %I64d score cp %d time %.0f pv %s

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 13:51
by Christopher Conkie
fruit defines 64-bit integers as S64_FORMAT:


Code: Select all
# define S64_FORMAT "%I64d"


Code: Select all
.rdata:0000000000484110 00000041 C info lowerbound depth %d nodes %I64d score cp %d time %.0f pv %s


In disassembly you will not see S64_FORMAT but instead %I64d as that is part of the string by definition.

But there is a very valid point that you made Norman.

Code: Select all
as far as I know the only engine to use upper and lowerbounds here


Yes....you are right about that. Still remains this although.....

Code: Select all
Found %d CPUs\n


i.e.

Is Fruit SMP in open source?

So where is that from? (only one place btw...well two if you count what i'm showing you).

You have earned so far....half an italian cake.

8-)

Christopher

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 14:06
by Norman Schmidt
Christopher Conkie wrote:
fruit defines 64-bit integers as S64_FORMAT:


Code: Select all
# define S64_FORMAT "%I64d"


Code: Select all
.rdata:0000000000484110 00000041 C info lowerbound depth %d nodes %I64d score cp %d time %.0f pv %s


In disassembly you will not see S64_FORMAT but instead %I64d as that is part of the string by definition.

But there is a very valid point that you made Norman.

Code: Select all
as far as I know the only engine to use upper and lowerbounds here


Yes....you are right about that. Still remains this although.....

Code: Select all
Found %d CPUs\n


i.e.

Is Fruit SMP in open source?

So where is that from? (only one place btw...well two if you count what i'm showing you).

You have earned so far....half an italian cake.

8-)

Christopher


fruit was not SMP, but toga14beta5c (based on Fruit) is and yes of course it's open-source.

Found CPUs must be part of a function that queries windows for the # of physical processors...

hence a (configurable) top limit would be needed, something like UCI option max_threads...i know that max_threads exists in Grapefruit, Rybka, and there are probably others as well, ...?

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 14:16
by Christopher Conkie
Norman Schmidt wrote:
Christopher Conkie wrote:
fruit defines 64-bit integers as S64_FORMAT:


Code: Select all
# define S64_FORMAT "%I64d"


Code: Select all
.rdata:0000000000484110 00000041 C info lowerbound depth %d nodes %I64d score cp %d time %.0f pv %s


In disassembly you will not see S64_FORMAT but instead %I64d as that is part of the string by definition.

But there is a very valid point that you made Norman.

Code: Select all
as far as I know the only engine to use upper and lowerbounds here


Yes....you are right about that. Still remains this although.....

Code: Select all
Found %d CPUs\n


i.e.

Is Fruit SMP in open source?

So where is that from? (only one place btw...well two if you count what i'm showing you).

You have earned so far....half an italian cake.

8-)

Christopher


fruit was not SMP, but toga14beta5c (based on Fruit) is and yes of course it's open-source.


Never tried Toga (its against my Christmas religion) but.....could i assume that it plays well on up to 8 CPUs?

Just a guess.....

:D

Christopher

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 14:20
by Norman Schmidt
Christopher Conkie wrote:
Norman Schmidt wrote:
Christopher Conkie wrote:
fruit defines 64-bit integers as S64_FORMAT:


Code: Select all
# define S64_FORMAT "%I64d"


Code: Select all
.rdata:0000000000484110 00000041 C info lowerbound depth %d nodes %I64d score cp %d time %.0f pv %s


In disassembly you will not see S64_FORMAT but instead %I64d as that is part of the string by definition.

But there is a very valid point that you made Norman.

Code: Select all
as far as I know the only engine to use upper and lowerbounds here


Yes....you are right about that. Still remains this although.....

Code: Select all
Found %d CPUs\n


i.e.

Is Fruit SMP in open source?

So where is that from? (only one place btw...well two if you count what i'm showing you).

You have earned so far....half an italian cake.

8-)

Christopher


fruit was not SMP, but toga14beta5c (based on Fruit) is and yes of course it's open-source.


Never tried Toga (its against my Christmas religion) but.....could i assume that it plays well on up to 8 CPUs?

Just a guess.....

:D

Christopher



it would play extremely well....


here is the function from grapefruit...

// init_threads()

void init_threads( bool call_option )
{
SYSTEM_INFO sys_info;
int thread_count, option_max;
GetSystemInfo(&sys_info);
thread_count = sys_info.dwNumberOfProcessors;

if (thread_count > 16)
thread_count = 16;

if (!MP)
thread_count = 1;

if (call_option)
{
option_max = option_get_int("Max threads");

if (thread_count > option_max)
thread_count = option_max;
}
number_threads = thread_count;
}

(note : it does not print out the # of CPUs found)
therefore i'm ruling out grapefruit

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 14:40
by Christopher Conkie
Norman Schmidt wrote:extremely well....


here is the function from grapefruit...
(note : it does not print out the # of CPUs found)

therefore i'm ruling out grapefruit



Code: Select all
Found %d CPUs\n


Code: Select all
printf("Found %d CPUs\n", nproc);


If I wanted to make a clone that was SMP, x64, and Fruit, I would look two engines....

Toga and.........Sloppy. (OK so I might look at Viper/Glaurung also....if the old 8 cpu thing is a determining factor)

Do you think that would be a good hypothesis to make?

:D

I remember long ago during the WCCC (couple of years or so) that we told everyone that we felt that Lion++ was Togaish.....the rest, as they say is.....history. I can specifically remember having conversations about this with David Levy and I remember SMK looked at the code. It was found to be 80% Fruity IIRC and was disqualified from WCCC.

Now this a couple of days ago......

http://talkchess.com/forum/viewtopic.php?t=24822

Meanwhile we got a "new" engine.....from Italy.

Your thoughts please...for example....do you want to know the programmers name? The rest of the cake is in it for you if you can guess.....

:D

Christopher

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 14:58
by Norman Schmidt
Christopher Conkie wrote:
Norman Schmidt wrote:extremely well....


here is the function from grapefruit...
(note : it does not print out the # of CPUs found)

therefore i'm ruling out grapefruit



Code: Select all
Found %d CPUs\n


Code: Select all
printf("Found %d CPUs\n", nproc);


If I wanted to make a clone that was SMP, x64, and Fruit, I would look two engines....

Toga and.........Sloppy. (OK so I might look at Viper/Glaurung also....if the old 8 cpu thing is a determining factor)

Do you think that would be a good hypothesis to make?

:D

I remember long ago during the WCCC (couple of years or so) that we told everyone that we felt that Lion++ was Togaish.....the rest, as they say is.....history. I can specifically remember having conversations about this with David Levy and I remember SMK looked at the code. It was found to be 80% Fruity IIRC and was disqualified from WCCC.

Now this a couple of days ago......

http://talkchess.com/forum/viewtopic.php?t=24822

Meanwhile we got a "new" engine.....from Italy.

Your thoughts please...for example....do you want to know the programmers name? The rest of the cake is in it for you if you can guess.....

:D

Christopher


No I can't guess, i didn't even know there was a new Italian engine..

I suggest:
verbally ask all suspects to write "conditional weight"...
whoever writes "Conditionated Weihgt" is your man!

<:

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 15:32
by Norman Schmidt
May i ask, what is the name of this 'new' engine to which you're referring?

i.e. aren't you going to give us the answer to the quiz?
<:

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 15:46
by Christopher Conkie
Norman Schmidt wrote:May i ask, what is the name of this 'new' engine to which you're referring?

i.e. aren't you going to give us the answer to the quiz?
<:


The name of the engine is Cipollino.

But......

I have made you the winner on the basis that you called it Fruit and let's face it......if anyone knows......you would.

Christmas List

Norman Schmidt - One Italian Cake.

:D

Christopher

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 15:47
by Olivier Deville
Norman Schmidt wrote:May i ask, what is the name of this 'new' engine to which you're referring?

i.e. aren't you going to give us the answer to the quiz?
<:


Hi Norm

The engine is not released at the moment.

Chris is checking the exe with permission from the author.

Olivier

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 15:51
by Christopher Conkie
Olivier Deville wrote:
Norman Schmidt wrote:May i ask, what is the name of this 'new' engine to which you're referring?

i.e. aren't you going to give us the answer to the quiz?
<:


Hi Norm

The engine is not released at the moment.

Chris is checking the exe with permission from the author.

Olivier


We have finished checking. (Norm and I)

:D

Christopher

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 16:22
by Norman Schmidt
Christopher Conkie wrote:
Norman Schmidt wrote:May i ask, what is the name of this 'new' engine to which you're referring?

i.e. aren't you going to give us the answer to the quiz?
<:


The name of the engine is Cipollino.

But......

I have made you the winner on the basis that you called it Fruit and let's face it......if anyone knows......you would.

Christmas List

Norman Schmidt - One Italian Cake.

:D

Christopher


much experience in this area... (fruit cake that is!) <:

As for the Italian cake...i'd like to donate this generous prize (or any proceeds that arise from an eventual auction or sale of the cake) to Olivier and Chesswar...!

Re: Christmas Engine Quiz

PostPosted: 18 Dec 2008, 17:07
by Norman Schmidt
i'm a bit uneasy here...i have only seen what's been posted so far in this thread. i would hate to see any unintentional injustice done to Cipollino (or any other engine for that matter).

maybe others need to be involved ... i.e. reach a consensus, and carefully consider if this constitutes irrefutable proof, or is it only enough to be strongly suspicious, or what...?

i know there's no such thing as 100% proof, so i realize a less-than-perfect decision has to be made at one point...