To put everything into place with Strelka

Discussion of anything and everything relating to chess playing software and machines.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Sergei Markoff

To put everything into place with Strelka

Post by Sergei Markoff » Thu May 10, 2007 10:42 am

About Dann's statement:

> Another point:
>
> Who is it that writes an A+ chess engine and a D- Winboard
> interface for it?
>
> The code quality of the engine is supreme. The Winboard
> interface looks like it was written by a novice.

The interface and engine itself written in the same style. I remeber my own history of engine desing. I was really lazy to implement interface with full functionality. Also it was written in really bad style. Here is the fragment of SmarThink 0.17a interface implementation. It was a strong engine for that times.

Code: Select all

   if(buf[0]=='?')
   {
    if(now_pondering) {MoveEntered=0; PonderFailed=TRUE;}
    stopped=TRUE;
    return;
   }
    else if(buf[0]=='.')
   {
#ifdef REC
    printf("stat01: %d %d %d/%d %d %d %s\n",(int)((clock()-cl)/10),nodes,RootDepth+1,rec,NumberOfRootMoves-RootMoveNum,NumberOfRootMoves+1,move2psm(STR,moves[RootPly]));
#else
    printf("stat01: %d %d %d %d %d %s\n",(int)((clock()-cl)/10),nodes,RootDepth+1,NumberOfRootMoves-RootMoveNum,NumberOfRootMoves+1,move2psm(STR,moves[RootPly]));
#endif
    fflush(stdout);
    return;
   }
    else if(buf[0]=='u'&&buf[1]=='n'&&buf[2]=='d'&&buf[3]=='o')
   {
    need_of_undo_after_search=TRUE;
    stopped=TRUE;
    return;
   }
    else if(buf[0]=='e'&&buf[1]=='x'&&buf[2]=='i'&&buf[3]=='t')
   {
    need_of_exit_after_search=TRUE;
    stopped=TRUE;
    return;
   }
    else if(buf[0]=='n'&&buf[1]=='e'&&buf[2]=='w')
   {
    if(now_pondering) {MoveEntered=0; PonderFailed=TRUE;}
    stopped=TRUE;
    need_of_new_after_search=TRUE;
    return;
   }
    else if(buf[0]=='r'&&buf[1]=='e'&&buf[2]=='s'&&buf[3]=='u'&&buf[4]=='l'&&buf[5]=='t')
   {
    if(now_pondering) {MoveEntered=0; PonderFailed=TRUE;}
    stopped=TRUE;
    return;
   }
   else if(buf[0]=='p'&&buf[1]=='o'&&buf[2]=='s'&&buf[3]=='t') {post=TRUE; stopped=TRUE; if(now_pondering) {MoveEntered=0; PonderFailed=TRUE;} return;}
    else if(buf[0]=='n'&&buf[1]=='o'&&buf[2]=='p'&&buf[3]=='o'&&buf[4]=='s'&&buf[5]=='t') {post=FALSE; stopped=TRUE; if(now_pondering) {MoveEntered=0; PonderFailed=TRUE;} return;}
     else if(buf[0]=='q')
     {
/*      FILE *f=fopen("in.log","a");
      fprintf(f,"Exiting...\n");
      fclose(f); */
      if(Transp!=NULL) free(Transp);
      if(PwnH!=NULL) free(PwnH);
      if(book_loaded) CloseBook();
      if(use_learning_data||use_learning) CloseLearningTable();
      exit(0);
     }


Strelka's interface is enought to make huge engine testing. Other things are not really interesting for engine programmer. I hope Osipov will produce better interface in next few days. Also I think it is a really good idea to compile Strelka code with the help of Bryan Hoffmann. He compiled a lot of engines including Rybka. He can finally end this story cause he has Rybka sources and can easily compare Strelka and Rybka. I'll ask Osipov and Hoffmann for it.

Tony Thomas

Re: To put everything into place with Strelka

Post by Tony Thomas » Thu May 10, 2007 10:51 am

Sergei Markoff wrote:. It was a strong engine for that times.
Strong enough to get the top free engine spot at WBEC. I guess some of us including me owes an apology to Mr. Osipov.

swami
Posts: 6536
Joined: Thu Mar 09, 2006 3:21 am

Re: To put everything into place with Strelka

Post by swami » Thu May 10, 2007 11:32 am

Code: Select all

Here is the fragment of SmarThink 0.17a interface implementation. It was a strong engine for that times.
I agree about the strength of the engine.
of Bryan Hoffmann. He compiled a lot of engines including Rybka. He can finally end this story cause he has Rybka sources and can easily compare Strelka and Rybka. I'll ask Osipov and Hoffmann for it.
Brian Hoffman is quite an helpful dude and the guy with good attitude,Thanks for this suggestion :)

I hope the engine supports all the time controls,I don't need to apologize to the strelka author for anything for I didn't accuse the engine of a clone :),I hope those who accused or even suspected it as a clone, would apologize :) when this matter ends with Brian's opinion,about whether the engine is a clone or not.

Christopher Conkie
Posts: 6068
Joined: Sat Apr 01, 2006 7:34 pm
Location: Scotland
Contact:

Re: To put everything into place with Strelka

Post by Christopher Conkie » Thu May 10, 2007 11:47 am

Why are you showing us Smarthink when you have the Strelka code?

Why not show us the Strelka interface instead?

It's useless to anyone without the rest of Strelka anyway.

Regards

Christopher

Sergei Markoff

Re: To put everything into place with Strelka

Post by Sergei Markoff » Thu May 10, 2007 11:52 am

Christopher Conkie wrote:Why are you showing us Smarthink when you have the Strelka code?

Why not show us the Strelka interface instead?

It's useless to anyone without the rest of Strelka anyway.
To be a honest I need a permission from author to do it.
I think, that Bryan's opinion will be enought to stop speculations. Are you agree with it?

Christopher Conkie
Posts: 6068
Joined: Sat Apr 01, 2006 7:34 pm
Location: Scotland
Contact:

Re: To put everything into place with Strelka

Post by Christopher Conkie » Thu May 10, 2007 11:55 am

Sergei Markoff wrote:
Christopher Conkie wrote:Why are you showing us Smarthink when you have the Strelka code?

Why not show us the Strelka interface instead?

It's useless to anyone without the rest of Strelka anyway.
To be a honest I need a permission from author to do it.
I think, that Bryan's opinion will be enought to stop speculations. Are you agree with it?
No.

Dann Corbit's opinion is the one that counts and always has.

Regards

Christopher

dts

Re: To put everything into place with Strelka

Post by dts » Thu May 10, 2007 11:57 am

I have a Question....

If Brynn Hoffmann Has Compiled Rybka Sources,Then Why there is no mention of his help by Vas Anywhere??
Or Have I missed this information anywhare??

Please clarify.

Regards

User avatar
Daniel Mehrmann
Posts: 855
Joined: Wed Mar 08, 2006 8:24 pm
Location: Germany
Full name: Daniel Mehrmann

Re: To put everything into place with Strelka

Post by Daniel Mehrmann » Thu May 10, 2007 12:03 pm

Sergei Markoff wrote: Strelka's interface is enought to make huge engine testing. Other things are not really interesting for engine programmer.
Hmmmm, i can't believe that. At least, just a example, you need a analyze function to verify your changes in evaluation and search.

It's not possible to write a such strong engine without these features...

Best,
Daniel

Sergei Markoff

Re: To put everything into place with Strelka

Post by Sergei Markoff » Thu May 10, 2007 12:07 pm

Christopher Conkie wrote:
Sergei Markoff wrote:
Christopher Conkie wrote:Why are you showing us Smarthink when you have the Strelka code?

Why not show us the Strelka interface instead?

It's useless to anyone without the rest of Strelka anyway.
To be a honest I need a permission from author to do it.
I think, that Bryan's opinion will be enought to stop speculations. Are you agree with it?
No.

Dann Corbit's opinion is the one that counts and always has.
Looks you are not very friendly.
You're don't trusting both me and Bryan Hoffmann?..

Sergei Markoff

Re: To put everything into place with Strelka

Post by Sergei Markoff » Thu May 10, 2007 12:08 pm

dts wrote:I have a Question....

If Brynn Hoffmann Has Compiled Rybka Sources,Then Why there is no mention of his help by Vas Anywhere??
Or Have I missed this information anywhare??

Please clarify.

Regards
I think because it's not a good idea to share sources of possible Rybka's concurrent. Anyway, may be Osipov disagreed with me. I will speak with him.

Post Reply