I was just wondering...
Could someone out there fork Crafty and produce a UCI version?
I realise Crafty's author, Bob Hyatt, doesn't like UCI as it cedes too much control to the GUI.
Very well then, let someone else do it while keeping to all the legal proprieties including publishing the changed code, etc.
Crafty UCI version
Moderator: Ras
-
Marek Soszynski
- Posts: 587
- Joined: Wed May 10, 2006 7:28 pm
- Location: Birmingham, England
Crafty UCI version
Marek Soszynski
-
hgm
- Posts: 28468
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Crafty UCI version
Perhaps Bob should explicitly forbid making UCI versions in the license agreement, to prevent such abuse. 
-
Matthias Gemuh
- Posts: 3245
- Joined: Thu Mar 09, 2006 9:10 am
Re: Crafty UCI version
One version of the clone "Patriot" was Crafty with UCI protocol-
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
http://www.chess.hylogic.de
-
Frank Quisinsky
- Posts: 7284
- Joined: Wed Nov 18, 2009 7:16 pm
- Location: Gutweiler, Germany
- Full name: Frank Quisinsky
Re: Crafty UCI version
Hi Matthias,
in the second / latest Version of Patriot are parts of Crafty if I understand the programmer of Wildcat and an other programmer at this time. The 2.0 Version are never realeased after I hear that and the contact to the programmer ended directly.
Often I am thinking (in the time the first IPPs are available) ... the programmer of Patriot have a bit to do with Ipp code because all the same mistakes in UCI protocol Patriot have (first version) IPP engines have too.
But can be random ...
Furthermore, Kaissa (main engine of the Patriot programmer) is an own program (not a clone, again same for the first Patriot version). The programmer of Patriot are talented but possible that he try bigger jumpings in ELO for the second version and so he made mistakes.
Allways the same ...
The question here must be (have the same opinion as the programmer of Critter) ... different parts of chess programming must not be again and again invented. But after all I understand Vladimir used main parts from Crafty and that can't be right.
Best
Frank
in the second / latest Version of Patriot are parts of Crafty if I understand the programmer of Wildcat and an other programmer at this time. The 2.0 Version are never realeased after I hear that and the contact to the programmer ended directly.
Often I am thinking (in the time the first IPPs are available) ... the programmer of Patriot have a bit to do with Ipp code because all the same mistakes in UCI protocol Patriot have (first version) IPP engines have too.
But can be random ...
Furthermore, Kaissa (main engine of the Patriot programmer) is an own program (not a clone, again same for the first Patriot version). The programmer of Patriot are talented but possible that he try bigger jumpings in ELO for the second version and so he made mistakes.
Allways the same ...
The question here must be (have the same opinion as the programmer of Critter) ... different parts of chess programming must not be again and again invented. But after all I understand Vladimir used main parts from Crafty and that can't be right.
Best
Frank
-
Evert
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Crafty UCI version
Yes, I'm sure someone could do that quite easily.Marek Soszynski wrote:I was just wondering...
Could someone out there fork Crafty and produce a UCI version?
The question is: what's the point?
I don't really understand that. Both UCI and CECP allow a chess engine to communicate with a GUI. They both allow sending game history, different time controls, configurable engine options. What "control" does a GUI using the UCI protocol take away that CECP does not?I realise Crafty's author, Bob Hyatt, doesn't like UCI as it cedes too much control to the GUI.
Opening book and to a lesser extend end-game tablebase play-out are the only examples I can think of where the protocols more or less make different default assumptions (UCI: the GUI handles it, CECP: the engine handles it) but under UCI you can always let an engine use its own book and under CECP you can always force an opening line. GUI adjudication of end-games is a GUI option, not a protocol feature.
So again, what's the point?
If this is about "the strongest engines are UCI, therefore using UCI makes an engine stronger than using CECP" (if it isn't about that, my apologies, but I've actually seen people make that exact claim in the past), I did an experiment a little while back. I wanted to debunk an assumption that exists in some quarters that to make a chess variant engine (in this case, Makruk) you could take a random strong engine (the usual request is Stockfish), hack the move tables, "fix" the piece values, and end up with something strong that could play said variant.
So I did that exact experiment using Senpai rather than Stockfish. One draw-back: it's UCI, which is pretty useless for playing chess variants. No problem, it took me perhaps an hour or two (I don't remember exactly, I think I was doing house-keeping at the same time) to convert Senpai from UCI to CECP. As a sanity check, I tested both versions against eachother. The result? Exactly 0 Elo difference between them. UCI or CECP makes no difference, as would be expected.
By the way, converting Senpai to play Makruk was a lot harder, but still mostly easy due to the way Senpai is written. I missed something though because it occasionally makes an illegal move. Leaving that aside, it still plays crap, as expected.
Crafty isn't "free" software. I don't think you're allowed to distribute modified versions...Very well then, let someone else do it while keeping to all the legal proprieties including publishing the changed code, etc.
-
Marek Soszynski
- Posts: 587
- Joined: Wed May 10, 2006 7:28 pm
- Location: Birmingham, England
Re: Crafty UCI version
Evert wrote:Yes, I'm sure someone could do that quite easily.Marek Soszynski wrote:I was just wondering...
Could someone out there fork Crafty and produce a UCI version?
The question is: what's the point? [...]
Bob can speak for, and defend, himself.Evert wrote:I don't really understand that. [...]Marek Soszynski wrote:I realise Crafty's author, Bob Hyatt, doesn't like UCI as it cedes too much control to the GUI.
Apologies accepted. Quite simply, it is easier to set up and change the parameters of a UCI engine within a typical GUI; moreover, the typical GUI will display all the main settable parameters.Evert wrote:If this is about "the strongest engines are UCI, therefore using UCI makes an engine stronger than using CECP" (if it isn't about that, my apologies, [...]
Then it won't be possible to keep to all the legal proprieties, will it?Evert wrote:Crafty isn't "free" software. I don't think you're allowed to distribute modified versions...Marek Soszynski wrote:Very well then, let someone else do it while keeping to all the legal proprieties including publishing the changed code, etc.
Marek Soszynski
-
Roger Brown
- Posts: 782
- Joined: Wed Mar 08, 2006 9:22 pm
Re: Crafty UCI version
Marek Soszynski wrote:
Could someone out there fork Crafty and produce a UCI version?
Hello Marek,Marek Soszynski wrote: Apologies accepted. Quite simply, it is easier to set up and change the parameters of a UCI engine within a typical GUI; moreover, the typical GUI will display all the main settable parameters.
Given your stated purpose, perhaps it might be easier to use wb2uci than to hack the engine?
Later.
-
Evert
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Crafty UCI version
Yes, and if you ask a question on a general forum, anyone can answer. If you wanted an answer specifically from Bob Hyatt, you should have contacted him directly.Marek Soszynski wrote: Bob can speak for, and defend, himself.
Huh?Apologies accepted. Quite simply, it is easier to set up and change the parameters of a UCI engine within a typical GUI; moreover, the typical GUI will display all the main settable parameters.
CECP engines expose options in much the same way as UCI engines do, so I still don't get it.
Perhaps Crafty doesn't expose options to the GUI (the antique version I have here doesn't seem to), then that is a different issue (specifically one that converting it to UCI will not solve). Perhaps Bob would welcome patches for that?
You can make a derivative of Crafty for your own personal use. There may be cases where Bob is ok with someone distributing the modified version, but the licence doesn't automatically allow it.Then it won't be possible to keep to all the legal proprieties, will it?
-
Marek Soszynski
- Posts: 587
- Joined: Wed May 10, 2006 7:28 pm
- Location: Birmingham, England
Re: Crafty UCI version
I didn't and don't have a question for him.Evert wrote:Yes, and if you ask a question on a general forum, anyone can answer. If you wanted an answer specifically from Bob Hyatt, you should have contacted him directly.Marek Soszynski wrote: Bob can speak for, and defend, himself.
A UCI version of Crafty would be convenient for me as all my other engines are UCI and all the strongest engines are. Got it? GUIs generally handle UCI engines more ably and easily than other engines from the perspective of this user. That's just how it is.
Of course, if Crafty isn't legally forkable, then here endeth the matter.
Marek Soszynski
-
mhull
- Posts: 13447
- Joined: Wed Mar 08, 2006 9:02 pm
- Location: Dallas, Texas
- Full name: Matthew Hull
Re: Crafty UCI version
UCI means that not-the-chess-engine can end-up playing part of the game (openings and endings). This is a wrong design. It's like having your friend play the opening moves and/or the endgames for you in any given match while you only play the middlegame. This is manifestly and fundamentally wrong-headed -- even perverse.Evert wrote:I don't really understand that. ... Opening book and to a lesser extend end-game tablebase play-out are the only examples I can think of where the protocols more or less make different default assumptions (UCI: the GUI handles it, CECP: the engine handles it) but under UCI you can always let an engine use its own book and under CECP you can always force an opening line. GUI adjudication of end-games is a GUI option, not a protocol feature.Marek Soszynski wrote:I realise Crafty's author, Bob Hyatt, doesn't like UCI as it cedes too much control to the GUI.
So again, what's the point?
Matthew Hull